RFXCOM Weirdness - /BasicUI/HabPanel

Hi all,

I have a few Lightwave RF devices - working fine from PaperUI & HabPanel.
Have also created Items for these though they do not work in BasicUI:

Switch LivingRoom_Light “Living Room Light” (Glights) [ “Lighting” ]
{ rfxcom=">010301.1:LIGHTING5.LIGHTWAVERF:Command"}
Dimmer LivingRoom_Dimmer “Living Room Dimmer [%d %%]” [ “Lighting” ]
{ rfxcom=">010301.2:LIGHTING5.LIGHTWAVERF:DimmingLevel" }

Switch BedRoom_Light “Bed Room Light” (Glights) [ “Lighting” ]
{ rfxcom=">010302.1:LIGHTING5.LIGHTWAVERF:Command"}
Dimmer BedRoom_Dimmer “Bed Room Dimmer [%d %%]” [ “Lighting” ]
{ rfxcom=">010302.2:LIGHTING5.LIGHTWAVERF:DimmingLevel"

All ID’s in the Items file link back to what is set per device in PaperUI, just cannot understand why they do not work, I can see them being called in the logs - from Alexa and from BasicUi though nothing happens, could someone hint at whats up?


You are using rfxcom binding 1 configuration syntax in your item configuration. See ver 2 syntax from http://docs.openhab.org/addons/bindings/rfxcom/readme.html

1 Like

Thanks Pali,

Read the doc again :slight_smile: and made the changes below though it looks like the commands still fall into a black hole, still no control in Basic or Alexa.

Switch BedRoom_Light “Bed Room Light” (Glights) [ “Lighting” ]

2017-11-19 07:53:28.049 [.ItemChannelLinkAddedEvent] - Link ‘BedRoom_Light-rfxcom:lighting5:usb0:010302_1:command’ has been added.
2017-11-19 07:53:28.053 [.ItemChannelLinkAddedEvent] - Link ‘BedRoom_Dimmer-rfxcom:lighting5:usb0:010302_2:DimmingLevel’ has been added.

When using PaperUI
2017-11-19 08:03:51.962 [vent.ItemStateChangedEvent] - rfxcom_lighting5_9ae9b72a_command changed from ON to OFF

When using basicUI/Alexa
2017-11-19 08:04:41.281 [ome.event.ItemCommandEvent] - Item ‘BedRoom_Light’ received command ON
2017-11-19 08:04:41.303 [vent.ItemStateChangedEvent] - BedRoom_Light changed from NULL to ON

Colour me confused :slight_smile:

From reading the logs the ThingUID seems to be not the same comparing your test on BasicUI and PaperUI

Hi Jurgen, thanks - yes though if I go into PaperUI thing:

It matches, though do i need a separate thing file in /openhab2/things?


Like Jurgen said, thing id is wrong. Try following


Yeah, I also thought and tried that :frowning: though no result, will run again and post the logging output, on sec.

Interesting, changed to:
Switch BedRoom_Light “Bed Room Light” (Glights) [ “Lighting” ]

And see the below!

2017-11-19 08:40:17.331 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'lwrf.items’
2017-11-19 08:40:54.484 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model ‘lwrf.items’ has errors, therefore ignoring it: [7,11]: mismatched input ‘“’ expecting RULE_STRING
[7,12]: missing ‘}’ at ‘rfxcom’
[7,18]: extraneous input ‘:’ expecting RULE_ID
[11,57]: mismatched character ‘’ expecting ‘"’

2017-11-19 08:40:54.520 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model ‘lwrf.items’ has errors, therefore ignoring it: [7,11]: mismatched input ‘“’ expecting RULE_STRING
[7,12]: missing ‘}’ at ‘rfxcom’
[7,18]: extraneous input ‘:’ expecting RULE_ID
[11,57]: mismatched character ‘’ expecting ‘"’

2017-11-19 08:40:54.541 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model ‘lwrf.items’ has errors, therefore ignoring it: [7,11]: mismatched input ‘“’ expecting RULE_STRING
[7,12]: missing ‘}’ at ‘rfxcom’
[7,18]: extraneous input ‘:’ expecting RULE_ID
[11,57]: mismatched character ‘’ expecting ‘"’

OH, hah hold on, I copied and pasted - different " :slight_smile:

With that change:
2017-11-19 08:44:07.180 [ome.event.ItemCommandEvent] - Item ‘BedRoom_Light’ received command ON
2017-11-19 08:44:07.201 [vent.ItemStateChangedEvent] - BedRoom_Light changed from NULL to ON

Though nothing happens - I’m really perplexed, seems its just not linked and the command goes into a black hole.

Pali, happy to grant you shell access if you would like to take a look, - its odd and all looks “right”, bug maybe?

I would try to create an Switch Item without any channel linkage ( no curly brackets). After the item files is saved I’d link this item manually via PaperUI to the channel.
After that compare the log with the previous ones.

Thanks for the Suggestion Jurgen, how would i link this to the channel via paperUI, for what i understand that’s already done:

Apologies, very new to OH :slight_smile: really do appreciate you gents helping!

Just changed the Name to Bedroom_Light (in PaperUI) and removed the {channel… line. in the .items file - still the same unfortunately.
I think that’s what you asked me to try right?

In the Channels view you should be able to expand each channel (up and down arrows). In the expanded view to plus sign for linking an item should be visible.

Edit : I’m sorry you need to click on the blue dot of the channel not the arrows.

Ah ok, yes they are linked (I linked them from day one).

Linked to which item? That should be the one that triggers the channel, in other words using this item it should work. What does the log say using this item?

1 Like

Ok Fixed !!!
Thank you Gents!

So my line that works is rfxcom:lighting5:9ae9b72a:command
Line that we used earlier was rfxcom:lighting5:usb0:9ae9b72a:command

Ok, I’ll set the rest up and test!

Right so all lights in the home now work via BasicUI and Alexa with the switch commands - thanks gents, really appreciate your guidance.

Trying to get dimming working now, which seems to be a dark art :slight_smile:
Built up the items as below:

Dimmer BedRoom_Light “Master Bed Room Light” (Glights) [ “Lighting” ]

Telling Alexa to turn on/off works fine though i get this exception when trying to dim:

2017-11-19 10:03:50.863 [ERROR] [binding.rfxcom.handler.RFXComHandler] - Transmitting error
org.openhab.binding.rfxcom.internal.exceptions.RFXComException: Can’t convert 100 to Command
at org.openhab.binding.rfxcom.internal.messages.RFXComLighting5Message.convertFromState(RFXComLighting5Message.java:377) ~[?:?]
at org.openhab.binding.rfxcom.handler.RFXComHandler.handleCommand(RFXComHandler.java:81) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.profiles.DefaultMasterProfile$1.call(DefaultMasterProfile.java:54) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.profiles.DefaultMasterProfile$1.call(DefaultMasterProfile.java:1) ~[?:?]
at org.eclipse.smarthome.core.common.SafeMethodCaller.executeDirectly(SafeMethodCaller.java:218) ~[?:?]
at org.eclipse.smarthome.core.common.SafeMethodCaller.callAsynchronous(SafeMethodCaller.java:189) ~[?:?]
at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:83) ~[?:?]
at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:67) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.profiles.DefaultMasterProfile.onCommand(DefaultMasterProfile.java:51) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.CommunicationManager.lambda$2(CommunicationManager.java:223) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) [?:?]
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) [?:?]
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) [?:?]
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) [?:?]
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580) [?:?]
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:270) [?:?]
at java.util.concurrent.ConcurrentHashMap$ValueSpliterator.forEachRemaining(ConcurrentHashMap.java:3566) [?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) [?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) [?:?]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) [?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) [?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) [?:?]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) [?:?]
at org.eclipse.smarthome.core.thing.internal.CommunicationManager.receiveCommand(CommunicationManager.java:218) [105:org.eclipse.smarthome.core.thing:]
at org.eclipse.smarthome.core.thing.internal.CommunicationManager.receive(CommunicationManager.java:95) [105:org.eclipse.smarthome.core.thing:]
at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:207) [98:org.eclipse.smarthome.core:]
at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:1) [98:org.eclipse.smarthome.core:]
at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:181) [98:org.eclipse.smarthome.core:]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:?]
at java.lang.Thread.run(Thread.java:745) [?:?]

I know its trying command a dimming level via command though I do have the right dimming call there, slightly confused - again :slight_smile:

Edited the main line:
Dimmer BedRoom_Light “Master Bed Room Light [%d %%]” (Glights) [ “Lighting” ]

Adding the [%d %%] has got rid of the error though does not dim the lights, one step forward same step back xD

I have tried without the Command line and just DimmingLevel though this has the same outcome, no dimming and does not switch on/off either.
I remember with the 1.X Binding that we had to add a .num etc. if adding another control layer, how does one do this with 2.x or is it just not necessary.

Fixed Dimming!!

channel=“rfxcom:lighting5:9ae9b72a:DimmingLevel” <----- DimmingLevel breaks it - correct format should read dimmingLevel

Even though the logs showed the callback:
2017-11-19 10:32:57.275 [vent.ItemStateChangedEvent] - BedRoom_Light changed from 10 to 0
It went into a back hole until correct format was used (bangs head against the wall).
Hope this helps someone less stupid than I