Just received the first installment of my SmartThings - having quite a bit of fun scaring my dogs with automatic lighting.

I have a small pile of devices I’d like to integrate and I’ve just ordered a few more. Unfortunately, I don’t have a ThingShield.

Let’s start with the simplest device of the bunch - the ThingM blink(1). It’s a USB-powered RGB LED. The API is documented here: https://github.com/todbot/blink1/blob/master/docs/app-url-api.md - there’s also a public HTTP (i.e. not local) queue that’s tied to your device ID, which is what I’d use for this. (It works kind of like the electric Imp legacy HTTP API…another device I want to integrate soon.

How would I go about registering specific devices since it’s not ZigBee? I could maybe do this as a SmartApp, since it’s unidirectional, but I’d like to expose it as a generic switchlevel device so it could be integrated WITH other SmartApps.

@alexanderlash - We’re working on the ability for the hub to act as a proxy between the SmartThings Platform and devices on the local LAN. The initial release will focus on SSDP-based discovery of devices, and HTTP and UPnP for data transport and device control.

If you’re going to use a public internet-accessible API, it is possible to write a Device-Type Handler that talks to the public web service and exposes it as a device that can be interacted with by SmartApps, though we’re not quite there yet for the general user to be able to install these non- Zigbee or Z-Wave devices using the mobile app - you have to do it from within the developer web-app today.

Unfortunately, our Device-Type Handler documentation is pretty incomplete at the moment, especially when it comes to integrating with external web services from within the Device-Type Handler. If you can point me at the documentation, I’ll see if I can whip up a quick example.

Then, you can add the device manually in the IDE (My Devices -> New Device), name your device, use the Device Network ID to input the unique device ID that identifies your specific device with the remote cloud service (see device.deviceNetworkID in the example), and select your custom device type from the Type dropdown.