No FD (dummy device?)

Begonnen von tomleitner, 04 Februar 2023, 13:43:48

Vorheriges Thema - Nächstes Thema

tomleitner

Hallo,

Ich habe einen COC sowie einen ZWave dongle über ser2net an meinen FHEM Server angebunden. Klappt auch gut ... einziges Problem: alle paar Wochen wird die Verbindung verloren und kann nicht mehr hergestellt werden.  "Get" Abfragen ans device werden mit "No FD (dummy device?)" beantwortet.  Siehe Foto. Ein "set xxxx reopen" klappt auch nicht.  Einzig ein "shutdown restart" des FHEM servers hilft. 

Ideen jemand ?

Danke.


rudolfkoenig

Ich tippe auf einem "low-level" Problem (Kontakt / Stromversorgung / etc).

tomleitner

Das glaube ich nicht. A) ist es beim COC dongle und beim ZWave Dongle so die an unterschiedlichen Rechnern hängen und B) warum soll ein "shutdown restart" des FHEM servers irgendwas mit einem Wackelkontakt zu tun haben?

rudolfkoenig

Die Meldung kommt, when das FHEM-Modul das zugrundelegende /dev/... nicht oeffnen kann oder die Netzwerk-Adresse nicht erreicht.
Zwischen "set reopen ..." und "shutdown restart" sollte in diesen Fall keinen Unterschied geben.
Womoeglich hilft ein Blick ins FHEM-Log.

tomleitner

Das log file checke ich natürlich als erstes. Alleine da steht nichts diesbezügliches drinnen.
Ist möglich das irgendwo im Code ein close Aufruf vergessen wurde. Wenn man dann viele Male ein Open macht gehen ihm irgendwann die file descriptoren aus ...

rudolfkoenig

ZitatIst möglich das irgendwo im Code ein close Aufruf vergessen wurde.
Klar.
Nur, Zitat: "Das glaube ich nicht."
Die Module laufen seit Jahren unveraendert (jedenfalls was das betrifft) bei vielen Benutzern ohne Probleme.

tomleitner

Ok .. danke für Deine Antwort.  Vielleicht ist es ja mein Linux oder Perl das hier ein Problem hat. Ich habe einen ODROID-N2 unter Ubuntu 18.04.2 LTS, Kernel 4.9.184-37, Perl v5.26.1 ...

Auf der anderen Seite: Wenn wirklich die FDs ausgehen, schätze ich das wohl das der ganze FHEM Server nimmer laufen würde und nicht nur diese spezielle Verbindung ...

rudolfkoenig

Die FD sind nicht ausgegangen.
Die Fehlermeldung sagt, es gibt kein aktuell geoeffnetes Filedescriptor fuer diese Instanz, vulgo keine Verbindung zum Ausgabegeraet.

tomleitner

Gibts keine Fehlermeldung wenn der FD nicht geöffnet werden kann? Hier wäre interessant den Grund zu wissen ...

Wernieman

Oder mal auf Shellebene gucken, ob das Device sichtbar. Auch währen die üblichen Verdächtigen (syslog/kern.log) zu prüfen ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

rudolfkoenig

ZitatGibts keine Fehlermeldung wenn der FD nicht geöffnet werden kann?
Sicher doch, es sei denn, man hat es mit verbose 0 abgestellt.
Oder es ist ein "dummy" device, ohne Geraetespezifikation, z.Bsp. define zwd ZWDongle none:012345678

tomleitner

Hier ist das Device um das es geht:


defmod ZWDongle ZWDongle fhem-if:2004
attr ZWDongle alias ZWDongle
attr ZWDongle group ZWave-Controller
attr ZWDongle homeId f5eb5514
attr ZWDongle room Device Status,ZWave
attr ZWDongle verbose 1


Das device ist also ein TCP/IP socket auf Host fhem-if, Port 2004. Wie gesagt: es klappt ja alles nach einem FHEM Start ... nur nach einiger Zeit kommt das Ding in diesen oben beschriebenen Zustand der sich nur noch per restart lösen lässt.

Beim nächsten Mal drehe ich dynamisch den loglevel rauf und schau mal was ich kriege.  Einen Fehler der Gegenseite kann ich ausschließen ... dagegen spricht ja das ein FHEM restart hilft.

Danke Euch ... ich werde berichten ...

Wernieman

Ähhh .. FritzBox als DNS-Server?

Könnte sein, das diese kurzfristig genau den DNS-Eintrag vergisst. Setze mal zu Debugzwecken anstatt dem DNS-Namen die IP rein.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

tomleitner

Zitat von: Wernieman am 05 Februar 2023, 18:24:01
Ähhh .. FritzBox als DNS-Server?

Könnte sein, das diese kurzfristig genau den DNS-Eintrag vergisst. Setze mal zu Debugzwecken anstatt dem DNS-Namen die IP rein.

Danke für die Idee ... Hostname ist aber in /etc/hosts eingetragen ... und nsswitch.conf ist auch richtig konfiguriert ... das hab ich schon gecheckt ...