IPS_GetObjectIDByIdent - Objekt wird nicht erkannt?!

Hallo,

ich begreife es nicht, beim Versuch die Funktion IPS_GetObjectIDByIdent zu nutzen, habe ich die folgende Situation:

Symcon2.jpg

$id = IPS_GetObjectIDByIdent("Status",34272 /*[Basis-System Haus\Untergeschoss\Medienzimmer\IT\FSZ AP Fritzbox 7490]*/);        
echo $id;

Im Ergebnis sagt IPS, dass es das Objekt nicht findet!!!??? Den selben Effekt kann ich bei vielen anderen Objekten verzeichnen. Erfolg hatte ich bei etlichen Homematic Instanzen, bei denen die Unterobjekte groß geschrieben werden. Hat dies einen Einfluss? Ich bin ratlos, hat jemand eine Idee? Danke!

Gruß
Frank

So wie ich das sehe ist das nicht der Ident, sondern der Name.
Also IPS_GetObjectIDbyName sollte funktionieren.
Oder hast Du einem IDENT für diese Variable vergeben?
Gruß,
Peter

Gesendet von iPhone mit Tapatalk

Hallo Frank,

die Frage von Peter, ob für Deine Objekte IDENTs bestehen, kannst Du Dir beantworten, wenn Du dieses Skript laufen läßt, als $ObjID die ID der Wurzel des Objektteilbaumes eingeben.

Zum Eintragen von Idents habe ich für mich ein kleines Hilfsskript:

<?

$ObjID = 50458 /*[Module]*/  ;
$NeuIdent = 'Modul';


$AltIdent = false;
if (IPS_GetObject ($ObjID)['ObjectType'] < 1) {
    $Liste = IPS_GetCategoryList ();
    $AltIdent = false;
    foreach ($Liste as $ID) {
        if (IPS_GetObject ($ID)['ObjectIdent'] == $NeuIdent) {
            $AltIdent = $ID;
            break;
        }
    }
}
if ($AltIdent === false) {
    $Ident = IPS_GetObject ($ObjID)['ObjectIdent'];
    if ($Ident) {
        print("Ident bereits eingetragen: $Ident");
    } else {
    IPS_SetIdent ($ObjID, $NeuIdent);
        print("Ident ist jetzt eingetragen in $ObjID: " . IPS_GetObject ($ObjID)['ObjectIdent']);
    }
} else {
    print("Ident bereits eingetragen: $Ident");
}
?>

Viele Grüße
Harald

Viel einfacher:
Einfach rechts auf die Variable klicken => Objekt bearbeiten oder so ähnlich und wenn dann eine Spalte mit Ident auftaucht steht dahinter der Ident des Objektes.
Oder Doppelklick auf die Instanz und den Reiter Statusvariablen öffnen.
Michael

Hallo Zusammen,

sorry, eben erst vom Sonntagsausflug zurüggekehrt. Und danke an Alle, ihr habt natürlich Recht. Die Variante …byName funktioniert natürlich oder eben die Eingabe der Ident Kennung. Bei zwave scheint die Ident-Kennung der Status Varable standardmäßig „StatusVariable“ zu heißen und der Name ist standardmäßig „Status“. Bei Homematic sind die beiden identisch, weshalb es da natürlich funktinoniert. Sorry, mir war der Ident-Kennung nicht bewußt :o. Wieder etwas gelernt! Danke!

Gruß
Frank