Persistieren einer Gruppe

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

Baumtasche
Beiträge: 82
Registriert: 14. Sep 2020 21:52

Persistieren einer Gruppe

Beitrag von Baumtasche »

Hallo zusammen,

ich nutz influxdb und es funktioniert soweit gut. Allerdings habe ich festgestellt, das meine Werte über "Analyse" in OH3 nach einem Reboot weg sind. Außerdem schaffe ich es nicht, die Gruppe selbst zu persistieren. In der Gruppe "EnergieMessen" sind die Items die ich persitieren will.

Ich hoffe es kann mir jemand helfen.

Code: Alles auswählen


Strategies {
	everyMinute		: "0 * * * * ?"
	every5Minutes	: "0 0/5 * * * ?"
	everyHour 		: "0 0 * * * ?"
	everyDay 		: "0 0 0 * * ?"
	default = everyChange
}

Items {

	EnergieMessen*													: strategy = everyChange
	EnergieMessern													: strategy = everyChange

UausO
Beiträge: 12
Registriert: 3. Jan 2021 19:08

Re: Persistieren einer Gruppe

Beitrag von UausO »

Hallo Baumtasche,
hast du dir den Code genau angesehen, ich glaube in der letzten Zeile ist ein r zu viel.

freundliche Grüße

Ulrich

Benutzeravatar
udo1toni
Beiträge: 13859
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Persistieren einer Gruppe

Beitrag von udo1toni »

Was die fehlenden Daten betrifft: Wie führst Du den Reboot aus?

Falls Du openHABian verwendet hast, um openHAB auf einem Raspberry Pi einzurichten, wird automatisch ZRAM mit eingerichtet. ZRAM leitet alle Schreibzugriffe in eine RAM-Disk um, welche als Overlay in das Dateisystem eingeblendet ist. das heißt, Du als Anwender bekommst davon erst mal nichts mit.
Wenn der Rechner heruntergefahren oder neu gestartet wird, muss ZRAM alle Daten auf einen Schlag auf die SD-Karte schreiben. Das scheint bei Dir nicht der Fall zu sein. Typisch würde das passieren, wenn man auf die falsche Weise neu startet :)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Baumtasche
Beiträge: 82
Registriert: 14. Sep 2020 21:52

Re: Persistieren einer Gruppe

Beitrag von Baumtasche »

Danke für die Antworten. Der letzte Reboot kam durch einen Stromausfall und da ich Openhabian nutze klingt, das nach einer Erklärung. Gibt es eine Möglichkeit das zu verhindern, bzw. das die Daten auf die SD-Karte geschrieben werden?

Das "r" werde ich beseitigen, danke.

Benutzeravatar
udo1toni
Beiträge: 13859
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Persistieren einer Gruppe

Beitrag von udo1toni »

Die beste Variante (speziell bei einem Raspberry sehr empfehlenswert) ist es, eine kleine USV nachzurüsten. Es geht dabei nicht um dauerhaften Betrieb, sondern ausschließlich darum, dass der Pi bei Stromausfall einfach ordentlich herunterfahren kann. Es gibt für den Pi HAT Module, die genau dafür gedacht sind, da sind einfach zwei oder drei Lithium-Akkus verbaut, plus Echtzeituhr. Üblicherweise muss man dann ein Software Modul nachinstallieren, welches die Steuerung übernimmt.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Baumtasche
Beiträge: 82
Registriert: 14. Sep 2020 21:52

Re: Persistieren einer Gruppe

Beitrag von Baumtasche »

Ich habe sogar eine USV, da ich auch noch einen Server habe, den ich sauber herunterfahren will. Allerdings, wir realisiere ich das Openhabian, wenn ich nicht da bin? Läßt sich das automatisieren? Beim Server habe ich das über die Windows Boardmittel realisiert.

Ich habe auch noch immer das Problem, auch nach Korrektur des "R", da die Werte der Gruppe nicht persistiert wird. Es wird zwar die linie hinter dem Wert angezeigt, aber wenn ich darauf klicke, ist das Diagramm leer :-(

Benutzeravatar
udo1toni
Beiträge: 13859
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Persistieren einer Gruppe

Beitrag von udo1toni »

Es kann sein, dass es im Zusammenhang mit den Main UI Graphen notwendig ist, everyMinute als Strategy zusätzlich anzugeben.
Hast Du die Default Persistence auf influxdb gesetzt? sonst wird openHAB weiter die Daten aus rrd4j ziehen.

Was das automatisch Abschalten bei Stromausfall betrifft: Das Hauptproblem dabei ist, vom Rechner, der die USV kontrolliert, ein passendes Signal zu bekommen. Bessere USV Systeme können sowas von Haus aus (Slave Rechnern einen Befehl zum Shutdown schicken).
Die beste Option für Nicht-Windows-PCs ist sicher NUT (Network UPS Tools) Es gibt auch eine Wersion für Windows, allerdings ist diese nicht als Server brauchbar, seit man in Windows auf signierte Treiber besteht. Man kann das System leider nicht dazu bewegen, die USV dauerhaft als Gerät für NUT zu erkennen (jedenfalls habe ich keinen Weg gefunden... unter Windows 7 hat das mit Tricks noch einwandfrei funktioniert, unter Windows 10 war damit Schluss).

Aber vielleicht kann man etwas dafür basteln. Auf Linux-Seite gibt es diverse Möglichkeiten, auf Netzwerk-Pakete zu reagieren. Natürlich muss die Netzwerkkommunikation zu dem Zeitpunkt noch möglich sein :) sprich, auch der Switch muss an der USV hängen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Baumtasche
Beiträge: 82
Registriert: 14. Sep 2020 21:52

Re: Persistieren einer Gruppe

Beitrag von Baumtasche »

Ja, ich den Defaultwert auf InfluxDB gesetzt, die Line wird auch angezeigt, aber wenn man in den Grafen geht ist leider leer. Ich werde da noch ein wenig rumexperimentieren.

Zu der USV: ist es möglich von einem Windowsrechner per Skript den Shutdown vom PI durchzuführen? Wenn ja, würde ich per Skript regelmäßig prüfen ,ob bestimme Netzwerkkomponenten, die nicht an der USV (ja der zentrale Switch hängt an der USV) hängen noch erreichbar sind, wenn nicht, kann man von einem Stromausfall ausgehen, und der Pi fährt runter.

Ich hätte noch eine Frage zu der RamDisk. Kann man Openhabian dazu bringen, das es regelmäßig die RamDisk auf die SD-Karte schreibt?

Benutzeravatar
udo1toni
Beiträge: 13859
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Persistieren einer Gruppe

Beitrag von udo1toni »

Baumtasche hat geschrieben: 24. Jul 2022 11:31 ist es möglich von einem Windowsrechner per Skript den Shutdown vom PI durchzuführen?
Ja, allerdings kannst Du ebenso gut auf dem Pi selbst die Erreichbarkeit prüfen (das geht sogar direkt in openHAB). Ob dieser Indikator hinreichend ist, ist eine andere Geschichte. ;)
Baumtasche hat geschrieben: 24. Jul 2022 11:31 Kann man Openhabian dazu bringen, das es regelmäßig die RamDisk auf die SD-Karte schreibt?
Ein vielfach geäußerter Wunsch. Meines Wissens geht das leider nicht (jedenfalls nicht ohne Weiteres). Der ZRAM Dienst selbst bietet die Möglichkeit, aber das Paket, welches mit openHABian installiert wird, ist wohl extra gebaut und da fehlt die Option. Andererseits muss man auch konstatieren, dass der Sinn des Dienstes ja gerade ist, keine Schreibzugriffe auf die SD-Karte vorzunehmen.
Mögliche Workarounds: SSD per USB3 anschließen. Entweder Boot direkt von SSD, oder Boot von einer RO-gemounteten SD-Karte und die SSD ist als / eingebunden. Wenn man einen Server laufen hat, kann auch das Auslagern von Teilen des Dateisystems interessant sein. Allerdings mag Linux da NFS deutlich mehr als CIFS/SMB, Microsoft bietet aber nur mittelprächtige Unterstützung für NFS. Der Server wird auch nur bei Windows Server 2019 R2 mitgeliefert (und natürlich bei den vorgehenden Server Versionen).
Mit einer schnellen Netzwerkverbindung kann sogar das Booten über NFS Vorteile bringen, immerhin schafft der Pi4 problemlos 1 GBit/s auf der LAN-Schnittstelle, während die SD-Karte irgendwo bei 34 MByte/s (lesend) aufgibt, also gerade mal ein Drittel.
Ein solcher Aufbau ist aber vor allem interessant, um den eigenen Spieltrieb zu befriedigen, oder man hat so viele Pi im Einsatz, dass sich das zentrale Rollout tatsächlich lohnt.
Wenn man komplett auf die SD-Karte verzichtet oder diese nur zum Booten RO einhängt, kann man ZRAM beruhigt abschalten.
Ein Auslagern auf gewöhnliche USB-Sticks ist übrigens Quatsch, es sei denn, man hat sehr spezielle (und leider teure) USB-Sticks, die einen echten SSD Controller verbaut haben. Gewöhnlich sind USB-Sticks ebenso wie SD-Karten nur mit einem simplen Controller versehen, der z.B. kein Wear Leveling beherrscht.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Baumtasche
Beiträge: 82
Registriert: 14. Sep 2020 21:52

Re: Persistieren einer Gruppe

Beitrag von Baumtasche »

Vielen , vielen Dank für die ausführliche Antwort.

Kennst du zufällig den Befehl, wie ich von einem Windowsserver, per Kommandozeile, OPenhabian heruterfahren kann?

Antworten