Neben der beliebten rrd4j Datenbank bietet openHAB noch einige andere Dienste an, mit denen Daten gespeichert werden können. Am bekanntesten dürfte mySQL sein. Allerdings stellt openHAB hier keine komplette Datenbanklösung zur Verfügung, sondern nur die „Schnittstelle“. Solltest du zufällig eine Synology NAS im Einsatz haben, kannst du dort eine mySQL Datenbank installieren. Wie das funktioniert, erfährst du hier.

mySQL Datenbank Persistence in openHAB installieren

Die Installation in openHAB läuft gewohnt schnell ab. Über die Paper UI navigierst du zu Add-ons -> Persistence -> MySQL. Mit einen Klick auf Install installierst du den Service.

mySQL Datenbank Service openHAB installieren

mySQL Datenbank Service openHAB installieren

Damit ist die Installation erst einmal abgeschlossen. Im nächsten Schritt geht es an die Konfiguration. Hierzu musst du dich mit openHAB verbinden und mit dem VS Code Editor die Datei mysql im Ordner „Services“ bearbeiten. Diese sieht in etwa so aus:

Hier gibst du die Daten deiner Datenbank ein, damit sich openHAB mit dieser verbinden kann.

url
Pfad zur Datenbank. In meinem Fall der Pfad zum NAS, auf dem die Datenbank liegt. :3307 steht für den Port. Bei einer Maria DB ist dieser 3307, bei einer „echten“ mySQL Datenbank 3306. /openhab steht für den Namen der Datenbank, den du vergeben hast.

user
Hier gibst du den Benutzernamen an, der benötigt wird, um auf die Datenbank zuzugreifen.

password
Das Passwort, um auf die Datenbank zuzugreifen.

waitTimeout
nach dieser Zeit wird die Verbindung zur Datenbank geschlossen, sofern in der Zwischenzeit keine Aktion ausgeführt wird.

 

Werte von Items speichern

Damit openHAB Daten in der mySQL Datenbank speichern kann, muss openHAB noch wissen, welche Items gespeichert werden sollen und in welchem Intervall. Dazu legst du im Ordner „persistence“ die Datei mysql.persist an.

Unter Strategies wird angegeben in welchen Intervallen Daten gespeichert werden. Die wichtigsten findest du oben im Beispielcode (minütlich, stündlich, täglich und bei jedem Wechsel eines Wertes). Du kannst natürlich noch weitere hinzufügen indem du Cron Expressions benutzt.

Unter Items werden die Items angegeben, die du in der mySQL Datenbank speichern möchtest.
Name des Items : strategy = Intervall der Speicherung, restoreOnStartup.

restoreOnStartup bedeutet, dass der letzte gespeicherte Wert beim Neustart des Systems wiederhergestellt wird. Das ist vor allem Sinnvoll bei dem Status eines Schalters.

Das war es schon. Ab sofort sollten die ersten Daten in deiner mySQL Datenbank gespeichert werden.

Charts anzeigen

Sofern du mySQL als einzigen oder Default Datenbankservice in openHAB nutzt, werden die Daten direkt in deinem Chart angezeigt, welches du in der Sitemap erstellst. Ist dein Standarddienst allerdeings nicht mySQL, musst du dem Chart den gewünschten Datenservice mitgeben.

mit service=mysql weiß das Item in der Sitemap, dass die Daten bei mySQL zu holen sind.

Viel Spaß beim Speichern deiner Daten 🙂