Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. Скрипты
    5. ioBroker скрипты
    6. Почему скрипты "засыпают"?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

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

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

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

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

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

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

        @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);
        }
        });

        1 Reply Last reply Reply Quote 0
        • K
          kozlov_ao last edited by

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

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

          и

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

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

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

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

            @kozlov_ao:

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

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

            и

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

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

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

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

              @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 Reply Last reply Reply Quote 0
              • I
                instalator last edited by

                @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) {});

                Будет уже обрабатывать несколько устройств. `  это а виз только работает?
                1 Reply Last reply Reply Quote 0
                • Bluefox
                  Bluefox last edited by

                  @instalator:

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

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

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

                    @Bluefox:

                    @instalator:

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

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

                    1 Reply Last reply Reply Quote 0
                    • K
                      kozlov_ao last edited by

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

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

                      Было 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 Reply Last reply Reply Quote 0
                      • H
                        Ho Hum last edited by

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

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

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

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

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        740
                        Online

                        31.8k
                        Users

                        80.0k
                        Topics

                        1.3m
                        Posts

                        4
                        16
                        3856
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo