Hallo,
ich habe Fhem auf einem Raspberry Pi 3.
Die Weboberfläche ist nur sporadisch erreichbar. 2-3 Sekunden, dann wieder weg. Nach 10-20s wieder da für ein paar Sekunden usw.
Per SSH habe ich die ganze Zeit Zugriff. Ebenso kommen alle Pings an. Verschiedene Browser und PC durchprobiert.
Woran könnte es noch liegen?
Hi,
ssh ist Zugriff auf das System, FHEM im Browser ist Zugriff auf das FHEM WEB.
Irgendwas an Deinem FHEM wird scheinbar hoch belastet, oder irgendetwas blockiert.
Schau z.B. danach -> Beitrag im Wiki (https://wiki.fhem.de/wiki/FHEM_startet_nicht_-_Tipps_zur_Fehlersuche#Pr.C3.BCfen:_Ist_der_laufende_FHEM-Prozess_.C3.BCberlastet.3F)
Gruß Otto
perl und mysql scheinen mir recht hoch, oder?!
in dem Falle ist "perl=fhem", d.h. Dein FHEM ist ausgelastet. Allerdings nimmt sich in Deinem 2. Bild mysql auch gans schön viel CPU.
Hinweis: 100%=1 CPU Auslastung. Da Du 4 hast, kann bei einem Multithreadsystem Maximal 400% Vergeben werden.
Und außerdem ist idle=0, d.h. keine CPU ist jemals im Lehrlauf
Was macht Dein Pi alles?? Der akkert sich "zu tode". Was passiert, wenn Du FHEM (nicht den Pi) ein mal durchstartest, also beenden, starten?
Einmal ohne Fhem und das zweite wieder mit Fhem gestartet.
Der Raspberry ist nur Fhem.
ins Blaue geraten wegen FHEMattr initialUsbCheck disable 1
wenn deine Oberfläche mal erreichbar ist. Danach save config.
Nach einem shutdown restart könntest Du mit apptime (https://fhem.de/commandref.html#apptime)weitermachen.
Gruß Otto
Also nach Deinem letzten Beitrag, hast Du noch 76% idle, aber 10 waiting ...DAS gefällt mir nicht.
Außerdem sehe ich im Fenster "FHEM gestartet" kein FHEM aber 60% mysql. WAS hast Du alles in FHEM eingerichtet? Macht mysql nur fhem oder noch etwas anderes?
Also apptime liefert mir folgendes:
In Fhem ist eine Wago mit digitalen Ein- und Ausgängen per Modbus.
Sonos, Kodi, Z-Wave, ein paar Temperatursensoren per 1wire. Mysql ist nur für Fhem.
Was loggst Du so alles? DBLog ist laut apptime (so wie ich es verstehe) der "Hauptverursacher" ...
Eigentlich nur ein paar Temperaturen.
Kann ich DBLog zum testen mal deaktivieren oder die Zahl der Logs reduzieren?
in welchen Abständen? Wie loggst Du? Zeige das mal mit allem was dazu gehört an einem solchen 1wire auf.
Gruß Otto
Hier laufen glaube nicht zu viele Log Einträge.
Sorry, aber da versagt meine Glaskugel :'(
Aus dem Screenshot kann ich leider gar nicht sehen ob was geloggt wird. Das einzige: Du hast kein event-on-change-reading gesetzt, damit wird jeder Wert geloggt.
Mit welcher Frequenz fragst Du denn deine 1wire ab?
Gruß Otto
event-on-change-reading habe ich dann mal gesetzt.
Würde das noch mit einer Bedingung verknüpfen, das z.B. nur bei Temperaturänderungen >0.5 Grad.
Wie müsste ich das ergänzen?
Wo kann ich das Logintervall nachschauen?
Aonst guck doch mal im MySQL-Log, wie häufig Einträge "drinstehen" und welche. Dann kannst Du sehr gezielt suchen!
Zitat von: golli am 24 Dezember 2017, 13:30:41
event-on-change-reading habe ich dann mal gesetzt.
Würde das noch mit einer Bedingung verknüpfen, das z.B. nur bei Temperaturänderungen >0.5 Grad.
Wie müsste ich das ergänzen?
Doku:
Zitatevent-on-change-reading
Dieses Attribut enthält eine durch Kommata getrennte Liste von "readings". Wenn gesetzt, erzeugen nur Veränderungen der gelisteten "readings" ein Ereignis. Wenn die aktualiserten Werte der gelisteten "readings" identisch sind, wird kein Ereignis generiert.
Wenn hinter dem Namen eines "readings" eine :Schwelle angegeben ist, wird das Event nur getriggert wenn die Änderung grösser als diese Schwelle ist.
Die unterschiedlichen Bedeutungen von event-on-update-reading und event-on-change-reading sind folgende:
Wenn beide Attribute nicht gesetzt sind erzeugt jede Aktualisierung eines jeden "readings" eines Gerätes ein Ereignis.
Wenn eines der Attribute gesetzt ist, erzeugen nur Updates oder änderungen von "readings" die in einem der Attribute gesetzt sind ein Ereignis.
Wenn ein "reading" in event-on-update-reading aufgeführt ist, erzeugt eine Aktualisierung ein Ereignis unabhängig ob das "reading" auch in event-on-change-reading aufgelistet ist.
Da steht bereits eine 1, also dürfte doch nur bei Temperaturänderungen größer 1 Grad ein Event ausgelöst werden, oder?
Du musst die readings angeben, bei denen ein Event gefeuert werden soll. Schau dir die Doku nochmal an.
Und bitte keine screenshots, sondern ein list vom device (in code tags)
Guten Rutsch,
Oli
Moin,
das Schwarze ist die Schrift und das fette Schwarze ist die Grundlage.
Hast Du ein reading was 1 heisst?
Du könntest .*:1 hinschreiben, dann würde die Schwelle von 1 für alle Readings gelten.
Besser wäre temperature:1
;D
Guten Rutsch
Otto