- In der IP-Symcon-Verwaltungskonsole Ansicht ‚Objektbaum‘ auswählen
- das betreffende IP-S Objekt anklicken
- rechte Maustaste -> ‚ObjektID kopieren‘
- in Zeile 3 des folgenden Skriptes mit ‚CTRL-V‘ einkopieren (bzw. vorhandenen Nr. überschreiben)
- Skript ‚Ausführen‘
<?php
// Analysiert das IP-S Objekt mit folgender ObjektID:
$ObjID = 37671 /*[Skripte\Konfiguration\ObjectAnalyse]*/;
$Objekt = IPS_GetObject ($ObjID);
$ObjektTyp = array ('Kategorie', 'Instanz', 'Variable', 'Skript', 'Ereignis', 'Media', 'Link');
print( "Object: $ObjID " . @IPS_GetLocation ($ObjID) . " (ist " . $ObjektTyp[$Objekt['ObjectType']] . ')');
print( "
Parent: " . $Objekt['ParentID'] . ' ' . IPS_GetLocation ($Objekt['ParentID']));
if ($Objekt['HasChildren']) {
print( "
Children: ");
foreach ($Objekt['ChildrenIDs'] as $i => $ChID) {
print( "
$ChID " . IPS_GetLocation ($ChID));
}
}
print("
1. ObjectInfo: ");
print_r ($Objekt);
switch ($Objekt['ObjectType']) {
case 0:
break;
case 1:
$ModuleType = array ('Kern', 'I/O', 'Splitter', 'Gerät', 'Konfigurator');
print("
2. InstanceInfo (" . $ModuleType[IPS_GetInstance ($ObjID)['ModuleInfo']['ModuleType']] . '): ');
print_r (IPS_GetInstance ($ObjID));
break;
case 2:
$VariablenTyp = array ('Boolean', 'Integer', 'Float', 'String');
print("
2. VariableInfo (" . $VariablenTyp[IPS_GetVariable ($ObjID)['VariableValue']['ValueType']] . '): ');
print_r (IPS_GetVariable ($ObjID));
$Prof = IPS_GetVariable ($ObjID)['VariableCustomProfile'];
if ($Prof) {
print("
3. CustomProfile '" . $Prof . "': ");
print_r (IPS_GetVariableProfile ($Prof));
}
$Prof = IPS_GetVariable ($ObjID)['VariableProfile'];
if ($Prof) {
print("
3. VariableProfile '" . $Prof . "': ");
print_r (IPS_GetVariableProfile ($Prof));
}
print("
4. Changed: " . strftime ("%d.%m.%y-%X", IPS_GetVariable ($ObjID)['VariableChanged']));
print("
5. Updated: " . strftime ("%d.%m.%y-%X", IPS_GetVariable ($ObjID)['VariableUpdated']));
break;
case 3:
print("
2. SkriptInfo: ");
print_r (IPS_GetScript ($ObjID));
print("
3. SkriptName: " . IPS_GetScriptFile ($ObjID));
if (IPS_GetScript ($ObjID)['LastExecute'])
print("
4. LastExecute: " . strftime ("%d.%m.%y-%X", IPS_GetScript ($ObjID)['LastExecute']));
break;
case 4:
$EventTyp = array ('getriggert', 'zyklisch', 'Wochenplan');
print("
2. EventInfo (" . $EventTyp[IPS_GetEvent ($ObjID)['EventType']] . '): ');
print_r (IPS_GetEvent ($ObjID));
print("
3. LastRun: " . strftime ("%d.%m.%y-%X", IPS_GetEvent ($ObjID)['LastRun']));
print("
4. NextRun: " . strftime ("%d.%m.%y-%X", IPS_GetEvent ($ObjID)['NextRun']));
break;
case 5:
$MedienTyp = array ('Formular', 'Bild', 'Ton', 'Stream', 'Chart');
print("
2. MedienobjektInfo (" . $MedienTyp[IPS_GetMedia ($ObjID)['MediaType']] . '): ');
print_r (IPS_GetMedia ($ObjID));
if (IPS_GetMedia ($ObjID)['LastUpdate'])
print("
3. LastUpdate: " . strftime ("%d.%m.%y-%X", IPS_GetMedia ($ObjID)['LastUpdate']));
break;
case 6:
print("
2. LinkInfo: ");
print_r (IPS_GetLink ($ObjID));
print( "
3. Target: " . IPS_GetLink ($ObjID)['TargetID'] . ' ' . IPS_GetLocation (IPS_GetLink ($ObjID)['TargetID']));
break;
default:
}
?>
Ergibt z.B.:
Object: 37671 Skripte\Konfiguration\ObjectAnalyse (ist Skript)
Parent: 45470 Skripte\Konfiguration
1. ObjectInfo: Array
(
[ChildrenIDs] => Array
(
)
[HasChildren] =>
[ObjectIcon] =>
[ObjectID] => 37671
[ObjectIdent] =>
[ObjectInfo] =>
[ObjectIsHidden] =>
[ObjectIsReadOnly] =>
[ObjectName] => ObjectAnalyse
[ObjectPosition] => 2
[ObjectSummary] =>
[ObjectType] => 3
[ParentID] => 45470
)
2. SkriptInfo: Array
(
[IsBroken] =>
[LastExecute] => 1438422139
[ScriptFile] => ObjectAnalyse.ips.php
[ScriptID] => 37671
[ScriptType] => 0
)
3. SkriptName: ObjectAnalyse.ips.php
4. LastExecute: 01.08.15-11:42:19