Info |
---|
Gerne um eigene Erfahrungen ergänzen/korrigieren. Hier sollen möglichst alle Gründe aufgeführt werden, die zu ungeplanten Restarts führen können, so dass jeder mit solchen Reboots hier eine potentielle Lösung für sein Problem finden kann. |
...
- Miniserver ist von außen ohne VPN erreichbar
- Miniserver nur über VPN von außen erreichbar machen
- SD Karte überlastet / defekt
- SD-Karten Test <IP-Miniserver/dev/sys/sdtest> - Klärung der Ergebnisse mit Loxone oder im Forum, neuere Miniserver Versionen schicken bei Problemen mit der SD Karte Pushnachrichten & Mails
- z.B. Statistiken tw. oder ganz deaktivieren
- neue SD Karte - am besten Original Loxone SD Karte oder empfohlene aus dem Wiki
- Anfragen an IPs die es nicht mehr gibt oder die nur noch Fehler zurückgeben oder langsam antworten
- Ping Bausteine, HTTP-Verbinder etc. checken
- Umwandlung in Virtuellen Eingang: Pushen zum Miniserver nur bei Änderung statt Pollen (notfalls über ioBroker, FHEM, node-red, ... als Vermittler)
- Zu viele Objekte im Loxone Config Projektfile -> Info Anzahl Objekte erkennen
- keine festen Grenzen bekannt, alle Werte sind nur Anhaltspunkte
- Programmierung reduzieren, nicht benötigte Teile entfernen, ...
- Bug im Miniserver bzw. der Firmware von Loxone
- vor ab bekannte Fehler sichten: Erste Hilfe - Aktuelle Fehler - Known Issues
- Support Ticket bei Loxone
- Probleme Loxbus, Stromversorgung, …
- Analyse in Loxone Config
- Spannung nachmessen, ...
- Abfrageintervalle von Virtuellen HTTP-Eingängen
- Die abgefragte Webseite prüfen - ist die sehr groß (Speicherbedarf am Miniserver!) ? Alternativen suchen.
- Kurz eingestellte Intervalle vergrößern
- Befehlserkennungen auf das Notwendigste reduzieren (jede einzelne Befehlserkennung sucht im gesamten HTTP-Response nach dem Text)
- Umwandlung in Virtuellen Eingang: Pushen zum Miniserver nur bei Änderung statt Pollen (notfalls über ioBroker, FHEM, node-red, ... als Vermittler)
- UDP-Pakete
- Befehlserkennungen auf das Notwendigste reduzieren (jede einzelne Befehlserkennung sucht im UDP-Eingang nach dem Text)
- (insbesondere wenn UDP-Befehle aus Templates geladen wurden, sind oft viele Eingänge dabei, die man garnicht braucht)
- Wenn möglich, in der UDP-Quelle Caching verwenden, damit nur Änderungen per UDP übertragen werden
- Testweise die UDP-Übermittlung komplett deaktivieren
- Zu viele Log ausgaben im def.log = zu hohe Schreiblast
- Logger deaktivieren
- Virtuelle Ausgänge prüfen
- Das Speichern der Antwort soll deaktiviert sein (Schreibzugriff auf der SD)
- PicoC Programme: Dabei gab es von Loxone bereits Memory Leaks in deren Interpreter, diese kann man aber auch selbst ganz leicht im Code produzieren!
- Testweise alle Pico-C Programme entfernen
- Merker
- Alle Merker überprüfen, ob dort eine Verzögerung eingestellt ist
- Eine Verzögerung von 1 belegt einen Speicherplatz
- Eine Verzögerung von 100 belegt 100 Speicherplätze
- Hohe Verzögerung im Merker erhöht den Speicherverbrauch im RAM des Miniservers
- Gleitender Mittelwert
- Viele Zyklen erhöhen den RAM-Speicherverbrauch des Miniservers
- Impulsgeber
- Durchgehend laufende Impulsgeber mit sehr kleinen Intervallen belasten die CPU des Miniservers stark
- Verwendung Loxone HTTP/Websocket API prüfen, also Fremdsysteme, die per HTTP Requests in Loxone Befehle ausführen oder Werte pushen
- Viele Aufrufe von außen belasten den Miniserver
- Externe Systeme: iobroker, node-red, ...
Was kann man noch tun
- def.log nach Fehlermeldungen zum besagten Zeitpunkt des Reboots anschauen
- http://<miniserver_ip>/dev/fsget/log/def.log
- Systemnachrichten aktivieren, damit man Reboot direkt mitbekommt
- Bei Loxone anfragen, ob deren Crashlog-Service etwas mitbekommen hat (dafür muss die Crashlog Funktion aktiviert sein -> Screenshot wo Einstellung)
- SD-Karte austauschen
- Loxforum nach aktuellen Fehlermeldungen von anderen Usern durchsuchen
Eigene, externe Scripte
- Die Antworten von http-Requests so kurz wie möglich halten
- UDP-Übertragungen nur mit echten Daten (keine unnützen Daten/Texte usw. mitschicken)
- Daten per UDP zusammenfassen, statt vieler einzelner Requests
- Nur geänderte Daten übermitteln (selbst irgendwo cachen)
Miniserver in Verbindung mit einem LoxBerry
...
- Einzelne Tipps:
- Regelmäßig Backups erstellen
- z.B. mit Hilfe eines Loxberry's (/wiki/spaces/LOXBERRY/pages/1189741186)
- SD-Karte als Ersatz bereithalten
- def.log immer mal wieder anschauen (sehr einfach aus dem LoxBerry "Miniserver"-Widget möglich)
- Regelmäßig Backups erstellen
- Umfangreiche Sammlung auf separater Wiki-Seite: Betriebssicherheit
Die Größenordnungen ("viel" oder "wenig") immer in Anbetracht der eingesetzten Hardware sehen. Ein Raspberry Pi 1 hat etwa 10x mehr Leistung als ein Miniserver - die Miniserver-Hardware ist am technischen Stand von vor über 10 Jahren. Der alte Herr schlägt sich gut, ist aber nunmal nicht mehr der Jüngste.