mikrocontroller.net

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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Jörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: TestX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein MQTT Client als Script (oder in Docker) auf dem NAS...

Autor: Jörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: John Doe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johannes S. (jojos)
Datum:

Bewertung
0 lesenswert
nicht 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.

: Bearbeitet durch User
Autor: Shellfishgene (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.