NEWS
Schnelle Änderungen am Triggerobjekt auswerten?
-
aber jeweils einzeln? oder steht da die liste von oben drin?
-
@oliverio
Die Ausgabe ist aus dem Debugfenster auf dem Shelly kopiert.Die Idee mit dem Script geht schon in der Richtung wie ich mir die Lösung des Problems vorstelle.
Muss dann heute Abend gleich mal herumexperimentieren...Danke für den Richtungsanstoß.
-
@oliverio
Einzeln. So schnell kann ich gar nicht schauen, wie sich der Wert ändert ... -
@dark-angel sagte: die 3 Meldungen aus dem Eröffnungspost
Das komplette JSON? Sicherlich die 3 Events unmittelbar nacheinander?
-
Bzw.:
-
@dark-angel
da ist doch schon ein datenpunkt namens event.
dann musst doch nur einen trigger auf diesen datenpunkt setzen und unterscheiden ob da short oder long drin steht und deine aktionen auslösen
da muss man nicht mal die verrenkungen mit dem skript machenwie gesagt, die geschwindigkeit ist kein problem. die events werden der reihe nach reinkommen, die datenpunkte aktualisisert werden.
auch wenn du uU die Änderungen auf der Oberfläche nicht wahrnimmst -
@dark-angel
"Event" enthält doch, was man braucht."hold" bleibt true bis losgelassen wird.
EDIT: Anstelle des Schreibens in die eigenen Datenpunkte können auch direkt die Aktionen zur jeweiligen Tastenbetätigung ausgeführt werden.
Anmerkung: Wenn es "single_push" gibt, gibt es vielleicht auch "double_push"? Zum Erkennen von "long_push" wird immerhin 1 s benötigt.
-
@paul53
Das Problem ist, dass Event immer 3 Meldungen ausgibt (3 Zustände hintereinander)
Wenn ich Event triggere ist der erste Zustand immer "btn_down".
Bei SinglePress kommt erst "btn_up" und dann bleibt Event bei "single_push" stehen.
Anders allerdings bei LongPress: da kommt als nächstes "long_push" und zum Schluss bleibt es bei "btn_up" stehen.
Wenn ich zu 100% sicher wäre, dass die letzte Meldung bei LongPress immer "btn_up" sein wird, dann könnte ich das in mein Script einbauen (Event Auswertung mit kleine Verzögerung um sicher zu stellen, dass alle Eventmeldungen schon durch sind?).
Der Ursprung der "Geschichte" ist HIER nachzulesen. Das Shelly die Logic geändert hat finde ich persönlich nicht sehr prickelnd, aber die werden sich schon was dabei gedacht haben... -
@dark-angel sagte: Event immer 3 Meldungen ausgibt (3 Zustände hintereinander)
Wenn ich Event triggere ist der erste Zustand immer "btn_down".Ja und ...? "btn_down" wird nicht ausgewertet, also ignoriert.
@dark-angel sagte in Schnelle Änderungen am Triggerobjekt auswerten?:
"long_push" und zum Schluss bleibt es bei "btn_up" stehen.
Genau dieses Verhalten wird in meinem Blockly-Vorschlag berücksichtigt.
-
Erster (mehr, oder weniger) Erfolg, erzielt durch folg. Blockly:
Shelly Output ist "momentary" mit invertet Input
So wird das Licht auch ohne ioBroker funktionsfähig bleiben, nur eben ohne den Zusatz des Longpushs.
Wenn Output auf "detached" gesetzt würde, geht das Licht wenn Longpush erkannt wurde, oder aber eben beim loslassen an (in etwa wie "momentary_on_release" bei Shelly Gen.1). Nachteil: Wenn keine Kommunikation mit ioBroker, dann bleibt es dunkel.