Forum: Haus & Smart Home MQTT broker auf Teensy4


von Horst S. (h3aau)


Lesenswert?

moin, bei mir schlägt demnächst ein HM-1500 mit openDTU auf.
da dieser dann daten an einen MQTT-broker senden kann würde ich diese 
gern auf meinem hauseigenen datenlogger sammeln. dieses ist ein 
teensy4.1 der bereits alles über meine heizung und allen sonstigen kram 
mit schreibt und diese als dateien und im browser bereit stellt.
hat schon mal einer sowas gemacht?
wie ist so ein mqtt-paket aufgebaut?
den kompletten brocker muss ich hoffentlich nicht in den teensy stopfen.

von Rainer W. (rawi)


Lesenswert?

Horst S. schrieb:
> wie ist so ein mqtt-paket aufgebaut?

Was meinst du mit "mqtt-paket" - irgendeine Sammlung von Quellcodes oder 
das Übertragungsformat der Daten?

von Horst S. (h3aau)


Lesenswert?

moin rainer.
ich würde am liebsten das was der openDTU an den MQTT-broker sendet mit 
dem teensy auswerten.

von J. S. (jojos)


Lesenswert?

soll jetzt der broker oder ein Client auf dem Teensy laufen? Client ist 
kein Problem, dafür gibt es Libs die Topics publishen/subsriben können. 
Der Broker gehört eher auf einen Server, so mindestens Raspberry Pi 
Klasse.
Was nicht heißt das es das vielleicht doch für µC gibt.

von Horst S. (h3aau)


Lesenswert?

der teensy soll die daten vom opendtu entgegen nehmen und abspeichern.
ich brauche aber keinen vollständigen broker auf dem tennsy.
hat wer ein hexdump von dem was der opendtu da so sendet?

von J. S. (jojos)


Lesenswert?

das MQTT Protokoll ist öffentlich dokumentiert. Aber für eine Punkt zu 
Punkt Verbindung würde ich eher eine einfache TCP connection in openDTU 
einbauen. Bzw nein, meinen mosquitto nutzen. Das MQTT ist so praktisch 
einfach und gut, da braucht man einfach einen (kleinen) Rechner als 
Broker. Und auf dem Rechner macht die Auswertung und Ablage in DB mehr 
Spaß. Der Teensy wäre dann ein Client der die Daten schön auf einem 
Display anzeigen könnte. Aber jeder wie er mag.

https://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html

Der Charme liegt in den m:n Verbindungen. Du kannst die Daten nicht nur 
von openDTU empfangen, sondern z.B. auch von einem Programm das die 
Daten simuliert. Der Teensy abonniert ein Topic und bekommt die Daten, 
egal von wem. Eben von jedem der auf dieses Topic schreibt. Und dafür 
braucht es die Zentrale, den Broker.
Damit ist das gut zu debuggen, es gibt universelle Clients die alle oder 
gewünschte Topics anzeigen, sogar auf dem Smartphone/Tablet.

: Bearbeitet durch User
von Sebastian W. (wangnick)


Lesenswert?

Bei mir läuft mosquitto auf dem zentralen OpenWRT-Router als Broker. Ein 
Teensy ist Gateway zwischen MQTT und CAN-Bus, dort benutze ich die 
pubsubclient Bibliothek (von mir leicht aufgebohrt um darüber auch neue 
Software verteilen zu können).

LG, Sebastian

von Horst S. (h3aau)


Lesenswert?

moin, danke für die infos.
da das mqtt-packet wirklich nicht so wild ausschaut werde ich dann doch 
einen mini-broker in den teensy progen. daten empfangen auf dem port 
1883 geht schon mal. nun muss ich die nur noch zerlegen und meine werte 
rausholen. der opendtu sendet mir eine status information. hatt wer 
zufällig einen hm-1500 laufen und kann mir mal zeigen wie der 
datenaufbau im orginal ist? mein  hm-1500 befindet sich noch auf der 
reise.

: Bearbeitet durch User
von J. S. (jojos)


Lesenswert?

Die Daten kommen von openDTU, damit musst du kommunizieren. Für den HM 
gibt es auch einen Simulator, Link ist im openDTU Repo.
Wenn man keinen Broker nutzen möchte kann man ja das nRF Modul auch 
direkt an den Teensy hängen.
Im openDTU Quellcode kann man ja auch die Topics sehen über die 
kommuniziert wird, das kann man mit Broker und Testclient auch 
simulieren.

: Bearbeitet durch User
von Horst S. (h3aau)


Lesenswert?

von dem opendtu kommen folgende daten:
MQTT>|
:_MQTT214__OpenDTU-9635288_solar/dtu/status_offline____
10 3A 5F 4 4D 51 54 54 4 D6 5F F 5F F 4F 70 65 6E 44 54 55 2D 39 36 33 
35 32 38 38 5F 10 73 6F 6C 61 72 2F 64 74 75 2F 73 74 61 74 75 73 5F 7 
6F 66 66 6C 69 6E 65 5F 5F 5F 5F
|<MQTT
weiss irgend wer wie das bei einem vorhandenem hm-1500 ausschaut?
das zu zerlegen ist ja kein problem.

die 5F sind 0x00
und die 214 hinter "MQTT" sind in dezimal dargestellt.

: Bearbeitet durch User
von Horst S. (h3aau)


Lesenswert?

mal ein kleiner zwischen bericht:
die openDTU sendet an meinen teensy ihre mqtt-sachen.
verbndung zwischen beiden ist stabil.
auswerten der daten recht einfach (es lebe mqtt).
der teensy stellt sie im minutentakt als chart und tägliche csv-datei 
bereit.
nun fehlt nur noch der hm-1500.

: Bearbeitet durch User
von Horst S. (h3aau)


Lesenswert?

moin,
mein HM1500 ist endlich eingetrudelt. ich habe die pv mit einem panel 
aufgebaut und am laufen. nun hat sich gezeigt das der hm1500 nach 
sonnenuntergang die verbindung zum dtu kappt und morgens leider nicht 
von selbst wieder aufbaut. hat da wer erfahrung mit?

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.