Ich habe das Servicemenü mittlerweile zum laufen bekommen
Ich habe aber das Problem, dass direkt nach dem Abarbeiten des Menüeintrags an der Stelle des Menüeintrags der Hinweis „XML-Fehler [4] Analysefehler“ kommt. Der verschwindet aber auch nach dem nächsten Refresh.
Ich habe als menu-php diese version:
<?php
if (isset($_GET['R']) ) {
$refresh = $_GET['R'];
} else {
$refresh = 0;
}
include '_header_xml.inc';
if ( isset($_GET["ID"]) ) {
echo IPS_RunScriptWaitEx(18210, $_GET);
} else {
echo "kein Objekt angegeben";
}
?>
also fast identisch zur Version vom Wolfgang, jedoch wird immer das Script 18210 in IPS mit Paramtere für den Knopf (ID) direkt aufgerufen:
<?
IPSUtils_Include('IPSShadowing.inc.php', 'IPSLibrary::app::modules::IPSShadowing');
$raum=array("WZS","WZN","WZK","SZS","SZN","WC","BAD","GZ","AZT","AZS");
switch ($ID){
case "RolloUp":
if ($DevID=IPSUtil_ObjectIDByPath('Program.IPSLibrary.data.modules.IPSShadowing.Devices.Device'.(array_search("AZT",$raum)+1))){
$device = new IPSShadowing_Device($DevID);
$deviceActive = $device->MoveByControl(c_MovementId_Opened);
}
break;
case "RolloDown":
if ($DevID=IPSUtil_ObjectIDByPath('Program.IPSLibrary.data.modules.IPSShadowing.Devices.Device'.(array_search("AZT",$raum)+1))){
$device = new IPSShadowing_Device($DevID);
$deviceActive = $device->MoveByControl(c_MovementId_Closed);
}
break;
case "RolloStop":
if ($DevID=IPSUtil_ObjectIDByPath('Program.IPSLibrary.data.modules.IPSShadowing.Devices.Device'.(array_search("AZT",$raum)+1))){
$device = new IPSShadowing_Device($DevID);
$deviceActive = $device->MoveByControl(c_MovementId_Stop);
}
break;
case "RolloPos80":
if ($DevID=IPSUtil_ObjectIDByPath('Program.IPSLibrary.data.modules.IPSShadowing.Devices.Device'.(array_search("AZT",$raum)+1))){
$device = new IPSShadowing_Device($DevID);
$deviceActive = $device->MoveByControl(5);
}
break;
case "Tueroeffner":
//
// Haustür + Fahrstuhl
//
CSCK_SendText("...".chr(10));
break;
default:
SetValue(13099 /*[cisco\Menu\Debug]*/,'ID: '.$ID);
echo utf8_encode('Ende');
break;
}
?>
jede Funktion (auch die unter default mit dem echo) liefert den xml-Error. Entferne ich den xml-header in der menu.php, bekomme ich den ‚Ende‘-String in einem neuen Dienste-Fenster…
Gibt es eine Möglichkeit, dass dieser Fehler nicht angezeigt wird ? Vielleicht sogar so, dass das Service-Fenster nach der Funktion geschlossen wird ?
Danke,
Tom