Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. Скрипты
  5. ioBroker скрипты
  6. Голосовое управление

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    668

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    5.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Голосовое управление

Scheduled Pinned Locked Moved ioBroker скрипты
20 Posts 4 Posters 5.5k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • I Offline
    I Offline
    instalator
    wrote on last edited by
    #1

    Есть ли в планах такой драйвер?

    Подсмотрел у конкурентов и сделал себе так:

    Ставим на андроид приложение https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm стоит 100 руб.

    В Tasker создаем задачу Voice

    Добавляем действие - Ввод / Get Voice. В название пишем "Говорите"

    Добавляем действие - Сигнал / Всплывающее окно. Текст -> %VOICE (Это наша переменная с текстом)

    Добавляем действие - Сеть / HTTP Get. Настроим: Server -> 192.168.1.190:8087 ;Path -> /set/javascript.0.Voice.Command ; Attributes -> value=%VOICE

    И добавляем скрипт:

    createState('Voice.Command', '');
    /////////////Голосовое управление/////////////////////////////
    on('javascript.0.Voice.Command', function (obj) {
    var voice = obj.newState.val.toLowerCase();
        if (voice == 'включить+свет'){
            setState('mqtt.0.myhome.Lighting.BedRoom_Main', '1');
        }
        else if (voice == 'выключить+свет'){
            setState('mqtt.0.myhome.Lighting.BedRoom_Main', '0');
        }
    });
    

    266_screenshot_2015-10-27-20-02-34.png 266_screenshot_2015-10-27-20-02-46.png
    266_screenshot_2015-10-27-20-02-53.png 266_screenshot_2015-10-27-20-03-02.png

    Высокий уровень Децибел вреден для здоровья!

    http://blog.instalator.ru/

    1 Reply Last reply
    0
    • I Offline
      I Offline
      instalator
      wrote on last edited by
      #2

      Накидал управление телевизором (переключение каналов)

      Регулировка громкости.

      var ArrayChannel = [10,11,12,13,14,15,16,17,18,19];
      //10 - 19
      /////////////Голосовое управление/////////////////////////////
      on('javascript.0.Voice.Command', function (obj) {
          if (obj.newState.val !== 'ok'){
             // setState('sayit.0.tts.text', 'Хорошо');
          var voice = obj.newState.val.toLowerCase();
          var PlayerKodi = getState('javascript.0.Scenes.Kodi').val;
      ////////////////********Переключение каналов ТВ********************/    
          var voiceArr =  voice.split('+');
          log('Вся переменная - ' + voiceArr);
          if (voiceArr[0] == 'переключение' || voiceArr[0] == 'переключения' || voiceArr[0] == 'приключения' || 
          voiceArr[0] == 'приключение' || voiceArr[0] == 'переключи' && voiceArr[1] !== 'на'){ voiceArr[2] = voiceArr[1];}
          if (voiceArr[1] == 'канал'){ voiceArr[2] = voiceArr[0];}
          if (voiceArr[2] == 'первый'){voiceArr[2] = 1;}
          if (voiceArr[2] == 'второй'){voiceArr[2] = 2;}
          if (voiceArr[2] == 'третий'){voiceArr[2] = 3;}
          if (voiceArr[2] == 'четвертый'){voiceArr[2] = 4;}
          if (voiceArr[2] == 'пятый'){voiceArr[2] = 5;}
          if (voiceArr[2] == 'шестой'){voiceArr[2] = 6;}
          if (voiceArr[2] == 'седьмой'){voiceArr[2] = 7;}
          if (voiceArr[2] == 'восьмой'){voiceArr[2] = 8;}
          if (voiceArr[2] == 'девятый'){voiceArr[2] = 9;}
          log('Массив - '+ voiceArr);
          if (voiceArr[0] == 'переключение' || voiceArr[0] == 'переключения' || voiceArr[0] == 'приключения' ||
           voiceArr[0] == 'приключение' || voiceArr[0] == 'переключи' || voiceArr[1] == 'канал'){
              if (voiceArr[2] > 0 && voiceArr[2] <= 9){
              setState('mqtt.0.myhome.RS232.LGTV_RemoteKey', ArrayChannel[voiceArr[2]]);
              }
              else if(voiceArr[2]>=10/* && voiceArr[2]<=99*/){
                  var singlenumber = voiceArr[2].split( /(?=(?:\d)+(?!\d))/ ); // [1, 234, 567, 890]
                  log('по цифрам - '+ singlenumber);
                  setTimeout(function() {setState('mqtt.0.myhome.RS232.LGTV_RemoteKey', ArrayChannel[singlenumber[0]]); }, 100);
                  setTimeout(function() {setState('mqtt.0.myhome.RS232.LGTV_RemoteKey', ArrayChannel[singlenumber[1]]); }, 700);
              }
          }
      ///////////**********Регулировка громкости*********/////////////
      if (voiceArr[0] == 'громкость' || voiceArr[0] == 'звук' && voiceArr[1] < 70 && voiceArr[1] > 0){
          setState('onkyo.0.master-volume', voiceArr[1]);
      }}
      });
      

      Высокий уровень Децибел вреден для здоровья!

      http://blog.instalator.ru/

      1 Reply Last reply
      0
      • V Offline
        V Offline
        Vlad_k
        wrote on last edited by
        #3

        Вставить в Static HTML в визе, <u>http://192.168.1.34:8087</u> -заменить на свой айпишник и можно без Tasker пользоваться…

        1 Reply Last reply
        0
        • I Offline
          I Offline
          instalator
          wrote on last edited by
          #4

          @Vlad_k:

          Вставить в Static HTML в визе, <u>http://192.168.1.34:8087</u> -заменить на свой айпишник и можно без Tasker пользоваться… `
          не работает ни в одном браезере.

          В хроме на компе рабоатет, но постоянно запрашивает разрешение на использование микрофона.

          На телефоне вообще не реагирует.

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

          Высокий уровень Децибел вреден для здоровья!

          http://blog.instalator.ru/

          1 Reply Last reply
          0
          • aurodionovA Offline
            aurodionovA Offline
            aurodionov
            wrote on last edited by
            #5

            @Vlad_k:

            Вставить в Static HTML в визе, <u>http://192.168.1.34:8087</u> -заменить на свой айпишник и можно без Tasker пользоваться… `
            А что лежит в javascript.0.Voice.Command ? скрипт инсталятора из первого поста?
            3514_alexa2_keineahnung.log
            3514_alexa2_meike.log

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

            1 Reply Last reply
            0
            • H Offline
              H Offline
              Haus
              wrote on last edited by
              #6

              @aurodionov:

              @Vlad_k:

              Вставить в Static HTML в визе, <u>http://192.168.1.34:8087</u> -заменить на свой айпишник и можно без Tasker пользоваться… А что лежит в javascript.0.Voice.Command ? скрипт инсталятора из первого поста?
              Это скрипт инсталятора из первого поста создаёт переменную javascript.0.Voice.Command

              js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

              admin: 3.6.0

              javascript: 4.1.10

              web: 2.4.1 vis: 1.1.10

              cloud: 2.6.2

              Server: DELL FX170 / linux: Debian 9.5 Stretch

              Adapter: MegaD-2561, Mega-ES…

              1 Reply Last reply
              0
              • I Offline
                I Offline
                instalator
                wrote on last edited by
                #7

                @aurodionov:

                @Vlad_k:

                Вставить в Static HTML в визе, <u>http://192.168.1.34:8087</u> -заменить на свой айпишник и можно без Tasker пользоваться… А что лежит в javascript.0.Voice.Command ? скрипт инсталятора из первого поста?

                Это переменная созданная так````
                createState('Voice.Command', '');

                Высокий уровень Децибел вреден для здоровья!

                http://blog.instalator.ru/

                1 Reply Last reply
                0
                • aurodionovA Offline
                  aurodionovA Offline
                  aurodionov
                  wrote on last edited by
                  #8

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

                  да , на компе в хроме тоже работает распознование
                  2858_screenshot__1461_.png
                  2858_screenshot__1444_.png
                  2858_screenshot__1411_.png
                  2858_screenshot__1405__li.jpg
                  2858_screenshot__1316_.png
                  2858_screenshot__1218_.png
                  2858_screenshot__1147_.png
                  2858_screenshot__1147_.png
                  2858_screenshot__1476__li.jpg

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

                  1 Reply Last reply
                  0
                  • V Offline
                    V Offline
                    Vlad_k
                    wrote on last edited by
                    #9

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

                    1 Reply Last reply
                    0
                    • I Offline
                      I Offline
                      instalator
                      wrote on last edited by
                      #10

                      @Vlad_k:

                      возможно без SimpleAPI адаптера не работает, через него рестфул организован как я понял, по поводу браузеров, я кроме хрома ни чем не пользуюсь, но предустановленные на телефонах и планшетах что у меня, все пашет, только графика ломается, поэтому сразу хром ставлю, с запросом на использование микрофона, можно справиться если не по айпи по ссылке ходить а например прописать название сайта и привязать к айпи, на локалхосте к примеру стоит один раз добавить разрешение и больше окошко невылазит… `
                      Вобщем добавил для пользования с компа. С телефона все таки через таскер намного удобнее, я добавил иконку на главный экран или есть возможность активировать по "встряхиванию" телефона (отключил так как были ложные срабатывания) и не надо браузеров запускать и ждать, нажал иконку сказал и тут же все включилось\выключилось и тд и тп. К тому же на таскере организована передача входящих вызовов, активация wifi по геоданным, передача уровня заряда телефона…..

                      Высокий уровень Децибел вреден для здоровья!

                      http://blog.instalator.ru/

                      1 Reply Last reply
                      0
                      • H Offline
                        H Offline
                        Haus
                        wrote on last edited by
                        #11

                        @aurodionov:

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

                        да , на компе в хроме тоже работает распознование `
                        if (voice == 'включить+свет'){ пропиши без + 'включить свет'

                        js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

                        admin: 3.6.0

                        javascript: 4.1.10

                        web: 2.4.1 vis: 1.1.10

                        cloud: 2.6.2

                        Server: DELL FX170 / linux: Debian 9.5 Stretch

                        Adapter: MegaD-2561, Mega-ES…

                        1 Reply Last reply
                        0
                        • I Offline
                          I Offline
                          instalator
                          wrote on last edited by
                          #12

                          @Haus:

                          @aurodionov:

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

                          да , на компе в хроме тоже работает распознование if (voice == 'включить+свет'){ пропиши без + 'включить свет'
                          Это ничего не изменит, так как уже добавлено:

                           var voice = obj.newState.val.toLowerCase().toString().replace(/\ /g, "+");
                          

                          И с компа у мня работает этот скрипт, а вот на телефоне ни в одном браузере нет, даже не просит сказать фразу, вообще не реагирует на кнопку.

                          Высокий уровень Децибел вреден для здоровья!

                          http://blog.instalator.ru/

                          1 Reply Last reply
                          0
                          • H Offline
                            H Offline
                            Haus
                            wrote on last edited by
                            #13

                            @instalator:

                            @Haus:

                            @aurodionov:

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

                            да , на компе в хроме тоже работает распознование if (voice == 'включить+свет'){ пропиши без + 'включить свет'
                            Это ничего не изменит, так как уже добавлено:

                             var voice = obj.newState.val.toLowerCase().toString().replace(/\ /g, "+");
                            

                            И с компа у мня работает этот скрипт, а вот на телефоне ни в одном браузере нет, даже не просит сказать фразу, вообще не реагирует на кнопку. `
                            У меня на телефоне всё работает в хроме, а вот твой скрипт начал выполнять действия когда убрал "+" :)

                            Даже пикает как окей гугл.

                            js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

                            admin: 3.6.0

                            javascript: 4.1.10

                            web: 2.4.1 vis: 1.1.10

                            cloud: 2.6.2

                            Server: DELL FX170 / linux: Debian 9.5 Stretch

                            Adapter: MegaD-2561, Mega-ES…

                            1 Reply Last reply
                            0
                            • I Offline
                              I Offline
                              instalator
                              wrote on last edited by
                              #14

                              @Haus:

                              У меня на телефоне всё работает в хроме, а вот твой скрипт начал выполнять действия когда убрал "+" :) `
                              Это потому что таскер отдает с + вместо пробела, добавь строчку как я написал выше

                              Высокий уровень Децибел вреден для здоровья!

                              http://blog.instalator.ru/

                              1 Reply Last reply
                              0
                              • H Offline
                                H Offline
                                Haus
                                wrote on last edited by
                                #15

                                @instalator:

                                @Haus:

                                У меня на телефоне всё работает в хроме, а вот твой скрипт начал выполнять действия когда убрал "+" :) Это потому что таскер отдает с + вместо пробела, добавь строчку как я написал выше
                                Строчку добавлю, спасибо. У тебя заработал в хроме?

                                P.S добавил строчку работает с "+".

                                js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

                                admin: 3.6.0

                                javascript: 4.1.10

                                web: 2.4.1 vis: 1.1.10

                                cloud: 2.6.2

                                Server: DELL FX170 / linux: Debian 9.5 Stretch

                                Adapter: MegaD-2561, Mega-ES…

                                1 Reply Last reply
                                0
                                • I Offline
                                  I Offline
                                  instalator
                                  wrote on last edited by
                                  #16

                                  @Haus:

                                  @instalator:

                                  @Haus:

                                  У меня на телефоне всё работает в хроме, а вот твой скрипт начал выполнять действия когда убрал "+" :) Это потому что таскер отдает с + вместо пробела, добавь строчку как я написал выше
                                  Строчку добавлю, спасибо. У тебя заработал в хроме? `
                                  Я же говорю что на телефоне вообще не реагирует на кнопку, на компе работает. С телефона я пользуюсь таскером, и в браузере на телефоне мне эта функция не нужна.

                                  Высокий уровень Децибел вреден для здоровья!

                                  http://blog.instalator.ru/

                                  1 Reply Last reply
                                  0
                                  • V Offline
                                    V Offline
                                    Vlad_k
                                    wrote on last edited by
                                    #17

                                    @Haus:

                                    if (voice == 'включить+свет'){ пропиши без + 'включить свет' `
                                    как по мне так лучше не сравнивать на полное совпадение по фразе, а искать вхождения подстроки в строке тогда можно построить более гибкую логику распознавания команд, под брокер пока не делал а в охабе у меня так:

                                    if (command.contains("вет") && command.contains("спал") && command.contains("вкл")) {

                                    sendCommand(Light_FF_Bed_Ceiling, "ON")

                                    say(command)

                                    }

                                    1 Reply Last reply
                                    0
                                    • I Offline
                                      I Offline
                                      instalator
                                      wrote on last edited by
                                      #18

                                      @Vlad_k:

                                      @Haus:

                                      if (voice == 'включить+свет'){ пропиши без + 'включить свет' `
                                      как по мне так лучше не сравнивать на полное совпадение по фразе, а искать вхождения подстроки в строке тогда можно построить более гибкую логику распознавания команд, под брокер пока не делал а в охабе у меня так:

                                      if (command.contains("вет") && command.contains("спал") && command.contains("вкл")) {

                                      sendCommand(Light_FF_Bed_Ceiling, "ON")

                                      say(command)

                                      } `
                                      Я думал над этим, и хочу полностью переписать свой скрипт, думаю как сделать обучаемую систему, чтобы при новых командах можно было назначить действие… Хотя это уже нужен не скрипт а драйвер, чтобы было что то на подобии таблицы команд("синонимов") и действий.

                                      А вообще в идеале прикрутить нейронку :)

                                      Высокий уровень Децибел вреден для здоровья!

                                      http://blog.instalator.ru/

                                      1 Reply Last reply
                                      0
                                      • V Offline
                                        V Offline
                                        Vlad_k
                                        wrote on last edited by
                                        #19

                                        @instalator:

                                        А вообще в идеале прикрутить нейронку :) `
                                        да не слишком жирно :D

                                        я вижу такую реализацию, массив многомерный:

                                        команды голосом–

                                        место- устройство-свойства-параметр-действие

                                        зал++++свет+++ яркость+++50%

                                        зал++++свет++++++++++++++++вкл

                                        зал++++свет++++++++++++++++выкл

                                        зал++++телек++громкость++30%

                                        функция проходит по таблице и возвращает вхождения по столбцам строкам в виде чисел, а на числа ставим уже обработчик...

                                        1 Reply Last reply
                                        0
                                        • I Offline
                                          I Offline
                                          instalator
                                          wrote on last edited by
                                          #20

                                          Скрипт разросся, решил немного переписать и унифицировать.

                                          Часть моего скрипта второй итерации:

                                          ! ````
                                          /////////////Голосовое управление/////////////////////////////
                                          on({id: 'javascript.0.Voice.Command', change: 'any'}, function (obj) {
                                          var voice = obj.newState.val.toLowerCase();
                                          VoiceCommands (voice);
                                          });
                                          ! function VoiceCommands (voice){

                                          var SceneKodi     = getState('javascript.0.Scenes.Kodi').val;
                                          var SceneTV       = getState('javascript.0.Scenes.TV').val;
                                          var tempKitchen   = getState('mqtt.0.myhome.Kitchen.Temp_room').val;
                                          var tempBedroom   = getState('mqtt.0.myhome.Bedroom.Temp_room').val;
                                          var tempBathroom  = getState('mqtt.0.myhome.Bathroom.Temp_room').val;
                                          var tempin        = getState('mqtt.0.myhome.Bedroom.Temp_in').val;
                                          var Volume        = parseInt(getState('onkyo.0.master-volume').val, 10);
                                          var ttsVolume     = parseInt(getState('sayit.0.tts.volume').val, 10);
                                          
                                          var voiceArr =  voice.split('+');
                                          log('Вся переменная - ' + voice);
                                          log('Массив - '+ voiceArr);
                                          

                                          ! function found (cmd){
                                          cmd = String(cmd);
                                          if (~voice.indexOf(cmd)){
                                          return true;
                                          } else {
                                          return false;
                                          }
                                          }

                                          var FoundNum = function(voice){
                                          var num =parseInt(voice.replace(/\D+/, ''), 10);
                                          if (num !== isNaN){
                                          return num;
                                          } else {
                                          return false;
                                          }
                                          };
                                          /***************Регулировка громкости/////////////
                                          if ((found('тише') || found('тиши') || found('убавь') || found('кеша') || found('сделайте+же') || found('ты+же')) && !found('говор') && !found('оповещ') && !found('помещ')){
                                          if (FoundNum(voice) && found('на')){
                                          setState('onkyo.0.master-volume', Volume - FoundNum(voice));
                                          }
                                          else if (FoundNum(voice) && !found('на')){
                                          setState('onkyo.0.master-volume', FoundNum(voice));
                                          }
                                          else if (!FoundNum(voice)){
                                          setState('onkyo.0.master-volume', Volume - 3);
                                          }
                                          }

                                          if ((found('громче') || found('прибавь') || found('громк')) && !found('говор') && !found('оповещ') && !found('помещ')){
                                            if (FoundNum(voice) && found('на')){
                                              setState('onkyo.0.master-volume', Volume + FoundNum(voice));
                                            }
                                            else if (FoundNum(voice) && !found('на')){
                                              setState('onkyo.0.master-volume', FoundNum(voice));
                                            } 
                                            else if (!FoundNum(voice)){
                                              setState('onkyo.0.master-volume', Volume + 3);
                                            }
                                          }
                                          

                                          /Управление громкостью Sayit**/
                                          if (found('говор') || (found('оповещ') || found('помещ'))){ //помещения оповещени
                                          if (FoundNum(voice)){
                                          setState('sayit.0.tts.volume', FoundNum(voice));
                                          ttsVolume = getState('sayit.0.tts.volume').val;
                                          setState('sayit.0.tts.text', 'Громкость оповещения установлена на ' + ttsVolume+'.');
                                          }
                                          else {
                                          if (found('гром')){
                                          setState('sayit.0.tts.volume', ttsVolume+10);
                                          ttsVolume = getState('sayit.0.tts.volume').val;
                                          setState('sayit.0.tts.text', 'Громкость оповещения установлена на ' + ttsVolume+'.');
                                          }
                                          if (found('тише')){
                                          setState('sayit.0.tts.volume', ttsVolume-10);
                                          ttsVolume = getState('sayit.0.tts.volume').val;
                                          setState('sayit.0.tts.text', 'Громкость оповещения установлена на ' + ttsVolume+'.');
                                          }
                                          }
                                          }
                                          /Аквасторож************************/
                                          if (found('воду') || found('вода') || found('году') || found('лада')){
                                          if (found('закр') || found('выкл') || found('пере')){
                                          setState('mqtt.0.myhome.NRF.AquaStoroj.ButtonClose', '1');
                                          setState('sayit.0.tts.text', 'Вода перекрыта');
                                          }
                                          if (found('откр')){
                                          setState('mqtt.0.myhome.NRF.AquaStoroj.ButtonOpen', '1');
                                          setState('sayit.0.tts.text', 'Вода открыта');
                                          }
                                          }
                                          /Приточка*************/
                                          if (found('приточ') || found('проточ') || found('вентил')){
                                          var BedRoomMin = 70;
                                          var BedRoomMax = 131;
                                          var GuestRoomMin = 94;
                                          var GuestRoomMax = 163;
                                          if (found('спал')){
                                          if (FoundNum(voice) && FoundNum(voice) >= 0 && FoundNum(voice) <= 100){
                                          setState('mqtt.0.myhome.Bedroom.Servo', ((BedRoomMax - BedRoomMin) / 100) * FoundNum(voice) + BedRoomMin); //70+(*0.61)
                                          }
                                          if (found('откр')){
                                          setState('mqtt.0.myhome.Bedroom.Servo', BedRoomMax);
                                          }
                                          if (found('закр')){
                                          setState('mqtt.0.myhome.Bedroom.Servo', BedRoomMin);
                                          }
                                          }
                                          if (found('зал')){
                                          if (FoundNum(voice) && FoundNum(voice) >= 0 && FoundNum(voice) <= 100){
                                          setState('mqtt.0.myhome.Guestroom.Servo', ((GuestRoomMax - GuestRoomMin) / 100) * FoundNum(voice) + GuestRoomMin);
                                          }
                                          if (found('откр')){
                                          setState('mqtt.0.myhome.Guestroom.Servo', GuestRoomMax);
                                          }
                                          if (found('закр')){
                                          setState('mqtt.0.myhome.Guestroom.Servo', GuestRoomMin);
                                          }
                                          }
                                          }
                                          /*****************Освещение///////////////
                                          function Invert (id){
                                          if (!found('вкл') && !found('выкл')){
                                          IdVal = getState(id).val;
                                          if (IdVal === 1 || IdVal === '1'){
                                          setState(id, '0');
                                          } else {
                                          setState(id, '1');
                                          }
                                          } else {
                                          if (found('вкл')){
                                          setState(id, '1');
                                          }
                                          if (found('выкл')){
                                          setState(id, '0');
                                          }
                                          }
                                          }

                                          if (found('свет') || found('глазк')){
                                            if (found('спал')){
                                              if (found('глаз')){
                                                Invert ('mqtt.0.myhome.Lighting.BedRoom_Additional');
                                              } else {
                                                Invert ('mqtt.0.myhome.Lighting.BedRoom_Main');
                                              }
                                            }
                                            if (found('зал')){
                                              if (found('весь')){
                                                Invert ('mqtt.0.myhome.Lighting.GuestRoom_Additional');
                                                Invert ('mqtt.0.myhome.Lighting.GuestRoom_Main');
                                                Invert ('mqtt.0.myhome.Lighting.GuestRoom_Main2');
                                              }
                                              if (found('глаз')){
                                                Invert ('mqtt.0.myhome.Lighting.GuestRoom_Additional');
                                              }
                                              else {
                                                Invert ('mqtt.0.myhome.Lighting.GuestRoom_Main2');
                                                Invert ('mqtt.0.myhome.Lighting.GuestRoom_Main');
                                                Invert ('mqtt.0.myhome.Lighting.GuestRoom_Additional');
                                              }
                                            }
                                            if (found('кухн')){
                                              if (found('глаз')){
                                                Invert ('mqtt.0.myhome.Lighting.Kitchen_Additional');
                                              } else {
                                                Invert ('mqtt.0.myhome.Lighting.Kitchen_Main');
                                              }
                                            }
                                            if (found('ванн')){
                                              if (found('зерк')){
                                                Invert ('mqtt.0.myhome.Lighting.BathRoom_Additional');
                                              } else {
                                                Invert ('mqtt.0.myhome.Lighting.BathRoom_Main');
                                              }
                                            }
                                            if (found('кор') || found('при')){
                                                Invert ('mqtt.0.myhome.Lighting.Hall_Main');
                                            }
                                          }
                                          

                                          /******************************************************************/
                                          if ( found('домоф') || found('двер') ){
                                          var DomofonRing = getState('mqtt.0.myhome.Mother.DomofonRing').val;
                                          if ((DomofonRing === '1' || DomofonRing === 1)){
                                          setState('mqtt.0.myhome.Mother.DomofonOpen', '1');
                                          } else {
                                          setState('sayit.0.tts.text', 'Режим автооткрытия домофОна активирован! ');
                                          setState('javascript.0.Scenes.DomofonAutoOpen', '1');
                                          }
                                          if (found('откл') || found('выкл')){
                                          setState('sayit.0.tts.text', 'Режим автооткрытия домофОна отключен!');
                                          setState('javascript.0.Scenes.DomofonAutoOpen', '0');
                                          }
                                          }
                                          }

                                          
                                          Добавлено:
                                          
                                          Скрипт получился удобный, можно давать несколько команд УД в одном предложении.

                                          Высокий уровень Децибел вреден для здоровья!

                                          http://blog.instalator.ru/

                                          1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          565

                                          Online

                                          32.7k

                                          Users

                                          82.6k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe