Fibaro FGBS-222 to control a garage door not working

Hello fellow Home Assistant users !

I bought a Fibaro FGBS222 Smart Implant to be able to control my garage door from my phone. Basically, there’s a wall control unit where I wanted to put the Smart Implant, but I can’t get it to work…

The garage door system is a Sommer Pro+, and here’s a wiring diagram of what I did.

I was able to add the Smart Implant to home assistant, so that means the unit is correctly powered on, but I’m not quite sure about the wiring with the input and output. Without the Smart Implant, if I make cables C1 and C2 touch for about 1 second, the garage door opens or closes (depending on its current position). I was counting on the Smart Implant to act as I did manually, ie I need the Smart Implant to make both cables “touch” for a very short time.

I thought I did everything right, but first thing that seemed strange to me is when I modified the parameter 156 - Output 1 - auto off to 5 (which I believe gives a value of 0.5 seconds, which should be sufficient), but when I disconnected the Smart Implant (to try various things), when I got back to the Node configuration options in Home Assistant, the value seemed to go back to 0.

Then, I went to Developer Tools --> Services and tried to call the service “switch.turn_on” on the entity switch.fibaro_system_fgbs222_smart_implant_switch, but nothing happened.

Am I missing something here ? Is it the wiring that’s bad, the way I added/configured the Smart Implant, or is there something else going on ?

Does anyone have any idea on how I can begin to troubleshoot the whole thing ? I’m a bit of a beginner with Z-Wave, because I never really had problems before, the Z-Wave devices I have all work perfectly…

Thanks in advance for your help !

I use Smart Implant in my garage successfully, so it is definitely possible… I use it with Nice garage door opener, so I’m not sure how your Sommer Pro+ works… So:

  • what is your IN1 connection? If you want to use Smart Implant only with phone/home assistant, you do not need to have it wired…
  • be aware, that Smart Implant has one somehow undocumented feature - IN1/2 are ‘hardwired’ internally to OUT1/2 (depending on how you configure IN or OUT swap in module configuration). So if your IN1 is permanently connected to some signal in Sommer Pro+ it might override commands coming from Z-Wave network to manipulate OUT1. That’s why I use IN1 for door sensor and OUT2 for controlling opener.
  • In your wiring diagram it is also strange to see that OUT1 is is single wired to door controller. OUT1/2 are potential free outputs, so it will not work. You need to have both OUT connections… it is like stand alone switch. I’d expect both OUT1 connectors to be connected to both contacts of first connector of Sommer in your diagram (if this is connector for external switch to control garage doors).

Thansk for your answer, I’ll try that as soon as I can ! How can I test that it works ? Do I go to Developer Tools --> Services and tried to call the service “switch.turn_on” on the entity switch.fibaro_system_fgbs222_smart_implant_switch, like I did on my tests yesterday ?

Also, when I turn on the switch, is it normal that it stays on and doesn’t go back to off based on the value I declared in parameter 156 ?

Thanks again

Well, I do not recall all details that drove my design decisions, but upon checking it seems that I left 156 at 0 and instead I moved ‘clicking’ to script. Perhaps I faced the same issue :slight_smile: So my script code for pressing ‘garage door opening button’ is:

toggle_mirek_garage_door:
  alias: Toggle Mirek garage Door
  sequence:
  - service: switch.turn_on
    data:
      entity_id: switch.fibaro_system_fgbs222_smart_implant_switch_2
  - delay:
      milliseconds: 500
  - service: switch.turn_off
    data:
      entity_id: switch.fibaro_system_fgbs222_smart_implant_switch_2

Once you have this script configured testing is as easy as creating button card to call the script:

entity: sensor.garage_mirek
hold_action:
  action: call-service
  service: script.toggle_mirek_garage_door
show_icon: true
show_name: false
tap_action:
  action: more-info
type: entity-button

Please note that for entity you can select any existing one - in code above I use sensor.garage_mirek, which is linked to Smart Implant INput with reed sensor to check for door status (opened/closed).

Well, thank you so much for your clear, detailed answer !!!

I hope that I’ll be able to try that soon enough, I’ll let you know how it goes !

It worked ! Thank you so much !!!

Oh and I feel really dumb, for some reason, I inverted out1 and out2, which means I was pressing the wrong button. It’s weird, on my unit, the entity
switch.fibaro_system_fgbs222_smart_implant_switch_2
seems to pilot OUT1, and switch.fibaro_system_fgbs222_smart_implant_switch pilots OUT2, at least according to that schematic I found online…

Anyway, thanks again, it now works perfectly thanks to you Mirek !

Good to hear! I myself struggled with Smart Implant for quite a while, so I know the pain. Would be shame not to share experience :slight_smile:

Hi Guys,

I try to integrate a smart implant to control my garage door too and having issue with it.

I have a sommer duo garage door.

I only connect the ground and Power on the input side and connect the output to the controlling opener.

I try your script but it is not working … :disappointed:

I have 2 switches: 1 is always on and the other allays off. If I try to switch the value, it comes back automatically to the previous value. In the log, I see that it consider the node dead …

2020-02-05 22:09:45.216 Detail, Node018,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2020-02-05 22:09:45.216 Detail, Node018,   ZW_SEND_DATA delivered to Z-Wave stack
2020-02-05 22:09:49.318 Detail, Node018,   Received: 0x01, 0x05, 0x00, 0x13, 0xe5, 0x01, 0x0d
2020-02-05 22:09:49.318 Detail, Node018,   ZW_SEND_DATA Request with callback ID 0xe5 received (expected 0xe5)
2020-02-05 22:09:49.318 Info, Node018, WARNING: ZW_SEND_DATA failed. No ACK received - device may be asleep.
2020-02-05 22:09:49.318 Warning, Node018, WARNING: Device is not a sleeping node.
2020-02-05 22:09:49.318 Error, Node018, ERROR: node presumed dead
2020-02-05 22:09:49.318 Detail, Node001,   Expected callbackId was received
2020-02-05 22:09:49.319 Detail, Node001,   Expected reply was received
2020-02-05 22:09:49.319 Detail, Node001,   Message transaction complete
2020-02-05 22:09:49.319 Detail,
2020-02-05 22:09:49.319 Detail, Node018, Removing current message
2020-02-05 22:09:49.319 Detail, Node018, Notification: Notification - Node Dead
2020-02-05 22:09:49.348 Error, Node018, ERROR: Dropping command because node is presumed dead
2020-02-05 22:09:49.348 Detail, Node018, Removing current message
2020-02-05 22:09:53.255 Info, Node018, Value::Set - COMMAND_CLASS_SWITCH_BINARY - Switch - 0 - 1 - True
2020-02-05 22:09:53.255 Info, Node018, SwitchBinary::Set - Setting node 18 to On
2020-02-05 22:09:53.255 Detail, Node018, Queuing (Send) MultiChannel Encapsulated (instance=1): SwitchBinaryCmd_Set (Node=18): 0x01, 0x0e, 0x00, 0x13, 0x12, 0x07, 0x60, 0x0d, 0x01, 0x05, 0x25, 0x01, 0xff, 0x25, 0xe7, 0x87
2020-02-05 22:09:53.255 Detail, Node018, Queuing (Send) MultiChannel Encapsulated (instance=1): SwitchBinaryCmd_Get (Node=18): 0x01, 0x0d, 0x00, 0x13, 0x12, 0x06, 0x60, 0x0d, 0x01, 0x05, 0x25, 0x02, 0x25, 0xe8, 0x76
2020-02-05 22:09:53.256 Error, Node018, ERROR: Dropping command because node is presumed dead
2020-02-05 22:09:53.256 Detail, Node018, Removing current message
2020-02-05 22:09:53.256 Error, Node018, ERROR: Dropping command because node is presumed dead
2020-02-05 22:09:53.256 Detail, Node018, Removing current message

I also notice that the smart implant is blinking in green and sends a lots to message:

2020-02-05 21:59:40.021 Info, Node018, Received a MultiChannelEncap from node 18, endpoint 5 for Command Class COMMAND_CLASS_SWITCH_BINARY
2020-02-05 21:59:40.021 Info, Node018, Received SwitchBinary report from node 18: level=Off
2020-02-05 21:59:40.021 Detail, Node018, Refreshed Value: old value=false, new value=false, type=bool
2020-02-05 21:59:40.021 Detail, Node018, Changes to this value are not verified
2020-02-05 21:59:40.021 Detail, Node018, Notification: ValueChanged
2020-02-05 21:59:41.360 Detail, Node018,   Received: 0x01, 0x0d, 0x00, 0x04, 0x00, 0x12, 0x07, 0x60, 0x0d, 0x05, 0x00, 0x25, 0x03, 0x00, 0xad
2020-02-05 21:59:41.360 Detail,
2020-02-05 21:59:41.360 Info, Node018, Received a MultiChannelEncap from node 18, endpoint 5 for Command Class COMMAND_CLASS_SWITCH_BINARY
2020-02-05 21:59:41.360 Info, Node018, Received SwitchBinary report from node 18: level=Off
2020-02-05 21:59:41.360 Detail, Node018, Refreshed Value: old value=false, new value=false, type=bool
2020-02-05 21:59:41.360 Detail, Node018, Changes to this value are not verified
2020-02-05 21:59:41.360 Detail, Node018, Notification: ValueChanged
2020-02-05 21:59:42.698 Detail, Node018,   Received: 0x01, 0x0d, 0x00, 0x04, 0x00, 0x12, 0x07, 0x60, 0x0d, 0x05, 0x00, 0x25, 0x03, 0x00, 0xad
2020-02-05 21:59:42.699 Detail,
2020-02-05 21:59:42.699 Info, Node018, Received a MultiChannelEncap from node 18, endpoint 5 for Command Class COMMAND_CLASS_SWITCH_BINARY
2020-02-05 21:59:42.699 Info, Node018, Received SwitchBinary report from node 18: level=Off
2020-02-05 21:59:42.699 Detail, Node018, Refreshed Value: old value=false, new value=false, type=bool
2020-02-05 21:59:42.699 Detail, Node018, Changes to this value are not verified
2020-02-05 21:59:42.699 Detail, Node018, Notification: ValueChanged
2020-02-05 21:59:53.202 Detail, Node018,   Received: 0x01, 0x0d, 0x00, 0x04, 0x00, 0x12, 0x07, 0x60, 0x0d, 0x05, 0x00, 0x25, 0x03, 0x00, 0xad
2020-02-05 21:59:53.202 Detail,
2020-02-05 21:59:53.202 Info, Node018, Received a MultiChannelEncap from node 18, endpoint 5 for Command Class COMMAND_CLASS_SWITCH_BINARY
2020-02-05 21:59:53.202 Info, Node018, Received SwitchBinary report from node 18: level=Off
2020-02-05 21:59:53.202 Detail, Node018, Refreshed Value: old value=false, new value=false, type=bool
2020-02-05 21:59:53.202 Detail, Node018, Changes to this value are not verified
2020-02-05 21:59:53.202 Detail, Node018, Notification: ValueChanged

Did you guys having the behavior too ?

OK, Guys, seems that it’s a power issue. I use a power input from the garage door opener board but seems that the power is not constant causing this issue.

Now I just need to figure out how to power the module … If you have suggestion how to power it …

I either use dedicated power supply (12V) or for recent projects switched to mini power supplies from AZDelivery: https://www.amazon.de/gp/product/B07V9W6ZKT/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1
Obviously these are for power source 100~240V…
Now, depending on available source you have you might search eventually for some power stabilizer taking as input either DC or AC… there is plenty of these available on Amazon.

@Yep Do you have the correct state of the garage door (open/close) with just the sensor? Or do you have some additional sensors?

I’m using this fibaro smart implant to control my gate. Opening/closing works ok but I have also connected a contact switch to it to have a openning sensor - connected to In1. As such it works ok except right after the home assistant is restarted - the sensor does not show the state… I’m using the burglar sensor in HA. Have you experienced similar issue?

Well, not sure if exactly this, but indeed there is one issue to be handled properly - experienced this as I also have door reed sensor connected to smart implant input for checking door status. So the trick is that when alarm is triggered it changes status of burgla sensor to 2. After returning to normal mode sensor value returns to 0. But in both cases if stet persists for long enough (do not recall, but something like minutes) staeof burglar alarm goes to sleep and this is represented by sensor value of 254. O what I’m doing is to bserve changes from whatever state to 2 (door open) or from whatever state to 0 (door closed).

Thanks but how about the initial reading when HA is restarted? Is there a way to read status of the sensor before the contact opens/closes?

Since initial state of burglar alarm output is undetermined (most likely 254), I use intermediate input_boolean sensor to handle this. Then I have 2 automations that change its state;

  • one on change to: 2 (alarm triggered) that puts input_booleann to ‘on’ state
  • second that on change of burglar to:0 (alarm revoked) puts input_boolean to ‘off’

In any case I ignore in automation from: option, that might be undefined.
This way input_boolean (that retains the state between HA restarts) represents last known state of door sensor and continues to change, when any alarm is triggered or revoked on smart implant.
Drawback is that is sensor state changes exactly at the moment of HA restart it might not be captured properly.

1 Like

Oh, that’s a nice workaround. I’ll implement it in my system as well.
But in essence the smart sensor is less smart than I though it will be, too many limitations unfortunatelly… Is there any other similar zwave device without those limitations? I’m mainly thinking about the hard link between INs and OUTs and ability to read INs status directly.

WelL, I’m not aware about something similar being available… So probably this is the smartest solution available, even if sort of dumb :slight_smile:
Regarding limitations; this is partially fault of platform we use, HA. For example link between INs and OUTs can be disassociated using proper tools (I’ve seen instruction regarding this somewhere in the forum). This would also solve issue of both INs being configured as analog simultaneously. This can be done by playing with node protection parameters, that is not fully implemented in HA… perhaps new zwave integration will give the necessary tools for this. Would be awesome, it would save me at least 2 modules :slight_smile:

1 Like

Hi all,
I have now wired my FBGS-222 in-between my garage door opener and the doorbell pusher i have in the garage to open/close the door.

The doorbell pusher works fine, but as soon as i route the FBGS-222 in there it doesn’t do a thing?
No through the pusher, and neither through pressing the button in HASS.

What i do notice is that you all are reffering to two switches? Should the FBGS-222 show up with two switches in HASS? Right now the device only shows one for me?

This i how i wired up the FBGS-222 with my Marantec 360 Comfort.

Can you share wiring diagram you are using with nice?

Thanks