CCU Socket-Fehler

Hallo,

heute bemerkte ich einen Socket-Fehler als ich im Webfront einen Schalter schalten wollte. Beim Aufrufen des Webfronts der CCU Fehler „abnormal Funktion“. Meine Frage da ich die CCU von IPS aus anpinge, was in diesem Fall nichts gebracht hat :rolleyes: kann ich die ordnungsgemäße Funktion des Socket überwachen?


<?
print_r(IPS_GetInstance(12697)); // CCU
?>

//
Array
(
    [ChildrenIDs] => Array
        (
            [0] => 10840
            [1] => 11020
            [.....
        )

    [InstanceID] => 12697
    [InstanceStatus] => 102
    [LastChange] => 0
    [ModuleInfo] => Array
        (
            [ModuleID] => {A151ECE9-D733-4FB9-AA15-7F7DD10C58AF}
            [ModuleName] => HomeMatic Socket
            [ModuleType] => 1
        )

    [NeedParent] => 
    [ParentID] => 0
)


Ist dann im Fehlerfall auch der InstanceStatus inaktiv oder fehlerhaft?

Andreas

Ja, das geht. Du kannst im Event-Handler hinterlegen dass bei Statusänderung einer Instanz ein Skript ausgeführt wird in dem Du dann die notwendigen Schritte wie Benachrichtigung usw. vornehmen kannst.

Hallo Kronos,

danke für die Rückantwort.

Jetzt stehe ich als PHP-Dummy vor dem Problem das in eine Script zu packen:confused:

<?

$CCU_Status = IPS_GetInstance(12697 /*[HomeMatic Socket CCU1]*/)->InstanceStatus;
//print_r($CCU_Status);
SetValue(51769,$CCU_Status);

?>

Andreas

Für einfaches Copy&Paste braucht es keinen php-crack :smiley:

Rechte MT, Objekt hinzu, Skript hinzufügen, ausfüllen bis Skriptmaske (<?), und den Text reinkopieren, fertig.

Ansonsten ist doch das Problem „Überwachung CCU“ schon öfters behandelt worden.

Gruß
Bruno

z.b.


<?
$Instance  = IPS_GetInstance(12345 /*[Socket-ID]*/);
$Status    = $Instance['InstanceStatus'];
$Nachricht = "Socket-Instanz inaktiv.";

if ($Status == 102) {
	$Nachricht = "Socket-Instanz ist OK."."
";
	}

echo $Nachricht;
?>

Hallo Kronos,

danke für deine konstruktive Hilfe.

<?
$Instance  = IPS_GetInstance(12697 /*[HomeMatic Socket CCU1]*/);
$Status    = $Instance['InstanceStatus'];
SetValue(51769 /*[Service\Homematic\HM_CCU\CCU-Status]*/,$Status);
?>

Mir war nur nicht klar wie das Array aufgelöst wird.

Learning by Doing :wink:

@Powerfreddy
Copy&Paste - Du bist aber nicht mit einem fränkischen Freiherrn aus meiner Nachbarschaft verwandt?:smiley:

Andreas

Nö, setze alles in Anführungszeichen … :smiley:

Hatte Deine Frage falsch interpretiert. Freut mich, wenn es klappt.

Gruß
Bruno

Hallo Powerfreddy,

bin halt leider nur ne „Hardware Nutte“ die aber lernfähig ist. :smiley:

Deshalb gefallen mir immer am Besten die Beispiele die auch dokumentiert sind, dann kann man auch was nachvollziehen.:rolleyes:

Andreas