Hi,
das at-Beispiel aus
diesem älteren Thread klappt bei mir nicht so auf Anhieb:
Damit gibts die Meldung im Log:
2022.07.24 16:01:09 1: PERL WARNING: Use of uninitialized value $d[7] in modulus (%) at (eval 372602) line 1.
2022.07.24 16:01:09 3: eval: my $SELF= $evalSpecials->{'%SELF'};{my @d = split(localtime(time)); if($d[7] % 2) { fhem("set OG_SZ_Sauger clean_zone All;set EG_Lager_Sauger pct 5") }}
localtime(time))
ergibt bei mir Sun Jul 24 17:22:59 2022
{my @d = split(localtime(time));;return $d[7]}
geht bei mir nicht, früher vlt. mal ?
Man muss den ersten Parameter (Pattern) angeben und weil die Rückgabe ja wie oben aussieht, gibts das achte Element nicht.
Wenn ich jedem "Element" eine Variable zuweise wie
hier gleich zu Anfang beschrieben, bekomme ich yday zurück.
Kann mir wer bitte erklären wie ich localtime in dem split anzugeben hätte das auf diese 9 Elemente zugegriffen wird, ich steh da gerade voll auf dem Schlauch ?
Wichtig ist es nicht mehr zur Umsetzung meines Vorhaben, das hab ich jetzt schon kürzer wie das verlinkte Beispiel gelöst (weil das hab ich bisher begriffen wie man direkt auf yday zugreift

) würds aber trotzdem gerne verstehen wie ich das Array bekomme mit den 9 Elementen.
defmod at_Sauger at *11:30:00 {if(strftime("%j",localtime) % 2 ) { fhem("set OG_SZ_Sauger clean_zone All;;set EG_Lager_Sauger pct 5") }}
setstate at_Sauger Next: 11:30:00
setstate at_Sauger 2022-07-24 17:11:16 state Next: 11:30:00
Gruß
Thomas