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
