Frage zum auslesen von Variablen

Hallo zusammen,
bin mal wieder am pröbeln :slight_smile:

Ich versuche gerade aus meinen Scripts, generische Scipts zu machen, also universell einsetzbare. Dazu mache ich ein Script, welches die Variablen aus der PartenID ausliest (Idee von BR Sonos kopiert)

Was ich mache:


$ParentID = IPS_GetParent($_IPS['SELF']);
$dsidob = (br_objGetVarID($ParentID,"dsid"));
$dsid = GetValueString($dsidob);

Zuerst hole ich also die PartenID, danach suche ich nach dsid und danach lese ich den Wert aus der dsid aus.
Meine Frage nun, gibts keinen Befehl, mit welchem ich direkt den Inhalt von dsid auslesen kann? Eigentlich brauche ich ja den Zwischenschritt $dsidob = (br_objGetVarID($ParentID,„dsid“)); gar nicht.

Danke für eure Hilfe!
Space

ich mache das immer mit der Funktion hier:

Diese gibt mir die ID von der Variablen zurück, die ich suche, wenn nicht dann erzeugt das script die variable.
Aufruf dann so:

$varID = CreateVariableByName($_IPS["SELF"],"MeineVariable");
echo getValue($varID);

	/* CreateVariableByName -------------------------------------------------------------------------
		id = Wo soll sie hängen
		name = Name der Variablen
		type:  0: boolean
				 1: integer
				 2: float
				 3: string
		profil: Variablenprofi
	*/
	function CreateVariableByName($id, $name, $type, $profile = "")
	{
		# type: 0=boolean, 1 = integer, 2 = float, 3 = string;
 		 global $_IPS['SELF'];
	    $vid = @IPS_GetVariableIDByName($name, $id);
	    if($vid === false)
	    {
	        $vid = IPS_CreateVariable($type);
	        IPS_SetParent($vid, $id);
	        IPS_SetName($vid, $name);
	        IPS_SetInfo($vid, "this variable was created by script #".$_IPS['SELF']);
	        if($profile !== "") { IPS_SetVariableCustomProfile($vid, $profile); }
	    }
	    return $vid;
	}

Danke, werde ich gleich mal versuchen zu implementieren! Danke!!!