ST_Anything allows you to integrate a custom Arduino or ESP8266 device with SmartThings by editing only 1 Arduino sketch file! No groovy programming skills are required! You simply decide what devices/sensors are attached to each pin of your Arduino, ESP8266, ESP32 and ST_Anything handles the rest for you! Numerous example sketches are included to help get you started.
[v2.9.7] Minor changes to IS_Button device
[ v2.9.6] Added support for Arduino NANO 33 IoT (thanks @Corey_Spears1!)
[ v2.9.5] Added support for MKR1010, Arduino 1.8.9, ESP8266 v2.5.2, updated numerous libraries, etc…
[ v2.9.4] Added support for the SHT31 (temp, humid) I2C sensor
[ v2.9.3] Significant enhancements to the EX_Servo class and Child Device Handler - Thanks Jeff Albers! ALso, an attempt to prevent duplicate child devices from being created.
[UPDATE v2.9.2] I have added I2C sensor support for the MAX44009(lux), TSL2561(lux), BH1750(lux), AM2320(temp and humid), BME280(temp, humid, pressure), BMP280(temp and pressure), and updates for the TCS34725(color lux). A new example sketch to demonstrate these is included as well.
[UPDATE v2.9.1] I have added Servo Motor support. I have redesigned some of the inner workings/architecture of the Parent and Child devices. I have updated all of the Parent and Child devices in Github. I have tested everything that I was able to, but there is always a chance that something was missed. There is no requirement that you upgrade your Device Handlers at this time. If you do, I just want you to be aware of the changes.
[UPDATE] Added ESP8266 Arduino OTA support. Update your SmartThingsESP8266WiFi library, compile your sketch, and load your ESP8266 via USB. Afterwards, you can update your ESP8266 Over The Air from the Arduino IDE. This is especially helpful for hard to reach devices.
I am happy to announce the release of ST_Anything v2.5, with added support for SmartThings new Composite Device Handlers (i.e. Parent / Child DHs)! No more messy/complicated SmartApps/Virtual Devices. In fact, you probably will never need to modify the groovy DH code for ST_Anything ever again!
V2.7 adds support for the Arduino W5500 shield and includes a new AlarmPanel ESP8266 example sketch.
V2.71 adds support for the Arduino WiFi101/Adafruit ATWINC1500 shield, the Arduino MKR1000, and fixes the performance and reliability issues found earlier when using the Arduino MEGA + ESP01.
V2.8 adds support for the ESP32
V2.9 adds ESP8266 Arduino OTA support plus much more (see ReadMe for more details)
V2.x was created in response to SmartThings recent decision to stop selling and supporting the original ThingShield. This version has support for the following tested hardware configurations:
- Arduino UNO R3 or MEGA 2560 + ThingShield
- Arduino UNO R3 or MEGA 2560 + W5100 wired Ethernet Shield
- Arduino UNO R3 or MEGA 2560 + W5500 wired Ethernet Shield
- Arduino MEGA 2560 + ESP-01 WiFi module (using “AT” firmware and WiFiEsp library - not very reliable!)
- NodeMCU v1.0 ESP8266-12e WiFi (no Arduino needed!)
- ESP8266-01 (ESP-01) WiFi (no Arduino needed!)
- ESP32 board WiFi (no Arduino needed!)
- Arduino MKR1000
- Arduino MEGA 2560 + WiFi101 shield
As always, feedback is welcome. If any of you try to implement this, please feel free to improve the ReadMe files via a GitHub pull request. I welcome the assistance! I will continue to update this post/thread as I receive feedback from the community.
New ST_Anything v2.5+ Architecture Flow Chart
Please see the ST_Anything v2.9.1 ReadMe below for more details, as well as the new ReadMe I created for the new v2.x SmartThings library.