Synology + Openhab2 + MQTT => Persistenz

Gast #5961741
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
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
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
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

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.