Tutorial for selecting a DS18B20 Temperature Value using Sensor ID from Tasmota

I have several Tasmota Equipped ESP8266’s with multiple DS18B20 Sensors, if one of them goes down the order the remaining ones show up on the sensor channel of Tasmota changes. To get around this and with much searching of the forum together with a lot of experimentation I’ve come up with this which seems to work using the admin GUI.

Using the Admin GUI I edit the matt thing the sensors are connected to and create a Number Channel, in the MQTT state topic field add

 tele/myTasmotaESP/SENSOR

where tele/myTasmotaESP is the topic of the Tasmota device.

In the Incoming Value Transformations field, found in the advanced tab add

 JSONPATH:$..[?(@.Id=="123456789ABC")].Temperature

where 123456789ABC is the Id of the sensor you want to read

Hopefully this will save someone much time

Thanks for sharing!

I have a system with a few DS18B20’s hooked up to an esp8266 with Tasmota. I extract the temperature in almost exactly the same way:

JSONPATH:$..[?(@.Id=="062141D4EF92")].Temperature

Thanks, that’s a better solution, I’ve edited my post above to reflect it