Scoping advice for a few Arduino-based HW integration projects

Hi There!

I’m new to SmartThings, and have a cornucopia of devices that I want to build into my system:

  1. Ceiling fan + light (IR control)
  2. Apartment building door buzzer (relay shorting the “door open” switch, plus possible detection of audio on the speaker)
  3. Apartment front door (using a KeyMatic door actuator, controlled from a hacked transmitter and relay contacts)
  4. Curtains, directly controllable by relay contacts

Each of these devices seems to be a perfect candidate for a custom Arduino gateway. That said, I’m having trouble wrapping my mind around some of the smaller details:

  1. I picked up a SmartThings Arduino shield, but as I read the documentation it seems that it can only assume a single “role” in the system. I’m planning on doubling up where a single Arduino controls more than one device… Is the SmartThings shield useable in this scenario? Or should I give up and use a WiFi shield and a custom REST API for each device and action?
  2. I’m having trouble understanding how to map my devices to device types. For example, I have a ceiling fan/light with these operations:
  • Light ON/OFF
    I suppose one must decompose this into two devices, a light and a fan. The light is obvious. What about the fan?
  1. My door lock (in Germany, so it’s not quite the same as an American setup) has three positions: LOCK, UNLOCK, and UNLATCH. The first two are persistent states, and the latter is a momentary action (which also switches the persistent state to UNLOCK if not already done). Is there a SmartThings way of representing this? Or do I implement it as a lock/unlock device with an additional momentary switch to open the door?

So many questions… this barely scratched the surface!

Arduinos can definitely play multiple roles as one of mine does in my home. It’s a matter of ensuring the Arduino has enough memory for the libraries you need and you are comfortable with Groovy coding to make your device type work. If you haven’t already, read this thread:

@ogiewon and his son created an amazing project that I and many other have leveraged for our own projects.