FHEM Forum

FHEM => Automatisierung => Thema gestartet von: LotharRappsilber am 21 März 2014, 16:05:30

Titel: FHEM IF-befehl
Beitrag von: LotharRappsilber am 21 März 2014, 16:05:30
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
Titel: Antw:FHEM IF-befehl
Beitrag von: papa am 21 März 2014, 16:54:15
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)

Titel: Antw:FHEM IF-befehl
Beitrag von: LotharRappsilber am 21 März 2014, 17:05:48
Hat funktioniert. Danke!!!!!!!!!!!!
Titel: Antw:FHEM IF-befehl
Beitrag von: Puschel74 am 21 März 2014, 17:09:53
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
Titel: Antw:FHEM IF-befehl
Beitrag von: Damian am 21 März 2014, 18:03:26


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
Titel: Antw:FHEM IF-befehl
Beitrag 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
Titel: Antw:FHEM IF-befehl
Beitrag von: Damian am 22 März 2014, 11:00:27
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
Titel: Antw:FHEM IF-befehl
Beitrag von: LotharRappsilber am 22 März 2014, 11:09:34
Hat funktioniert, Danke Demain