FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Alex85 am 04 Dezember 2015, 12:32:38

Titel: Notifizierung bei Unterschreitung eines Temperaturwertes
Beitrag von: Alex85 am 04 Dezember 2015, 12:32:38
Hallo zusammen,

wollte mir eine einfache Notifizierung erstellen, wenn die Warmwasssertemperatur <= Heizraumtemperatur ist.
Leider funktioniert es nicht wenn ich den temperatursensor (OneWire_Sensor1) auf einen Wert unter dem von OneWire_Sensor0 einstelle über:
set OneWire_Sensor1 19 oder auch set OneWire_Sensor1 19.00

Das hier ist die Definition der Überwachung:

#Überwachung: Heizung
define WarmwasserBetrieb dummy
attr WarmwasserBetrieb alias Warmwasserbereitung
attr WarmwasserBetrieb devStateIcon off:ampel_rot on:ampel_gruen
attr WarmwasserBetrieb event-on-change-reading state
attr WarmwasserBetrieb room Keller,Zentralheizung

define WarmwasserBetriebAn notify OneWire_Sensor1:state.* {fhem ("set WarmwasserBetrieb on") if (ReadingsNum("OneWire_Sensor1","state","") > (ReadingsNum("OneWire_Sensor0","state","") && Value("WarmwasserBetrieb") ne "on"))}

define WarmwasserBetriebAus notify OneWire_Sensor1:state.* {fhem ("set WarmwasserBetrieb off") if (ReadingsNum("OneWire_Sensor1","state","") <= (ReadingsNum("OneWire_Sensor0","state","") && Value("WarmwasserBetrieb") ne "off"))}

#Benachrichtigen bei zu niedriger Warmwassertemperatur: Hirschtal
define WarmwasserPushover notify WarmwasserBetrieb:off { system ("curl -s -F 'token=xyz' -F 'user=xyz' -F 'message=Warmwassertemperatur niedrig:\nHeizung überprüfen!' https://api.pushover.net/1/messages.json")}


Warum funktioniert das notify nicht?
Kann da jmd. einen Tipp geben? (vlt. auch wie ich das anders umsetzen könnte - brauche ich hier einen watchdog?)
Titel: Antw:Notifizierung bei Unterschreitung eines Temperaturwertes
Beitrag von: rudolfkoenig am 04 Dezember 2015, 13:23:29
Um Hilfe zu Selbsthilfe zu geben:
- state wird normalerweise im notify _nicht_ verarbeitet, dazu ist ein Attribut notwendig
- Reading nicht mit Event gleichsetzen. Am besten den Event-Monitor beobachten, oder die Werte aus eventType bzw. Notify-Regexp-Wizard nehmen.
- Die von notify ausgefuehrten Befehle kann man direkt in der Eingabezeile ausfuehren, bzw. das notify mit einem passenden trigger selbst dazu veranlassen.
Titel: Antw:Notifizierung bei Unterschreitung eines Temperaturwertes
Beitrag von: frank am 04 Dezember 2015, 13:49:59
ich denke, dass dein notify funktioniert.
die klammersetzung im if entspricht wahrscheinlich nicht dem, was du eigentlich möchtest. wahrscheinlich willst du dieses:

if ((ReadingsNum("OneWire_Sensor1","state","") > ReadingsNum("OneWire_Sensor0","state","")) && (Value("WarmwasserBetrieb") ne "on"))
Titel: Antw:Notifizierung bei Unterschreitung eines Temperaturwertes
Beitrag von: Alex85 am 04 Dezember 2015, 15:13:59
Danke Frank.
Das war das Problem.
Jetzt scheint es zu funktionieren.