Hallo zusammen,
auf Grund der Tatsache, dass ich seit einer Woche kein DSL mehr habe "leide" ich etwas an Problemen mit Fhem die aber nachvollziehbar sind - frage ist nur wie man es vermeiden könnte...
Situation:
Fhem hat diverse Verbindungen ans Inet - sei es Google-Kalender, Whatsapp-Gateway, Speedtest DSL etc.
Durch die unterbrochene Internetverbindung zieht Fhem aber regelrecht die Handbremse und reagiert erst z.B. Minuten nach dem Aufruf der Webseite etc. (auch wenn dns umgangen wird und direkt die ip des servers verwendet wird).
Auch die Steuerung selbst agiert extrem langsam z.b. meine LW12-LED-Controller die von Kodi getriggert werden. Es hat den Anschein, dass der Ablauf in Fhem regelrecht blockiert wird durch die fehlende Verbindung an die Außenwelt.
Habt ihr Ideen bzw. Erfahrungen wie man dies vermeiden könnte oder was ggf. der Auslöser sein könnte ? - Gibts evtl. ein globales timeout etc. für anfragen ins inet ?
Gruß Hawkeyexp
1. Die betroffenen Module deaktiveiren (ignore/disable), oder wenn das nicht hilft, loeschen (vorher backup machen).
2. Die betroffenen Modul-Autoren ermahnen, eine Nicht-Blockierende Variante des Internet-Zugriffs verwenden, FHEM bietet sowas auch an mit HttpUtils_NonblockingGet
3. Falls das Modul HttpUtils_NonblockingGet verwendet, dann kann sich der Aufruf immer noch an dem OS-DNS-Lookup blockieren. Das kann man mit "attr global dnsServer 8.8.8.8" (bzw. eine andere passende IP-Addresse) auf nicht-blockierend umstellen.
Ein globales Timeout gibt es nicht, da jedes Modul eine beliebige Methode verwenden kann. Beim (blockierenden) GetHttpFile/GetFileFromURL ist die Voreinstellung 4 Sekunden + DNS-Lookup-Timeout. Die 4 Sekunden kann das aufrufende Modul aendern, der Benutzer nur indirekt, was das Modul das anbietet.