Adding IoT Flare to a Hot Springs and Spa Business

Hardware Requirements

The Honeywell T775M standalone controllers are a crucial component we must be able to interface with. They are already reading from temperature sensors installed in the pool's supply pipe and outputting commands to adjust hot or cold water flow. Luckily, there are two outputs, MOD1 (used) and MOD2 (spare), and each are configurable to read from a specific sensor input and output a 2–10 VDC value based on programmable variables. So, to gather temperature data from all three of the controllers, we'll need a system with at least three analog to digital inputs.

For networking, a wireless repeater already has been installed in the same room as the Honeywell controllers. Luckily, a networking rack with switches is also installed nearby, but wireless is convenient so we don't have to run cable to the rack.

While technically we could run our own sensors and bypass the Honeywell controllers, it's very nice to have a single sensor to deal with, especially since the cabling has already been routed nicely through metal conduit. Not to mention there is a slight cost savings and less maintenance worries.

The T755M controllers are mounted on a piece of plywood attached to a concrete wall. This setup is perfect for a simple DIN rail on which to mount our external system.

Periodically, filter and pump maintenance will be performed in the same room as the controller and external system, which makes for a high-humidity environment, so we'll need to have our system enclosed for protection.

Future expansion to the other six pools not hooked up to a Honeywell controller would be good to consider. A system that has spare analog to digital inputs and expansion options is necessary.

All considerations taken into account, the TS-7680 is a perfect match. It has four ADC (0–10 VDC) inputs, DIN mountable enclosure, wireless 802.11a/b/g module and Modbus port for expansion (TS-1700 8x Temperature Sensor Peripheral).

Software Requirements

Software-wise, we'll need to read from the ADC inputs of the TS-7680 and then serve them. To read the ADC inputs, we'll build upon example C code provided by Technologic Systems. When serving this data, we want to make it as easy as possible for our website or other systems to consume. This is accomplished using a REST API, a commonly used and understood API for those working in the Internet of Things (IoT) or Web of Things (WoT) domain. For this, we'll reach for node.js and pm2, which makes it pretty easy to set up a simple, easy-to-consume REST API server without the need to involve heavyweights like Apache. For even faster development, we'll reach for the node.js module restify.

Planning

This is where the fun stuff starts happening! The entire planning phase started with a trip to Bozeman Hot Springs to get a tour of the facilities and how they operate. This is where we were first introduced to the Honeywell T775M controllers and saw where temperature data is collected. Cracking open the enclosure of the T775M, we found some clearly marked screw terminal connectors, of which the most interesting was the MOD1 and MOD2 outputs. MOD1 already was taken in order to control the water valves to maintain temperature of the pool, but MOD2 was free for the taking. Not only that, but a quick reference to the manual showed it supported 2–10 VDC output. Perfect!

We contacted Honeywell and asked if there was a way that we could use MOD2 to output the data from Sensor A, which is directly connected to the pool's intake pipe. Once confirmed, we decided to use the TS-7680 and started to work!

______________________