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

  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Treppenlicht: Timer + Dauerlicht?

NEWS

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

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

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

Treppenlicht: Timer + Dauerlicht?

Geplant Angeheftet Gesperrt Verschoben Hardware
shelly
27 Beiträge 6 Kommentatoren 3.9k Aufrufe 4 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
    #6

    Danke euch vielmals.
    Habe mir jetzt 1x Shelly 1 One und 1x Shelly 2.5 bestellt. Sobald sie da sind werde ich mich um die Programmierung kümmer, die wie es ausschaut nun doch um einiges einfacher ist, als ich ursprünglich angenommen habe.
    Laut meine Recherche funktioniert die original FW genau so gut wie die Tasmota FW und beide lassen sich problemlos im ioBroker einbinden. Werde sie mal in beide Varianten testen, sofern es ein "zurück" zu original FW gibt, falls mit die Tasmota FW doch nicht zusagen sollte.

    da_WoodyD 1 Antwort Letzte Antwort
    0
    • Dark AngelD Dark Angel

      Danke euch vielmals.
      Habe mir jetzt 1x Shelly 1 One und 1x Shelly 2.5 bestellt. Sobald sie da sind werde ich mich um die Programmierung kümmer, die wie es ausschaut nun doch um einiges einfacher ist, als ich ursprünglich angenommen habe.
      Laut meine Recherche funktioniert die original FW genau so gut wie die Tasmota FW und beide lassen sich problemlos im ioBroker einbinden. Werde sie mal in beide Varianten testen, sofern es ein "zurück" zu original FW gibt, falls mit die Tasmota FW doch nicht zusagen sollte.

      da_WoodyD Offline
      da_WoodyD Offline
      da_Woody
      schrieb am zuletzt editiert von
      #7

      @Dark-Angel deine recherche ist richtig. der vorteil der original FW ist halt, falls dir der ioBroker abschmiert, hast du immer noch die App um deine shellys zu steuern als backup. und mit tasmota hast du sicher weniger möglichkeiten.

      gruß vom Woody
      HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

      1 Antwort Letzte Antwort
      1
      • Dark AngelD Offline
        Dark AngelD Offline
        Dark Angel
        schrieb am zuletzt editiert von
        #8

        Nun... Shelly 1 ist programmiert und eingebaut und wollte ein etwas anderes Szenario ausprobieren: ShortPress - LED Leiste ein/aus schalten; LongPress - Küchenlicht (DS-102 Schalter) ein/aus schalten...
        Leider funktioniert es nicht wirklich zuversichtlich und ich bin mir nicht mal sicher, ob es am Script liegt, oder viel eher an dem Shelly.
        Habe folg. Blockly Script "auf die Schnelle" gebaut und bin mir auch ziemlich sicher, dass er richtig funktioniert. Solange ich unter Objekte den Longpress Status manuell auf true setze macht er auch genau das was er machen soll: Das Licht in der Küche wird je nach aktuellen Status dieser umgeschalten und der LongPress Status wird wieder auf false gesetzt.

        211ba110-f303-4e09-bdd4-06917f30032c-grafik.png
        Sobald ich es allerdings am Schalter versuche durchzuspielen, passieren die wildesten Schaltungen:
        Licht in der Küche wird umgeschalten, gleich danach wieder ausgeschalten.
        Beim weiteren Versuch, wird sie zwar umgeschalten, dafür geht aber die LED Leiste (die eigentlich nur bei ShortPress umgeschalten werden sollte) wird umgeschlaten.
        Im ioBroker Log sieht der Schaltvorgang dann so aus:

        javascript.0	2020-12-20 21:34:12.065	info	(1241) script.js.common.Shelly_Kueche: setForeignState(id=shelly.0.SHSW-1#40F5200028B6#1.Relay0.longpush, state={"val":false,"ack":true})
        javascript.0	2020-12-20 21:34:09.567	info	(1241) script.js.common.Shelly_Kueche: setForeignState(id=sonoff.0.Licht_Kueche.POWER, state={"val":false,"ack":false})
        javascript.0	2020-12-20 21:34:09.066	info	(1241) script.js.common.Shelly_Kueche: setStateDelayed: no running timers
        javascript.0	2020-12-20 21:34:09.065	info	(1241) script.js.common.Shelly_Kueche: setStateDelayed(id=sonoff.0.Licht_Kueche.POWER, state=false, isAck=false, delay=500, clearRunning=true)
        javascript.0	2020-12-20 21:34:09.063	info	(1241) script.js.common.Shelly_Kueche: setStateDelayed: clear 1 running timers
        javascript.0	2020-12-20 21:34:09.062	info	(1241) script.js.common.Shelly_Kueche: setStateDelayed(id=shelly.0.SHSW-1#40F5200028B6#1.Relay0.longpush, state=false, isAck=true, delay=3000, clearRunning=true)
        javascript.0	2020-12-20 21:34:07.364	info	(1241) script.js.common.Shelly_Kueche: setForeignState(id=sonoff.0.Licht_Kueche.POWER, state={"val":true,"ack":false})
        javascript.0	2020-12-20 21:34:06.863	info	(1241) script.js.common.Shelly_Kueche: setStateDelayed: no running timers
        javascript.0	2020-12-20 21:34:06.862	info	(1241) script.js.common.Shelly_Kueche: setStateDelayed(id=sonoff.0.Licht_Kueche.POWER, state=true, isAck=false, delay=500, clearRunning=true)
        javascript.0	2020-12-20 21:34:06.860	info	(1241) script.js.common.Shelly_Kueche: setStateDelayed: no running timers
        javascript.0	2020-12-20 21:34:06.859	info	(1241) script.js.common.Shelly_Kueche: setStateDelayed(id=shelly.0.SHSW-1#40F5200028B6#1.Relay0.longpush, state=false, isAck=true, delay=3000, clearRunning=true)
        

        Kann es unter Umstände villeicht an dem Taster liegen?
        Verbaut habe ich den Busch-Jäger Wipptaster-Einsatz 1-polig, Schließer (Arbeitsstrom) 2020

        da_WoodyD 1 Antwort Letzte Antwort
        0
        • Dark AngelD Dark Angel

          Nun... Shelly 1 ist programmiert und eingebaut und wollte ein etwas anderes Szenario ausprobieren: ShortPress - LED Leiste ein/aus schalten; LongPress - Küchenlicht (DS-102 Schalter) ein/aus schalten...
          Leider funktioniert es nicht wirklich zuversichtlich und ich bin mir nicht mal sicher, ob es am Script liegt, oder viel eher an dem Shelly.
          Habe folg. Blockly Script "auf die Schnelle" gebaut und bin mir auch ziemlich sicher, dass er richtig funktioniert. Solange ich unter Objekte den Longpress Status manuell auf true setze macht er auch genau das was er machen soll: Das Licht in der Küche wird je nach aktuellen Status dieser umgeschalten und der LongPress Status wird wieder auf false gesetzt.

          211ba110-f303-4e09-bdd4-06917f30032c-grafik.png
          Sobald ich es allerdings am Schalter versuche durchzuspielen, passieren die wildesten Schaltungen:
          Licht in der Küche wird umgeschalten, gleich danach wieder ausgeschalten.
          Beim weiteren Versuch, wird sie zwar umgeschalten, dafür geht aber die LED Leiste (die eigentlich nur bei ShortPress umgeschalten werden sollte) wird umgeschlaten.
          Im ioBroker Log sieht der Schaltvorgang dann so aus:

          javascript.0	2020-12-20 21:34:12.065	info	(1241) script.js.common.Shelly_Kueche: setForeignState(id=shelly.0.SHSW-1#40F5200028B6#1.Relay0.longpush, state={"val":false,"ack":true})
          javascript.0	2020-12-20 21:34:09.567	info	(1241) script.js.common.Shelly_Kueche: setForeignState(id=sonoff.0.Licht_Kueche.POWER, state={"val":false,"ack":false})
          javascript.0	2020-12-20 21:34:09.066	info	(1241) script.js.common.Shelly_Kueche: setStateDelayed: no running timers
          javascript.0	2020-12-20 21:34:09.065	info	(1241) script.js.common.Shelly_Kueche: setStateDelayed(id=sonoff.0.Licht_Kueche.POWER, state=false, isAck=false, delay=500, clearRunning=true)
          javascript.0	2020-12-20 21:34:09.063	info	(1241) script.js.common.Shelly_Kueche: setStateDelayed: clear 1 running timers
          javascript.0	2020-12-20 21:34:09.062	info	(1241) script.js.common.Shelly_Kueche: setStateDelayed(id=shelly.0.SHSW-1#40F5200028B6#1.Relay0.longpush, state=false, isAck=true, delay=3000, clearRunning=true)
          javascript.0	2020-12-20 21:34:07.364	info	(1241) script.js.common.Shelly_Kueche: setForeignState(id=sonoff.0.Licht_Kueche.POWER, state={"val":true,"ack":false})
          javascript.0	2020-12-20 21:34:06.863	info	(1241) script.js.common.Shelly_Kueche: setStateDelayed: no running timers
          javascript.0	2020-12-20 21:34:06.862	info	(1241) script.js.common.Shelly_Kueche: setStateDelayed(id=sonoff.0.Licht_Kueche.POWER, state=true, isAck=false, delay=500, clearRunning=true)
          javascript.0	2020-12-20 21:34:06.860	info	(1241) script.js.common.Shelly_Kueche: setStateDelayed: no running timers
          javascript.0	2020-12-20 21:34:06.859	info	(1241) script.js.common.Shelly_Kueche: setStateDelayed(id=shelly.0.SHSW-1#40F5200028B6#1.Relay0.longpush, state=false, isAck=true, delay=3000, clearRunning=true)
          

          Kann es unter Umstände villeicht an dem Taster liegen?
          Verbaut habe ich den Busch-Jäger Wipptaster-Einsatz 1-polig, Schließer (Arbeitsstrom) 2020

          da_WoodyD Offline
          da_WoodyD Offline
          da_Woody
          schrieb am zuletzt editiert von
          #9

          @Dark-Angel sicher das am shelly alles richtig eingestellt ist? warum machst du das mit blockly, wenns der shelly mit i/o url actions kann?

          gruß vom Woody
          HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

          Dark AngelD 1 Antwort Letzte Antwort
          0
          • da_WoodyD da_Woody

            @Dark-Angel sicher das am shelly alles richtig eingestellt ist? warum machst du das mit blockly, wenns der shelly mit i/o url actions kann?

            Dark AngelD Offline
            Dark AngelD Offline
            Dark Angel
            schrieb am zuletzt editiert von
            #10

            @da_Woody, hab das überhaupt nicht verstaden, wie das mit den URLs funktioniert.
            Werde mich dann wohl noch mal damit beschäftigen müssen.
            Habs ja nur ganz kurz angeschaut und da ich nicht auf Anhieb wusste, woher ich die richtigen URLs bekomme, habe ich mich gleich auf Blockly gestürzt.

            da_WoodyD 1 Antwort Letzte Antwort
            0
            • Dark AngelD Dark Angel

              @da_Woody, hab das überhaupt nicht verstaden, wie das mit den URLs funktioniert.
              Werde mich dann wohl noch mal damit beschäftigen müssen.
              Habs ja nur ganz kurz angeschaut und da ich nicht auf Anhieb wusste, woher ich die richtigen URLs bekomme, habe ich mich gleich auf Blockly gestürzt.

              da_WoodyD Offline
              da_WoodyD Offline
              da_Woody
              schrieb am zuletzt editiert von
              #11

              @Dark-Angel das ding das du ansprichst muss ja eine ip haben+den verweis auf den datenpunkt.
              zum lesen

              gruß vom Woody
              HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

              Dark AngelD 1 Antwort Letzte Antwort
              0
              • da_WoodyD da_Woody

                @Dark-Angel das ding das du ansprichst muss ja eine ip haben+den verweis auf den datenpunkt.
                zum lesen

                Dark AngelD Offline
                Dark AngelD Offline
                Dark Angel
                schrieb am zuletzt editiert von
                #12

                @da_Woody, vielen Dank.
                Der DS-102 (Lichtschalter Küche) läuft mit Tasmota 9.x, daher musste ich einen kurzen Blick in der Tasmota Beschreibung werfen und schon konnte ich das Problem lösen.

                Nicht desto Trotz, würde ich gern in Erfahrung bringen wollen, woran genau das liegt, dass es per Script in ioBroker nicht wirklich funktioniert.
                Ich konnte das Script in Blockly auch zum laufen kriegen, nachdem ich das Protokol auf CoAP eingestellt habe. Mit dem mqtt Protokol gibt es wohl einen Unterschied in dem Object State für LongPress. Bei CoAP ist der State true/false, in mqtt auf ein mal 0/1

                Generelle Frage: Welches Protokol ist eigentlich besser für die Kommunikation zw. Shelly und ioBroker?

                da_WoodyD 1 Antwort Letzte Antwort
                0
                • Dark AngelD Dark Angel

                  @da_Woody, vielen Dank.
                  Der DS-102 (Lichtschalter Küche) läuft mit Tasmota 9.x, daher musste ich einen kurzen Blick in der Tasmota Beschreibung werfen und schon konnte ich das Problem lösen.

                  Nicht desto Trotz, würde ich gern in Erfahrung bringen wollen, woran genau das liegt, dass es per Script in ioBroker nicht wirklich funktioniert.
                  Ich konnte das Script in Blockly auch zum laufen kriegen, nachdem ich das Protokol auf CoAP eingestellt habe. Mit dem mqtt Protokol gibt es wohl einen Unterschied in dem Object State für LongPress. Bei CoAP ist der State true/false, in mqtt auf ein mal 0/1

                  Generelle Frage: Welches Protokol ist eigentlich besser für die Kommunikation zw. Shelly und ioBroker?

                  da_WoodyD Offline
                  da_WoodyD Offline
                  da_Woody
                  schrieb am zuletzt editiert von
                  #13

                  @Dark-Angel gern geschehn! :)
                  bei mir lööpt alles über CoAP ohne probleme. nur die diversen gosund und d1mini haben tasmota drauf.

                  gruß vom Woody
                  HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                  1 Antwort Letzte Antwort
                  0
                  • Dark AngelD Offline
                    Dark AngelD Offline
                    Dark Angel
                    schrieb am zuletzt editiert von Dark Angel
                    #14

                    Nachdem das Testprojekt mit dem LongPress ja so gut mit den Hauseigenen Möglichkeiten funktioniert, stellt sich mir die Frage: Wie soll das Ursprungsprojekt realisiert werden, wenn beim Testprojekt schon solche Mängel offenbart wurden?
                    Die Vorgabe/Ziel lautet nach wie vor:
                    LongPress = Licht dauerhaft einschalten
                    ShortPress = Licht mit Timer einschalten / Licht ausschalten, selbst nachdem es mit LongPress eingeschalten wurde.

                    AsgothianA da_WoodyD 2 Antworten Letzte Antwort
                    0
                    • Dark AngelD Dark Angel

                      Nachdem das Testprojekt mit dem LongPress ja so gut mit den Hauseigenen Möglichkeiten funktioniert, stellt sich mir die Frage: Wie soll das Ursprungsprojekt realisiert werden, wenn beim Testprojekt schon solche Mängel offenbart wurden?
                      Die Vorgabe/Ziel lautet nach wie vor:
                      LongPress = Licht dauerhaft einschalten
                      ShortPress = Licht mit Timer einschalten / Licht ausschalten, selbst nachdem es mit LongPress eingeschalten wurde.

                      AsgothianA Offline
                      AsgothianA Offline
                      Asgothian
                      Developer
                      schrieb am zuletzt editiert von
                      #15

                      @Dark-Angel
                      Da ist eine einfache analyse notwendig:

                      Mach ein Skript welches bei short_press und long_press Events einen Eintrag im log hinterlässt.

                      Dann löse in zufälliger Folge short_press und Long_press Events aus und vergleiche das mit dem log.

                      Ich gehe davon aus das der long_press nicht immer sauber erkannt wird und sowohl Short als auch Long press Events auslöst.

                      Wenn das so ist muss das dein Skript abfangen.

                      A.

                      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                      1 Antwort Letzte Antwort
                      1
                      • Dark AngelD Dark Angel

                        Nachdem das Testprojekt mit dem LongPress ja so gut mit den Hauseigenen Möglichkeiten funktioniert, stellt sich mir die Frage: Wie soll das Ursprungsprojekt realisiert werden, wenn beim Testprojekt schon solche Mängel offenbart wurden?
                        Die Vorgabe/Ziel lautet nach wie vor:
                        LongPress = Licht dauerhaft einschalten
                        ShortPress = Licht mit Timer einschalten / Licht ausschalten, selbst nachdem es mit LongPress eingeschalten wurde.

                        da_WoodyD Offline
                        da_WoodyD Offline
                        da_Woody
                        schrieb am zuletzt editiert von
                        #16

                        @Dark-Angel kann es sein, das das mit der frei einstellbaren longpushtime erkennung zusammen hängt?

                        gruß vom Woody
                        HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                        Dark AngelD 1 Antwort Letzte Antwort
                        0
                        • da_WoodyD da_Woody

                          @Dark-Angel kann es sein, das das mit der frei einstellbaren longpushtime erkennung zusammen hängt?

                          Dark AngelD Offline
                          Dark AngelD Offline
                          Dark Angel
                          schrieb am zuletzt editiert von
                          #17

                          @da_Woody, glaube ich nicht.
                          Werde es aber heute noch prüfen. Da kommt der Shelly 2.5 auf dem Testtisch...

                          1 Antwort Letzte Antwort
                          1
                          • Dark AngelD Offline
                            Dark AngelD Offline
                            Dark Angel
                            schrieb am zuletzt editiert von Dark Angel
                            #18

                            Dank der Hilfe eines Facebook Users ist das Problem mit der Shortpress: "Timer an"/Aus, Longpress: Dauerlicht gelöst.
                            1c9da8c4-f61d-4767-ab01-fde546a00dc5-grafik.png

                            Falls jemand doch eine Idee hat, wie Timer gesetzt werden kann, ohne die URL Dafür zu "missbrauchen" würde mir das sogar noch besser gefallen :joy:

                            P.S. Eine Kleinigkeit ärgert mich doch noch etwas: Nachdem das Licht dauerhaft AN ist und wieder ausgeschaltet wird, muss ich erst per shortpress einschalten und dann wieder ausschalten, sonst ist der nächste longpress wieder mit Timer versehen. :cry:

                            P.P.S:
                            Mit der richtigen logischen Reihenfolge funktioniert es zu 100% so wie gewünscht.
                            11101679-d3fb-4111-94fb-d047f2d8560a-grafik.png

                            da_WoodyD 1 Antwort Letzte Antwort
                            0
                            • Dark AngelD Dark Angel

                              Dank der Hilfe eines Facebook Users ist das Problem mit der Shortpress: "Timer an"/Aus, Longpress: Dauerlicht gelöst.
                              1c9da8c4-f61d-4767-ab01-fde546a00dc5-grafik.png

                              Falls jemand doch eine Idee hat, wie Timer gesetzt werden kann, ohne die URL Dafür zu "missbrauchen" würde mir das sogar noch besser gefallen :joy:

                              P.S. Eine Kleinigkeit ärgert mich doch noch etwas: Nachdem das Licht dauerhaft AN ist und wieder ausgeschaltet wird, muss ich erst per shortpress einschalten und dann wieder ausschalten, sonst ist der nächste longpress wieder mit Timer versehen. :cry:

                              P.P.S:
                              Mit der richtigen logischen Reihenfolge funktioniert es zu 100% so wie gewünscht.
                              11101679-d3fb-4111-94fb-d047f2d8560a-grafik.png

                              da_WoodyD Offline
                              da_WoodyD Offline
                              da_Woody
                              schrieb am zuletzt editiert von
                              #19

                              @Dark-Angel und wenn du glaubst es geht nicht mehr, kommt von wo ne lösung her! ;)
                              könntest du das als export reinstellen, ich bin bei blockly sogar zu dämlich das nachzubauen... :face_with_head_bandage:

                              gruß vom Woody
                              HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                              Dark AngelD 1 Antwort Letzte Antwort
                              0
                              • da_WoodyD da_Woody

                                @Dark-Angel und wenn du glaubst es geht nicht mehr, kommt von wo ne lösung her! ;)
                                könntest du das als export reinstellen, ich bin bei blockly sogar zu dämlich das nachzubauen... :face_with_head_bandage:

                                Dark AngelD Offline
                                Dark AngelD Offline
                                Dark Angel
                                schrieb am zuletzt editiert von Dark Angel
                                #20

                                @da_Woody, aus der Beschreibung "Wenn Licht bereits ein" habe ich noch schnell "Wenn Licht aus" gemacht, denn es beschreibt ja auch richtig die darauf folgende Funktion, ansonsten ist alles wie auf dem Bild oben:

                                // Kurz
                                on({id: "shelly.0.SHSW-25#40F520006202#1.Relay0.EventCount"/*Event Counter*/, change: "gt"}, function (obj) {
                                  var value = obj.state.val;
                                  var 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
                                    try {
                                      require("request")('http://192.168.213.205/relay/0?timer=300&turn=on').on("error", function (e) {console.error(e);});
                                    } catch (e) { console.error(e); }
                                  } else {
                                    // Schalte aus
                                    try {
                                      require("request")('http://192.168.213.205/relay/0?turn=off').on("error", function (e) {console.error(e);});
                                    } catch (e) { console.error(e); }
                                  }
                                });
                                // Lang
                                on({id: "shelly.0.SHSW-25#40F520006202#1.Relay0.longpush"/*Longpush*/, val: true}, function (obj) {
                                  var value = obj.state.val;
                                  var oldValue = obj.oldState.val;
                                  setState("shelly.0.SHSW-25#40F520006202#1.Relay0.Switch"/*Switch*/, true);
                                });
                                
                                da_WoodyD 1 Antwort Letzte Antwort
                                0
                                • Dark AngelD Dark Angel

                                  @da_Woody, aus der Beschreibung "Wenn Licht bereits ein" habe ich noch schnell "Wenn Licht aus" gemacht, denn es beschreibt ja auch richtig die darauf folgende Funktion, ansonsten ist alles wie auf dem Bild oben:

                                  // Kurz
                                  on({id: "shelly.0.SHSW-25#40F520006202#1.Relay0.EventCount"/*Event Counter*/, change: "gt"}, function (obj) {
                                    var value = obj.state.val;
                                    var 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
                                      try {
                                        require("request")('http://192.168.213.205/relay/0?timer=300&turn=on').on("error", function (e) {console.error(e);});
                                      } catch (e) { console.error(e); }
                                    } else {
                                      // Schalte aus
                                      try {
                                        require("request")('http://192.168.213.205/relay/0?turn=off').on("error", function (e) {console.error(e);});
                                      } catch (e) { console.error(e); }
                                    }
                                  });
                                  // Lang
                                  on({id: "shelly.0.SHSW-25#40F520006202#1.Relay0.longpush"/*Longpush*/, val: true}, function (obj) {
                                    var value = obj.state.val;
                                    var oldValue = obj.oldState.val;
                                    setState("shelly.0.SHSW-25#40F520006202#1.Relay0.Switch"/*Switch*/, true);
                                  });
                                  
                                  da_WoodyD Offline
                                  da_WoodyD Offline
                                  da_Woody
                                  schrieb am zuletzt editiert von
                                  #21

                                  @Dark-Angel :+1: danke dir! bin grad dabei das ganglicht zu shellyfizieren, da kommt mir das gerade recht! ;)

                                  gruß vom Woody
                                  HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                                  1 Antwort Letzte Antwort
                                  0
                                  • Dark AngelD Offline
                                    Dark AngelD Offline
                                    Dark Angel
                                    schrieb am zuletzt editiert von
                                    #22

                                    Ich werde noch wahnsinnig.
                                    Was gestern Abend noch 100% richtig funktioniert hat ist heute, als ich es wieder mit dem Strom verbunden habe für die Katz...
                                    Licht geht beim ShortPress wie gewünscht nach AN und nach Zeit X wieder aus, LongPress dagegen schaltet das Licht nicht dauerhaft AN. Das Licht geht nach Zeit X wieder aus. :rage:

                                    da_WoodyD 1 Antwort Letzte Antwort
                                    0
                                    • Dark AngelD Dark Angel

                                      Ich werde noch wahnsinnig.
                                      Was gestern Abend noch 100% richtig funktioniert hat ist heute, als ich es wieder mit dem Strom verbunden habe für die Katz...
                                      Licht geht beim ShortPress wie gewünscht nach AN und nach Zeit X wieder aus, LongPress dagegen schaltet das Licht nicht dauerhaft AN. Das Licht geht nach Zeit X wieder aus. :rage:

                                      da_WoodyD Offline
                                      da_WoodyD Offline
                                      da_Woody
                                      schrieb am zuletzt editiert von
                                      #23

                                      @Dark-Angel biglol.gif

                                      gruß vom Woody
                                      HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                                      1 Antwort Letzte Antwort
                                      0
                                      • Dark AngelD Offline
                                        Dark AngelD Offline
                                        Dark Angel
                                        schrieb am zuletzt editiert von
                                        #24

                                        Also, es muss definitiv ein Übertragungsfehler von ioBroker sein.
                                        Ich habe das ganze sogar ganz ohne den Shelly-Timer umgesetzt, am Ende kommt aber trotzdem das gleiche raus.
                                        Kann es sein, dass Blockly die Scripte irgendwie in einer Art Schleife (loop) abspielt?

                                        var timeout, timeout2;
                                        
                                        
                                        // Kurz
                                        on({id: "shelly.0.SHSW-25#40F520006202#1.Relay0.EventCount"/*Event Counter*/, change: "gt"}, function (obj) {
                                          var value = obj.state.val;
                                          var 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
                                            on({id: "shelly.0.SHSW-25#40F520006202#1.Relay0.longpush"/*Longpush*/, val: false}, function (obj) {
                                              var value = obj.state.val;
                                              var oldValue = obj.oldState.val;
                                              setState("shelly.0.SHSW-25#40F520006202#1.Relay0.Switch"/*Switch*/, true);
                                              timeout2 = setTimeout(function () {
                                                setState("shelly.0.SHSW-25#40F520006202#1.Relay0.Switch"/*Switch*/, false);
                                              }, 5000);
                                            });
                                          } else {
                                            // Schalte aus
                                            setState("shelly.0.SHSW-25#40F520006202#1.Relay0.Switch"/*Switch*/, false);
                                          }
                                        });
                                        // Lang
                                        on({id: "shelly.0.SHSW-25#40F520006202#1.Relay0.longpush"/*Longpush*/, val: true}, function (obj) {
                                          var value = obj.state.val;
                                          var oldValue = obj.oldState.val;
                                          setState("shelly.0.SHSW-25#40F520006202#1.Relay0.Switch"/*Switch*/, true);
                                          timeout = setTimeout(function () {
                                            setState("shelly.0.SHSW-25#40F520006202#1.Relay0.longpush"/*Longpush*/, false, true);
                                          }, 3000);
                                        });
                                        

                                        Ist zwar 'ne Weile her, dass ich mich mit Scripte auseinander setzen musste, aber für mein Verständnis sollte doch das ganze so ablaufen:
                                        Wenn das Licht aus ist:
                                        Prüfe, ob LongPress auf false steht und wenn das so ist, schalte den Switch auf true, warte 5 Sekunden und schalte ihn dann wieder auf false
                                        Wenn das Licht doch an ist, dann schalte Switch auf false
                                        Als nächstes wird geprüft, ob LongPress auf true steht und wenn ja, wird der Switch auf true gesetzt und nach 3 Sekunden den LongPress wieder auf false.
                                        Ende im Gelende
                                        Oder habe ich die Logik des Scripts mit meine eigene Wunschlogik verwechselt?

                                        paul53P 1 Antwort Letzte Antwort
                                        0
                                        • Dark AngelD Dark Angel

                                          Also, es muss definitiv ein Übertragungsfehler von ioBroker sein.
                                          Ich habe das ganze sogar ganz ohne den Shelly-Timer umgesetzt, am Ende kommt aber trotzdem das gleiche raus.
                                          Kann es sein, dass Blockly die Scripte irgendwie in einer Art Schleife (loop) abspielt?

                                          var timeout, timeout2;
                                          
                                          
                                          // Kurz
                                          on({id: "shelly.0.SHSW-25#40F520006202#1.Relay0.EventCount"/*Event Counter*/, change: "gt"}, function (obj) {
                                            var value = obj.state.val;
                                            var 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
                                              on({id: "shelly.0.SHSW-25#40F520006202#1.Relay0.longpush"/*Longpush*/, val: false}, function (obj) {
                                                var value = obj.state.val;
                                                var oldValue = obj.oldState.val;
                                                setState("shelly.0.SHSW-25#40F520006202#1.Relay0.Switch"/*Switch*/, true);
                                                timeout2 = setTimeout(function () {
                                                  setState("shelly.0.SHSW-25#40F520006202#1.Relay0.Switch"/*Switch*/, false);
                                                }, 5000);
                                              });
                                            } else {
                                              // Schalte aus
                                              setState("shelly.0.SHSW-25#40F520006202#1.Relay0.Switch"/*Switch*/, false);
                                            }
                                          });
                                          // Lang
                                          on({id: "shelly.0.SHSW-25#40F520006202#1.Relay0.longpush"/*Longpush*/, val: true}, function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            setState("shelly.0.SHSW-25#40F520006202#1.Relay0.Switch"/*Switch*/, true);
                                            timeout = setTimeout(function () {
                                              setState("shelly.0.SHSW-25#40F520006202#1.Relay0.longpush"/*Longpush*/, false, true);
                                            }, 3000);
                                          });
                                          

                                          Ist zwar 'ne Weile her, dass ich mich mit Scripte auseinander setzen musste, aber für mein Verständnis sollte doch das ganze so ablaufen:
                                          Wenn das Licht aus ist:
                                          Prüfe, ob LongPress auf false steht und wenn das so ist, schalte den Switch auf true, warte 5 Sekunden und schalte ihn dann wieder auf false
                                          Wenn das Licht doch an ist, dann schalte Switch auf false
                                          Als nächstes wird geprüft, ob LongPress auf true steht und wenn ja, wird der Switch auf true gesetzt und nach 3 Sekunden den LongPress wieder auf false.
                                          Ende im Gelende
                                          Oder habe ich die Logik des Scripts mit meine eigene Wunschlogik verwechselt?

                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von paul53
                                          #25

                                          @Dark-Angel sagte:

                                          Kann es sein, dass Blockly die Scripte irgendwie in einer Art Schleife (loop) abspielt?

                                          Nein. Dein Problem: Trigger innerhalb eines Triggers.

                                          @Dark-Angel sagte in Treppenlicht: Timer + Dauerlicht?:

                                          LongPress = Licht dauerhaft einschalten
                                          ShortPress = Licht mit Timer einschalten / Licht ausschalten, selbst nachdem es mit LongPress eingeschalten wurde.

                                          Versuche es mal so:

                                          Blockly_temp.JPG

                                          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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          613

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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