====== Examples for OpenHAB ====== At this page we collect example configurations for the OpenHAB integration of smarthomatic devices. using the [[https://github.com/mcjobo/openhab/wiki/Smarthomatic-Binding|Smarthomatic-Binding]] published at Github. Some [[https://github.com/Roadyweb/openhab_myconfig|example configurations]] can be found there as well. ====== Item definitions ====== An EnvSensor with Temperature + Humidity message: Number Temp1 "Temperature1 [%.1f °C]" (gTemperature) {smarthomatic="<[deviceId=123, messageGroupId=10, messageId=2, messagePart=1:JS(getDiv100.js)]"} Number Humi1 "Humidity1 [%.0f]" (gHumidity) {smarthomatic="<[deviceId=2, messageGroupId=10, messageId=2, messagePart=0:JS(getDiv10.js)]"} A battery status message: Number Batt1 "Battery1 [%.0f]" (gBattery) {smarthomatic="<[deviceId=123, messageGroupId=0, messageId=5]"} Two switches connected to a GPIO pins and mapped to DigitalInputPin 0 and 1 in e2p : Switch Switch1 "Switch1" (gSwitch) {smarthomatic="<[deviceId=123, messageGroupId=1, messageId=1, messagePart=0]"} Switch Switch1 "Switch1" (gSwitch) {smarthomatic="<[deviceId=123, messageGroupId=1, messageId=1, messagePart=1]"} ====== A flood detection sensor ====== Based on the EnvSensor the short between a GPIO-PIN and GND or a special switch can be used as a water detection sensor. The item definition on OpenHAB (the contacts are mapped to the third DigitalInputPin in e2p): Switch Water_Basement "Water sensor basement [MAP(water.map):%s]" (gBasement,gSensorWater,gSensor) {smarthomatic="<[deviceId=123, messageGroupId=1, messageId=1, messagePart=2]"} The water.map file: ON=dry OFF=wet -=?? The rule to send a mail if a short between the pins is connected: val String mailTo = mymail@server.com rule "water detection" when Item gSensorWater received update then // check for any water detection sensors in the house that are activated (OFF state = closed = wet) if (! gSensorWater.allMembers.filter([state == OFF]).empty) { logInfo("sensor.rules", "Water alarm tripped by short detection sensor!") Alarm_Water.postUpdate(ON) } end rule "water alarm" when Item Alarm_Water received update ON then report = gSensorWater.allMembers.map[name + ": " + state].join("\n") val message = "A water sensor was activated!!! \n\nsensor status:\n" + report + "\n\n regards, OpenHab" sendMail(mailTo, "WATER ALARM!!", message ) end