I've been working with LMCE for some time trying to have a good interface to my EIB system. I struggled with the standard EIB interface and decided to do something different.
I have developed a working interface in java for EIB (lights, dimmers, drapes, thermostats) using eibd interface. I wonder if this be of any use to the community and I am not sure if it fits well into overall LMCE architecture.
The general architecture of the system is following :
In LMCE there is a device EIBJavaInterface which implements DCE for all EIB devices which should be children of it.
The devices implement DCE commands on/off set temp etc.
which are handled by
- asynchronous DCE iterface to dcerouter (reading DCE commands and handling them respectivly)
- asynchronous monitor of EIB bus to listen to EIB packets -to update state in LMCE devices based on information from the bus (i.e. user turns light on using a switch, or temperature changes)
All configuration information is stored in pluto database as DeviceData and is read directly from pluto_main and the device is started up by LMCE mechanism. It is a working version let's say alpha stage.
I have a few questions :
- my new device templates disappear after backup/restore so they don't get backed up. Is there any smart way to go around it. I used php script I found on the forums but I never know if anything else should be backed up as well. (I learnt this the hard way with the custom command groups missing which caused dcerouter to do segmentation fault)
- configuration data is read directly through connection to pluto_main database on dcerouter. Should I do it as request to dcerouter via DCE or it's fine like that
- is java as a platform a show stopper for LMCE
- I have troubles with updating device state infromation back to dcerouter for dimmers. I would appreciate a link to a source which does this kind of job for dimmers so that it is correctly showed on floor plans
- I think about implementing support for advanced Room automation (i.e. managing drapes & lights togethear depending on motion detection time of day etc.) it's a bit too complex to handle via scenarios is there other mechanism in LMCE to manage this kind of relationships or it's best to embed it into my system or extend Lighting or Climate plug-ins
Many more in the pipe
but let's start with this.
If you thing it could be valueable please let me know what should I do so it fits LMCE. It's my first open source active participation so please excuse any "faux pas"
Last but not least you did a great job in LMCE let's keep it going.