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.
    • 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
                                • I
                                  instalator last edited by

                                  Server-PC 2015-11-26 20:32:21 error host.Server-PC instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)

                                  sayit.0 2015-11-26 20:32:21 error Error: EBUSY, open 'C:\ioBroker\node_modules\iobroker.sayit\say.mp3'

                                  sayit.0 2015-11-26 20:32:21 error uncaught exception: EBUSY, open 'C:\ioBroker\node_modules\iobroker.sayit\say.mp3

                                  Сегодня выскочила такая ошибочка.

                                  Насколько я понял он говорит я еб..я открывать файл)

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

                                    @instalator:

                                    Server-PC 2015-11-26 20:32:21 error host.Server-PC instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)

                                    sayit.0 2015-11-26 20:32:21 error Error: EBUSY, open 'C:\ioBroker\node_modules\iobroker.sayit\say.mp3'

                                    sayit.0 2015-11-26 20:32:21 error uncaught exception: EBUSY, open 'C:\ioBroker\node_modules\iobroker.sayit\say.mp3

                                    Сегодня выскочила такая ошибочка.

                                    Насколько я понял он говорит я еб..я открывать файл) `
                                    Хм. Ошибка говорит, что не могу открыть, т.к кто то уже открыл.. Осталось выяснить, кто.

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

                                      @Bluefox:

                                      Хм. Ошибка говорит, что не могу открыть, т.к кто то уже открыл.. Осталось выяснить, кто. `
                                      А что это за файл вообще? у меня свой стоит для диндона.

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

                                        @instalator:

                                        @Bluefox:

                                        Хм. Ошибка говорит, что не могу открыть, т.к кто то уже открыл.. Осталось выяснить, кто. А что это за файл вообще? у меня свой стоит для диндона.
                                        Это файл с текстом.

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

                                          @Bluefox:

                                          пока не знаю почему. Перезапусти iobroker `
                                          Я так понимаю когда setState ('sayit.0.tts.text', ''); устанавливает значение одновременно,

                                          происходит это насколько я понял из-за того что js выполняется не линейно

                                          например:

                                          setTimeout(function() {setState ('sayit.0.tts.text', 'Прогноз погоды на сегодня: '+getState("javascript.0.forecast.today").val);
                                                              setState ('sayit.0.tts.text', 'Сейчас за окном '+ parseFloat(getState("mqtt.0.myhome.Bedroom.Temp_in").val).toFixed(0)+'°');
                                                          }, 1000);
                                                          setTimeout(function() {
                                                              setState ('sayit.0.tts.text', 'Курс доллара '+ (getState("javascript.0.Valuta.USD").val.toFixed(2)).toString().replace(/[.]+/g, ',')+' руб. , '+
                                                              'курс евро '+ (getState("javascript.0.Valuta.EUR").val.toFixed(2)).toString().replace(/[.]+/g, ',')+ ' руб.');
                                                          }, 2000);
                                          

                                          иногда (скорее всего, когда файла нет в кеше) произносится одновременно видимо из-за потраченного времени на преобразование переменных.

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

                                            В коде драйвера не разбирался еще.

                                            Может организовать буфер в виде массива? Например: по setState('sayit.0.tts.text', 'Str') добавляем в массив строку, а потом уже массив обрабатываем с начало до конца, с проверкой что предыдущий элемент выполнен или сдвигая элементы массива.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            929
                                            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