[Modul] Gardena (6.0+)

Da bei mir der WS Client auch öfter mal hängt, habe ich mal ein altes Skript rausgekramt und angepasst:

<?php

// Quellen: http://www.ip-symcon.de/forum/f18/socketverbindung-geschlossen-verfuegungsstehungs-statusabfrage-9348/
########################## Konfig ##############################################
$WS_Client_id = 15589; //ID von WS Client (Gardena Cloud)
$inst = IPS_GetInstance($WS_Client_id);
$Gardena_Cloud_id = 20179; //ID von Gardena Cloud

// Socket-Status: 102 offen, 104 geschlossen, 200 Fehler
########################## Konfig Ende #########################################

switch($_IPS['SENDER']){
    case 'StatusEvent':
        if($inst['InstanceStatus'] >= 200){ // Fehlerbehandlung wenn Status = Fehler
//            IPS_LogMessage("Gardena Cloud", "Status: ".$_IPS['STATUSTEXT']." (".$_IPS['STATUS'].")")
            IPSLogger_Not("Gardena Cloud", "Status: ".$_IPS['STATUSTEXT']." (".$_IPS['STATUS'].")");
            GARDENA_UpdateWebSocket($Gardena_Cloud_id);
        }
        elseif($inst['InstanceStatus'] == 102){ // wenn Clientsocket "OK"
 //           IPS_LogMessage("Gardena Cloud", "Status: ".$_IPS['STATUSTEXT']." (".$_IPS['STATUS'].")")
            IPSLogger_Not("Gardena Cloud", "Status: ".$_IPS['STATUSTEXT']." (".$_IPS['STATUS'].")");
        }
    break;
}

Das Skipt anlegen und dann im Event Handler unter Statusereignis eintragen.

Wer kein IPSLogger installiert hat, die beiden Zeilen auskommentieren und die IPS_LogMessage aktivieren.

Damit wird Gardena_UpdateWebSocket nur ausgeführt, wenn der WS Client einen Fehler meldet. Keine unnötigen Trigger, wenn nichts passiert.

Wie sich das Skript im “Offline-Fall” verhält, konnte ich jetzt noch nicht testen.

Ich hoffe auch, dass der Fehler bald behoben wird.

edit: ich konnte gerade sehen, dass das Problem wohl genau nach 2 Stunden auftritt.

Gruß Rainer