verschiedene parameter dateien ansteuern

Hi,
da abhängig von dem Dienstplan meiner Freundin sich die Heizcharakteristik bei uns zuhaus ziemlich ändert, dachte ich es sollte ein leichtes sein den dienstplan in eine textdatei zu schreiben, ein script einmal pro nacht die datei durchlaufen zu lassen, am richtigen monats-tag auszulesen ob das ein tag für Heizcharakteristik 1 oder 2 ist!
Es existiert schon eine Variable, mit der ich das ganze schon manuell von Heizcharakteristik 1 auf 2 und zurück schalten kann. Diese variable muss nur noch vom oben ´beschriebenen script TRUE oder FALSE gesetzt werden.

Parameterdatei sieht so aus:


01;o
02;x
03;x
04;o
05;x
06;x
07;o
...........
23;o
24;x
25;x
26;x
27;x
28;o
29;o
30;o
31;o

Format: [tag des monats];[o=frei und x=dienst]

Mit meinen newbe PHP Kentnissen hab ich versucht das folgendermassen umzusetzen, nicht ganz mit Erfolg :rolleyes:


<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : Dienstplan.ips.php
Trigger  : timer
Interval : daily 00:05
Status   : dev
*/

$tag = date("d");
$month = date("m");   //für dateizugriff
$year = date("Y");    //für dateizugriff
//Automatisch Schalten nach Dienstplan
$handle = fopen("C:/Program Files/IP-Symcon/web/Parameter/Dienstplan/" . $year . "_" . $month . ".par","r");
 while ($line = fgets($handle, 1000))
  {
  $parameter = explode(";", $line); //[0]-Tag, [1]-Dienststatus
  $day=$parameter[0];
  $status=$parameter[1]; //status: o=frei und x=dienst
   if ($day == $tag)  //Tag erkannt
   {
    if($status == "x")
    {
    //SetValueBoolean("Jessi_dienst", TRUE);
     echo "Dienst-variable für den $day.$month.$year auf $status gesetzt";
    }
     else
    {
     //SetValueBoolean("Jessi_dienst", FALSE);
    }

   }
  }
fclose($handle);
?>

drehe mich ein wenig im Kreis. Kann jemand sehen was da schief läuft??

grüsse
Torsten

PS:
gute nacht!!

Hi,
bin hiemit immernoch nicht weitergekommen, muss zugeben, das dies bisher das einzige script ist wo ich überhaupt nicht weiterkomme :confused:

bin mir ziemlich sicher das der fehler im letzten teil von diesem schnipsel ist, aber im moment sehen ich wald nicht vor lauter bäumen :slight_smile:


$handle = fopen("C:/Program Files/IP-Symcon/web/Parameter/Dienstplan/" . $year . "_" . $month . ".par","r"); 
 while ($line = fgets($handle, 1000)) 
  { 
  $parameter = explode(";", $line); //[0]-Tag, [1]-Dienststatus 
  $day=$parameter[0]; 
  $status=$parameter[1]; //status: o=frei und x=dienst 
   if ($day == $tag)  //Tag erkannt 


das ganze hab ich aus der parametersteuerung zusammengebastelt, die funktion ist ja ähnlich

hat jemand nen tip?

mfg
Torsten

Da ist kein Fehler ? Das müsste eigentlich so klappen!?
Gibt der Parser denn eine Fehlermeldung raus? Oder wie macht der Fehler sich bemerkbar?

mfG Franz


if ((int)$day == (int)$tag)

...

if(trim($status) == "x") 

Probier den Vergleich mal so zu stricken, weil ich ad hoc keinen Fehler im Script sehe.

Grüße, paresy

hehe, das is ja eben das komische, hab mich immer so ein bisschen mit „try and error“, php doku lesen durchschlagen können, aber hier kommt nichts, nicht mal ne fehlermeldung :frowning:

@paresy:
Werde deinen Vorschlag mal einbauen sobald ich wieder zuhaus bin.

danke für die hilfe, eigentlich sollte man ja zufrieden sein wenn etwas läuft, aber dann kommt immer nochmal ne schräge idee dazu und das projekt wird 10x aufwendiger als erwartet, ist doch schön oder?

Goil !!
… will sagen: das rockt!!!
Danke paresy, hab die beiden statements eingeflochten und auf anhieb funktioniert.

Sonntag ist gerettet :wink:

grüsse aus Flensburg
Torsten

Hallo,

damit Ihr auch alle wisst, warum das nicht klappen konnte: Du hattest im Array Feld die Endezeichen mit drin, deshalb konnte der verleich nicht klappen, das soweit ich das hier aus der Ferne sehen konnte:-)

Gruss Torro

Hi Torro,

wie is der Schnee ? Ski und Rodel gut ?

Gruß und viel Spass im Schneeurlaub

cAtMaX

Na da würd ich mal sagen, du hast dir deinen Urlaub redlich verdient :wink:
Super, danke nochmal!!

grüsse
Torsten