Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. ioBroker драйвера
    5. Драйвер sayit

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Драйвер sayit

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      kID last edited by

      Ну чтож…

      Попробовал несколько фраз, запустив скрипт

       var idSayIt = "sayit.0.tts.text";
          {
      setState (idSayIt, 'Прогноз погоды на сегодня: '+getState("forecast.today").val);
      setState (idSayIt, 'Прогноз погоды на завтра: '+getState("forecast.tomorrow").val);
      setState (idSayIt, 'Прогноз погоды на послезавтра: '+getState("forecast.dayAfterTomorrow").val);
          }
      

      Получил следующие ошибки.
      265__________2015-10-06_20.33.06.png
      Понял что у драйвера нет буфера на входе - то о чем просил electric69 в первом посте этой темы.

      Соответственно нужно контролировать переменную sayit.0.tts.playing и запускать следующую фразу только после установки ее в false.

      Я пока так делать не умею 😞

      Покажите пожалуйста пример.

      1 Reply Last reply Reply Quote 0
      • S
        spectrekr last edited by

        Получить значение````
        getState('sayit.0.tts.playing').val

        1 Reply Last reply Reply Quote 0
        • I
          instalator last edited by

          @kID:

          Ну чтож…

          Попробовал несколько фраз, запустив скрипт

           var idSayIt = "sayit.0.tts.text";
              {
          setState (idSayIt, 'Прогноз погоды на сегодня: '+getState("forecast.today").val);
          setState (idSayIt, 'Прогноз погоды на завтра: '+getState("forecast.tomorrow").val);
          setState (idSayIt, 'Прогноз погоды на послезавтра: '+getState("forecast.dayAfterTomorrow").val);
              }
          

          Получил следующие ошибки.
          filename="Скриншот 2015-10-06 20.33.06.png" index="0">~~
          Понял что у драйвера нет буфера на входе - то о чем просил electric69 в первом посте этой темы.

          Соответственно нужно контролировать переменную sayit.0.tts.playing и запускать следующую фразу только после установки ее в false.

          Я пока так делать не умею 😞

          Покажите пожалуйста пример. `
          Я так понимаю с последним обновление должно быть исправлено, сам не проверял еще.

          1 Reply Last reply Reply Quote 0
          • Bluefox
            Bluefox last edited by

            @spectrekr:

            Получить значениеgetState('sayit.0.tts.playing').val, а дальше или через условие, или через цикл ждать. `
            Ни в коем случае не через цикл. Это не ардуино.

            В последней версии javascript появилось:

            setState (idSayIt, 'Прогноз погоды на сегодня: '+getState("forecast.today").val,);
            setStateDelayed (idSayIt, 'Прогноз погоды на завтра: '+getState("forecast.tomorrow").val,10000);
            setStateDelayed (idSayIt, 'Прогноз погоды на послезавтра: '+getState("forecast.dayAfterTomorrow").val, 20000);
            
            
            1 Reply Last reply Reply Quote 0
            • V
              vtec last edited by

              У меня у одного sayit после обновления по три раза говорит?

              1 Reply Last reply Reply Quote 0
              • I
                instalator last edited by

                Заметил в логе ощибки

                ! host-Server-PC 2015-10-27 10:06:10 error instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)
                ! TypeError: 2015-10-27 10:06:09 error at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)
                ! TypeError: 2015-10-27 10:06:09 error at null._onTimeout (C:\ioBroker\node_modules\iobroker.js-controller\lib\adapter.js:1911:34)
                ! TypeError: 2015-10-27 10:06:09 error at Adapter.emit (events.js:98:17)
                ! TypeError: 2015-10-27 10:06:09 error at Adapter.sayLastGeneratedText (C:\ioBroker\node_modules\iobroker.sayit\main.js:27:13)
                ! TypeError: 2015-10-27 10:06:09 error at sayIt (C:\ioBroker\node_modules\iobroker.sayit\main.js:1037:13)
                ! TypeError: 2015-10-27 10:06:09 error at getLength (C:\ioBroker\node_modules\iobroker.sayit\main.js:172:23)
                ! TypeError: 2015-10-27 10:06:09 error at C:\ioBroker\node_modules\iobroker.sayit\main.js:1038:51
                ! TypeError: 2015-10-27 10:06:09 error at Object.sayItWindows [as func] (C:\ioBroker\node_modules\iobroker.sayit\main.js:766:9)
                ! TypeError: 2015-10-27 10:06:09 error at sayItSystem (C:\ioBroker\node_modules\iobroker.sayit\main.js:698:21)
                ! TypeError: 2015-10-27 10:06:09 error Cannot call method 'platform' of undefined
                ! uncaught 2015-10-27 10:06:09 error exception: Cannot call method 'platform' of undefined

                1 Reply Last reply Reply Quote 0
                • Bluefox
                  Bluefox last edited by

                  Поправил. Спасибо.
                  5278_unbenannt.png

                  1 Reply Last reply Reply Quote 0
                  • I
                    instalator last edited by

                    Добрался я до sayit наконец то, но не тут то было, драйвер не работает

                    ! sayit.0 2015-11-01 22:27:55 error TypeError: Cannot call method 'exec' of undefined at sayItSystem (C:\ioBroker\node_modules\iobroker.sayit\main.js:733:37) at Object.sayItWindows [as func] (C:\ioBroker\node_modules\iobroker.sayit\main.js:767:9) at C:\ioBroker\node_modules\iobroker.sayit\main.js:1042:51 at getLength (C:\ioBroker\node_modules\iobroker.sayit\main.js:172:23) at sayIt (C:\ioBroker\node_modules\iobroker.sayit\main.js:1041:13) at Adapter.sayLastGeneratedText (C:\ioBroker\node_modules\iobroker.sayit\main.js:27:13) at Adapter.emit (events.js:98:17) at null._onTimeout (C:\ioBroker\node_modules\iobroker.js-controller\lib\adapter.js:1911:34) at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)
                    ! sayit.0 2015-11-01 22:27:55 error uncaught exception: Cannot call method 'exec' of undefined

                    ! host-Server-PC 2015-11-01 22:22:53 error instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)
                    ! TypeError: 2015-11-01 22:22:53 error at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)
                    ! TypeError: 2015-11-01 22:22:53 error at null._onTimeout (C:\ioBroker\node_modules\iobroker.js-controller\lib\adapter.js:1911:34)
                    ! TypeError: 2015-11-01 22:22:53 error at Adapter.emit (events.js:98:17)
                    ! TypeError: 2015-11-01 22:22:53 error at Adapter.sayLastGeneratedText (C:\ioBroker\node_modules\iobroker.sayit\main.js:27:13)
                    ! TypeError: 2015-11-01 22:22:53 error at sayIt (C:\ioBroker\node_modules\iobroker.sayit\main.js:1041:13)
                    ! TypeError: 2015-11-01 22:22:53 error at getLength (C:\ioBroker\node_modules\iobroker.sayit\main.js:172:23)
                    ! TypeError: 2015-11-01 22:22:53 error at C:\ioBroker\node_modules\iobroker.sayit\main.js:1042:51
                    ! TypeError: 2015-11-01 22:22:53 error at Object.sayItWindows [as func] (C:\ioBroker\node_modules\iobroker.sayit\main.js:767:9)
                    ! TypeError: 2015-11-01 22:22:53 error at sayItSystem (C:\ioBroker\node_modules\iobroker.sayit\main.js:733:37)
                    ! TypeError: 2015-11-01 22:22:53 error Cannot call method 'exec' of undefined
                    ! uncaught 2015-11-01 22:22:52 error exception: Cannot call method 'exec' of undefined

                    1 Reply Last reply Reply Quote 0
                    • I
                      instalator last edited by

                      @instalator:

                      Добрался я до sayit наконец то, но не тут то было, драйвер не работает

                      ! sayit.0 2015-11-01 22:27:55 error TypeError: Cannot call method 'exec' of undefined at sayItSystem (C:\ioBroker\node_modules\iobroker.sayit\main.js:733:37) at Object.sayItWindows [as func] (C:\ioBroker\node_modules\iobroker.sayit\main.js:767:9) at C:\ioBroker\node_modules\iobroker.sayit\main.js:1042:51 at getLength (C:\ioBroker\node_modules\iobroker.sayit\main.js:172:23) at sayIt (C:\ioBroker\node_modules\iobroker.sayit\main.js:1041:13) at Adapter.sayLastGeneratedText (C:\ioBroker\node_modules\iobroker.sayit\main.js:27:13) at Adapter.emit (events.js:98:17) at null._onTimeout (C:\ioBroker\node_modules\iobroker.js-controller\lib\adapter.js:1911:34) at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)
                      ! sayit.0 2015-11-01 22:27:55 error uncaught exception: Cannot call method 'exec' of undefined

                      ! host-Server-PC 2015-11-01 22:22:53 error instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)
                      ! TypeError: 2015-11-01 22:22:53 error at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)
                      ! TypeError: 2015-11-01 22:22:53 error at null._onTimeout (C:\ioBroker\node_modules\iobroker.js-controller\lib\adapter.js:1911:34)
                      ! TypeError: 2015-11-01 22:22:53 error at Adapter.emit (events.js:98:17)
                      ! TypeError: 2015-11-01 22:22:53 error at Adapter.sayLastGeneratedText (C:\ioBroker\node_modules\iobroker.sayit\main.js:27:13)
                      ! TypeError: 2015-11-01 22:22:53 error at sayIt (C:\ioBroker\node_modules\iobroker.sayit\main.js:1041:13)
                      ! TypeError: 2015-11-01 22:22:53 error at getLength (C:\ioBroker\node_modules\iobroker.sayit\main.js:172:23)
                      ! TypeError: 2015-11-01 22:22:53 error at C:\ioBroker\node_modules\iobroker.sayit\main.js:1042:51
                      ! TypeError: 2015-11-01 22:22:53 error at Object.sayItWindows [as func] (C:\ioBroker\node_modules\iobroker.sayit\main.js:767:9)
                      ! TypeError: 2015-11-01 22:22:53 error at sayItSystem (C:\ioBroker\node_modules\iobroker.sayit\main.js:733:37)
                      ! TypeError: 2015-11-01 22:22:53 error Cannot call method 'exec' of undefined
                      ! uncaught 2015-11-01 22:22:52 error exception: Cannot call method 'exec' of undefined `

                      Заработал, нужно было выбрать System а стоял Windows engine

                      1 Reply Last reply Reply Quote 0
                      • I
                        instalator last edited by

                        Вопрос к Bluefox.

                        Может добавить в драйвер возможность задать время задержки перед дин дон?

                        Смысл в том что сделал усилитель D класса на микрушке, так вот у него есть логический вход FADE, т.е. при подачи управляющего сигнала он плавно включает громкость (примерно 2 сек.) и так же после снятия управляющего сигнала плавно убавляет громкость до 0 (чтобы небыло шума в динамиках при простое).

                        И кстати sayit.0.tts.playing у меня работает не корректно, менят статус через секунды 3 на false, хотя фраза еще произносится.

                        1 Reply Last reply Reply Quote 0
                        • aurodionov
                          aurodionov last edited by

                          instalator, а если пнутьв скрипте включение усилка выдержать паузу потом сказать фразу.

                          я к тому что-бы задержку сделать не в драйвере а в скрипте.

                          1 Reply Last reply Reply Quote 0
                          • I
                            instalator last edited by

                            @aurodionov:

                            instalator, а если пнутьв скрипте включение усилка выдержать паузу потом сказать фразу.

                            я к тому что-бы задержку сделать не в драйвере а в скрипте. `
                            А как ты угадаешь когда будет что то говорить? делать вывод каждый раз добавляя в скриптах задержку?

                            1 Reply Last reply Reply Quote 0
                            • aurodionov
                              aurodionov last edited by

                              @instalator:

                              Нак FADE чем то же дёргаете перед тем как сказать фразу.

                              Получается дёрнули FADE->pause->seyit. Или не?

                              1 Reply Last reply Reply Quote 0
                              • I
                                instalator last edited by

                                @aurodionov:

                                @instalator:

                                Нак FADE чем то же дёргаете перед тем как сказать фразу.

                                Получается дёрнули FADE->pause->seyit. Или не?

                                Fade дергаю sayit.0.tts.playing `

                                1 Reply Last reply Reply Quote 0
                                • aurodionov
                                  aurodionov last edited by

                                  @instalator:

                                  Fade дергаю sayit.0.tts.playing `
                                  Под линуксом sayit.0.tts.playing вроде не работает, или я не понял как пользоватся

                                  1 Reply Last reply Reply Quote 0
                                  • I
                                    instalator last edited by

                                    @aurodionov:

                                    @instalator:

                                    Fade дергаю sayit.0.tts.playing Под линуксом sayit.0.tts.playing вроде не работает, или я не понял как пользоватся
                                    У меня винда.

                                    Bluefox.

                                    Драйвер сегодня стал проговаривать любую фразу по два раза. В логе ошибок нет

                                    ! sayit.0 2015-11-03 18:34:09 info sayit.0 saying: 1
                                    ! sayit.0 2015-11-03 18:34:07 info sayit.0 saying: 1
                                    ! sayit.0 2015-11-03 18:34:05 info sayit.0 saying: C:\ioBroker\node_modules\iobroker.sayit/gong.mp3
                                    ! sayit.0 2015-11-03 18:34:05 info sayit.0 saying: C:\ioBroker\node_modules\iobroker.sayit/gong.mp3

                                    1 Reply Last reply Reply Quote 0
                                    • Bluefox
                                      Bluefox last edited by

                                      пока не знаю почему. Перезапусти iobroker

                                      1 Reply Last reply Reply Quote 0
                                      • Bluefox
                                        Bluefox last edited by

                                        @instalator:

                                        Вопрос к Bluefox.

                                        Может добавить в драйвер возможность задать время задержки перед дин дон?

                                        Смысл в том что сделал усилитель D класса на микрушке, так вот у него есть логический вход FADE, т.е. при подачи управляющего сигнала он плавно включает громкость (примерно 2 сек.) и так же после снятия управляющего сигнала плавно убавляет громкость до 0 (чтобы небыло шума в динамиках при простое).

                                        И кстати sayit.0.tts.playing у меня работает не корректно, менят статус через секунды 3 на false, хотя фраза еще произносится. `
                                        Слишком специфичный случай. Вот если бы пришёл pul reuquest, я бы подумал..

                                        Вставь в файл дин дон 2 секунды тишины в начале.

                                        1 Reply Last reply Reply Quote 0
                                        • V
                                          vtec last edited by

                                          То же иногда встречается проговаривание по 2-а раза. Тоже не пойму почему.

                                          1 Reply Last reply Reply Quote 0
                                          • I
                                            instalator last edited by

                                            @Bluefox:

                                            @instalator:

                                            Вопрос к Bluefox.

                                            Может добавить в драйвер возможность задать время задержки перед дин дон?

                                            Смысл в том что сделал усилитель D класса на микрушке, так вот у него есть логический вход FADE, т.е. при подачи управляющего сигнала он плавно включает громкость (примерно 2 сек.) и так же после снятия управляющего сигнала плавно убавляет громкость до 0 (чтобы небыло шума в динамиках при простое).

                                            И кстати sayit.0.tts.playing у меня работает не корректно, менят статус через секунды 3 на false, хотя фраза еще произносится. `
                                            Слишком специфичный случай. Вот если бы пришёл pul reuquest, я бы подумал..

                                            Вставь в файл дин дон 2 секунды тишины в начале. `
                                            Ну да специфичен, но а если стоит зонный услитель? и надо перед каждым произношение переключать зоны и тд.? я думаю задержка бы не помешала.

                                            Ок как будет время зайду на гит. А тишина вначале это у меня план Б)

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            936
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            16
                                            178
                                            47692
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo