I just wanted to post a quick writeup of my finished project using the ST_Anything software ([RELEASE] ST_Anything v2.9 - Arduino/ESP8266/ESP32 to ST via ThingShield, Ethernet, or WiFi) @ogiewon created.
I had been looking for a way to pull in a high accuracy outdoor temperature and humidity sensor into my system for over a year and kept coming up on dead ends. In my part of the world our winters get down to -20 F and summers up to around 100 F. There is nothing out there that is native Z-Wave which works in this huge range and based on my occupation I have access to commercial/industrial sensors. The issue is 90%+ of commercial grade sensors output either a 4 - 20ma or 0 - 10v signal and nothing has Z-Wave.
The sensor I was trying to pull in was a Vaisala HMS82 (https://store.vaisala.com/us/hms82-outdoor-humidity-dew-point-wet-bulb-enthalpy-and-temperature-sensor-for-hvac-current-loop-3-accuracy/HMS82/dp) which not only has a range of -40 F - 140 F but is accurate to 0.1 degree. So when you do the math thats 1800 possible values to account for. It outputs 4 - 20ma but I have access to current -> voltage converters so I needed something that could do either. After lots of searching and coming up empty handed I posted a reply to a thread from someone else looking for the same thing (Looking for a device that reads 0 - 10v sensor output). And thats where the ST_Anything suggestion came up. Long story short (you can read that thread) I settled on the ESP32 board (https://www.amazon.com/gp/product/B0718T232Z/) and after lots of trial and error got it working reliably with my sensors to within 0.5 F and % across the range. Then once I got that working I decided to pull in a couple other things in the garage that made sense and make it a more permanent install.
Looking around my garage I really only had two things I wanted to monitor. The first was a electric garage heater and the second the temperature in the garage in general. If I didn’t have a MyQ enabled garage door opener running MyQ Lite already ([RELEASE] MyQ Lite Door and Lamp Control (for Liftmaster/Chamberlain)) I would have also added that in.
For the garage heater I found a cheap current sensor that you clamp around the hot lead to the heater and when its running it closes a set of contacts. This creates a simple dry contact that can be fed into the ESP32 as a digital input.
For the temperature I went with a DTH22 (https://www.amazon.com/gp/product/B01N9BA0O4/) which was supported by the ST_Anything library. Also for $7 how can you beat it…a lot cheaper then a Z-wave module doing the same thing. I also found that a standard 1 jack Ethernet wall plate, when scraped out ever so slightly, will fit the sensor and not look like crap. Here is mine mounted on the wall next to the enclosure holding my board:
Once I got those two other components I decided to do it up right and solder the ESP32 to a PCB board and mount everything with screw terminals. Since my sensors are supplied with 24v DC I wanted to get something that can just use that instead of adding another adapter. So I bought some DC-DC converters (https://www.amazon.com/gp/product/B01MQGMOKI/) which had a adjustment screw. In retrospect this was a PITA because that screw/resistor is one full turn for 0.8v - 24v so dialing in 3.3v took a lot of testing. Closest I got was 3.332v and I left it alone. If I did this again I would get a DC-DC converter that had a option to hard set 3.3v (which they do make). I also picked up some Adafruit PCB boards (https://www.amazon.com/gp/product/B00SK8QR8S/) and simple screw terminals (https://www.amazon.com/gp/product/B06XKVLVK2/). Note on the screw terminals: The don’t play nice sitting next to each other…too much plastic on the sides. Again hindsight being 20/20 I would have gotten much bigger ones and just soldered ever ESP32 pin even though I wasn’t using them all.
So after some soldering, mounting, and wiring I have a operational ESP32 running ST_Anything pulling in Outdoor Air Temp & Humidity, Garage Temp & Humidity, and the status of my garage heater:
I also soldered in terminals for the SCL/SDA pins as I’m debating pulling in a Adafruit TCS34725 (https://www.adafruit.com/product/1334) so I can do what @Todd_Meyer is trying to do ([RELEASE] ST_Anything v2.9 - Arduino/ESP8266/ESP32 to ST via ThingShield, Ethernet, or WiFi).
And here is how they pull in:
(Note: I’m using a custom contact sensor DTH to change labels so I can do On/Off/Yes/No/Etc. Otherwise everything is stock ST_Anything)
Overall I didn’t think it was hard to do this especially with the documentation available with the ST_Anything project and I highly recommend it for anyone trying to get around the lack of Z-Wave devices for certain things (like the sensors I was using) to bring them into their system relatively cheap.