Hallo, ich habe da noch mal eine Anfängerfrage...
Ich verzweifel gerade an einer Batteriewarnung, die mich am ersten Sonntag des Monats über eine Pushnachricht darüber informieren soll ob eine Batterie gewechselt werden muss.
Leider wird mein Verusuch mit {if ($mday<=6 && $wday==0) ignoriert und die Nachrichten werden stur jeden morgen um 10 Uhr abgeschickt.
Ich habe folgenden Code verwendet:
define Batteriewarnung at *10:00:00 {if ($mday<=6 && $wday==0)\
{if (ReadingsVal("Heat_OG_Eingang", "battery", "-1") eq "low")\
{fhem("set pushmsg message Bitte Batterie tauschen_Heizungsthermostat Obergeschoss Eingang (Heat_OG_Eingang)")}\
};;\
{if (ReadingsVal("Temp.Garten.Terrasse", "battery", "-1") eq "low")\
{fhem("set pushmsg message Bitte Batterie tauschen_Temperatursensor Garten (Temp.Garten.Terrasse)")}\
};;\
{if (ReadingsVal("Temp.OG.Eingang", "battery", "-1") eq "low")\
{fhem("set pushmsg message Bitte Batterie tauschen_Temperatursensor Obergeschoss Eingang (Temp.OG.Eingang)")}\
};;\
{if (ReadingsVal("Win_OG_Eingang_1", "battery", "-1") eq "low")\
{fhem("set pushmsg message Bitte Batterie tauschen_Fensterkontakt 1 Obergeschoss Eingang (Win_OG_Eingang_1)")}\
};;\
}
Um trotz voller Batterien eine Push Nachricht zu erzwingen habe ich in meinem Code zusätzlich bei einem Device noch eq "low" durch eq "ok" ersetzt.
Aber was habe ich jetzt falsch gemacht?
Kann es sein, dass ein Klammer fehlt:
falsch:
define Batteriewarnung at *10:00:00 {if ($mday<=6 && $wday==0)\
richtig:
define Batteriewarnung at *10:00:00 {if (($mday<=6) && ($wday==0))\
Ich gehe von aus das Deine Abfragen nach der Tagesabfrage in der selben Ebene sind wie die Tagesabfrage. Aber auf nem Tablet und bei der Formatierung von Dir sehe ich das nicht.
Und noch ein Tip. Schau Dir mal jeden Monat im Kalender an und achte darauf wann der erste Sonntag vom Tagesdatum kleiner gleich 6 ist.
Grüße