Weather Plugin - blockiert FHEM/LAN bei Internet Ausfall!?

Begonnen von chunter1, 19 Juni 2016, 16:39:16

Vorheriges Thema - Nächstes Thema

chunter1

Hatte jetzt 2 Tage kein Internet und in genau der Zeit war FHEM nicht mehr bzw. EXTREM schwer im internen LAN erreichbar.
Alle Aktionen waren um Minuten verzögert und die Verbindung zum HMLAN hat ständig zwischen disconnect und init gewechselt.
Kaum war das Internet wieder da, hat alles wieder funktioniert.
Im Log ist mir aufgefallen, dass das Weather Plugin in der Zeit alle ca. 2 Minuten versucht hat Daten abzurufen obwohl das Abfrageintervall laut Plugin auf 3600s eingestellt war.
Kann es sein, dass das Weather Plugin bei fehlender Verbindung ständig agressiv probiert den Server zu erreichen und damit das LAN des raspberry blockiert?
Wenn ja, ist das Plugin eine tickende Zeitbombe  :o

Deudi

Das machen einige andere Module auch. Daher habe ich alle unterstützenden Dienste ausgelagert.


Gesendet von iPhone mit Tapatalk
Gigabyte Brix, Ubuntu 16.04.3 LTS, Homematic, Z-Wave, EnOcean, Shelly@MQTT, SIGNALduino, JeeLink DAVIS-Sketch

ckreuzer

Hallo,
ich hatte auch das selbe Problem, dass das Weather Plugin fhem komplett blockiert.
Wie lagert man diese Dienste aus?

danke&lg
Christian

herrmannj

Ich vermute mal das ihr 59_Weather.pm meint ?

In maintainer.txt nachschauen welches forum, dort posten :) (Tip: Frage deutlich besser formulieren, zb welches modul)

Aber: wenn es um 59_Weather.pm geht. Soweit ich sehen kann ist das ganz sauber non-blocking programmiert. Ist also entweder ein Bug oder ihr habt keinen DNS Server gesetzt. (attribut in global, siehe cmdref).

Wenn der DNS nicht gesetzt ist muss fhem für die meisten HTTP(s) Calls beim OS anfragen und *das* blockiert ohne erreichbaren DNS Server.

mbrak

Hi
Es gibt ein globales Attribut (attr global dnsServer x.x.x.x) mit dem du den DNS bestimmen kannst. Setze diesen auf deinen Router. Damit stellst du Fhem auf eigene DNS Routinen um und es blockiert bei nicht erreichbarem externen DNS nicht mehr.
Hätte ich auch die Zeit mal und danach keine Probleme mehr.

Gruß Michael

ckreuzer

Hallo,
danke schön,
ich habe jetzt mal meinen lokalen DNS Server eingetragen und teste es

Viele Grüße

Christian

Deudi

Zitat von: ckreuzer am 02 August 2017, 22:14:30
Wie lagert man diese Dienste aus?

Man installiert auf dem Rechner eine zweite FHEM Instanz in einem separaten Verzeichnis (etwa /opt/fhem2, alle Portnummern ändern, damit es eindeutig bleibt). Hier diverse Dienste auslagern und z.B. per FHEM2FHEM mit der ersten Instanz verbinden, damit man dort die Infos hat.
Vielleicht übertreibe ich es etwas, aber mein FHEM läuft mittlerweile mit an die 8-10 Instanzen über vier Einplatinencomputer verteilt.
Gigabyte Brix, Ubuntu 16.04.3 LTS, Homematic, Z-Wave, EnOcean, Shelly@MQTT, SIGNALduino, JeeLink DAVIS-Sketch

Amenophis86

Also ich habe auch eine zweite Instanz, aber ich frage mich für was man 8 - 10 braucht? Welche Module blockieren sich denn bei dir alle Gegenseitig?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Deudi

Zitat von: Amenophis86 am 04 August 2017, 22:55:23
Also ich habe auch eine zweite Instanz, aber ich frage mich für was man 8 - 10 braucht? Welche Module blockieren sich denn bei dir alle Gegenseitig?
Ob die Module noch blockieren oder mittlerweile verbessert wurden weiß ich nicht genau, jedenfalls hatte ich mal Probleme mit z.B. Sysmon, GDS, Presence, HUE, NUT, FHEM2FHEM usw. Ich will hier auch niemanden blamen. Ich bin mit FHEM und den genannten Modulen sehr zufrieden seit ich diese ausgelagert habe. Alle tutti - aber auch etwas historisch gewachsen. Die vielen Instanzen laufen wie erwähnt auch nicht auf einer Hardware, sondern addieren sich halt so auf:

Cubietruck1: Instanz1=Homematic, Instanz2=Sysmon+Plots
Cubietruck2: Instanz1=Presence, Instanz2=Sysmon+Plots
Cubietruck3: Instanz1=AMAD für Tablet1, Instanz2=AMAD für Tablet2, Instanz3=Presence, Instanz4=GDS+HTTPMOD+PROPLANTA
Cubietruck4 (Reserve): Instanz1=AMAD für Tablet1, Instanz2=AMAD für Tablet2, Instanz3=Presence, Instanz4=GDS+HTTPMOD+PROPLANTA
Pi (ADS-B Empfänger): Instanz1=Sysmon
Pi (DCF77 Empfänger): Instanz1=Sysmon

Frohes Automatisieren!
Gigabyte Brix, Ubuntu 16.04.3 LTS, Homematic, Z-Wave, EnOcean, Shelly@MQTT, SIGNALduino, JeeLink DAVIS-Sketch

ckreuzer

Hallo,
attr global dnsServer x.x.x.x
hat für mich definitiv das Problem gelöst.

Danke&Viele Grüße

Christian