HM-CC-RT-DN Benachrichtigung

Begonnen von sampix, 29 November 2015, 10:22:07

Vorheriges Thema - Nächstes Thema

sampix

Hallo zusammen,

ich möchte bei meinem Heizkörperthermostat (HM-CC-RT-DN) eine SMS-Benachrichtigung erhalten, sobald die gemessene Temperatur (measured-temp) über 25° steigt.

Folgenede Versuche sind leider gescheitert:


define WZTempDummy dummy

attr WZTempDummy event-on-change-reading state

define WZTemp notify WZ_Heizung_Clima:T.* { if(ReadingsVal("WZ_Heizung_Clima","T","") > 25.0) { fhem("set WZTempDummy zuwarm");;}}

define WZTempAlert notify WZTempDummy:zuwarm {system ('sudo /opt/fhem/pushbullet.sh&');;}


oder :


define WZTempDummy dummy

attr WZTempDummy event-on-change-reading measured-temp

define WZTemp notify WZ_Heizung_Clima:measured-temp.* { if(ReadingsVal("WZ_Heizung_Clima","measured-temp","") > 25.0) { fhem("set WZTempDummy zuwarm");;}}

define WZTempAlert notify WZTempDummy:zuwarm {system ('sudo /opt/fhem/pushbullet.sh&');;}


Kann mir jemand helfen, vielen Dank im Voraus !

Gruß
sam


dev0

Wird das notify getriggert? Wenn ja, wird die if Bedingung durchlaufen? Gibt es eine Fehlermeldung im fhem-log, wenn das notify getriggert wird?

sampix

Ja notify wird getriggert und obwohl ich mehrmals in die Logfile reingeschaut habe, habe diese Zeile übersehen :

PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 872) line 1.

Gruß
sam

dev0


sampix

Jetzt gibt es keine Fehlermeldung mehr, aber auch keine Benachrichtigung, das Skript pushbullet.sh funktioniert ...

Gruß

dev0

Wird die if Bedingung durchlaufen?

sampix

Nein, ich glaube nicht, in der Logfile gibt es keinen Hinweis darauf !

Gruß
sam

marvin78

Es sieht so aus, als hätte dein Device WZ_Heizung_Clima kein Reading T. Und wenn du einen numerischen Wert auswerten möchtest, macht es zum einen Sinn, ReadingsNum und wenn ReadingsVal, dann als Fallback-Wert keinen String zu verwenden.

dev0


sampix

#9
Mit ReadingsNum funktioniert die if-Anweisung auch nich, falls der Syntax mit ReadingsNum stimmt :)


define WZTempDummy dummy

attr WZTempDummy event-on-change-reading state

define WZTemp notify WZ_Heizung_Clima:T.* { if(ReadingsNum("WZ_Heizung_Clima","T","") gt 20.0) { fhem("set WZTempDummy zuwarm");;}}

define WZTempAlert notify WZTempDummy:zuwarm {system ('sudo /opt/fhem/pushbullet.sh&');;}




Bei WZ_Heizung_Clima unter Readings steht z.B.  :

state T: 24 desired: 22.0 valve: 0
measured-temp 24.0


dev0

Wenn ReadingsNum, dann auch wieder ">" statt "gt". Versuch auch besser auf measured-temp zu triggern als auf T, was vermutlich eher reading "state" als "T" ist. Mit Log oder Log3 kannst Du das auch selbst gut debuggen.

sampix

#11
Leider keine Änderung :



define WZTempDummy dummy

attr WZTempDummy event-on-change-reading state

define WZTemp notify WZ_Heizung_Clima:measured-temp.* { if(ReadingsNum("WZ_Heizung_Clima","measured-temp","") > 20.0) { fhem("set WZTempDummy zuwarm");;}}

define WZTempAlert notify WZTempDummy:zuwarm {system ('sudo /opt/fhem/pushbullet.sh&');;}


In der Log 5 steht :

Triggering WZ_Heizung_Clima (9 changes)
Notify loop for WZ_Heizung_Clima ValvePosition: 0
Triggering WZTemp
WZTemp exec { if(ReadingsNum("WZ_Heizung_Clima","measured-temp","") > 20.0) { fhem("set WZTempDummy zuwarm");;}}
Cmd: >{ if(ReadingsNum("WZ_Heizung_Clima","measured-temp","") > 20.0) { fhem("set WZTempDummy zuwarm");}}<
Cmd: >set WZTempDummy zuwarm<
dummy set WZTempDummy zuwarm



frank

dummy set WZTempDummy zuwarm
das notify funktioniert doch.

vielleicht fehlt deinem dummy das attr setList.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Hollo

Verständnis-Frage:
Warum mit einem notify einen Dummy setzen und mit einem notify auf diesen Dummy dann eine Aktion ausführen?
Kann man nicht direkt measured-temp: 25.0 als Bedingung nehmen und dann die Nachricht schicken?
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

sampix

@Hollo

Es war sehr einfach ohne dummy zu lösen :)

Gruß
sam