I’m undertaking a final year student project. I’ve read through the developer introduction page and I’m a little unclear about what SmartThings is compatible with. In some text, I read that ‘SmartApps will work regardless of make or model’, but in other areas I read about the devices that SmartThings is compatible with. A search of the site and forums does not return any results about Phidgets.
So - can you create a SmartApp to work with anything, (i.e. IP accessible device), namely Phidgets?
I appreciate that the answer may be in the documentation, and I am eager to begin reading it. However, as time is of the essence, I appreciate your advice in advance. All I need is a yes/no - hopefully the answer is that clear - and then happy to crack on with the documentation.
Obviously I’m a newcomer to this. Have read the community guidelines. Couldn’t find an appropriate thread to post on so hope this fresh one is okay. Look forward to speaking with you and hopefully becoming a regular member of the community.
Unless I missed it, phidgets are essentially a grown-up version of little bits, and have no radio frequency modules. (Little bits does offer a Wi-Fi module.)
Without their own radio, phidgets can’t communicate with anything. So it looks like the usual method is to use a raspberry pi and add completely separately radio modules to that. Or to plug it into a phone And use the "fidget web service for local network connection. "
That’s perfectly reasonable way to make many projects work, but you need to be aware that’s what’s going on. The fidgets themselves are not communicating. It’s the pi (or the phone) that is communicating by RF and then issuing the actuator commands for the phidgets.
Many people use raspberry pi projects with SmartThings, usually through the OBything library. My suggestion would be that if you’re in the US, talk to people in the OBy thing thread, they should be helpful. (This is a clickable link)
If you’re in the UK, you can’t use the SmartThings thingshield there, (it doesn’t meet local regulatory requirements) so I would look for a different controller.
Also make sure you understand what it is that smartthings is going to do. It is not going to issue actuator commands directly to your phidgets. Or process them directly as inputs. There’s going to be a lot of code needed on the pi side. If you’re just looking for a building block robotics controller, this is not it.
What SmartThings could let you do is take the output from your phidget and use it to actuate an household automation device that SmartThings does control, like a light switch. So if that was your idea for your project, then SmartThings might fit into it.
CAN’T I JUST USE A LAN CONNECTION?
While it would seem natural to communicate over the local area network using the phidget web service, my guess is this is not going to work the way you expect it to the first time and would be a huge amount of additional effort to make work the way phidget expects it to work. If it’s even possible. Smartthings just doesn’t expect devices to connect locally via UDP, UPNP, or the usual local methods. It’s expecting cloud to cloud connection via API.
SmartThings for a Schools Project?
The other problem with going this way is that because local connections are not officially supported, SmartThings can remove some functionality at anytime and could break your project, and that could be a disaster for a schools effort.
So for your particular project, while it may be possible to use SmartThings, my own recommendation would be, no, this is not going to be your best choice.
Instead, if it fits your use case, I would suggest just using a Hue bridge as your lights controller (reliable, well documented, open API, LAN connectable) and then building whatever you’re building on the phidget side to actuate your light events. It will be impressive, straightforward, reliable and any complexities you run into will be in working with the phidgets themselves, which makes sense. And you won’t have to worry about going to bed on Monday with everything working great and waking up on Tuesday to find that nothing is working on the day you’re due to demonstrate your work.
If you’re looking for a more complex project, I would think just the raspberry pi without SmartThings would again make more sense. There are plenty of IP addressable devices you can use.
Choosing the Devices for your Project
The main advantage that SmartThings has is that its controllers are certified to control both Z wave and zigbee devices. So if the specific devices that you want to control are using those particular protocols, then having the certified controller is valuable. And the biggest advantage of zwave and Zigbee for practical home automation is that they use very little power over years and the devices themselves are inexpensive.
But if you’re starting a project from scratch and you get to choose your own protocols and your own devices, and you’re demoing without concerns about energy use, Wi-Fi based devices would probably make more sense. And that is not SmartThings’ strong point.