Synology + Openhab2 + MQTT => Persistenz

Gast #5961741
Lesenswert?

Hallo,

ich habe ein paar ESP8266 mit unterschiedlichen Aufgaben versehen 
(Zisterne Füllstand, Gartenbewässerung, Torsteuerung, ...) und alles 
mittels MQTT Kommunikation.

Da ich das Ganze irgendwann in Openhab integrieren möchte, habe ich 
Openhab2 auf meiner neuen Synology installiert und den internen Openhab 
MQTT Broker verwendet.

Alles super soweit, kenne den aktuellen Stand der Zisterne, kann die 
Bewässerung einschalten etc.

Nun fehlt mir nur noch historische Daten. D.h. ich würde gerne den 
Füllstand der Zisterne zyklisch in eine Datenbank schieben (MariaDB auf 
der Synology).

Leider finde ich keinen Client (ähnlich OPC) mit dem ich die Daten 
speichern kann. Google findet auch nix dolles, PHP Skripte und was weiss 
ich noch alles. Weiteren ESP mit DB inserts ist eigentlich auch nicht 
das was ich suche.

Kennt jemand eine elegante Methode/App für die Synology um auf Topics zu 
horchen und in eine DB zu schreiben?

Danke und Gruß
Jörg
Gast #5961757
Lesenswert?

Wenn Du Dir Stress ersparen willst (Was ist mit Disconnects, Reconnects, 
Retained Messages, Performance, etc.), dann machst Du das nicht über die 
zunächst naheliegende Lösung, einen Wildcard-Subscriber alle Topics in 
eine Datenbank schreiben zu lassen.
Nimm besser etwas Integriertes. Geht dann halt nur mit einem anderen 
MQTT Broker. In HiveMQ z.B. kannst Du das mit einem Plugin lösen und 
bist die genannten Probleme alle los.
Mittels Docker hast Du auf der Synology auch keinen Stress, einen 
anderen Broker darauf laufen zu lassen.
Gast #5961787
Lesenswert?

Christian schrieb:
> Hallo,
>
> openHab hat selber eine Möglichkeit zur Speicherung von Item-Werten in
> einer Datenbank:
>
> https://www.openhab.org/docs/configuration/persistence.html
>
> Anhand deiner Beschreibung hättest Du schon alle Komponenten
> installiert.
>
> Soweit ich weis, kann man die Daten dan auch wieder auf dem habPanel
> visualisieren.
>
> Viele Grüße
> Christian

Ich glaube ich verstehe den Ansatz.
Da ich bisher OpenHab nicht nutze (nur der MQTT Broker ist aktiv), hab 
ich nicht daran gedacht "Items" zu persistieren.

D.h ich definiere Items, zeige die Werte in Openhab an und nutze die 
Persistenz-Mechanismen von Openhab. Hatte die MQTT Persistence gesehen, 
aber die scheint mir nicht eine Zeitreihe zu erstellen. Mit den Items 
könnte es gehen.

Werde das mal ausprobieren. Ansonsten schaue ich mir mal Docker mit 
HiveMQ an.

Besten Dank und Grüße
Jörg
Gast #5961875
Lesenswert?

das weiterleiten von Werten aus MQTT in eine DB geht auch mit NodeRed 
ganz gut. Auf OpenHAB Items kann soweit ich weiss auch aus NodeRed 
zugegriffen werden, dafür gibts auch fertige Nodes. Für eine Historie 
ohne DB braucht man nur einen Node und ein paar Parameter, dann kann man 
das sofort über ein eingebautes WebUI anzeigen.
Für Zeitbasierte Speicherung gibts dann noch spezielle DB wie InfluxDB, 
die sind genauso leicht einzubinden.
Eine einfache MQ ist erstmal nur für die Verteilung von Nachrichten 
zuständig, nicht für die Speicherung.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren