Fehler beim Ausführen des Scripts für Servicemeldungen aus HM CCU auslesen

Hallo,

brauche eure Hilfe. Ich habe zwei CCU1 im Betrieb. Nun wollte ich mir die Servicemeldungen auf mein Handy schicken lassen. In der Modulreferenz fand ich auch ein Script dafür. Doch das liefert mir immer einen Fehler:

Parse error: syntax error, unexpected ‚$object‘ (T_VARIABLE) in C:\IP-Symcon\scripts\13166.ips.php on line 5

Script:

//Erstellt eine Variable die im WebFront alle ServiceMeldungen anzeigt. Einfach in ein Skript kopieren und ausführen.
*
//Ab hier nichts mehr ändern
$object = IPS_GetObject($_IPS['SELF']);
$parentID = $object['ParentID'];
*
//Installer
if ($_IPS['SENDER'] == "Execute")
{
    IPS_SetHidden($_IPS['SELF'], true);
    IPS_SetName($_IPS['SELF'], "Auslese-Skript");
    $parentObject = IPS_GetObject($parentID);
    if ($parentObject['ObjectType'] !== 1)
    {
        $instanceID = IPS_CreateInstance("{485D0419-BE97-4548-AA9C-C083EB82E61E}");
        IPS_SetParent($instanceID, $parentID);
        $parentID = $instanceID;
        IPS_SetParent($_IPS['SELF'], $parentID);
        IPS_SetName($instanceID, "Servicemeldungen");
    }
    IPS_SetScriptTimer($_IPS['SELF'], 300);
}
*
$texte = Array(
    "CONFIG_PENDING" => "Konfigurationsdaten stehen zur Übertragung an",
    "LOWBAT" => "Batterieladezustand gering",
    "STICKY_UNREACH" => "Gerätekommunikation war gestört",
    "UNREACH" => "Gerätekommunikation aktuell gestört"
);
*
$str = "<table width='90%' align='center'>"; // Farbe anpassen oder style entfernen
$str .= "<tr><td><b>Gerätname</b></td><td><b>GeräteID</b></td><td><b>Meldung</b></td></tr>";
*
$ids = IPS_GetInstanceListByModuleID("{A151ECE9-D733-4FB9-AA15-7F7DD10C58AF}");
if(sizeof($ids) == 0)
    die("Keine HomeMatic Socket Instanz gefunden!");
*
$msgs = HM_ReadServiceMessages($ids[0]);
if($msgs === false)
    die("Verbindung zur CCU fehlgeschlagen");
*
if(sizeof($msgs) == 0)
    $str .= "<tr><td colspan=3><br/>Keine Servicemeldungen!</td></tr>";
*
foreach($msgs as $msg)
{
    if(array_key_exists($msg['Message'], $texte)) {
        $text = $texte[$msg['Message']];
    } else {
        $text = $msg['Message'];
    }
*
    $id = GetInstanceIDFromHMID($msg['Address']);
    if(IPS_InstanceExists($id)) {
        $name = IPS_GetLocation($id);
    } else {
        $name = "Gerät nicht in IP-Symcon eingerichtet";
    }
*
    $str .= "<tr><td>".$name."</td><td>".$msg['Address']."</td><td>".$text."</td></tr>";
}
$str .= "</table>";
*
$vid = CreateVariableByName($parentID, "Content", 3);
IPS_SetIcon($vid, "Information");
IPS_SetVariableCustomProfile($vid, "~HTMLBox");
SetValue($vid, $str);
*
function GetInstanceIDFromHMID($sid)
{
    $ids = IPS_GetInstanceListByModuleID("{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}");
    foreach($ids as $id)
    {
        $a = explode(":", IPS_GetProperty($id, 'Address'));
        $b = explode(":", $sid);
        if($a[0] == $b[0])
        {
            return $id;
        }
    }
    return 0;
}
*
function CreateVariableByName($id, $name, $type)
{
    $vid = @IPS_GetVariableIDByName($name, $id);
    if($vid === false)
    {
        $vid = IPS_CreateVariable($type);
        IPS_SetParent($vid, $id);
        IPS_SetName($vid, $name);
    }
    return $vid;
}

Danke im Voraus.

Gruß

Jimmy

Editiere mal die ganzen „Sternchen“ aus deinem Script.

In der Modulreferenz fand ich auch ein Script dafür.

Echt so? … verlinke das bitte!

Mache ich gleich.

Hier der Link:

http://www.ip-symcon.de/service/dokumentation/modulreferenz/homematic/hm-readservicemessages/

Ahhhhh Nancilla, da hat mir TextEdit am Mac ein paar Sternchen „geschenkt“.

Die waren in IPS nicht mehr sichtbar, aber da.

Danke.

Da sehe ich keine Sternchen :frowning:

P.S. … warst ein paar Sekunden schneller:D

Selbst ein reiner Texteditor wie Editra macht die Sternchen rein. Aber da kann man sie dann jedenfalls im IPS sehen.

Also alles gut.

Danke nancilla:D

Am reinsten ist der Editor der verwendeten Anwendung (da brodelt die Suppe im eigenen Topf) auch wenn mann glaubt mit C&P normalerweise keinen Fehler hinein zu bekommen.