Sorry ,
bin im Urlaub und nur mit dem Mac online, unten der Export mit dem Raketenschnecke Tool , einfach nen script anlegen den mega Text hier rein kopieren, und ausführen ,das wars.
Ich denke dann hast du alles was du brauchst , wie gesagt ich habe nicht den aktuellsten stand aber es reicht um zu sehen wer was guckt und was kommt . Eine echte Steuerung hab ich nicht , braucht man auch nicht , würde ich sagen.
Viel Spass damit
<?
/**********************************************************************************************************************
* this Install-Script was automated generated by RS IPS Project-Exporter *
* © by Raketenschnecke 2012-2014, mail: raketenschnecke@gmx.de *
* // Projekt-HomePage: http://www.raketenschnecke.net/rs-projekte/rs-ips-project-exporter/ *
**********************************************************************************************************************/
/**********************************************************************************************************************
Project: Dreambox (Quell-ID: 51640), generated on 07.07.2014, 21:44 Uhr
* *
* Dieses Script beinhaltet ein automatisch in einem Script zusammengeführtes IPS-Projekt (Quell-Projekt) *
* Zur Installation des (Quell-) Projekts auf dem lokalen System (Zielsystem) bitte dieses Script an einer beliebigen *
* Stelle im Objektbaum platzieren und einmalig manuell starten (Konfiguration siehe Block "Konfig" unten) *
* Es werden alle notwendigen Strukturen (Kategorien, Variablen, Scripte etc) aus dem Quell-Projekt im Ziel-System *
* angelegt. *
* Dies ist !!! KEINE !!! vollständige Projekt-Installation! D.h.: eine Konfiguration, Verlinkung von Objekten etc. *
* muss durch Scripts des eigentlichen Projekts oder manuell durch den Anwender erfolgen. *
* Bei Fragen zum installierten Projekt bitte den Projektautor fragen! *
* *
**********************************************************************************************************************/
############################### Konfig ##############################################################################
// Ziel-WFC angeben
$WFC_TargetID = 0; // bei falscher WFC-ID wird keine Installation von WFE-Komponenten vorgenommen
$WFC_existItemoverwrite = 1; // 0=> bereits im Zielsystem bestehende WFC-Items werden NICHT überschrieben,
// 1=> existierende Objekte werden überschrieben (default)
// Copy-Parameter (1: Objekte werden im Zielsystem installiert; 0: Objekte werden nicht installiert) +++++++++++++++++
$VarProfile = 1; // 1: überschreibt vorhandene Profile im Zielsystem, 0: installiert nur neue Profile
# !!! die folgende Option mit äußerster Vorsicht nutzen (Default-Wert 0)!!! #
$existsScriptsoverwrite = 0; // 1: im Zielsystem existierende Scripte (=benamste Scriptfiles) werden überschrieben
############################### Main Area ############################################################################
##### Project Exporter Comment: Projekt-Export Dreambox (Quell-ID: 51640) vom 07.07.2014 21:44 #####
// IPS Version detektieren
$IPS_VERSION = IPS_GetKernelVersion();
// Inventorys laden
$MessageProkoll = array();
$Inv = ObjectInventory();
$VProfInv = VarProfileInventory();
if(function_exists('loadFileExportInventory'))
{
$ExpFileInv = loadFileExportInventory();
if($ExpFileInv[0] != NULL)
createExportFiles($ExpFileInv);
}
// Parameters-Array erzeugen
$Parameters = array('VarProfile'=>$VarProfile, 'ScrOverwrite'=>$existsScriptsoverwrite, 'WFCItems'=>$WFC_existItemoverwrite, 'Update'=>0);
// letztes Logfile finden & Updatemodus setzen
$lastLog_ID = findlastLogfile();
if($lastLog_ID > 0)
{
$Parameters['Update'] = 1;
include $lastLog_ID.'.ips.php';
// last Inventory laden
$lastInv = ObjectInventoryProtocol();
// Meldungsausgabe
if(isset($lastInv[0]))
{
$MessageProkoll['Info'][] = "#1004 letztes Inventory aus Protokollfile geladen";
}
// Last Inventory initialisieren
$InvData = explode(';', substr(preg_replace("/\r|
/s", "", $lastInv[1]),0, -1));
$InvObjID = (int)explode(',', $InvData[0])[1];
$lastInvObj = createlastInventoryObjects($InvObjID);
// Meldungsausgabe
if(IPS_ObjectExists((int)$lastInvObj[0]['newObjectID']))
{
$MessageProkoll['Info'][] = "#1005 bestehendes Zielprojekt für Update gefunden: ".$lastInvObj[0]['ObjectName']." ID#".$lastInvObj[0]['newObjectID']."";
}
else
{
$MessageProkoll['Failure'][] = "#1025 Fehler: kein bestehendes Zielprojekt gefunden";
exit("Scriptabbruch: kein bestehendes Zielprojekt gefunden! Nur Neu-Installation möglich,
bitte alle Child-Files unterhalb dieses Scripts löschen!");
}
}
$MessageProkoll['InstallParameters'] = $Parameters;
// Funktionsaufrufe
// Variablenprofile aus Profile-Inventory holen und Profil-Baum generieren
$VarProfile = createVarProfileInventory();
// Variablenprofile anlegen (abhängig von Parameters)
createVarProfile($VarProfile);
// Projekt Root-Element aus Inventory generieren und anlegen
$ObjectTree = createInventoryObjects();
// Child-Objekte vom Root aus Inventory generieren und anlegen
$ObjInstallTree = createObjectsTree($ObjectTree);
// Funktion zum Verlinken aller neu instalierten Elemente
linknewObjects($ObjInstallTree);
// Funktion zum Installieren der WFC-Items
installWFC_Items($WFC_TargetID);
// Install-Script ins Config-Verzeichnis verschieben
moveInstallScripttoConfig();
// Installationsprotokoll erzeugen
$InstProtocol = createObjInventoryProtocol($ObjInstallTree);
// Script self-renaming
IPS_SetName($_IPS['SELF'], 'Dreambox (Quell-ID: 51640) 2014_07_07-21_44'.', Ziel-ID: '.$ObjInstallTree[0]['newObjectID']);
// Installationsprotokoll schreiben
CreateProtocolFile($InstProtocol);
// ++++++++++++++ Script-Core +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// prüft, ob Logfiles unterhalb des Export-Scripts hängen und gibt die ID des letzten Logfiles aus +++++++++++++++++
function findlastLogfile()
{
$Childs = IPS_GetChildrenIDs($_IPS['SELF']);
$ScrTS = 0;
if(isset($Childs[0]))
{
$ScrTS = 0;
$ScrID = 0;
for($i=0;$i<count($Childs);$i++)
{
// 1. Zeile aus jedem Protokollfile auslesen und Installationsdatum ermitteln
$script = IPS_GetKernelDir()."scripts\\".$Childs[$i].'.ips.php';
$fh = fopen($script, "r");
$firstLine = mb_strlen(fgets($fh));
fseek($fh, $firstLine);
$zeile = explode(' ', fgets($fh));
if(isset($zeile[4]))
{
$TS = strtotime($zeile[4].$zeile[5]);
}
else
{
$MessageProkoll['Failure'][] = "#1024 Fehler: letztes Inventory aus Protokollfile NICHT geladen";
exit("Scriptabbruch: kein gültiges Protokollfile gefunden! Nur Installation möglich,
bitte alle Child-Files unterhalb dieses Scripts löschen!");
}
// Child mit größtem Timestamp ermitteln
if(($ScrTS < $TS))
{
$ScrTS = $TS;
$ScrID = $Childs[$i];
}
fclose($fh);
}
}
// alte Logfiles löschen
for($i=0;$i<count($Childs);$i++)
{
if($ScrID != $Childs[$i]) IPS_DeleteScript($Childs[$i], true);
}
return @$ScrID;
}
// Last Install Einzelobjekte-Array (aus Inv-Protokoll) bauen
function createlastInventoryObjects($ID)
{
global $lastInv;
for($a=1;$a<count($lastInv);$a++)
{
// Einzel-Objekt zusammenstellen
$InvData = explode(';', substr(preg_replace("/\r|
/s", "", $lastInv[$a]),0, -1));
unset($InvData[0]); // ersten Datensatz entfernen
$InvData = array_slice($InvData, 0);
for($i=0;$i<count($InvData);$i++)
{
$KeyValue = explode(',', $InvData[$i]);
$lastInvPlain[$a][$KeyValue[0]] = $KeyValue[1];
}
}
$lastInvPlain = array_slice($lastInvPlain, 0);
return $lastInvPlain;
}
// Funktion installiert externe Scripte (sofern vorhanden)
function createExportFiles($Array)
{
global $MessageProkoll;
$PicList = array('png', 'jpg', 'jpeg', 'gif');
$Cnt = count($Array);
for($i=0;$i<$Cnt;$i++)
{
$File = explode('\\', $Array[$i]);
$FileName = trim(array_pop($File));
$FilePath = IPS_GetKernelDir().substr(str_replace($FileName, '', $Array[$i]), 0, -1);
$FileExtension = str_replace(".", '', substr($FileName, -4));
$isPic = in_array($FileExtension, $PicList);
// Filecontent aus Funktion holen
$FuncName = 'ExtFile_'.preg_replace('/[^a-zA-Z0-9]/', '', $Array[$i]);
$ScrContent = $FuncName();
if($isPic)
{
$ScrContent = base64_decode($ScrContent);
}
else
{
$ScrContent = str_replace("@§@", "\\", $ScrContent);
$ScrContent = str_replace("\\'", "'", $ScrContent);
}
// Ordner anlegen, wenn nicht vorhanden
if (!is_dir($FilePath))
mkdir ($FilePath , 0777, true);
// schreiben der Content-Datei
$file = $FilePath.'\\'.$FileName;
$handle = fopen($file, "w");
$result = fwrite($handle, $ScrContent);
if($result)
{
$MessageProkoll['extFiles']['OK'][] = $file;
}
else
{
$MessageProkoll['extFiles']['Failure'][] = $file;
}
fclose($handle);
}
}
// Array Variablenprofile-Inventory erstellen
function createVarProfileInventory()
{
global $VProfInv;
if(@$VProfInv[0] != NULL)
{
for($i=0;$i<count($VProfInv);$i++)
{
$SubSet[] = explode('|', substr(preg_replace("/
/s", "", $VProfInv[$i]),0, -1));
}
for($p=0;$p<count($SubSet);$p++)
{
$SubSet[$p][0] = substr($SubSet[$p][0], 0, -1);
$SubSet[$p][1] = substr(@$SubSet[$p][1], 0, -1);
$Profiles[$p] = explode(';', $SubSet[$p][0]);
for($i=0;$i<count($Profiles[$p]);$i++)
{
$Key = explode(',', $Profiles[$p][$i])[0];
$Value = explode(',', $Profiles[$p][$i])[1];
$ProfileObj[$Key] = $Value;
}
$VarProfile[$p] = $ProfileObj;
// Associations hinzufügen
if(@$SubSet[$p][1] != NULL)
{
$AssRaw = explode('§', $SubSet[$p][1]);
for($i=0;$i<count($AssRaw);$i++)
{
$AssBlock = explode(';', $AssRaw[$i]);
for($v=0;$v<4;$v++)
{
if($AssBlock[$v] != NULL)
{
$Key = explode(',',($AssBlock[$v]))[0];
$Value = explode(',',($AssBlock[$v]))[1];
$ValuePair[$Key] = $Value;
}
}
$newAssBlock[] = $ValuePair;
unset($ValuePair);
}
$VarProfile[$p]['Associations'] = $newAssBlock;
unset($newAssBlock);
unset($AssBlock[$p]);
}
}
$MessageProkoll['Info'][] = "#1010 VarProfil-Array erstell";
return $VarProfile;
}
}
// Function Variablenprofil anlegen
function createVarProfile($VarProfile)
{
global $Parameters;
if(isset($VarProfile[0]))
{
// Profile-Array durchgehen
for($i=0;$i<count($VarProfile);$i++)
{
$Profilname = $VarProfile[$i]['ProfileName'];
$isSystemProfile = strpos($Profilname, '~');
if(($Parameters['VarProfile'] == 1) && (IPS_VariableProfileExists($Profilname)) && ($isSystemProfile === false))
{
$MessageProkoll['Install']['OK'] = "#2011 Profil $Profilname wird gelöscht";
if(IPS_VariableProfileExists($Profilname)) IPS_DeleteVariableProfile($Profilname);
}
else
{
$MessageProkoll['Install']['User'] = "#2010 bestehendes Variablen-Profil $Profilname wird nicht überschrieben (Systemprofil oder Option abgeschaltet)";
}
// Variablen-Profil anlegen (nur Neuanlage)
if((!IPS_VariableProfileExists($Profilname))&& ($isSystemProfile === false))
{
IPS_CreateVariableProfile($Profilname, (int)$VarProfile[$i]['ProfileType']);
IPS_SetVariableProfileText($Profilname, $VarProfile[$i]['Prefix'], $VarProfile[$i]['Suffix']);
IPS_SetVariableProfileValues($Profilname, (float)$VarProfile[$i]['MinValue'], (float)$VarProfile[$i]['MaxValue'], (float)$VarProfile[$i]['StepSize']);
IPS_SetVariableProfileDigits($Profilname, (int)$VarProfile[$i]['Digits']);
IPS_SetVariableProfileIcon($Profilname, $VarProfile[$i]['Icon']);
$MessageProkoll['Install']['OK'] = "#2012 Profil $Profilname angelegt";
// Associations setzen
if(isset($VarProfile[$i]['Associations']))
{
$Ass = $VarProfile[$i]['Associations'];
for($a=0;$a<count($Ass);$a++)
{
// Falls Assoziation "Name und Icon" leer sind, wird Leerzeichen bei Name eingefügt (sonst Fehlermeldung
// bei Assoziations-Zuweisung
if(($Ass[$a]['Name'] == NULL) && ($Ass[$a]['Icon'] == NULL)) $Ass[$a]['Name'] = ' ';
IPS_SetVariableProfileAssociation($Profilname, (float)$Ass[$a]['Value'], $Ass[$a]['Name'], $Ass[$a]['Icon'], (int)$Ass[$a]['Color']);
}
$MessageProkoll['Install']['OK'] = "#2013 Profilassociations für Profil $Profilname angelegt";
}
}
}
return;
}
}
// Objekt-Tree generieren und Childs holen
function createInventoryObjects()
{
global $Inv;
global $IObjects;
$DataSet = explode(';', substr(preg_replace("/\r|
/s", "", $Inv[1]),0, -1));
$ObjID = (int)explode(',', $DataSet[0])[1];
$Objects[0] = createObject($ObjID);
if(isset($Objects[0]['ChildrenIDs']) != NULL)
$Objects[0]['ChildrenIDs'] = createChildObjects($Objects[0]['ChildrenIDs']);
return $Objects;
}
// rekursive Objektanlage aller Objekte im Ziel-Projekt
function createObjectsTree($Objects)
{
//global $Objects;
for($i=0;$i<count($Objects);$i++)
{
// Objekt anlegen
$Objects[$i] = Objekteanlegen($Objects[$i]);
// nach Childs durchsuchen
if(isset($Objects[$i]['ChildrenIDs']))
{
for($ch=0;$ch<count($Objects[$i]['ChildrenIDs']);$ch++)
{
$Objects[$i]['ChildrenIDs'][$ch]['newParentID'] = $Objects[$i]['newObjectID'];
}
// nächste Rekursion:
$newObjects = $Objects[$i]['ChildrenIDs'];
$Objects[$i]['ChildrenIDs'] = createObjectsTree($newObjects);
}
}
return $Objects;
}
// Inventory rekursiv abarbeiten und Einzelobjekte zur Anlage übergeben
function createChildObjects($Childs)
{
for($i=0;$i<count($Childs);$i++)
{
$Childs[$i] = createObject($Childs[$i]);
if(isset($Childs[$i]['ChildrenIDs']))
{
$newChilds = $Childs[$i]['ChildrenIDs'];
$Childs[$i]['ChildrenIDs'] = createChildObjects($newChilds);
}
}
return $Childs;
}
// Einzel-Objekt aus Inventory generieren
function createObject($ObjID)
{
global $Inv;
global $Parameters;
global $lastInvObj;
// Inventory nach Objekt-ID durchsuchen und Array-ID zurückgeben
for($s=0;$s<count($Inv);$s++)
{
if(strstr($Inv[$s], 'ObjectID,'.$ObjID)) $Key = $s;
}
$DataSet = explode(';', substr(preg_replace("/\r|
/s", "", $Inv[$Key]),0, -1));
// Objekt Key-Value Zuordnung
for($p=0;$p<count($DataSet);$p++)
{
$Key = explode(',', $DataSet[$p])[0];
$Value = explode(',', $DataSet[$p])[1];
$Object[$Key] = $Value;
}
// newObjectID aus lastInventory (Inst-Protokoll) ankleben, wenn Update = 1
if($Parameters['Update'] == 1)
{
for($l=0;$l<count($lastInvObj);$l++)
{
if($Object['ObjectID'] == $lastInvObj[$l]['ObjectID'])
$Object['newObjectID'] = @$lastInvObj[$l]['newObjectID'];
}
}
// Child-IDs ankleben
for($i=0;$i<count($Inv);$i++)
{
$DataSet = explode(';', substr(preg_replace("/\r|
/s", "", $Inv[$i]),0, -1));
for($p=0;$p<count($DataSet);$p++)
{
$Key = explode(',', $DataSet[$p])[0];
$Value = explode(',', $DataSet[$p])[1];
$Subject[$Key] = $Value;
}
if(@$Subject['ParentID'] == $Object['ObjectID']) $Object['ChildrenIDs'][] = $Subject['ObjectID'];
}
return $Object;
}
// +++ Function ZielProjekt-Objekte anlegen ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function Objekteanlegen($Object)
{
global $Parameters;
global $MessageProkoll;
global $IPS_VERSION;
$MessageProkoll['Install']['OK'][] = "#3011 Objekt ".$Object['ObjectName'].", altID #".$Object['ObjectID']." zur Anlage übernommen";
// ObjectInfo Zeilenumbruch zurückwandeln
$Object['ObjectInfo'] = str_replace("§&§", "
", $Object['ObjectInfo']);
$Object['ObjectInfo'] = str_replace("§&&§", ",", $Object['ObjectInfo']);
$Object['ObjectInfo'] = str_replace("§&&&§", ";", $Object['ObjectInfo']);
switch ($Object['ObjectType'])
{
case 0: // Kategorien
if((@$Object['newObjectID'] > 0) && ($Object['isConfigTree'] == 0))
{
$Cat_ID = (int)$Object['newObjectID'];
// prüfen, ob Kategorie tats. noch existiert (wenn nicht: anlegen)
if(!IPS_ObjectExists($Cat_ID)) $Cat_ID = IPS_CreateCategory();
IPS_SetName($Cat_ID, $Object['ObjectName']);
IPS_SetHidden($Cat_ID, (bool)$Object['ObjectIsHidden']);
IPS_SetPosition($Cat_ID, (int)$Object['ObjectPosition']);
IPS_SetInfo($Cat_ID, $Object['ObjectInfo']);
IPS_SetIcon($Cat_ID, $Object['ObjectIcon']);
if(isset($Cat_ID, $Object['newParentID'])) IPS_SetParent($Cat_ID, (int)$Object['newParentID']);
if($Cat_ID > 0)
$MessageProkoll['Install']['OK'][] = "#3023 Kategorie-Objekt ".$Object['ObjectName'].", ID #".$Cat_ID." existiert (Update ein)";
$MessageProkoll['Install']['OK'][] = "#3025 Kategorie-Objekt ".$Object['ObjectName'].", ID #".$Cat_ID." neu konfiguriert";
}
elseif((@$Object['isConfigTree'] == 0) || (@$Object['newObjectID'] == 0) || (!IPS_ObjectExists((int)$Object['newObjectID'])))
{
$Cat_ID = IPS_CreateCategory();
$Object['newObjectID'] = $Cat_ID;
if($Cat_ID > 0)
$MessageProkoll['Install']['OK'][] = "#3022 Kategorie-Objekt ".$Object['ObjectName'].", neuID #".$Cat_ID." angelegt";
IPS_SetName($Cat_ID, $Object['ObjectName']);
IPS_SetHidden($Cat_ID, (bool)$Object['ObjectIsHidden']);
IPS_SetPosition($Cat_ID, (int)$Object['ObjectPosition']);
IPS_SetInfo($Cat_ID, $Object['ObjectInfo']);
IPS_SetIcon($Cat_ID, $Object['ObjectIcon']);
if(isset($Cat_ID, $Object['newParentID'])) IPS_SetParent($Cat_ID, (int)$Object['newParentID']);
$MessageProkoll['Install']['OK'][] = "#3025 Kategorie-Objekt ".$Object['ObjectName'].", ID #".$Cat_ID." neu konfiguriert";
if($Cat_ID == 0)
$MessageProkoll['Install']['Failure'][] = "#3021 Kategorie-Objekt ".$Object['ObjectName'].", , altID #".$Object['ObjectID']." Neuanlage fehlgeschlagen";
}
else
{
$MessageProkoll['Install']['OK'][] = "#3024 Kategorie-Objekt ".$Object['ObjectName']." nicht neu konfiguriert (Objekt im Config-Bereich)";
}
return $Object;
break;
case 1: // Instanzen
if((@$Object['newObjectID'] > 0) && ($Object['isConfigTree'] == 0))
{
$Inst_ID = (int)$Object['newObjectID'];
// prüfen, ob Kategorie tats. noch existiert (wenn nicht: anlegen)
if(!IPS_ObjectExists($Inst_ID)) $Inst_ID = IPS_CreateInstance($Object['ModuleID']);
if($Inst_ID > 0)
$MessageProkoll['Install']['OK'][] = "#3033 Kategorie-Objekt ".$Object['ObjectName'].", ID #".$Inst_ID." bereits vorhanden (Update ein)";
}
elseif(($Object['isConfigTree'] == 0) || (@$Object['newObjectID'] == 0) || (!IPS_ObjectExists((int)$Object['newObjectID'])))
{
$Inst_ID = IPS_CreateInstance($Object['ModuleID']);
if($Inst_ID > 0)
$MessageProkoll['Install']['OK'][] = "#3032 Instanz-Objekt ".$Object['ObjectName'].", neuID #".$Inst_ID." angelegt";
if($Inst_ID == 0)
$MessageProkoll['Install']['Failure'][] = "#3031 Instanz-Objekt ".$Object['ObjectName'].", , altID #".$Object['ObjectID']." Neuanlage fehlgeschlagen";
}
else
{
$MessageProkoll['Install']['OK'][] = "#3034 Instanz-Objekt ".$Object['ObjectName']." nicht neu konfiguriert (Objekt im Config-Bereich)";
}
IPS_SetName($Inst_ID, $Object['ObjectName']);
if(isset($Inst_ID, $Object['newParentID'])) IPS_SetParent($Inst_ID, (int)$Object['newParentID']);
IPS_SetHidden($Inst_ID, (bool)$Object['ObjectIsHidden']);
IPS_SetPosition($Inst_ID, (int)$Object['ObjectPosition']);
IPS_SetInfo($Inst_ID, $Object['ObjectInfo']);
IPS_SetIcon($Inst_ID, $Object['ObjectIcon']);
IPS_ApplyChanges($Inst_ID);
$Object['newObjectID'] = $Inst_ID;
if($Inst_ID > 0)
$MessageProkoll['Install']['OK'][] = "#3035 Instanz-Objekt ".$Object['ObjectName'].", neuID #".$Inst_ID." neu konfiguriert";
return $Object;
break;
case 2: // Variablen, nur anlegen, wenn sie nicht mit einer Instanz verküpft sind ($Object['ObjectIsReadOnly'] == 0)
if((int)$Object['ObjectIsReadOnly'] == 0)
{
$ah_ID = IPS_GetInstanceListByModuleID('{43192F0B-135B-4CE7-A0A7-1475603F3060}')[0]; // Archive Handler
if((@$Object['newObjectID'] > 0) && ($Object['isConfigTree'] == 0))
{
$Var_ID = (int)$Object['newObjectID'];
// prüfen, ob Var tats. noch existiert (wenn nicht: anlegen)
if(!IPS_ObjectExists($Var_ID)) $Var_ID = IPS_CreateVariable((int)$Object['ValueType']);
if($Var_ID > 0)
$MessageProkoll['Install']['OK'][] = "#3043 Variablen-Objekt ".$Object['ObjectName'].", ID #".$Var_ID." bereits vorhanden (Update ein)";
}
elseif((@$Object['isConfigTree'] == 0) || (@$Object['newObjectID'] == 0)|| (!IPS_ObjectExists((int)$Object['newObjectID'])))
{
$Var_ID = IPS_CreateVariable((int)$Object['ValueType']);
if($Var_ID > 0)
$MessageProkoll['Install']['OK'][] = "#3042 Variablen-Objekt ".$Object['ObjectName'].", neuID #".$Var_ID." angelegt";
if($Var_ID == 0)
$MessageProkoll['Install']['Failure'][] = "#3041 Variablen-Objekt ".$Object['ObjectName'].", , altID #".$Object['ObjectID']." Neuanlage fehlgeschlagen";
}
else
{
$MessageProkoll['Install']['OK'][] = "#3044 Variablen-Objekt ".$Object['ObjectName']." nicht neu konfiguriert (Objekt im Config-Bereich)";
}
//echo "Variablen-Konfiguration für Var ID $Var_ID startet:
";
IPS_SetName($Var_ID, $Object['ObjectName']);
if(isset($Var_ID, $Object['newParentID'])) IPS_SetParent($Var_ID, (int)$Object['newParentID']);
IPS_SetHidden($Var_ID, (bool)$Object['ObjectIsHidden']);
IPS_SetPosition($Var_ID, (int)$Object['ObjectPosition']);
IPS_SetInfo($Var_ID, $Object['ObjectInfo']);
IPS_SetIcon($Var_ID, $Object['ObjectIcon']);
//if($Object['VariableCustomAction'] > 0)
//IPS_SetVariableCustomAction($Var_ID, $Object['VariableCustomAction']);
IPS_SetVariableCustomProfile($Var_ID, $Object['VariableCustomProfile']);
AC_SetLoggingStatus($ah_ID, $Var_ID, (bool)$Object['LoggingStatus']);
AC_SetAggregationType($ah_ID, $Var_ID, (int)$Object['AggregationType']);
// Variablenwert schreiben (nur bei Neuinstallation)
if($Parameters['Update'] = 0)
{
switch ((int)$Object['ValueType'])
{
// Variablenwert je nach Variablentyp schreiben (0= Boolean, 1= Integer, 2= Float; 3= String)
case 0:
SetValue($Var_ID, (bool)$Object['ValueBoolean']);
break;
case 1:
SetValue($Var_ID, (int)$Object['ValueInteger']);
break;
case 2:
SetValue($Var_ID, (float)$Object['ValueFloat']);
break;
case 3:
SetValue($Var_ID, $Object['ValueString']);
break;
}
}
// Ab IPS V 3.0:
if(IPS_GetKernelVersion() > 2.9)
{
AC_SetGraphStatus($ah_ID, $Var_ID, (bool)$Object['GraphStatus']);
}
IPS_ApplyChanges($ah_ID);
$Object['newObjectID'] = $Var_ID;
if($Var_ID > 0)
$MessageProkoll['Install']['OK'][] = "#3045 Variablen-Objekt ".$Object['ObjectName'].", neuID #".$Var_ID." neu konfiguriert";
}
else
{
$MessageProkoll['Install']['User'][] = "#3044 Variablen-Objekt ".$Object['ObjectName'].", altID #".$Object['ObjectID']." nicht angelegt (wird automatisch durch IPS-Modul angelegt)";
}
return $Object;
break;
case 3: // Scripte
// bei ScriptOverwrite = 0: Prüfen, ob manuell benanntes Scriptfile im System vorhanden (Scriptabbuch, wenn ja)
if(($Parameters['Update'] == 0) && ($Parameters['ScrOverwrite'] == 0))
{
if(explode('.', $Object['ScriptFile'])[0] != $Object['ScriptID'])
{
$FileCheck = file_exists(IPS_GetKernelDir()."scripts\\".$Object['ScriptFile']);
if($FileCheck) exit('#3058 Scriptabbruch: Script '.$Object['ScriptFile'].' bereits im Script-Ordner vorhanden,
bereits installierte Zielprojekt-Objekte müssen manuell gelöscht werden');
}
}
$Scr_Name = $Object['ObjectName'];
$Scr_oldID = @IPS_GetScriptIDByFile($Object['ScriptFile']);
$ScrFunctionName = preg_replace('/[^a-zA-Z]/', '',$Scr_Name).$Object['ObjectID'];
$Scr_Content = $ScrFunctionName();
$Scr_Content = stripslashes($ScrFunctionName());
$Scr_Content = str_replace('§\'', "'", $Scr_Content);
$Scr_Content = str_replace("@§@", "\\",$Scr_Content);
// Vorabcheck Script exist
if(isset($Object['newObjectID']) && (@$Object['newObjectID'] >0))
{
$ScrExist = true;
$Scr_ID = (int)$Object['newObjectID'];
if(!IPS_ObjectExists((int)$Object['newObjectID']))
{
$ScrExist = false;
$Scr_ID = NULL;
}
}
else
{
$ScrExist = false;
}
// Script-Neuanlage
if(($ScrExist == false))
{
$Scr_ID = IPS_CreateScript(0);
IPS_SetName($Scr_ID, $Scr_Name);
if(isset($Scr_ID, $Object['newParentID'])) IPS_SetParent($Scr_ID, (int)$Object['newParentID']);
$fh = fopen(IPS_GetKernelDir()."scripts\\".$Scr_ID.'.ips.php', 'w') or die ("can't open file");
fwrite($fh, $Scr_Content);
fclose($fh);
IPS_SetScriptFile($Scr_ID, $Scr_ID.'.ips.php');
IPS_SetHidden($Scr_ID, (bool)$Object['ObjectIsHidden']);
IPS_SetPosition($Scr_ID, (int)$Object['ObjectPosition']);
IPS_SetInfo($Scr_ID, $Object['ObjectInfo']);
IPS_SetIcon($Scr_ID, $Object['ObjectIcon']);
$Scr_IPS_ID = (int)explode('.',$Object['ScriptFile'])[0];
$Object['newObjectID'] = $Scr_ID;
//Scriptfile umbenenen, wenn anderer Name als IPS-ID vergeben
$ScrFilePrefix = explode('.', $Object['ScriptFile'])[0];
if($ScrFilePrefix != $Object['ObjectID'])
{
rename($Scr_ID.".ips.php", $Object['ScriptFile']);
$result = IPS_SetScriptFile($Scr_ID, $Object['ScriptFile']);
if($result)
$MessageProkoll['Install']['OK'][] = "#3053 Script-Objekt ".$Object['ObjectName'].", File in ".$Object['ScriptFile']." neu angelegt und umbenannt";
}
else
{
if($Scr_ID > 0)
$MessageProkoll['Install']['OK'][] = "#3052 Script-Objekt ".$Object['ObjectName'].", neuID #".$Scr_ID." neu angelegt";
}
}
elseif(($ScrExist == true) && ($Object['isConfigTree'] != 1))
{
// bei ScriptOverwrite = 0: Prüfen, ob Scriptfile im System vorhanden (Scriptabbuch, wenn ja)
if(($Parameters['Update'] == 1) && ($Parameters['ScrOverwrite'] == 0))
{
if(explode('.', $Object['ScriptFile'])[0] != $Object['ScriptID'])
{
$FileCheck = file_exists(IPS_GetKernelDir()."scripts\\".$Object['ScriptFile']);
if($FileCheck) exit('#3059 Scriptabbruch: Script '.$Object['ScriptFile'].' bereits im Script-Ordner vorhanden,
bereits installierte Zielprojekt-Objekte müssen manuell gelöscht werden');
}
}
// Update (nur, wenn ConfigKategorie-Flag nicht gesetzt)
if($ScrExist)
{
// Filename mit ID oder individuell benannt
$ScrFilePrefix = explode('.', $Object['ScriptFile'])[0];
if($ScrFilePrefix == $Object['ObjectID'])
{
$ScrFileName = $Object['newObjectID'].'.ips.php';
$ScrOverwrite = 1;
}
else
{
$ScrFileName = $Object['ScriptFile'];
if($Parameters['ScrOverwrite'] == 1) {$ScrOverwrite = 1;}else{$ScrOverwrite = 0;}
}
}
else
{
$ScrFileName = $Object['ScriptFile'];
$ScrOverwrite = 1;
}
// Script-File löschen (wenn vorhanden und ScriptOverwrite = 1) und neu schreiben
$scrReturn = 0;
if($ScrExist && $ScrOverwrite)
{
unlink(IPS_GetKernelDir()."scripts\\".$ScrFileName);
$fh = fopen(IPS_GetKernelDir()."scripts\\".$ScrFileName, 'w') or die ("can't open file");
$MessageProkoll['Install']['OK'][] = "#3055 Script-File ".$Object['ObjectName'].", ".$ScrFileName.", gelöscht";
$scrReturn = fwrite($fh, $Scr_Content);
fclose($fh);
IPS_SetHidden($Scr_ID, (bool)$Object['ObjectIsHidden']);
IPS_SetPosition($Scr_ID, (int)$Object['ObjectPosition']);
IPS_SetInfo($Scr_ID, $Object['ObjectInfo']);
IPS_SetIcon($Scr_ID, $Object['ObjectIcon']);
}
// Meldungen für Inst-Protokoll
if($scrReturn)
{
$MessageProkoll['Install']['OK'][] = "#3051 Script-File ".$Object['ObjectName'].", neu geschrieben";
}
elseif($ScrOverwrite == 0)
{
$MessageProkoll['Install']['OK'][] = "#3054 Script-File ".$Object['ObjectName'].', nicht überschrieben (Option $existsScriptsoverwrite deaktiviert)';
}
else
{
$MessageProkoll['Install']['Failure'][] = "#3055 Script-File ".$Object['ObjectName'].", neu schreiben fehlgeschlagen";
}
}
return $Object;
break;
case 4: // Events
$Evnt_Name = $Object['ObjectName'];
if((@$Object['newObjectID'] > 0) && ($Object['isConfigTree'] == 0))
{
$Evnt_ID = (int)$Object['newObjectID'];
// prüfen, ob Var tats. noch existiert (wenn nicht: anlegen)
if(!IPS_ObjectExists($Evnt_ID)) $Evnt_ID = IPS_CreateEvent((int)$Object['EventType']);
if($Evnt_ID > 0)
$MessageProkoll['Install']['OK'][] = "#3063 Event-Objekt ".$Object['ObjectName'].", ID #".$Evnt_ID." bereits vorhanden (Update ein)";
}
elseif((@$Object['isConfigTree'] == 0) || (@$Object['newObjectID'] == 0)|| (!IPS_ObjectExists((int)$Object['newObjectID'])))
{
$Evnt_ID = IPS_CreateEvent((int)$Object['EventType']);
if($Evnt_ID > 0)
$MessageProkoll['Install']['OK'][] = "#3062 Event-Objekt ".$Object['ObjectName'].", neuID #".$Evnt_ID." angelegt";
if($Evnt_ID == 0)
$MessageProkoll['Install']['Failure'][] = "#3061 Event-Objekt ".$Object['ObjectName'].", , altID #".$Object['ObjectID']." Neuanlage fehlgeschlagen";
}
else
{
$MessageProkoll['Install']['OK'][] = "#3064 Event-Objekt ".$Object['ObjectName']." nicht neu konfiguriert (Objekt im Config-Bereich)";
}
if(isset($Evnt_ID, $Object['newParentID'])) IPS_SetParent($Evnt_ID, (int)$Object['newParentID']);
IPS_SetName($Evnt_ID, $Evnt_Name);
IPS_SetPosition($Evnt_ID, (int)$Object['ObjectPosition']);
IPS_SetHidden($Evnt_ID, (bool)$Object['ObjectIsHidden']);
IPS_SetPosition($Evnt_ID, (int)$Object['ObjectPosition']);
IPS_SetInfo($Evnt_ID, $Object['ObjectInfo']);
IPS_SetIcon($Evnt_ID, $Object['ObjectIcon']);
IPS_SetEventLimit($Evnt_ID, (int)$Object['EventLimit']);
// getriggertes Element
if((int)$Object['EventType'] == 0)
{
//!!! (int)$Oject['TriggerVariableID'] Auslöser ID derzeit nur ParentObject, da newTarget noch nicht bekannt.
// Konfiguration von IPS_SetEventTrigger wird erst mit Neuverlinkung abgeschlossen !!
@IPS_SetEventTrigger($Evnt_ID, (int)$Object['TriggerType'], 0);
if((int)$Object['TriggerType'] == 4)
IPS_SetEventTriggerValue($Evnt_ID, $Object['TriggerValue']);
IPS_SetEventTriggerSubsequentExecution($Evnt_ID, (bool)$Object['TriggerSubsequentExecution']);
IPS_SetEventActive($Evnt_ID, true); // Ereignis nach Installation immer aktiv
$MessageProkoll['Install']['OK'][] = "#3065 Event-Objekt ".$Object['ObjectName'].", neuID #".$Evnt_ID." neu konfiguriert und aktiviert";
}
else
{
// zyklisches Element
IPS_SetEventCyclic($Evnt_ID, (int)$Object['CyclicDateType'], (int)$Object['CyclicDateValue'], (int)$Object['CyclicDateDay'], (int)$Object['CyclicDateDayValue'], (int)$Object['CyclicTimeType'], (int)$Object['CyclicTimeValue']);
// Prüfung IPS-Version (ab 3.1 wurden die SetEventCyclic-Befehle geändert)
if($IPS_VERSION < 3.1)
{
// Wenn Zielsystem-Version < 3.1 ist
IPS_SetEventCyclicDateBounds($Evnt_ID, (float)$Object['CyclicDateFrom'], (float)$Object['CyclicDateTo']);
//if((int)$Object['CyclicTimeType'] == 1)
IPS_SetEventCyclicTimeBounds($Evnt_ID, (float)$Object['CyclicTimeFrom'], (float)$Object['CyclicTimeTo']);
}
else
{
// Wenn Zielsystem >= 3.1 ist
if($Object['CyclicDateFrom'] > 0)
{
IPS_SetEventCyclicDateFrom($Evnt_ID, (int)date("d", $Object['CyclicDateFrom']), (int)date("m", $Object['CyclicDateFrom']), (int)date("Y", $Object['CyclicDateFrom']));
}
else
{
IPS_SetEventCyclicDateFrom($Evnt_ID, 0, 0, 0);
}
if($Object['CyclicDateTo'] > 0)
{
IPS_SetEventCyclicDateTo($Evnt_ID, (int)date("d", $Object['CyclicDateTo']), (int)date("m", $Object['CyclicDateTo']), (int)date("Y", $Object['CyclicDateTo']));
}
else
{
IPS_SetEventCyclicDateTo($Evnt_ID, 0, 0, 0);
}
IPS_SetEventCyclicTimeFrom($Evnt_ID, (int)date("H", $Object['CyclicTimeFrom']), (int)date("i", $Object['CyclicTimeFrom']), (int)date("s", $Object['CyclicTimeFrom']));
IPS_SetEventCyclicTimeTo($Evnt_ID, (int)date("H", $Object['CyclicTimeTo']), (int)date("i", $Object['CyclicTimeTo']), (int)date("s", $Object['CyclicTimeTo']));
}
IPS_SetEventActive($Evnt_ID, false); // Ereignis nach Installation immer inaktiv
$MessageProkoll['Install']['User'][] = "#3066 Event-Objekt ".$Object['ObjectName'].", neuID #".$Evnt_ID." neu konfiguriert, NICHT aktiviert";
}
// PHP-Code einschleusen, wenn vorhanden
$FuncName = 'Event'.$Object['ObjectID'];
if(function_exists($FuncName))
{
$FuncContent = $FuncName();
IPS_SetEventScript($Evnt_ID, $FuncContent);
$MessageProkoll['Install']['OK'][] = "#3067 Event-Objekt ".$Object['ObjectName'].", neuID #".$Evnt_ID." PHP-Code eingebaut";
}
$Object['newObjectID'] = $Evnt_ID;
return $Object;
break;
case 5: // Media-Objekte
$MessageProkoll['Install']['Failure'][] = "#3061 Media-Objekt ".$Object['ObjectName'].", altID #".$Object['ObjectID']." nicht angelegt (Option nicht implementiert)";
return 0;
//return $Object;
break;
case 6: // Links
$Lnk_Name = $Object['ObjectName'];
if((@$Object['newObjectID'] > 0) && ($Object['isConfigTree'] == 0))
{
$Lnk_ID = (int)$Object['newObjectID'];
// prüfen, ob Lnk tats. noch existiert (wenn nicht: anlegen)
if(!IPS_ObjectExists($Lnk_ID)) $Lnk_ID = IPS_CreateLink();
if($Lnk_ID > 0)
$MessageProkoll['Install']['OK'][] = "#3063 Link-Objekt ".$Object['ObjectName'].", ID #".$Lnk_ID." bereits vorhanden (Update ein)";
}
elseif((@$Object['isConfigTree'] == 0) || (@$Object['newObjectID'] == 0)|| (!IPS_ObjectExists((int)$Object['newObjectID'])))
{
$Lnk_ID = IPS_CreateLink();
if($Lnk_ID > 0)
$MessageProkoll['Install']['OK'][] = "#3072 Link-Objekt ".$Object['ObjectName'].", neuID #".$Lnk_ID." angelegt";
if($Lnk_ID == 0)
$MessageProkoll['Install']['Failure'][] = "#3071 Link-Objekt ".$Object['ObjectName'].", , altID #".$Object['ObjectID']." Neuanlage fehlgeschlagen";
}
else
{
$MessageProkoll['Install']['OK'][] = "#3074 Link-Objekt ".$Object['ObjectName']." nicht neu konfiguriert (Objekt im Config-Bereich)";
}
if(isset($Object['newParentID'])) IPS_SetParent($Lnk_ID, (int)$Object['newParentID']);
IPS_SetName($Lnk_ID, $Lnk_Name);
IPS_SetPosition($Lnk_ID, (int)$Object['ObjectPosition']);
IPS_SetHidden($Lnk_ID, (bool)$Object['ObjectIsHidden']);
IPS_SetPosition($Lnk_ID, (int)$Object['ObjectPosition']);
IPS_SetInfo($Lnk_ID, $Object['ObjectInfo']);
IPS_SetIcon($Lnk_ID, $Object['ObjectIcon']);
//IPS_SetLinkChildID($LinkID, 12345 /*[Objekt #12345 existiert nicht]*/);
//IPS_SetLinkTargetID($LinkID, 12345 /*[Objekt #12345 existiert nicht]*/);
$MessageProkoll['Install']['OK'][] = "#3071 Link-Objekt ".$Object['ObjectName'].", neuID #".$Lnk_ID." neu konfiguriert";
$Object['newObjectID'] = $Lnk_ID;
return $Object;
break;
}
}
// nachträgliche Verlinkung aller neu installierten Objekte
function linknewObjects($ObjLinkTree)
{
global $ObjInstallTree;
global $newTgtID;
global $newObjID;
global $MessageProkoll;
for($i=0;$i<count($ObjLinkTree);$i++)
{
$newObjID = 0;
$newTgtID = 0;
// Inventory nach Variablen-, Script-, Event- und Link-Objekten durchsuchen und neue Target-ID finden
// 2= Variable, 3= Script, 4= Event, 6 = Link
if(($ObjLinkTree[$i]['ObjectType'] == 2) && ($ObjLinkTree[$i]['VariableCustomAction'] >0)) // Scripts nach austauschbaren IDs durchsuchen
{
// neue Target-ID (Action-Script) für Variable finden
$newTargetID = findNewTargetID($ObjInstallTree, $ObjLinkTree[$i]['VariableCustomAction']);
IPS_SetVariableCustomAction((int)$ObjLinkTree[$i]['newObjectID'], (int)$newTargetID);
if($newTargetID >0)
$MessageProkoll['Link']['OK'][] = "#4011 Variablen-Objekt ".$ObjLinkTree[$i]['ObjectName'].", ID #".$ObjLinkTree[$i]['newObjectID'].", neues Actionscript ID $newTargetID zugewiesen";
if($newTargetID == 0)
$MessageProkoll['Link']['Failure'][] = "#4010 Variablen-Objekt ".$ObjLinkTree[$i]['ObjectName'].", ID #".$ObjLinkTree[$i]['newObjectID'].", kein neues Actionscript zugewiesen (keine ID gefunden)";
}
elseif($ObjLinkTree[$i]['ObjectType'] == 3) // Scripts nach austauschbaren IDs durchsuchen
{
// aktuellen Scriptnamen finden
$newObjID = 0;
$Scr = IPS_GetScript((int)$ObjLinkTree[$i]['newObjectID'])['ScriptFile'];
changeObjectIDs_inScript($ObjInstallTree, $Scr);
$MessageProkoll['Link']['OK'][] = "#4021 Script-Objekt ".$ObjLinkTree[$i]['ObjectName'].", ID #".$ObjLinkTree[$i]['newObjectID'].", durchsuche Script nach ID's";
}
elseif(($ObjLinkTree[$i]['ObjectType'] == 4) && ($ObjLinkTree[$i]['EventType'] == 0)) // Neuverlinkung nur für nichtzyklische Events
{
$newTgtID =0;
$newTargetID = findNewTargetID($ObjInstallTree, $ObjLinkTree[$i]['TriggerVariableID']);
// neue Verlinkung setzen
if($newTgtID !=0)
{
IPS_SetEventTrigger((int)$ObjLinkTree[$i]['newObjectID'], (int)$ObjLinkTree[$i]['TriggerType'], $newTgtID);
$MessageProkoll['Link']['OK'][] = "#4031 Event-Objekt ".$ObjLinkTree[$i]['ObjectName'].", ID #".$ObjLinkTree[$i]['newObjectID'].", neu verlinkt - Ziel-ID #$newTgtID";
}
else
{
$MessageProkoll['Link']['User'][] = "#4030 Event-Objekt ".$ObjLinkTree[$i]['ObjectName'].", neue ID #".$ObjLinkTree[$i]['newObjectID'].", NICHT verlinkt, keine gültige TargetID oder kein Target innerhalb des Zielprojektes gefunden";
}
}
elseif($ObjLinkTree[$i]['ObjectType'] == 6)
{
$newTgtID =0;
$newTgtID = findNewTargetID($ObjInstallTree, $ObjLinkTree[$i]['LinkChildID']);
if($newTgtID !=0)
{
IPS_SetLinkTargetID((int)$ObjLinkTree[$i]['newObjectID'], (int)$newTgtID);
$MessageProkoll['Link']['OK'][] = "#4041 Link-Objekt ".$ObjLinkTree[$i]['ObjectName'].", ID #".$ObjLinkTree[$i]['newObjectID'].", neu verlinkt (Ziel-ID $newTgtID)";
}
else
{
$MessageProkoll['Link']['User'][] = "#4040 Link-Objekt ".$ObjLinkTree[$i]['ObjectName'].", ID #".$ObjLinkTree[$i]['newObjectID'].", NICHT verlinkt, kein Target innerhalb des Zielprojektes gefunden";
}
}
// Objekt-Childs durchsuchen
if(isset($ObjLinkTree[$i]['ChildrenIDs']))
{
$newLnkTree = $ObjLinkTree[$i]['ChildrenIDs'];
linknewObjects($newLnkTree);
}
}
unset($ObjLinkTree);
}
// sucht neue Target-ID für verlinkte Objekte
function findNewTargetID($ObjLinkTree, $oldTargetID)
{
global $newTgtID;
for($i=0;$i<count($ObjLinkTree);$i++)
{
if($ObjLinkTree[$i]['ObjectID'] == $oldTargetID)
{
$newTgtID = $ObjLinkTree[$i]['newObjectID'];
$i = 9999; // Abbruch, wenn ID gefunden
}
// in Childs suchen (rekursiv)
if((isset($ObjLinkTree[$i]['ChildrenIDs'])) && ($newTgtID == 0))
{
$newObjInstTree = $ObjLinkTree[$i]['ChildrenIDs'];
findNewTargetID($newObjInstTree, $oldTargetID);
unset($newObjInstTree);
}
}
return $newTgtID;
}
// Austausch der Objekt-IDs im Script
function changeObjectIDs_inScript($ObjLinkTree, $Scr)
{
global $newObjID;
global $MessageProkoll;
$ScrContent = file(IPS_GetKernelDir()."scripts\\".$Scr);
$file = fopen(IPS_GetKernelDir()."scripts\\".$Scr, "w");
$search = '/[^0-9\/\{-]([1-5][0-9]{4})[^0-9]/'; // suche 5stellige Zahlen von 10.000 - 59.999
$counter = 0;
foreach ($ScrContent as $z)
{
$newObjID = NULL;
$newObjectID = NULL;
preg_match($search, $z, $matches);
if(isset($matches[1]))
{
$oldID = $matches[1];
$newObjectID = findNewObjectID($ObjLinkTree, $oldID);
if(($matches[1] == $oldID) && ($newObjectID >0))
{
$z = str_replace($oldID, $newObjectID, $z);
$MessageProkoll['Script']['OK'][] = "#5011 Script ID#$Scr: Inhalt verändert: Zeile ".($counter + 1).", alte Target-ID #$oldID gegen neue ID #$newObjectID getauscht";
}
else
{
$MessageProkoll['Script']['User'][] = "#5010 Script ID#$Scr: Inhalt NICHT verändert: Zeile ".($counter + 1).", alte Target-ID #$oldID nicht innerhalb des Projektes";
}
}
fwrite($file, $z);
$counter ++;
}
unset($ScrContent);
unset($ObjLinkTree);
fclose($file);
return;
}
// sucht neue Object-ID für Script-Variablen
function findNewObjectID($ObjTree, $oldObjID)
{
global $newObjID;
for($i=0;$i<count($ObjTree);$i++)
{
if($ObjTree[$i]['ObjectID'] == $oldObjID)
{
$newObjID = $ObjTree[$i]['newObjectID'];
$i = 9999; // Abbruch, wenn ID gefunden
}
// in Childs suchen (rekursiv)
if(isset($ObjTree[$i]['ChildrenIDs']))
{
$newObjTree = $ObjTree[$i]['ChildrenIDs'];
findNewObjectID($newObjTree, $oldObjID);
unset($newObjTree);
}
}
unset($ObjTree);
return $newObjID;
}
############################## WFE-Items installieren ####################################################
function installWFC_Items($WFC_TargetID)
{
global $ObjInstallTree;
global $newObjID;
global $WFC_existItemoverwrite;
global $MessageProkoll;
$MessageProkoll['WFC']['OK'][] = "#6001 lade WFC-Objektbaum";
// Objektbaum Ziel-ID (Root-ID des Projekts)
$ZielID = $ObjInstallTree[0]['newObjectID'];
// Inventory des Ziel-WFC laden
if(@WFC_GetItems($WFC_TargetID))
$WFC_Target_Inventory = WFC_GetItems($WFC_TargetID);
// Inventory des Quell-Projektes laden
$WFC_Raw = loadWFCInventory();
if(isset($WFC_Target_Inventory[0]) && ($WFC_Raw[0] != NULL))
{
// Quell-Inventory durchgehen und Items installieren
$MessageProkoll['WFC']['OK'][] = "#6002 durchsuche QuellWFC-Objektbaum";
$Cnt = count($WFC_Raw);
for($i=0;$i<$Cnt;$i++)
{
// Inventory-String letzte 2 Zeichen abschneiden
$str = substr($WFC_Raw[$i], 0, -2);
// Item-Zeilen in Key|Value-Sätze zerlegen (1.Stufe)
$WFC_DataSet = explode(';', $str);
// Key|Value-Sätze in Key und Value zerlegen (2. Stufe)
for($e=0;$e<count($WFC_DataSet);$e++)
{
$WFC_Values[$e] = explode('|', $WFC_DataSet[$e]);
}
// Suche für alte TargetIDs neue Target-ID und tausche diese aus (nur Objekte mir Target-ID im Objektbaum)
$newTargetID = NULL;
unset ($matches);
$search = '/[1-5]\d\d\d\d/'; // suche 5stellige Zahlen von 10.000 - 59.999
if($WFC_Values[1][1] == 'Category' || $WFC_Values[1][1] == 'InfoWidget' || $WFC_Values[1][1] == 'Graph' || $WFC_Values[1][1] == 'ContentChanger')
{
preg_match($search, $WFC_Values[2][1], $matches);
if(isset($matches[0])) $oldTargetID = $matches[0];
if(isset($matches[0])) $newTargetID = findNewObjectID($ObjInstallTree, $matches[0]);
if($newTargetID != NULL)
{
$WFC_Values[2][1] = str_replace($oldTargetID, $newTargetID, $WFC_Values[2][1]);
$MessageProkoll['WFC']['OK'][] = "#6011 WFC altTargetID #$oldTargetID gegen newTargetID #$newTargetID getauscht";
}
else
{
$MessageProkoll['WFC']['User'][] = "#6012 WFC Item ".$WFC_Values[1][1].", ".$WFC_Values[3][1]." keine neue TargetID gefunden";
}
}
unset($newObjID);
// Namen für neues WFC-Item ändern (Präfix "Cpy" hinzufügen)
if(strpos($WFC_Values[2][1], 'roottp') == 0)
{
$StartPos = strpos($WFC_Values[2][1], '"name":')+8;
$EndPos = strpos($WFC_Values[2][1], '","', $StartPos);
$OldItemName = substr($WFC_Values[2][1], $StartPos, $EndPos - $StartPos);
$NewItemName = substr($WFC_Values[2][1], $StartPos, $EndPos - $StartPos).'_ScrID'.$ZielID;
$WFC_Values[2][1] = str_replace($OldItemName, $NewItemName, $WFC_Values[2][1]);
}
// Namen für ID (Item) ändern
if($WFC_Values[3][1] != 'roottp')
$WFC_Values[3][1] = str_replace($WFC_Values[3][1], $WFC_Values[3][1].'_ScrID'.$ZielID, $WFC_Values[3][1]);
// Namen für ParentID (Item) ändern
if($WFC_Values[4][1] != 'roottp')
$WFC_Values[4][1] = str_replace($WFC_Values[4][1], $WFC_Values[4][1].'_ScrID'.$ZielID, $WFC_Values[4][1]);
// Root-Item aus Quell-Projekt definieren (wird bei Updates nicht gelöscht)
if($i == 0) $WFC_RootItem = $WFC_Values[3][1];
// Ziel-Inventory nach vorhandenen Elementen durchsuchen
$Item_exist = 0;
foreach($WFC_Target_Inventory as $value)
{
// wenn WFE-Objekt gefunden (aktuelle Syntax 'ItemName_ScrID12345' bzw. alte Syntax 'CpyItemName')
if(($value['ID'] == $WFC_Values[3][1]) || ($value['ID'] == 'Cpy'.substr($WFC_Values[3][1], 0, -11)))
{
// wenn Überschreib-Option abgeschaltet und WFE Objekt nicht alter Syntax ('CpyItemName') entspricht
if(($WFC_existItemoverwrite == 0) && ($value['ID'] != 'Cpy'.substr($WFC_Values[3][1], 0, -11)))
{
$Item_exist = 1;
$MessageProkoll['WFC']['User'][] = "#6020 WFC-Item ".$WFC_Values[3][1]." nicht gelöscht (Option abgeschaltet)";
break;
}
elseif(($WFC_Values[3][1] != $WFC_RootItem) && ($value['ID'] != 'Cpy'.substr($WFC_Values[3][1], 0, -11)))
{
WFC_DeleteItem($WFC_TargetID, $WFC_Values[3][1]); // vorhandenes Item (neue Syntax) löschen
$MessageProkoll['WFC']['OK'][] = "#6021 WFC-Item ".$WFC_Values[3][1]." gelöscht (Option eingeschaltet)";
}
elseif($value['ID'] == 'Cpy'.substr($WFC_Values[3][1], 0, -11))
{
WFC_DeleteItem($WFC_TargetID, 'Cpy'.substr($WFC_Values[3][1], 0, -11)); // vorhandenes Item (alte Syntax) löschen
$MessageProkoll['WFC']['OK'][] = "#6022 WFC-Item ".$WFC_Values[3][1]." veraltetes WFE-Objekt ('CpyItemname') gelöscht";
}
if($WFC_Values[3][1] == $WFC_RootItem)
{
// wenn Root-Item veraltete Syntax hat
$Item_exist = 1;
}
}
}
// Wenn Item im Ziel-WFC nicht vorhanden, dann installieren
if($Item_exist == 0)
{
if($WFC_Values[3][1] != 'roottp')
WFC_AddItem($WFC_TargetID, $WFC_Values[3][1], $WFC_Values[1][1], $WFC_Values[2][1], $WFC_Values[4][1]);
WFC_UpdatePosition($WFC_TargetID, $WFC_Values[3][1], (int)$WFC_Values[5][1]);
WFC_UpdateVisibility($WFC_TargetID, $WFC_Values[3][1], (bool)$WFC_Values[6][1]);
$MessageProkoll['WFC']['OK'][] = "#6031 WFC-Item ".$WFC_Values[3][1]." installiert";
}
else
{
$MessageProkoll['WFC']['OK'][] = "#6030 WFC-Item ".$WFC_Values[3][1]." nicht installiert, da bereits vorhanden";
}
unset($WFC_Values);
unset($WFC_DataSet);
}
IPS_ApplyChanges($WFC_TargetID);
}
else
{
$MessageProkoll['WFC']['User'][] = "#6000 WFCObjektbaum: keine Installation möglich (kein Quell-Inventory oder kein Ziel-WFE gefunden)";
}
}
// Install-Script ins Projekt-Config Verzeichnis verschieben
function moveInstallScripttoConfig()
{
global $ObjInstallTree;
global $MessageProkoll;
$RootID = (int)$ObjInstallTree[0]['newObjectID'];
$search = 'Config';
$SrchResult = searchConfigDir($ObjInstallTree);
if($SrchResult > 0)
{
IPS_SetParent($_IPS['SELF'], $SrchResult);
$MessageProkoll['Info'][] = "#1011 Install-Script: Install-Script und -Protokoll in Config-Ordner verschoben";
}
else
{
$MessageProkoll['Info'][] = "#1010 Install-Script: Install-Script und -Protokoll NICHT verschoben (kein Config-Ordner im Zielprojekt gefunden)";
}
return;
}
// Funktion zum rekursiven Durchsuchen des Obj-Inventorys nach Config-Dir
function searchConfigDir($Array)
{
global $SrchResult;
$search = 'Config';
$Cnt = count($Array);
for($i=0;$i<$Cnt;$i++)
{
if($Array[$i]['ObjectName'] == $search)
{
$SrchResult = (int)$Array[$i]['newObjectID'];
}
if((isset($Array[0]['ChildrenIDs'])) && (!isset($SrchResult)))
{
$newArray = $Array[0]['ChildrenIDs'];
searchConfigDir($newArray);
}
}
unset($Array);
unset($newArray);
return $SrchResult;
}
// Protokoll ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function InstallProtocoll()
{
global $MessageProkoll;
// +++ Installations-Parameter +++++++++++++++++++++++++
$ps ='// +++ Installationsprotokoll vom '.date("d.m.Y, H:i:s", time()).' ++++++++++++++++++++++++++++++++++++++++++++'."
";
$ps .="/** +++++++++++++++++ Installationsparameter +++++++++++++++++++++++++++++++++++++++++++++++++++++++
";
$ps .=" Update: ".$MessageProkoll['InstallParameters']['Update']."
";
$ps .=" Variablenprofile installieren: ".$MessageProkoll['InstallParameters']['VarProfile']."
";
$ps .=" benamste Scripte überschreiben: ".$MessageProkoll['InstallParameters']['ScrOverwrite']."
";
$ps .=" WFC-Items überschreiben: ".$MessageProkoll['InstallParameters']['WFCItems']."
";
$ps .="+++++++++++++++++++++ Installationsparameter Ende ++++++++++++++++++++++++++++++++++++++++++++++++++
";
// +++ Infos ++++++++++++++++++++++++++++++++++++++
$ps .="+++++++++++++++++++++ Installations-Infos ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
";
for($i=0;$i<count(@$MessageProkoll['Info']);$i++)
{
$ps .=" ".@$MessageProkoll['Info'][$i]."
";
}
$ps .="+++++++++++++++++++++ Installations-Infos Ende +++++++++++++++++++++++++++++++++++++++++++++++++++++
";
// +++ Installation ++++++++++++++++++++++++++++++++++++++
$ps .="++++++++++++++++++++ Objekt-Installation +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
";
$ps .=" --- OK-Meldungen --------------------------------------------------------------------------
";
for($i=0;$i<count(@$MessageProkoll['Install']['OK']);$i++)
{
$ps .=" ".@$MessageProkoll['Install']['OK'][$i]."
";
}
$ps .=" --- OK-Meldungen Ende ---------------------------------------------------------------------
";
$ps .=" --- Kontrolle durch User erforderlich -----------------------------------------------------
";
for($i=0;$i<count(@$MessageProkoll['Install']['User']);$i++)
{
$ps .=" ".@$MessageProkoll['Install']['User'][$i]."
";
}
$ps .=" --- Kontrolle durch User erforderlich Ende-------------------------------------------------
";
$ps .=" --- Fehlermeldungen -----------------------------------------------------------------------
";
for($i=0;$i<count(@$MessageProkoll['Install']['Failure']);$i++)
{
$ps .=" ".@$MessageProkoll['Install']['Failure'][$i]."
";
}
$ps .=" --- Fehlermeldungen Ende-------------------------------------------------------------------
";
// +++ WFC-Objekte installieren und verlinken ++++++++++++++++++++++++++++++++++++++
$ps .=" +++++++++++++++++ WFC-Objekte installieren und verlinken ++++++++++++++++++++++++++++++++++++++++
";
$ps .=" --- OK-Meldungen --------------------------------------------------------------------------
";
for($i=0;$i<count(@$MessageProkoll['WFC']['OK']);$i++)
{
$ps .=" ".@$MessageProkoll['WFC']['OK'][$i]."
";
}
$ps .=" --- OK-Meldungen Ende ---------------------------------------------------------------------
";
$ps .=" --- Kontrolle durch User erforderlich -----------------------------------------------------
";
for($i=0;$i<count(@$MessageProkoll['WFC']['User']);$i++)
{
$ps .=" ".@$MessageProkoll['WFC']['User'][$i]."
";
}
$ps .=" --- Kontrolle durch User erforderlich Ende-------------------------------------------------
";
$ps .=" --- Fehlermeldungen -----------------------------------------------------------------------
";
for($i=0;$i<count(@$MessageProkoll['WFC']['Failure']);$i++)
{
$ps .=" ".@$MessageProkoll['WFC']['Failure'][$i]."
";
}
$ps .=" --- Fehlermeldungen Ende-------------------------------------------------------------------
";
// +++ Scripte nachbearbeiten ++++++++++++++++++++++++++++++++++++++
$ps .=" +++++++++++++++++ ID Austausch in Scripts ++++++++++++++++++++++++++++++++++++++++++++++++++++++
";
$ps .=" --- OK-Meldungen --------------------------------------------------------------------------
";
for($i=0;$i<count(@$MessageProkoll['Script']['OK']);$i++)
{
$ps .=" ".@$MessageProkoll['Script']['OK'][$i]."
";
}
$ps .=" --- OK-Meldungen Ende ---------------------------------------------------------------------
";
$ps .=" --- Kontrolle durch User erforderlich -----------------------------------------------------
";
for($i=0;$i<count(@$MessageProkoll['Script']['User']);$i++)
{
$ps .=" ".@$MessageProkoll['Script']['User'][$i]."
";
}
$ps .=" --- Kontrolle durch User erforderlich Ende-------------------------------------------------
";
$ps .=" --- Fehlermeldungen -----------------------------------------------------------------------
";
for($i=0;$i<count(@$MessageProkoll['Script']['Failure']);$i++)
{
$ps .=" ".@$MessageProkoll['Script']['Failure'][$i]."
";
}
$ps .=" --- Fehlermeldungen Ende-------------------------------------------------------------------
";
// +++ Objekte neu verlinken ++++++++++++++++++++++++++++++++++++++
$ps .=" +++++++++++++++++ Objekte neu verlinken ++++++++++++++++++++++++++++++++++++++++++++++++++++++
";
$ps .=" --- OK-Meldungen --------------------------------------------------------------------------
";
for($i=0;$i<count(@$MessageProkoll['Link']['OK']);$i++)
{
$ps .=" ".@$MessageProkoll['Link']['OK'][$i]."
";
}
$ps .=" --- OK-Meldungen Ende ---------------------------------------------------------------------
";
$ps .=" --- Kontrolle durch User erforderlich -----------------------------------------------------
";
for($i=0;$i<count(@$MessageProkoll['Link']['User']);$i++)
{
$ps .=" ".@$MessageProkoll['Link']['User'][$i]."
";
}
$ps .=" --- Kontrolle durch User erforderlich Ende-------------------------------------------------
";
$ps .=" --- Fehlermeldungen -----------------------------------------------------------------------
";
for($i=0;$i<count(@$MessageProkoll['Link']['Failure']);$i++)
{
$ps .=" ".@$MessageProkoll['Link']['Failure'][$i]."
";
}
$ps .=" --- Fehlermeldungen Ende-------------------------------------------------------------------
";
// +++ externe Files installiert ++++++++++++++++++++++++++++++++++++++
$ps .=" +++++++++++++++++ Installation externe Files +++++++++++++++++++++++++++++++++++++++++++++++++
";
$ps .=" --- OK-Meldungen --------------------------------------------------------------------------
";
for($i=0;$i<count(@$MessageProkoll['extFiles']['OK']);$i++)
{
$ps .=" ".@$MessageProkoll['extFiles']['OK'][$i]."
";
}
$ps .=" --- OK-Meldungen Ende ---------------------------------------------------------------------
";
$ps .=" --- Fehlermeldungen -----------------------------------------------------------------------
";
for($i=0;$i<count(@$MessageProkoll['extFiles']['Failure']);$i++)
{
$ps .=" ".@$MessageProkoll['extFiles']['Failure'][$i]."
";
}
$ps .=" --- Fehlermeldungen Ende-------------------------------------------------------------------
";
$ps .="**/
";
echo $ps;
return $ps;
}
############################### Installations-Protokoll ##################################################
// +++ erstellt Installations-Protokoll Objekt-Inventory für Exportscript ++++++++++++++
function createObjInventoryProtocol($ObjInstInv)
{
// Object-Inventory Function-Kopf generieren
$s = "<?
";
$s .= InstallProtocoll();
$s .= "// ### InstallationsProtokoll Ende #################################################
";
$s .= '// Function Object Inventory Install-Protocol'."
";
$s .= 'function ObjectInventoryProtocol()'."
";
$s .= '{'."
";
$s .= '$raw = \''."
";
// Array Copy-Parameters
$s .= createCopyParametersString();
// Daten der Einzelobjekte aus Objekt-Inventory an Export-String anfügen
$ObjStringArray = ChildGenerator($ObjInstInv);
//print_r($ObjInstInv);
$s .= createInventoryString($ObjStringArray);
// Function Footer
$s .= "';
";
$s .= '$Inv = explode("
",substr(substr($raw, 1), 1, -1)); // ersten und letzten Zeilenumbruch entfernen'."
";
$s .= 'return $Inv;'."
";
$s .= "}
";
$s .= "?>";
return $s;
}
// generiert rekursiv Protkoll-String für ggf. vorhandene Child-Arrays unter einem Objekt im Objekt-Inventory
function ChildGenerator($Array)
{
for($i=0;$i<count($Array);$i++)
{
$obj[] = createObjectRow($Array[$i]);
if((isset($Array[$i]['ChildrenIDs'])))
{
$newArray = $Array[$i]['ChildrenIDs'];
$obj[] = ChildGenerator($newArray);
}
}
return $obj;
}
// Function Objekt Install Protocol: Datenstring für 1 Objekt generieren
function createObjectRow($Obj)
{
// Objektstammdaten aus IPS_GetObject
unset($Obj['ChildrenIDs']);
// Steuerzeichen CR LF aus Object-Info filtern und ersetzen
$Obj['ObjectInfo'] = str_replace("
", "§&§", $Obj['ObjectInfo']);
// Stringstart definieren, 1. Entrag muss ObjectID sein!
$s = 'ObjectID,'.$Obj['ObjectID'].';';
// Inventory Export: Stringteil Objekt-Stammdaten vervollständigen
for($i=0;$i<count($Obj);$i++)
{
$key = key($Obj);
$s .= key($Obj).','.$Obj[key($Obj)].';';
next ($Obj);
}
$s .= "
";
return $s;
}
// +++ Export: geht Objekt-Inventory rekrusiv durch und fügt Objektdaten der Einzelobjekte an Protokoll-String an
function createInventoryString($Array)
{
$str = '';
for($i=0;$i<count($Array);$i++)
{
if(is_array($Array[$i]))
{
$newArray = $Array[$i];
$str .= createInventoryString($newArray);
}
else
{
$str .= $Array[$i];
}
}
unset($Array);
return $str;
}
// Copy-Parameters String für Install-Protocol generieren
function createCopyParametersString()
{
global $Parameters;
//$Array = $_IPS['InstParameters'];
$s = 'CopyParameters,;';
for($i=0;$i<count($Parameters);$i++)
{
$s .=key($Parameters).','.current($Parameters).';';
next($Parameters);
}
$s .= "
";
return $s;
}
// Protokoll-File schreiben
function CreateProtocolFile($InstProtocol)
{
$ScrName = IPS_GetName($_IPS['SELF'])." InstallProtocol";
echo "Protokollname: ".$ScrName;
$Script_ID = IPS_CreateScript(0);
IPS_SetName($Script_ID, $ScrName);
IPS_SetParent($Script_ID, $_IPS['SELF']);
IPS_SetInfo($Script_ID, "This script was created by: RS IPS Exporter ID #".$_IPS['SELF']);
$fh = fopen(IPS_GetKernelDir()."scripts\\".$Script_ID.".ips.php", 'w') or die("cant open file");
fwrite($fh, $InstProtocol);
fclose($fh);
IPS_SetScriptFile($Script_ID, $Script_ID.'.ips.php');
echo "Installationsprotokoll-Script \"$ScrName\" ID #$Script_ID angelegt
";
return $Script_ID;
}
################# Inventory-Daten ###############################################################################
// Function Object Inventory
function ObjectInventory()
{
global $MessageProkoll;
$raw = '
CopyParameters,;VarProfile,1;ScrOverwrite,0;
ObjectID,51640 /*[Geräte\Dreambox]*/;HasChildren,1;ObjectIcon,;ObjectID,51640 /*[Geräte\Dreambox]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Dreambox;ObjectPosition,0;ObjectSummary,;ObjectType,0;ParentID,56760 /*[Geräte]*/;isConfigTree,0;
ObjectID,16705 /*[Geräte\Dreambox\Web Interface ]*/;HasChildren,1;ObjectIcon,;ObjectID,16705 /*[Geräte\Dreambox\Web Interface ]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Web Interface ;ObjectPosition,0;ObjectSummary,;ObjectType,0;ParentID,51640 /*[Geräte\Dreambox]*/;isConfigTree,0;
ObjectID,12885 /*[Geräte\Dreambox\Web Interface \Links]*/;HasChildren,1;ObjectIcon,;ObjectID,12885 /*[Geräte\Dreambox\Web Interface \Links]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Links;ObjectPosition,0;ObjectSummary,;ObjectType,0;ParentID,16705 /*[Geräte\Dreambox\Web Interface ]*/;isConfigTree,0;
ObjectID,17654 /*[Geräte\Dreambox\Web Interface \Links\Aktuelle Programm Info´s Wozimmer]*/;HasChildren,;ObjectIcon,;ObjectID,17654 /*[Geräte\Dreambox\Web Interface \Links\Aktuelle Programm Info´s Wozimmer]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Aktuelle Programm Info´s Wozimmer;ObjectPosition,2;ObjectSummary,;ObjectType,6;ParentID,12885 /*[Geräte\Dreambox\Web Interface \Links]*/;isConfigTree,0;LinkChildID,56210 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Aktuelle Programm Info´s]*/;LinkID,17654 /*[Geräte\Dreambox\Web Interface \Links\Aktuelle Programm Info´s Wozimmer]*/;TargetID,56210 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Aktuelle Programm Info´s]*/;TargetName,Aktuelle Programm Info´s;
ObjectID,38981 /*[Geräte\Dreambox\Web Interface \Links\Aktueller Sender Wohnzimmer]*/;HasChildren,;ObjectIcon,;ObjectID,38981 /*[Geräte\Dreambox\Web Interface \Links\Aktueller Sender Wohnzimmer]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Aktueller Sender Wohnzimmer;ObjectPosition,0;ObjectSummary,;ObjectType,6;ParentID,12885 /*[Geräte\Dreambox\Web Interface \Links]*/;isConfigTree,0;LinkChildID,37889 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Aktueller Sender Wohnzimmer]*/;LinkID,38981 /*[Geräte\Dreambox\Web Interface \Links\Aktueller Sender Wohnzimmer]*/;TargetID,37889 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Aktueller Sender Wohnzimmer]*/;TargetName,Aktueller Sender Wohnzimmer;
ObjectID,46800 /*[Geräte\Dreambox\Web Interface \Links\Standby Status]*/;HasChildren,;ObjectIcon,;ObjectID,46800 /*[Geräte\Dreambox\Web Interface \Links\Standby Status]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Standby Status;ObjectPosition,0;ObjectSummary,;ObjectType,6;ParentID,12885 /*[Geräte\Dreambox\Web Interface \Links]*/;isConfigTree,0;LinkChildID,43569 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Standby Status]*/;LinkID,46800 /*[Geräte\Dreambox\Web Interface \Links\Standby Status]*/;TargetID,43569 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Standby Status]*/;TargetName,Standby Status;
ObjectID,21731 /*[Geräte\Dreambox\Web Interface \Unten]*/;HasChildren,1;ObjectIcon,;ObjectID,21731 /*[Geräte\Dreambox\Web Interface \Unten]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Unten;ObjectPosition,0;ObjectSummary,;ObjectType,0;ParentID,16705 /*[Geräte\Dreambox\Web Interface ]*/;isConfigTree,0;
ObjectID,35633 /*[Geräte\Dreambox\Web Interface \Unten\Programmvorschau von TV Movie]*/;HasChildren,;ObjectIcon,;ObjectID,35633 /*[Geräte\Dreambox\Web Interface \Unten\Programmvorschau von TV Movie]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Programmvorschau von TV Movie;ObjectPosition,0;ObjectSummary,;ObjectType,6;ParentID,21731 /*[Geräte\Dreambox\Web Interface \Unten]*/;isConfigTree,0;LinkChildID,57498 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Programm \Programmvorschau von TV Movie]*/;LinkID,35633 /*[Geräte\Dreambox\Web Interface \Unten\Programmvorschau von TV Movie]*/;TargetID,57498 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Programm \Programmvorschau von TV Movie]*/;TargetName,Programmvorschau von TV Movie;
ObjectID,29401 /*[Geräte\Dreambox\Web Interface \Rechts]*/;HasChildren,1;ObjectIcon,;ObjectID,29401 /*[Geräte\Dreambox\Web Interface \Rechts]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Rechts;ObjectPosition,0;ObjectSummary,;ObjectType,0;ParentID,16705 /*[Geräte\Dreambox\Web Interface ]*/;isConfigTree,0;
ObjectID,36897 /*[Geräte\Dreambox\Web Interface \Rechts\Aktueller Sender Arbeitszimmer]*/;HasChildren,;ObjectIcon,;ObjectID,36897 /*[Geräte\Dreambox\Web Interface \Rechts\Aktueller Sender Arbeitszimmer]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Aktueller Sender Arbeitszimmer;ObjectPosition,0;ObjectSummary,;ObjectType,6;ParentID,29401 /*[Geräte\Dreambox\Web Interface \Rechts]*/;isConfigTree,0;LinkChildID,38400 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Aktueller Sender]*/;LinkID,36897 /*[Geräte\Dreambox\Web Interface \Rechts\Aktueller Sender Arbeitszimmer]*/;TargetID,38400 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Aktueller Sender]*/;TargetName,Aktueller Sender;
ObjectID,42452 /*[Geräte\Dreambox\Web Interface \Rechts\Dreambox Arbeitszimmer]*/;HasChildren,;ObjectIcon,;ObjectID,42452 /*[Geräte\Dreambox\Web Interface \Rechts\Dreambox Arbeitszimmer]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Dreambox Arbeitszimmer;ObjectPosition,0;ObjectSummary,;ObjectType,6;ParentID,29401 /*[Geräte\Dreambox\Web Interface \Rechts]*/;isConfigTree,0;LinkChildID,38812 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Dreambox Arbeitszimmer]*/;LinkID,42452 /*[Geräte\Dreambox\Web Interface \Rechts\Dreambox Arbeitszimmer]*/;TargetID,38812 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Dreambox Arbeitszimmer]*/;TargetName,Dreambox Arbeitszimmer;
ObjectID,55597 /*[Geräte\Dreambox\Web Interface \Rechts\Aktuelle Programm Info´s Arbeitzimmer]*/;HasChildren,;ObjectIcon,;ObjectID,55597 /*[Geräte\Dreambox\Web Interface \Rechts\Aktuelle Programm Info´s Arbeitzimmer]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Aktuelle Programm Info´s Arbeitzimmer;ObjectPosition,2;ObjectSummary,;ObjectType,6;ParentID,29401 /*[Geräte\Dreambox\Web Interface \Rechts]*/;isConfigTree,0;LinkChildID,13739 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Aktuelle Programm Info´s]*/;LinkID,55597 /*[Geräte\Dreambox\Web Interface \Rechts\Aktuelle Programm Info´s Arbeitzimmer]*/;TargetID,13739 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Aktuelle Programm Info´s]*/;TargetName,Aktuelle Programm Info´s;
ObjectID,29702 /*[Geräte\Dreambox\DreamBox Wohnzimmer]*/;HasChildren,1;ObjectIcon,;ObjectID,29702 /*[Geräte\Dreambox\DreamBox Wohnzimmer]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,DreamBox Wohnzimmer;ObjectPosition,0;ObjectSummary,;ObjectType,0;ParentID,51640 /*[Geräte\Dreambox]*/;isConfigTree,0;
ObjectID,43014 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer]*/;HasChildren,1;ObjectIcon,;ObjectID,43014 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Dreambox Wohnzimmer;ObjectPosition,0;ObjectSummary,;ObjectType,1;ParentID,29702 /*[Geräte\Dreambox\DreamBox Wohnzimmer]*/;isConfigTree,0;ConnectionID,0;InstanceID,43014 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer]*/;InstanceStatus,102;LastChange,0;ModuleID,{485D0419-BE97-4548-AA9C-C083EB82E61E};ModuleName,Dummy Module;ModuleType,3;
ObjectID,10018 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Infos zur Sendung anzeigen ]*/;HasChildren,1;ObjectIcon,;ObjectID,10018 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Infos zur Sendung anzeigen ]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Infos zur Sendung anzeigen ;ObjectPosition,0;ObjectSummary,;ObjectType,3;ParentID,43014 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer]*/;isConfigTree,0;IsBroken,;LastExecute,1404761405;ScriptFile,10018.ips.php;ScriptID,10018 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Infos zur Sendung anzeigen ]*/;ScriptType,0;
ObjectID,24465 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Infos zur Sendung anzeigen \]*/;HasChildren,;ObjectIcon,;ObjectID,24465 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Infos zur Sendung anzeigen \]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Unbenanntes Objekt (ID: 24465);ObjectPosition,0;ObjectSummary,;ObjectType,4;ParentID,10018 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Infos zur Sendung anzeigen ]*/;isConfigTree,0;CyclicDateDay,0;CyclicDateDayValue,0;CyclicDateFrom,1393887600;CyclicDateTo,0;CyclicDateType,0;CyclicDateValue,0;CyclicTimeFrom,943916400;CyclicTimeTo,943916400;CyclicTimeType,2;CyclicTimeValue,15;EventActive,1;EventID,24465 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Infos zur Sendung anzeigen \]*/;EventLimit,0;EventType,1;LastRun,1404761400;NextRun,1404762300;TriggerSubsequentExecution,;TriggerType,0;TriggerValue,;TriggerVariableID,0;
ObjectID,12194 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Sendungsfortschritt]*/;HasChildren,;ObjectIcon,;ObjectID,12194 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Sendungsfortschritt]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Sendungsfortschritt;ObjectPosition,0;ObjectSummary,;ObjectType,2;ParentID,43014 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer]*/;isConfigTree,0;VariableAction,0;VariableChanged,1404761405;VariableCustomAction,0;VariableCustomProfile,;VariableID,12194 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Sendungsfortschritt]*/;VariableIsBinary,;VariableIsLocked,;VariableProfile,;VariableUpdated,1404761405;ValueBoolean,;ValueFloat,0;ValueInteger,0;ValueString,;ValueType,1;ValueVariant,;LoggingStatus,;AggregationType,0;GraphStatus,1;
ObjectID,12336 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Reload Webcontrol]*/;HasChildren,;ObjectIcon,;ObjectID,12336 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Reload Webcontrol]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Reload Webcontrol;ObjectPosition,0;ObjectSummary,;ObjectType,3;ParentID,43014 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer]*/;isConfigTree,0;IsBroken,;LastExecute,1393867245;ScriptFile,12336.ips.php;ScriptID,12336 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Reload Webcontrol]*/;ScriptType,0;
ObjectID,13553 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Dreambox Webcontrol]*/;HasChildren,;ObjectIcon,;ObjectID,13553 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Dreambox Webcontrol]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Dreambox Webcontrol;ObjectPosition,0;ObjectSummary,;ObjectType,2;ParentID,43014 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer]*/;isConfigTree,0;VariableAction,0;VariableChanged,1393867228;VariableCustomAction,0;VariableCustomProfile,~HTMLBox;VariableID,13553 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Dreambox Webcontrol]*/;VariableIsBinary,;VariableIsLocked,;VariableProfile,;VariableUpdated,1393867245;ValueBoolean,;ValueFloat,0;ValueInteger,0;ValueString,;ValueType,3;ValueVariant,;LoggingStatus,;AggregationType,0;GraphStatus,1;
ObjectID,18569 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Getcurrent]*/;HasChildren,1;ObjectIcon,;ObjectID,18569 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Getcurrent]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Getcurrent;ObjectPosition,0;ObjectSummary,;ObjectType,3;ParentID,43014 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer]*/;isConfigTree,0;IsBroken,;LastExecute,1404761400;ScriptFile,18569.ips.php;ScriptID,18569 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Getcurrent]*/;ScriptType,0;
ObjectID,27759 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Getcurrent\]*/;HasChildren,;ObjectIcon,;ObjectID,27759 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Getcurrent\]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Unbenanntes Objekt (ID: 27759);ObjectPosition,0;ObjectSummary,;ObjectType,4;ParentID,18569 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Getcurrent]*/;isConfigTree,0;CyclicDateDay,0;CyclicDateDayValue,0;CyclicDateFrom,1393801200;CyclicDateTo,0;CyclicDateType,0;CyclicDateValue,0;CyclicTimeFrom,943916400;CyclicTimeTo,943916400;CyclicTimeType,2;CyclicTimeValue,15;EventActive,1;EventID,27759 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Getcurrent\]*/;EventLimit,0;EventType,1;LastRun,1404761400;NextRun,1404762300;TriggerSubsequentExecution,;TriggerType,0;TriggerValue,;TriggerVariableID,0;
ObjectID,24637 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\IP]*/;HasChildren,;ObjectIcon,;ObjectID,24637 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\IP]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,IP;ObjectPosition,0;ObjectSummary,;ObjectType,2;ParentID,43014 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer]*/;isConfigTree,0;VariableAction,0;VariableChanged,1393938245;VariableCustomAction,0;VariableCustomProfile,;VariableID,24637 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\IP]*/;VariableIsBinary,;VariableIsLocked,;VariableProfile,;VariableUpdated,1393938245;ValueBoolean,;ValueFloat,0;ValueInteger,0;ValueString,;ValueType,3;ValueVariant,;LoggingStatus,;AggregationType,0;GraphStatus,1;
ObjectID,26456 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Programm]*/;HasChildren,;ObjectIcon,;ObjectID,26456 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Programm]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Programm;ObjectPosition,0;ObjectSummary,;ObjectType,2;ParentID,43014 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer]*/;isConfigTree,0;VariableAction,0;VariableChanged,0;VariableCustomAction,0;VariableCustomProfile,;VariableID,26456 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Programm]*/;VariableIsBinary,;VariableIsLocked,;VariableProfile,;VariableUpdated,0;ValueBoolean,;ValueFloat,0;ValueInteger,0;ValueString,;ValueType,3;ValueVariant,;LoggingStatus,;AggregationType,0;GraphStatus,1;
ObjectID,37133 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\getPowerstate]*/;HasChildren,;ObjectIcon,;ObjectID,37133 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\getPowerstate]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,getPowerstate;ObjectPosition,0;ObjectSummary,;ObjectType,3;ParentID,43014 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer]*/;isConfigTree,0;IsBroken,;LastExecute,1393921652;ScriptFile,37133.ips.php;ScriptID,37133 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\getPowerstate]*/;ScriptType,0;
ObjectID,37889 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Aktueller Sender Wohnzimmer]*/;HasChildren,;ObjectIcon,;ObjectID,37889 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Aktueller Sender Wohnzimmer]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Aktueller Sender Wohnzimmer;ObjectPosition,0;ObjectSummary,;ObjectType,2;ParentID,43014 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer]*/;isConfigTree,0;VariableAction,0;VariableChanged,1404761405;VariableCustomAction,0;VariableCustomProfile,~HTMLBox;VariableID,37889 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Aktueller Sender Wohnzimmer]*/;VariableIsBinary,;VariableIsLocked,;VariableProfile,;VariableUpdated,1404761405;ValueBoolean,;ValueFloat,0;ValueInteger,0;ValueString,;ValueType,3;ValueVariant,;LoggingStatus,;AggregationType,0;GraphStatus,1;
ObjectID,43569 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Standby Status]*/;HasChildren,;ObjectIcon,;ObjectID,43569 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Standby Status]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Standby Status;ObjectPosition,0;ObjectSummary,;ObjectType,2;ParentID,43014 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer]*/;isConfigTree,0;VariableAction,0;VariableChanged,1394489379;VariableCustomAction,44983 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer oggleStandby]*/;VariableCustomProfile,IP_50;VariableID,43569 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Standby Status]*/;VariableIsBinary,;VariableIsLocked,;VariableProfile,;VariableUpdated,1395843981;ValueBoolean,1;ValueFloat,0;ValueInteger,0;ValueString,;ValueType,0;ValueVariant,;LoggingStatus,;AggregationType,0;GraphStatus,1;
ObjectID,44983 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer oggleStandby]*/;HasChildren,;ObjectIcon,;ObjectID,44983 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer oggleStandby]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,toggleStandby;ObjectPosition,0;ObjectSummary,;ObjectType,3;ParentID,43014 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer]*/;isConfigTree,0;IsBroken,;LastExecute,1395843982;ScriptFile,44983.ips.php;ScriptID,44983 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer oggleStandby]*/;ScriptType,0;
ObjectID,56210 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Aktuelle Programm Info´s]*/;HasChildren,;ObjectIcon,;ObjectID,56210 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Aktuelle Programm Info´s]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Aktuelle Programm Info´s;ObjectPosition,0;ObjectSummary,;ObjectType,2;ParentID,43014 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer]*/;isConfigTree,0;VariableAction,0;VariableChanged,1404761405;VariableCustomAction,0;VariableCustomProfile,~HTMLBox;VariableID,56210 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Aktuelle Programm Info´s]*/;VariableIsBinary,;VariableIsLocked,;VariableProfile,;VariableUpdated,1404761405;ValueBoolean,;ValueFloat,0;ValueInteger,0;ValueString,;ValueType,3;ValueVariant,;LoggingStatus,;AggregationType,0;GraphStatus,1;
ObjectID,41246 /*[Geräte\Dreambox\Dreambox Arbeitszimmer]*/;HasChildren,1;ObjectIcon,;ObjectID,41246 /*[Geräte\Dreambox\Dreambox Arbeitszimmer]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Dreambox Arbeitszimmer;ObjectPosition,0;ObjectSummary,;ObjectType,0;ParentID,51640 /*[Geräte\Dreambox]*/;isConfigTree,0;
ObjectID,18018 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer]*/;HasChildren,1;ObjectIcon,;ObjectID,18018 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Dreambox Arbeitszimmer;ObjectPosition,0;ObjectSummary,;ObjectType,1;ParentID,41246 /*[Geräte\Dreambox\Dreambox Arbeitszimmer]*/;isConfigTree,0;ConnectionID,0;InstanceID,18018 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer]*/;InstanceStatus,102;LastChange,0;ModuleID,{485D0419-BE97-4548-AA9C-C083EB82E61E};ModuleName,Dummy Module;ModuleType,3;
ObjectID,20840 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\e2_function]*/;HasChildren,;ObjectIcon,;ObjectID,20840 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\e2_function]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,1;ObjectIsReadOnly,;ObjectName,e2_function;ObjectPosition,0;ObjectSummary,;ObjectType,3;ParentID,18018 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer]*/;isConfigTree,0;IsBroken,;LastExecute,1393853787;ScriptFile,20840.ips.php;ScriptID,20840 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\e2_function]*/;ScriptType,0;
ObjectID,21651 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer]*/;HasChildren,1;ObjectIcon,;ObjectID,21651 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,TV Informationen Arbeitzimmer;ObjectPosition,0;ObjectSummary,;ObjectType,1;ParentID,18018 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer]*/;isConfigTree,0;ConnectionID,0;InstanceID,21651 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer]*/;InstanceStatus,102;LastChange,0;ModuleID,{485D0419-BE97-4548-AA9C-C083EB82E61E};ModuleName,Dummy Module;ModuleType,3;
ObjectID,13739 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Aktuelle Programm Info´s]*/;HasChildren,;ObjectIcon,;ObjectID,13739 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Aktuelle Programm Info´s]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Aktuelle Programm Info´s;ObjectPosition,0;ObjectSummary,;ObjectType,2;ParentID,21651 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer]*/;isConfigTree,0;VariableAction,0;VariableChanged,1404512107;VariableCustomAction,0;VariableCustomProfile,~HTMLBox;VariableID,13739 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Aktuelle Programm Info´s]*/;VariableIsBinary,;VariableIsLocked,;VariableProfile,;VariableUpdated,1404761404;ValueBoolean,;ValueFloat,0;ValueInteger,0;ValueString,;ValueType,3;ValueVariant,;LoggingStatus,;AggregationType,0;GraphStatus,1;
ObjectID,16651 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Empfangspegel]*/;HasChildren,;ObjectIcon,;ObjectID,16651 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Empfangspegel]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Empfangspegel;ObjectPosition,0;ObjectSummary,;ObjectType,2;ParentID,21651 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer]*/;isConfigTree,0;VariableAction,0;VariableChanged,1404761404;VariableCustomAction,0;VariableCustomProfile,~Intensity.100;VariableID,16651 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Empfangspegel]*/;VariableIsBinary,;VariableIsLocked,;VariableProfile,;VariableUpdated,1404761405;ValueBoolean,;ValueFloat,0;ValueInteger,0;ValueString,;ValueType,1;ValueVariant,;LoggingStatus,;AggregationType,0;GraphStatus,1;
ObjectID,23032 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Sendungsfortschritt]*/;HasChildren,;ObjectIcon,;ObjectID,23032 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Sendungsfortschritt]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Sendungsfortschritt;ObjectPosition,0;ObjectSummary,;ObjectType,2;ParentID,21651 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer]*/;isConfigTree,0;VariableAction,0;VariableChanged,1404512107;VariableCustomAction,0;VariableCustomProfile,~Intensity.100;VariableID,23032 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Sendungsfortschritt]*/;VariableIsBinary,;VariableIsLocked,;VariableProfile,;VariableUpdated,1404761404;ValueBoolean,;ValueFloat,0;ValueInteger,0;ValueString,;ValueType,1;ValueVariant,;LoggingStatus,;AggregationType,0;GraphStatus,1;
ObjectID,23358 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Sender Anzeigen]*/;HasChildren,1;ObjectIcon,;ObjectID,23358 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Sender Anzeigen]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,1;ObjectIsReadOnly,;ObjectName,Sender Anzeigen;ObjectPosition,0;ObjectSummary,;ObjectType,3;ParentID,21651 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer]*/;isConfigTree,0;IsBroken,;LastExecute,1404761404;ScriptFile,23358.ips.php;ScriptID,23358 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Sender Anzeigen]*/;ScriptType,0;
ObjectID,26614 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Sender Anzeigen\]*/;HasChildren,;ObjectIcon,;ObjectID,26614 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Sender Anzeigen\]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Unbenanntes Objekt (ID: 26614);ObjectPosition,0;ObjectSummary,;ObjectType,4;ParentID,23358 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Sender Anzeigen]*/;isConfigTree,0;CyclicDateDay,0;CyclicDateDayValue,0;CyclicDateFrom,1385766000;CyclicDateTo,0;CyclicDateType,0;CyclicDateValue,0;CyclicTimeFrom,943916400;CyclicTimeTo,943916400;CyclicTimeType,2;CyclicTimeValue,15;EventActive,1;EventID,26614 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Sender Anzeigen\]*/;EventLimit,0;EventType,1;LastRun,1404761400;NextRun,1404762300;TriggerSubsequentExecution,;TriggerType,0;TriggerValue,;TriggerVariableID,0;
ObjectID,38400 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Aktueller Sender]*/;HasChildren,;ObjectIcon,;ObjectID,38400 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Aktueller Sender]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Aktueller Sender;ObjectPosition,0;ObjectSummary,;ObjectType,2;ParentID,21651 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer]*/;isConfigTree,0;VariableAction,0;VariableChanged,1404512107;VariableCustomAction,0;VariableCustomProfile,~HTMLBox;VariableID,38400 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Aktueller Sender]*/;VariableIsBinary,;VariableIsLocked,;VariableProfile,;VariableUpdated,1404761404;ValueBoolean,;ValueFloat,0;ValueInteger,0;ValueString,;ValueType,3;ValueVariant,;LoggingStatus,;AggregationType,0;GraphStatus,1;
ObjectID,38812 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Dreambox Arbeitszimmer]*/;HasChildren,;ObjectIcon,;ObjectID,38812 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Dreambox Arbeitszimmer]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Dreambox Arbeitszimmer;ObjectPosition,0;ObjectSummary,;ObjectType,2;ParentID,21651 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer]*/;isConfigTree,0;VariableAction,0;VariableChanged,1404513001;VariableCustomAction,23358 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Sender Anzeigen]*/;VariableCustomProfile,IP_50;VariableID,38812 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Dreambox Arbeitszimmer]*/;VariableIsBinary,;VariableIsLocked,;VariableProfile,;VariableUpdated,1404761401;ValueBoolean,;ValueFloat,0;ValueInteger,0;ValueString,;ValueType,0;ValueVariant,;LoggingStatus,;AggregationType,0;GraphStatus,1;
ObjectID,46214 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Arbeitzimmer IP Dreambox]*/;HasChildren,;ObjectIcon,;ObjectID,46214 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Arbeitzimmer IP Dreambox]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,1;ObjectIsReadOnly,;ObjectName,Arbeitzimmer IP Dreambox;ObjectPosition,0;ObjectSummary,;ObjectType,2;ParentID,21651 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer]*/;isConfigTree,0;VariableAction,0;VariableChanged,1393938282;VariableCustomAction,0;VariableCustomProfile,;VariableID,46214 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Arbeitzimmer IP Dreambox]*/;VariableIsBinary,;VariableIsLocked,;VariableProfile,;VariableUpdated,1393938282;ValueBoolean,;ValueFloat,0;ValueInteger,0;ValueString,;ValueType,3;ValueVariant,;LoggingStatus,;AggregationType,0;GraphStatus,1;
ObjectID,48973 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Dreambox Wohnzimmer]*/;HasChildren,;ObjectIcon,;ObjectID,48973 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Dreambox Wohnzimmer]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Dreambox Wohnzimmer;ObjectPosition,0;ObjectSummary,;ObjectType,2;ParentID,21651 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer]*/;isConfigTree,0;VariableAction,0;VariableChanged,1403958601;VariableCustomAction,23358 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Sender Anzeigen]*/;VariableCustomProfile,IP_50;VariableID,48973 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Dreambox Wohnzimmer]*/;VariableIsBinary,;VariableIsLocked,;VariableProfile,;VariableUpdated,1404761401;ValueBoolean,1;ValueFloat,0;ValueInteger,0;ValueString,;ValueType,0;ValueVariant,;LoggingStatus,;AggregationType,0;GraphStatus,1;
ObjectID,22010 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\Dreambox ausschalten]*/;HasChildren,;ObjectIcon,;ObjectID,22010 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\Dreambox ausschalten]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Dreambox ausschalten;ObjectPosition,0;ObjectSummary,;ObjectType,3;ParentID,18018 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer]*/;isConfigTree,0;IsBroken,;LastExecute,1388757976;ScriptFile,22010.ips.php;ScriptID,22010 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\Dreambox ausschalten]*/;ScriptType,0;
ObjectID,44634 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\KonstantenArray]*/;HasChildren,;ObjectIcon,;ObjectID,44634 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\KonstantenArray]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,1;ObjectIsReadOnly,;ObjectName,KonstantenArray;ObjectPosition,0;ObjectSummary,;ObjectType,3;ParentID,18018 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer]*/;isConfigTree,0;IsBroken,;LastExecute,1393937669;ScriptFile,44634.ips.php;ScriptID,44634 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\KonstantenArray]*/;ScriptType,0;
ObjectID,56606 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Programm ]*/;HasChildren,1;ObjectIcon,;ObjectID,56606 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Programm ]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,TV Programm ;ObjectPosition,0;ObjectSummary,;ObjectType,1;ParentID,18018 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer]*/;isConfigTree,0;ConnectionID,0;InstanceID,56606 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Programm ]*/;InstanceStatus,102;LastChange,0;ModuleID,{485D0419-BE97-4548-AA9C-C083EB82E61E};ModuleName,Dummy Module;ModuleType,3;
ObjectID,40299 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Programm \TV Movie ]*/;HasChildren,1;ObjectIcon,;ObjectID,40299 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Programm \TV Movie ]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,1;ObjectIsReadOnly,;ObjectName,TV Movie ;ObjectPosition,0;ObjectSummary,;ObjectType,3;ParentID,56606 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Programm ]*/;isConfigTree,0;IsBroken,;LastExecute,1404762120;ScriptFile,40299.ips.php;ScriptID,40299 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Programm \TV Movie ]*/;ScriptType,0;
ObjectID,44170 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Programm \TV Movie \]*/;HasChildren,;ObjectIcon,;ObjectID,44170 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Programm \TV Movie \]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Unbenanntes Objekt (ID: 44170);ObjectPosition,0;ObjectSummary,;ObjectType,4;ParentID,40299 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Programm \TV Movie ]*/;isConfigTree,0;CyclicDateDay,0;CyclicDateDayValue,0;CyclicDateFrom,1385161200;CyclicDateTo,0;CyclicDateType,0;CyclicDateValue,0;CyclicTimeFrom,943916400;CyclicTimeTo,943916400;CyclicTimeType,2;CyclicTimeValue,3;EventActive,1;EventID,44170 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Programm \TV Movie \]*/;EventLimit,0;EventType,1;LastRun,1404762120;NextRun,1404762300;TriggerSubsequentExecution,;TriggerType,0;TriggerValue,;TriggerVariableID,0;
ObjectID,57498 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Programm \Programmvorschau von TV Movie]*/;HasChildren,;ObjectIcon,;ObjectID,57498 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Programm \Programmvorschau von TV Movie]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Programmvorschau von TV Movie;ObjectPosition,0;ObjectSummary,;ObjectType,2;ParentID,56606 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Programm ]*/;isConfigTree,0;VariableAction,0;VariableChanged,1404760681;VariableCustomAction,0;VariableCustomProfile,~HTMLBox;VariableID,57498 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Programm \Programmvorschau von TV Movie]*/;VariableIsBinary,;VariableIsLocked,;VariableProfile,;VariableUpdated,1404762120;ValueBoolean,;ValueFloat,0;ValueInteger,0;ValueString,;ValueType,3;ValueVariant,;LoggingStatus,;AggregationType,0;GraphStatus,1;
ObjectID,58576 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\Verfügbarkeit]*/;HasChildren,1;ObjectIcon,;ObjectID,58576 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\Verfügbarkeit]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Verfügbarkeit;ObjectPosition,0;ObjectSummary,;ObjectType,3;ParentID,18018 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer]*/;isConfigTree,0;IsBroken,;LastExecute,1404761401;ScriptFile,58576.ips.php;ScriptID,58576 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\Verfügbarkeit]*/;ScriptType,0;
ObjectID,57208 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\Verfügbarkeit\]*/;HasChildren,;ObjectIcon,;ObjectID,57208 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\Verfügbarkeit\]*/;ObjectIdent,;ObjectInfo,;ObjectIsHidden,;ObjectIsReadOnly,;ObjectName,Unbenanntes Objekt (ID: 57208);ObjectPosition,0;ObjectSummary,;ObjectType,4;ParentID,58576 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\Verfügbarkeit]*/;isConfigTree,0;CyclicDateDay,0;CyclicDateDayValue,0;CyclicDateFrom,1385506800;CyclicDateTo,0;CyclicDateType,0;CyclicDateValue,0;CyclicTimeFrom,943916400;CyclicTimeTo,943916400;CyclicTimeType,2;CyclicTimeValue,15;EventActive,1;EventID,57208 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\Verfügbarkeit\]*/;EventLimit,0;EventType,1;LastRun,1404761400;NextRun,1404762300;TriggerSubsequentExecution,;TriggerType,0;TriggerValue,;TriggerVariableID,0;
';
$echo = "#1001 Quell-ObjektInventory geladen";
$MessageProkoll['Info'][] = $echo;
$Inv = explode("
",substr(substr($raw, 1), 1, -1)); // ersten und letzten Zeilenumbruch entfernen
return $Inv;
}
// Variablen-Profile Inventory
function VarProfileInventory()
{
global $MessageProkoll;
$raw = '
ProfileName,~HTMLBox;Digits,0;Icon,;IsReadOnly,1;MaxValue,0;MinValue,0;Prefix,;ProfileType,3;StepSize,0;Suffix,;|
ProfileName,IP_50;Digits,0;Icon,;IsReadOnly,;MaxValue,1;MinValue,0;Prefix,;ProfileType,0;StepSize,0;Suffix,;|Color,16711680;Icon,Warning;Name,Offline;Value,0;§Color,65280 /*[Objekt #65280 existiert nicht]*/;Icon,Network;Name,Online;Value,1;§
ProfileName,~Intensity.100;Digits,0;Icon,Intensity;IsReadOnly,1;MaxValue,100;MinValue,0;Prefix,;ProfileType,1;StepSize,1;Suffix, %;|
';
$echo = "#1002 VariablenProfile-ObjektInventory geladen";
$MessageProkoll['Info'][] = $echo;
$VarProfiles = explode("
",substr(substr($raw, 2), 0, -1)); // ersten und letzten Zeilenumbruch entfernen
return $VarProfiles;
}
// Function WFC Inventory
function loadWFCInventory()
{
global $MessageProkoll;
$raw = '
';
$echo = "#1003 WFC-ObjektInventory geladen";
$MessageProkoll['Info'][] = $echo;
$WFC_Inventory = explode("
",substr(substr($raw, 2), 0, -1)); // ersten und letzten Zeilenumbruch entfernen
return $WFC_Inventory;
}
// #### Script-Exports ############################################################################################################
// Script "Infos zur Sendung anzeigen " ------------------------------------------------------------------------------------------------------
function InfoszurSendunganzeigen10018()
{
return
'<?
##### Project Exporter Comment: Script Version Stand 07.07.2014 21:44 #####
include "20840.ips.php"; // e2_function Skript
include "44634.ips.php"; // KonstantenArray Skript
$Box = getvalue (24637 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\IP]*/);//
$AktuellerSender = "Keine Information";
$AktuellerSender = ENIGMA2_GetCurrentServiceName($Box);
list($AktuelleSenderinformation, $Fortschrittsanzeige) = ENIGMA2_GetCurrentFilm($Box);;
$AktuelleSenderreferenz = ENIGMA2_GetCurrentServiceReference($Box);
$URL = "<a href=§\'http://".$Box."/web/stream.m3u?ref=$AktuelleSenderreferenz§\'>$AktuellerSender</a>";
list($snrdb, $snr, $ber, $acg) = ENIGMA2_SignalStatus($Box);
If ($AktuellerSender == "")
{
SetValueString(37889 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Aktueller Sender Wohnzimmer]*/ , "Keine Information");
SetValueString(56210 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Aktuelle Programm Info´s]*/ , "");
SetValueInteger(12194 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Sendungsfortschritt]*/ , 0);
SetValueInteger(16651 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Empfangspegel]*/ , 0);
}
else
{
SetValueString(37889 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Aktueller Sender Wohnzimmer]*/ , $URL);
SetValueString(56210 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Aktuelle Programm Info´s]*/ , "$AktuelleSenderinformation");
SetValueInteger(12194 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Sendungsfortschritt]*/ , $Fortschrittsanzeige);
SetValueInteger(16651 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Empfangspegel]*/ , $acg);
}
?>
';
}
// Script "Reload Webcontrol" ------------------------------------------------------------------------------------------------------
function ReloadWebcontrol12336()
{
return
'<?php
##### Project Exporter Comment: Script Version Stand 07.07.2014 21:44 #####
// Dreambox ID und IP ermitteln
$object = IPS_GetObject($IPS_SELF);
$objid = ($object[§\'ParentID§\']);
$ip_obj = @IPS_GetObjectIDByName("IP", $objid); // Hole das Object aus Variable IP
$statusId = @IPS_GetObjectIDByName("Standby status", $objid); // Hole das Object aus Variable IP
$ip_adr = @GetValue($ip_obj);
$dbname = @IPS_GetName($objid); // Hole das Object aus Variable IP
$status = @GetValueBoolean($statusId);
$current = @IPS_GetObjectIDByName("Aktueller Sender", $objid); // Hole das Object aus Variable IP
$event = @IPS_GetObjectIDByName("Programm", $objid); // Hole das Object aus Variable IP
SetValue(13553 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Dreambox Webcontrol]*/, "<iframe src=@§@"user/dreambox/dreambox.php?dreamip=".$ip_adr."&dbname=".$dbname."&status=".$status."¤t=".$current."&event=".$event."@§@" border=@§@"0@§@" frameborder=@§@"0@§@" style=@§@"top:0pt; bottom:0pt; left:0pt; right:0pt; width:100%; height:590px;@§@"/></iframe>");
?>
';
}
// Script "Getcurrent" ------------------------------------------------------------------------------------------------------
function Getcurrent18569()
{
return
'<?
##### Project Exporter Comment: Script Version Stand 07.07.2014 21:44 #####
include IPS_GetKernelDir().§\'webfront/user/dreambox/enigma2.com.php§\';
// Dreambox ID und IP ermitteln
$object = IPS_GetObject($IPS_SELF);
$objid = ($object[§\'ParentID§\']);
$ip_obj = @IPS_GetObjectIDByName("IP", $objid); // Hole das Object aus Variable IP
$ip_adr = @GetValue($ip_obj);
$servicename = getCurrent($ip_adr);
SetValueString (37889 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Aktueller Sender Wohnzimmer]*/ , "$servicename @§@n");
//WFC_SendNotification(43692 /*[Objekt #43692 existiert nicht]*/, §\'Jetzt§\', "$servicename @§@n", §\'Speaker§\', 4);
?>
';
}
// Script "getPowerstate" ------------------------------------------------------------------------------------------------------
function getPowerstate37133()
{
return
'<?
##### Project Exporter Comment: Script Version Stand 07.07.2014 21:44 #####
$xml = simplexml_load_file(§\'http://192.168.178.30/web/powerstate?.xml§\');
$wert = $xml->e2instandby;
if(strpos($wert,"false")!==false)
{
SetValue (43569 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Standby Status]*/, True);
echo "Die Box ist eingeschaltet";
}
else{
SetValue (43569 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Standby Status]*/, False);
echo "Die Box ist im Standby";}
//print_r ((string)$powerstate);
//SetValue (43569 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Standby Status]*/, $wert);
?>
';
}
// Script "toggleStandby" ------------------------------------------------------------------------------------------------------
function toggleStandby44983()
{
return
'<?
##### Project Exporter Comment: Script Version Stand 07.07.2014 21:44 #####
include IPS_GetKernelDir().§\'webfront/user/dreambox/enigma2.com.php§\';
// Dreambox ID und IP ermitteln
$object = IPS_GetObject($IPS_SELF);
$objid = ($object[§\'ParentID§\']);
$ip_obj = @IPS_GetObjectIDByName("IP", $objid); // Hole das Object aus Variable IP
$ip_adr = @GetValue($ip_obj);
SetValue($IPS_VARIABLE, $IPS_VALUE);
If ((boolean)$IPS_VALUE)
{
$newpowerstate = ToggleStandby($ip_adr);
$xmlResult = new SimpleXMLElement(file_get_contents("http://192.168.178.25/web/powerstate?newstate=0"));
}
else
{
$newpowerstate = ToggleStandby($ip_adr);
$xmlResult = new SimpleXMLElement(file_get_contents("http://192.168.178.25/web/powerstate?newstate=5"));
}
$servicename = getCurrent($ip_adr);
SetValueString (37889 /*[Geräte\Dreambox\DreamBox Wohnzimmer\Dreambox Wohnzimmer\Aktueller Sender Wohnzimmer]*/, "$servicename @§@n");
?>
';
}
// Script "e2_function" ------------------------------------------------------------------------------------------------------
function efunction20840()
{
return
'<?
##### Project Exporter Comment: Script Version Stand 07.07.2014 21:44 #####
/*
* Holt IPAdresse aus Variable §\'IP§\' eines DummyModules obj
*/
function GetIpFromObj($obj)
{
$ip_obj = @IPS_GetObjectIDByName("IP", $obj); // Hole das Object aus Variable IP
$ip_adr = @GetValue($ip_obj);
return $ip_adr;
}
/**
* Prüft über Ping ob Gerät erreichbar
* Return
* true - wenn erreichbar
* false - nicht erreichbar
**/
function ENIGMA2_GetAvailable($ipadr)
{
$result = false;
if ($ipadr > "" )
{
$result = (Boolean) Sys_Ping($ipadr, 1000); // Ping max. 1 Sek. warten
}
return $result;
}
/**
* Setzt Dreambox in Standby/nicht StandBy
* -1 - bei Fehler
* 1 - wenn in StandBy
* 0 - wenn nicht in Standby
**/
function ENIGMA2_ToggleStandby($ipadr)
{
$powerstate = 0;
$result = -1;
if (ENIGMA2_GetAvailable( $ipadr ))
{
$xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/powerstate?newstate=$powerstate"));
print_r ($xmlResult);
if ($xmlResult->e2instandby == §\'true§\')
{
$result = 1;
}
else
{
$result = 0;
}
}
return $result;
}
/**
* true - wenn ok
*/
function ENIGMA2_DeepStandby($ipadr)
{
$powerstate = 1;
$result = false;
if (ENIGMA2_GetAvailable( $ipadr ))
{
$xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/powerstate?newstate=$powerstate"));
print_r($xmlResult);
$result = (Boolean)$xmlResult->e2instandby;
}
return $result;
}
/**
* true - wenn ok
*/
function ENIGMA2_Reboot($ipadr)
{
$powerstate = 2;
$result = false;
if (ENIGMA2_GetAvailable( $ipadr ))
{
$xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/powerstate?newstate=$powerstate"));
$result = (Boolean)$xmlResult->e2instandby;
}
return $result;
}
/**
* true - wenn ok
*/
function ENIGMA2_RestartEnigma($ipadr)
{
$powerstate = 3;
$result = false;
if (ENIGMA2_GetAvailable( $ipadr ))
{
$xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/powerstate?newstate=$powerstate"));
$result = (Boolean)$xmlResult->e2instandby;
}
return $result;
}
/**
* liefert den Namen des aktuellen Sendernamens
*/
function ENIGMA2_GetCurrentServiceName($ipadr)
{
if (ENIGMA2_GetAvailable( $ipadr ))
{
$xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/subservices"));
$result = $xmlResult->e2service[0]->e2servicename;
}
return $result;
}
/**
* liefert den Namen der aktuellen Servicereferenz
*/
function ENIGMA2_GetCurrentServiceReference($ipadr)
{
if (ENIGMA2_GetAvailable( $ipadr ))
{
$xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/subservices"));
$result = $xmlResult->e2service[0]->e2servicereference;
}
return $result;
}
/**
* liefert ein Array mit den Namen der Bouquets wenn $bouquet = ""
* liefert ein Array mit den Namen der Sender eines Bouquet wenn $bouquet ungleich ""
* keys e2servicereference
* keys e2servicename
*/
function ENIGMA2_GetServiceBouquetsOrServices($ipadr,$bouquet = "")
{
if (ENIGMA2_GetAvailable( $ipadr ))
{
if ($bouquet == "" )
{
$xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/getservices"));
}
else {
$bouquet = urlencode($bouquet);
$xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/getservices?sRef=$bouquet"));
}
}
else
{
$xmlResult[] = "";
}
return $xmlResult;
}
/*
* Schreibt eine Infomessage auf den Bildschirm
* return
* true wenn erfolgreich
* false wenn nicht erfolgreich
**/
function ENIGMA2_WriteInfoMessage($ipadr,$message = "",$time=5)
{
$type = 1;
$result = false;
if (ENIGMA2_GetAvailable( $ipadr ))
{
$message = urlencode($message);
$xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/message?text=$message&type=$type&timeout=$time"));
if ($xmlResult->e2state == "True")
{
$result = true;
}
}
else
{
$result = false;
}
return $result;
}
/*
* Schreibt eine Errormessage auf den Bildschirm
* return
* true wenn erfolgreich
* false wenn nicht erfolgreich
**/
function ENIGMA2_WriteErrorMessage($ipadr,$message = "",$time=5)
{
$type = 3;
$result = false;
if (ENIGMA2_GetAvailable( $ipadr ))
{
$message = urlencode($message);
$xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/message?text=$message&type=$type&timeout=$time"));
if ($xmlResult->e2state == "True")
{
$result = true;
}
}
else
{
$result = false;
}
return $result;
}
/*
* Schreibt eine Message auf den Bildschirm
* return
* true wenn erfolgreich
* false wenn nicht erfolgreich
**/
function ENIGMA2_WriteMessage($ipadr,$message = "",$time=5)
{
$type = 2;
$result = false;
if (ENIGMA2_GetAvailable( $ipadr ))
{
$message = urlencode($message);
$xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/message?text=$message&type=$type&timeout=$time"));
if ($xmlResult->e2state == "True")
{
$result = true;
}
}
else
{
$result = false;
}
return $result;
}
/*
* Schreibt eine Message auf den Bildschirm die man mit ja oder nein beantworten muss
* man sollte die Frage immer so stellen, das nein als aktive Antwort ausgewertet wird,
* da in allen anderen Fällen 0 oder -1 gemeldet wird
* return
* -1 wenn keine erfolgreiche Verbindung
* 0 wenn mit ja oder garnicht geantwortet wurde
* 1 wenn mit nein geantwortet
**/
function ENIGMA2_GetAnswerFromMessage($ipadr,$message = "",$time=5)
{
$type = 0;
$result = -1;
if (ENIGMA2_GetAvailable( $ipadr ))
{
$message = urlencode($message);
$xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/message?text=$message&type=$type&timeout=$time"));
if ($xmlResult->e2state == "True")
{
sleep($time);
$result = -1;
$xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/messageanswer?getanswer=now"));
if ($xmlResult->e2statetext == "Answer is NO!")
{
$result = 1;
}
else
{
$result = 0;
}
}
}
else
{
$result = -1;
}
return $result;
}
function ENIGMA2_GetCurrentFilm($ipadr)
{
if (ENIGMA2_GetAvailable($ipadr))
{
$xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/subservices"));
$reference = $xmlResult->e2service->e2servicereference;
$name = utf8_decode($xmlResult->e2service->e2servicename);
$xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/epgservice?sRef=$reference"));
$title = utf8_decode($xmlResult->e2event->e2eventtitle);
$description = utf8_decode($xmlResult->e2event->e2eventdescriptionextended);
$startsec = $xmlResult->e2event->e2eventstart;
$duration = $xmlResult->e2event->e2eventduration;
$currenttime = time();
if ((int)$startsec >= time() - 36000)
{
$start = date("H:i",(int)$startsec) .§\' Uhr§\';
$vorbei = round(((int)$currenttime - (int)$startsec) / 60 ).§\' Minuten§\';
}
else
{
$start = "N/A";
$vorbei = "N/A";
}
if (((int)$duration > 0) and ((int)$startsec >= time() - 36000))
$ende = date("H:i",(int)$startsec + (int)$duration) .§\' Uhr§\';
else
$ende = "N/A";
if ((int)$duration > 0)
$dauer = round((int)$duration / 60).§\' Minuten§\';
else
$dauer = "N/A";
if (((int)$currenttime > time() - 1800) and ((int)$currenttime < time() + 1800) and ((int)$startsec >= time() - 36000) and ((int)$duration > 0))
$verbl = round(((int)$startsec + (int)$duration - (int)$currenttime) / 60 ).§\' Minuten§\';
else
$verbl = "N/A";
If (round((int)$duration / 60) > 0)
{
$Fortschritt = (int)(round(((int)$currenttime - (int)$startsec) / 60 ) / round((int)$duration / 60) * 100) ;
}
else
{
$Fortschritt = 0;
}
$Filminformation = "Titel : $title@§@nStart : $start - Ende : $ende@§@nDauer : $dauer - Vergangen : $vorbei - Verbleiben : $verbl@§@nDetails : $description";
return array($Filminformation, $Fortschritt);
}
else
return §\'Box nicht erreichbar!§\';
}
//*************************************************************************************************************
// Ermittelt die EPG-Daten eines definierten Senders
function ENIGMA2_EPG($ipadr,$sender = "")
{
$xmlResult[] = "";
$sender = urlencode($sender);
$xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/epgservice?sRef=$sender"));
//$title = $xmlResult->e2event->e2eventtitle;
return $xmlResult;
//return "$title";
}
function GetDreamEpg($ipadr, $channel) {
$epgentry = "";
$chanlist = new SimpleXMLElement(file_get_contents("http://$ipadr/web/getservices?sRef=1%3A7%3A1%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3AFROM%20BOUQUET%20%22userbouquet."."dbe00.tv"."%22%20ORDER%20BY%20bouquet"));
$bouquetlist = $chanlist->e2service;
$zapname = IPS_GetObject($channel);
$zapname2 = $zapname[§\'ObjectName§\'];
foreach ($bouquetlist as $entry) {
$sendername = utf8_decode($entry->e2servicename);
$sref = ("$entry->e2servicereference @§@n");
$pos1 = strpos($sref,§\'"§\');
$pos2 = strpos($sref,§\'"§\',$pos1+1);
$sref = substr($sref,$pos1,$pos2-$pos1-1);
if($sendername == $zapname2) {
$ergebnis = $sref;
$epgservice = new SimpleXMLElement(file_get_contents("http://$ipadr/web/epgservice?sRef=".$ergebnis.""));
$epglist = $epgservice->e2event;
foreach ($epglist as $entry2) {
$heute = time();
$heute = date("dmy", $heute);
$eventstartraw = trim($entry2->e2eventstart);
$eventdate = date("dmy", $eventstartraw);
//if ($eventdate == $heute) {
$newtitel = utf8_decode($entry2->e2eventtitle);
$newsref = $entry2->e2eventservicereference;
$newtime = date("H:i",$eventstartraw);
$newdesc = utf8_decode($entry2->e2eventdescriptionextended);
$neweventid = trim($entry2->e2eventid);
$newlenght = $entry2->e2eventduration /60;
$epgentry .= "<div class=@§@"standardContainer@§@">" ."Zeit: " .$newtime ."</div>";
$epgentry .= "<div class=@§@"standardContainer@§@">" ."Länge: " .$newlenght ." Minuten"."</div>";
$epgentry .= "<div class=@§@"standardContainer@§@">" ."Titel: " .$newtitel ."</div>";
$epgentry .= "<div class=@§@"standardContainer@§@">" ."Inhalt: " .$newdesc ."</div>";
$epgentry .= §\'<td style="line-height: 25px;">§\'.§\'</td><td align="right"><div onclick="dojo.xhrGet({ url: @§@§\'http://192.168.0.5/web/timeraddbyeventid?sRef=§\'.$newsref .§\'&eventid=§\' .$neweventid .§\'@§@§\'});" style="border:1px solid #3B3B4D; margin:0px; padding:3px; text-align:center; width: 100px;">Aufnehmen</div></td>§\';
$epgentry .= "<br>";
//}
}
}
}
return $epgentry;
}
//*************************************************************************************************************
// Prüft die Signalstärke des Senders
function ENIGMA2_SignalStatus($ipadr)
{
if (ENIGMA2_GetAvailable( $ipadr ))
{
$xml = simplexml_load_file("http://$ipadr/web/signal?.xml");
$snrdb = (int)$xml->e2snrdb;
$snr = (int)$xml->e2snr;
$ber = (int)$xml->e2ber;
$acg = (int)$xml->e2acg;
}
else
{
$snrdb = 0;
$snr = 0;
$ber = 0;
$acg = 0;
}
return array($snrdb, $snr, $ber, $acg);
}
?>';
}
// Script "Sender Anzeigen" ------------------------------------------------------------------------------------------------------
function SenderAnzeigen23358()
{
return
'<?
##### Project Exporter Comment: Script Version Stand 07.07.2014 21:44 #####
include "20840.ips.php"; // e2_function Skript
include "44634.ips.php"; // KonstantenArray Skript
$Box = "192.168.178.30";//
$AktuellerSender = "Keine Information";
$AktuellerSender = ENIGMA2_GetCurrentServiceName($Box);
list($AktuelleSenderinformation, $Fortschrittsanzeige) = ENIGMA2_GetCurrentFilm($Box);;
$AktuelleSenderreferenz = ENIGMA2_GetCurrentServiceReference($Box);
$URL = "<a href=§\'http://".$Box."/web/stream.m3u?ref=$AktuelleSenderreferenz§\'>$AktuellerSender</a>";
list($snrdb, $snr, $ber, $acg) = ENIGMA2_SignalStatus($Box);
If ($AktuellerSender == "")
{
SetValueString(38400 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Aktueller Sender]*/ , "Keine Information");
SetValueString(13739 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Aktuelle Programm Info´s]*/ , "Aktuell ist die Box aus");
SetValueInteger(23032 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Sendungsfortschritt]*/ , 0);
SetValueInteger(16651 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Empfangspegel]*/ , 0);
}
else
{
SetValueString(38400 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Aktueller Sender]*/ , $URL);
SetValueString(13739 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Aktuelle Programm Info´s]*/ , "$AktuelleSenderinformation");
SetValueInteger(23032 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Sendungsfortschritt]*/ , $Fortschrittsanzeige);
SetValueInteger(16651 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Empfangspegel]*/ , $acg);
}
?>
';
}
// Script "Dreambox ausschalten" ------------------------------------------------------------------------------------------------------
function Dreamboxausschalten22010()
{
return
' <?
##### Project Exporter Comment: Script Version Stand 07.07.2014 21:44 #####
function SetPowerState($obj, $powerstate)
{
/**
http://dreambox/web/powerstate?newstate={powerstate_number}
0 = Standby
1 = Deepstandby
2 = Reboot
3 = Restart Enigma2
116 = Wake-up (aus Standby --> issued as a "remotecontrol" command)
**/
$ip = GetIpFromObj($obj);
$available = GetAvailableFromObj($obj);
if ($ip > §\'§\' && $available ) {
return file_get_contents("http://$ip/web/powerstate?newstate=$powerstate");
}
}
function GetIpFromObj($obj)
{
$ip_obj = @IPS_GetObjectIDByName("IP", $obj); // Hole das Object aus Variable IP
$ip_adr = GetValue($ip_obj);
echo "IP : $ip_adr @§@n";
return $ip_adr;
}
function GetAvailableFromObj($obj)
{
$av_obj = @IPS_GetObjectIDByName("Available", $obj); // Hole das Object aus Variable Available
$available = GetValueBoolean($av_obj);
echo "Available : $available @§@n";
return $av_obj;
}
// Test
$dreamboxObj = "192.168.178.25" ;
$aus = 0;
SetPowerState($dreamboxObj, $aus);
?>
';
}
// Script "KonstantenArray" ------------------------------------------------------------------------------------------------------
function KonstantenArray44634()
{
return
'<?
##### Project Exporter Comment: Script Version Stand 07.07.2014 21:44 #####
//*************************************************************************************************************
// Definieren der Konstanten für den Enigma-Receiver
global $k_KATHREIN;
global $k_SAMSUNG;
$k_KATHREIN = array("IP" => "192.168.178.25");
$k_SAMSUNG = array("IP" => "192.168.178.30");
?>
';
}
// Script "TV Movie " ------------------------------------------------------------------------------------------------------
function TVMovie40299()
{
return
'<?
##### Project Exporter Comment: Script Version Stand 07.07.2014 21:44 #####
$simpleXMLElement = simplexml_load_file("http://www.tvmovie.de/rss/tvjetzt.xml"); // URL des RSS Feeds
$senderAnzahl = count($simpleXMLElement->channel->item); // Anzahl der anzuzeigenden Sender
$anzeigen = array("Sky CINEMA +1","Sky HITS","Sky ACTION","Nat Geo Wild","Sky KRIMI","ARD", "ZDF", "RTL", "SAT.1", "PRO 7", "RTL II", "S RTL", "KABEL","Sky NOSTALGIE","Sky EMOTION", "3SAT","sixx","Sky Atlantic HD","History","Spiegel Geschichte","DISCOVERY HD","Sky CINEMA", "VOX", "NDR", "Das Vierte", "Tele 5", "DMAX", "KI.KA", "DELUXE MUSIC TV", ); // anzuzeigende Sender
$Ausgabe = "<table width=§\'auto§\' border=§\'0§\'>";
// Datenausgabe
for($i=0; $i<$senderAnzahl; $i++)
{
$item = $simpleXMLElement->channel->item;
$item = xmlToArray($item[$i]);
$sender = explode("-", $item[§\'title§\']);
$sender = trim(substr($sender[0], 5));
if(in_array($sender, $anzeigen))
{
$titel = "<b style=color:#C00000;>".$item[§\'title§\']."</b>"; // Textfarbe anpassen
$beschreibung = "<small>".$item[§\'description§\']."</small>";
$text = $titel."<br>".$beschreibung."<br>";
$text = utf8_decode($text);
$searchArray = $item;
$Ausgabe = $Ausgabe."<table width=§\'auto§\'>";
if(array_key_exists(§\'enclosure§\', $searchArray))
{
$image = $item[§\'enclosure§\'][§\'@attributes§\'][§\'url§\'];
$Ausgabe = $Ausgabe."<tr>";
$Ausgabe = $Ausgabe."<td width=§\'auto§\'height=§\'80px§\'><div><img src=$image alt=§\'not Found§\'></div></td>";
$Ausgabe = $Ausgabe."<td width=§\'auto§\'><div style=§\'text-align:left; margin-left:10px;§\'>$text</div></td>";
$Ausgabe = $Ausgabe."</tr>@§@n";
}
else
{
$Ausgabe .= "<tr>";
$Ausgabe .= "<td></td><td width=§\'auto§\'><div style=§\'text-align:left; margin-left:10px;§\'>$text</div></td>";
$Ausgabe .= "</tr>@§@n";
//$Ausgabe = $Ausgabe."<tr>";
//$Ausgabe = $Ausgabe."<td width=§\'auto§\'><div style=§\'text-align:left; margin-left:10px;§\'>$text</div></td>";
//$Ausgabe = $Ausgabe."</tr>@§@n";
}
$Ausgabe = $Ausgabe."</table>@§@n";
}
}
SetValueString(57498 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Programm \Programmvorschau von TV Movie]*/ , $Ausgabe);
return;
function xmlToArray($data)
{
if(is_object($data))
{
$data = get_object_vars($data);
}
return (is_array($data)) ? array_map(__FUNCTION__,$data) : $data;
}
?>';
}
// Script "Verfügbarkeit" ------------------------------------------------------------------------------------------------------
function Verfgbarkeit58576()
{
return
'<?
##### Project Exporter Comment: Script Version Stand 07.07.2014 21:44 #####
include "20840.ips.php"; // e2_function Skript
include "44634.ips.php"; // KonstantenArray Skript
$dreamboxIP_az = ENIGMA2_GetAvailable(§\'192.168.178.30§\');
$dreamboxIP_wz = ENIGMA2_GetAvailable(§\'192.168.178.25§\');
echo "$dreamboxIP_az";
echo "$dreamboxIP_wz";
//if (ENIGMA2_GetAvailable(192.168.178.25))
if ($dreamboxIP_az == "0"){
SetValue(38812 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Dreambox Arbeitszimmer]*/ , "0");
}
else
{
SetValue(38812 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Dreambox Arbeitszimmer]*/ , "1");
}
if ($dreamboxIP_wz == "0"){
SetValue(48973 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Dreambox Wohnzimmer]*/ , "0");
}
else
{
SetValue(48973 /*[Geräte\Dreambox\Dreambox Arbeitszimmer\Dreambox Arbeitszimmer\TV Informationen Arbeitzimmer\Dreambox Wohnzimmer]*/ , "1");
}
?>
';
}
?>