LightwaveRF + OpenHab2

HI Guys,

Has anyone successfully integrated LightwaveRF switches with OpenHab2.

Any guides/Advice ?

Thanks
Jon

Don’t worry - fixed. It needed the latest snapshot.

thx

Did this work fully for you?
I’d so, could you notify Kai that it works?

Hi Jon,

Would you mind sharing how you got this to work?

Thanks

I have this partially working in OpenHab2.
What does work:
Manually Creating Switch Item, linked to LightwaveRF Room and DeviceID
Creating Switch in Sitemap for the above Item
Toggling switch in Sitemap GUI Classic and the LightwaveRF device turns on and off
What does not work for me:
Binding discovery in Paper UI

I have it switching my devices via lightwaverf, but there were errors in the Karaf log on adding the binding, and the binding does not show up in Paper UI list of available bindings (even with 1.x compatibility turned on), but I was able to create an Item and Sitemap button fine, which toggled my lightwaverf switches fine. I haven’t tried dimmers/moods yet.

Ubuntu 14.04LTS x64
Java 1.8.0_111
Openhab2 2.0.0b4 2.0.0 -SNAPSHOT build #560 offline manual install, as per http://docs.openhab.org/installation/linux.html#manual-installation
(therefore my openhab2 is installed under /opt/openhab2) - adjust where necessary. 1.x compatibility was already enabled in this release

1 - create file opt/openhab2/conf/Services/openhab.cfg and populate with the sample lighwaverf binding configuration as per


I left alone - the default IP using the broadcast address worked for me.

2 - copy the lighwaverf binding jar (version 1.9.0) from snapshot build (link below), into /opt/openhab2/addons/
https://openhab.ci.cloudbees.com/job/openHAB1-Addons/lastSuccessfulBuild/artifact/bundles/binding/org.openhab.binding.lightwaverf/target/
When I copied the .jar file over, my lightwave hub immediately started blinking saying “add app?”, so I clicked YES.
The default settings for looking for the device on the broadcast IP 255.255.255.255 worked!

Depending on how you copied the file over (I used filezilla from my windows machine to the linux server) You might have to check permissions are set properly; I configured it as per manual install to run under user:group openhab, and changed owner of conf/services/openhab.cfg and addons/opt.xxxx.lighwavexxxx.jar to openhab user&group

3 - create an Item in /opt/openhab2/conf/Items (I appended the demo.items file) for each of your switches/dimmers etc - this is where you need to customise your individual device/switch/dimmer/mood. here’s a sample switch in room 2, device 3: (sudo nano /opt/openhab2/conf/Items/demo.items)
Switch LWRF_light1 "bedside light" { lightwaverf="room=2,device=3,type=SWITCH" }
4 - create a switch in a Sitemap, so you can control it from the GUI:
Switch item=LWRF_light1 label="Bedside Light"

that’s it - check the events.log or log:tail command

The errors I encountered from the Karaf command “log:tail” when moving the lightwave binding .jar to /addons:
20:34:25.175 [ERROR] [org.openhab.binding.lightwaverf ] - [org.openhab.binding.lightwaverf.binding(211)] bind method [addBindingProvider] not found; Component will fail
20:34:25.185 [ERROR] [org.openhab.binding.lightwaverf ] - [org.openhab.binding.lightwaverf.binding(211)] bind method [addBindingProvider] not found

The binding never appears in my Paper UI bindings list or list of Things, or in the openhab Karaf console "things"
The Item does appear in the Karaf “items” list.

I am an Openhab newbie, so may have missed some obvious things, but I hope this helps someone out.

Thanks - this should get me going.
Have you been affected by the lightwaverf firmware update? (Have you recently rebooted your LW RF link?)

I rebooted my lightwaverf link this morning to test - I have no issues so far. It is running firmware “U2.93T”

Apologies i missed the email a few weeks back.

I am running he same firmware (U2.93T) and my power meter is not working with OpenHab.

However, the Lights and Sockets are working fine.

I previously made some code changes to the LightwaveRF message formats in OpenHab, to get the meter working. But it has since stopped - looking at the latest log messages they have changed the format.

from (was working after my code changes)
{“trans”:4641,“mac”:“20:04:9E”,“time”:1473168374,“prod”:“pwrMtr”,“serial”:“7D91FE”,“router”:“4F0500”,“type”:“energy”,“cUse”:1262,“todUse”:11322,“yesUse”:0 }

to
{“trans”:22010,“mac”:“20:04:9E”,“time”:1478518509,“pkt”:“868R”,“fn”:“meterData”,“prod”:“pwrMtr”,“serial”:“7D91FE”,“type”:“energy”,“cUse”:3217,“todUse”:17273}

Note the 2 new fields in Bold.

i need to dive into the code again, i assume these two unmapped fields are causing the issue.

I’ll reply with my results.

Thanks
Jon

Does anyone know if proper version 2 support for lightwaverf is coming?
I am stuck between a rock and a hard place, since I am currently kitting out my house with LWRF and need some of the OH2 features for my project, but at the same time, LWRF is critical to my project.

There is some info above - but not quite enough to get me where I need to be.
Anyone have a little more info - how to get a thing setup for LWRF etc?
Ultimately, I am hoping to use the Hue bridge and some rules with an Echo :frowning:
Thanks (and please)

Lighwaverf is now natively supported by an Amazon Echo Skill, although I don’t think it is as good as setting a lightwaverf switch up as a Hue emulated device as the voice commands for a Hue emulated device can be altered to your criteria.

My post from November 1st should get you to the point of a Switch Item that you can control with your sitemap.
Here’s a sample Item:

Switch LWRF_fan1 "Kitchen Fan Switch" { lightwaverf="room=2,device=4,type=SWITCH" }

To get it to work with Echo, I created new set of ‘fake’ Hue Items: e.g.:

Switch Echo_LW_Fan "Kitchen Fan" ["Switchable"]

The name of the Hue item above (“kitchen fan”) is what you will say to Echo.

Then I create one rule for each Hue/Echo item, that just passes the command from Echo to the OpenHAB2 lightwave item:

rule "Echo to Lightwave kitchen fan link"
when 
   Item Echo_LW_Fan received command //Hue Item
then
   sendCommand(LWRF_fan1,receivedCommand) //pass the command to the LWRF item
end

With your Hue Emulation set to Discoverable (PaperUI–>Configuration–>Services–>Hue Emulation->Configure–Pairing Enabled ) you can now ask “Alexa - discover Devices” or do it from your phone app.

You can now say “Alexa, turn the kitchen fan on”, and bob’s your uncle.

This is just my method. I am sure there is a more elegant way of going about it.

Hey…

See here for my response of details of Lightwave on OH2: https://github.com/openhab/openhab/pull/3457

Once OH2 is stable I might port it across but please note I don’t use the binding anymore - I originally used it for heating the Lightwave heating is rubbish so I’ve abandonded it.

Thanks Steve,

I am guessing that you use the Hue binding rather than the native Echo binding because the responses are quicker?
I have the Echo controlling my LightwaveRf switches directly, but response times are shockingly bad (15 seconds sometimes) I’ll take your approach above and let you know how I get on.

QQ - do the hue Items appear for management by PaperUI then?

Hi Alan,
The HUE binding is fast - I say “Alexa, turn on the kitchen fan” (a HUE item with rule linking it to a lightwaverf socket Item) and it turns it on before the Echo has started to say its reply - seconds. I have not tried the native Lightwaverf skill for comparison.
I chose the HUE binding because a) the official skill was not published when I started, and b) I wanted the extra control over utterances used to control the switch (the description of the Hue Item) compared to the Lightwaverf ones http://www.lightwaverf.com/alexa/

I can see advantages of the official Alexa Skill - namely a single point of naming and configuring devices and moods, but you can still trigger moods via OpenHAB2 without re-defining the underlying actions in OpenHAB2 (trigger the mood using OpenHAB2, define the mood using the App)

Re: appearing in PaperUI:
no - nothing is shown in PaperUI for me (either in Control or Configuration or Bindings). I configure everything through Eclipse SmartHome, and the Switch Items I need to interact with (the Items with the lightwaverf binding, not the HUE dummy items) I add to the Sitemap, which are then visible on the Classic UI that I use via iPhone OpenHAB app. I use the Karaf console log (log:tail) to see what is happening behind the scenes.

I’ve just moved my lightwaverf plugin switches to Orvibo S20 wifi switches, as it is possible to query the state of the switch, unlike the lightwaverf switches that are - as you no doubt know - are one-way control only.

dang - that sounds a marked improvement
So . . here I go - thanks for the prompt responses

So far so good, thanks. LWRF functioning ok through sitemap - time for the hue binding. Thanks

Probably a little off topic but I know LightwaveRF protocol doesn’t support acknowledgements etc but will the wifi link/openhab be informed if a light switch is switched manually?

@qu3uk no- the wifilink hub doesn’t receive anything from the remote switches (RF-433MHz not WiFi). OpenHAB therefore doesn’t know when a switch is controlled manually and can ‘lose sync’ with the actual light status (OpenHAB thinks the switch is ON, but it’s actually been switched OFF manually, so the sitemap icon is wrong).

This is part of the reason I have moved to the Orvibo S20 (or Belkin WeMo) wifi remote sockets.

Theoretically you could have a 433MHz receiver like the Telldus Tellstick or similar that listens for the RF commands from the manual switches and updates the OpenHAB switch status accordingly.

Hue binding works so much quicker than the LWRF stuff on Echo.
I’ve remove the LWRF skill now and will be running the OH2 Hue binding combo from now on.

Thanks

Hi @steve098, thanks for the tutorial - works like a charm! Is there a way to turn on/off a group? Say I have two Dimmer items in my living room:

Group GF_Living     "Living Room"   <living>    (gGF)

Dimmer Light_GF_Living_Ceiling		"Ceiling"	{ lightwaverf="room=2,device=1,type=DIMMER" }
Dimmer Light_GF_Living_Lamp		"Lamp"		{ lightwaverf="room=2,device=2,type=DIMMER" }

Dimmer HUE_Light_GF_Living_Ceiling	"Living Room Ceiling"	(GF_Living, Lights)		[ "Lighting" ]
Dimmer HUE_Light_GF_Living_Lamp		"Living Room Lamp"	(GF_Living, Lights)		[ "Lighting" ]

Is there a way to tell “Alexa, turn on Living Room” and both dimmers turn on? Thanks!

TIP: If anyone is struggling to get the hue emulator detected, check your curly quotes vs straight quotes. I was copy-pasting curly quotes from the web and it caused hours of frustration. Must use straight quotes in conf files.

Hi,
we digress slightly from the topic of Lightwave binding…
there are probably a number of ways of achieving this.
I would create a new Switch Item as a Hue switch that Echo can control, then set a rule that turns the OpenHAB group on. Something like:
Item:
Switch Echo_LivingRoom_Group "Living Room" ["Switchable"] //new Hue emulated switch that will respond to the word “Living Room”

rule:

rule "Echo to Living Room light switches group link"
when
Item Echo_LivingRoom_Group received command //Hue item
then
//send the command to each switch in the group
gF_Living.send(receivedCommand)
end

This I think should work if you create the Hue Item as a Dimmer xxxx xxxxx [“Lighting”] type too, and you ask Alexa to "Dim living room to 50%"
I’ve not tried it, so someone will correct my syntax hopefully if incorrect.