MQtt Panel einrichten

laurent

Mitglied
Mitglied seit
17 Jul 2014
Beiträge
396
Punkte für Reaktionen
12
Punkte
18
Hallo

Meine Tasmota devices würde ich gerne mit MQTT Bedienen und Sensoren auslesen und anzeigen lassen.

Einen Broker habe ich schon eingerichtet und ist auch mit de IOT MQTT Ap verbunden.

Ein Panel habe ich auch eingerichtet und als Bad benannt.Jetzt wollte ich das Badlicht ein - auschalten.Da beiß ich mir schon die Zähne aus.Will einfach nicht funktionieren.Mit dem Prefix und Paload...das kapier ich nicht wie ich das ausfüllen muss.

stat/Bad/POWER ON
stat/Bad/POWER OFF

sind die Konsolenbefehle damit das Relay geschaltet werden kann.Das funktioniert.

Aber wie gebe ich das in der App ein?
 

Anhänge

  • Screenshot_20260518_154826_IoT MQTT Panel.jpg
    Screenshot_20260518_154826_IoT MQTT Panel.jpg
    180.7 KB · Aufrufe: 13
Wieso "stat"? Kommandos werden bei Tasmota mit "cmnd" erteilt. ;)
Mit "stat" wird nur der aktuelle Status ausgegeben
In Deinem Fall wird dem Kommando "cmnd/Bad/Power" das Flag ON angehängt.
Installiere Dir auf dem PC mal MQTT.fx (in Version 1.7.1 noch Freeware) und spiele da mal mit den ganzen MQTT-Kommandos herum (im Bereich Publish)
Wichtig - beachte Groß/Kleinschreibung, die ist zwingend einzuhalten
 
Schalten funktioniert jetzt.

Aber was ich nicht hinbekomme die Anzeigen von Temperatur, Feuchtigkeit usw.

tele/Test/SENSOR = {"Time":"2026-05-19T10:25:20","LYWSD037b324f":{"alias":"iBHobbyraum","mac":"a4c1387b324f","Temperature":19.4,"Humidity":58.7,"DewPoint":11.1,"RSSI":-61},"TempUnit":"C"}
 
Das ist ein Datensatz im json-Format, dieses gilt es zu decodieren.
Jeder Deiner Begriffe in Anführungszeichen ist ein Datenfeld, hinter dem Doppelpunkt dann der Wert
In Deinem Fall sieht das formatiert dann aus wie folgt
Code:
{
   "Time":"2026-05-19T10:25:20",
   "LYWSD037b324f":{
      "alias":"iBHobbyraum",
      "mac":"a4c1387b324f",
      "Temperature":19.4,
      "Humidity":58.7,
      "DewPoint":11.1,
      "RSSI":-61
   },
   "TempUnit":"C"
}
Hier gilt es, dass Dein Decoder die gewünschten Zeilen / Datenfelder decodiert und entsprechend ausgeben kann
 
Wenn nur Temperatur angezeigt werden soll. Schaut das script so aus?

"LYWSD037b324f": {
"Temperature":19.4,
},
"TempUnit":"C"
}
 
Zuletzt bearbeitet:
MQTT? Warum dann eigentlich nicht gleich Home Assistant, auf den kann man noch zusätzlich für die Tasmota-Verwaltung/Updates TasmoAdmin draufpappen.
 
Wenn nur Temperatur angezeigt werden soll. Schaut das script so aus?
Ich verstehe gerade nur Bahnhof...
Der Datensatz, den Du gepostet hast, ist der, den das Tasmota-Gadget ausgibt.
Du abonnierst (subscribe) beim broker "tele/Test/SENSOR" und bekommst dazu genau den Datensatz, die Message, den das Gadget ausgibt.
Zu welchem Gerät dieser Datensatz gehört, ist durch den abonnierte Begriff "tele/Test/SENSOR" ersichtlich, da das immer in einem Zusammenhang verwaltet wird.
Es können und dürfen keine zwei Geräte den gleichen Begriff nutzen.
Diesen gilt es zu decodieren und nicht irgendeinen händisch verkürzten Datensatz "Script" zu nennen...
 
Zuletzt bearbeitet:
In diesem Panel (Gauge) soll zb Humidity angezeigt werden.

Wie mache ich das in diesem Fall? Was soll ich unter Payload min und Payload max eintragen?
 

Anhänge

  • Gauge Konfig_IoT MQTT Panel.jpg
    Gauge Konfig_IoT MQTT Panel.jpg
    157.2 KB · Aufrufe: 5
  • Gauge_IoT MQTT Panel(1).jpg
    Gauge_IoT MQTT Panel(1).jpg
    95 KB · Aufrufe: 5
Du hast schon mitbekommen, dass dieser Datensatz des Tasmota-Gadgets, diese Nachricht, dieses Payload im JSON-Format gesendet wird?
Und nur einer der dort enthaltenen Werte ist die Luftfeuchte. ;)
Also schnapp Dir dieses gesamte Payload und greife die dort enthaltene Angabe zur Feuchte ab.
Warum aber beschränkst Du diese auf 1..20% Luftfeuchte? Misst du damit die RF in der Wüste? ;)
 
Ich habe die JSON Ausgabe in eine Textdatei gepackt und in das Panel eingebunden....vermutlich auch nicht richtig.Ich weiß nicht wie an die gewünschten Daten rankomme.

[Edit Novize: Beiträge zusammengefasst - siehe Forumsregeln]

Unter topic habe ich

/tele/Test/SENSOR/LYWSD037b324f Humidity
oder

/tele/Test/SENSOR Humidity

versucht.

Jetzt weiß ich wirklich nicht weiter.
 

Anhänge

  • Screenshot_20260519_130813_IoT MQTT Panel.jpg
    Screenshot_20260519_130813_IoT MQTT Panel.jpg
    201 KB · Aufrufe: 3
Zuletzt bearbeitet von einem Moderator:
/tele/Test/SENSOR/LYWSD037b324f Humidity
oder
/tele/Test/SENSOR Humidity
Das sind keine Topics; Topics haben niemals eine Leerstelle und einen Datenfeldnamen.
Was das Topic ist, was unter diesen Topics in der Nachricht als Payload veröffentlicht wird, siehst Du z.B., wenn Du mit oben genannten MQTT.fx herum experimentierst.
Ich denke, Du solltest zum einen in der App und deren Hilfe mal genau nachschauen, was man wo einträgt (ich kann's Dir nicht sagen, da ich die App nicht habe) und grundsätzlich mal lesen und verstehen, wie MQTT funktioniert.
 
Ein Panel habe ich auch eingerichtet und als Bad benannt.Jetzt wollte ich das Badlicht ein - auschalten.Da beiß ich mir schon die Zähne aus.Will einfach nicht funktionieren.Mit dem Prefix und Paload...das kapier ich nicht wie ich das ausfüllen muss.
Nach den von Novize in #4 geposteten Daten gibt es da nichts, was "Power on/off" bedeuten würde. Hast du wirklich die Daten einen Schaltes gepostet? Wohl nicht.
Übrigens, um die Daten aus einem MQTT-Broker besser sehen zu können, gibt es das Tool"MQTT Explorer" von einem Microsoftie, als MS-Paket oder auch für Linux (bei Github)
 
Kostenlos!

Statistik des Forums

Themen
248,914
Beiträge
2,304,879
Mitglieder
378,623
Neuestes Mitglied
mwsss