Getting central scene zwave item working with openhab 2

Hi,

Am struggling a bit with this. I have a Fibaro “The Button” device which is included and registered as a Thing. When I press the button, the zwave log reads:

2016-12-04 17:10:46.785 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 226: Incoming command class CENTRAL_SCENE
2016-12-04 17:10:46.785 [DEBUG] [dclass.ZWaveCentralSceneCommandClass] - NODE 226: Received CENTRAL_SCENE command V3
2016-12-04 17:10:46.785 [DEBUG] [dclass.ZWaveCentralSceneCommandClass] - NODE 226: Received scene 1 at key 0 [Single Press]
2016-12-04 17:10:46.785 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 226: Got an event from Z-Wave network: ZWaveCommandClassValueEvent
2016-12-04 17:10:46.785 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 226: Got a value event from Z-Wave network, endpoint = 0, command class = CENTRAL_SCENE, value = 1.0
2016-12-04 17:10:46.785 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 226: Updating channel state zwave:device:51e2ba40:node226:scene_number to 1.0 [DecimalType]

Which all looks great.

But my item:

Number TestSwitch	"My switch"	{channel="zwave:device:51e2ba40:node226:scene_number"}

Doesn’t seem to work. There is nothing in events.log suggesting it’s been updated, and my rule:

rule "button test"
when
	Item TestSwitch received update 1.0
then
	logInfo("TEST", "Lift button on")
end

won’t trigger (even if I change it to “received update”)

Is this a bug or am I missing something crazy obvious? Any help would be fantastic.

thanks,

Dan

I would suggest taking a look at this link -:

many thanks, Chris - but unfortunately that was what I was trying. My rule with ‘Item TestSwitch received update’ was never firing…

Dan

Sorry - I’m not sure then. The binding says it’s updating the channel, so I’d suggest the problem is outside of the binding - possibly in the linking of channels to items…

that was just the tip I needed - thank you. There was an error in an earlier item definition which (I guess) meant this item was never read. Now working fine.

I spent ages getting this button to work. Here’s what I did to finally get the central scene working.
(Enable Zwave debugging via the Karaf console to assist with your troubleshooting found elsewhere in this forum.)

From Paper UI:
Go to Things menu and select the FGPB-101 Zwave node.

Click on the up/down arrows to the right.

Remove the linked items using the trash can icon on the right for all three items:
Scene Number
Alarm
Battery Level

Go to the Items menu and remove the channels listed above for your FGPB-101 Zwave node.
(Note, if you have any legacy Zwave nodes listed for your FGPB-101 from previous inclusion attempts in items, remove them from both the Things menu and the linked channels in the Items menu also.)

Restart OpenHAB
sudo /etc/init.d/openhab2 restart

From Paper UI go to the Things menu and select your FGPB-101 using the pencil icon on the right.

All parameters should be set to default:

1 = 127
3 = 7
10 = 3
11 = 255
12 = 1
13 = 99
14 = 0
15 = 255
20 = 3
21 = 255
22 = 1
23 = 99
24 = 0
25 = 255
29 = 3
30 = 127

The Association Groups at the bottom are all blank.

Click on the tick to save and then the channels will be shown.

Select just the Scene Number circle button and follow the defaults to add/link the channel.
(If you see any errors pop up on the bottom right ERROR 404 etc…, start again by removing the channels under the Items menu and adding from the Things menu.)

Click on the Items menu and check that the Scene Number item is shown.

tail the openhab.log file and then press your FGPB-101 button
tail -f /var/log/openhab2/openhab.log

You should see debug messages relating to your FGPB-101 Zwave node number.

 2017-06-22 00:15:09.503 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 0B 00 04 00 07 05 5B 03 0F 80 01 24 
2017-06-22 00:15:09.505 [DEBUG] [ve.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
2017-06-22 00:15:09.505 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 0B 00 04 00 07 05 5B 03 0F 80 01 24 
2017-06-22 00:15:09.505 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 0B 00 04 00 07 05 5B 03 0F 80 01 24 
2017-06-22 00:15:09.505 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 07 05 5B 03 0F 80 01 
2017-06-22 00:15:09.506 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 7: Application Command Request (ALIVE:DETAILS)
2017-06-22 00:15:09.506 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 7: Incoming command class CENTRAL_SCENE
2017-06-22 00:15:09.506 [DEBUG] [dclass.ZWaveCentralSceneCommandClass] - NODE 7: Received CENTRAL_SCENE command V3
2017-06-22 00:15:09.506 [DEBUG] [dclass.ZWaveCentralSceneCommandClass] - NODE 7: Received scene 1 at key 0 [Single Press]
2017-06-22 00:15:09.506 [DEBUG] [ve.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveCommandClassValueEvent
2017-06-22 00:15:09.507 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 7: Got an event from Z-Wave network: ZWaveCommandClassValueEvent
2017-06-22 00:15:09.507 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 7: Got a value event from Z-Wave network, endpoint = 0, command class = CENTRAL_SCENE, value = 1.0
2017-06-22 00:15:09.507 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 7: Updating channel state zwave:device:3c287edd:node7:scene_number to 1.0 [DecimalType]

A test rule can help ensure that the right number of button presses are being received.

rule "Mushroom Pushing"
when
        Item Node7_SceneNumber received update
then
        if (Node7_SceneNumber.state == 1.0) {
                logInfo("Test", "Mushroom 1x pushed")
        }
        if (Node7_SceneNumber.state == 1.1) {
                logInfo("Test", "Mushroom leave alone")
        }
        if (Node7_SceneNumber.state == 1.2) {
                logInfo("Test", "Mushroom kept in")
        }
        if (Node7_SceneNumber.state == 1.3) {
                logInfo("Test", "Mushroom 2x pushed")
        }
        if (Node7_SceneNumber.state == 1.4) {
                logInfo("Test", "Mushroom 3x pushed")
        }
        if (Node7_SceneNumber.state == 1.5) {
                logInfo("Test", "Mushroom 4x pushed")
        }
        if (Node7_SceneNumber.state == 1.6) {
                logInfo("Test", "Mushroom 5x pushed")
        }
end



The logInfo output will also appear in the openhab.log file.
I don’t recall the forum post where I found the above rule however, thanks to the author should you read this post.

I hope this post will assist others in a more timely resolution to the challenges this little Fibaro button presents.

Thanks Chris for maintaining the Zwave binding.