Dimmen,Ein/Aus über eine Taste

Begonnen von pronson, 02 September 2017, 23:17:54

Vorheriges Thema - Nächstes Thema

pronson

Hallo zusammen,
ich habe einen HM-PB-6-WM55 (Homematic 6 Tasten Schalter)
gerne würde ich die Tastenbelegung schonen.

Darum möchte ich ein Notify erstellen welches:
1. Beim kurz drücken die Lampe via dim Befehl lansam ein oder ausschaltet, je nach Status des Lampe.
2. Beim langen drücken Dim up oder down ausführt. (Da bin ich mir noch nicht sicher wie ich das ausführen soll, da ich keinen Wert gefunden habe der mir sagt was der Letzte Dim Befehl war. Warscheindliche werde ich beim langen drücken, wenn noch nicht 100% dann auf 100% hochfahren und beim abermaligen langen drücken herunter dimmen)

Bis jetzt stecke ich aber noch bei Punkt 1.

Beim drücken von HM_5008C2_Btn_02.Short, wenn Reading state von PapierlampeTV = on or Reading pct von Papierlampte grösser als 0 soll PapierlampeTV
HM_5008C2_Btn_02.Short { if (ReadingVal("PapierlampeTV","state","default") eq "on" or ReadingVal("PapierlampeTV","pct","1") > 0) {fhem ("set PapierlampeTV down 100 0 5")} else { fhem("set PapierlampeTV up 100 0 5")}}

Ich wäre auch froh, wenn mir jemand einen Hinweis zu Debug tips geben könnte, ich denke, dass wird nicht meine erste Schwierigkeit sein ;)


amenomade

Es hilft oft, die Definition des Notifys über den EventMonitor zu generieren: im EventMonitor die gesamte Zeile des Events markieren, und dann oben rechts "Create/Modify device".

Ansonsten schein dein Code korrekt zu sein, was genau funktioniert nicht?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

Oops, nein, dein Code ist nicht richtig. Die funktion ist "ReadingsVal"
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

pronson

Danke amenomade, das kleine s hat so eine grosse Auswirkung ;)

Dies ist nun mein Finale Code.
Es dauert leider gefühlte 2 Sek. bis er anfängt die Lampe ein oder auszuschalten.
Ich denke es hängt irgendwie mit dem CMD_Pending vom dimmer zusammen, da bin ich aber noch nicht weiter.

HM_5008C2_Btn_02.Short|HM_5008C2_Btn_02:state:.* { if ( ReadingsVal("PapierlampeTV","state","default") eq "on" or  ReadingsVal("PapierlampeTV","pct","1") > 0) {fhem ("set PapierlampeTV down 100 0 5")} else { fhem("set PapierlampeTV up 100 0 5")}}