Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Скрипт регулировки громкости

Geplant Angeheftet Gesperrt Verschoben ioBroker скрипты
21 Beiträge 5 Kommentatoren 7.4k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • V Offline
    V Offline
    vtec
    schrieb am zuletzt editiert von
    #9

    Каждый час правильно так:

    0 * * * *

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      spectrekr
      schrieb am zuletzt editiert von
      #10

      @vtec:

      Выявленные баги данного скрипта, что в 23, что в 1 громкость выставляется по дефолту, а это максимум.

      Смыс этой строки case 0: setState(('sayit.0.tts.volume'),0) никакой.

      Нужно похоже переходить на if. `
      Это я не додумал, поправил в новой версии.
      @vtec:

      Не нужны, не увидел где данные переменные используются.

      createState('tempOutside','');

      var volume = getState('sayit.0.tts.volume').val; `
      Это пережиток версии скрипта через if.

      А createState('tempOutside',''); не знаю для чего нада, думал обязательно. Т.к. в часах тоже присутствует, а где используется не увидел, подумал что системная.
      @vtec:

      Каждый час правильно так:

      0 * * * * `
      Об этом узнал чуть позже, забыл поправить в здешней версии.

      Новый вариант. Через switch не получается диапазоны делать. Сделал через if.

      ! schedule("0 * * * *", function () { var date = new Date(); var hour = date.getHours(); if(hour >= 0 && hour <= 6){ setState(('sayit.0.tts.volume'),0); log('Установлена громкость '+ getState('sayit.0.tts.volume').val); } if(hour >= 7 && hour <= 9){ setState(('sayit.0.tts.volume'),40); log('Установлена громкость '+ getState('sayit.0.tts.volume').val); } if(hour >= 10 && hour <= 21){ setState(('sayit.0.tts.volume'),80); log('Установлена громкость '+ getState('sayit.0.tts.volume').val); } if(hour >= 22 && hour <= 23){ setState(('sayit.0.tts.volume'),50); log('Установлена громкость '+ getState('sayit.0.tts.volume').val); } }); !

      1 Antwort Letzte Antwort
      0
      • aurodionovA Offline
        aurodionovA Offline
        aurodionov
        schrieb am zuletzt editiert von
        #11

        @spectrekr:

        А createState('tempOutside',''); не знаю для чего нада, думал обязательно. Т.к. в часах тоже присутствует, а где используется не увидел, подумал что системная. `
        Это создаётся переменная для внешней температуры, ну насколько я понял
        3428_blockly2.txt

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

        1 Antwort Letzte Antwort
        0
        • V Offline
          V Offline
          vtec
          schrieb am zuletzt editiert von
          #12

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

          1 Antwort Letzte Antwort
          0
          • V Offline
            V Offline
            vtec
            schrieb am zuletzt editiert von
            #13

            Вот мое решение:

            var volumeId = "sayit.0.tts.volume";
            
            // Утанавливаем в 6:59 громость 90
            schedule("59 6 * * *", function(){
                setState(volumeId,90,function(){
            	    log('Установлена громкость '+ getState(volumeId).val);
                });
            });
            // Утанавливаем в 9:29 громость 100
            schedule("29 9 * * *", function(){
                setState(volumeId,100,function(){
            	    log('Установлена громкость '+ getState(volumeId).val);
                });
            });
            // Утанавливаем в 22:59 громость 80
            schedule("59 22 * * *", function(){
                setState(volumeId,80,function(){
            	    log('Установлена громкость '+ getState(volumeId).val);
            	});
            });
            
            
            1 Antwort Letzte Antwort
            0
            • H Offline
              H Offline
              Haus
              schrieb am zuletzt editiert von
              #14

              @vtec:

              Это я для себя писал, у меня внешний скрипт записывает в эту переменную значение температуры на улице, для дальнейшего произношения с утра. `

              А можно этот скрипт подсмотреть :roll:

              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 Antwort Letzte Antwort
              0
              • V Offline
                V Offline
                vtec
                schrieb am zuletzt editiert von
                #15

                Что именно интересует?

                1 Antwort Letzte Antwort
                0
                • H Offline
                  H Offline
                  Haus
                  schrieb am zuletzt editiert von
                  #16

                  @vtec:

                  Что именно интересует? `

                  скрипт записывает в эту переменную значение температуры на улице

                  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 Antwort Letzte Antwort
                  0
                  • V Offline
                    V Offline
                    vtec
                    schrieb am zuletzt editiert von
                    #17

                    Если имеется в виду внешний скрипт, то там нет ничего такого пару строчек на php. Могу выложить. Сама температура берется с датчика 1-wire

                    1 Antwort Letzte Antwort
                    0
                    • H Offline
                      H Offline
                      Haus
                      schrieb am zuletzt editiert von
                      #18

                      @vtec:

                      Если имеется в виду внешний скрипт, то там нет ничего такого пару строчек на php. Могу выложить. Сама температура берется с датчика 1-wire `
                      Был бы рад, если нетрудно.

                      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 Antwort Letzte Antwort
                      0
                      • V Offline
                        V Offline
                        vtec
                        schrieb am zuletzt editiert von
                        #19
                        // Свое значение для $temp берем от датчика
                        $temp = "-19.36";
                        // отправляем температуру умному дому
                        $roundTemp = round($temp);
                        // tempOutside данная переменная должна быть создана в ioBroker
                        $fp=fopen("http://192.168.0.200:8087/set/javascript.0.tempOutside?value=$roundTemp","r");
                        fclose($fp);
                        
                        
                        1 Antwort Letzte Antwort
                        0
                        • H Offline
                          H Offline
                          Haus
                          schrieb am zuletzt editiert von
                          #20

                          @vtec:

                          // Свое значение для $temp берем от датчика
                          $temp = "-19.36";
                          // отправляем температуру умному дому
                          $roundTemp = round($temp);
                          // tempOutside данная переменная должна быть создана в ioBroker
                          $fp=fopen("http://192.168.0.200:8087/set/javascript.0.tempOutside?value=$roundTemp","r");
                          fclose($fp);
                          
                          ```` `  
                          

                          Спасибо. С наступающим :)

                          Дополню: в iobroker должен быть запущен драйвер simple-api ;)

                          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 Antwort Letzte Antwort
                          0
                          • E Offline
                            E Offline
                            electric
                            schrieb am zuletzt editiert von
                            #21

                            Как образец использовал скрипт vtec.

                            Добавил изменение громкости в выходные (чтобы попозже утром прибавлял).

                            Скрипт:

                            ! var volumeId = "sayit.0.tts.volume"; ! // Утанавливаем в 6:59 только в будни громость 80 schedule("59 6 * * *", function(){ var date = new Date(); var day = date.getDay(); // 0-воскр. 6-суббота if(day >= 1 && day <= 5) { setState(volumeId,80,function(){ log('Раннее утро 6:59 будний день, установлена громкость '+ getState(volumeId).val +'%'); }); } }); // Утанавливаем в 7:59 только в будни громость 100, в выходные громкость 80 schedule("59 7 * * *", function(){ var date = new Date(); var day = date.getDay(); // 0-воскр. 6-суббота if(day >= 1 && day <= 5) { setState(volumeId,100,function(){ log('Утро 7:59 будний день, установлена громкость '+ getState(volumeId).val +'%'); }); } else { setState(volumeId,80,function(){ log('Утро 7:59 выходной день, установлена громкость '+ getState(volumeId).val +'%'); }); } }); // Утанавливаем в 9:59 только в выходные громость 100 schedule("59 9 * * *", function(){ var date = new Date(); var day = date.getDay(); // 0-воскр. 6-суббота if(day === 0 || day === 6) { setState(volumeId,100,function(){ log('Утро 9:59 выходной день, установлена громкость '+ getState(volumeId).val +'%'); }); } }); // Утанавливаем в 22:59 громость 60 schedule("59 22 * * *", function(){ setState(volumeId,60,function(){ log('Поздний вечер 22:59, установлена громкость '+ getState(volumeId).val +'%'); }); }); !

                            1 Antwort Letzte Antwort
                            0
                            Antworten
                            • In einem neuen Thema antworten
                            Anmelden zum Antworten
                            • Älteste zuerst
                            • Neuste zuerst
                            • Meiste Stimmen


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            758

                            Online

                            32.5k

                            Benutzer

                            81.7k

                            Themen

                            1.3m

                            Beiträge
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Anmelden

                            • Du hast noch kein Konto? Registrieren

                            • Anmelden oder registrieren, um zu suchen
                            • Erster Beitrag
                              Letzter Beitrag
                            0
                            • Home
                            • Aktuell
                            • Tags
                            • Ungelesen 0
                            • Kategorien
                            • Unreplied
                            • Beliebt
                            • GitHub
                            • Docu
                            • Hilfe