DevIo_OpenDev - Gegenstelle nicht verfügbar

Begonnen von bugster_de, 27 Januar 2014, 08:43:22

Vorheriges Thema - Nächstes Thema

bugster_de

Hallo Leute,

momentan 'schraube' ich ja an der Unterstützung für die Squeezebox. Dabei öffne ich im Initialize mittels DevIo_OpenDev($hash, 0, "SB_SERVER_DoInit" ); die verbindung zum Server. das klappt auch ganz hervorragend, so lange die Gegenstelle (der SB Server) genau in diesem Moment verfügbar ist. Der STATE des Moduls geht auf 'opened'. Soweit so gut.

Wenn ich nun aber die Gegenstelle ausschalte oder in den hibernate Modus fahre (sprich SB-Server ist aus), dann bleibt FHEM immer im 'opened' STATE und geht nicht auf 'disconnected'. Somit wird natürlich auch nie die ReadyFn aufgerufen, in der mein Modul den Zustand abarbeiten kann.

ich hätte jetzt eigentlich vermutet, dass dem so ist: wenn die Gegenstelle da ist, dann ist STATE = opened und man kann Daten Lesen / Schreiben. Wenn die Gegenstelle nicht vorhanden ist, dann geht STATE auf 'disconnected' und die ReadyFn wird aufgerufen.

falls dem nicht so ist: muß ich das Vorhandensein der Gegenstelle durch eine Art kontinuierlichem AliveCheck selbst überprüfen? So in der Art wie HM_LAN das mit dem Senden des 'K' macht? Sprich wenn ich keine Antwort auf mein AliveCheck erhalte, dann mache ich DevIO_CloseDev?

Danke !