Seite 1 von 1

Persistence mit der Möglichkeit Strings zu speichern ohne MySQL

Verfasst: 6. Nov 2022 14:46
von sonic
Hallo zusammen,

ich nutze OH3 in Verbindung mit der MySQL Persistence. Leider funktioniert diese absolut nicht zuverlässig. Es kommen ständig Fehlermeldungen, keine Verbindung zur DB obwohl alles korrekt konfiguriert ist. (Fehler sind ja bekannt, Internet ist voll mit Problemen bei OH und MySQL).

Ich speicher allerdings gerne Strings mit ab.
Zum Beispiel wenn definierte Türen geöffnet werden oder Bewegungen registriert werden. Dies habe ich bis dato einfach in einer RULE abgefangen und ein String Item mit dem passenden Text versehen und geupdatet. In der Persistence definiert mit everyUpdate und alles wurde in die SQL geschrieben. So konnte ich komfortabel via PHP das ganze auf einer Seite wieder ausgeben.

Gibt es eine andere Möglichkeit, zuverlässig auch Strings weg zu speichern ohne MySQL?

InfluxDB soll ja mit OH gut funktionieren, so zumindest meine Recherche. Meine Idee wäre es jetzt, das vorherige String Item nicht als String sondern als Number weg zu speichern (influx kann ja keine strings richtig?). Also bekommt jede Aktion eine entsprechende Nummer, diese kann ich ja dann aus InfluxDB auslesen und mit dem vordefinierten Text wieder verknüpfen. (müsste ja in php irgendwie möglich sein).
Allerdings fühlt sich das eher als verzweifelter Workaround an. Hätte jemand hier vielleicht eine schlauere Idee das umzusetzen?

Liebe Grüße
Bernhard

Re: Persistence mit der Möglichkeit Strings zu speichern ohne MySQL

Verfasst: 6. Nov 2022 17:00
von udo1toni
Also, ich kann diese Probleme mit MySQL nicht nachvollziehen. Ja, es gibt massig Berichte, es gibt auch massig Berichte über Erfolge, so what.

Die wichtigsten Punkte bei einer Datenbankverbindung: Genug RAM für die Datenbank. Genug Prozessorzeit. Richtige Version - sowohl, was die Datenbank betrifft als auch - besonders - was die Anbindung in openHAB betrifft. openHAB muss natürlich auch genug RAM haben :) und dann kommt es noch auf die Datenmenge an.

Welche Persistence verwendest Du? MySQL? Besser wäre JDBC.
Handelt es sich wirklich um MySQL, oder vielleicht doch MariaDB? Die Unterschiede zwischen beiden erschließen sich wohl nur absoluten Datenbanknerds, aber in openHAB (jdbc Persistence) gibt es extra eine andere Version für MariaDB, ich denke nicht, dass der einzige Unterschied der verwendete Name ist... :)

Ansonsten unterstützt InfluxDB sehr wohl auch Strings, allerdings nicht als measurement. Ich bin mir nicht sicher, ob das openHAB Addon Strings pasend umsetzen kann, damit statt measurements tags gesetzt werden.