Rolladen via Parameterdatei steuern

Hier mal ein Script im gleichen Stil meiner Heizungssteuerung über eine Parameterdatei, die einfach mittels Texteditor verändert, bzw. erstellt werden kann.

Die Parameterdatei (hier „Rollo_Schlaf.par“)muss folgendermaßen aufgebaut sein:


Montag;06:30;0
Montag;19:40;97
Dienstag;06:30;0
Dienstag;19:40;97
...
...

hierbei steht die letzte Zahl für die Rolladenpostion in %.

Das Script welches die Datei einliest, auswertet und ausführt sieht dann so aus:

<?
$hour=date("H");
$minute=date("i");
$time = $hour.":".$minute;
$heute = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
$tag = date("w");


$handle = fopen("C:/Programme/IP-SYMCON/web/Parameter/Rollo_Schlaf.par","r");
while ($line = fgets($handle, 1000))
   {
     $parameter = explode(";", $line);	//[0]-Tag, [1]-(Schalt)Zeit, [2]-Position
     $day=$parameter[0];
	  $switchtime=$parameter[1];
     $hm=explode(":",$switchtime);
     $switchtime_erw=date("H:i",mktime($hm[0],$hm[1]+10)); //Timer!!

     $pos=$parameter[2];

	  if($day == $heute[$tag])	//Tag erkannt
	  {
         if(($time>$switchtime) && ($time<=$switchtime_erw))
         {
            $newpos = (integer)$pos;
            FS20_SetPosition(17147,(integer)$newpos);
            echo "Bewege Rollo in Position: ".$newpos;
         }
         else
          echo "kein Schaltvorgang ";
     }
   }
?>

der Pfad für die Parameterdatei muss natürlich eurem System angepasst werden.

Weiterhin muss das Script in diesem Fall alle 10min. getriggert werden.

Wenn ihr eine andere Zeit haben wollt müsst ihr die Zeile wo die Variable „$switchtime_erw“ gesetzt wird (markiert mit dem Vermerk „Timer!!“)
ebenfalls um den Wert wie euer Skript getriggert wird verändern!