# Esp8266 and multiple ds18b20's with mqtt

**URL:** <https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556>\
**Category:** General\
**Tags:** http-request, mqtt\
**Created:** [30 March 2022 17:47 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556 "2022-03-30T17:47:18Z")\
**Posts on this page:** 20\
**Page:** 10

<div class="post-metadata">

**Author:** ![Sean-McG](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/sean-mcg/32/54677_2.png) [@Sean-McG](https://discourse.nodered.org/u/Sean-McG)\
**Post date:** [11 April 2022 18:19 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/181 "2022-04-11T18:19:32Z")

</div>

Where are you based I will book a flight 😉 🍻

---

<div class="post-metadata">

**Author:** ![9toejack](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/9toejack/32/56868_2.png) [@9toejack](https://discourse.nodered.org/u/9toejack)\
**Post date:** [11 April 2022 18:22 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/182 "2022-04-11T18:22:23Z")

</div>

Auburn Washington

I have a friend that lives in Australia and he pops in 2 to 3 times a year.  
he comes to visit his son who lives here, but spends more time at my taproom!  
lol

---

<div class="post-metadata">

**Author:** ![craigcurtin](https://avatars.discourse-cdn.com/v4/letter/c/94ad74/32.png) [@craigcurtin](https://discourse.nodered.org/u/craigcurtin)\
**Post date:** [12 April 2022 00:24 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/183 "2022-04-12T00:24:36Z")

</div>

I am in Australia - and am about to book a flight !!

I would suggest that you have something completely independent of NR that could perform a master off type function and acts as a supervisor to the system - in my mind something like a Tasmota TH16 that monitored all the temps - independently of the other systems - running say Tasmota with Rules - so no Node Red involvement - simple rules - like if Temp \> xyz (safe limit) - generate an alert and shut down a master ssr that shuts off everyting if it does not hear from someone in X period of time

Its all the edge use cases that you do not think of that come back and bite you - i have had instances where my boiler (gas) for hydronic heating - stopped responding to on/off commands - but only in a very weird combination - so i was pushing solar heated hot water (much lower temp) into our buffer tank and the Gas boiler was trying to raise this to some ridiculous temperature. All because of a power failure and then a WIFI access point not starting up correctly

Craig

---

<div class="post-metadata">

**Author:** ![9toejack](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/9toejack/32/56868_2.png) [@9toejack](https://discourse.nodered.org/u/9toejack)\
**Post date:** [12 April 2022 01:29 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/184 "2022-04-12T01:29:31Z")

</div>

I definitely agree,

---

<div class="post-metadata">

**Author:** ![9toejack](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/9toejack/32/56868_2.png) [@9toejack](https://discourse.nodered.org/u/9toejack)\
**Post date:** [12 April 2022 02:24 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/185 "2022-04-12T02:24:53Z")

</div>

Ok i searched for the Th16 and all i get is freaking plug in outlet crap from Amazon

---

<div class="post-metadata">

**Author:** ![hominidae](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hominidae/32/4174_2.png) [@hominidae](https://discourse.nodered.org/u/hominidae)\
**Post date:** [12 April 2022 07:17 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/186 "2022-04-12T07:17:03Z")

</div>

-\> [https://www.amazon.com/Sonoff-Temperature-Humidity-Monitoring-Assistant/dp/B07TF5SYGL/ref=sr\_1\_2?crid=39SI8T0LXI3S7&keywords=sonoff+th16&qid=1649747784&sprefix=sonoff+th16%2Caps%2C166&sr=8-2](https://www.amazon.com/Sonoff-Temperature-Humidity-Monitoring-Assistant/dp/B07TF5SYGL/ref=sr_1_2?crid=39SI8T0LXI3S7&keywords=sonoff+th16&qid=1649747784&sprefix=sonoff+th16%2Caps%2C166&sr=8-2)

...can be flashed to Tasmota, of course (you should do, in order to get rid of the chinese cloud and enable the same functionality as with your wroom)

Edit: the TH16 has a 2.5mm Jack Terminal to connect with the standard (single) wired sensor. In order to be able to upgrade, you need something like this (I think it is a 4 pole jack): [https://www.amazon.com/Conshine-4-Pole-Stereo-Terminal-Connector/dp/B076NGDR7Z/ref=sr\_1\_1?crid=RJMNBUCXNEP6&keywords=2.5mm+jack+screw+terminal+4+pole&qid=1649748985&sprefix=2.5mm+jack+screw+terminal+4+pole%2Caps%2C202&sr=8-1](https://www.amazon.com/Conshine-4-Pole-Stereo-Terminal-Connector/dp/B076NGDR7Z/ref=sr_1_1?crid=RJMNBUCXNEP6&keywords=2.5mm+jack+screw+terminal+4+pole&qid=1649748985&sprefix=2.5mm+jack+screw+terminal+4+pole%2Caps%2C202&sr=8-1)

---

<div class="post-metadata">

**Author:** ![9toejack](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/9toejack/32/56868_2.png) [@9toejack](https://discourse.nodered.org/u/9toejack)\
**Post date:** [12 April 2022 16:55 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/187 "2022-04-12T16:55:21Z")

</div>

ok im thinking outside the box here.  
if i was to loose wifi to an esp8266 that means i have no temp going to node red.  
thus i have no temperature control.  
i have 3 temp controllers hooked up to the fermenters now.  
i should have an if in the tasmota esp8266 that if no internet connection it closes a circuit on relay wich supplies power to the back up temp controller.  
kepping the beer in a fail safe till internet comes back up.  
im assuming it would have to be wired in a way like a dual switch for a stairway.

one switch at bottom and one switch at top  
both control the same light.  
so you can turn on when walking up and then turn off at top when not needed that time of scenario.  
whats your thoughts.

Also should i change my topic name. i know it when a good distance and we have addressed plenty of issues. But have added others.  
im working on a comment that walks through what was actually done to aid anyone else trying to do what i have been doing.

---

<div class="post-metadata">

**Author:** ![9toejack](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/9toejack/32/56868_2.png) [@9toejack](https://discourse.nodered.org/u/9toejack)\
**Post date:** [12 April 2022 17:50 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/188 "2022-04-12T17:50:33Z")

</div>

First and foremost.

Thanks to these Friends for all the help.

@dynamicdave, @Hominidae, @craigcurtin, @Sean-McG, @zenofmud, @Zodiac-69, @jbudd,

@tonylane26, @markost, @hotNipi,

Names are not in any special order other then in order of when they stepped in to help.

So my basic initial question was I need help getting all my Ds18b20 temp sensors data sent to my node-red with mqtt and an ESP8266. I have very little programing knowledge.

If you have programming skills these links will help you a bunch.

> **[ESP8266 NodeMCU DS18B20 Web Server with Arduino IDE](https://microcontrollerslab.com/esp8266-nodemcu-ds18b20-web-server/)**
>
> ESP8266 NodeMCU DS18B20 Temperature sensor Web Server tutorial with Arduino IDE - send automatically updated readings to a web client

> **[ESP8266 NodeMCU MQTT - Publish DS18B20 Sensor Readings (Arduino) | Random...](https://randomnerdtutorials.com/esp8266-nodemcu-mqtt-publish-ds18b20-arduino/)**
>
> Learn how to publish DS18B20 sensor readings via MQTT with the ESP8266 NodeMCU to any platform that supports MQTT client. We'll publish sensor readings to Node-RED.

> **[Interfacing Multiple DS18B20 Digital Temperature Sensors with Arduino](https://lastminuteengineers.com/multiple-ds18b20-arduino-tutorial/)**
>
> Learn 2 Methods(by Index & by Address) to Interface Multiple DS18B20 Digital Temperature Sensors On Single Bus along with its Wiring & Arduino Code

> **[ESP32 with Multiple DS18B20 Temperature Sensors | Random Nerd Tutorials](https://randomnerdtutorials.com/esp32-multiple-ds18b20-temperature-sensors/)**
>
> This guide reads temperature from multiple DS18B20 temperature sensors with ESP32 using Arduino IDE. We’ll wire the sensors on the same data bus to the ESP32

However, I have verry little Programming Knowledge, so I was suggested to use

Something called Tasmota

Very amazing utility, or “UI” for the EsP8266

Please read the material about it and about how to install.

I will share a few links here that will help you.

Read this well depending on what you really need you can download the proper bin file for your solutions. Thus leaving space by not downloading an enlarged bin file.

> **[Getting Started - Tasmota](https://tasmota.github.io/docs/Getting-Started/)**
>
> Getting started with Tasmota. What you need, how to install and do initial configuration.

> **[DS18x20 temperature sensor - Tasmota](https://tasmota.github.io/docs/DS18x20/)**
>
> Documentation (Wiki) for Tasmota

another option is ESPEASY

> **[Letscontrolit](https://www.letscontrolit.com/)**
>
> LetsControlIt : Everything about Home Automation, ESP Easy, RFLink Gateway

I ended up using Tasmota and I love it.

there is an online flasher option but that didn’t work for me I used Tasmotizer to flash my esp8266’s

> **[GitHub - tasmota/tasmotizer: ESP... The time has come to... Tasmotize!](https://github.com/tasmota/tasmotizer)**
>
> ESP... The time has come to... Tasmotize! Contribute to tasmota/tasmotizer development by creating an account on GitHub.

once you have the esp8266 flashed you can go in and mess with your settings.

The biggest thing you want to also install on your computer is mqtt utility called

“MqTT Explorer”

You can read and download it here.

> **[MQTT Explorer](https://mqtt-explorer.com/)**
>
> An all-round MQTT client that provides a structured topic overview

it will make it easier for you to know your topic id from the esp8266

making it simply to subscribe to it from the node in your flow.

Now when you have the temp sensors going into your node they are going to be a big message

In Json format. You can opt to parse the Json file and then that splits them up.

I did in order. Gathered message from mqtt, then parsed into objects.

Then I split the objects up

I then had to push my Temperature to be my msg.payload  
here is the flow that handled the MQTT message

```auto
[{"id":"a83eb32ba827c55d","type":"tab","label":"Flow 2","disabled":false,"info":"","env":[]},{"id":"b63ec7e2eb7e8742","type":"mqtt in","z":"a83eb32ba827c55d","name":"","topic":"Railtemp1/SENSOR","qos":"1","datatype":"auto","broker":"8db3fac0.99dd48","nl":false,"rap":false,"inputs":0,"x":196.66666412353516,"y":41.66667079925537,"wires":[["47f9a07e53311609","361b5baba80624fb"]]},{"id":"47f9a07e53311609","type":"debug","z":"a83eb32ba827c55d","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":398.1335563659668,"y":40.066226959228516,"wires":[]},{"id":"212da3aa222c8b91","type":"debug","z":"a83eb32ba827c55d","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":552.4108047485352,"y":89.58273506164551,"wires":[]},{"id":"361b5baba80624fb","type":"json","z":"a83eb32ba827c55d","name":"","property":"payload","action":"","pretty":false,"x":352.0069580078125,"y":89.97136087646484,"wires":[["212da3aa222c8b91","c5bea3284b1e541a"]]},{"id":"4ccb4bd562321ec6","type":"link out","z":"a83eb32ba827c55d","name":"Boil","mode":"link","links":["4162dc019210439f"],"x":874.5592918395996,"y":204.8829231262207,"wires":[]},{"id":"c5bea3284b1e541a","type":"split","z":"a83eb32ba827c55d","name":"","splt":"\\n","spltType":"str","arraySplt":"1","arraySpltType":"len","stream":true,"addname":"topic","x":509.0069580078125,"y":137.9071455001831,"wires":[["ba96668845a56017","4f747c81cec09094"]]},{"id":"ba96668845a56017","type":"debug","z":"a83eb32ba827c55d","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":719.5643310546875,"y":139.0442819595337,"wires":[]},{"id":"4f747c81cec09094","type":"switch","z":"a83eb32ba827c55d","name":"If =442FBOIL","property":"payload.Id","propertyType":"msg","rules":[{"t":"cont","v":"3C01D607442","vt":"str"},{"t":"cont","v":"3C01D607551B","vt":"str"},{"t":"cont","v":"3C01D6075AAA","vt":"str"},{"t":"cont","v":"3C01D607B382","vt":"str"},{"t":"cont","v":"3C01D607ECB7","vt":"str"},{"t":"cont","v":"3C01D607FD9D","vt":"str"},{"t":"cont","v":"3C01F096D7D9","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":8,"x":741.0087509155273,"y":292.001766204834,"wires":[["4ccb4bd562321ec6"],["36539a14296d12b4"],["fe1c399e92f2fc24"],["05b59d6876ba56b5"],["d08490a2bad325b4"],["4ee07dfb78e7bd97"],["4c70d126cbf9865b"],[]]},{"id":"7cec1889440cc7be","type":"comment","z":"a83eb32ba827c55d","name":"Sensor address legend","info":"Boil id 3C01D607442F\nWestF3C01D607551B\nCferm3C01D6075AAA\nHlt3C01D607B382\nMash3C01D607ECB7\nEferm3C01D607FD9D\nGlycol3C01F096D7D9\n","x":173.56597900390625,"y":121.87070274353027,"wires":[]},{"id":"36539a14296d12b4","type":"link out","z":"a83eb32ba827c55d","name":"westfermenter","mode":"link","links":["d5cb5af511b75b2d"],"x":910.6667137145996,"y":231.66673851013184,"wires":[]},{"id":"fe1c399e92f2fc24","type":"link out","z":"a83eb32ba827c55d","name":"Center Fermenter","mode":"link","links":["917f500dd3b361fa"],"x":946.6667156219482,"y":257.6666774749756,"wires":[]},{"id":"05b59d6876ba56b5","type":"link out","z":"a83eb32ba827c55d","name":"HLT","mode":"link","links":["b4c77e8c15c2fe76"],"x":987.6667137145996,"y":281.6666831970215,"wires":[]},{"id":"d08490a2bad325b4","type":"link out","z":"a83eb32ba827c55d","name":"Mash","mode":"link","links":["6354cc78164ab1c8"],"x":949.6667137145996,"y":314.6666841506958,"wires":[]},{"id":"4ee07dfb78e7bd97","type":"link out","z":"a83eb32ba827c55d","name":"East Fermenter","mode":"link","links":["e4c2ba3cc254f82a"],"x":915.6667137145996,"y":346.33333110809326,"wires":[]},{"id":"4c70d126cbf9865b","type":"link out","z":"a83eb32ba827c55d","name":"Glycol","mode":"link","links":["a718901054c6d567"],"x":874.6667137145996,"y":380.33334159851074,"wires":[]},{"id":"8db3fac0.99dd48","type":"mqtt-broker","name":"","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

```

here is the node sample that i had to use to change the payload info

```auto
[{"id":"6d87889f.5a7db8","type":"debug","z":"1f851c1.28701e4","name":"hlt","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1278.000244140625,"y":1222.000198841095,"wires":[]},{"id":"9030cc1c72c0dbf5","type":"ui_text","z":"1f851c1.28701e4","group":"4894865519cc16c4","order":2,"width":6,"height":1,"name":"","label":"HLT Temp","format":"{{msg.payload}}","layout":"row-spread","x":1288.000244140625,"y":1182.000198841095,"wires":[]},{"id":"a579f17634aa79e7","type":"ui_template","z":"1f851c1.28701e4","group":"4894865519cc16c4","name":"Hot Liqour Tank","order":5,"width":6,"height":6,"format":"<div id=\"{{'gauge_'+$id}}\" class=\"g-container\" style=\"--gauge-value:0; --container-size:6; --gn-distance:14; --ga-tick-count:22; --ga-subtick-count:220; --g-unit:''°F'\">\n <div id=\"bgr\" class=\"g-body\">\n <div class=\"g-ring\">\n <div class=\"g-rivets\">\n <div class=g-rivet></div>\n <div class=g-rivet></div>\n <div class=g-rivet></div>\n <div class=g-rivet></div>\n </div>\n <div class=\"g-plate\">\n <div class=\"g-ticks\">\n <div class=\"g-tick\" style=\"--ga-tick:1;\"></div>\n <div class=\"g-tick\" style=\"--ga-tick:3;\"></div>\n <div class=\"g-tick\" style=\"--ga-tick:5;\"></div>\n <div class=\"g-tick\" style=\"--ga-tick:7;\"></div>\n <div class=\"g-tick\" style=\"--ga-tick:9;\"></div>\n <div class=\"g-tick\" style=\"--ga-tick:11;\"></div>\n <div class=\"g-tick\" style=\"--ga-tick:13;\"></div>\n <div class=\"g-tick\" style=\"--ga-tick:15;\"></div>\n <div class=\"g-tick\" style=\"--ga-tick:17;\"></div>\n <div class=\"g-tick\" style=\"--ga-tick:19;\"></div>\n <div class=\"g-tick\" style=\"--ga-tick:21;\"></div>\n <div class=\"g-tick\" style=\"--ga-tick:23;\"></div>\n </div>\n <div class=\"g-ticks\">\n <div class=\"g-subtick\" style=\"--ga-tick:11;\"></div>\n <div class=\"g-subtick\" style=\"--ga-tick:31;\"></div>\n <div class=\"g-subtick\" style=\"--ga-tick:51;\"></div>\n <div class=\"g-subtick\" style=\"--ga-tick:71;\"></div>\n <div class=\"g-subtick\" style=\"--ga-tick:91;\"></div>\n <div class=\"g-subtick\" style=\"--ga-tick:111;\"></div>\n <div class=\"g-subtick\" style=\"--ga-tick:131;\"></div>\n <div class=\"g-subtick\" style=\"--ga-tick:151;\"></div>\n <div class=\"g-subtick\" style=\"--ga-tick:171;\"></div>\n <div class=\"g-subtick\" style=\"--ga-tick:191;\"></div>\n <div class=\"g-subtick\" style=\"--ga-tick:211;\"></div>\n \n </div>\n <div class=\"g-nums\">\n <div class=\"g-num\" style=\"--ga-tick:1;\" >0</div>\n <div class=\"g-num\" style=\"--ga-tick:3;\">20</div>\n <div class=\"g-num\" style=\"--ga-tick:5;\">40</div>\n <div class=\"g-num\" style=\"--ga-tick:7;\">60</div>\n <div class=\"g-num\" style=\"--ga-tick:9;\">80</div>\n <div class=\"g-num\" style=\"--ga-tick:11;\">100</div>\n <div class=\"g-num\" style=\"--ga-tick:13;\">120</div>\n <div class=\"g-num\" style=\"--ga-tick:15;\">140</div>\n <div class=\"g-num\" style=\"--ga-tick:17;\">160</div>\n <div class=\"g-num\" style=\"--ga-tick:19;\">180</div>\n <div class=\"g-num\" style=\"--ga-tick:21;\">200</div>\n <div class=\"g-num\" style=\"--ga-tick:23;\">220</div>\n \n </div>\n <div class=\"g-label\">HLT </div>\n <div class=\"g-needle\"></div>\n <div class=\"g-needle-ring\"></div>\n <div id=\"{{'gauge_val_'+$id}}\" class=\"g-val\"></div>\n </div>\n </div>\n </div>\n</div>\n<script>\n(function(scope) {\n let min = 0;\n let max = 100;\n scope.$watch('msg', function(msg) {\n if (msg) {\n // Do something when msg arrives\n const v = Math.floor(((msg.payload - min) / (max - min)) * (100 * 0.46));\n const d = Math.floor(((msg.payload - min) / (max - min)) * 100);\n document.getElementById('gauge_'+scope.$id).style.setProperty('--gauge-value', v);\n document.getElementById('gauge_val_'+scope.$id).innerText = d;\n }\n \n });\n})(scope);\n</script>\n","storeOutMessages":true,"fwdInMessages":true,"resendOnRefresh":true,"templateScope":"local","x":1306.914794921875,"y":1260.034866809845,"wires":[[]]},{"id":"38295d967aea31c2","type":"unit-converter","z":"1f851c1.28701e4","category":"temperature","inputUnit":"C","outputUnit":"F","inputField":"payload.Temperature","outputField":"payload.Temperature","inputFieldType":"msg","outputFieldType":"msg","roundOutputField":true,"outputFieldDecimals":2,"name":"hlt","x":792.33349609375,"y":1196.333369255066,"wires":[["259ae828b14c9c1c"]]},{"id":"259ae828b14c9c1c","type":"change","z":"1f851c1.28701e4","name":"set payload to Temperature value","rules":[{"t":"move","p":"payload.Temperature","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1012.8976898193359,"y":1195.7795763015747,"wires":[["9030cc1c72c0dbf5","6d87889f.5a7db8","a579f17634aa79e7","80bbb760481c94dd"]]},{"id":"b4c77e8c15c2fe76","type":"link in","z":"1f851c1.28701e4","name":"","links":["05b59d6876ba56b5"],"x":703.6668243408203,"y":1197.3333673477173,"wires":[["38295d967aea31c2"]]},{"id":"4894865519cc16c4","type":"ui_group","name":"Hot Liquor Tun","tab":"a74ffe3d.4eb73","order":4,"disp":true,"width":12,"collapse":false},{"id":"a74ffe3d.4eb73","type":"ui_tab","name":"Brewery","icon":"dashboard","order":1,"disabled":false,"hidden":false}]

```

Now everything is working for what I needed however im now working on the temp control side now that my temperatures are reliable data!

Further note. You can in Tasmtoa change the Temperature display preference.

In tasmota console type command : “SetOption8 0” or “SetOption8 1”

Show temperature in  
`0` = Celsius _(default)_  
`1` = Fahrenheit

This obviously isn’t a detail how to but these are the steps I did to complete mine.

Guys if I missed anything please chime in and ill edit this.

Cheers to all

---

<div class="post-metadata">

**Author:** ![hominidae](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hominidae/32/4174_2.png) [@hominidae](https://discourse.nodered.org/u/hominidae)\
**Post date:** [12 April 2022 18:17 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/189 "2022-04-12T18:17:01Z")

</div>

> [@9toejack](#):
>
> i should have an if in the tasmota esp8266 that if no internet connection it closes a circuit on relay wich supplies power to the back up temp controller.  
> kepping the beer in a fail safe till internet comes back up.

as said, use the Rules feature in tasmota.  
As a coincidence, someone just asked for such a solution in the tasmota group: [https://groups.google.com/g/sonoffusers/c/x-guuXdQAec/m/Kz\_tolnCBAAJ](https://groups.google.com/g/sonoffusers/c/x-guuXdQAec/m/Kz_tolnCBAAJ)

....thanks for writing up your project log as a solution....nicely done.

---

<div class="post-metadata">

**Author:** ![9toejack](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/9toejack/32/56868_2.png) [@9toejack](https://discourse.nodered.org/u/9toejack)\
**Post date:** [12 April 2022 22:27 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/190 "2022-04-12T22:27:24Z")

</div>

Thanks, i joined that group as well, cheers

---

<div class="post-metadata">

**Author:** ![craigcurtin](https://avatars.discourse-cdn.com/v4/letter/c/94ad74/32.png) [@craigcurtin](https://discourse.nodered.org/u/craigcurtin)\
**Post date:** [12 April 2022 23:50 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/191 "2022-04-12T23:50:02Z")

</div>

Yep be good to add the following console commands in Tasmota

Timezone  
DST  
Teleperiod

Rules and Timers are also two other valuable things i use in Tasmota

Timers as failsafes for relays - so my pool pump is controlled by Node Red through Tasmota - but at 5PM every day i have a Tasmota Timer set to turn off the pool pump - in the event of issues with my remote control of the Tasmota switch i have a failsafe to turn the pool pump off before Peak hour starts

Craig

---

<div class="post-metadata">

**Author:** ![craigcurtin](https://avatars.discourse-cdn.com/v4/letter/c/94ad74/32.png) [@craigcurtin](https://discourse.nodered.org/u/craigcurtin)\
**Post date:** [12 April 2022 23:52 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/192 "2022-04-12T23:52:23Z")

</div>

> [@hominidae](#):
>
> Edit: the TH16 has a 2.5mm Jack Terminal to connect with the standard (single) wired sensor. In order to be able to upgrade, you need something like this (I think it is a 4 pole jack): [https://www.amazon.com/Conshine-4-Pole-Stereo-Terminal-Connector/dp/B076NGDR7Z/ref=sr\_1\_1?crid=RJMNBUCXNEP6&keywords=2.5mm+jack+screw+terminal+4+pole&qid=1649748985&sprefix=2.5mm+jack+screw+terminal+4+pole%2Caps%2C202&sr=8-1](https://www.amazon.com/Conshine-4-Pole-Stereo-Terminal-Connector/dp/B076NGDR7Z/ref=sr_1_1?crid=RJMNBUCXNEP6&keywords=2.5mm+jack+screw+terminal+4+pole&qid=1649748985&sprefix=2.5mm+jack+screw+terminal+4+pole%2Caps%2C202&sr=8-1)

I just take one of the Sonoff standard DS18B20 with the jack on it and cut the cable and then use that as a pigtail

(But nice find with the 4 pole jack)

Craig

---

<div class="post-metadata">

**Author:** ![9toejack](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/9toejack/32/56868_2.png) [@9toejack](https://discourse.nodered.org/u/9toejack)\
**Post date:** [16 April 2022 16:37 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/193 "2022-04-16T16:37:14Z")

</div>

so what do you guys use software wise to plot out your electronics for wiring.  
i can always draw on graph paper but no-one will understand my crazy mind not even myself lol

---

<div class="post-metadata">

**Author:** ![dynamicdave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dynamicdave/32/96_2.png) [@dynamicdave](https://discourse.nodered.org/u/dynamicdave)\
**Post date:** [16 April 2022 17:46 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/194 "2022-04-16T17:46:03Z")

</div>

I use Fritzing - loads of functionality for very little outlay.  
It produces very nice breadboard layouts.  
It has loads and loads of component library parts.

> **[Fritzing](https://fritzing.org/download/)**
>
> The download page for official Fritzing releases.

Here's an example...

 ![Screen Shot 04-16-22 at 06.48 PM](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/0/1/01e610969229e2167ec3921b10950080177421c8.png)

---

<div class="post-metadata">

**Author:** ![9toejack](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/9toejack/32/56868_2.png) [@9toejack](https://discourse.nodered.org/u/9toejack)\
**Post date:** [16 April 2022 18:25 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/195 "2022-04-16T18:25:24Z")

</div>

ok got it.  
now nexed silly question.  
according to tasmota docs

**`SwitchMode 2`**

Set switch to inverted follow mode ( `0 = ON` , `1 = OFF` )

At the time when the circuit is closed, Tasmota will send `OFF` and opening the circuit sends `ON` .

if i need an active low to "activate the relay" then i should use this correct?  
im assuming the 0 = low and the 1 = high

---

<div class="post-metadata">

**Author:** ![Sean-McG](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/sean-mcg/32/54677_2.png) [@Sean-McG](https://discourse.nodered.org/u/Sean-McG)\
**Post date:** [16 April 2022 18:31 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/196 "2022-04-16T18:31:12Z")

</div>

Sounds about right 😉

---

<div class="post-metadata">

**Author:** ![Sean-McG](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/sean-mcg/32/54677_2.png) [@Sean-McG](https://discourse.nodered.org/u/Sean-McG)\
**Post date:** [16 April 2022 18:32 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/197 "2022-04-16T18:32:33Z")

</div>

Just a thought but unless you going for the longest thread record you may want to start new posts for next questions 😉

---

<div class="post-metadata">

**Author:** ![9toejack](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/9toejack/32/56868_2.png) [@9toejack](https://discourse.nodered.org/u/9toejack)\
**Post date:** [16 April 2022 18:35 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/198 "2022-04-16T18:35:54Z")

</div>

ok valid!  
was just brain storming. on it.

---

<div class="post-metadata">

**Author:** ![Sean-McG](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/sean-mcg/32/54677_2.png) [@Sean-McG](https://discourse.nodered.org/u/Sean-McG)\
**Post date:** [16 April 2022 18:38 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/199 "2022-04-16T18:38:28Z")

</div>

You are in 7th place BTW 🤪

---

<div class="post-metadata">

**Author:** ![9toejack](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/9toejack/32/56868_2.png) [@9toejack](https://discourse.nodered.org/u/9toejack)\
**Post date:** [16 April 2022 18:45 UTC](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556/200 "2022-04-16T18:45:45Z")

</div>

well i need to fix that lol

[Previous page](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556.md?page=9)

[Next page](https://discourse.nodered.org/t/esp8266-and-multiple-ds18b20s-with-mqtt/60556.md?page=11)
