ich bin mir nicht sicher, ob mein Code so funktioniert:
fhem.cfg:
define LocalWeather Weather 695336 3600 de
attr LocalWeather localicons 1
Garten.cfg:
#########################################################################
## Wasserpumpe anschalten jeden Tag um 10:00
## bei positiven Tiefstemperaturen
#########################################################################
define Garten_Wasserpumpe_an at *10:00 { if (ReadingsVal("LocalWeather","fc1_low_c","999") >= 5) {fhem("set gd_Pumpe on") } }
attr Garten_Wasserpumpe_an room Garten
mit dem Befehl
get LocalWeather fc1_low_c
bekomme ich
LocalWeather fc1_low_c => -4
trotzdem erscheint in "everything"
Garten_Wasserpumpe_an Next: 10:00:00
obwohl die Temperatur kleiner als 5 Grad ist.
liegt hier ein Fehler meinerseits vor, oder muss ich 1 Stunde abwarten, bis die Yahoo Werte neu eingelesen wurden?
so wie ich das sehe schaltet die pumpe um 10:00 Uhr ein aber nur dann wenn die Temperatur > 5 grad ist
was willst du den wirklich Erreichen?
genau das. Es handelt sich um eine Umwälzpumpe für einen kleinen Gartenteich.
Ich schalte die Pumpe unconditional jeden Tag um 22:00 ab, egal ob sie eingeschaltet war. oder nicht
#########################################################################
## Wasserpumpe anschalten jeden Tag um 10:00
## bei positiven Temperaturen
#########################################################################
define Garten_Wasserpumpe_an at *10:00 { if (ReadingsVal("LocalWeather","fc1_low_c","-999") >= 5) {fhem("set gd_Pumpe on") } }
attr Garten_Wasserpumpe_an room Garten
#########################################################################
## Wasserpumpe abschalten jeden Tag um 22:00
#########################################################################
define Garten_Wasserpumpe_aus at *22:00 set gd_Pumpe off
attr Garten_Wasserpumpe_aus room Garten
dadurch das die Tiefstemperatur -4° ist, sollte die Pumpe doch nicht eingeschaltet werden.
Trotzdem erscheint in den "at" events: Garten_Wasserpumpe_an 10:00
Oder habe ich einen Denkfehler, daß das "at" event immer um 10:00 durchgeführt wird, und dabei erst die Kondition geprüft wird?
Hallo,
jetzt wäre noch gut zu wissen was nicht klappt.
Grüße
Hi!
Vielleicht reicht dir das schon:
define Check_Temp notify Local_Wetter:(fc1_low_c.*){\
if (isday()) && (ReadingsVal("Local_Wetter", "fc1_low_c","") > 5) {fhem("set gd_pumpe on")}}
...ist natürlich auch abwandelbar :-)
MfG, MisterEltako.
Alles ist gut,
ich hatte tatsächlich den Denkfehler, daß das at-event gleichbedeutend mit dem Einschalten ist, was natürlich nicht stimmt.
Ich habe die Zeiten mal so gestellt, daß ich das at-event beobachten kann:
define Garten_Wasserpumpe_an at *19:27 { if (ReadingsVal("LocalWeather","fc1_low_c","-999") >= 5) {fhem("set gd_Pumpe on") } }
attr Garten_Wasserpumpe_an room Garten
Zur Triggerzeit ist nichts passiert.
Ich habe testweise die Bedingung umgekehrt:
define Garten_Wasserpumpe_an at *19:29 { if (ReadingsVal("LocalWeather","fc1_low_c","-999") <= 5) {fhem("set gd_Pumpe on") } }
attr Garten_Wasserpumpe_an room Garten
Zur neuen Triggerzeit wurde die Pumpe eingeschaltet
Sorry, das ich vorschnell gepostet habe.
Aber vielleicht hilft das Codeschnipsel ja jemandem.
na wenigstens klappt es jetzt