Seite 1 von 1

Nach Update auf OH3 | MySQL Persistence speichert zuviel

Verfasst: 18. Jun 2021 15:49
von sonic
Hallo zusammen,

der Umzug auf Openhab 3 hat doch tatsächlich ohne größere Probleme geklappt. Cool :-)

Allerdings habe ich ein Problem mit der Persistence. Meine Strategie ist Werte von ein paar Items in eine MySQL (mariadb Server) weg zu speichern. Die Datenbank liegt auf einem externen Server. Das funktioniert auch soweit super. NUR. Irgendwie legt Openhab fleißig Tabellen für jedes Item an.

meine mariadb.persist sieht so aus:

Code: Alles auswählen

Strategies {
    everyMinute : "0 * * * * ?"
    everyHour   : "0 0 * * * ?"
    everyDay    : "0 59 23 * * ?"
}

Items {
    M_SchichtspeicherSensor : strategy = everyMinute
	M_PVSpeicherSensor : strategy = everyMinute
    M_OelFull : strategy = everyHour
    WechselrichterAggregateDayProduction : strategy = everyDay
    WechselrichterLiveProduction : strategy = everyMinute
    M_Aqara_FlurEGAqaraTemperature : strategy = everyMinute
    M_Aqara_KinderzimmerAqaraTemperature : strategy = everyMinute
    M_Aqara_SchlafzimmerAqaraTemperature : strategy = everyMinute
    M_Aqara_WintergartenTemperaturTemperature : strategy = everyMinute
    M_Aqara_WohnzimmerTemperaturTemperature : strategy = everyMinute
    M_Persist_Notify : strategy = everyUpdate
    //M_TrocknerPowerStrom : strategy = everyChange
    //M_TrocknerPowerPower : strategy = everyChange
}
Diese scheint aber überhaupt nicht berücksichtigt zu werden, stattdessen ballert OpenhabHab meine Datenbank zu. Wie es aussieht auch in der Strategie everychange, denn meine Wallbox und ein paar andere Dinge ändern quasi jede Sekunde den Zustand.

Kennt jemand das Problem?

Beste Grüße
Bernhard

Re: Nach Update auf OH3 | MySQL Persistence speichert zuviel

Verfasst: 18. Jun 2021 19:26
von udo1toni
Hast Du eventuell ausschließlich jdbc-mariaDB als Persistence installiert und diese als default Persistence ausgewählt?

Re: Nach Update auf OH3 | MySQL Persistence speichert zuviel

Verfasst: 18. Jun 2021 19:49
von sonic
ja genau.

scheint falsch zu sein?

Re: Nach Update auf OH3 | MySQL Persistence speichert zuviel

Verfasst: 18. Jun 2021 21:00
von udo1toni
:) Ich weiß es nicht sicher, aber meine bisherigen Erkenntnisse:

Wenn KEINE Persistence eingerichtet ist, nutzt openHAB3 automatisch rrd4j und persistiert ALLE Items in rrd4j.
Wenn EINE Persistence eingerichtet (und als Default definiert) ist, nutzt openHAB3 diese und persistiert ALLE Items.
Wenn mehr als eine Persistence eingerichtet ist, nutzt openHAB3 die Default Persistence und persistiert alle Items. die anderen Persistences werden wie bisher über die *.persist Dateien gesteuert.

Kann aber auch sein, dass ich den Mechanismus falsch wiedergebe, mein Produktivsystem ist immer noch 2.5, ich habe keinen Druck umzusteigen... Die OH3-Instanzen verwende ich also bisher nur zum Spielen (und um die Coronazahlen für mich selbst aufzubereiten... da gibt es ja auch ein Binding)

Mein Tipp wäre also, richte zusätzlich rrd4j ein und setze dies als Default Persistence. Starte openHAB evtl. neu (oder beende es, lösche alle Tabellen in der MariaDB und starte dann neu)

Re: Nach Update auf OH3 | MySQL Persistence speichert zuviel

Verfasst: 19. Jun 2021 17:57
von sonic
Hallo zusammen,

ich habe es mal auf getestet. Persistence gelöscht. Dann rrd4j Installiert und als Default definiert. .... Neustart...
Die ganzen Dateien werden angelegt und pumpen ZRam zu. Also ZRam deinstalliert. .... Neustart....
Weiterhin persistiert Openhab jetzt ALLE Items mittels rrd4j.

Jetzt die MariaDB Persistence installiert. Und es geht direkt los, die SQL Datenbank wird ebenso vollgepumpt. Leider scheint hier die Datei mariadb.persist nicht zu greifen und es wird gnadenlos ALLES persistiert.

Schon kurios irgendwie. (Nach dem Install von MariaDB und Neustart stand rrd4j noch immer auf Default)

Re: Nach Update auf OH3 | MySQL Persistence speichert zuviel

Verfasst: 21. Jun 2021 00:10
von udo1toni
Du musst, wenn, eine Datei jdbc.persist verwenden.

Re: Nach Update auf OH3 | MySQL Persistence speichert zuviel

Verfasst: 21. Jun 2021 14:42
von sonic
udo1toni hat geschrieben: 21. Jun 2021 00:10 Du musst, wenn, eine Datei jdbc.persist verwenden.
:lol: :lol: :lol:
Das ist die Lösung des ganzen Problems. War wohl ein Denkfehler meinerseits. So funktioniert es auch mit nur einer Installierten Persistence.

Vielen Dank :-)