I have got few emails about the IHC binding (sources can be found from the clones). So here is some quick information how to configure and test it.
Install IHC binding jar file to OpenHAB addons folder.
Configure binding by adding following lines to your OpenHAB configuration file (e.g. openhab_default.cfg) and fill IP address, user name and password. Project file is only mandatory, if you want to use enum data types between OpenHAB and IHC controller. Currently binding does not support project file downloading from the controller, so you can leave path empty if you don't need enum values.
IHC controller TLS certificate is self signed, so by default OpenHAB (Java) will not allow TLS connection for security reason. You need to import controller certificate to trusted list by java keytool. You can download certificate e.g. by firefox, just open https connection to your controller IP address, click "lock" icon (just before URL box) -> more information -> security tab -> view certificate -> details tab -> export.
key tool OS X example:
sudo keytool -keystore /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security/cacerts -importcert -file ELKOLivingSystemController.pem
IHC binding use resource id's to control and listening notification to/from the controller. You can find correct resource id's from you IHC project file.
The syntax of the binding configuration strings accepted is the following:
ihc="[>]ResourceId[:refreshintervalinseconds]"
where parts in brackets [] signify an optional information.
The optional '>' sign tells whether resource is out binding only, where internal update from OpenHAB bus is just transmitted to the controller.
Binding will automatically enable runtime value notifications from controller for all configured resources.
Refresh interval could be used for forcefully synchronous resource values from controller.
Currently OpenHAB's Number, Switch, Contact, String and DateTime items are supported.
OpenHAB data type <-> IHC data type(s)
Number <-> WSFloatingPointValue, WSIntegerValue, WSBooleanValue, WSTimerValue, WSWeekdayValue
Switch <-> WSBooleanValue
Contact <-> WSBooleanValue
String <-> WSEnumValue
DateTime <-> WSDateValue, WSTimeValue
Few examples, how to configure your items (demo.items):
Weather temperature is download from internet and updated to IHC controller object where resource id is 1234567:
Number Weather_Temperature "Outside Temp. (Yahoo) [%.1f °C]" <temperature> (Weather_Chart) { http="<[http://weather.yahooapis.com/forecastrss?w=638242&u=c:60000:XSLT(demo_yahoo_weather.xsl)]", ihc=">1234567" }
Binding listens all state changes from controller's resource id 9953290 and update state changes to OpenHAB Light_Kitchen item. All state changes from OpenHAB will be also transmitted to the controller (e.g. command from OpenHAB console 'openhab send Light_Kitchen ON').
Switch Light_Kitchen {ihc="9953290"}
Such as previous example, but resource value will additionally asked from controller ones per every minute.
Number Temperature_Kitchen "Temperature [%.1f °C]" <temperature> (Temperature, FF_Kitchen) { ihc="4148500:60" }