NEWS
Test Adapter Shelly v3.3.4 (latest)
-
@e-s , okay dann passt es ja , wie ich es umgesetzt habe. Schade, das Shelly den Longpush nicht wie bei CoAP zurücksetzt
@Stuebi Ich würde den Longpush via /input wert 0 zurücksetzen lassen, damit es hier keine verwirrung gibt. Immer wenn longpush losgelassen wird wird auch input losgelassen, somit wäre das doch ein guter Ersatz oder? Das Problem ist nämlich bei der jetzigen Umsetzung, dass in IOB ja der Wert longpress nur getriggert wird, falls jemand ne komlexe Steuerung mit der Input high zeit bauen will funktioniert das so nicht.
-
@Stuebi Ich würde den Longpush via /input wert 0 zurücksetzen lassen, damit es hier keine verwirrung gibt. Immer wenn longpush losgelassen wird wird auch input losgelassen, somit wäre das doch ein guter Ersatz oder? Das Problem ist nämlich bei der jetzigen Umsetzung, dass in IOB ja der Wert longpress nur getriggert wird, falls jemand ne komlexe Steuerung mit der Input high zeit bauen will funktioniert das so nicht.
-
@CrunkFX , es wäre möglich wenn Input == 0 ist, Longpush auch auf 0 zu setzen.
Aber bei short press ist Input == 1 , dann würde Longpush weiter auf 1 stehen bleiben@Stuebi Was ja kein Problem ist, da MQTT doch eh gepusht wird, somit ist der Trigger 1 doch nur aktiv wenn er reinkommt danach schwebt die 1 ja nur im Raum ohne bewandnis, kommt eine neue 1 wird wieder getriggert. Währenddessen kommt eine 0 im /input channel die den Datenpunkt zurücksetzt bis ne neue 1 im /longpress channel kommt oder sehe ich das falsch? Und nach Shortpress kommt ja auch wieder die 0.
-
@Stuebi Was ja kein Problem ist, da MQTT doch eh gepusht wird, somit ist der Trigger 1 doch nur aktiv wenn er reinkommt danach schwebt die 1 ja nur im Raum ohne bewandnis, kommt eine neue 1 wird wieder getriggert. Währenddessen kommt eine 0 im /input channel die den Datenpunkt zurücksetzt bis ne neue 1 im /longpress channel kommt oder sehe ich das falsch? Und nach Shortpress kommt ja auch wieder die 0.
@CrunkFX Also
Taster gedrückt <1000ms
/input = 1 --> DP true
/longpress = 1 aber nicht getriggert
dann loslassen
/input = 0 --> Beide DP falseTaster gedrückt >1000ms
/input = 1 --> DP true (oder false je nach belieben)
/longpress = 1 getriggert --> DP true
dann loslassen
/input = 0 --> Beide DP false -
@CrunkFX Also
Taster gedrückt <1000ms
/input = 1 --> DP true
/longpress = 1 aber nicht getriggert
dann loslassen
/input = 0 --> Beide DP falseTaster gedrückt >1000ms
/input = 1 --> DP true (oder false je nach belieben)
/longpress = 1 getriggert --> DP true
dann loslassen
/input = 0 --> Beide DP false -
@Stuebi Vom Ansatz her Quasi so, ich hab nur von JS so gut wie null Ahnung aber es sollte zu verstehen sein falls nicht kein problem:
mqtt: { mqtt_publish: 'shellies/shellydimmer2-<deviceid>/longpush/0', mqtt_publish_funct: (value) => { return value == 1 && true }, }, mqtt: { mqtt_publish: 'shellies/shellydimmer2-<deviceid>/input/0', mqtt_publish_funct: (value) => { return value == 0 && false }, } -
@Stuebi Vom Ansatz her Quasi so, ich hab nur von JS so gut wie null Ahnung aber es sollte zu verstehen sein falls nicht kein problem:
mqtt: { mqtt_publish: 'shellies/shellydimmer2-<deviceid>/longpush/0', mqtt_publish_funct: (value) => { return value == 1 && true }, }, mqtt: { mqtt_publish: 'shellies/shellydimmer2-<deviceid>/input/0', mqtt_publish_funct: (value) => { return value == 0 && false }, } -
@CrunkFX , ich habe es einmal in der Version 3.3.5 eingebaut für MQTT und Dimmer 2. Kannst Du die Version 3.3.5 nochmals per GitHub herunterladen und die Instanz neu starten
-
@CrunkFX , ich habe es einmal in der Version 3.3.5 eingebaut für MQTT und Dimmer 2. Kannst Du die Version 3.3.5 nochmals per GitHub herunterladen und die Instanz neu starten
-
@Stuebi Nur ne vermutung, hab ja keine ahnung aber muss hier nicht nur lights stehen statt lights1?

-
@CrunkFX, genau, habe ich auch gerade gesehen und eben korrigiert. Kannst Du bitte nochmals die Version 3.3.5 von GitHub laden und die Instanz neu starten.
-
@CrunkFX , schade, ich habe es jetzt wieder geändert, dass ich es so setze wie der Shelly Adapter es mir liefert.
-
@Stuebi Ließe sich input und longpush auf ähnliche Weise auch für den RGBW2 implementieren oder wären da noch weitere Infos nötig?
-
@Stuebi Moin, ich hab´s doch noch hinbekommen. Um zu veranschaulichen was ich geändert hab und um Überprüfen zu lassen ob ich ne Programmaturgische Sauerei veranstaltet hab hab ich mal deine Repo geforked.
Der Unterschied zu deiner Lösung ist diese Zeilemqtt_publish: 'shellies/shellydimmer2-<deviceid>/longpush/0', ---> mqtt_publish_funct: (value) => { if (value == 1) {return true; } }So bleibt der Wert immer false. Ersetze ich das mit dem ShellyHelper geht´s:
mqtt_publish: 'shellies/shellydimmer2-<deviceid>/longpush/0', ---> mqtt_publish_funct: async (value, self) => { if (value == 1) { shellyHelper.setValueForId(self, 'lights.longpush1', true);}},https://github.com/CrunkFX/ioBroker.shelly
!!Video!!
Schau mal ob das so geht, wenn nicht ist auch nicht schlimm :face_with_cowboy_hat:MFG
CrunkFX -
@Stuebi Moin, ich hab´s doch noch hinbekommen. Um zu veranschaulichen was ich geändert hab und um Überprüfen zu lassen ob ich ne Programmaturgische Sauerei veranstaltet hab hab ich mal deine Repo geforked.
Der Unterschied zu deiner Lösung ist diese Zeilemqtt_publish: 'shellies/shellydimmer2-<deviceid>/longpush/0', ---> mqtt_publish_funct: (value) => { if (value == 1) {return true; } }So bleibt der Wert immer false. Ersetze ich das mit dem ShellyHelper geht´s:
mqtt_publish: 'shellies/shellydimmer2-<deviceid>/longpush/0', ---> mqtt_publish_funct: async (value, self) => { if (value == 1) { shellyHelper.setValueForId(self, 'lights.longpush1', true);}},https://github.com/CrunkFX/ioBroker.shelly
!!Video!!
Schau mal ob das so geht, wenn nicht ist auch nicht schlimm :face_with_cowboy_hat:MFG
CrunkFX -
