Browse by type
Recent History: - v2.5 2017-04-23 New SmartThings Composite Device Handler (i.e. Parent/Child Device Handlers) which eliminates the need for the Multiplexer SmartApps! Also added Carnon Monoxide, Alarm with Strobe, and Voltage Measurement capabilities. Support for LAN devices only at this time. - v2.6 2017-04-26 Added support for ThingShield using new Composite Device Handler. Includes new version of SmartThings library, updates to ST_Anything library, and new ST_Anything_Multiples_Thingshield.ino sketch. Minor tweak to EX_Alarm logic to better handle whether or not the Strobe Pin is defined. - v2.7 2017-05-25 Added support for the Arduino W5500 Ethernet Shield. Added new ST_Anything_AlarmPanel_ESP8266WiFi.ino sketch. Revised the ST_Anything_Multiples_ESP8266WiFi.ino sketch to take into account NodeMCU ESP8266 GPIO limitations. - v2.71 2017-05-28 Fix for Arduino + ESP01 (WiFi only) combination. Arduino IDE Serial Monitor window must now be set to 115200 baud to prevent ESP-01 timeouts. Also added support for Arduino MKR1000 board and Arduino + WiFi101 Shield (or Adafruit ATWINC1500 module).
Note: The ST_Anything v1.6 release was created on 2017-02-11 to make sure everyone can still get back to the original ThingShield-only code if necessary.
Note: If you want the old ST_Anything v2.2 code, please pull it by the v2.2 release number and follow the old v2.2 ReadMe
Note: ST_Anything v2.7 was built using the Arduino IDE v1.8.2. Please make sure to upgrade your IDE.
Turn your Arduino UNO/MEGA/MKR1000 or NodeMCU ESP8266 into a Anything you can imagine! ST_Anything is an Arduino library, sketch, and Device Handlers that works with your hardware to create an all-in-one SmartThings device. - Arduino with SmartThings ThingShield - Arduino with W5100 Ethernet shield - Arduino with W5500 Ethernet shield - Arduino with WiFi101 Shield (or Adafruit ATWINC1500 module) - Arduino MKR1000 (has integrated WiFi101) - Arduino with ESP-01 for WiFi - Standalone NodeMCU v1.0 ESP8266-12e - Standalone ESP-01 (or really any ESP8266 based board)
v2.0 Note: There are some significant changes as compared to the old v1.x platform. A signiciant rewrite of the "SmartThings" Arduino library was completed to incorporate Ethernet communications support. To use ST_Anything v2.x, you must also use all of the other supporting libaries found in this GitHub repository. Included is a the new SmartThings v2.x Arduino library which can be used standalone (examples are included in the library), or in conjunction with the ST_Anything library.
v2.6 Note: Version 2.6 builds upon the changes in v2.x to incorporate SmartThings new Composite Device Handler (DH). This new functionality allows one Parent DH to create many Child Devices (using Child DHs). This allows more than one of each SmartThings capability per Arduino. Previously, this was only possible through the use of a Multiplexer SmartApp and virtual devices. The only manual device that has to be create within the ST IDE is the Parent. The ST_Anything Parent DH has been written to automagically create Child Devices that exist, or are added to, the Arduino ST_Anything sketch.
For now, I focused on getting the new Parent/Child Device Handlers ready along with the new "ST_Anything_Multiples_xxxxx.ino" example sketch files. All of my previous examples have not been modified yet to support the new SmartThings v2.6 library and Device Handlers. Therefore I have removed them from the v2.6 release to avoid confusion. The "ST_Anything_Multiples_xxxx.ino" examples are here to get you started. I hope to add other example sketches when I have more time.
THIS DOCUMENT IS A WORK IN PROGRESS! So please be patient. The essential code is all here and has been tested. Documentation is still lacking somewhat, so feel free to submit a pull request to improve this ReadMe as you try to get things working.
New v2.6+ Parent / Child Devices
This package currently implements the following SmartThings Device Capabilities: - Alarm (Siren only currently) (digital output to a relay) - Configuration (to set polling intervals from ST Cloud) - Illuminance Measurement (photo resistor) - Motion Sensor (HC-SR501 Infrared PIR) - Relative Humidity Measurement (DHT22, DHT11) - Switch (Sunfounder Relay - http://amzn.com/B00E0NTPP4) - Temperature Measurement (DHT22 - requires Rob Tillaart's DHT 0.1.13 Library, included in this repo) - Temperature Measurement (using Dallas Semiconductor DS18B20's, requires OneWire and DallasTemperature libraries included in this repo) - Water Sensor (http://amzn.com/B00HTSL7QC) - Contact Sensor (Magnetic Door Switch) - Door Control (i.e. Garage Door Contact Sensor + Relay Output) - See 'ST_Anything_Doors' example - RCSwitch Control (i.e. Radio Control Switch) - See 'ST_Anything_RCSwitch' example (Requires RCSwitch library, included in this repo) - Thermocouple Temperature Measurement (via the Adafruit MAX31855 library, included in this repo) - Smoke Detector (as a simple digital input) - Relay Switch (implemented as a timed relay, that turns off locally - i.e. no ST cloud command necessary to turn off) - Button (both pushed and held are supported)
Note: Attempting to use all of these at once on an Arduino UNO R3 is likely to result in running out of SRAM on the UNO (the UNO only has 2 kilobytes of RAM.) Using an Arduino MEGA 2560 with 8 kilobytes of SRAM is recommended if you want to run everything at once.
ST_Anything consists of four main parts: - The ST_Anything example sketches - ST_Anything_Multiples_EthernetW5100.ino - Arduino UNO/MEGA + W5100 Ethernet Shield - ST_Anything_Multiples_EthernetW5500.ino - Arduino UNO/MEGA + W5500 Ethernet Shield - ST_Anything_Multiples_MEGAWiFiEsp.ino - Arduino MEGA + ESP-01 WiFi module with "AT Firmware" - ST_Anything_Multiples_WiFi101.ino - Arduino MEGA + WiFi101 Shield (or Adafruit ATWINC1500 module) - ST_Anything_Multiples_MKR1000.ino - Arduino MKR1000 (has onboard WiFi101 chip) - ST_Anything_Multiples_ESP8266WiFi.ino - NodeMCU v1.0 ESP8266-12e development board (no Arduino!) - ST_Anything_Multiples_ESP01WiFi.ino - ESP-01 (ESP8266-01) module (no Arduino!) - ST_Anything_Multiples_ThingShield.ino - Arduino UNO/MEGA + ST ThingShield - ST_Anything_AlarmPanel_ESP8266WiFi.ino - NodeMCU v1.0 ESP8266-12e development board (no Arduino!) - The ST_Anything Arduino libraries + required 3rd party libraries - The SmartThings libraries - A modified, more efficient version, now with added support for LAN-to-Hub based communications too! - The SmartThings Parent and Child Device Handlers that support sketches above. - parent-st-anything-ethernet.groovy (LAN-to-Hub, Arduino/W5100, Arduino/ESP-01, NodeMCU ESP8266-12e, ESP-01) - parent-st-anything-thingshield.groovy (Thingshield-to-Hub) - child-xxxxxx.groovy - currently 13 child device handlers are available!
~/Documents/Arduino/.C:\Users\yourusername\Documents\Arduino.Arduino/Sketches folder of the repo.ST_Anything_... sketch folders into your local Arduino sketches directory. If you haven't created any sketches, you may not see the folder. In this case, feel free to create it.Arduino/libraries folder of the repo.ST_Anything and SmartThings folders (as well as all of the other library folders) into your local Arduino libraries directory. WARNING: If you are using an Arduino UNO, you may need to comment out some of the devices in the sketch (both in the global variable declaration section as well as the setup() function) due to the UNO's limited 2 kilobytes of SRAM. Failing to do so will most likely result in unpredictable behavior. The Arduino MEGA 2560 has 8k of SRAM and has four Hardware Serial ports (UARTs). If you plan on using many devices, get an Arduino MEGA 2560 or a NodeMCU v1.0 ESP8266-12e board.
Note: If desired, you can still create all of the Device Handlers manually by copying and pasting code from the GitHub repository files into your ST IDE. Trust me, the Github integration in SmartThings is so much easier! And, you will know when new versions of the DHs are available based on the color of each DH in your list of Device Handlers in the IDE.
Your screen should look like the following image:
Your screen should look like the following image:
$ claude mcp add ST_Anything \
-- python -m otcore.mcp_server <graph>