Ichweiss nicht genau was du da wohin auf die Reise schickst.
Ich bin zwar kein Programmierer und kann nur mit Halbwissen helfen, aber müsste es nicht eigentlich doch so sein, dass du einen Wert an einem Sensor abgreifst und diesen dann an einen Broker" publis(c)hst". Das kann eine Funktion in deinem Programm sein oder eben so eine fertige Funktion, wie sie Tasmota anbietet. Ob man einen MQTT-Client noch installieren muss weiss ich nicht so genau. Schaden kann's aber nicht.
Ich hab z.B. ein kleines Bash-Script (@EigelbGeek), dass mir alle 3 Minuten die CPU-Temperatur(vcgencmd) ausliest und über den Broker an OH weiterleitet. Das ist kein JSON-String, sondern ein Einzelwert.
Bash-Script:
Code: Alles auswählen
hab4@raspi58:/usr/local/mqtt_rpi $ cat mqtt_rpi_temperature.sh
#!/bin/bash
# mqtt_broker_ip="192.168.178.76"
mqtt_broker_ip="localhost"
mqtt_broker_port="1883"
mqtt_topic="rpi/temp/RASPI58_Temp"
Temperature=$(/usr/bin/vcgencmd measure_temp | tr -d "a-zA-Z=' ")
# echo $Temperature
mosquitto_pub -h $mqtt_broker_ip -p $mqtt_broker_port -t $mqtt_topic/status -m $Temperature # -d
hab4@raspi58:/usr/local/mqtt_rpi $
crontab:
Code: Alles auswählen
*/3 * * * * bash /usr/local/mqtt_rpi/mqtt_rpi_temperature.sh >/dev/null 2>&1
.things
Code: Alles auswählen
Thing mqtt:topic:danny:raspi58 "Raspberry 5 /8 GB" (mqtt:broker:danny ) @ "MQTT2" {
Channels:
Type number : temp "CPU Temp. 5 /8 GB" [ stateTopic="rpi/temp/RASPI58_Temp/status" ]
}
.items
Code: Alles auswählen
Number:Temperature CPU_Temp_raspi58 "CPU-OH4-Pi RPi5 / 8 GB[%.1f °C]" <temperature> (gEG_Buero) ["Point"] { channel="mqtt:topic:danny:raspi58:temp" }
Ich glaube der DHT22 ist eine "abgespeckte" Version vom DHT11. Da hab ich 3 Stück davon noch im Einsatz. Natürlich muss man die evtl. kalibrieren, aber das geht mit Tasmota auch ganz gut.
Was die Messung anbelangt, so muss man natürlich immer mit Abweichungen rechnen.
Deshalb habe ich meine ganzen Themperaturmessungen mittels Sonoff SNZB-02D über "Zigbee2Mqtt" umgestellt (inzwischen 17 Stck). Die melden ihre Werte auch per MQTT an OH(..und gehen alle gleich falsch

). Die haben langlebige Batterien und ein schönes Display. 2 Aqara-Sensoren habe ich auch noch, die erkennen auch den Luftdruck (einer davon ist im Kühlschrank

). Klappt alles wunderbar.
Aber wie gesagt, über den geflashten ESP32, es reicht aber auch ein esp8266, kommt man leicht an die gewünschten Daten.