Forum: Haus & Smart Home Synology + Openhab2 + MQTT => Persistenz


von Jörg (Gast)


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

von TestX (Gast)


Lesenswert?

Ein MQTT Client als Script (oder in Docker) auf dem NAS...

von Jörg (Gast)


Lesenswert?

Ja

TestX schrieb:
> Ein MQTT Client als Script (oder in Docker) auf dem NAS...

Ja vielen Dank. Hast du da Beispiele, links oder Informationen?

von John Doe (Gast)


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.

von Christian (Gast)


Lesenswert?

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

von Jörg (Gast)


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

von Johannes S. (Gast)


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.

von Shellfishgene (Gast)


Lesenswert?

Verwende zwar HomeAssistant, aber die beliebte Kombination von InfluxDB 
und Grafana scheint auch fuer OpenHab zu funktionieren:
https://community.openhab.org/t/influxdb-grafana-persistence-and-graphing/13761
InfluxDB und Grafana hab ich in einem Docker Container auf der Synology 
laufen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.