Auf Windows klappt es, das Script ist soweit fertig, bis auf einen kleinen Fehler, es legt leider alles mehrmals an, wie kann ich das verhindern ?
Hier das Script:
<?
$Script = IPS_CreateScript(0);
//$Script = "20083";
$ScriptPath =$Script.".ips.php";
//IPS_SetParent($Script, $Parent);
IPS_SetName($Script, "Variablen");
$scriptinhalt = "<?"."
"; //Text des scriptes
$FileName = IPS_GetKernelDir()."scripts/".$Script.".ips.php";
print $FileName;
$FileHandle = fopen($FileName,"w");
fwrite($FileHandle,$scriptinhalt);
fclose($FileHandle);
//IPS_SetScriptFile($Script, $ScriptPath);
foreach(IPS_GetInstanceList() as $i_id)
{
//echo $i_id;
$i_name0 = IPS_GetName($i_id);
$i_name1 = str_replace(" ","_",$i_name0);
$i_name2 = str_replace("ü","ue",$i_name1);
$i_name3 = str_replace("ä","ae",$i_name2);
$i_name4 = str_replace("ö","oe",$i_name3);
$i_name5 = str_replace("Ü","Ue",$i_name4);
$i_name6 = str_replace("Ä","Ae",$i_name5);
$i_name7 = str_replace("Ö","Oe",$i_name6);
//print $i_name7;
$Zustand_ID = @IPS_GetObjectIDByName("Zustand", $i_id);
$Steuerung_ID = @IPS_GetObjectIDByName("Steuerung", $i_id);
$Level_ID = @IPS_GetObjectIDByName("Level", $i_id);
$Temperatur_ID=@IPS_GetObjectIDByName("Temperatur", $i_id);
$Luftfeuchte_ID=@IPS_GetObjectIDByName("Luftfeuchte", $i_id);
$Soll_Temperatur_ID=@IPS_GetObjectIDByName("Soll Temperatur", $i_id);
$Ventiloeffnung_ID=@IPS_GetObjectIDByName("Ventiloeffnung", $i_id);
//print "Name: $i_name Zustand ID: $Zustand_ID Steuerung ID : $Steuerung_ID $ Level ID: $Level_ID Temperatur ID: $Temperatur_ID Luftfeuchte : $Luftfeuchte_ID Soll Temp: $Soll_Temperatur_ID Ventiloeffnung_ID : $Ventiloeffnung_ID";
$instanz_id_text="$".$i_name7."_ID=".$i_id.";"."
";
if ($Zustand_ID !="")$Zustand_ID_text="$".$i_name7."_Zustand_ID=".$Zustand_ID.";"."
";
if ($Steuerung_ID !="")$Steuerung_ID_text= "$".$i_name7."_Steuerung_ID=".$Steuerung_ID.";"."
";
if ($Level_ID !="")$Level_ID_text= "$".$i_name7."_Level_ID=".$Level_ID.";"."
";
if ($Temperatur_ID !="")$Temperatur_ID_text= "$".$i_name7."_Temperatur_ID=".$Temperatur_ID.";"."
";
if ($Luftfeuchte_ID !="")$Luftfeuchte_ID_text= "$".$i_name7."_Luftfeuchte_ID=".$Luftfeuchte_ID.";"."
";
if ($Soll_Temperatur_ID !="")$Soll_Temperatur_ID_text= "$".$i_name7."_Soll_Temperatur_ID=".$Soll_Temperatur_ID.";"."
";
if ($Ventiloeffnung_ID !="")$Ventiloeffnung_ID_text= "$".$i_name7."_Zustand_ID=".$Ventiloeffnung_ID.";"."
";
$text=("$instanz_id_text
$Zustand_ID_text
$Steuerung_ID_text
$Level_ID_text
$Temperatur_ID_text
$Luftfeuchte_ID_text
$Soll_Temperatur_ID_text
$Ventiloeffnung_ID_text");
//$Script = "20083";
$scriptinhalt = "$text"; //Text des scriptes
//$FileName = IPS_GetKernelDir()."scripts/".$Script.".ips.php";
$FileHandle = fopen($FileName,"a");
fwrite($FileHandle,$scriptinhalt);
fclose($FileHandle);
IPS_SetScriptFile($Script, $ScriptPath);
}
$scriptinhalt = "?>"; //Text des scriptes
//$FileName = IPS_GetKernelDir()."scripts/".$Script.".ips.php";
$FileHandle = fopen($FileName,"a");
fwrite($FileHandle,$scriptinhalt);
fclose($FileHandle);
IPS_SetScriptFile($Script, $ScriptPath);
?>
Es wird ein Script ins IPS angelegt mit dem Namen " variablen", in dieses Script werden dann die einzelnen Variablen angelegt:
$Wohnzimmer_Ventil_ID=40315;
$Wohnzimmer_Ventil_Zustand_ID=25801;
$Wohnzimmer_Soll_Temperatur_ID=54873;
$Wohnzimmer_Soll_Temperatur_Soll_Temperatur_ID=41276;
$Wohnzimmer_Ventil_Zustand_ID=25801;
$Wohnzimmer_Heizung_ID=18371;
$Wohnzimmer_Heizung_Temperatur_ID=34932;
$Wohnzimmer_Heizung_Luftfeuchte_ID=30375;
$Wohnzimmer_Soll_Temperatur_Soll_Temperatur_ID=41276;
$Wohnzimmer_Ventil_Zustand_ID=25801;
$Wohnzimmer_Licht_4_ID=45897;
$Wohnzimmer_Licht_4_Steuerung_ID=50825;
$Wohnzimmer_Licht_4_Level_ID=36616;
$Wohnzimmer_Heizung_Temperatur_ID=34932;
$Wohnzimmer_Heizung_Luftfeuchte_ID=30375;
$Wohnzimmer_Soll_Temperatur_Soll_Temperatur_ID=41276;
$Wohnzimmer_Ventil_Zustand_ID=25801;$Wohnzimmer_Licht_3_ID=32799;
$Wohnzimmer_Licht_3_Steuerung_ID=52132;
$Wohnzimmer_Licht_3_Level_ID=16913;
$Wohnzimmer_Heizung_Temperatur_ID=34932;
$Wohnzimmer_Heizung_Luftfeuchte_ID=30375;
$Wohnzimmer_Soll_Temperatur_Soll_Temperatur_ID=41276;
$Wohnzimmer_Ventil_Zustand_ID=25801;
$Wohnzimmer_Licht_1_ID=46722;
$Wohnzimmer_Licht_1_Steuerung_ID=43323;
$Wohnzimmer_Licht_1_Level_ID=22111;
$Wohnzimmer_Heizung_Temperatur_ID=34932;
$Wohnzimmer_Heizung_Luftfeuchte_ID=30375;
$Wohnzimmer_Soll_Temperatur_Soll_Temperatur_ID=41276;
$Wohnzimmer_Ventil_Zustand_ID=25801;
$Waschmaschine_2_ID=55158;
$Wohnzimmer_Licht_1_Steuerung_ID=43323;
$Wohnzimmer_Licht_1_Level_ID=22111;
$Wohnzimmer_Heizung_Temperatur_ID=34932;
$Wohnzimmer_Heizung_Luftfeuchte_ID=30375;
$Wohnzimmer_Soll_Temperatur_Soll_Temperatur_ID=41276;
$Wohnzimmer_Ventil_Zustand_ID=25801;
$Waschmaschine_1_ID=13027;
$Waschmaschine_1_Zustand_ID=46007;
$Wohnzimmer_Licht_1_Steuerung_ID=43323;
$Wohnzimmer_Licht_1_Level_ID=22111;
$Wohnzimmer_Heizung_Temperatur_ID=34932;
$Wohnzimmer_Heizung_Luftfeuchte_ID=30375;
$Wohnzimmer_Soll_Temperatur_Soll_Temperatur_ID=41276;
$Wohnzimmer_Ventil_Zustand_ID=25801;
$Taster_Erkenner_3_NB_ID=48959;
$Waschmaschine_1_Zustand_ID=46007;
$Wohnzimmer_Licht_1_Steuerung_ID=43323;
$Wohnzimmer_Licht_1_Level_ID=22111;
$Wohnzimmer_Heizung_Temperatur_ID=34932;
$Wohnzimmer_Heizung_Luftfeuchte_ID=30375;
$Wohnzimmer_Soll_Temperatur_Soll_Temperatur_ID=41276;
$Wohnzimmer_Ventil_Zustand_ID=25801;
$Taster_Erkenner_NB_ID=12169;
$Waschmaschine_1_Zustand_ID=46007;
$Wohnzimmer_Licht_1_Steuerung_ID=43323;
$Wohnzimmer_Licht_1_Level_ID=22111;
$Wohnzimmer_Heizung_Temperatur_ID=34932;
$Wohnzimmer_Heizung_Luftfeuchte_ID=30375;
$Wohnzimmer_Soll_Temperatur_Soll_Temperatur_ID=41276;
$Wohnzimmer_Ventil_Zustand_ID=25801;
$Mark_Klingel_ID=45028;
$Waschmaschine_1_Zustand_ID=46007;
$Wohnzimmer_Licht_1_Steuerung_ID=43323;
$Wohnzimmer_Licht_1_Level_ID=22111;
$Wohnzimmer_Heizung_Temperatur_ID=34932;
$Wohnzimmer_Heizung_Luftfeuchte_ID=30375;
$Wohnzimmer_Soll_Temperatur_Soll_Temperatur_ID=41276;
$Wohnzimmer_Ventil_Zustand_ID=25801;
$Spuelmaschine_Verbrauch_ID=26282;
$Waschmaschine_1_Zustand_ID=46007;
$Wohnzimmer_Licht_1_Steuerung_ID=43323;
$Wohnzimmer_Licht_1_Level_ID=22111;
$Wohnzimmer_Heizung_Temperatur_ID=34932;
Warum werden die x mal die selben Variablen eingetragen ?