Ausgelöstes Ereignis: Client Socket (wieder) offen

Moin!

Ich habe einen Client Socket in IPS angelegt.
Die Gegenseite ist über den Tag hinweg verteilt manchmal an, manchmal aus.

IPS bemerkt dies auch binnen weniger Sekunden (wenn Gegenseite aus, gibt’s das rote Ausrufezeichen).
Sobald die Gegenseite wieder online ist, verschwindet kurz danach wie gewünscht die Fehlermarkierung.

Ich möchte nun automatisch, sobald der Socket wieder online ist, ein Skript Triggern. Leider lässt sich bei den Ausgelösten Ereignissen nicht ein Client Socket als Trigger verwenden. Was kann ich tun? Zyklischer Ping fällt leider aus, da meine Gegenseite nicht auf Pings reagiert.

Abend!

Gibt vlt. noch andere Lösungen, aber mir fällt spontan nur ein, dass du dir ein Skript schreibst, welches alle X Sekunden den Status abfragt (also mit zyklischem Ereignis) und damit kannst du dann andere Sachen auslösen oder Variablen setzen.

Beispiel:

$socket_id = IPS_GetInstance(31035 /*[DENON Client Socket]*/);  // hier die ID von deinem Socket eintragen

if($socket_id['InstanceStatus'] != 102) {   // 102 = offen, 104 = geschlossen
   echo "FEHLER - Socket nicht verbunden!";
}
else {
   echo "Socket ist verbunden!";
}

Info-Links:
IPS_GetInstance — IP-Symcon :: Automatisierungssoftware
Instanzenverwaltung — IP-Symcon :: Automatisierungssoftware

Grüße,
Chris

Viel einfacher.
Dafür gibt es das Event Control.
http://www.ip-symcon.de/service/dokumentation/modulreferenz/event-control/
Dort die IO-Instanz und das auszuführende Script eintragen.
Der Sender ist dann StatusEvent.
Systemvariablen — IP-Symcon :: Automatisierungssoftware

Michael

Wenn ich im Event Handler bei Statusereignis meinen Client-Socket hinzufügen wil, kommt:

Ausgewähltes Objekt nicht erlaubt.

Kann ich nicht bestätigen.
Welche Version ?
Vielleicht ein Screenshot ?
Michael

Bei mir funktioniert die Variante von Michael. Meine Version steht in der Signatur.

Grüße,
Chris

Dann geh ich davon aus, dass ich da etwas missverstanden habe.

Version ist 3.3 #3600

20270 ist der Client-Socket

Nicht im Watchdog Skript, unten auf das „+ Hinzufügen“ :slight_smile: Dann das IO auswählen und dann das Skript welches ablaufen soll.

Bei mir sieht das dann für die HomeMatic CCU so aus:

hab ich schon so gemacht. Gleiches Resultat mit der CCU.

Hmmm…dann kann es fast nur an der Build 3600 liegen. Mach doch mal ein Update auf die aktuelle Beta, wenn es dann auch nicht funktioniert, dann ist es irgendwas bei dir. Funktioniert es nach dem Update, dann lag es an der 3600.

MfG,
Chris

ok. Update auf die 3645. Ergebnis immer noch das gleiche. Jemand eine Idee?

Nicht wirklich… außer es handelt sich nicht um die Windows Version.
Michael

Klappt hier einwandfrei - danke Nall Chan!!!