MQTT und Tasmota

Hier bitte alles rein was Off-topic ist.

Moderatoren: Cyrelian, seppy

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: MQTT und Tasmota

Beitrag von Darkwin101 »

Du musst also eine JSON Abfrage machen wie das in deinem genutzten App aussieht kann ich jetzt nicht genau sagen der JSON Path sieht aber in etwa so aus
tele/werkstatt/SENSOR = stateTopic
und der JSONPATH
SHT3X-0x44.Temperature = Temperatur
SHT3X-0x44.Humidity = Luftfeuchtigkeit

Benutzeravatar
udo1toni
Beiträge: 13860
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: MQTT und Tasmota

Beitrag von udo1toni »

So ist es. Hier noch mal zur Erklärung:

Man kann sich MQTT als Verzeichnisbaum vorstellen. Wenn man mit den Standardwerten von Tasmota arbeitet, ergibt sich ein Baum mit drei Hauptästen, eben stat/, cmnd/ und tele/
Die nächste Verzweigung ergibt sich aus dem Topic des Devices, das ist also quasi der Identifier für das Device, in Deinem Fall eben werkstatt/temp_sensor/.
Darunter gibt es noch eine weitere Verzweigung, die den Bezug zum Kommando oder Art des Status usw. darstellt. Da es um einen angeschlossenen Sensor geht, ist das SENSOR.
Zusammen ergibt sich daraus das Full Topic tele/werkstatt/temp-sensor/SENSOR/
Dieses Topic hat ein Payload (das ist der Inhalt des Topics), dieses Payload hat in mqtt oftmals das Format JSON.
Aufgehübscht sieht das dann so aus:

Code: Alles auswählen

{
    "Time": "2021-02-02T18:40:56",
    "ANALOG": {
        "A0": 594
    },
    "SHT3X-0x44": {
        "Temperature": 35.5,
        "Humidity": 22.1,
        "DewPoint": 10.6
    },
    "TempUnit": "C"
}
In dieser Form kann man sehr schön erkennen, dass auch diese Daten wieder einer Baumstruktur entsprechen. Zum Entlanghangeln am Ast verwendet man dann JSONPATH.
Du musst also die JSONPATH Transformation installieren, um sie nutzen zu können. Dann trägst Du die Transformation ein. Der Start (also die Wurzel) ist immer das $, jede Hierarchieebene wird mit einem . dargestellt, daraus ergibt sich dann
$.SHT3X-0x44.Temperature für die Temperatur und JSONPATH liefert dann 35.5 als Wert zurück.

Leider ist noch nicht ganz klar, mit welcher Version von openHAB Du arbeitest, das ist nicht ganz unwichtig, wenn es darum geht, wo Du JSONPATH konfigurierern musst. Die anzugebende Zeile lautet jedenfalls für die Temperatur

Code: Alles auswählen

JSONPATH:$.SHT3X-0x44.Temperature
es ist also der Service vornanzustellen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

onki
Beiträge: 7
Registriert: 1. Feb 2021 17:45

Re: MQTT und Tasmota

Beitrag von onki »

Hallo,

danke für eure Hilfe.
Werde das am Wochenende mal ausprobieren.
Aktuell nutz ich gar kein OpenHAB sondern nur Tasmota-Steckdosen / Sensoren und einen lokalen Broker (Mosquitto) auf dem NAS.
OpenHAB würde nötig werden, wenn meine Max! Heizkörpersteuerung auch noch migriert werden sollte.

Gruß
Onki

onki
Beiträge: 7
Registriert: 1. Feb 2021 17:45

Re: MQTT und Tasmota

Beitrag von onki »

Hallo,

So - es hat geklappt. Ich sehe die Sensordaten. Der Sensor (AZ-Delivery Envy) ist leider eine Fehlkonstruktion, sodass die Temperatur und Luftfeuchtedaten unbrauchbar sind. Der beheizte Gassensor liegt zu nahe am Temperatursensor und verfälscht die Messung massiv.

Trotzdem danke für eure Hilfe. Das hat mir den Durchblick etwas erleichtert.

Da ich noch Max! Thermostate nutze, überlege ich OpenHAB hierfür einzusetzen, damit der Max-Cube in Rente kann.

Gruß
Onki

KdAaIchs
Beiträge: 11
Registriert: 20. Feb 2024 11:44

Re: MQTT und Tasmota

Beitrag von KdAaIchs »

Hallo, bin neu hier. Habe mir ein Tasmota ESP8266 ESP-01 RS232 to WLan Modul Bausatz RS232 to WiFi Module Kit Set gekauft. Damit möchte ich meine heizung auslesen über die RS232 Tx und Rx.
ich habe mir auch den MQTT.fx geladen und installiert, dazu den MQQT Explorer. Das funktioniert auch mit der kommunikation zwischen fx und explorer. ich kann sehen das der Tasmota versucht zu Verbinden, klappt aber nicht. im MQTT Explorer kann ich sehen das jedes mal wenn er Versucht verbindung auf zunehmen eine message erzeugt. kann mir bitte jemand einen Tipp geben wie ich das zum laufen bekomme.

Code: Alles auswählen

00:00:00.002 HDW: ESP8266EX
00:00:00.050-035 CFG: aus Flash geladen von F8, Anzahl 258
00:00:00.056-035 QPC: Count 1
00:00:00.062-035 Projekt ESP-OS - EI-OT Modul Version 110.00.1(tasmota)-2_7_4_9(2022.05.14 05:28:57)
00:00:00.072-035 RSL: RESULT = {"SerialReceived":"\n00:00:00.002 HDW: ESP8266EX"}
00:00:00.083-035 RSL: RESULT = {"SerialReceived":"\n00:00:00.050-035 CFG: aus Flash geladen von F8, Anzahl 258"}
00:00:00.193-035 RSL: RESULT = {"SerialReceived":"\n"}
00:00:04.471-035 WIF: verbinden mit AP1 FRITZ!Box7590MSK Channel 1 BSSId 48:5D:35:B6:78:C3 in Modus 11n als MQTT-FX-Client-2656-2656...
00:00:05.752-034 WIF: verbunden
00:00:06.004-032 HTP: Web-Server aktiv bei MQTT-FX-Client-2656-2656 mit IP-Adresse 192.168.178.33
00:00:06.537-032 QPC: Reset
00:00:08.663-030 MQT: Verbindungsversuch...
00:00:08.666-030 MQT: Verbindung fehlgeschlagen aufgrund von 127.0.0.1:1883, rc -2. Wiederversuch in 10 s

Benutzeravatar
udo1toni
Beiträge: 13860
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: MQTT und Tasmota

Beitrag von udo1toni »

Herzlich willkommen im openHAB Forum!

Die gezeigte Ausgabe stammt mutmaßlich aus der Tasmota Konsole?

Du musst in Tasmota die korrekte IP-Adresse zum MQTT Broker eintragen.
127.0.0.1 ist der localhost loop, das heißt das ist die lokale Schnittstelle des Geräts selbst.

Du brauchst für MQTT zunächst mal einen Broker, meist verwendet man hier mosquitto, weil kostenlos und frei verfügbar, außerdem lässt er sich in den meisten GNU/Linux Distributionen direkt aus dem Paketmanager installieren.
MQTT.fx und der MQTT Explorer sind beides sogenannte Sniffer, Du brauchst nicht beide. Meine Empfehlung geht zum MQTT Explorer, zum einen weil er direkt über den Microsoft Store installiert werden kann und so auch Updates automatisch auf Deinem Rechner landen können (das ist ein nicht zu unterschätzender Vorteil von Paketmanagern), zum anderen ist die Oberfläche nach meinem Geschmack sehr aufgeräumt und kommt ohne großen Schnickschnack aus. Wenn Dir MQTT.fx besser gefällt, kannst Du natürlich auch damit arbeiten.
Egal welchen Sniffer Du verwendest, auch dieser muss sich mit dem Broker verbinden. Falls Du den MQTT Broker lokal auf Deinem Desktop installiert hast, ist dann tatsächlich 127.0.0.1 zulässig, aber halt nicht auf dem Tasmota Device, denn dort läuft keinesfalls ein Broker, sondern lediglich ein MQTT Client.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

KdAaIchs
Beiträge: 11
Registriert: 20. Feb 2024 11:44

Re: MQTT und Tasmota

Beitrag von KdAaIchs »

Hallo, danke. fürs Willkommen.

Hätte nicht gedacht das DU so schnell anwortest. Klar habe ich mosquitto laufen, habe ich vergessen zu erwähnen.
finde auch das der explorer besser ist. aufgeräumter und klarer.
Zwischenablage01.jpg
also bei host oben habe ich die 127.0.0.1 ja ist auf meinem desktop
port 1883

Client (DVES_06.... 98c7f6f7563c421faa9a7005eb2c66e0 Generiert aus MQtt.fx (Client ID)
User (DEVS_User) MQTT-FX-Client-2656

Vielen Dank schon im voraus
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
udo1toni
Beiträge: 13860
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: MQTT und Tasmota

Beitrag von udo1toni »

Wie gesagt... 127.0.0.1 ist localhost, das kann auf dem Rechner, auf dem auch mosquitto läuft korrekt sein, aber keinesfalls auf dem Tasmota Device, da dieses ein anderes Interface nutzt als mosquitto, entsprechend musst Du dort die "echte" IP des brokers eintragen, nicht localhost.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

KdAaIchs
Beiträge: 11
Registriert: 20. Feb 2024 11:44

Re: MQTT und Tasmota

Beitrag von KdAaIchs »

traue mich fast nicht zu fragen...woher bekomme ich die? wo finde ich die.

Benutzeravatar
udo1toni
Beiträge: 13860
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: MQTT und Tasmota

Beitrag von udo1toni »

Auf dem Rechner, auf dem der Broker läuft...

Windows Rechner: in einer Eingabeaufforderung (cmd.exe...) ipconfig aufrufen und bei den gelisteten Ethernet Adaptern den heraussuchen, über den der Rechner mit dem LAN verbunden ist. Dort die IPv4-Adresse ablesen. Geht natürlich auch über die UI, Rechtsklick auf das Netzwerk-Symbol im Systray -> Netzwerk- und Interneteinstellungen -> aktive Verbindung anzeigen lassen und im unteren Teil steht die IP-Adresse.

GNU/Linux Rechner: in der Shell den Befehl ip a | grep inet ausführen und in der Ausgabe die Zeile mit IPv4 Adresse suchen (NICHT 127.0.0.1).
In einem gewöhnlichen Heim-LAN hat man es typischerweise mit einem Klasse-C-Netz zu tun, das heißt, die IP lautet 192.168.x.y, wobei alle Geräte das gleiche x und ein unterschiedliches y haben.
Da in Deinem Log die IP-Adresse des Tasmota Device mit 192.168.178.33 angegeben ist, gehe ich von einer FRITZ!Box als Router aus :) aber keine Sorge, private IP-Adressen sind im Internet komplett wertlos, damit kann niemand etwas anfangen. Die öffentliche IP-Adresse solltest Du aber unbedingt geheim halten, denn darüber kann man gezielt Dein Netzwerk angreifen.

Deine IPv4-Adressen beginnen also alle mit 192.168.178. und dann hat jedes Gerät eine andere Zahl als letzte Zahl, diese bewegt sich zwischen 2 und 254 (oder war es zwischen 1 und 253?), die 0 ist das Netzwerk selbst, die 255 ist die Broadcast Adresse, um "an alle" Netzwerkteilnehmer gleichzeitig zu senden und entweder die 1 oder die 254 ist die Adresse Deines Routers (also der FRITZ!Box)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten