Hallo
ich suche und suche und finde absolut nicht die Lösung
Folgender code bereitet mir Kopfzerbrechen
WintergartenLicht:on {if ((ReadingsVal("WetterLicht","light","") > 3) && (($hour >=22 || $hour <=17))) { fhem("set WintergartenLicht off")}}
Ich möchte das das WintergartenLicht dann ausgeschaltet wird wenn der Lichtwert größer 3 ist und die Uhrzeit zwischen 22 und 17 Uhr liegt.
Allerdings schaltet er egal was ich hinten eingebe immer dann wenn der Lichtwert zutreffend ist egal was dahinter steht.
Problem ist das OR!
{fhem("set WintergartenLicht off") if (ReadingsNum("WetterLicht","light","") > 3 && ($hour >=22 || $hour <=17))}
Gruß
Dan
EDIT: Sorry Du wolltest ja zwischen 22 und 17 Uhr und nicht 17 bis 22 Uhr.
Meinst du wirklich zwischen 22 und 17 Uhr oder zwischen 17 und 22 Uhr?
Davon Mal ab kannst das mit der Zeit auch raus nehmen und setzt das Attribut disableForInterval.
Moin,
das notify reagiert auf WintergartenLicht:on und der Ausführungsteil ist dann final set WintergartenLicht off ....
Das macht doch keinen Sinn? Oder kommt der Event WintergartenLicht:on als Dauerfeuer?
Ich würde die Aufgabe mit DOIF lösen. (Ich möchte das das WintergartenLicht dann ausgeschaltet wird wenn der Lichtwert größer 3 ist und die Uhrzeit zwischen 22 und 17 Uhr liegt.)
Edit: korrigiert
define di_WGaus DOIF ([22:00 - 17:00] and [WetterLicht:light] > 3)(set WintergartenLicht off)
Oder bei einem notify dem Vorschlag von Cooltux folgen und Wetterlicht als Trigger verwenden. Dazu am einfachsten den Trigger mit dem Eventmonitor auswählen und das notify gleich erzeugen lassen. Dann könnte man auch gleich mit $EVENT oder $EVTPARTx weiter arbeiten.
Gruß Otto
@Otto: in deinem define fehlt vielleicht noch das Wort "DOIF" ;)
Der Ausführungsteil für ein notify ist auch nicht komplizierter.
{ fhem("set WintergartenLicht off") unless (ReadingsNum("WetterLicht","light",99) <= 3 || $hour ~~ [17..22]) }
Wenn man mit ReadingsNum() arbeitet, weil man einen numerischen Wert haben möchte, sollte man nicht unbedingt einen alphanumerischen defaultwert in der Funktion angeben. Aber das nur so nebenbei.
Hallo
Vielen dank für eure Antworten.
Vorweg ich habe es dann wie Otto gesagt hat mit einem DOIF gelöst.
Ja ich möchte das zwischen 22 - 17 uhr das licht ausgeschaltet wird. Grund ist Wintergartenlicht war nur ein test Verwendet wird das ganze in einem Reitstall wo die Pferde permanent am Lichtschalter herumspielen und den 600Watt strahler einschalten....