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

                                            @instalator:

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

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

                                            https://github.com/ioBroker/ioBroker.sa … n.js#L1027

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            16
                                            178
                                            47668
                                            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