Fibaro Smart Implant FGBS-222

I’ve just bought this device and upgraded the Z-wave binding to 2.5.0 snapshot from 29th of May. I’ve configured Switch items for:

Switch DoorSwitch_Garage {channel=“zwave:device:81669917:node132:switch_binary”}
Switch DoorSwitch_Garage_Left {channel=“zwave:device:81669917:node132:switch_binary1”}
Switch DoorSwitch_Garage_Right {channel=“zwave:device:81669917:node132:switch_binary2”}

So, I’m hoping I can use just one Fibaro Smart Implant to control two doors. There are one monostable button (normally opened) for the left door which I’ve connected OUT1 to (parallel connection), and one monostable button (normally opened) for the right door which I’ve connected OUT2 to (parallel connection). I have not connected anything to IN1 or IN2.

The problem is that nothing happens when I switch DoorSwitch_Garage_Left or DoorSwitch_Garage_Right. Any idea what might be wrong? If I however switch DoorSwitch_Garage then the left door (on OUT1) opens or closes.

Do I have to buy a second Smart Implant, or have I just done something wrong? :slight_smile:

Not sure the snapshot will have the version you need as it is not approved.

Suggest you download from the database and include manually.

Download this?
How do I include it manually? :slight_smile:

There is a guide on the forum that gives full instructions but in short the JAR is just a zip file so you can update the version in the snapshot with that version.

When you have done that you will need to remove the xml file for the device and delete the thing. Then re-add to openHAB and then it should work as you have wired it.

Thanks! Will give it a try :slight_smile:

1 Like

It did the trick! Thanks for your quick help :smiley:

Ok, so I was able to debug zwave binding to the point where I found out that you have to use type=PROTECTION_LOCAL instead of type=LOCAL in your thing definition.
The ‘protection’ message is then properly send to the node.

I did not succeed with turning protection on though, because as soon as I send the command to change protection type and receive response ACK, I also receive PROTECTION_REPORT from the node with value=UNPROTECTED.

Not really familiar with the zwave protocol, hope it will help you somehow. Attached is the log from the moment of protection switch.
fgbs222_debug.log (17.5 KB)


Thanks will fix that

Have also added the RF though it claims that it is not supported though the type is defined.

I will give it a test during the week and see if I can see why it is not keeping the value.

Finally got it working, but had to modify zwave binding for this.

FGBS-222 supports version 2 of protection command class and it expects two bytes to be send after PROTECTION_SET command. The problem here is rfMode == null check, which is always true when setting local protection, thus only one byte is sent. I modified the code and made it available in my fork:

I can confirm it works for the local protection. didn’t check RF one.

Am I right that input should be set to ‘alarm input’ to be able to benefit from disconnected outputs? otherwise you are not able to read the state of the input and act accordingly? Or am I missing something?

Thanks Robert.

If you are using the inputs to monitor door open/close or a safety beam sensor then alarm input will trigger the alarm.

I had better take your fix and test the database entry so I can ask Chris to review the entry. Not sure how we mark the dependency on your update but will add the link to the database entry.

Are you sure you do not want to try cooking your smart implant?

Naah… I like it in the not-melt-down state :wink:

I will raise an issue and prepare a PR to include it in the official build, but I need more time to prepare proper unit tests to make sure there are no side effects. That means I will do it next week.

Let me know if you need it earlier, I will see what I can do.

currently i‘m testing smart implant with a dht-22 sensor (was connected before inclusion was done). but the humidity channel does not receive any data. the temperature works fine. anyone tested a dht-22 sensor? thx!

Ok, so I raised an issue and PR for this:

It may be easier for Chris to review your entry with PR in place.

Interesting, I have one waiting to be setup. Will give it a try.


I am trying to use the implant to control my garage doors.
I have configured the OUT 1 and 2 to automatically deactivate after 400 ms. This allows me to toggle the doors state (opened or closed) when the output is activated. This is working fine.
I would also like to monitor the state of the door and for doing this I wanted to use the two inputs. I have a microswitch on the door that will close when the door is closed, so that IN is connected to GND, but I have only managed to get the Input Voltage to change after a delay when the door is changed.
It only works if I set “Input ? - operating mode” to “Analog input with internal pull-up” and then there is a delay of up to a minute I guess.
I am using the snapshot build and I have modified the jar with the fgbs222_0_0.xml that includes the “Protection Local Output” channel. The Protection channel appears to be working as it should if I set the operating mode to “Normally open alarm input”

So, I would like to hear how did you guys configure the device and did you get it to work event based and what channel is being updated?

btw. I am using the Paper UI to test with.

Thanks for any input


I have “Protection Local Output” set to “No operation possible” and “Input 1 - operation mode” set to “Normally open alarm input”. With this configuration I’m able to use “Input 1 Alarm” channel to check whether the IN1 circuit is closed or not.


Hi Robert,

That is good news and thanks again for your fix. I had run through that code a few times and had not worked out what was going wrong.:see_no_evil:

How do I check if your update is in the snapshots so I can ask Chris for a review of the template?

I also need to get the humidity sensor tested but to do it properly I like to solder the joints and that may take a while to get to the top of the list of things needing doing. Sorry for the delay for anyone waiting for that feature.

I think there are a few more devices that need a bit of a tweak but I will get this one done and released before I try the next one.

Happy automation to all.



I tested again and the issue is that the endpoint has either a temperature sensor or a humidity sensor. I thought I had this working but testing again it is not. It is something that needs to be checked in the code.

Now I understand the binding code a little more and seen how to submit an improvement I am going to have a proper go at fixing but I am very busy at work so this may take some time.

If you never use a temperature sensor on endpoint 9 then an edit of the template will fix.

Remove this from the template

  <channel id="sensor_temperature9" typeId="sensor_temperature">
    <label>Sensor (temperature) 2</label>
      <property name="binding:*:QuantityType">COMMAND_CLASS_SENSOR_MULTILEVEL:9;type=TEMPERATURE</property>

My openHab2 2.4 install is not detecting this device in the database. It looks like it has been added but there is a note that the xml is incorrect and that it needs to be corrected before the device can be used.

Any ideas?