Script anlegen

Ich möchte über ein Script ein neues Script anlegen, und hab dabei das Problem einen Variablenamen zu erstellen.
Wie kann ich die Variable $ID_Rollladen1 anlegen? sobald ich das $ Zeichen voranstelle wird die ID erzeugt und nicht der Text.
Als Ergebnis möchte ich im Script $ID_Rollladen1 = 12345; stehen haben


      	$script_inhalt ="<?"."
";
      	$script_inhalt.="/*"."
";
      	$script_inhalt.="//Sript wurde automatisch angelegt"."
";
        $script_inhalt.="$ID_Rollladen1= $ID_Rollladen1;"."
";
	$script_inhalt.="?>"."
";
        $fn = IPS_GetKernelDir()."scripts\\".$Script_name.".ips.php";
      	$handle=fopen($fn,"w");
      	fwrite($handle,$script_inhalt);
      	fclose($handle);


	$ScriptID = @IPS_GetScriptIDByName($ScriptNAME, $ParentID);
	if ($ScriptID == 0){
		$ScriptID = IPS_CreateScript(0);
		IPS_SetName($ScriptID, $ScriptNAME);
		IPS_SetParent($ScriptID, $ParentID);
		IPS_SetInfo($ScriptID, "This script was created by: #$IPS_SELF#");

Vieleicht so, musst es nur noch anpassen.


'$ID_Rollladen1='

… ist die ganze Magie.:wink:

kann ich $ID_Rollladen1 nicht mit einem hochkomma oder so erstellen damit die ID nicht erzeugt wird? das wird ja sonst sehr kompliziert

der automatisch angelegte Script sollte dann in etwa so aussehen:


<?
//
// Script zum öffnen/schließen des Fenster Rollladen im Wohnzimmer
// Rollladen offen = True
//

$id_Geraet = 29025 /*[COM-Server 8000]*/;
$id_WZ_Rollladen_Fenster = 59560 /*[Wohnzimmer\Rollladen Fenster\Rollladen Fenster]*/;

if (GetValueBoolean($id_WZ_Rollladen_Fenster) == False)
	{
	// Befehl senden WZ Rolladen Fenster auffahren
	CSCK_SendText($id_Geraet,chr(0x02)."052502".chr(0x03)); 			// Rollladen 1 öffnen
	IPS_Sleep(200);
	for($i=0; $i <= 5; $i++)
	{
		// Befehl senden Rolladen Fenster auffahren
		if (GetValueBoolean($id_WZ_Rollladen_Fenster) == False)
		{
			CSCK_SendText($id_Geraet,chr(0x02)."052502".chr(0x03)); 			// Rollladen 1 Fenster auffahren
	 		IPS_Sleep(200);
      }
	}
	}
else
	{
	// Befehl senden WZ Rolladen Fenster zufahren
	CSCK_SendText($id_Geraet,chr(0x02)."052503".chr(0x03)); 			// Rollladen 1 schließen
	IPS_Sleep(200);
	for($i=0; $i <= 5; $i++)
	{
		// Befehl senden Rolladen Fenster zufahren
		if (GetValueBoolean($id_WZ_Rollladen_Fenster) == true)
		{
			CSCK_SendText($id_Geraet,chr(0x02)."052503".chr(0x03)); 			// Rollladen 1 Fenster zufahren
	 		IPS_Sleep(200);
      }
	}
	}
?>



so habe ich mir das auch gedacht, geht aber leider nicht bei mir

$script_inhalt.="'$id_Geraet=' $id_Geraet;"."
";

das ergebnis ist dann zwei mal die ID im Script
‚29025=‘ 29025;


$script_inhalt.='$ID_Rollladen1='."$ID_Rollladen1;
";

:wink:

super, danke