FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: Loredo am 13 Oktober 2015, 10:25:14

Titel: Aktuelle Jahreszeit als DOIF Objekt
Beitrag von: Loredo am 13 Oktober 2015, 10:25:14
Um immer die aktuelle Jahreszeit zu haben, habe ich mir ein DOIF erstellt:



define Season DOIF
(
   my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time);
   [00:00] and
   (
      ($mon == 2 && $mday >= 20 )
      || $mon == 3
      || $mon == 4
      || ( $mon == 5 && $mday < 21 )
   )
)

DOELSEIF
(
   my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time);
   [00:00] and
   (   ( $mon == 5 && $mday >= 21 )
      || $mon == 6
      || $mon == 7
      || ( $mon == 8 && $mday < 22 ) )
)

DOELSEIF
(
   my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time);
   [00:00] and
   (   ( $mon == 8 && $mday >= 22 )
      || $mon == 9
      || $mon == 10
      || ( $mon == 11 && $mday < 21 ) )
)

DOELSEIF
(
   my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time);
   [00:00] and
   (   ( $mon == 11 && $mday >= 21 )
      || $mon == 0
      || $mon == 1
      || ( $mon == 2 && $mday < 20 ) )
)


Folgende Attribute wurden gesetzt:

alias Season
cmdState spring|summer|autumn|winter
event-on-change-reading state
eventMap spring:Frühling summer:Sommer autumn:Herbst winter:Winter initialized:---
group Season Details
icon scene_garden room Environment


Ich weiß, dass das statisch ist und man es noch genauer machen kann. Mir reicht es so.
Titel: Antw:Aktuelle Jahreszeit als DOIF Objekt
Beitrag von: P.A.Trick am 13 Oktober 2015, 18:56:39
Wofür benötigt man so etwas?
Titel: Aktuelle Jahreszeit als DOIF Objekt
Beitrag von: Loredo am 13 Oktober 2015, 19:17:12
ich nutze es beispielsweise bei der Heizungssteuerung.

Man kann ganz einfach auf das state-Reading triggern, um zB eine Erinnerung zu verschicken, dass man einen Termin machen sollte die Autoreifen zu wechseln,  den Garten winterfest zu machen, etc.


Gruß
Julian
Titel: Antw:Aktuelle Jahreszeit als DOIF Objekt
Beitrag von: P.A.Trick am 13 Oktober 2015, 19:25:25
Ah ok Danke!
Titel: Antw:Aktuelle Jahreszeit als DOIF Objekt
Beitrag von: harway2007 am 13 Oktober 2015, 23:42:56
deinem Season DOIF fehlen "Klammern"
Titel: Antw:Aktuelle Jahreszeit als DOIF Objekt
Beitrag von: Loredo am 13 Oktober 2015, 23:49:16
aber wo verrätst du nicht?

funktioniert so bei mir ohne weitere Klammern. #copyundpaste


Gruß
Julian
Titel: Antw:Aktuelle Jahreszeit als DOIF Objekt
Beitrag von: harway2007 am 20 Oktober 2015, 20:31:58
war mehr eine Frage :
wenn ich es eingebe kommt die Fehlermeldung:

Season DOIF: no right bracket: (    my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time)
Unknown command $mon++, try help.
Unknown command [00:00], try help.
Unknown command $mon++, try help.
Unknown command [00:00], try help.
Unknown command $mon++, try help.
Unknown command [00:00], try help.
Unknown command $mon++, try help.
Unknown command [00:00], try help.

Titel: Antw:Aktuelle Jahreszeit als DOIF Objekt
Beitrag von: moonsorrox am 21 Oktober 2015, 00:19:28
Zitat von: harway2007 am 20 Oktober 2015, 20:31:58
wenn ich es eingebe kommt die Fehlermeldung:

schau mal was ich hier (http://forum.fhem.de/index.php/topic,42181.msg343807.html#msg343807) geschrieben habe und Loredo gleich darunter geantwortet hat..! :D
Dann geht das auch  ;)