FGS-222 Dual Relays not working

sorry, ^this

1 Like

This sounds suspiciously similar to some issues I'm working through on my C7 with Enerwave RSM2+s (erocm123's most recent driver update,) is there a general known issues area I should be paying attention to?

EDIT: I found the sticky for the C7 z-wave issues.

Hi Mike.
Before I go through the pain of pulling my light fittings apart again can you advise what needs to be put into the driver for this to work.
I don't want to try re-pairing again if it still doesn't work.
I'm on 2.2.3 now with the radio updated on my C7.
I have 2 x dimmers, 2x 222's and 2x 223's which are in effect single switches now to get them to work. I also have to put a "refresh" in all rules so that the state updates.
I cannot generate child devices when all is OK on a C3 or a C5.
Any advice on these would be good.

are these indicating securePairingComplete in the data section of the driver?

1 x dimmer, not 2.
4 devices (1 of which is a dimmer) are showing "True" and S0 in the z-wave page security column.
1 device is not and showing "none" in the z-wave page security column.

What I have seen from fibaro devices on C7's:
if the inClusters contain 0x98 but not 0x9F then the device will join using S0 on a C7
if the inClusters contain 0x98 AND 0x9F then the device is S2 and you can uncheck the security grants when prompted on a C7 if you wish.
if inClusters does not contain 0x98 OR 0x9F, the device doesn't have any security features and there shouldn't be any changes required of the driver.

in the first two cases user drivers will need to be modified to include the following:
every command sent will need to be wrapped in the new zwaveSecureEncap method.
This method is shown in the example driver here:

zwaveSecureEncap(cmd), this method takes a string or a zwave cmd ie:
it will work with both zwaveSecureEncap(zwave.basicV1.basicGet()) and zwaveSecureEncap(zwave.basicV1.basicGet().format())

This new method replaces any secureEncap method that was used previously within the driver.

additionally the following method should be added to all drivers, many S2 devices will expect a response to this command.

void zwaveEvent(hubitat.zwave.commands.supervisionv1.SupervisionGet cmd){
    hubitat.zwave.Command encapCmd = cmd.encapsulatedCommand(commandClassVersions)
    if (encapCmd) {
    sendHubCommand(new hubitat.device.HubAction(secure(zwave.supervisionV1.supervisionReport(sessionID: cmd.sessionID, reserved: 0, moreStatusUpdates: false, status: 0xFF, duration: 0)), hubitat.device.Protocol.ZWAVE))

Thanks Mike.
Being a non-coder this is all gibberish to me.
Time to start poking and hoping. :wink:

1 Like

I suppose the next question is are you guys at HE going to officially support these devices with 'In-Built' drivers.
It is a shame that we have gone from devices that work, pre-C7 hubs, to devices that don't.
(Unless of course someone who knows about code will take a look. Unfortunately that's not me).

the place to start would be an explicit list of Fibaro devices that do not have inbuilt drivers.

Are you asking for a list?
Could be a rod for your own back. :wink:

well yeah, we have to start someplace, Fibaro makes a wide range of devices, several of which aren't available in US frequencies (we can still acquire them obviously) so I'm not in a position to guess which ones aren't working correctly on a C7.

I literally have no way of knowing who's using what user driver with what Fibaro device and why...

1 Like

Hi Mike,
Looking at the full product line of Fibaro makes me realize they do have a lot....
Fibaro are popular in Europe and I would suggest starting with the most common (to my best knowledge) which are - Fibaro Roller Shutter 3, Fibaro Double Switch and Fibaro Dimmer 2.
Hope it makes sence to you.

Just noticed this on a 223 , why does a z-wave device need a zigbee id?


  • No*te: This handler requires the "Metering Switch Child Device" to be installed.
  • Copyright 2016 Eric Maycock
  • Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
  • in compliance with the License. You may obtain a copy of the License at:
  •  http://www.apache.org/licenses/LICENSE-2.0
  • Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
  • on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
  • for the specific language governing permissions and limitations under the License.
  • Fibaro FGS-223 Dual Relay
  • Author: Eric Maycock (erocm123)
  • 04/25/2017 - Fix for combined energy & power reports & switch endpoints showing correct info.
  • 04/18/2017 - This handler requires the Metering Switch Child device to create the multiple switch endpoints.

Sorry to awaken an old thread.
I just upgraded the hub to latest firmware ( - although I'm not on C7 yet.

I think this has caused issues with my Fibaro dual relays. (I have an FGS-222 and an FGS-223)
Even though the relays seem to work, I believe its not tracking state of the switch.

Fibaro FGS-222 Double Relay Switch
(Author: Robin Winbourne)

  • On & Off commands work (on parent and child devices)
  • Status no longer being updated (on parent or child devices)
  • Toggle command no longer works - presumably because this relies on status- No
  • I dont have any hard wired switches
  • No device events being reported since the upgrade

Fibaro Double Switch 2 FGS-223
(Author: Eric Maycock (erocm123))

  • On & Off commands work (on parent and child devices)
  • Status no longer being updated (on parent or child devices)
  • Toggle command no longer works - presumably because this relies on status
  • Hard wired switches both work normally (S1 & S2)
  • No device events being reported since the upgrade

The fact that the upgrade seems have caused this gives me hope that its a software issue.
I know these devies arent natively supported in HE, but Fibaro seems a big-name brand to suddenly have to give up on.

Any suggestions ?

Update 1:
I've resolved the issue with the FGS-223 at least.
Seems that I just needed the latest driver code changes from Github. (Dec 20)
Thank you Chris Charles.

Update 2:
Looks like I've also resolved the FGS-222 issue (fingers crossed).
I compared the driver code on my hub with the the thread below - and also the version on GIthub.
Seems that the version that @bobbles posted in the thread is updated (multiChannelV3 to multiChannelV4) - and this version appear to work.
Does this mean @RobinWinbourne version on Github is out of date ?

@Berthoven - Ive been making a few changes to my FGS-222 handler to fix some bugs I was seeing, do you want to give them a quick test and see if they fix your issues?

I can give it a try, sure. Will let you know.
However, I had eventually resolved the issue I was having using a version of the driver that was on the thread above. The main difference was the change to multiChannelV4, so I'd assumed that was the issue). I see your new version has lots of interesting changes (did a quick diff).

I think Ive only just found Robin's version of the handler, but I made some of the original changes with him back in the ST days, so not sure how I ended up with the version I have.....

Most of the changes were written to support the FGS-224, however recently I had some zwave problems and this code managed to fix some of those problems, hence I thought I would roll it out to my other Fibaro handlers. Mainly related to whether you have a secure pairing or not.

There is one more change I want to make, around using the built in Hubitat component switch (child) as opposed to the metering switch from Eric (so it is easier to install), but would be interested in your feedback at this point if you dont mind.

@Berthoven - I have now uploaded the full set of changes for this device handler and it seems to be working well for me. It now uses the built in child/component device switch handler, so does not need you to install the metering switch from Eric.
Would love to hear your thoughts.

1 Like

Tested today. Works like a charm. Child devices created, device is reporting back its manual state change to HE. Thanks for great job!

Edit: after testing, I have only one remark. Switch 1 is updated immediately, switch 2 needs to be polled to get its state updated. Would it be possible to fix that?

Download the Hubitat app