Hallo,
wenn ich
define Poolwasser_Temp IF ([Poolwasser:temperatur:d] >= 26 ) (set Heizungspumpe off)
eingebe, erhalte ich unbekanntes Modul IF, obwohl es in \opt\fhem\FHEM\ da ist. Warum?
Gruß
Lothar
IF ist kein eigenes Device, sondern kann in einem Notify verwendet werden. Das ganze sollte so funktionieren:
define Poolwasser_Temp notify Poolwasser:temperature IF ([Poolwasser:temperatur:d] >= 26 ) (set Heizungspumpe off)
Hat funktioniert. Danke!!!!!!!!!!!!
Hallo Lothar,
räumst du dann hinter dir mal ein bischen auf und bearbeitest die jeweiligen ersten Beiträge und setzt dem Titel ein (Gelöst) vorne dran und schreibst bitte noch in den ersten (oder letzten) Beitrag die Lösung.
Danke ;)
Grüße
define Poolwasser_Temp notify Poolwasser:temperature IF ([Poolwasser:temperatur:d] >= 26 ) (set Heizungspumpe off)
Auch wenn es funktioniert und die Syntax korrekt ist, ist es keine gute Lösung zum Schalten der Heizungspumpe.
Es wird hierbei jedes Mal, wenn dein Temperatursensor eine Temperatur über 26 Grad sendet, der Befehl "set Heizungspumpe off" gesendet.
So etwas machst du besser mit:
define TH_Heizungspumpe THRESHOLD Poolwasser:temperature:0:26 Heizungspumpe
So wird nur einmal "set Heizungspumpe off" geschaltet, wenn die Temperatur die Grenze von 26 Grad überschreitet und die Pumpe geht wieder an, wenn die Temperatur 26 Grad unterschreitet. Das Einschalten der Pumpe kann man auch unterbinden, wenn gewünscht.
Genaueres zum THRESHOLD-Modul siehe hier: http://fhem.de/commandref_DE.html#THRESHOLD
Gruß
Damian
Habe ich verstanden. Brauch trotzdem noch eure Hilfe. Mein Code sieht jetzt so aus
define TH_Heizungspumpe THRESHOLD Poolwasser:state:0:26 Heizungspumpe
aber woher weis er, dass die Temperatur größer 26Grad ist, wo in den Readings T: und H: übertragen wird? siehe Screenshot
Zitat von: LotharRappsilber am 22 März 2014, 10:56:04
Habe ich verstanden. Brauch trotzdem noch eure Hilfe. Mein Code sieht jetzt so aus
define TH_Heizungspumpe THRESHOLD Poolwasser:state:0:26 Heizungspumpe
aber woher weis er, dass die Temperatur größer 26Grad ist, wo in den Readings T: und H: übertragen wird? siehe Screenshot
Du musst meinen Vorschlag schon richtig übernehmen:
define TH_Heizungspumpe THRESHOLD Poolwasser:temperature:0:26 Heizungspumpe
Ich habe
"temperature" und nicht
"state" angeben, denn dort steht ja auch die Temperatur bei dir.
Gruß
Damian
Hat funktioniert, Danke Demain