IP-Symcon - Wie kann ich... 2.0

  • 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