I have similar interests to those expressed by btosch.
I've suggested the ability to have an external script as an event, along with a rules API, which amounts to much the same thing. The two rules I'd implement right now:
- if the front door is closed, call a script that will wait 5 minutes then lock the door
- if the front door is opened, call a script that will cancel any running wait script that is about to lock the door
The end result is that the door will lock itself if it has been closed for 5 minutes.
And:
- if I open the outer garage door (eg just coming home) then activate the following rule for the next 3 minutes:
- if the door between the garage and house is opened AND my kitchen and family room lights are both off,
and it is (after 5pm, after dusk, a light sensor reports dark, whatever) then turn on the kitchen light
Anything less complex is just not going to be smart enough. Making the GUI complex enough to handle all foreseeable combinations is going to be unusable (if it is even possible). But a scripting language, or the ability to interface to external scripts, would be extremely powerful.
External scripts could be supported by having some fixed directory on the A+ exported via samba, so scripts are managed via the user's normal file manager interface. Well, for security maybe they should be uploaded via the web UI. Anyway, I would suggest python for the language (I'm quite partial to it myself), which could be supplied via an external python implementation (which I know is available on OpenWrt) or perhaps be embedded in the Rules driver. Python would be a lot simpler for end users than requiring them to use the full C++ based SDK. Sensors could be class level objects that can be queried, activated, etc -- it would be very nice to use.
I'm sure there are a lot of different opinions on exactly how to do this, which language to use, etc, but I think a high level scripting language of some sort would REALLY make the A+ a powerful home automation controller.