FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: KernSani am 26 Dezember 2014, 00:53:12

Titel: Kleine Funktion für Wochenende, Feiertage und Schulferien
Beitrag von: KernSani am 26 Dezember 2014, 00:53:12
Hallo zusammen,

ich hatte einige "at"s abhängig von $we gesteuert und habe dies nun um Schulferien (gemäß http://www.fhemwiki.de/wiki/Wochenende,_Feiertage_und_Schulferien (http://www.fhemwiki.de/wiki/Wochenende,_Feiertage_und_Schulferien)) erweitert. Ich vermute, ich bin nicht der Erste, konnte aber in der Forumssuche nichts finden, daher hier eine (auch für einen Perl und FHEM-Newbie wie mich ziemlich triviale Funktion, um zu vermeiden in jedem "at" auf $we && Value("Ferientag") abfragen zu müssen (ggf. könnten da ja auch noch zusätzliche Kalender dazu kommen):

sub isHoli ($) {
my ($we) = @_;
  if ($we || ReadingsVal("NRW_Holiday",'state',0)) {return 1}
  else {return 0}
}


Im IF wird dann isHoli($we) genutzt. Statt "NRW_Holiday" ist der definierte Kalender-Dummy zu einzusetzen.

Wie gesagt, ziemlich trivial, aber vielleicht hilft's ja dem ein oder anderen...

Grüße,

Oli

Titel: Antw:Kleine Funktion für Wochenende, Feiertage und Schulferien
Beitrag von: kvo1 am 31 Mai 2015, 14:49:42
Hallo Oli,

danke für die Erweiterung. Ich versuche ähnliches gemäß http://www.fhemwiki.de/wiki/Wochenende,_Feiertage_und_Schulferien (http://www.fhemwiki.de/wiki/Wochenende,_Feiertage_und_Schulferien) zu realisieren.

Ich steuere über DOIF meine Jalousien , die am Wochenende halt später runterfahren sollen als Wochentags.
Jetzt möchte ich das Ganze noch um die Feiertage/Schulferien erweitern.
Habe mir dazu den FerienKalender (als ics) in meine Owncloud importiert und weitere freie Tage per Hand
mit dem Text "ferien" eingetragen. Den Kalender lese ich zyklisch (hier zum Test alle 6 Stunden)

define BLN_Ferien Calendar ical url http://USER:PW@SERVER/owncloud/index.php/apps/calendar/export.php?calid=11 3600

Bis dahin alles gut !  Danach gemäß WIKI ein dummy

define BLN_Ferientag dummy

und das notify

define BLN_Ferien_notify notify BLN_Ferien { \
fhem "set BLN_Ferientag " . (ReadingsVal("BLN_Ferien", "modeStart", "") =~ "ferien" ? 1: 0) }


Leider wird bleibt das  dummy "BLN_Ferientag" immer auf 0  :o

Hast Du ne Idee ?
Danke & Gruss
Klaus