NEWS
Test Adapter Shelly v3.3.4 (latest)
-
@CrunkFX , schade, ich habe es jetzt wieder geändert, dass ich es so setze wie der Shelly Adapter es mir liefert.
-
@Stuebi Ich werd selbst nochmal ein wenig rumspielen. Falls sich was ergibt geb ich dir Bescheid.
-
@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 schlimmMFG
CrunkFX -
-
@Stuebi
Schau mal, das hab ich in der History bereits probiert, ohne Erfolg. -
@CrunkFX und die Lösung mit undefined? Hast die sich getestet?
-
@Stuebi Bin dabei
-
@Stuebi Wert bleibt false.
Er wird zwar hier beim Loslassen immer wieder auf false gesetzt:194| mqtt_publish_funct: async (value, self) => { if (value == 0) { shellyHelper.setValueForId(self, 'lights.longpush1', false); return false; } else { return true; } },
Aber hier nicht auf true:
213| mqtt_publish_funct: (value) => { return value == 1 ? true : undefined; }
-
@CrunkFX , die erste Anweisung macht eigentlich keinen Sinn, da in der Helper Methode der eigene DP gesetzt wird. Das geht auch mit return true oder false. Ist der MQTT Longpush wett jemals 1?
-
@Stuebi So sieht einmal Longpush mit loslassen in MQTT aus:
Es sieht danach aus, als würde bei benutzung der Helper Methode dieser Teil:'lights.longpush1': {
Garnicht mehr abgefragt
-
hi!
@CrunkFX said in Test Adapter Shelly v3.3.4 (latest):@Stuebi Das brauchst du ja auch nicht das mach shelly. Wenn >1000ms gedrückt wird longpress getriggert
">"1000 ms sollte heissen longpress
<1000 ms sollte heissen shortpressnicht ganz richtig! die longpush time kannst du einstellen!
-
@da_Woody Ist korrekt, steht bei mir aber auf 1000ms.
-
hi!
@CrunkFX said in Test Adapter Shelly v3.3.4 (latest):@da_Woody Ist korrekt, steht bei mir aber auf 1000ms.
wollte nur drauf hinweisen damit da kein missverständniss entsteht und die 1000 als fixwert genommen wird...
-
@Stuebi Das Problem hier:
---> mqtt_publish_funct: (value) => { if (value == 1) {return true; } }
scheint zu sein, dass sich der Wert bei longpush nicht ändert sondern 1 bleibt. Drückt man den Taster ganz kurz < 500ms und lässt ihn dann wieder los, wird sporadisch der Wert longpush auf 0 gesetzt was laut API shortpush ist. Wenn dann der Taster lange gedrückt wird funktioniert longpush. Der geht dann auf true und beim loslassen auf false. Zu diesem Zeitpunkt hat longpush aber noch immer die 1 und erlaubt keine weitere ausführung bis man das ganze wiederholt. Es sei denn man nutzt das:
---> mqtt_publish_funct: async (value, self) => { if (value == 1) { shellyHelper.setValueForId(self, 'lights.longpush1', true);}},
dann scheint das egal zu sein.
Kann man das umgehen, dass bei gleichbleibenden Werten nicht erneut getriggert wird? -
@da_Woody Hm, bist du sicher, dass es diese Einstellung in der aktuellsten Firmware noch gibt? Welche Version ist auf deinen Shellies installiert? Von welchem device ist der Screenshot?
Ich habe dieses Setting „longpush time“ auch schon mal gesehen. Aber bei mir in der jeweils aktuellsten Firmware (1.7.0) ist der Eintrag zum ändern der Longpush Zeit sowohl im Dimmer 1 als auch beim RGBW2 nicht mehr vorhanden. Oder ich übersehe ihn -
@Domingo
Schaust du per app oder per webif, in der app kann ich das auch nicht. Per webif aber schon. -
@e-s nutze die App gar nicht. Also Web gui.
Sprichst du vom Dimmer 1? Oder RGBW2?
Welche Firmwareversion hast du installiert?
Also ich hab grad nochmal geschaut im Web GUI für den RGBW2 (FW 1.7.3) und Dimmer 1 (FW 1.7.0) jeweils unter dem Punkt Settings. Da will er mir nix anzeigen zum Thema longpush time. Seltsam. Gesehen hab ich das auch schon mal. Aber is weg bei mir.
-
@Stuebi RGBW2 Input via CoAP läuft einwandfrei, longpush DP fehlen noch, aber sagtest du ja, ist beim RGBW2 noch nicht implementiert.
Also insofern bis hierhin alles richtig. Good Job.