Man kann mit dem Perl if z.b nach Wochentagen selektieren, z.b. so:
define licht_aus at *00:01:00 { if (($wday == 3) || ($wday == 4)) { fhem("set LICHT off") } }
Ich würde das auch gerne mit Monaten machen.
Kann jemand bestätigen, dass
define licht_aus at *00:01:00 { if (($mon == 0)) { fhem("set LICHT off") } }
funktionieren würde, wenn ich möchte, dass jeden Tag im Januar um 00:01:00 geschaltet wird? Perls Monatszählweise war doch 0-11 oder?
Ja, ich könnte das auch testen ohne euch zu fragen, aber da es um Monate geht ist ein Test ein wenig unhandlicher, wenn man das Ergebnis positiv und negativ testen will, daher die Frage.
Hallo,
testen kannst du ganz einfach mit dem setter execNow
Aus der commandref:
ZitatexecNow
Führt das mit dem at spezifizierte Befehl aus. Beeinflußt nicht die Ausführungszeiten relativer Spezifikationen.
Und prüfen was die Variable $mon zurückgibt über die Kommandozeile in FHEM, einfach die Variable in {} eingeben -> {$mon}
Das wird allerdings eine Meldung zurückgeben das es die Variable nicht gibt, würds mal mit $month probieren.
Das erklärt dann auch die Monatszählweise.
Um das AT mit execNow zu prüfen nimmst halt den aktuellen Monat.
Gruß
Thomas
Ja, ist trotzdem alles noch aufwändiger als jemand weiss es zufällig*
Aber danke, {$month} gibt 12 zurück.
Das würde ja meinen bisherigen Suchergbnisen bereits widersprechen LOL ($mon und 0-11 habe ich mir ja nicht ausgedacht, sondern gefunden, kam mir aber schon komisch vor)
So oder so: Danke für die Antwort, komme ich weiter mit.
*Ich weiß, dass es in Foren - auch diesem - diese Schule gibt "Wir beantworten keine Fragen, wenn man das durch suchen irgendwo selbst rausfinden kann, also praktisch nie", ich gehöre der aber nicht an und habe immer wieder mal die Hoffnung, dass ich da nicht der Einzige bin.)