Here`s my little example for setting a vitualdevice “feiertag”
(depending to the german holidays)
Problem:
On holiday I want my shutter to stay down in the morning.
Solution

1. php-block
$heute = date(‘d.m.Y’, mktime(0, 0, 0, date(“m”), date(“d”), date(“Y”)));
$diesesjahr = date(“Y”); //dieses Jahr (4-stellig)
$ostern = easter_date( date(“Y”) ); //Ostern dieses Jahr (als Timestamp)
$ostermonat = date(“n” , $ostern ); //der Monat, in dem dieses Ostern liegt
$ostertag = date(“j” , $ostern ); //der Tag, an dem Ostern liegt
$neujahr = date(‘d.m.Y’, mktime(0,0,0,01,01,$diesesjahr));
$koenige = date(‘d.m.Y’, mktime(0,0,0,01,06,$diesesjahr));
$faschingsdienstag = date(‘d.m.Y’, $ostern – 47 * 86400 ); //Faschingsdienstag
$karfreitag = date(‘d.m.Y’, $ostern – 2 * 86400 ); //Karfreitag
$ostermontag = date(‘d.m.Y’, $ostern + 1 * 86400 ); //Ostermontag
$tagderarbeit = date(‘d.m.Y’, mktime(0,0,0,05,01,$diesesjahr));
$himmelfahrt = date(‘d.m.Y’, $ostern + 39 * 86400 );
$pfingstmontag = date(‘d.m.Y’, $ostern + 50 * 86400 );
$frohnleichnam = date(‘d.m.Y’, $ostern + 60 * 86400 );
$mariahimmelfahrt = date(‘d.m.Y’, mktime(0,0,0,08,15,$diesesjahr));
$tagdereinheit = date(‘d.m.Y’, mktime(0,0,0,10,03,$diesesjahr));
$allerheiligen = date(‘d.m.Y’, mktime(0,0,0,10,03,$diesesjahr));
$heiligabend = date(‘d.m.Y’, mktime(0,0,0,12,24,$diesesjahr));
$erstertag = date(‘d.m.Y’, mktime(0,0,0,12,25,$diesesjahr));
$zweitertag = date(‘d.m.Y’, mktime(0,0,0,12,26,$diesesjahr));
2. php-block
if ( $heute == ($neujahr || $koenige || $faschingsdienstag || $karfreitag || $ostermontag|| $tagderarbeit || $himmelfahrt || $pfingstmontag || $frohnleichnam ||
$mariahimmelfahrt || $tagdereinheit || $allerheiligen || $heiligabend || $erstertag || $zweitertag))
{$feiertag =”1″;}
else { $feiertag =”0″;};
(Original-Code for 1. php-block: http://www.klicktipps.de/php-tipps-kirche-feiertage.php)
Greetings from Munich
Andi