So,
Having been using an HA based on xAP for some years, I'm moving over to openhab. Primarily due to the pace of development and support for new technologies.
The current system is running on Win2K3 and the new on an Odroid U3, which is an impressive piece of kit. I have around 80 DMX channels (some RGB), 14 onewire sensors, 4 Squeezeserver/LMS clients, an Asterisk interface, a CADDX alarm interface, an SMS interface(rarely used), some LCD 4 x 20 displays/8 button inputs and about 40 other misc inputs/outputs using 4 x Netiom - as well as a semi-autonomous boiler controller using a Mitsubishi PLC(not Ethernet, sadly). As you can see, lots to move across!
The first step is to replace the Mitsubishi and one Netiom with a Siemens LOGO! 0BA7 PLC. The PLC runs the boiler/pumps/valves in a manner which allows manual control/fallback - if the HA fails then we can still heat the house and get hot water! So, first task was to write a binding for the 0BA7, which is now moved into live test. It does support full memory read write (bit, byte and word - VB/VW) as well as I, Q, M, AQ, AM, AI status.
The binding uses the Snap7/Moka7 library which is supplied as source (no jar file) under LGPL3. Now, I know this isn't preferred but writing from scratch isn't an option. The author comments
http://snap7.sourceforge.net/licensing.html:
Basically this means that you can distribute your commercial software linked with Snap7 without the requirement to distribute the source code of your application and without the requirement that your application be itself distributed under LGPL.
A small mention to the project or the author is however appreciated if you include it in your applications.
So, I'm not sure how this will fit with EPL and openhab and, worst case, the binding isn't distributable I'd guess.
Anyway, I now have a working system with onewire, squeeeserver, LOGO! and Asterisk bindings. I'll move DMX over in the next few weeks.
The two bindings left to do are CADDX and BLE presence detection (nothing clever, such as microlocation - think using BLE tags or your UP24 for occupied status). And some more i/o, somehow - probably remotes using MQTT.
I'll keep you updated.
Lehane
(g8kmh)