jdbc persistence mysql

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
StephanT
Beiträge: 12
Registriert: 1. Jan 2021 21:03
Answers: 0

jdbc persistence mysql

Beitrag von StephanT »

Hallo,

ich versuche eine Mysql-DB an openhab3 anzubinden und nutze dazu das Binding "jdbc persistence mysql".
Auf einem 2. Server läuft die Mysql-Datenbank und die Berechtigungen sind für den Benutzer openhabian gesetzt. Tabellen sind in der DB nicht angelegt.
Auf dem Openhab-Raspi habe ich die Dateien jdbc.persist und und jdbc.cfg angelegt und mit den notwendigen Daten versehen.

jdbc.cfg:
url=jdbc:mysql://192.168.1.101:3306/openhab
user=openhabian
password=openhabian


jdbc.persist:
Strategies {
everyMinute : "0 * * * * ?"
everyHour : "0 0 * * * ?"
everyDay : "0 0 0 * * ?"
default = everyChange
}
Items {
KostalInverter_YieldDay : strategy = everyMinute, restoreOnStartup
Wetterinformationen_Aussentemperatur : strategy = everyHour, restorOnStartup
}

Ich habe auch noch eine mysql.persist angelegt, die inhaltlich der jdbc.persist entspricht.

In die Datenbank werden aber leider bisher keine Daten geschrieben. :x

Muss ich in der Dabenbank noch Tabellen anlegen oder legt Openhab die erforderliche Struktur in der Datenbank über die Schnittstelle selbst an.

Da dies meine ersten Versuceh mit Openhab und einer mysql-DB sind, wäre ich für Tipps dankbar.

VG Stephan
openHAB 4.1.2 auf Raspberry

Horschie
Beiträge: 21
Registriert: 4. Aug 2019 16:27
Answers: 0

Re: jdbc persistence mysql

Beitrag von Horschie »

Servus,

der Datenbankzugriff ist bei mir komplett im grafischen Openhab-Admin-Tool konfiguriert,
eine DAtei gibt es bei mir dazu nicht.


Grüße

StephanT
Beiträge: 12
Registriert: 1. Jan 2021 21:03
Answers: 0

Re: jdbc persistence mysql

Beitrag von StephanT »

Hallo,

da dies mein erster Versuch ist, bin ich nach Anleitungen im Netz vorgegangen.

In der graphischen Oberfläche habe ich unter Einstellungen-Addons-Persistence das JDBC Persistence MySQL-Binding installiert.
Das ist auch das einzige Persistence-Binding.
Unter Systems Services-Persistence ist nur jdbc vorhanden.
Unter Other services - JDBC Persistence Service habe ich die Zugangsdaten zum MySQL-Server eingetragen, incl. Nutzer und Passwort.
Sollte ich jetzt die obigen Konfigurationsdateien löschen, oder müssen die zusätzlich vorhanden sein?
Woher weiß das System welche Daten und wann in die Datenbank geschrieben werden sollen?

VG Stephan
openHAB 4.1.2 auf Raspberry

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

Re: jdbc persistence mysql

Beitrag von udo1toni »

Die Dateien kannst Du einfach löschen.
Was die persistierten Daten betrifft, so habe ich bisher noch keine Stelle gefunden, wo man das konfigurieren kann... ;)
Meine Vermutung ist: wenn keine jdbc.persist Datei vorhanden ist, werden alle Items mit everyChange (oder evtl. everyUpdate) persistiert.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

StephanT
Beiträge: 12
Registriert: 1. Jan 2021 21:03
Answers: 0

Re: jdbc persistence mysql

Beitrag von StephanT »

Hallo,

ich habe nun beide Dateien gelöscht.
Dennoch werden keine DAten in der DB gespeichert.
Wenn ich per phpmyadmin auf die DB schaue, ist sie leer. Es sind keine Tabellen oder Datenfelder angelegt.
Muss ich evtl. noch Tabellen anlegen, damit darin Daten gespeichert werden können.
Im openhab log erkennt man, dass die Daten aus den Geräten ausgelesen werden. Von einer Speicherung in der DB ist allerdings ncht zu sehen:

2021-06-08 09:37:38.379 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'KostalInverter_ACPower' changed from 4066 W to 3876 W
2021-06-08 09:37:38.388 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'KostalInverter_YieldDay' changed from 4.49 kWh to 4.56 kWh
2021-06-08 09:38:38.697 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'KostalInverter_ACPower' changed from 3876 W to 4280 W
2021-06-08 09:38:38.709 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'KostalInverter_YieldDay' changed from 4.56 kWh to 4.62 kWh
2021-06-08 09:39:39.016 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'KostalInverter_ACPower' changed from 4280 W to 4316 W
2021-06-08 09:39:39.025 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'KostalInverter_YieldDay' changed from 4.62 kWh to 4.69 kWh
2021-06-08 09:40:39.400 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'KostalInverter_ACPower' changed from 4316 W to 4180 W
2021-06-08 09:40:39.410 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'KostalInverter_YieldDay' changed from 4.69 kWh to 4.76 kWh

Von daher gehe ich davon aus, dass keine Daten gespeichert werden.

Muss das Speichern an anderer Stelle initialisiert werden?
openHAB 4.1.2 auf Raspberry

StephanT
Beiträge: 12
Registriert: 1. Jan 2021 21:03
Answers: 0

Re: jdbc persistence mysql

Beitrag von StephanT »

Asche auf mein Haupt,

ich habe die ganzen logs nochmals durchsucht und einen acces denied gefunden. Der User hatte eine falsche Berechtigung.
Jetz läuft's.

Danke für eure Hilfe.
openHAB 4.1.2 auf Raspberry

Antworten