kennychou0529 / openhab

Automatically exported from code.google.com/p/openhab
0 stars 0 forks source link

Make actions modular #351

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
1. Feature Description

Currently, all actions available for scripts and rules are part of the core 
runtime and "hard-wired".
This makes it difficult to
a) contribute new actions (for developers)
b) select a subset of relevant actions (just as with bindings) for an 
installation (for the user)

2. Example Use Case
Things like the Twitter Action 
(https://code.google.com/p/openhab/wiki/TwitterAction) should be an optional 
bundle.

Original issue reported on code.google.com by kai.openhab on 21 Jun 2013 at 8:57

GoogleCodeExporter commented 9 years ago
I have started working on this in a feature branch: 
https://code.google.com/p/openhab/source/list?name=1.3.0-modularactions

Original comment by kai.openhab on 21 Jun 2013 at 8:57

GoogleCodeExporter commented 9 years ago
You have probably already thought of this but the XBMC notification action 
should probably be moved out of core as well. Does it makes sense to bundle the 
action up with the XBMC binding so you only have to install one jar if you have 
XBMC running? Or would you prefer separate distinct jars for each piece of code?

Original comment by ben.jone...@gmail.com on 24 Jun 2013 at 6:49

GoogleCodeExporter commented 9 years ago
Since the XBMC Action makes no sense without the binding itself it should be 
bundled with the binding. But there are other Actions with no corresponding 
binding, they will be moved to their own Action-Bundle.

Original comment by teichsta on 24 Jun 2013 at 6:51

GoogleCodeExporter commented 9 years ago
> Since the XBMC Action makes no sense without the binding itself 

Is this the case? Is there a hard dependency, i.e. does the action only work if 
the binding is there and configured correctly? I would have assumed that you 
could also use the action "stand-alone", if you only require XBMC 
notifications, but do not want to take any control over XBMC. So I would have 
thought of two different bundles (binding + action) for XBMC.

Original comment by kai.openhab on 24 Jun 2013 at 7:39

GoogleCodeExporter commented 9 years ago
> I would have assumed that you could also use the action "stand-alone"

If that is the case, +1 for two separate bindings!

Original comment by teichsta on 24 Jun 2013 at 7:42

GoogleCodeExporter commented 9 years ago
Is there already a XBMC binding? Would be kinda exciting for me.
If not I see no real reason to not seperate the action from the binding. 
Showing a notification in XBMC is a simple POST with a json payload. 
The Binding would probably rather use the telnet connection for live updates of 
states. I don't think that the development of the binding would profit much of 
implementation details of the Action and vice versa (not enough to introduce a 
dependency).

Original comment by till.klo...@gmail.com on 24 Jun 2013 at 7:51

GoogleCodeExporter commented 9 years ago
Agree there is very little code-wise between the two. I guess the only argument 
for combining them is to 'package up' XBMC support into a single addon. Someone 
who comes across openHAB and has XBMC can then just download a single addon and 
have full XBMC binding and action support. I am not too fussed either way as I 
can see the argument from both sides. Just a thought.

Original comment by ben.jone...@gmail.com on 24 Jun 2013 at 8:45

GoogleCodeExporter commented 9 years ago
I'm not completely against bundling these to either. But I let openHAB run on a 
Raspberry Pi and I like to delete unnecessary bundles so they aren't even 
started. This has some positive effect on the startup time of openHAB.
Generally I really like the modularity of openHAB and I think this something 
worth keeping. Although it es debatable if we have to so modular that we have 
to seperate the Action from the Binding here.

Original comment by till.klo...@gmail.com on 24 Jun 2013 at 8:59

GoogleCodeExporter commented 9 years ago

Original comment by kai.openhab on 4 Jul 2013 at 7:43

GoogleCodeExporter commented 9 years ago
Merged branch with changeset 
https://code.google.com/p/openhab/source/detail?r=a09546e3ab538bcbdd4805922e2625
ec9a323691

Original comment by kai.openhab on 1 Aug 2013 at 9:22