FGPB-101 not recognized properly

Hello,
I’ve the same kind of problem with The Button (FGPB-101).
I’ve tried all the possible actions (according to the specs) and I’ve extracted some part of the ZWave log (see below. I can provide more information if needed).
It is consistent with @brononius observations. So it seems that the action is identified by the 11th bytes in the message and logged as “time” information.

BUTTON PRESSED 1 TIME:
[ve.internal.protocol.ZWaveController] - Process Message = 01 0B 00 04 00 08 05 5B 03 02 00 01 A6

[dclass.ZWaveCentralSceneCommandClass] - NODE 8: Received CENTRAL_SCENE command V1
[dclass.ZWaveCentralSceneCommandClass] - NODE 8: Received scene 1 at time 0

BUTTON PRESSED 2 TIMES:
[ve.internal.protocol.ZWaveController] - Process Message = 01 0B 00 04 00 08 05 5B 03 03 03 01 A4

[dclass.ZWaveCentralSceneCommandClass] - NODE 8: Received CENTRAL_SCENE command V1
[dclass.ZWaveCentralSceneCommandClass] - NODE 8: Received scene 1 at time 3

BUTTON PRESSED 3 TIMES:
[ve.internal.protocol.ZWaveController] - Process Message = 01 0B 00 04 00 08 05 5B 03 04 04 01 A4

[dclass.ZWaveCentralSceneCommandClass] - NODE 8: Received CENTRAL_SCENE command V1
[dclass.ZWaveCentralSceneCommandClass] - NODE 8: Received scene 1 at time 4

BUTTON PRESSED 4 TIMES:
[ve.internal.protocol.ZWaveController] - Process Message = 01 0B 00 04 00 08 05 5B 03 05 05 01 A4

[dclass.ZWaveCentralSceneCommandClass] - NODE 8: Received CENTRAL_SCENE command V1
[dclass.ZWaveCentralSceneCommandClass] - NODE 8: Received scene 1 at time 5

BUTTON PRESSED 5 TIMES:
[ve.internal.protocol.ZWaveController] - Process Message = 01 0B 00 04 00 08 05 5B 03 03 06 01 A1

[dclass.ZWaveCentralSceneCommandClass] - NODE 8: Received CENTRAL_SCENE command V1
[dclass.ZWaveCentralSceneCommandClass] - NODE 8: Received scene 1 at time 6

BUTTON HELD DOWN (same kind of message is sent several times):
[ve.internal.protocol.ZWaveController] - Process Message = 01 0B 00 04 00 08 05 5B 03 06 02 01 A0

[dclass.ZWaveCentralSceneCommandClass] - NODE 8: Received CENTRAL_SCENE command V1
[dclass.ZWaveCentralSceneCommandClass] - NODE 8: Received scene 1 at time 2

BUTTON RELEASED (after button was held down for several seconds):
[ve.internal.protocol.ZWaveController] - Process Message = 01 0B 00 04 00 08 05 5B 03 09 01 01 AC

[dclass.ZWaveCentralSceneCommandClass] - NODE 8: Received CENTRAL_SCENE command V1
[dclass.ZWaveCentralSceneCommandClass] - NODE 8: Received scene 1 at time 1

Hey @chris,

Did you found the time to have a look a this button?
Or can we do anything to help you out?

I’ll update this late today. The scene number will be a decimal value in the format “scene.key” where key is the following -:

0 - Single Press
1 - Key Released
2 - Key Held Down
3 - Single Press 2 times
4 - Single Press 3 times
5 - Single Press 4 times
6 - Single Press 5 times

Thanks, I’ll have it a try tomorrow!

Does this mean that we’ll use items for each ‘push-combination’? Fe

Switch Push1_1     {channel="zwave:device:a968g96b:node1:1" }
Switch Push1_2     {channel="zwave:device:a968g96b:node1:2" }

No - just one channel/item is needed. It will be set to 1.0 for a single press, 1.2/1.3/1.4 etc for more presses. You can then use this in a rule to work out what to do.

1 Like

Yezzzzz, seems to work!

My item:

Number  SchTest "Mushroom" <contact> { channel="zwave:device:1578e7a83ee:node85:scene_number" }

My rule (test):

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

Thanks a lot!!!

1 Like

Great - thanks for the feedback :slight_smile: .

Just added some functions (rules) to the button. And all works as expected.

Except when the button isn’t used for a while. It’s like you must wake up the button before it starts sending out signals.
When I don’t use it for approx 30 seconds, I need to push the button, and repush it before I’m getting a ‘1 time push’.
After this it’s working fine. Till I wait again some time…

I guess some options must be changed to the button in order to get this working on the first push? I tried to update option 10 to 1 in paperUI. But once I push the save button, I’m getting following status:

1. Thing updated
2. Error 404 - Not found

My first push:

2016-11-02 17:27:06.086 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 85: Application Command Request (INITIALIZING:PING)
2016-11-02 17:27:06.087 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 85: Node is ALIVE. Init stage is PING.
2016-11-02 17:27:06.087 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 85: Got an event from Z-Wave network: ZWaveNodeStatusEvent
2016-11-02 17:27:06.087 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 85: Setting ONLINE
2016-11-02 17:27:06.087 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 85: Node Status event during initialisation - Node is ALIVE
2016-11-02 17:27:06.088 [hingStatusInfoChangedEvent] - 'zwave:device:1578e7a83ee:node85' changed from ONLINE: Node initialising: WAIT to ONLINE
2016-11-02 17:27:06.089 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 85: Node advancer - PING: queue length(0), free to send(true)
2016-11-02 17:27:06.089 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 85: Node advancer: loop - PING try 1: stageAdvanced(false)
2016-11-02 17:27:06.089 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 85: Node advancer: PING - send NoOperation
2016-11-02 17:27:06.090 [DEBUG] [ndclass.ZWaveNoOperationCommandClass] - NODE 85: Creating new message for command No Operation
2016-11-02 17:27:06.090 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 85: Node advancer - queued packet. Queue length is 1
2016-11-02 17:27:06.090 [DEBUG] [commandclass.ZWaveWakeUpCommandClass] - NODE 85: Putting message SendData in wakeup queue.
2016-11-02 17:27:06.090 [DEBUG] [ve.internal.protocol.ZWaveController] - NODE 85: Node Status event - Node is ALIVE
2016-11-02 17:27:06.091 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 85: Incoming command class BATTERY
2016-11-02 17:27:06.091 [DEBUG] [ommandclass.ZWaveBatteryCommandClass] - NODE 85: Received Battery Request
2016-11-02 17:27:06.091 [DEBUG] [ommandclass.ZWaveBatteryCommandClass] - NODE 85: Battery report value = 100
2016-11-02 17:27:06.092 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 85: Got an event from Z-Wave network: ZWaveCommandClassValueEvent
2016-11-02 17:27:06.092 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 85: Got a value event from Z-Wave network, endpoint = 0, command class = BATTERY, value = 100
2016-11-02 17:27:06.092 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 85: Updating channel state zwave:device:1578e7a83ee:node85:battery-level to 100 [DecimalType]
2016-11-02 17:27:06.098 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 85: CC event during initialisation stage IDLE
2016-11-02 17:27:06.204 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 85: Application Command Request (ALIVE:DETAILS)
2016-11-02 17:27:06.204 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 85: Incoming command class WAKE_UP
2016-11-02 17:27:06.204 [DEBUG] [commandclass.ZWaveWakeUpCommandClass] - NODE 85: Received Wake Up Request
2016-11-02 17:27:06.204 [DEBUG] [commandclass.ZWaveWakeUpCommandClass] - NODE 85: Received WAKE_UP_NOTIFICATION
2016-11-02 17:27:06.205 [DEBUG] [commandclass.ZWaveWakeUpCommandClass] - NODE 85: Is awake with 1 messages in the wake-up queue.
2016-11-02 17:27:06.205 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 85: Got an event from Z-Wave network: ZWaveWakeUpEvent
2016-11-02 17:27:06.205 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 85: Wakeup during initialisation.
2016-11-02 17:27:06.207 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 85: Node advancer - DETAILS: queue length(1), free to send(false)
2016-11-02 17:27:06.208 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 85: Node advancer - queued packet. Queue length is 1
2016-11-02 17:27:06.209 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - NODE 85: Sending REQUEST Message = 01 08 00 13 55 01 00 25 62 F7 
2016-11-02 17:27:06.226 [DEBUG] [l.serialmessage.SendDataMessageClass] - NODE 85: Sent Data successfully placed on stack.
2016-11-02 17:27:06.251 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 09 00 13 62 00 00 02 00 00 85 
2016-11-02 17:27:06.251 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 09 00 13 62 00 00 02 00 00 85 
2016-11-02 17:27:06.252 [DEBUG] [l.serialmessage.SendDataMessageClass] - NODE 85: SendData Request. CallBack ID = 98, Status = Transmission complete and ACK received(0)
2016-11-02 17:27:06.252 [WARN ] [l.serialmessage.SendDataMessageClass] - NODE 85: Already processed another send data request for this callback Id, ignoring.

And the push after:

2016-11-02 17:27:11.210 [ERROR] [ocol.ZWaveController$ZWaveSendThread] - NODE 85: Timeout while sending message. Requeueing - 0 attempts left!
2016-11-02 17:27:11.210 [DEBUG] [commandclass.ZWaveWakeUpCommandClass] - NODE 85: Is sleeping
2016-11-02 17:27:11.211 [DEBUG] [commandclass.ZWaveWakeUpCommandClass] - NODE 85: Putting message SendData in wakeup queue.
2016-11-02 17:27:11.211 [DEBUG] [commandclass.ZWaveWakeUpCommandClass] - NODE 85: Message already on the wake-up queue. Removing original.
2016-11-02 17:27:11.211 [DEBUG] [commandclass.ZWaveWakeUpCommandClass] - NODE 85: Putting message SendData in wakeup queue.
2016-11-02 17:27:11.404 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 85: Application Command Request (ALIVE:DETAILS)
2016-11-02 17:27:11.404 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 85: Incoming command class CENTRAL_SCENE
2016-11-02 17:27:11.404 [DEBUG] [dclass.ZWaveCentralSceneCommandClass] - NODE 85: Received CENTRAL_SCENE command V1
2016-11-02 17:27:11.405 [DEBUG] [dclass.ZWaveCentralSceneCommandClass] - NODE 85: Received scene 1 at key 0 [Single Press]
2016-11-02 17:27:11.405 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 85: Got an event from Z-Wave network: ZWaveCommandClassValueEvent
2016-11-02 17:27:11.405 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 85: Got a value event from Z-Wave network, endpoint = 0, command class = CENTRAL_SCENE, value = 1.0
2016-11-02 17:27:11.406 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 85: Updating channel state zwave:device:1578e7a83ee:node85:scene_number to 1.0 [DecimalType]
2016-11-02 17:27:11.412 [DEBUG] [.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: Sent Message: class=SendData[0x13], type=Request[0x00], priority=Immediate, dest=85, callback=99, payload=55 01 00 
2016-11-02 17:27:12.061 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 85: Transaction not completed: node address inconsistent.  lastSent=85, incoming=255

Are you somehow filtering these logs? I don’t see any data receive messages…

Maybe I’ve started a bit to fast the logs (after enabling the debug) with a filter ‘85’ for node 85 (=switch).

I’ve put 2 new debug logs over here: In this, I’ve pushed the button 3 times with +/- 5 seconds in between.

I’m not sure I can offer a lot of help. The following is from the log viewer, but it probably just reiterates what you already knew :frowning: .

The first press just seems to generate a wakeup and a battery notification - the binding then does some polling and the device goes to sleep. Looks fine.

The second and third presses generate the CENTRAL_SCENE notification.

I don’t know why - maybe there’s a setting since this device has a lot of configuration, although I didn’t see anything obvious in my very quick look. I don’t think there’s anything the binding can do to influence this though, so I don’t have any suggestions at the moment - sorry.

Hello, same behaviour for me.
When the button is pressed, there are 2 options that I see in the log:

  1. most of the time: “BATTERY + WAKE_UP” messages (without CENTRAL_SCENE message).
  2. sometimes; a “CENTRAL_SCENE” message alone
    I’ve two FGPB-101, they seem to have the same behaviour and I’m not able to find a pattern.

When the CENTRAL_SCENE message is received, then the scene number is OK (with the decimal) so thanks @chris for this fix.

@brononius, if you find a solution, I’m interested…

I’m not sure there’s a lot to be done here, but let’s see… I hope to be getting one of these from Fibaro shortly, and if I can’t get it to work I’ll discuss the issue with them.

Please post here if you do find a setting to change this (anyone ;)).

I’ve raised the question at Fibaro. When I’m getting feedback, I’ll inform you…

Follow Fibaro, this is a hardware failure. So they ask me to return the push button to them for repair.
I’ll ship it tomorrow, and we’ll see …

I’ll keep you informed.

Interesting - thanks for the info…

Hi I have problem with my button when i press it I see this:
2016-11-06 22:45:52.928 [WARN ] [.z.internal.ZWaveActiveBinding] - NODE 83: No item bound for event, endpoint = 0, command class = BATTERY, value = 100, ignoring.
or this:
2016-11-06 22:45:58.007 [ERROR] [ApplicationCommandMessageClass] - NODE 83: Unknown command class 0x5b

I used the same parameters as brononius (item and rule), only of course I’ve changed homeid to my homeid
What did I wrong?

Yesterday, my push button came back from the distrubitor. Sadly, they didn’t repair it, they just send me a new one.
But with changing anything in my configs, of course an update of the node ID, it works!

So, if the first push doesn’t send the scenario number, it’s a problem with the hardware.

The first warning is because you don’t have an item associated with the battery information.

The second possibly indicates you have an old version of OH, and almost certainly indicates you’re not using OH2 which is what this thread is discussing. If I remember correctly OH1 does support central_scene, but the data is presented slightly differently. What version are you using?

I recently migrated from openHAB1 to openHAB2, but have issues to add the FGPB-101 button in openHAB2 using HABmin. I included FGPB-101 successfully but only the battery level works, when I press the FGPB-101 button I get the following logs:

23:19:07.098 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 0E 00 04 00 26 08 60 0D 00 00 26 01 FF FF 91
23:19:07.104 [DEBUG] [ve.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
23:19:07.105 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 0E 00 04 00 26 08 60 0D 00 00 26 01 FF FF 91
23:19:07.106 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 0E 00 04 00 26 08 60 0D 00 00 26 01 FF FF 91
23:19:07.107 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 26 08 60 0D 00 00 26 01 FF FF
23:19:07.109 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 38: Application Command Request (ALIVE:DONE)
23:19:07.109 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 38: Starting initialisation from DONE
23:19:07.110 [DEBUG] [ve.internal.protocol.ZWaveController] - Event Listener org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer@1dbcbed already registered
23:19:07.110 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 38: Incoming command class MULTI_INSTANCE
23:19:07.111 [DEBUG] [class.ZWaveMultiInstanceCommandClass] - NODE 38: Received MULTI_INSTANCE command V0
23:19:07.112 [DEBUG] [class.ZWaveMultiInstanceCommandClass] - NODE 38: Requested Command Class = SWITCH_MULTILEVEL (0x26)
23:19:07.112 [ERROR] [class.ZWaveMultiInstanceCommandClass] - NODE 38: Endpoint 0 not found. Cannot set command classes.
23:19:07.113 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 255: Transaction not completed: node address inconsistent.  lastSent=255, incoming=255

Endpoint 0 not found. Cannot set command classes.
It looks like it is somehow not correctly initialized, hence I deleted the corresponding XML file in “/var/lib/openhab2/zwave” and performed a reinitialization in HABmin but the result is the same: “Endpoint 0 not found. Cannot set command classes.`” I tried this a couple of times including reboots.

I compared the openHAB produced XML file with the one in the database: Generic Class and Specific Class are different my installation:

<genericDeviceClass>REMOTE_SWITCH_2</genericDeviceClass>
<specificDeviceClass>SWITCH_REMOTE2_MULTILEVEL</specificDeviceClass>

node38.xml (14.4 KB)

Shouldn’t it “GENERIC_TYPE_WALL_CONTROLLER” and “SPECIFIC_TYPE_BASIC_WALL_CONTROLLER”, and is this the reason why the command class cannot be set?
Following this thread FGPB-101 should work in openHAB2, what is wrong with my installation?

-thx