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

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Почему скрипты "засыпают"?

Geplant Angeheftet Gesperrt Verschoben ioBroker скрипты
16 Beiträge 4 Kommentatoren 4.3k 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.
  • H Offline
    H Offline
    Ho Hum
    schrieb am zuletzt editiert von
    #1

    Уменя наблюдается странная ситуация - скрипты реакции на клавиши включения света "засыпают".

    Управление светом реализовано через Мегу. Если долго не был в доме, при нажатиина кнопку видно, что на Меге лампочка мигнула, но свет включается с большой задержкой, от 30 сек до минуты. После этого уже включение/выключение работает нормально, но только для этой клавиши. Первое нажатие на другую клавишу опять отрабатывает с задержкой.

    Другие скрипты, работающие по расписанию, работают нормально.

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

    Пример скрипта:

    var Button = "megad.7.p0_S-3";
    var Light  = "megad.7.p7_L-3";
    
    on(Button, function (obj) {
        if (obj.newState.val === true && getState(Light).val === false) {
            setState (Light, true);
            log('Включено');
        }else if(obj.newState.val === true && getState(Light).val === true){
            setState (Light, false);
            log('Выключено');
        }
    });
    
    
    1 Antwort Letzte Antwort
    0
    • I Offline
      I Offline
      instalator
      schrieb am zuletzt editiert von
      #2

      @Ho Hum:

      Уменя наблюдается странная ситуация - скрипты реакции на клавиши включения света "засыпают".

      Управление светом реализовано через Мегу. Если долго не был в доме, при нажатиина кнопку видно, что на Меге лампочка мигнула, но свет включается с большой задержкой, от 30 сек до минуты. После этого уже включение/выключение работает нормально, но только для этой клавиши. Первое нажатие на другую клавишу опять отрабатывает с задержкой.

      Другие скрипты, работающие по расписанию, работают нормально.

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

      Пример скрипта:

      var Button = "megad.7.p0_S-3";
      var Light  = "megad.7.p7_L-3";
      
      on(Button, function (obj) {
          if (obj.newState.val === true && getState(Light).val === false) {
              setState (Light, true);
              log('Включено');
          }else if(obj.newState.val === true && getState(Light).val === true){
              setState (Light, false);
              log('Выключено');
          }
      });
      
      ```` `  
      

      Наврятли это проблема скрипта.

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

      http://blog.instalator.ru/

      1 Antwort Letzte Antwort
      0
      • BluefoxB Offline
        BluefoxB Offline
        Bluefox
        schrieb am zuletzt editiert von
        #3

        @Ho Hum:

        Уменя наблюдается странная ситуация - скрипты реакции на клавиши включения света "засыпают".

        Управление светом реализовано через Мегу. Если долго не был в доме, при нажатиина кнопку видно, что на Меге лампочка мигнула, но свет включается с большой задержкой, от 30 сек до минуты. После этого уже включение/выключение работает нормально, но только для этой клавиши. Первое нажатие на другую клавишу опять отрабатывает с задержкой.

        Другие скрипты, работающие по расписанию, работают нормально.

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

        Пример скрипта:

        var Button = "megad.7.p0_S-3";
        var Light  = "megad.7.p7_L-3";
        
        on(Button, function (obj) {
            if (obj.newState.val === true && getState(Light).val === false) {
                setState (Light, true);
                log('Включено');
            }else if(obj.newState.val === true && getState(Light).val === true){
                setState (Light, false);
                log('Выключено');
            }
        });
        
        ```` `  
        

        А что видно в логе при нажатии?

        1 Antwort Letzte Antwort
        0
        • H Offline
          H Offline
          Ho Hum
          schrieb am zuletzt editiert von
          #4

          Я тоже думаю, что это не проблема скрипта.

          В логе после задержки появляется сообщение из скрипта и стандартная запись о том, что была попытка изменить состояние объекта.

          Как я понимаю, каждый скрипт - это отдельный процесс. И, как мне кажется, долго неактивные процессы засыпают.

          Это делает либо ioBroker, либо операционка…

          1 Antwort Letzte Antwort
          0
          • K Offline
            K Offline
            kozlov_ao
            schrieb am zuletzt editiert von
            #5

            У меня аналогичная ситуация. В качестве железа - MegaD, скрипт - JS.

            Что нужно, что бы отследить проблему?

            1 Antwort Letzte Antwort
            0
            • I Offline
              I Offline
              instalator
              schrieb am zuletzt editiert von
              #6

              @Ho Hum:

              Я тоже думаю, что это не проблема скрипта.

              В логе после задержки появляется сообщение из скрипта и стандартная запись о том, что была попытка изменить состояние объекта.

              Как я понимаю, каждый скрипт - это отдельный процесс. И, как мне кажется, долго неактивные процессы засыпают.

              Это делает либо ioBroker, либо операционка… `
              Ни у кого не засыпают….

              Ну хотелось бы видеть собственно сам скрипт.

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

              http://blog.instalator.ru/

              1 Antwort Letzte Antwort
              0
              • K Offline
                K Offline
                kozlov_ao
                schrieb am zuletzt editiert von
                #7

                "Засыпает" собственно вот этот огрызок:

                // Реакция на нажатия выключателей
                $('megad.*_кнопка').on(function (e) {
                    if (e.newState.val === true){
                        var port = getIdByName(e.common.name.split('_')[0]);
                
                        setState(port, !getState(port).val);
                    }
                });
                

                При этом действия, выполняемые по крону - работают нормально (в этом же скрипте)

                1 Antwort Letzte Antwort
                0
                • I Offline
                  I Offline
                  instalator
                  schrieb am zuletzt editiert von
                  #8

                  @kozlov_ao:

                  "Засыпает" собственно вот этот огрызок:

                  // Реакция на нажатия выключателей
                  $('megad.*_кнопка').on(function (e) {
                      if (e.newState.val === true){
                          var port = getIdByName(e.common.name.split('_')[0]);
                          
                          setState(port, !getState(port).val);
                      }
                  });
                  

                  При этом действия, выполняемые по крону - работают нормально (в этом же скрипте) `
                  Давай тестить, в лог пишет при изменениях?

                  ! ````
                  on({id: 'megad._кнопка', change: 'any'}, function (obj) {
                  log('megad.
                  кнопка.val = ' + obj.newState.val);
                  if (obj.newState.val === true || obj.newState.val === 'true'){
                  var port = getIdByName(obj.common.name.split('
                  ')[0]);
                  log('var port = ' + port);
                  setState(port, !getState(port).val);
                  }
                  });

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

                  http://blog.instalator.ru/

                  1 Antwort Letzte Antwort
                  0
                  • K Offline
                    K Offline
                    kozlov_ao
                    schrieb am zuletzt editiert von
                    #9

                    Есть ли принципиальная разница для эксперимента между

                    $('megad.*_кнопка').on(function (e) {});
                    

                    и

                    on({id: 'megad.*_кнопка', change: 'any'}, function (obj) {});
                    

                    Спрашиваю, потому что со вторым вариантом - подписка на события не произошла…

                    Несколько изменил свой кусок.. посмотрю что будет происодить.

                    1 Antwort Letzte Antwort
                    0
                    • I Offline
                      I Offline
                      instalator
                      schrieb am zuletzt editiert von
                      #10

                      @kozlov_ao:

                      Есть ли принципиальная разница для эксперимента между

                      $('megad.*_кнопка').on(function (e) {});
                      

                      и

                      on({id: 'megad.*_кнопка', change: 'any'}, function (obj) {});
                      

                      Спрашиваю, потому что со вторым вариантом - подписка на события не произошла…

                      Несколько изменил свой кусок.. посмотрю что будет происодить. `
                      А это где? $('megad.*_кнопка'. Это в jquery чтоли? В визе?

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

                      http://blog.instalator.ru/

                      1 Antwort Letzte Antwort
                      0
                      • BluefoxB Offline
                        BluefoxB Offline
                        Bluefox
                        schrieb am zuletzt editiert von
                        #11

                        @kozlov_ao:

                        Есть ли принципиальная разница для эксперимента между

                        $('megad.*_кнопка').on(function (e) {});
                        

                        и

                        on({id: 'megad.*_кнопка', change: 'any'}, function (obj) {});
                        

                        Спрашиваю, потому что со вторым вариантом - подписка на события не произошла…

                        Несколько изменил свой кусок.. посмотрю что будет происодить. `

                        $('megad.*_кнопка')
                        ````изначально заточен на то, что бы поддерживать несколько устройств.
                        
                        

                        on({id: 'megad.*_кнопка', change: 'any'}, function (obj) {});

                        Может обслуживать только одно устройство и ожидает точное имя.
                        
                        

                        on({id: /^megad..*_кнопка$/, change: 'any'}, function (obj) {});

                        Будет уже обрабатывать несколько устройств.
                        1 Antwort Letzte Antwort
                        0
                        • I Offline
                          I Offline
                          instalator
                          schrieb am zuletzt editiert von
                          #12

                          @Bluefox:

                          @kozlov_ao:

                          Есть ли принципиальная разница для эксперимента между

                          $('megad.*_кнопка').on(function (e) {});
                          

                          и

                          on({id: 'megad.*_кнопка', change: 'any'}, function (obj) {});
                          

                          Спрашиваю, потому что со вторым вариантом - подписка на события не произошла…

                          Несколько изменил свой кусок.. посмотрю что будет происодить. `

                          $('megad.*_кнопка')
                          ````изначально заточен на то, что бы поддерживать несколько устройств.
                          
                          

                          on({id: 'megad.*_кнопка', change: 'any'}, function (obj) {});

                          Может обслуживать только одно устройство и ожидает точное имя.
                          
                          

                          on({id: /^megad..*_кнопка$/, change: 'any'}, function (obj) {});

                          Будет уже обрабатывать несколько устройств. `  это а виз только работает?

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

                          http://blog.instalator.ru/

                          1 Antwort Letzte Antwort
                          0
                          • BluefoxB Offline
                            BluefoxB Offline
                            Bluefox
                            schrieb am zuletzt editiert von
                            #13

                            @instalator:

                            это а виз только работает? `
                            Речь идёт о javascript драйвере.

                            https://github.com/ioBroker/ioBroker.ja ... --selector

                            1 Antwort Letzte Antwort
                            0
                            • I Offline
                              I Offline
                              instalator
                              schrieb am zuletzt editiert von
                              #14

                              @Bluefox:

                              @instalator:

                              это а виз только работает? `
                              Речь идёт о javascript драйвере.

                              https://github.com/ioBroker/ioBroker.ja ... --selector `
                              Чо то я сразу не догнал когда с телефона читал, лучше молчать буду)

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

                              http://blog.instalator.ru/

                              1 Antwort Letzte Antwort
                              0
                              • K Offline
                                K Offline
                                kozlov_ao
                                schrieb am zuletzt editiert von
                                #15

                                > лучше молчать буду)
                                ненене ))

                                В общем снова проглючило.

                                Было 2 нажатия.. зарегистрировалось только одно и то с задержкой:

                                javascript.0	2016-12-15 12:05:15.771	info	script.js.common.LightControl: megad.1.p0_Свет:_Кладовка_кнопка=false
                                megad.1	2016-12-15 12:05:15.684	info	try to control megad.1.p7_Свет:_Кладовка with true
                                javascript.0	2016-12-15 12:05:15.680	info	script.js.common.LightControl: var port = megad.1.p7_Свет:_Кладовка
                                javascript.0	2016-12-15 12:05:15.674	info	script.js.common.LightControl: megad.1.p0_Свет:_Кладовка_кнопка=true
                                

                                Хоть дамп трафика снимай :(

                                Вот думаю, не глючит ли мега…. хотя они все из одной партии. 3 нормально работают, а эта вот...

                                Интересно, у ТС решилась ли проблема?

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

                                  К сожалению, у меня проблема так и не решилась.

                                  Я настраиваю систему в загородном доме, находящемся в процессе практически замороженной отделки, поэтому приезжаю туда не каждую неделю и не надолго…

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

                                  При этом по таймеру другие функции работают нормально.

                                  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

                                  703

                                  Online

                                  32.6k

                                  Benutzer

                                  82.2k

                                  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