Hallo zusammen,
ich habe mir mit einem "Wemos D1 mini" und "tasmota_sensors Firmware" ein Device gebaut mit zwei BMP280 und einen HTU21D Sensor.
Soweit war das etwas unlustig.
Die gekauften BMP280 können keine Feuchtigkeit messen, naja gut. Und man kann nur zwei i²C Adressen einstellen 0x76 und 0x77 ich wollte aber mehr als zwei anschließen. Deswegen der HTU21D.
MQTT habe ich konfiguriert bekommen.
Mein Problem ist das ich es nicht schaffe ein stateFormat aud dem MQTT String abzuleiten. Dadurch gibt es keine vernünftige Anzeige in FHEM.
Dieser sieht so aus:
{"Time":"2021-03-24T22:41:31","HTU21":{"Temperature":16.8,"Humidity":47.7,"DewPoint":5.6},"BMP280-76":{"Temperature":59.5,"Pressure":1016.5},"BMP280-77":{"Temperature":48.7,"Pressure":1016.7},"PressureUnit":"hPa","TempUnit":"C"}
{sprintf("T: %.1f H: %.1f D:%.1f", ReadingsVal($name,"HTU21_Temperature",0), ReadingsVal($name,"HTU21_Humidity",0), ReadingsVal($name,"dewpoint",0)),
("T: %.1f P: %.1f ", ReadingsVal($name,"BMP280-76_Temperature",0), ReadingsVal($name,"BMP280-76_Pressure",0)), ("T: %.1f P: %.1f ", ReadingsVal($name,"BMP280-77_Temperature",0), ReadingsVal($name,"BMP280-77_Pressure",0))}
Ich habe versucht den RegEx Ausdruck und den MQTT String mit https://regex101.com/ und anderen Seiten zu vergleichen aber die mecken alles an.
Hat jemand noch eine Idee wie man hier weiter kommt?
Guten Morgen,
Hier ein Tip auf die Schnelle: beschäftige dich mal mit dem Attribut readingList und der enthaltenen Funktion
json2nameValue.