Hallo zusammen,
ich habe ein DOIF mit Zeitsteuerung definiert. Da ich aber für die erste Berechnung des Status nicht warten möchte, möchte ich das DOIF Device einmalig manuell antriggern. Wie macht man sowas? Ich konnte dazu leider keine Informationen finden :-[
Hintergrund: Ich habe mir ein DOIF zur Berechnung der aktuellen Jahreszeit gebaut:
define di_Season DOIF (
my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time);
$mon++;
[00:00] and
(
($mon == 3 && $mday >= 20 )
|| $mon == 4
|| $mon == 5
|| ( $mon == 6 && $mday < 21 )
)
)
DOELSEIF
(
my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time);
$mon++;
[00:00] and
( ( $mon == 6 && $mday >= 21 )
|| $mon == 7
|| $mon == 8
|| ( $mon == 9 && $mday < 22 ) )
)
DOELSEIF
(
my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time);
$mon++;
[00:00] and
( ( $mon == 9 && $mday >= 22 )
|| $mon == 10
|| $mon == 11
|| ( $mon == 12 && $mday < 21 ) )
)
DOELSEIF
(
my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time);
$mon++;
[00:00] and
( ( $mon == 12 && $mday >= 21 )
|| $mon == 1
|| $mon == 2
|| ( $mon == 3 && $mday < 20 ) )
)
attr di_Season alias Season
attr di_Season cmdState spring|summer|autumn|winter
attr di_Season event-on-change state
Ich weiß, dass ich mit "setreading di_Season state summer" das Reading auch manuell setzen kann, bis es das erste Mal berechnet wird.
Fände es aber besser das Modul irgendwie einmal auszulösen, damit ich dann auch direkt die anderen internen DOIF Readings erstellt bekomme 8)
Hallo,
mal ein bischen klug scheißen: http://calumoth.de/wordpress/php-kalender-teil-4-jahreszeiten-148/
Grüße Jörg
Danke, mir genügt meine Genauigkeit (https://de.wikipedia.org/wiki/Jahreszeit).
Meine Frage lautete anders ;)
Hallo,
Ich wurde es so ähnlich riskieren:
{
my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time);
$mon++;
system("/bin/date 09220000");
system("/bin/date $mon$mday$hour$min");
}
und hoffen, daß zwischenzeitlich nicht zu viele Logeinträge ein falsches Datum aufweisen.
Gruß
Hans