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. 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.9k

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

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

Script funktioniert auf ein mal nicht mehr

Geplant Angeheftet Gesperrt Verschoben Blockly
15 Beiträge 5 Kommentatoren 1.0k Aufrufe 2 Watching
  • Ä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.
  • Dark AngelD Offline
    Dark AngelD Offline
    Dark Angel
    schrieb am zuletzt editiert von
    #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 Antworten Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #5

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

            paul53P 1 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                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 Online
                  Dr. BakteriusD Online
                  Dr. Bakterius
                  Most Active
                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                    0
                    • Dark AngelD Offline
                      Dark AngelD Offline
                      Dark Angel
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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 Online
                        Dr. BakteriusD Online
                        Dr. Bakterius
                        Most Active
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antworten Letzte Antwort
                          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
                            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                            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 Online
                              Dr. BakteriusD Online
                              Dr. Bakterius
                              Most Active
                              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 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

                                799

                                Online

                                32.4k

                                Benutzer

                                81.6k

                                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