I was thinking of only implementing a handful of clusters to start. I already have objects for the analog, contact, light, switch, level, color, temperature, and door clusters. As for the endpoints, yes we could easily support more than a 100 end points. However, the Device Type Handler in SmartThings would be out of control with that many endpoints. I think I would set a limit around 25 endpoints. That would give you 25 sensors you could report up to SmartThings or 25 relays connected to the Arduino you could turn on and off from SmartThigns all with one Device Type Handler! It has been awhile since I have written a multi endpoint DTH and last time I did I had to jump through some hoops to get it to work. I think support has improved for multiple endpoints and I expect it to be easier. If they have limits on the number of supported endpoints then I would have to adhere to that number. The ZigBee speck supports devices with over 200 endpoints.
There is a difference between a ZigBee device and a ZigBee cluster. ZigBee devices are made up of a collection of ZigBee clusters with mandatory support for some of the cluster’s attributes. I would like to stay away from saying the ZAOC is one device or another but give the user enough clusters they could make several devices.
A thermostat is both a device and a cluster with mandatory attributes that must be supported and I would like to stay away from being that specific. If someone wants to create a thermostat out of an Arduino they have a lot of safety items and fail safes that need to be addressed not to mention 24 volt AC to deal with. Some thermostats control when the HVAC fan kicks in, when the heating elements come on, how long the fan runs after the elements are switched off etc. In my mind the ZAOC needs to stay focused for the maker market (quick projects that fit a very specif need). Here is an example that is similar in function to a thermostat the ZAOC will have the supporting clusters for. Say you have brooder light (red heat lamp) to keep you chickens warm. It doesn’t matter if the light is left on all the time or not. It is installed in a way nothing will catch fire if stays on all the time. Normally before a cold spell hits you walk out and plug it in and leave it plugged in until the cold spell passes. Well with a temperature sensor and a relay hooked up to your Arduino you could build a device to do this. You would have a couple approaches on how to design your solution. One would rely heavily on the cloud and the other would not rely on the cloud for core functionally. The cloud dependent solution would use a SmartApp running in the SmartThings cloud to turn the light on and off based on the temperature. Your SmartApp would subscribe to the temperature capability of your DTH and if it got above 45 you could send the off command to the switch capability of your DTH. This solution would rely on the cloud and a SmartApp to function. So if your internet connection is down your light may miss the off command and stay on too long or not come on at all. Another approach you could take with such a solution is to build in the smarts to turn on and off the light based on temperate in your Arduino app. Only use SmartThings to send the set points for the temperature to turn on and off. You can use the analog cluster to do this. So now you don’t need a SmartApp but just a DTH with set points. You could have the low set-point at endpoint one of the analog cluster and the high set-point at endpoint two of the analog cluster. Your Arduino would just receive a string like “analog 1, 45.0” so it would know to set the off temperature to 45.0 degrees. The ZAOC would support the necessary clusters to make both of these solutions possible.
As for the intruder alarm I bet you talking about a IAS Warning Device (device number 0x103). For now I see putting all the security clusters in a phase 2 of the project. I want to stay away from specific device definitions.
Addendum: @geko as I reread that I want to make sure I don’t come across as talking down to you!! I was just trying to illustrate it for others. I know you live and breath SmartApps and Device Type Handlers!! Need and want your input!! Thanks!!
@chickenPeople (smile) I know there is much discussion on if you should put a heat lamp in a Chicken Coop before anyone starts down that road I acknowledge that and I’m just using it here as an example!