Oder wenn ein Socket für das Endgerät in IPS existiert - die Statusänderung des Sockets kann ein Skript triggern welches dann wiederum den genauen Socket-Status abfragen und entsprechend reagieren kann.
Also ein Event bei Statusänderung eines Sockets wäre schon mal was.
Bloss: Wie lege ich den an? Da ja ein Serversocket und auch ein Clientsocket keine Statusvariablen haben, wüste ich im Moment nicht, worauf ein Event zweigen soll?
Guck Dir mal den Event-Handler an. Dort kannst Du unter Statusereignissen ein Skript definieren welches beim Statuswechsel einer zu definierenden Instanz getriggert wird.
Ich bin mir nur nicht ganz sicher ob das erst ab 2.4 geht oder schon bei 2.3 ging. Ansonsten bis Sonntag warten - dann wird die 2.4 ja offiziell…
Kosten halt Performance und man muss es für jeden neuen Socket einrichten (nicht vergessen).
Ausserdem versagt PING in zwei Fällen:
1.) Wenn der Fehler beim Kommunikationspartner auf Portebene und nicht auf der Schnittstelle per se liegt
2.) Wenn man das System dicht haben will und ICMP in der FW nicht freigeschaltet hat.
Eigentlich wäre das doch was für eine Zentralfunktion für IPS („SystemChecker“), denn IPS kriegt solches ja oft am schnellsten mit und hat bei Sockets und anderem ohnehin das Ohr am Rohr, oder?
Und das Überwachen von Einheiten ist ja schon auch sowas wie ne Grundfunktion einer Hausautomation?
So eine Watchdog-Funktion wäre dann auch auf andere „Busse“ ausdehnbar, also z.B. ein Verfügbarkeitscheck für 1-Wire Devices, EIB Devices etc.
ich denke Horst möchte damit zum Ausdruck bringen das von Seiten des Entwicklerteams ausreichende Möglichkeiten über den Eventhandler von IPS gegeben sind.
StatusEvent
Wenn das Skript über eine Statusveränderung einer Instanz aufgerufen wurde.
Variable
Bedeutung
$IPS_INSTANCE … InstanzID zur Statusänderung
$IPS_STATUS … Status der Instanz.
Eine Auflistung ist hier zu finden: IPS_GetInstance
$IPS_STATUSTEXT … Kurztext passend zum Status
Ich persönlich habe mir ein Statusüberwachungsscript geschrieben welches 1x je Minute aufgerufen wird und auch, wenn gewünscht, reconnects ausführt.
Hallo Thomas,
bei mir tritt auch wöchentlich das Problem aus, das nach einem Neustart der 1-wire Port oder auch die LCN Verbindung nicht geöffnet werden kann.
Würdest Du bitte Deine Lösung mal posten, eventuell lässt sie Dein Ansatz mit wenigen Handgriffen adaptieren?
Das Event Control deckt alles ab, was Du wolltest, außer dass es nicht global für alle Instanzen eingerichtet ist. Und das ist auch gut so, da es so einige Fälle gibt, in denen man nicht mit Mails belästigt werden möchte oder Reconnects braucht. Ein paar Beispiele: Der Socket für mein XBMC kann nicht verbunden werden, wenn ich mein XBMC ausgestellt habe. Mein Tracker meldet sich nicht mehr, wenn ich aus dem Haus bin. Wenn man gerade am Basteln ist, möchte man auch keine Mails erhalten oder neu verbunden werden.