Ich setze den Wassermelder HM-SEC-WDS-2 von Homematic ein. Das Device läuft bei mir unter dem Namen KG.hz.WM.Hzg, mittels event-on-change-reading auf "state" ist sichergestellt, dass jede Statusänderung nur einmal gesendet wird.
Im Reading "state" und "contact" ist der aktuelle Status mit dry, dmap oder wet auslesbar und ich würde diesen gern via pushover auf ein IOS-Gerät transportieren.
Umgesetzt habe ich ich eine wenig elegante Lösung:
define KG.hz.WM.Hzg_trocken notify KG.hz.WM.Hzg:dry set pushmsg msg 'Wasser' 'Trocken unter der Heizung' 'JörnsIPhone6s' 2 ' 'siren' ' 60 600
define KG.hz.WM.Hzg_feucht notify KG.hz.WM.Hzg:damp set pushmsg msg 'Wasser' 'Feucht unter der Heizung' 'JörnsIPhone6s' 2 ' 'siren' ' 60 600
define KG.hz.WM.Hzg_nass notify KG.hz.WM.Hzg:wet set pushmsg msg 'Wasser' 'Nass unter der Heizung' 'JörnsIPhone6s' 2 ' 'siren' ' 60 600
Jetzt verzweifle ich an einer variablen Lösung, die bei jeder Änderung des Readings "state" einen Mischung aus Text und dem Inhalt des Readings versendet.
Mein nachstehender Ansatz überträgt aber nicht den Inhalt des Readings sondern genau den Text, der im Code steht.
define KG.hz.WM.Hzg_var notify KG.hz.WM.Hzg:* set pushmsg msg 'Wasser unter Heizung:' '{ ReadingsVal("KG.hz.WM.Hzg","state","") }' 'JörnsIPhone6s' 2 ' 'siren' ' 60 600
Was mache ich da falsch und wie geht es richtig?
ich würde es so machen (ungetestet)
define KG.hz.WM.Hzg_var notify KG.hz.WM.Hzg:(dry|damp|wet) set pushmsg msg "Wasser unter Heizung: $EVENT" 'JörnsIPhone6s' 2 ' 'siren' ' 60 600
define KG.hz.WM.Hzg_var notify KG.hz.WM.Hzg:* set pushmsg msg title=Wassermelder device=JörnsIPhone6s sound=siren retry=60 expire=600 Wasser unter Heizung: $EVENT
Versuch mal lieber die neue Form.
Super, vielen Dank, funktioniert :)