Here’s a preview of what I’ve cooked up recently:
How it works:
This is totally hub-less setup – no SmartThings hardware is involved in this project. Although the same result can achieved with SmartThings MultiSensor, for example.
The second piece of software is a custom SmartThings device type that periodically pulls temperature data from Xively data stream and updates its status.
If you’re not familiar with Xively, it’s a generic cloud data service for the Internet of Things, similar to ThingSpeak. I’m not in any way affiliated with Xively, I just use it since the time they were Pachube and later - Cosm.
Why not push data directly to SmartThings using custom REST end-point? Good question. First, ST end-point authentication is too cumbersome. With Xively, I can easily generate multiple API keys with specific permissions (read-only, write-only or read-write) and distribute them to my virtual devices. Second, Xively is very stable and in I never experienced service outage or data loss. Third, having my data written to Xively data streams, I can pull it from from anywhere anytime. It would be impossible to get historical data from SmartThings. And finally, it provides charting capability, allowing me to display temperature graph in SmartThings app.
For Android users, my condolences, no charts for you. It’s not my fault though. Keep putting pressure on SmartThings to update Android app.