Skip to content
This repository has been archived by the owner on May 17, 2021. It is now read-only.

IHC Binding

dakalff edited this page Nov 22, 2013 · 7 revisions

Introduction

This binding is for the "Intelligent Home Control" building automation system originally made by LK, but now owned by Schneider Electric and sold as "IHC Intelligent Home Control". It is based on a star configured topology with wires to each device. The system is made up of a central controller and up to 8 input modules and 16 output modules. Each input module can have 16 digital inputs and each output module 8 digital outputs, resulting in a total of 128 input and 128 outputs per controller.

For installation of the binding, please see Wiki page Bindings.

Binding Configuration

add to ${openhab_home}/configuration/

Configure binding by adding following lines to your OpenHAB configuration file and fill IP address, user name and password according your controller configuration. Timeout need to be configured in milliseconds (5000 = 5 seconds).

Binding will download project file from the controller. Binding also listening controller state changes and when controller state is changed from init to ready state (controller is reprogrammed), project file will be download again from the controller.

######################## IHC / ELKO LS Binding ########################################
# Controller IP address 
ihc:ip=

# Username and password for Controller
ihc:username=
ihc:password=

# Timeout for controller communication
ihc:timeout=5000

IHC / ELKO LS controller communication interface is SOAP (Simple Object Access Protocol) based limited to HTTPS transport protocol. Controller TLS certificate is self signed, so by default OpenHAB (precisely Java) will not allow TLS connection to controller for security reason. You need to import controller TLS certificate to trusted list by using java keytool.

You can download controller TLS certificate e.g. by Firefox browser; just open HTTPS connection to your controller IP address (https://192.168.1.2), click "lock" icon (just before URL box) -> more information -> security tab -> view certificate -> details tab -> export.

Keytool usage:

$JAVA_HOME/bin/keytool -importcert -alias <some descriptive name> -keystore <path to keystore> -file <certificate file>

See more information about the keytool from here.

Keytool usage example (OS X):

sudo keytool -importcert -alias ELKO -keystore /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security/cacerts -file ELKOLivingSystemController.pem

Item Binding Configuration

IHC / ELKO LS binding use resource ID's to control and listening notification to/from the controller. You can find correct resource ID's from your IHC / ELKO LS project file. Binding support both decimal and hexadecimal values for resource ID's values. Hexadecimal value need to be specified with 0x prefix.

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.

Refresh interval could be used for forcefully synchronous resource values from controller.

Binding will automatically enable runtime value notifications from controller for all configured resources.

Currently OpenHAB's Number, Switch, Contact, String and DateTime items are supported.

**OpenHAB data type** **IHC / ELKO LS data type(s)**
Number WSFloatingPointValue, WSIntegerValue, WSBooleanValue, WSTimerValue, WSWeekdayValue
Switch WSBooleanValue
Contact WSBooleanValue
String WSEnumValue
DateTime WSDateValue, WSTimeValue

Examples, how to configure your items (e.g. 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]" (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="0x97E00A:60" }

Installation


User Interfaces


Community

(link to openHAB forum)

Development



Misc


Samples

A good source of inspiration and tips from users gathered over the years. Be aware that things may have changed since they were written and some examples might not work correctly.

Please update the wiki if you do come across any out of date information.

Use case examples

Collections of Rules on a single page

Single Rules

Scripts


Release Notes

Clone this wiki locally