Dokumentation
IPS_GetObjectIDByIdent
Benötigt: IP-Symcon >= 2.5
int IPS_GetObjectIDByIdent (string $ObjektIdent, int $ÜbergeordneteID)
Parameterliste
ObjektIdent | Zu suchender ObjektIdentifikator |
ÜbergeordneteID | Objekt, in dessen direkten Unterobjekten gesucht werden soll |
Rückgabewert
ID des gefundenen Objekts, sonst FALSE
Beschreibung
Die Funktion versucht die ID des Objekts mit dem Identifikator ObjektIdent, dessen übergeordnetes Objekt die ID ÜbergeordneteID besitzt, zu ermitteln. Falls ein solches Objekt gefunden wurde, wird dessen ID zurückgegeben, andernfalls FALSE.
Der Parameter "ObjektIdent" darf kein Leerstring ("") sein.
__Unterschied zu IPS_GetObjectIDByName:__ Da ObjektIdents innerhalb einer Ebene in IP-Symcon eindeutig sind, wird entweder eine einzelne ID zurückgegeben oder eine Warnung generiert.
Sollte der Ident nicht gefunden werden, generiert diese Funktion eine Warnung. Es muss der @ Operator genutzt werden, falls diese Meldung unterdrückt werden soll. Die genau Funktionsweise dieses Operators kann dem PHP Handbuch entnommen werden.
Beispiel
//Diese Funktion kann als Ersatz für IPS_StatusVariableExists verwendet werden.
//Beispiel für IPS_StatusVariableExists($id, "StatusVariable");
echo !(@IPS_GetObjectIDByIdent("StatusVariable", $id) === false);
//Ferner kann diese Funktion auch ein Ersatz für IPS_GetStatusVariableID darstellen.
//Beispiel für IPS_GetStatusVariableID($id, "StatusVariable");
echo IPS_GetObjectIDByIdent("StatusVariable", $id);
$id = IPS_GetObjectIDByIdent($VariableIdent, $InstanceID);
$v = IPS_GetVariable($id);
// Array ab 4.0
$sv = Array(
"VariableID" => $id,
"VariableIdent" => $VariableIdent,
"VariableName" => "N/A",
"VariablePosition" => 0,
"VariableProfile" => $v['VariableProfile'],
"VariableType" => $v['VariableType'],
"VariableHasAction" => ($v['VariableAction'] > 0),
"VariableUseAction" => ($v['VariableAction'] > 0)
);
// Array bis 3.4
$sv = Array(
"VariableID" => $id,
"VariableIdent" => $VariableIdent,
"VariableName" => "N/A",
"VariablePosition" => 0,
"VariableProfile" => $v['VariableProfile'],
"VariableType" => $v['VariableValue']['ValueType'],
"VariableHasAction" => ($v['VariableAction'] > 0),
"VariableUseAction" => ($v['VariableAction'] > 0)
);