NEWS
Taster an Shelly Plus 1
-
dazu der Link. über
change
kannst du verschiedene Varianten abfragen bzw. reagieren.gt -steht hier für größer als der letzte Wert. Da True größer ist als false reagiert er nur von false nach true.
-
@tt-tom
Ich hab das Script entsprechend übernommen. Zum Test hab ich erstmal mit Merkern aus meiner S7 gearbeitet. Das Script erkennt die Zustandsänderung des Merkers und wird abgearbeitet.
Wenn ich aber die Status Variable des Shelly nutze passiert nichts. Es scheint so als ob diese Status Variable nicht aktualisiert wird. Muss ich noch was am Shelly (oder Iobroker einstellen? -
@bengab dann schau dir mal den Datenpunkt an. Ob der sich ändert/aktualisiert wenn du den Taster betätigst.
Kannst auch in das Logfile schauen um die Änderung zu sehen. Unter Umständen die Instanz auf Debug stellen.
-
@wendy2702
das hab ich schon getan, da ändert sich eben leider nichts. Beim Relais (Relay0) kommt aber die Änderung an. -
@bengab dann zeig doch mal die Adapter und Shelly Konfiguration oder Werte den Relais Datenpunkt aus.
-
Hier ist der Status markiert. Dieser wird nicht aktualisiert.
Es muss irgendwie am Shelly liegen. Als Probe habe ich den Workaround über die Vis gemacht und dieses Flag mit Hilfe eines Buttons mal gesetzt. Dann hat meine Script die Änderung auch erhalten und ist abgelaufen.
(dazu hab ich mir die Werte in der history gespeichert und in einem Flotdiagram mal angesehen) -
@bengab
Der markierte ist auch der falsche, eins tiefer ist der den ich geschrieben hatte.
Ansonsten passen sie.wie sehen den die Einstellungen im Shelly aus. diese hier:
bei mir ist das ein Schalter, nicht wundern.
-
@tt-tom
Sorry, ist natürlich die Zeile unter der Markierung. Dieser Status wird aber auch nicht verändert. Das ist ja das Komische.Meine Definition sieht momentan so aus (hab den Input vom Relais getrennt). Aber auch wenn ich die Definition auf Taster oder Schalter stelle, bleibt "Status" still.
-
@bengab
Welcher INPUT TYP Ist ausgewählt? Switch oder Button?
Siehe Shelly Doku:STATE wird nur beim Typ SWITCH verwendet / gesetzt.
EDIT:
Seh schon - steht auf BUTTON. Dann ist State nicht benutzt. Button Aktionen solltest du unter EVENT finden (z.B. single_push, ...) -
@mcm1957
Ah, alles klar dann muss auf Event getigert werden. Danke für die Info's. Gibt bestimmt mehrere Events davon.on({ id: 'shelly.0.shellyplus1#441793xxxxxxx#1.Input0.Event', change: 'ne' }, async function (obj: any) { try { if (obj.state.val == 'single_push') { log(`EVENT = single_push`, `info`); //setState('alias.0.Licht.Licht_Terasse.SET', true); //Datenpunkt auf true schalten } else { log(`kein single_push, sondern: ${obj.state.val}`, `info`); // setState('alias.0.Licht.Licht_Terasse.SET', false); //Datenpunkt auf alse schalten } } catch (error) { log(`action trigger switch ${error}`, `error`); } });