Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    1.7k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    712

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

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

Geplant Angeheftet Gesperrt Verschoben ioBroker скрипты
16 Beiträge 4 Kommentatoren 4.5k 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

                                  Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                  Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                  Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                  Registrieren Anmelden
                                  Antworten
                                  • In einem neuen Thema antworten
                                  Anmelden zum Antworten
                                  • Älteste zuerst
                                  • Neuste zuerst
                                  • Meiste Stimmen


                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  449

                                  Online

                                  32.9k

                                  Benutzer

                                  83.0k

                                  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