Navigation

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

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Драйвер sayit

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

      @aurodionov:

      Снова перестал говорить через браузеры мобильных устройств.

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

      Чтобы узнать ИД нужного браузера, нужно открыть на том устройстве где мы хотим слышать голос, закладку "Инструменты" в редакторе виз ip:8082/vis/edit.html#….. , там и указывается ИД, затем указать в настройках драйвера sayit. Болтать будет только на этом устройстве.

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

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

        Пишу с пульта….

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

          @aurodionov:

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

          Пишу с пульта…. `
          Мобильные броузеры не всегда поддерживают HTML5 play.

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

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

            ! function speak_txt( data ){
            ! var speech = new SpeechSynthesisUtterance();
            ! speech.lang = 'ru-RU';
            ! speech.rate = 1.5;
            ! speech.pitch = 2;
            ! speech.volume = 1;
            ! speech.txt = "тест голоса"; //document.getElementById( "q" ).value
            ! window.speechSynthesis.speak( speech );
            ! }
            пашет исключительно под андроидом а на ноуте молчит

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

              @Vlad_k:

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

              Уже не знаю куда копать, пока пользую системный вывод.

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

                @aurodionov:

                @Vlad_k:

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

                Уже не знаю куда копать, пока пользую системный вывод. `
                Звук выводят только Dolphin, UC Browser, а команды принимает Chrome.

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

                  пытаюсь заставить хром говорить:

                  в визе добавил виджет

                  [{"tpl":"tplValueString","data":{"oid":"sayit.0.tts.text","visibility-cond":"==","visibility-val":"true","visibility-oid":""},"style":{"left":"313px","top":"309px","width":"338px","height":"15px"},"widgetSet":"basic"}]
                  
                  

                  в staticHtml хочу прописать скрипт который будет отслеживать изменения текста в виджете и отправлять его в функцию воспроизведения

                  function speak_txt( data ){
                  var speech = new SpeechSynthesisUtterance();
                  speech.lang = 'ru-RU';
                  speech.rate = 1.5;
                  speech.pitch = 2;
                  speech.volume = 1;
                  speech.txt = "тест голоса"; //document.getElementById( "q" ).value
                  window.speechSynthesis.speak( speech );
                  

                  по каким параметрам искать div виджета в визе когда страница загружена?

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

                    div нашел

                    почему не правильно в визе отображает :

                    вставить в staticHTML

                    ! ````
                    !
                    !
                    !
                    <label for="voice">Voice</label>

                    	<label for="volume">Volume</label>
                    
                    	<label for="rate">Rate</label>
                    
                    	<label for="pitch">Pitch</label>
                    

                    !
                    !
                    ! ````
                    редакторе работает,а на страничке размер ужимает и не добавляются голоса в список

                    ПС почемуто не экспортирует виджет у меня

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

                      Как можно сделать чтобы при воспроизведении своего mp3 фала не проигровался диндон?

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

                        @instalator:

                        Как можно сделать чтобы при воспроизведении своего mp3 фала не проигровался диндон? `
                        В настройке драйвера вместо "gong" выбрать "none".

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

                          @Haus:

                          @instalator:

                          Как можно сделать чтобы при воспроизведении своего mp3 фала не проигровался диндон? В настройке драйвера вместо "gong" выбрать "none".
                          Эта настройка глобальная. Я сделал воспроизведение mp3 фала при звонке в домофон, вот чтобы при воспроизведении mp3 не воспроизводился диндон

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

                            @instalator:

                            @Haus:

                            @instalator:

                            Как можно сделать чтобы при воспроизведении своего mp3 фала не проигровался диндон? В настройке драйвера вместо "gong" выбрать "none".
                            Эта настройка глобальная. Я сделал воспроизведение mp3 фала при звонке в домофон, вот чтобы при воспроизведении mp3 не воспроизводился диндон `
                            Может я неконкретно выразился, установи ещё один драйвер sayit1, sayit2….. и настрой как тебе нужно для использования только с домофоном.

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

                              Вопрос, как в скрипте прописать var idSayIt = что бы говорили оба драйвера. Сейчас тупо прописал два раза

                              //var idSayIt = "sayit.0.tts.text";
                              createState('Voice.Command', '');
                              /////////////Голосовое управление/////////////////////////////
                              on('javascript.0.Voice.Command', function (obj) {
                              //var voice = obj.newState.val.toLowerCase();
                              var voice = obj.newState.val.toLowerCase().toString().replace(/\ /g, "+");
                                  if (voice == 'включить+насос' || voice == 'включи+насос' || voice == 'вруби+насос'){
                                      setState('javascript.0.heat_pump', 'true');
                                      //var idSayIt = "sayit.0.tts.text";
                                      setState ('sayit.0.tts.text', 'Внимание! Включаю насос');
                                      setState ('sayit.1.tts.text', 'Внимание! Включаю насос');
                                  }
                                  else if (voice == 'выключить+насос' || voice == 'выключи+насос' || voice == 'отключи+насос' || voice == 'отруби+насос'){
                                      setState('javascript.0.heat_pump', 'false');
                                      //setState (idSayIt, 'Внимание! Выключаю насос');
                                      setState ('sayit.0.tts.text', 'Внимание! Выключаю насос');
                                      setState ('sayit.1.tts.text', 'Внимание! Выключаю насос');
                                  }
                              });
                              
                              1 Reply Last reply Reply Quote 0
                              • I
                                instalator last edited by

                                @Haus:

                                Вопрос, как в скрипте прописать var idSayIt = что бы говорили оба драйвера. Сейчас тупо прописал два раза

                                //var idSayIt = "sayit.0.tts.text";
                                createState('Voice.Command', '');
                                /////////////Голосовое управление/////////////////////////////
                                on('javascript.0.Voice.Command', function (obj) {
                                //var voice = obj.newState.val.toLowerCase();
                                var voice = obj.newState.val.toLowerCase().toString().replace(/\ /g, "+");
                                    if (voice == 'включить+насос' || voice == 'включи+насос' || voice == 'вруби+насос'){
                                        setState('javascript.0.heat_pump', 'true');
                                        //var idSayIt = "sayit.0.tts.text";
                                        setState ('sayit.0.tts.text', 'Внимание! Включаю насос');
                                        setState ('sayit.1.tts.text', 'Внимание! Включаю насос');
                                    }
                                    else if (voice == 'выключить+насос' || voice == 'выключи+насос' || voice == 'отключи+насос' || voice == 'отруби+насос'){
                                        setState('javascript.0.heat_pump', 'false');
                                        //setState (idSayIt, 'Внимание! Выключаю насос');
                                        setState ('sayit.0.tts.text', 'Внимание! Выключаю насос');
                                        setState ('sayit.1.tts.text', 'Внимание! Выключаю насос');
                                    }
                                });
                                ```` `  
                                

                                Засунь в функцию

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

                                  @instalator:

                                  @Haus:

                                  Вопрос, как в скрипте прописать var idSayIt = что бы говорили оба драйвера. Сейчас тупо прописал два раза

                                  //var idSayIt = "sayit.0.tts.text";
                                  createState('Voice.Command', '');
                                  /////////////Голосовое управление/////////////////////////////
                                  on('javascript.0.Voice.Command', function (obj) {
                                  //var voice = obj.newState.val.toLowerCase();
                                  var voice = obj.newState.val.toLowerCase().toString().replace(/\ /g, "+");
                                      if (voice == 'включить+насос' || voice == 'включи+насос' || voice == 'вруби+насос'){
                                          setState('javascript.0.heat_pump', 'true');
                                          //var idSayIt = "sayit.0.tts.text";
                                          setState ('sayit.0.tts.text', 'Внимание! Включаю насос');
                                          setState ('sayit.1.tts.text', 'Внимание! Включаю насос');
                                      }
                                      else if (voice == 'выключить+насос' || voice == 'выключи+насос' || voice == 'отключи+насос' || voice == 'отруби+насос'){
                                          setState('javascript.0.heat_pump', 'false');
                                          //setState (idSayIt, 'Внимание! Выключаю насос');
                                          setState ('sayit.0.tts.text', 'Внимание! Выключаю насос');
                                          setState ('sayit.1.tts.text', 'Внимание! Выключаю насос');
                                      }
                                  });
                                  ```` `  
                                  

                                  Засунь в функцию `
                                  Если тебя не затруднит примерчик любой. :roll:

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

                                    @Haus:

                                    @instalator:

                                    @Haus:

                                    Вопрос, как в скрипте прописать var idSayIt = что бы говорили оба драйвера. Сейчас тупо прописал два раза Засунь в функцию
                                    Если тебя не затруднит примерчик любой. :roll: `
                                    Примерно так

                                    //var idSayIt = "sayit.0.tts.text";
                                    createState('Voice.Command', '');
                                    /////////////Голосовое управление/////////////////////////////
                                    on('javascript.0.Voice.Command', function (obj) {
                                    //var voice = obj.newState.val.toLowerCase();
                                    var voice = obj.newState.val.toLowerCase().toString().replace(/\ /g, "+");
                                        if (voice == 'включить+насос' || voice == 'включи+насос' || voice == 'вруби+насос'){
                                            setState('javascript.0.heat_pump', 'true');
                                            //var idSayIt = "sayit.0.tts.text";
                                           idSayIt('Внимание! Выключаю насос');
                                        }
                                        else if (voice == 'выключить+насос' || voice == 'выключи+насос' || voice == 'отключи+насос' || voice == 'отруби+насос'){
                                            setState('javascript.0.heat_pump', 'false');
                                            //setState (idSayIt, 'Внимание! Выключаю насос');
                                            idSayIt('Внимание! Выключаю насос');
                                        }
                                    });
                                    function idSayIt(command){
                                            setState ('sayit.0.tts.text', command);
                                            setState ('sayit.1.tts.text', command);
                                    }
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • H
                                      Haus last edited by

                                      @instalator:

                                      @Haus:

                                      @instalator:

                                      Засунь в функцию Если тебя не затруднит примерчик любой. :roll:
                                      Примерно так

                                      //var idSayIt = "sayit.0.tts.text";
                                      createState('Voice.Command', '');
                                      /////////////Голосовое управление/////////////////////////////
                                      on('javascript.0.Voice.Command', function (obj) {
                                      //var voice = obj.newState.val.toLowerCase();
                                      var voice = obj.newState.val.toLowerCase().toString().replace(/\ /g, "+");
                                          if (voice == 'включить+насос' || voice == 'включи+насос' || voice == 'вруби+насос'){
                                              setState('javascript.0.heat_pump', 'true');
                                              //var idSayIt = "sayit.0.tts.text";
                                             idSayIt('Внимание! Выключаю насос');
                                          }
                                          else if (voice == 'выключить+насос' || voice == 'выключи+насос' || voice == 'отключи+насос' || voice == 'отруби+насос'){
                                              setState('javascript.0.heat_pump', 'false');
                                              //setState (idSayIt, 'Внимание! Выключаю насос');
                                              idSayIt('Внимание! Выключаю насос');
                                          }
                                      });
                                      function idSayIt(command){
                                              setState ('sayit.0.tts.text', command);
                                              setState ('sayit.1.tts.text', command);
                                      }
                                      ```` `  
                                      

                                      Спасибо работает, отвечал сразу куда то сообщение пропало.

                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        DAndre last edited by

                                        Без инета из Кэш говорит?

                                        Файлов куча (большая), а без сети затык.

                                        Так и должно быть?

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

                                          @DAndre:

                                          Без инета из Кэш говорит?

                                          Файлов куча (большая), а без сети затык.

                                          Так и должно быть? `
                                          Да если хоть раз говорила и записала в кэш, проверял на пинге отключал кабель

                                          P.S. Да в смысле говорит из кэша

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

                                            @DAndre:

                                            Без инета из Кэш говорит?

                                            Файлов куча (большая), а без сети затык.

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

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            556
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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