NEWS
Blockly für zigbeeschalter welcher nur read hat
-
@asgothian Danke. Vielleicht habe ich mich falsch ausgedrückt. Er macht was. Nur ändert er den Wert nicht im IO-Broker. So kann ich ihn für Schaltungen nicht auswerten.
Hier mal kurz was er bringt wenn ich die Taste rechts zweimal hintereinander drücke.
-
msg for zigbee ändert sich. Hier wird bei jeder Betätigung etwas grün. Vielleicht könnte man das auswerten
-
@robbi12 sagte: Nur ändert er den Wert nicht im IO-Broker. So kann ich ihn für Schaltungen nicht auswerten.
Bei Buttons genügt es, wenn der Zeitstempel bei Tastendruck aktualisiert wird.
-
@robbi12 sagte in Blockly für zigbeeschalter welcher nur read hat:
@asgothian Danke. Vielleicht habe ich mich falsch ausgedrückt. Er macht was. Nur ändert er den Wert nicht im IO-Broker. So kann ich ihn für Schaltungen nicht auswerten.
Hier mal kurz was er bringt wenn ich die Taste rechts zweimal hintereinander drücke.
Die Meldungen sagen eindeutig das der state ‘off_right’ und ‘on_right’ geändert werden. Da solltest du also triggern können, z.bsp. Mit “ist größer als vorher”
A.
-
@asgothian Danke für die Rückmeldung. Werde es probieren. Noch eine kleine Frage. Ich ziehe gerade von deconz auf den zigbee Adapter um. Nun werden bei den Objekten aber keine Klarnamen angezeigt sondern die Zahlenreihe des Gerätes. Ich habe das Gerät aber umbenannt. Ist ein wenig unübersichtlich oder gibt es da einen Trick?
-
@robbi12 sagte in Blockly für zigbeeschalter welcher nur read hat:
@asgothian Danke für die Rückmeldung. Werde es probieren. Noch eine kleine Frage. Ich ziehe gerade von deconz auf den zigbee Adapter um. Nun werden bei den Objekten aber keine Klarnamen angezeigt sondern die Zahlenreihe des Gerätes. Ich habe das Gerät aber umbenannt. Ist ein wenig unübersichtlich oder gibt es da einen Trick?
Nein, da gibt es keinen Trick. Die ID der Geräte entspricht der Hardware-ID. Der “Name” der Geräte entspricht dem was das Gerät a den Adapter meldet. Dieser kann geändert werden und der Adapter merkt sich das selbst wenn das Gerät aus dem Adapter gelöscht und neu angelernt wird.
A.
-
@paul53 Wie würde ich dann eine Markisenschaltung machen?
Der Schalter schaltet kompliziert für mich.
Rechte Taste gedrückt dann on_right. Nochmal gedrückt off-right. Das gleiche links, also on_left und off_left.
Wie gesagt es werden die Werte nicht geändert (steht also immer auf false". Der Zeitstempel wird geändert.
Dann gibts noch was wenn man länger drückt:
brightness-move-down-right. brightness-move-up.right und brightness-stop-right.
Das gleiche für links
-
@robbi12 sagte: Wie würde ich dann eine Markisenschaltung machen?
Welche Datenpunkte hat die Markise zum Steuern?
Triggere auf "wurde aktualisiert" und- "on_right": Markise auffahren
- "on_left": Markise zufahren
- "off_right", "off_left": Markise stopp
-
@robbi12 sagte in Blockly für zigbeeschalter welcher nur read hat:
@paul53 Wie würde ich dann eine Markisenschaltung machen?
Der Schalter schaltet kompliziert für mich.
Rechte Taste gedrückt dann on_right. Nochmal gedrückt off-right. Das gleiche links, also on_left und off_left.
Wie gesagt es werden die Werte nicht geändert (steht also immer auf false". Der Zeitstempel wird geändert.
Dann gibts noch was wenn man länger drückt:
brightness-move-down-right. brightness-move-up.right und brightness-stop-right.
Das gleiche für links
Hast du es mit einem Trigger auf "ist grösser als vorher" versucht ? Es kann sein das der DP nur kurz (500 ms) auf wahr geht und dann wieder auf falsch zurück gesetzt wird. Das sieht man oft nicht wenn man auf den Objektbaum schaut. In diesem Fall wäre die Triggerung auf "wurde aktualisiert" nicht ok
A.
-
@asgothian sagte: Es kann sein das der DP nur kurz (500 ms) auf wahr geht und dann wieder auf falsch zurück gesetzt wird.
Das sollte @Robbi12 testen:
Die Log-Ausgabe gibt Aufschluss über das Verhalten.
-
@paul53 Es ist tatsächlich so. Ganz kurz wird geschaltet.
Mit dem zigbee Adapter ist alles anders. Paul du hattest mir vor kurzem ein schönes script gebastelt für Markisensteuerung mit Werten "1001" und "1002". Das geht nun auch nicht mehr, da hier derjenige Schalter nun anders ausgelesen wird. Hier würde ich mich dann auch nochmal melden.
Aber erstmal hier zurück. Ich danke dir schon dass du dir so viel Mühe gibst.
Ja die Markise wird über einen Shelly 2,5 geschaltet. Da gibts die Punkte Close, Open, Stop
-
@robbi12 sagte in Blockly für zigbeeschalter welcher nur read hat:
@paul53 Es ist tatsächlich so. Ganz kurz wird geschaltet.
Das habe ich erwartet.. die Meldung
ELEVATED publishToState: value generated 'true' from device ... for 'off_right'
entsteht in dem Moment wo der DP auf wahr gesetzt wird. Das Zurücksetzen passiert automatisch durch die Definition als "button"A.
-
@robbi12 sagte: Ganz kurz wird geschaltet.
Dann triggere auf "ist größer als letztes".
-
@paul53 Danke.
Ist es möglich aus den langdrücken Werten was zu basteln damit die Markise so lange fährt wie ich drücke und dann beim loslassen stopt?
Das wären die Datenpunkte
-
@robbi12 sagte: Das wären die Datenpunkte
Wie verhalten sich die DP? Wodurch unterscheiden sich "move_down_right" und "move_up_right" bzw. wie werden sie aktiviert? "stop_right" wird beim Loslassen aktiviert?
-
@paul53 Also durch die rechte Taste des Schalters wird beim langend Drücken der Taste move_down_right geschaltet. Geht wie oben auf true und dann selbständig auf false. Wenn diese Taste erneut gedrückt wird dann geht der Datenpunkt move_up_right kurzfristig auf true und wieder zurück. Dies immer im Wechsel bei erneutem Tastendruck.
stop_right wird beim loslassen aktiviert.
-
@robbi12 sagte: Dies immer im Wechsel bei erneutem Tastendruck.
stop_right wird beim loslassen aktiviert.Versuche es mal so mit Taste rechts = "ausfahren" (close) und Taste links = "einfahren" (open).
-
@paul53 Hallo Paul.. Funktioniert schon fast.
Noch kleine Fehler. Es wird nicht immer geschalten. Ich muss zweimal auf den jeweiligen Schalter drücken.
Beim longpress funktionier es.
-
@paul53 Hallo Paul. Ich hole den Eintrag nochmal hervor.
Wie gesagt es funktioniert, so dass man letztlich damit leben kann.
Perfekt wäre es wenn man die "Kleinigkeit" noch ausbügeln könnte.
Also die Schaltpunkte wechseln folgendermaßen:
rechte Taste: off_right/on_right
linke Taste: off_left/on_left
rechte Taste lang: brightness_move_down_right/brightness_move_up_right
linke Taste lang: brightness_move_down_left/brightness_move_up_left
Beim Landdruck nach dem loslassen immer: brightness_stop_right/brightness_stop_left
Ach ja, dies ist mir auch aufgefallen:
Wenn ich z.B. links drücke und er die Markise ausfährt, beim Drücken auf rechts, stopt sie nicht, sondern fährt dann gleich in die entgegengesetzte Richtung.
Wenn ich nochmal auf links drücke, dann klappt es mit dem Stop
-
@robbi12 sagte: die Markise ausfährt, beim Drücken auf rechts, stopt sie nicht, sondern fährt dann gleich in die entgegengesetzte Richtung.
Wenn ich nochmal auf links drücke, dann klappt es mit dem StopJa, so ist es programmiert.
Soll jeder Tastendruck während des Aus-/Einfahrens stoppen, braucht man die Information, dass die Markise fährt. Gibt es dafür einen Aktor-Datenpunkt? Falls nicht, gibt es einen Datenpunkt, der die Position anzeigt?
EDIT: Blockly-Version mit Auswertung der Position.