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. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Script funktioniert auf ein mal nicht mehr

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

Script funktioniert auf ein mal nicht mehr

Scheduled Pinned Locked Moved Blockly
15 Posts 5 Posters 1.0k Views 2 Watching
  • 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.
  • Dark AngelD Offline
    Dark AngelD Offline
    Dark Angel
    wrote on last edited by
    #1

    Hi Leute,
    habe heute folgendes Problem mit ein Script "bekommen" welches seit 4 Jahre tadellos funktioniert hat:

    b0e180e1-4494-47a7-a38c-9d66ec57f007-grafik.png

    var timeout_ht;
    
    
    // Kurz
    on({ id: 'shelly.0.SHSW-25#40F520006202#1.Relay0.EventCount' /* Event Counter */, change: 'gt' }, async (obj) => {
      let value = obj.state.val;
      let oldValue = obj.oldState.val;
      // Wenn Licht aus
      if (getState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch').val == false) {
        // Schalte für 5 Minuten ein
        if (getState('shelly.0.SHSW-25#40F520006202#1.Relay0.longpush').val == false) {
          setState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch' /* Switch */, true);
          timeout_ht = setTimeout(async () => {
            timeout_ht = null;
            setState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch' /* Switch */, false);
          }, 300000);
        } else {
          setState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch' /* Switch */, true);
          setState('shelly.0.SHSW-25#40F520006202#1.Relay0.longpush' /* Longpush */, false, true);
        }
      } else {
        // Schalte aus
        setState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch' /* Switch */, false);
        (() => { if (timeout_ht) { clearTimeout(timeout_ht); timeout_ht = null; }})();
      }
    });
    
    

    Beim betätigen des Schalters geht das Licht für den Bruchteil einer Sekunde an und wieder aus.
    Umgekehrt, wenn das Licht an ist und ich es ausschalten möchte, geht es für einen Bruchteil einer Sekunde aus und dann wieder an.

    4.1.2025, 21:59:52.603	[info ]: javascript.0 (365) Stopping script script.js.1.Work.Hoflicht_Haustuer
    4.1.2025, 21:59:54.539	[info ]: javascript.0 (365) Start JavaScript script.js.1.Work.Hoflicht_Haustuer (Blockly)
    4.1.2025, 21:59:54.548	[info ]: javascript.0 (365) script.js.1.Work.Hoflicht_Haustuer: subscribe: {"pattern":{"id":"shelly.0.SHSW-25#40F520006202#1.Relay0.EventCount","change":"gt","q":0},"name":"script.js.1.Work.Hoflicht_Haustuer"}
    4.1.2025, 21:59:54.549	[info ]: javascript.0 (365) script.js.1.Work.Hoflicht_Haustuer: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
    4.1.2025, 22:00:58.843	[info ]: javascript.0 (365) script.js.1.Work.Hoflicht_Haustuer: getState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, timerId=undefined) => {"val":false,"ack":true,"ts":1736024435576,"q":0,"from":"system.adapter.shelly.0","user":"system.user.admin","lc":1736024075492}
    4.1.2025, 22:00:58.843	[info ]: javascript.0 (365) script.js.1.Work.Hoflicht_Haustuer: setForeignState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, state={"val":false,"ack":false,"ts":1736024458843,"q":0,"from":"system.adapter.javascript.0","lc":1736024458843,"c":"script.js.1.Work.Hoflicht_Haustuer"})
    

    Gestern habe ich 2-3 Adapter geupdatet. DasWetter, Zigbee und vielleicht noch JavaScript? Es kann aber auch sein, dass ich mir das das mit dem JS Adapter nur einbilde. Bin mir einfach nicht mehr sicher.
    Aufgefallen ist es mir erst Heute, bin mir aber zu 99% sicher, dass es gestern noch ging...

    Hat irgendeiner eine Idee, was da schief gelaufen ist?

    haselchenH paul53P Dr. BakteriusD 3 Replies Last reply
    0
    • Dark AngelD Dark Angel

      Hi Leute,
      habe heute folgendes Problem mit ein Script "bekommen" welches seit 4 Jahre tadellos funktioniert hat:

      b0e180e1-4494-47a7-a38c-9d66ec57f007-grafik.png

      var timeout_ht;
      
      
      // Kurz
      on({ id: 'shelly.0.SHSW-25#40F520006202#1.Relay0.EventCount' /* Event Counter */, change: 'gt' }, async (obj) => {
        let value = obj.state.val;
        let oldValue = obj.oldState.val;
        // Wenn Licht aus
        if (getState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch').val == false) {
          // Schalte für 5 Minuten ein
          if (getState('shelly.0.SHSW-25#40F520006202#1.Relay0.longpush').val == false) {
            setState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch' /* Switch */, true);
            timeout_ht = setTimeout(async () => {
              timeout_ht = null;
              setState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch' /* Switch */, false);
            }, 300000);
          } else {
            setState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch' /* Switch */, true);
            setState('shelly.0.SHSW-25#40F520006202#1.Relay0.longpush' /* Longpush */, false, true);
          }
        } else {
          // Schalte aus
          setState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch' /* Switch */, false);
          (() => { if (timeout_ht) { clearTimeout(timeout_ht); timeout_ht = null; }})();
        }
      });
      
      

      Beim betätigen des Schalters geht das Licht für den Bruchteil einer Sekunde an und wieder aus.
      Umgekehrt, wenn das Licht an ist und ich es ausschalten möchte, geht es für einen Bruchteil einer Sekunde aus und dann wieder an.

      4.1.2025, 21:59:52.603	[info ]: javascript.0 (365) Stopping script script.js.1.Work.Hoflicht_Haustuer
      4.1.2025, 21:59:54.539	[info ]: javascript.0 (365) Start JavaScript script.js.1.Work.Hoflicht_Haustuer (Blockly)
      4.1.2025, 21:59:54.548	[info ]: javascript.0 (365) script.js.1.Work.Hoflicht_Haustuer: subscribe: {"pattern":{"id":"shelly.0.SHSW-25#40F520006202#1.Relay0.EventCount","change":"gt","q":0},"name":"script.js.1.Work.Hoflicht_Haustuer"}
      4.1.2025, 21:59:54.549	[info ]: javascript.0 (365) script.js.1.Work.Hoflicht_Haustuer: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      4.1.2025, 22:00:58.843	[info ]: javascript.0 (365) script.js.1.Work.Hoflicht_Haustuer: getState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, timerId=undefined) => {"val":false,"ack":true,"ts":1736024435576,"q":0,"from":"system.adapter.shelly.0","user":"system.user.admin","lc":1736024075492}
      4.1.2025, 22:00:58.843	[info ]: javascript.0 (365) script.js.1.Work.Hoflicht_Haustuer: setForeignState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, state={"val":false,"ack":false,"ts":1736024458843,"q":0,"from":"system.adapter.javascript.0","lc":1736024458843,"c":"script.js.1.Work.Hoflicht_Haustuer"})
      

      Gestern habe ich 2-3 Adapter geupdatet. DasWetter, Zigbee und vielleicht noch JavaScript? Es kann aber auch sein, dass ich mir das das mit dem JS Adapter nur einbilde. Bin mir einfach nicht mehr sicher.
      Aufgefallen ist es mir erst Heute, bin mir aber zu 99% sicher, dass es gestern noch ging...

      Hat irgendeiner eine Idee, was da schief gelaufen ist?

      haselchenH Offline
      haselchenH Offline
      haselchen
      Most Active
      wrote on last edited by haselchen
      #2

      @dark-angel

      Naja, wenn Du nur kurz drauf drückst, ist es kein Longpush, wie es in Deinem Blockly steht.

      Edit: vielleicht ist es auch bisschen spät und ich bin mit Deinen switch und longpush Bausteinen durcheinander gekommen...

      Bin mir sicher , dass @paul53 schon ne Lösung parat hat :)

      Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

      Dark AngelD 1 Reply Last reply
      0
      • haselchenH haselchen

        @dark-angel

        Naja, wenn Du nur kurz drauf drückst, ist es kein Longpush, wie es in Deinem Blockly steht.

        Edit: vielleicht ist es auch bisschen spät und ich bin mit Deinen switch und longpush Bausteinen durcheinander gekommen...

        Bin mir sicher , dass @paul53 schon ne Lösung parat hat :)

        Dark AngelD Offline
        Dark AngelD Offline
        Dark Angel
        wrote on last edited by
        #3

        @haselchen
        Im Script wird zuerst geprüft, ob das Licht aus ist:
        Wenn JA: ob ein Longpush statt gefunden hat, welcher das Licht einfach nur Dauerhaft einschaltet.
        Wenn kein Longpush, dann Licht einschalten mit einen Timer von 5 Minuten.
        Wenn Nein: Licht ausschalten.

        Wie schon geschrieben, hat das Script bis jetzt über 4 Jahre lang genau so funktioniert, wie es sein sollte.

        1 Reply Last reply
        0
        • Dark AngelD Dark Angel

          Hi Leute,
          habe heute folgendes Problem mit ein Script "bekommen" welches seit 4 Jahre tadellos funktioniert hat:

          b0e180e1-4494-47a7-a38c-9d66ec57f007-grafik.png

          var timeout_ht;
          
          
          // Kurz
          on({ id: 'shelly.0.SHSW-25#40F520006202#1.Relay0.EventCount' /* Event Counter */, change: 'gt' }, async (obj) => {
            let value = obj.state.val;
            let oldValue = obj.oldState.val;
            // Wenn Licht aus
            if (getState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch').val == false) {
              // Schalte für 5 Minuten ein
              if (getState('shelly.0.SHSW-25#40F520006202#1.Relay0.longpush').val == false) {
                setState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch' /* Switch */, true);
                timeout_ht = setTimeout(async () => {
                  timeout_ht = null;
                  setState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch' /* Switch */, false);
                }, 300000);
              } else {
                setState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch' /* Switch */, true);
                setState('shelly.0.SHSW-25#40F520006202#1.Relay0.longpush' /* Longpush */, false, true);
              }
            } else {
              // Schalte aus
              setState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch' /* Switch */, false);
              (() => { if (timeout_ht) { clearTimeout(timeout_ht); timeout_ht = null; }})();
            }
          });
          
          

          Beim betätigen des Schalters geht das Licht für den Bruchteil einer Sekunde an und wieder aus.
          Umgekehrt, wenn das Licht an ist und ich es ausschalten möchte, geht es für einen Bruchteil einer Sekunde aus und dann wieder an.

          4.1.2025, 21:59:52.603	[info ]: javascript.0 (365) Stopping script script.js.1.Work.Hoflicht_Haustuer
          4.1.2025, 21:59:54.539	[info ]: javascript.0 (365) Start JavaScript script.js.1.Work.Hoflicht_Haustuer (Blockly)
          4.1.2025, 21:59:54.548	[info ]: javascript.0 (365) script.js.1.Work.Hoflicht_Haustuer: subscribe: {"pattern":{"id":"shelly.0.SHSW-25#40F520006202#1.Relay0.EventCount","change":"gt","q":0},"name":"script.js.1.Work.Hoflicht_Haustuer"}
          4.1.2025, 21:59:54.549	[info ]: javascript.0 (365) script.js.1.Work.Hoflicht_Haustuer: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
          4.1.2025, 22:00:58.843	[info ]: javascript.0 (365) script.js.1.Work.Hoflicht_Haustuer: getState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, timerId=undefined) => {"val":false,"ack":true,"ts":1736024435576,"q":0,"from":"system.adapter.shelly.0","user":"system.user.admin","lc":1736024075492}
          4.1.2025, 22:00:58.843	[info ]: javascript.0 (365) script.js.1.Work.Hoflicht_Haustuer: setForeignState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, state={"val":false,"ack":false,"ts":1736024458843,"q":0,"from":"system.adapter.javascript.0","lc":1736024458843,"c":"script.js.1.Work.Hoflicht_Haustuer"})
          

          Gestern habe ich 2-3 Adapter geupdatet. DasWetter, Zigbee und vielleicht noch JavaScript? Es kann aber auch sein, dass ich mir das das mit dem JS Adapter nur einbilde. Bin mir einfach nicht mehr sicher.
          Aufgefallen ist es mir erst Heute, bin mir aber zu 99% sicher, dass es gestern noch ging...

          Hat irgendeiner eine Idee, was da schief gelaufen ist?

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #4

          @dark-angel sagte: geht das Licht für den Bruchteil einer Sekunde an und wieder aus.

          Hat sich das Verhalten von "Event Counter" geändert? Logge mal den Wert des Trigger-DP.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          Dark AngelD 1 Reply Last reply
          0
          • paul53P paul53

            @dark-angel sagte: geht das Licht für den Bruchteil einer Sekunde an und wieder aus.

            Hat sich das Verhalten von "Event Counter" geändert? Logge mal den Wert des Trigger-DP.

            Dark AngelD Offline
            Dark AngelD Offline
            Dark Angel
            wrote on last edited by
            #5

            @paul53
            Event_Counter wird jeweils um 1 erhöht bei jedem betätigen des Schalters (Short, oder Longpush)

            paul53P 1 Reply Last reply
            0
            • Dark AngelD Dark Angel

              @paul53
              Event_Counter wird jeweils um 1 erhöht bei jedem betätigen des Schalters (Short, oder Longpush)

              paul53P Offline
              paul53P Offline
              paul53
              wrote on last edited by
              #6

              @dark-angel sagte: Event_Counter wird jeweils um 1 erhöht bei jedem betätigen des Schalters (Short, oder Longpush)

              Dann kann das Skript dieses Verhalten nicht verursachen, denn ohne zusätzlichen Trigger steuert es nichts.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              Dark AngelD 1 Reply Last reply
              0
              • paul53P paul53

                @dark-angel sagte: Event_Counter wird jeweils um 1 erhöht bei jedem betätigen des Schalters (Short, oder Longpush)

                Dann kann das Skript dieses Verhalten nicht verursachen, denn ohne zusätzlichen Trigger steuert es nichts.

                Dark AngelD Offline
                Dark AngelD Offline
                Dark Angel
                wrote on last edited by Dark Angel
                #7

                @paul53
                Wenn ich das Script deaktiviere, kann ich ganz normal das Licht ein und ausschalten.

                Habe vor jeden Schritt einen Debug Block hinzugefügt und bekomme folgende Meldungen in Protokol:
                Wenn ich das Licht einschalten möchte:

                javascript.0
                	2025-01-04 23:20:02.537	info	script.js.1.Work.Hoflicht_Haustuer: Timeout zurück setzen
                javascript.0
                	2025-01-04 23:20:02.537	info	script.js.1.Work.Hoflicht_Haustuer: setForeignState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, state={"val":false,"ack":false,"ts":1736029202537,"q":0,"from":"system.adapter.javascript.0","lc":1736029202537,"c":"script.js.1.Work.Hoflicht_Haustuer"})
                javascript.0
                	2025-01-04 23:20:02.537	info	script.js.1.Work.Hoflicht_Haustuer: Licht Ausschalten
                javascript.0
                	2025-01-04 23:20:02.536	info	script.js.1.Work.Hoflicht_Haustuer: getState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, timerId=undefined) => {"val":false,"ack":true,"ts":1736029183426,"q":0,"from":"system.adapter.shelly.0","user":"system.user.admin","lc":1736029153237}
                

                Und folg. wenn, das Licht an ist und ausgeschaltet werden soll (gefolgt von einen Longpush, was ich wohl hätte weglassen sollen):

                javascript.0
                	2025-01-04 23:27:36.987	info	script.js.1.Work.Hoflicht_Haustuer: setForeignState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.longpush, state={"val":false,"ack":true,"ts":1736029656987,"q":0,"from":"system.adapter.javascript.0","lc":1736029656987,"c":"script.js.1.Work.Hoflicht_Haustuer"})
                javascript.0
                	2025-01-04 23:27:36.987	info	script.js.1.Work.Hoflicht_Haustuer: Longpush auf Falsch setzen
                javascript.0
                	2025-01-04 23:27:36.986	info	script.js.1.Work.Hoflicht_Haustuer: setForeignState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, state={"val":true,"ack":false,"ts":1736029656986,"q":0,"from":"system.adapter.javascript.0","lc":1736029656986,"c":"script.js.1.Work.Hoflicht_Haustuer"})
                javascript.0
                	2025-01-04 23:27:36.986	info	script.js.1.Work.Hoflicht_Haustuer: Licht dauerhaft Einschalten
                javascript.0
                	2025-01-04 23:27:36.986	info	script.js.1.Work.Hoflicht_Haustuer: getState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.longpush, timerId=undefined) => {"val":true,"ack":true,"ts":1736029656985,"q":0,"from":"system.adapter.shelly.0","user":"system.user.admin","lc":1736029656985}
                javascript.0
                	2025-01-04 23:27:36.986	info	script.js.1.Work.Hoflicht_Haustuer: getState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, timerId=undefined) => {"val":true,"ack":true,"ts":1736029654823,"q":0,"from":"system.adapter.shelly.0","user":"system.user.admin","lc":1736029654823}
                javascript.0
                	2025-01-04 23:27:34.698	info	script.js.1.Work.Hoflicht_Haustuer: setTimeout(ms=300000)
                javascript.0
                	2025-01-04 23:27:34.698	info	script.js.1.Work.Hoflicht_Haustuer: timeout 5 Min. starten
                javascript.0
                	2025-01-04 23:27:34.698	info	script.js.1.Work.Hoflicht_Haustuer: setForeignState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, state={"val":true,"ack":false,"ts":1736029654698,"q":0,"from":"system.adapter.javascript.0","lc":1736029654698,"c":"script.js.1.Work.Hoflicht_Haustuer"})
                javascript.0
                	2025-01-04 23:27:34.698	info	script.js.1.Work.Hoflicht_Haustuer: Longpush Falsch
                javascript.0
                	2025-01-04 23:27:34.698	info	script.js.1.Work.Hoflicht_Haustuer: getState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.longpush, timerId=undefined) => {"val":false,"ack":true,"ts":1736029654691,"q":0,"from":"system.adapter.shelly.0","user":"system.user.admin","lc":1736021775717}
                javascript.0
                	2025-01-04 23:27:34.698	info	script.js.1.Work.Hoflicht_Haustuer: getState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, timerId=undefined) => {"val":true,"ack":true,"ts":1736029645021,"q":0,"from":"system.adapter.shelly.0","user":"system.user.admin","lc":1736029614830}
                
                1 Reply Last reply
                0
                • Dark AngelD Dark Angel

                  Hi Leute,
                  habe heute folgendes Problem mit ein Script "bekommen" welches seit 4 Jahre tadellos funktioniert hat:

                  b0e180e1-4494-47a7-a38c-9d66ec57f007-grafik.png

                  var timeout_ht;
                  
                  
                  // Kurz
                  on({ id: 'shelly.0.SHSW-25#40F520006202#1.Relay0.EventCount' /* Event Counter */, change: 'gt' }, async (obj) => {
                    let value = obj.state.val;
                    let oldValue = obj.oldState.val;
                    // Wenn Licht aus
                    if (getState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch').val == false) {
                      // Schalte für 5 Minuten ein
                      if (getState('shelly.0.SHSW-25#40F520006202#1.Relay0.longpush').val == false) {
                        setState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch' /* Switch */, true);
                        timeout_ht = setTimeout(async () => {
                          timeout_ht = null;
                          setState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch' /* Switch */, false);
                        }, 300000);
                      } else {
                        setState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch' /* Switch */, true);
                        setState('shelly.0.SHSW-25#40F520006202#1.Relay0.longpush' /* Longpush */, false, true);
                      }
                    } else {
                      // Schalte aus
                      setState('shelly.0.SHSW-25#40F520006202#1.Relay0.Switch' /* Switch */, false);
                      (() => { if (timeout_ht) { clearTimeout(timeout_ht); timeout_ht = null; }})();
                    }
                  });
                  
                  

                  Beim betätigen des Schalters geht das Licht für den Bruchteil einer Sekunde an und wieder aus.
                  Umgekehrt, wenn das Licht an ist und ich es ausschalten möchte, geht es für einen Bruchteil einer Sekunde aus und dann wieder an.

                  4.1.2025, 21:59:52.603	[info ]: javascript.0 (365) Stopping script script.js.1.Work.Hoflicht_Haustuer
                  4.1.2025, 21:59:54.539	[info ]: javascript.0 (365) Start JavaScript script.js.1.Work.Hoflicht_Haustuer (Blockly)
                  4.1.2025, 21:59:54.548	[info ]: javascript.0 (365) script.js.1.Work.Hoflicht_Haustuer: subscribe: {"pattern":{"id":"shelly.0.SHSW-25#40F520006202#1.Relay0.EventCount","change":"gt","q":0},"name":"script.js.1.Work.Hoflicht_Haustuer"}
                  4.1.2025, 21:59:54.549	[info ]: javascript.0 (365) script.js.1.Work.Hoflicht_Haustuer: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                  4.1.2025, 22:00:58.843	[info ]: javascript.0 (365) script.js.1.Work.Hoflicht_Haustuer: getState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, timerId=undefined) => {"val":false,"ack":true,"ts":1736024435576,"q":0,"from":"system.adapter.shelly.0","user":"system.user.admin","lc":1736024075492}
                  4.1.2025, 22:00:58.843	[info ]: javascript.0 (365) script.js.1.Work.Hoflicht_Haustuer: setForeignState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, state={"val":false,"ack":false,"ts":1736024458843,"q":0,"from":"system.adapter.javascript.0","lc":1736024458843,"c":"script.js.1.Work.Hoflicht_Haustuer"})
                  

                  Gestern habe ich 2-3 Adapter geupdatet. DasWetter, Zigbee und vielleicht noch JavaScript? Es kann aber auch sein, dass ich mir das das mit dem JS Adapter nur einbilde. Bin mir einfach nicht mehr sicher.
                  Aufgefallen ist es mir erst Heute, bin mir aber zu 99% sicher, dass es gestern noch ging...

                  Hat irgendeiner eine Idee, was da schief gelaufen ist?

                  Dr. BakteriusD Offline
                  Dr. BakteriusD Offline
                  Dr. Bakterius
                  Most Active
                  wrote on last edited by Dr. Bakterius
                  #8

                  @dark-angel Versuche doch mal auf shelly.0.SHSW-25#40F520006202#1.Relay0.Input zu triggern. Da bekommst du gleich true bzw. false (also ein / aus) geliefert und musst nur noch den longpush auswerten.

                  In deinem Log hast du den TP EventCount nicht mitgelogt. Vielleicht zählt der aus irgendeinem Grund jetzt doppelt.

                  Dark AngelD 1 Reply Last reply
                  0
                  • Dr. BakteriusD Dr. Bakterius

                    @dark-angel Versuche doch mal auf shelly.0.SHSW-25#40F520006202#1.Relay0.Input zu triggern. Da bekommst du gleich true bzw. false (also ein / aus) geliefert und musst nur noch den longpush auswerten.

                    In deinem Log hast du den TP EventCount nicht mitgelogt. Vielleicht zählt der aus irgendeinem Grund jetzt doppelt.

                    Dark AngelD Offline
                    Dark AngelD Offline
                    Dark Angel
                    wrote on last edited by Dark Angel
                    #9

                    @dr-bakterius
                    Input quitiert so wie es aussieht nur, ob Relais ausgelöst wurde.
                    Springt kurz auf true und dann gleich wieder auf false.

                    Ich habe irgendwie das Gefühl, bis das Script so weit ist herauszufinden wie der Wert von Switch ist, wird dieser schon auf true gesetzt...

                    Hab jetzt einen Debug direkt am Anfang des Scriptes (gleich nach der Auswertung, ob der Zähler verändert wurde) hinzugefügt und bekomme folgende Meldung, die mich zu der o.g. Annahme führt:

                    2025-01-05 11:18:09.672 - info: javascript.0 (90982) script.js.1.Work.Hoflicht_Haustuer: getState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, timerId=undefined) => {"val":false,"ack":true,"ts":1736072271300,"q":0,"from":"system.adapter.shelly.0","user":"system.user.admin","lc":1736071597275}
                    2025-01-05 11:18:09.673 - info: javascript.0 (90982) script.js.1.Work.Hoflicht_Haustuer: true
                    2025-01-05 11:18:09.673 - info: javascript.0 (90982) script.js.1.Work.Hoflicht_Haustuer: getState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, timerId=undefined) => {"val":false,"ack":true,"ts":1736072271300,"q":0,"from":"system.adapter.shelly.0","user":"system.user.admin","lc":1736071597275}
                    2025-01-05 11:18:09.673 - info: javascript.0 (90982) script.js.1.Work.Hoflicht_Haustuer: Licht Ausschalten
                    2025-01-05 11:18:09.673 - info: javascript.0 (90982) script.js.1.Work.Hoflicht_Haustuer: setForeignState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, state={"val":false,"ack":false,"ts":1736072289673,"q":0,"from":"system.adapter.javascript.0","lc":1736072289673,"c":"script.js.1.Work.Hoflicht_Haustuer"})
                    2025-01-05 11:18:09.673 - info: javascript.0 (90982) script.js.1.Work.Hoflicht_Haustuer: Timeout zurück setzen
                    
                    Dr. BakteriusD 1 Reply Last reply
                    0
                    • Dark AngelD Offline
                      Dark AngelD Offline
                      Dark Angel
                      wrote on last edited by
                      #10

                      Also, langsam habe ich die Vermutung, dass der Shelly selbst ein Problem hat.
                      Wenn ich den Button Type auf "momentary" setze, funktioniert das Script fast richtig.
                      Setze ich ihn auf "momentary_on _release", dann spinnt alles.

                      "Fast richtig" bedeutet: Bei Longpush und beim Ausschalten gibt es eine kurze Wiederholung des Zustandes.
                      Bei Longpush geht das Licht an, kurz aus und dann wieder an und bleibt dann dauerhaft an.
                      Beim Ausschalten gehts kutz aus, dann wieder kurz an und dann wieder aus und bleibt auch aus.

                      Ich vermute, der "Zusatz" on_release funktioniert bei dem Shelly nicht mehr und der sendet den Switch-Status schon beim drücken des Tasters und nicht erst beim loslassen.

                      1 Reply Last reply
                      0
                      • Dark AngelD Dark Angel

                        @dr-bakterius
                        Input quitiert so wie es aussieht nur, ob Relais ausgelöst wurde.
                        Springt kurz auf true und dann gleich wieder auf false.

                        Ich habe irgendwie das Gefühl, bis das Script so weit ist herauszufinden wie der Wert von Switch ist, wird dieser schon auf true gesetzt...

                        Hab jetzt einen Debug direkt am Anfang des Scriptes (gleich nach der Auswertung, ob der Zähler verändert wurde) hinzugefügt und bekomme folgende Meldung, die mich zu der o.g. Annahme führt:

                        2025-01-05 11:18:09.672 - info: javascript.0 (90982) script.js.1.Work.Hoflicht_Haustuer: getState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, timerId=undefined) => {"val":false,"ack":true,"ts":1736072271300,"q":0,"from":"system.adapter.shelly.0","user":"system.user.admin","lc":1736071597275}
                        2025-01-05 11:18:09.673 - info: javascript.0 (90982) script.js.1.Work.Hoflicht_Haustuer: true
                        2025-01-05 11:18:09.673 - info: javascript.0 (90982) script.js.1.Work.Hoflicht_Haustuer: getState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, timerId=undefined) => {"val":false,"ack":true,"ts":1736072271300,"q":0,"from":"system.adapter.shelly.0","user":"system.user.admin","lc":1736071597275}
                        2025-01-05 11:18:09.673 - info: javascript.0 (90982) script.js.1.Work.Hoflicht_Haustuer: Licht Ausschalten
                        2025-01-05 11:18:09.673 - info: javascript.0 (90982) script.js.1.Work.Hoflicht_Haustuer: setForeignState(id=shelly.0.SHSW-25#40F520006202#1.Relay0.Switch, state={"val":false,"ack":false,"ts":1736072289673,"q":0,"from":"system.adapter.javascript.0","lc":1736072289673,"c":"script.js.1.Work.Hoflicht_Haustuer"})
                        2025-01-05 11:18:09.673 - info: javascript.0 (90982) script.js.1.Work.Hoflicht_Haustuer: Timeout zurück setzen
                        
                        Dr. BakteriusD Offline
                        Dr. BakteriusD Offline
                        Dr. Bakterius
                        Most Active
                        wrote on last edited by
                        #11

                        @dark-angel sagte in Script funktioniert auf ein mal nicht mehr:

                        Input quitiert so wie es aussieht nur, ob Relais ausgelöst wurde.

                        Nein, Input ist der Taster / Schalter Eingang und Switch ist das Relais.

                        Es könnte auch am Taster liegen. Möglicherweise prellt der?

                        Dark AngelD 1 Reply Last reply
                        0
                        • Dr. BakteriusD Dr. Bakterius

                          @dark-angel sagte in Script funktioniert auf ein mal nicht mehr:

                          Input quitiert so wie es aussieht nur, ob Relais ausgelöst wurde.

                          Nein, Input ist der Taster / Schalter Eingang und Switch ist das Relais.

                          Es könnte auch am Taster liegen. Möglicherweise prellt der?

                          Dark AngelD Offline
                          Dark AngelD Offline
                          Dark Angel
                          wrote on last edited by
                          #12

                          @dr-bakterius :
                          Also, am Taster lag es auch nicht. Hab den getauscht, hat aber nichts gebracht.
                          Nun habe ich einen Shelly Plus 2PM und sehe jetzt was Du gemeint hast ("Input ist der Taster / Schalter Eingang und Switch ist das Relais.")
                          Das ist tatsächlich so, aber erst in der Gen.2 der Shellys. In der ersten Generation, zu der auch der Shelly 2.5 gehört ist es so wie ich es schon weiter oben beschrieben habe.
                          Der 2PM wird höchstwahrscheinlich aber auch nicht zum Einsatz kommen, da ich noch keine Möglichkeit finde, mein Vorhaben so umzusetzen, wie es bei dem 2.5 war.
                          Ich habe keinen Counter, den ich triggern kann, Die Input Meldungen sind so was von unübersichtlich...
                          Da muss ich wahrscheinlich erstmal drüber schlafen und mir was neues überlegen.
                          Die Logic bei der Gen.2 ist irgendwie ganz anders :angry:

                          K Dr. BakteriusD 2 Replies Last reply
                          0
                          • Dark AngelD Dark Angel

                            @dr-bakterius :
                            Also, am Taster lag es auch nicht. Hab den getauscht, hat aber nichts gebracht.
                            Nun habe ich einen Shelly Plus 2PM und sehe jetzt was Du gemeint hast ("Input ist der Taster / Schalter Eingang und Switch ist das Relais.")
                            Das ist tatsächlich so, aber erst in der Gen.2 der Shellys. In der ersten Generation, zu der auch der Shelly 2.5 gehört ist es so wie ich es schon weiter oben beschrieben habe.
                            Der 2PM wird höchstwahrscheinlich aber auch nicht zum Einsatz kommen, da ich noch keine Möglichkeit finde, mein Vorhaben so umzusetzen, wie es bei dem 2.5 war.
                            Ich habe keinen Counter, den ich triggern kann, Die Input Meldungen sind so was von unübersichtlich...
                            Da muss ich wahrscheinlich erstmal drüber schlafen und mir was neues überlegen.
                            Die Logic bei der Gen.2 ist irgendwie ganz anders :angry:

                            K Offline
                            K Offline
                            Kusi
                            wrote on last edited by Kusi
                            #13

                            @dark-angel Ich nutze hierfür folgendes Blockly...
                            Bei mir sind es 4 Taster, welche vom Shelly beim Drücken erfasst werden. Das Relays bleibt bei mir immer eingeschaltet.

                            e7d829df-5e84-4c8b-9a9e-98cfd868cc2e-image.png

                            Dies ist der Datenpunkt, welcher Triggert:
                            shelly.0.SHSW-1#E098068CDD69#1.Relay0.Input

                            Das Shelly ist wie folgt konfiguriert (Shelly 1, 1. Generation):
                            c0be88aa-e21b-47de-9e1e-e987a0997b93-image.png

                            Verstehe ich richtig, dass du mit deinem Shelly nur den Taster/Schalter auswertest, analog bei mir?
                            Wenn ja, handelt es sich um einen Taster oder Schalter?

                            1 Reply Last reply
                            0
                            • Dark AngelD Dark Angel

                              @dr-bakterius :
                              Also, am Taster lag es auch nicht. Hab den getauscht, hat aber nichts gebracht.
                              Nun habe ich einen Shelly Plus 2PM und sehe jetzt was Du gemeint hast ("Input ist der Taster / Schalter Eingang und Switch ist das Relais.")
                              Das ist tatsächlich so, aber erst in der Gen.2 der Shellys. In der ersten Generation, zu der auch der Shelly 2.5 gehört ist es so wie ich es schon weiter oben beschrieben habe.
                              Der 2PM wird höchstwahrscheinlich aber auch nicht zum Einsatz kommen, da ich noch keine Möglichkeit finde, mein Vorhaben so umzusetzen, wie es bei dem 2.5 war.
                              Ich habe keinen Counter, den ich triggern kann, Die Input Meldungen sind so was von unübersichtlich...
                              Da muss ich wahrscheinlich erstmal drüber schlafen und mir was neues überlegen.
                              Die Logic bei der Gen.2 ist irgendwie ganz anders :angry:

                              Dr. BakteriusD Offline
                              Dr. BakteriusD Offline
                              Dr. Bakterius
                              Most Active
                              wrote on last edited by Dr. Bakterius
                              #14

                              @dark-angel sagte in Script funktioniert auf ein mal nicht mehr:

                              Das ist tatsächlich so, aber erst in der Gen.2 der Shellys.

                              Da ich nur Shelly 1 habe, weiß ich nicht wie das bei den anderen ist. Allerdings sind die 1er doch die ältesten. Daher wundert es mich, dass das bei den Shelly 2.5 anders sein soll.

                              Dark AngelD 1 Reply Last reply
                              0
                              • Dr. BakteriusD Dr. Bakterius

                                @dark-angel sagte in Script funktioniert auf ein mal nicht mehr:

                                Das ist tatsächlich so, aber erst in der Gen.2 der Shellys.

                                Da ich nur Shelly 1 habe, weiß ich nicht wie das bei den anderen ist. Allerdings sind die 1er doch die ältesten. Daher wundert es mich, dass das bei den Shelly 2.5 anders sein soll.

                                Dark AngelD Offline
                                Dark AngelD Offline
                                Dark Angel
                                wrote on last edited by
                                #15

                                @dr-bakterius
                                Ich habe "detached" mit Absicht nicht gewählt, denn das Licht sollte auch dann Ein-/Ausgeschaltet werden können, wenn keine Verbindung zu ioBroker bestehen sollte. Das "Problem" habe ich mit dem NS Panel von Sonoff im Wohnzimmer.
                                Solange keine Verbindung zu ioBroker besteht sitze ich völlig im dunkeln, wenn ich nicht vorher das Licht eingeschaltet hatte.
                                Als ich das damals eingerichtet hatte, war "momentary" praktisch DIE Einstellung, wenn man einen Taster verwendet.
                                momentary_on_release verhindert, dass ein toggle ausgelöst wird, bevor man den Taster loslässt. Bei mir unbedingt erforderlich um den Longpush auswerten zu können.

                                Bei dem Gen.2 Shellys (habe einen Shelly 1 Gen.2 und jetzt noch den Shelly 2PM Gen.2) gibt es keinen EventCount und kein Longpush, womit mein Script praktisch unbrauchbar geworden ist, solange man kein Gen.1 Gerät damit steuert/auswertet.

                                1 Reply Last reply
                                0
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                578

                                Online

                                32.4k

                                Users

                                81.5k

                                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