Fibar Group Keyfob : FGKF-601 (no node.xml)

2.1.0-SNAPSHOT
Build #858
openhab> system:version
4.0.8
I use the experiemental binding … Not sure about version on that one :slight_smile:feature:info openhab-binding-zwave
Feature openhab-binding-zwave 2.1.0.SNAPSHOT
Description:
Z-Wave Binding
Feature has no configuration
Feature has no configuration files
Feature depends on:
openhab-runtime-base 0.0.0
openhab-transport-serial 0.0.0
Feature contains followed bundles:
mvn:org.openhab.binding/org.openhab.binding.zwave/2.1.0-SNAPSHOT start-level=80
Feature has no conditionals.

-Torstein

I think that the most important part is to wake the device several times close to the controller.

/Jonas

Have you guys manage to enable the key lock pattern?

I configure it via habmin but the fob never goes to the lock mode…

Ok, it looks like i can’t configure any type of patterns neither for the scenes nor for locking the device.

Any help would be appreciated.

hm,…i’m happy owner of the KeyFOB since today…on OH1.83 with Binding 1.11 Snapshot but the RemoteControl is not recognized by the system…only named "Fibaro Systems ID:1000 Type 1001). Also i cannot see any configuration items…so its empty.

Any Idea? I already woke up the keyfob several times…nothing…i’m rather close to the controller…about 3 meters.

Upgrade to 2.1. I had the same issues with OH1.9, and logged a ticket - but rightly so, cd-jackson doesn’t want to spend time working on the zwave database for older versions of OH. I upgraded and still have issue with OH2.1, so have just updated the database with the new device id. So hoping this will be fixed for me soon.

If someone wants to create a PR for the database, then it’s fine to add it to OH1 of course :wink:

For me, it’s working fine in OH2, out of the box…

I just can’t get the locking method to work. :blush:
What I’ve done so far:

  1. Through HABmin, I’ve put parameter 1 to 54 (= 2 times button X)
  2. Parameter 2 to 1546 (= 10 seconds and button X).
  3. HABmin is now ‘waiting’
  4. I wake up the device (button 0 and X)
  5. The status HABmin ‘waiting’ goes away (after refresh browser)

But no luck, the locking scene isn’t working.

ps The guy that sold me this told me that he did succesfully configured on a demo device the lock function through the ‘fibaro home center’. So he thought the problem could be in the configuration way? So before we start to debug: did anybody got this lock config working?

For reference, my items, rules…
And with following item&rule:

item:

Number  Sch_Remote  "Remote 1"  <contact>  { channel="zwave:device:30038385:nod
e91:scene_number" }
Number  Sch_Remote_Bat    "Remote 1 [%s %%]"   <battery>     (ALL_bat,)     { channel="zwave:device:30038385:nod
e91:battery-level" }

rule:

rule "remote"
        when
                Item Sch_Remote received update
        then
                if (Sch_Remote.state == 1.0) {
                        logInfo("Remotes", "Remote nr 1 push")
                       sendCommand( Light1, ON )
                        Thread::sleep(2000)
                       sendCommand( Light1, OFF )
                }
                if (Sch_Remote.state == 2.0) {
                        logInfo("Remotes", "Remote nr 2 push")
                }
...

Locking method? You mean locking “something” based on a keypress? For example, I did mine like this:

items:

/* Key fob */
Number          keyFobKeyScene                  "Keyfob Button"                      <button>                                    { channel="zwave:device:fbcf2efa:node9:scene_number" }
Number          keyFobKeyBattery                "Keyfob Battery [%d %%]"             <battery>                                   { channel="zwave:device:fbcf2efa:node9:battery-level" }

Rules:

rule "Keyfob button press"
when
	Item keyFobKeyScene changed
then
	logInfo("keyfob", "Keyfob button press detected")
	switch (keyFobKeyScene.state) {
		case 1.0: {
            sendCommand(doWhatEverForSceneOne, ON)
			logInfo("keyfob", "Keyfob 1 pressed")
        }
		case 2.0:
			logInfo("keyfob", "Keyfob 2 pressed")
		case 3.0:
			logInfo("keyfob", "Keyfob 3 pressed")
		case 4.0:
			logInfo("keyfob", "Keyfob 4 pressed")
		case 5.0:
			logInfo("keyfob", "Keyfob 5 pressed")
		case 6.0:
			logInfo("keyfob", "Keyfob 6 pressed")
		default:
			logInfo("keyfob", "Other combination: " + keyFobKeyScene.state)
	}
end

Alter or add to the case statements to, for example, 1.2 = “key 1 pressed and held” and 1.1 = “key 1 released” etc.

The keyfob can’t be configured to avoid unwanted key press.
You need to push a certain key combination before the actual key push will be forwarded to the zwave network.
For this, you need to put parameter 1 to a certain value (in my example 54).
But when I try to configure this parameter, it’s like the keyfob doesn’t pick up the value from openhab.

Hi,

I was able to include the KeyFob and define the channels. I’m receiving battery updates, but not the button clicks (scene ids). I did several wakeups, but no change. Pressing a button is not reported to openhab even the led didn’t blink. Any idea?

using 2.1-SNAPSHOT buld 1033

Best regards, Markus

2.1 stable shows the same behaviour: I see the wakeup in the logs, OH shows the battery state, but when pressing a key everything stays silent. It feels like the knob is in locking mode, but parameter 1,2 have been set to 0/0 (default was 0/60)

@chris any idea?

I don’t really know the device, but I would check the associations are correctly set so that reports are sent to the controller. (I’m assuming there are association groups in this device of course :wink: ).

I found the manual here:


but it’s really confusing, could you have a look? I’m just using factory settings, so I would expect the default is that all keys are send to the controller.

@chimera doesn’t mentioned something special when describing how to intercept the events.
@brononius sayed “For me, it’s working fine in OH2, out of the box…”

I just want to receive the 6 scene IDs when pressing the button - who is able to remember for combinations?:confounded:

@chris: You were right, the association group has to be explicitly set to the openHAB controller
1: Lifeline -> openHAB Controller and
2: Square - On/Off -> openHAB Controller
etc. - that’s strange:roll_eyes:

but thanks for the tip!! :yum:

1 Like

markus,

Can you elaborate a bit more what you did in order make the keyfob send a keyscen number to the item.

After I added the device in habmin interface I had it in a state that any button pressed was not giving any led light confirmation. And the item

Number KeyFob_scene   "Keyfob scene  [%.0f]" {channel="zwave:device:1580d5a6c7b:node6:scene_number"}

Was not up updating. However the device was on line all the time in PAPER UI or Habmin.
For your last update I did added the the associations in HABmin for Lifeline and buttons on/off to openhab controler.

Now I get green led on the button presses but still I dont get the Item to update.
But the changes on the assosiations are in the pending state.
Do I need any extra step to get it working?
What interface did you use to make the changes?

TIA

@xsherlock I don’t know what markus did, but in case you still need it I can tell you what I did in openhab2 :wink:

Before I start:
I use only Habmin to find and include the z-wave devices as things and (and it’s important!) for setting the z-wave parameters. Then I use configuration files for everything else, but I do sometimes peek into PaperUI to see the exact channel name: battery level for instance is called “battery-level” and not “battery_level”, as one would expect.

1 – ensure your thing is discovered and so on.
2 – configure the Keyfob according to the documentation of its manufacturer. Get the manual from their website -> support -> manuals etc.
You have to check every parameter starting from the 3rd one – the first and the second I will mention at the end. Reading through the manual you can decide whether you want to use multiple button-press, press-and-hold and sequences of 2 – 5 buttons. You don’t have to use combinations and so on. You also don’t need to use associations, but you can - I will mention it at the end of this post.

3 - you need an item like this one:

Number    key_fob       "Keyfob"       <contact>     { channel="zwave:device:ZWAVE_DEVICE:NODE_ID:scene_number" }

And if you want, also one like this:

 Number   key_fob_batt   "Keyfob battery"   <battery>   { channel="zwave:device:ZWAVE_DEVICE:NODE_ID:battery-level" }

4 - After you saved those items and assuming your parameters are all set well, you need to press the circle and the plus keys on your keyfob simultaneously. It will be confirmed by white light flashing a few times. It is supposed to wake the keyfob up and allow it to get the settings from openhab. You can check in events.log if the scenes are updated and they really should be. Sometimes it’s good to reload the Habmin to see all changes there.

5 - create a keyfob.rules file according to this example:

rule "keyfob in use"

when
    Item key_fob received update

then
    if (key_fob.state == 1.0) { // KeyFob square pressed once
    }
    if (key_fob.state == 1.1) { // KeyFob square released
    }
    if (key_fob.state == 1.2) { // KeyFob square hold
    }
    if (key_fob.state == 1.3) { // KeyFob square pressed twice
    }
    if (key_fob.state == 1.4) { // KeyFob square pressed 3 times
    }

( repeat for each button i.e. 2.0, 2.1, 2.2, 2.3, 2.4, 3.0 etc. up to 6.4 )

    if (key_fob.state == 7.0) { // First sequence defined in parameters
    }
    if (key_fob.state == 8.0) { // Second sequence defined in parameters
    }

( repeat for all six sequences up to 12.0 )

end

And that should do it. You don’t need to use associations - it will work fine without it.
However you can also set associations in habmin according to you needs. I for instance use three buttons for three different dimmers, so I had to set the multilevel association. Markus used the on/off association if I’m not mistaken. You can set only for the buttons you need and let others not associated - it’s fine and it’s all up to you.
However, if you set any you should rather not use the respective scene number in the .rules file.

It is all working well including associations, multi-press and combinations.
There is a dark side as well. Without the working lock function the keyfob has a very, very limited utility. You literally cannot put it in the pocket: there is no way you don’t push the buttons accidentally.

According to Fibaro documentation for the lock to be set you need to:

  • set the unlocking sequence in parameter 1
  • set the lock timeout and lock button in parameter 2
  • send a PROTECTION class from the controller to the keyfob.

Sadly the last one seems not to be available in openhab…

1 Like

Just yesterday i sorted it out the brute force way. New RPI3, new openhabian install with stable 2.1 and I just put the usb zwave dongle from old setup , configured serial port with old identifier, and I had it up and running without setting associations.

Thanks for the hint that state is actually a float, this will be super useful.

It all works with all nodes online but I get an error in the logs that I do not understand. That is a bit off topic

2017-09-29 17:33:39.965 [ERROR] [ve.internal.protocol.ZWaveController] - Exception during ZWave thread: Input 2. {}
java.lang.IllegalStateException: Could not update state, because callback is missing

Continuing the discussion from Fibar Group Keyfob : FGKF-601 (no node.xml):

Had the same problem.
Protection class not availble.
Used my Domoticz install to set it. It has the function to set it.
Works like a charm now in openhab.