Seite 1 von 1

OH3 mit mariadb verbinden

Verfasst: 28. Mai 2021 15:33
von schultzi007
Hallo,
Bei mir läuft OH3 in einem Docker-Container; ebenso wie die MariaDB.
Alle versuche verschieden Daten persistent zu machen scheitern :( .
Die jdbc.cfg ;

Code: Alles auswählen

url=jdbc:mariadb://127.0.0.1:3306/OH3?useSSL=false
user=$User
password=$PW
# tableNamePrefix=Item
tableUseRealItemNames=false
tableIdDigitCount=5
rebuildTableNames=false
#enableLogTime=true
und die jdbc.persist:

Code: Alles auswählen

Strategies {
  every10Minutes: "*/10 * * * *"
  every15Minutes: "*/15 * * * *"
  every1houre   : "0 * * * *"
  default = everyChange

}

Items {
    gruppe_persistenz_laden* : strategy = restoreOnStartup
    gruppe_persistenz_1h_speichern* : strategy = every1houre
    gruppe_persistenz_10m_speichern* : strategy = every10Minutes
    gruppe_persistenz_PV* : strategy = every15Minutes
}
Die logs von Mariadb zeigten mal:

Code: Alles auswählen

[ERROR] Invalid (old?) table or database name 'mysql.sock'
an; nach dem Neustart der Container (openhab und mariadb) aber keine weiteren Fehler.
Nachdem mir quasi nur noch die Persistent mit mariadb fehlt, hoffe ich, dass mir hier einer helfen kann.

Re: OH3 mit mariadb verbinden

Verfasst: 28. Mai 2021 21:09
von udo1toni
Ich möchte stark bezweifeln, dass MariaDB und openHAB sich einen Container teilen. Sollte das doch der Fall sein, so solltest Du das dringend ändern, aber wie gesagt, ich bezweifele, dass es so ist.
Mein Punkt dabei: jeder Container hat (zwingend) eine eigene IP, die auch alle Anwendungen in dem Container erben.
Damit MariaDB und openHAB miteinander sprechen können, müssen sie sich im selben Netzsegment befinden (oder der Datenverkehr muss zwischen beiden Netzsegmenten geroutet sein). openHAB muss von externen Systemen erreichbar sein (also z.B. das im WLAN eingebuchte Smartphone), das heißt, openHAB muss eine Adresse im LAN haben. Damit openhAB und MariaDB miteinander sprechen können, muss der MariaDB Container ebenfalls eine IP aus dem LAN haben. Das heißt, beide Container müssen im Host Mode laufen. openHAB hat dann z.B. die 192.168.178.55 und MariaDB hat die 192.168.178.57. Diese Adresse musst Du dann in openHAB eintragen.

Re: OH3 mit mariadb verbinden

Verfasst: 30. Mai 2021 12:24
von schultzi007
Vielen Dank für deine Antwort!
Bei mir laufen die Container alle separat. MariaDB ohne traefik, die anderen auch OH3 hinter traefik.
Das funktioniert auch mit DB-Zugriff (NextCloud). Ich versuche noch die Fehlermeldungen im OH3 log als auch die logs in der mariaDB zu verstehen.
Z.Z. glaube ich das der Container mariaDB noch unsauber läuft, was vielleicht daran liegt, das ich die mariadb server version 10.5 installiert habe?!
Vorerst versuche ich noch den Fehler auf Seite des mariaDB-Container zu beheben bzw. es mit der 10.4 Version zu versuchen.

Re: OH3 mit mariadb verbinden

Verfasst: 30. Mai 2021 18:18
von udo1toni
Nein, die Version von MariaDB sollte so ziemlich egal sein. Wichtig ist, dass Du die korrekten IP-Adressen einträgst, 127.0.0.1 oder localhost ist dabei halt definitiv falsch.

Re: OH3 mit mariadb verbinden

Verfasst: 31. Mai 2021 19:51
von schultzi007
So, nun läuft das Ganze (fast). Die Datenbank ist über die interne IP des dafür zuständigen Netzwerkes eingetragen. So ist die mariadb vom normalen lokalen Netzwerk zwar nicht erreichbar, aber dafür auch was sicherer.
Die OH3-Version funktioniert auch ohne Host-Mode, die 2.5.9 leider nicht, da hatte ich mir ja extra das Buch von der Marianne Spiller zu gekauft.
Was aber auf einmal nicht mehr funktioniert ist das Binding bzw. das Thing der TR-064 für die Fritzbox. Alle anderen ( Shelly, Netatmo und Kostal Inverter) laufen problemlos; aber das ist ja nicht der Gegenstand diesen Threat.
Vielen Dank nochmal für die Unterstützung. Ich suche mal nach dem TR-064 Themen.