Announcing the "ST_Anything" Arduino/ThingShield Project

FYI, you may find much more up to date information in my newer ST_Anything thread at

Within each .cpp/.h file inside the various …Arduino\libraries\ST_Anything… folders, you will find detailed comments/documentation for the use of each of these C++ classes/objects. For example, from the top of PS_DS18B20_Temperature.cpp file, you will find the following which details the usage of this class.

//			  For Example:  st::PS_DS18B20_Temperature sensor1(F("temperature1"), 120, 0, PIN_TEMPERATURE, false); (for a single sensor)
//                          st::PS_DS18B20_Temperature sensor1(F("temperature"), 120, 0, PIN_TEMPERATURE, false, 10, 3); (for 3 sensors)
//
//			  st::PS_DS18B20_Temperature() constructor requires the following arguments
//				- String &name - REQUIRED - the name of the object - either "temperature1" for a single sensor, or "temperature" for multiple sensors
//				- long interval - REQUIRED - the polling interval in seconds
//				- long offset - REQUIRED - the polling interval offset in seconds - used to prevent all polling sensors from executing at the same time
//				- byte pin - REQUIRED - the Arduino Pin to be used for the One-Wire DS18B20 sensor conenction
//				- bool In_C - OPTIONAL - true = Report Celsius, false = Report Farenheit (Farentheit is the default)
//				- byte resolution - OPTIONAL - DS18B20 sensor resolution in bits.  9, 10, 11, or 12.  Defaults to 10 for decent accuracy and performance
//				- byte num_sensors - OPTIONAL - number of OneWire DS18B20 sensors attached to OneWire bus - Defaults to 1

If you simply wanted the voltage/value from the sensor, I would recommend that you simply use the ST_Anything’s PS_Voltage voltage device. You could use this in addition to the PS_Water device. Both could read data from the same analog pin.

Running multiple copies is very simple… Just manually add another new ST_Anything Parent Device via the ST Web IDE. Then, in your phone’s app you will see the second parent, which will require you to configure the MAC address, TCP/IP address, and port like you did for the first one. Just use the unique MAC and TCP/IP address from the second ESP8266.

Samsung/SmartThings future plans are very unclear. I have no idea if any of this will work with the new app in the future. I have ported all of ST_Anything to run on Hubitat. In fact, I have moved about 99% of my devices over to Hubitat. I prefer local processing. So, at least you’ll have that platform as an option should ST decide to further alienate the DIY/Maker community.

One more tip - The Arduino MEGA ST_Anything examples demonstrate a vast number of example devices from ST_Anything. You will still start with an ESP8266 example, but can copy and paste the device definitions from the MEGA’s sketch into the ESP8266 sketch. At least it helps demonstrate the usage of these various devices.

And, as always… I’d love for someone to step up and help improve the documentation! :wink: