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

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

                          @Bluefox:

                          @instalator:

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

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

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

                          Ок.

                          Почему тогда бывают такие глюки, либо одновременно проговаривает две фразы, посланные в разное время,

                          либо первую фразу вообще пропускает и говорит только последнюю?

                          Щас вот в логе :

                          ! Server-PC 2015-12-24 22:52:07 error host.Server-PC instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)
                          ! sayit.0 2015-12-24 22:52:07 error Error: EBUSY, open 'C:\ioBroker\node_modules\iobroker.sayit\say.mp3'
                          ! sayit.0 2015-12-24 22:52:07 error uncaught exception: EBUSY, open 'C:\ioBroker\node_modules\iobroker.sayit\say.mp3'

                          PS

                          Щас проговорила одновременно две фразы

                          ! sayit.0 2015-12-24 23:00:06 info sayit.0 saying: 23:00
                          ! sayit.0 2015-12-24 23:00:05 info sayit.0 saying: курс евро 76,04 руб

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

                            Может по этому у меня через Sonos, то неделю молчит, то неделю говорит. Так же замечены повторения.

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

                              @Bluefox:

                              @instalator:

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

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

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

                              А получается что сначала пишем mp3 в файл, а потом его воспроизводим?

                              А нельзя его держать и воспроизводить из RAM, а потом когда драйвер не используется( все сказали) уже не спеша пишем в файлы.

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

                                @instalator:

                                А получается что сначала пишем mp3 в файл, а потом его воспроизводим?

                                А нельзя его держать и воспроизводить из RAM, а потом когда драйвер не используется( все сказали) уже не спеша пишем в файлы. `
                                Если ты знаешь, как из RAM воспроизвести звук под Linux (да хотя бы под Windows), расскажи как. 😄

                                И это для всех звуковых карт и выходов…

                                Проблема в том, что я не могу оценить длинну фразы. И если размер файла маленький, а фраза длинная (например тишина), то получаются накладки. Пока не знаю, как решить это. Есть библиотеки в Cи, но тогда для Windows будет требоватся VS2015..

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

                                  @Bluefox:

                                  @instalator:

                                  А получается что сначала пишем mp3 в файл, а потом его воспроизводим?

                                  А нельзя его держать и воспроизводить из RAM, а потом когда драйвер не используется( все сказали) уже не спеша пишем в файлы. `
                                  Если ты знаешь, как из RAM воспроизвести звук под Linux (да хотя бы под Windows), расскажи как. 😄

                                  И это для всех звуковых карт и выходов…

                                  Проблема в том, что я не могу оценить длинну фразы. И если размер файла маленький, а фраза длинная (например тишина), то получаются накладки. Пока не знаю, как решить это. Есть библиотеки в Cи, но тогда для Windows будет требоватся VS2015.. `

                                  А для чего оценивать длину фразы? можно ведь получить длительность mp3 файла.

                                  читаем из буфера фраз строку, отправляем ее на "озвучку", получаем файл, узнаем его продолжительность и отправляем на воспроизведение, ставим какойнить флаг. Проверяем буфер, нет ли там еще чего, если есть отправляем на озвучку, получаем файл, узнаем время, проверяем предыдущий флаг (времени) если больше продолжительности первого файла то отправляем текущий на воспроизведение.

                                  или я что то непонимаю

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

                                    После обновления вообще молчит.

                                    Server-PC 2015-12-26 16:00:11 error host.Server-PC startInstance sayit.0: cannot find start file!

                                    Добавлено:

                                    В папке с драйвером осталась только папка \iobroker\node_modules\iobroker.sayit\cmdmp3\

                                    Больше ни файлов ни папок нет.

                                    Пытаюсь обновить руками,

                                    Долго висит на строке

                                    ! c:\iobroker>npm install iobroker.sayit
                                    ! /
                                    ! > iobroker.sayit@0.3.16 install c:\iobroker\node_modules\iobroker.sayit
                                    ! > node main.js –install
                                    ! 2015-12-26 16:07:14.235 - info: sayit.0 starting. Version 0.3.16 in c:/iobroker
                                    ! /node_modules/iobroker.sayit
                                    ! 2015-12-26 16:07:14.245 - info: sayit.0 Upload announce mp3 files

                                    Висит а оказалось что уже работает.)

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

                                      Свалился с ошибкой

                                      ! sayit.0 2015-12-26 16:36:42 error Error: EBUSY, open 'c:\iobroker\node_modules\iobroker.sayit\say.mp3'
                                      ! sayit.0 2015-12-26 16:36:42 error uncaught exception: EBUSY, open 'c:\iobroker\node_modules\iobroker.sayit\say.mp3'
                                      Свалился и в папке \iobroker\node_modules\iobroker.sayit\ снова пусто. :shock:

                                      ! 2015-12-26 16:36:42.233 - error: uncaught exception: EBUSY, open 'c:\iobroker\n
                                      ! ode_modules\iobroker.sayit\say.mp3'
                                      ! 2015-12-26 16:36:42.243 - error: Error: EBUSY, open 'c:\iobroker\node_modules\i
                                      ! obroker.sayit\say.mp3'
                                      ! npm ERR! iobroker.sayit@0.3.16 install: node main.js –install
                                      ! npm ERR! Exit status 6
                                      ! npm ERR!
                                      ! npm ERR! Failed at the iobroker.sayit@0.3.16 install script.
                                      ! npm ERR! This is most likely a problem with the iobroker.sayit package,
                                      ! npm ERR! not with npm itself.
                                      ! npm ERR! Tell the author that this fails on your system:
                                      ! npm ERR! node main.js --install
                                      ! npm ERR! You can get their info via:
                                      ! npm ERR! npm owner ls iobroker.sayit
                                      ! npm ERR! There is likely additional logging output above.
                                      ! npm ERR! System Windows_NT 6.1.7601
                                      ! npm ERR! command "C:\Program Files\nodejs\\node.exe" "C:\Program Files\nod
                                      ! ejs\node_modules\npm\bin\npm-cli.js" "install" "iobroker.sayit"
                                      ! npm ERR! cwd c:\iobroker
                                      ! npm ERR! node -v v0.10.35
                                      ! npm ERR! npm -v 1.4.28
                                      ! npm ERR! code ELIFECYCLE
                                      ! npm ERR! error rolling back Error: EPERM, unlink 'c:\iobroker\node_modules\iobro
                                      ! ker.sayit\say.mp3'
                                      ! npm ERR! error rolling back { [Error: EPERM, unlink 'c:\iobroker\node_modules\i
                                      ! obroker.sayit\say.mp3']
                                      ! npm ERR! error rolling back errno: 50,
                                      ! npm ERR! error rolling back code: 'EPERM',
                                      ! npm ERR! error rolling back path: 'c:\iobroker\node_modules\iobroker.sayit
                                      ! \say.mp3' }
                                      ! npm ERR! not ok code 0

                                      1 Reply Last reply Reply Quote 0
                                      • H
                                        Haus last edited by

                                        У меня всё хорошо работает.

                                        ! sayit.0 2015-12-26 15:12:03 info sayit.0 saying: Облачно, небольшой дождь. Температура ночью 2°, днём 4°. Ветер юго-западный, 3 м в секунду.
                                        ! sayit.0 2015-12-26 15:12:00 info sayit.0 saying: /opt/iobroker/node_modules/iobroker.sayit/gong.mp3
                                        ! javascript.0 2015-12-26 15:12:00 info javascript.0 script.js.Weather_say: Вильнюс, 28 декабря => Облачно, небольшой снег. Температура ночью -4°, днём 0°. Ветер северо-восточный, 5 м в секунду.
                                        ! javascript.0 2015-12-26 15:12:00 info javascript.0 script.js.Weather_say: Вильнюс, 27 декабря => Облачно, снег. Температура ночью -2°, днём 0°. Ветер южный, 1 м в секунду.
                                        ! javascript.0 2015-12-26 15:12:00 info javascript.0 script.js.Weather_say: Вильнюс, 26 декабря => Облачно, небольшой дождь. Температура ночью 2°, днём 4°. Ветер юго-западный, 3 м в секунду.
                                        ! sayit.0 2015-12-26 15:11:03 info sayit.0 saying: Облачно, небольшой дождь. Температура ночью 2°, днём 4°. Ветер юго-западный, 3 м в секунду.
                                        ! sayit.0 2015-12-26 15:11:00 info sayit.0 saying: /opt/iobroker/node_modules/iobroker.sayit/gong.mp3
                                        ! javascript.0 2015-12-26 15:11:00 info javascript.0 script.js.Weather_say: Вильнюс, 28 декабря => Облачно, небольшой снег. Температура ночью -4°, днём 0°. Ветер северо-восточный, 5 м в секунду.
                                        ! javascript.0 2015-12-26 15:11:00 info javascript.0 script.js.Weather_say: Вильнюс, 27 декабря => Облачно, снег. Температура ночью -2°, днём 0°. Ветер южный, 1 м в секунду.
                                        ! javascript.0 2015-12-26 15:11:00 info javascript.0 script.js.Weather_say: Вильнюс, 26 декабря => Облачно, небольшой дождь. Температура ночью 2°, днём 4°. Ветер юго-западный, 3 м в секунду.

                                        Последние обновления идут всегда с таким текстом, но всё ставится и работает

                                        ! 443_screencapture-192-168-1-11-8081-1451134575975.png

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

                                          @instalator:

                                          Свалился с ошибкой

                                          ! sayit.0 2015-12-26 16:36:42 error Error: EBUSY, open 'c:\iobroker\node_modules\iobroker.sayit\say.mp3'
                                          ! sayit.0 2015-12-26 16:36:42 error uncaught exception: EBUSY, open 'c:\iobroker\node_modules\iobroker.sayit\say.mp3'
                                          Свалился и в папке \iobroker\node_modules\iobroker.sayit\ снова пусто. :shock:

                                          ! 2015-12-26 16:36:42.233 - error: uncaught exception: EBUSY, open 'c:\iobroker\n
                                          ! ode_modules\iobroker.sayit\say.mp3'
                                          ! 2015-12-26 16:36:42.243 - error: Error: EBUSY, open 'c:\iobroker\node_modules\i
                                          ! obroker.sayit\say.mp3'
                                          ! npm ERR! iobroker.sayit@0.3.16 install: node main.js –install
                                          ! npm ERR! Exit status 6
                                          ! npm ERR!
                                          ! npm ERR! Failed at the iobroker.sayit@0.3.16 install script.
                                          ! npm ERR! This is most likely a problem with the iobroker.sayit package,
                                          ! npm ERR! not with npm itself.
                                          ! npm ERR! Tell the author that this fails on your system:
                                          ! npm ERR! node main.js --install
                                          ! npm ERR! You can get their info via:
                                          ! npm ERR! npm owner ls iobroker.sayit
                                          ! npm ERR! There is likely additional logging output above.
                                          ! npm ERR! System Windows_NT 6.1.7601
                                          ! npm ERR! command "C:\Program Files\nodejs\\node.exe" "C:\Program Files\nod
                                          ! ejs\node_modules\npm\bin\npm-cli.js" "install" "iobroker.sayit"
                                          ! npm ERR! cwd c:\iobroker
                                          ! npm ERR! node -v v0.10.35
                                          ! npm ERR! npm -v 1.4.28
                                          ! npm ERR! code ELIFECYCLE
                                          ! npm ERR! error rolling back Error: EPERM, unlink 'c:\iobroker\node_modules\iobro
                                          ! ker.sayit\say.mp3'
                                          ! npm ERR! error rolling back { [Error: EPERM, unlink 'c:\iobroker\node_modules\i
                                          ! obroker.sayit\say.mp3']
                                          ! npm ERR! error rolling back errno: 50,
                                          ! npm ERR! error rolling back code: 'EPERM',
                                          ! npm ERR! error rolling back path: 'c:\iobroker\node_modules\iobroker.sayit
                                          ! \say.mp3' }
                                          ! npm ERR! not ok code 0 `
                                          Посмотри, что я поменял: https://github.com/ioBroker/ioBroker.sa … 412dca8cb6

                                          Практически ничего :lol:

                                          Видать установка не прошла.

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

                                            @Bluefox:

                                            @instalator:

                                            Свалился с ошибкой

                                            ! sayit.0 2015-12-26 16:36:42 error Error: EBUSY, open 'c:\iobroker\node_modules\iobroker.sayit\say.mp3'
                                            ! sayit.0 2015-12-26 16:36:42 error uncaught exception: EBUSY, open 'c:\iobroker\node_modules\iobroker.sayit\say.mp3'
                                            Свалился и в папке \iobroker\node_modules\iobroker.sayit\ снова пусто. :shock:

                                            ! 2015-12-26 16:36:42.233 - error: uncaught exception: EBUSY, open 'c:\iobroker\n
                                            ! ode_modules\iobroker.sayit\say.mp3'
                                            ! 2015-12-26 16:36:42.243 - error: Error: EBUSY, open 'c:\iobroker\node_modules\i
                                            ! obroker.sayit\say.mp3'
                                            ! npm ERR! iobroker.sayit@0.3.16 install: node main.js –install
                                            ! npm ERR! Exit status 6
                                            ! npm ERR!
                                            ! npm ERR! Failed at the iobroker.sayit@0.3.16 install script.
                                            ! npm ERR! This is most likely a problem with the iobroker.sayit package,
                                            ! npm ERR! not with npm itself.
                                            ! npm ERR! Tell the author that this fails on your system:
                                            ! npm ERR! node main.js --install
                                            ! npm ERR! You can get their info via:
                                            ! npm ERR! npm owner ls iobroker.sayit
                                            ! npm ERR! There is likely additional logging output above.
                                            ! npm ERR! System Windows_NT 6.1.7601
                                            ! npm ERR! command "C:\Program Files\nodejs\\node.exe" "C:\Program Files\nod
                                            ! ejs\node_modules\npm\bin\npm-cli.js" "install" "iobroker.sayit"
                                            ! npm ERR! cwd c:\iobroker
                                            ! npm ERR! node -v v0.10.35
                                            ! npm ERR! npm -v 1.4.28
                                            ! npm ERR! code ELIFECYCLE
                                            ! npm ERR! error rolling back Error: EPERM, unlink 'c:\iobroker\node_modules\iobro
                                            ! ker.sayit\say.mp3'
                                            ! npm ERR! error rolling back { [Error: EPERM, unlink 'c:\iobroker\node_modules\i
                                            ! obroker.sayit\say.mp3']
                                            ! npm ERR! error rolling back errno: 50,
                                            ! npm ERR! error rolling back code: 'EPERM',
                                            ! npm ERR! error rolling back path: 'c:\iobroker\node_modules\iobroker.sayit
                                            ! \say.mp3' }
                                            ! npm ERR! not ok code 0 `
                                            Посмотри, что я поменял: https://github.com/ioBroker/ioBroker.sa … 412dca8cb6

                                            Практически ничего :lol:

                                            Видать установка не прошла. `
                                            НУ раз не прошла это ладно, я же вручную 2 раза пробовал ставить не проходит.

                                            зависает на строке 2015-12-26 16:07:14.245 - info: sayit.0 Upload announce mp3 files

                                            Но до этого видимо фалы скаыивает и в папке в с драйвером все файлы и папки появляются, в этот момент ребутнул iobroker, чтобы установку не отменилась и не удалила снова все фалйлы, сам драйвер пока работает.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            782
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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