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

LightwaveRF Binding

Robert Meerman edited this page Jan 2, 2018 · 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=9761
# The port to send messages on, it will also be monitored for incoming messages 
# you shouldn't need to change this
lightwaverf:sendport=9760
# 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 registered for the first time.
lightwaverf:registeronstartup=true
# Delay between sending messages in ms to avoid swamping 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
Relay RoomId and DeviceId
WifiLink Serial set to "wifilink"
Mood (this isn't the Mood Switch but moods setup in the LightwaveRF App) Room Id
All Off Room Id

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 Read/Write Devices From Version
DIMMER Dimmer Read/Write Dimmer 1.7.0
SWITCH Switch Read/Write Switch 1.7.0
MOOD Number Read/Write Setup in LightwaveRF App 1.9.0
ALL_OFF Switch Read/Write Virtual Device 1.9.0
UPDATETIME DateTime Read Energy Monitor, Radiator Valves 1.9.0 (was called HEATING_UPDATETIME in 1.7.0)
SIGNAL Number Read Energy Monitor 1.9.0 (was called HEATING_SIGNAL in 1.7.0, removed from Radiator valve in 1.9.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
HEATING_OUTPUT Percent Read Radiator Valves 1.9.0
ENERGY_YESTERDAY_USAGE Number Read Energy Monitor 1.9.0
ENERGY_TODAY_USAGE Number Read Energy Monitor 1.9.0
ENERGY_MAX_USAGE Number Read Energy Monitor 1.9.0
ENERGY_CURRENT_USAGE Number Read Energy Monitor 1.9.0
RELAY Number (-1 Close, 0 Stop, 1 Open) Read/Write Relay 1.9.0
WIFILINK_IP String Read Wifi Link 1.9.0
WIFILINK_DUSK_TIME DateTime Read Wifi Link 1.9.0
WIFILINK_DAWN_TIME DateTime Read Wifi Link 1.9.0
WIFILINK_UPTIME Number Read Wifi Link 1.9.0
WIFILINK_LONGITUDE String Read Wifi Link 1.9.0
WIFILINK_LATITUDE String Read Wifi Link 1.9.0
WIFILINK_FIRMWARE String Read Wifi Link 1.9.0

Force WiFi Link to register your device

Occasionally (perhaps only on the older models?), the WiFi Link will fail to ask you to confirm a new registration, regardless of the setting in openhab.cfg.

If this is the case you'll get an error like this in openhab.log

Error converting message: 200,ERR,1,"Not yet registered. Send !F*p to register"

To force the WiFi Link to register your new device paste this into a shell, making sure to set the IP address of the WiFi Link correctly. Then head over to the WiFi Link so you can press 'OK'.

echo -ne '001,!F*p|' | nc -w1 -u 192.168.x.xx 9760

Radiator Valve Polling

This binding will receive updates from the Radiator Valves whenever they are sent. However if you want a consistent update then you can add a poll_time to send a poll message at regular intervals.

See below for a typical example configuration. Note the poll_time is in seconds 1800 seconds = 30 minutes in the example below. You 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