NEWS
[gelöst] Problem mit Blockly Garagentorbeleuchtung WLED
-
Re: Blockly für Garagen LED Beleuchtung
Hi,
meine Beleuchtung funktionierte bereits über ein Jahr.
Als Auslöser dient ein HmIP-MOD-HO WLED 0.14.0-b4.
Ich denke, dass ein Update des WLED- oder HmIP-Adapters zu einem Ausfall führte.
Bei der Gelegenheit wollte ich auch von Einzelbefehl auf Presets umstellen.
Bei Door_State 3 passt es, bei Door_State 0 oder 1 funktioniert das 1. Preset und dann passt weder Zeit, noch das nächste Preset.
Ich habe schon die Verzögerung gelöscht und Timeouts oder Pause getestet. Auch jeder Auslöser in einem eigenen Trigger half nicht.
Die einzelnen Presets funktionieren in der WLED-App.Ich finde einfach nicht meine Fehler.
-
@hardl
Ich ebenfalls nicht. Gehts denn wenn du den entsprechenden Datenpunkt per Hand in den Abständen änderst? -
@ticaki Ja, wenn ich in der App oder im Datenpunkt des ioBroker in ähnlichen Zeitabständen ändere funktioniert es.
-
@hardl
Ich bin nicht so gut im Blockly lesen. Kannst du mir das Javascript dazu in Codetags posten? Vielleicht sehe ich da einen Fehler. -
@ticaki Gerne.
on({id: [].concat(['hm-rpc.0.00241BE99450A5.1.DOOR_STATE']), change: "ne"}, async function (obj) { let value = obj.state.val; let oldValue = obj.oldState.val; if (getState("hm-rpc.0.00241BE99450A5.1.DOOR_STATE").val == 3) { // Tor in Bewegung // Scanner dual rot ps2 setState("wled.0.4c75253805c9.ps"/*ID of currently set preset*/, 2); } if (getState("hm-rpc.0.00241BE99450A5.1.DOOR_STATE").val == 0) { // Tor geschlossen // Solid rot ps3 setState("wled.0.4c75253805c9.ps"/*ID of currently set preset*/, 3); // Scanner dual weiss setStateDelayed("wled.0.4c75253805c9.ps"/*ID of currently set preset*/, 4, 4000, false); // Spot ps7 setStateDelayed("wled.0.4c75253805c9.ps"/*ID of currently set preset*/, 7, 8000, false); // Aus setStateDelayed("wled.0.4c75253805c9.ps"/*ID of currently set preset*/, 8, 12000, false); } if (getState("hm-rpc.0.00241BE99450A5.1.DOOR_STATE").val == 1) { // Tor offen // Solid grün ps5 setState("wled.0.4c75253805c9.ps"/*ID of currently set preset*/, 5); // Scanner dual weiss ps4 setStateDelayed("wled.0.4c75253805c9.ps"/*ID of currently set preset*/, 6, 4000, false); // Spot ps7 setStateDelayed("wled.0.4c75253805c9.ps"/*ID of currently set preset*/, 7, 8000, false); // Aus setStateDelayed("wled.0.4c75253805c9.ps"/*ID of currently set preset*/, 8, 12000, false); } });
-
@hardl
Kein Fehler... Vielleicht beheben wir mal was mich stört könnte ja dann gehenDas sind ja alles falls dieses sonst falls jenes sonst falls das
Und ersetzte Wert von ID durch Wert ( das ist das mit dem Pfeil auf objekt ID da kann man Wert auswählen.
Dieser Objekt ID Baustein bezieht sich auf den Wert/Ereignis das den Trigger ausgelöst hat. Und setzte ein paar Debugmeldungen rein
EDIT: mir ist doch was aufgefallen. Der erste der verzögerten Aufrufe pro falls müsste "löschen falls läuft" aktiviert haben falls die Werte schnell rein kommen, damit nicht ein andere Zweig dazwischenfunkt.
-
@ticaki Danke für Deine Bemühungen, ich werde das morgen mal testen.
Nachts ist es nicht so gut, wenn dauernd das Garagentor fährt. -
@ticaki So jetzt habe ich versucht die einzelnen Punkte umzusetzen.
Nach Umstellung des Triggers hat sich nichts geändert.Mein Problem war scheinbar das Verständnis des verzögerten Aufrufs.
Ich dachte, dass 2 nacheinander liegende Presets mit je 5 Sekunden nacheinander ablaufen, aber es muss 5 + 10 Sekunden heißen.
Das letzte Preset mit 3 Minuten braucht auch noch Löschen, falls läuft.
So scheint es jetzt zu funktionieren:
Vielen Dank für die Hilfe.
-
@hardl
Darauf bin ich nicht gekommen weil du 4 8 12 Sekunden benutzt hast -
@ticaki Sorry, ich hatte sehr viel probiert und auch das mit 4, 8, 12 Sekunden um die Wartezeit zu verkürzen, aber da das mit dem Löschen, falls läuft verkehrt war, konnte auch das nicht funktionieren.