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

LightwaveRF Binding

foxy82 edited this page Jun 30, 2015 · 13 revisions

Introduction

This binding supports the LightwaveRF products using the LightwaveRF Wifi Link that is available as part of that range.

Binding Configuration

First you need to configure the following values in the openhab.cfg file (in the folder '${openhab_home}/configurations'). The defaults should suffice unless you know what you are doing.

################################### LightwaveRf Binding #####################################
#
# The IP Address of the LightwaveRf Wifi Link you can use the broadcast address (required)
lightwaveRf:ip=255.255.255.255
# The port to monitor for messages you shouldn't need to change this
lightwaveRf:receiveport=9760
# The port to send messages on, it will also be monitored for incoming messages 
# you shouldn't need to change this
lightwaveRf:sendport=9761
# For a new computer you will need to register it with the wifi link to be allowed to send messages
# setting this to true we will send a registration message on startup. You will need to confirm
# registration on the wifi link. There is no harm leaving this as true but you can set to false
# once you have registerd for the first time.
lightwaverf:registeronstartup=true
# Delay between sending messages in ms to avoid swapming Wifi Link
lightwaverf:senddelay=2000
# Timeout for OK Messages in ms, we will retry messages we don't receive an ok for in the timeout
lightwaverf:okTimeout=1000

Item Binding Configuration

To configure the items you first need to add the devices using the LightwaveRF App on iPhone or Android. You can add switches, dimmers and radiator valves.

Once you have done this you need to find out some identifiers to allow the devices to be added to Openhab as below.

Device Identifier Required
Light Switch RoomId and DeviceId
Dimmer RoomId and DeviceId
Radiator Valve RoomId and Serial Number
Energy Monitor Serial Number

To do this sniff your network using something like wireshark whilst sending commands using the smartphone application. You should see messages like "100,!R1D3F1"

This means that lightwave switch/dimmer roomId = "1" and device id = "1"

For thermostats you will see a message like "100,!R1F*r" this means the room id = "1". There will then be a return message that looks like JSON with the following in it... "serial":"123DEF" this means the serial id = "123DEF".

The LightwaveRF binding works on the concept of giving each item a type. This will determine the value that item is loaded with when an update is received.

Valid types are

LightwaveRF Type OpenhabType/b> Read/Write Devices From Version
DIMMER Dimmer Read Dimmer 1.7.0
SWITCH Switch Read Switch 1.7.0
UPDATETIME DateTime Read Energy Monitor, Radiator Valves 1.8.0 (was called HEATING_UPDATETIME in 1.7.0)
SIGNAL Number Read Energy Monitor, Radiator Valves 1.8.0 (was called HEATING_SIGNAL in 1.7.0)
HEATING_CURRENT_TEMP Number Read Radiator Valves 1.7.0
HEATING_BATTERY Number Read Radiator Valves 1.7.0
HEATING_SET_TEMP Number Write Radiator Valves 1.7.0
HEATING_MODE String Read Radiator Valves 1.7.0
ENERGY_YESTERDAY_USAGE Number Read Energy Monitor 1.8.0
ENERGY_TODAY_USAGE Number Read Energy Monitor 1.8.0
ENERGY_MAX_USAGE Number Read Energy Monitor 1.8.0
ENERGY_CURRENT_USAGE Number Read Energy Monitor 1.8.0

See below for a typical example configuration. Note the poll_time is in seconds 1800 seconds = 30 minutes in the example below. You also only need to set the poll time on one item per radiator (I recommend the current temperature as per below). A poll will actually update all values.

Examples, configure for your items:

Dimmer  Dimmer1 "Dimmer1 [%d %%]" (ALL) { lightwaverf="room=3,device=2,type=DIMMER" }
Switch  Switch2 "Switch2" (ALL)         { lightwaverf="room=3,device=3,type=SWITCH" }

Number RadiatorCTemp "Radiator [%.1f C]"  { lightwaverf="room=4,serial=BF3B01,type=HEATING_CURRENT_TEMP,poll=1800" }
Number RadiatorSTemp "Radiator Set Temp [%.1f C]"  { lightwaverf="room=4,serial=BF3B01,type=HEATING_SET_TEMP" }
Number RadiatorBatt "Radiator Battery [%.2f]"     { lightwaverf="room=4,serial=BF3B01,type=HEATING_BATTERY" }
String RadiatorMode "Radiator [%s]"     { lightwaverf="room=4,serial=BF3B01,type=HEATING_MODE" }
DateTime RadiatorUpdated "Radiator Updated [%1$tT, %1$tF]"  { lightwaverf="room=4,serial=AF4A02,type=HEATING_UPDATETIME" }

================

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