Fibaro FGS-223

I've said it before and I'll say it again.... You're a legend, mate. The bug with the status not updating and dashboard switches bugging out has been driving me crazy for months. I finally got round to looking into the problem and this right here was the issue. Updated the code to "multichannelv4" and bam! fixed!

1 Like

Hi all
Over the weekend I updated the metering child device handler as @cjcharles0 has updated for home automation platforms.
I am assuming the simple changes to this are not the cause of the issues I am now experiencing.
I have a C5 running 2.2.4

Although the switches are working, there are debug messages appearing in the Live Log -


Also the state of the child devices is not updating, and can only be state synced using the Refresh button on the child device screen. This is having a side effect of the effective use of Groups...

Is anyone else experiencing these issues with Fibaro FGS-223s using @ericm device handlers ?

If youre talking about the child update so it is detected as a light then yes I did make that change, but that doesnt explain your issue.

I have a C7 hub and have been having a number of issues with my FGS222 and FGS224 devices (I skipped the FGS223 model for some reason, and had slightly different issues on each of the 2.2.4 firmware versions!).

I think Ive solved most of them now for my devices, and they might work with the 223 model if you can't get your device handler working. A fair few of the issues seem to be caused by the switch from multichannelv3 to multichannelv4 (driven mainly by Hubitat firmware I think) - have you changed all references in the device handler from v3 to v4 already?

@cjcharles I wasnt inferring at all that the change has caused. Just explaining why I updated.

I am looking at the fgs223 device handler and have changed as you suggest -
def zwaveEvent(hubitat.zwave.commands.meterv4.MeterReport cmd, ep=null) {
def zwaveEvent(hubitat.zwave.commands.multichannelv4.MultiChannelCapabilityReport cmd)
def zwaveEvent(hubitat.zwave.commands.multichannelv4.MultiChannelCmdEncap cmd) {

private encap(cmd, endpoint) {
if (endpoint) {
zwave.multiChannelV4.multiChannelCmdEncap(destinationEndPoint:endpoint).encapsulate(cmd)
} else {
cmd
}
}

and the state is still not being updated.
I see there are loads of other V1 & V2 commands in the device handler also.
Do these need to be updated?

Where is this all documented so I can debug issues more effectively in future?

Cool, no worries, I wasnt offended! Child devices shouldnt affect the parent handler much, but I do think the change from v3 to v4 will probably fix most of the problems you see. Probably the latest Hubitat firmware removes some of the options for v3 comms, hence there is less success.

Do you get a different error message now, since the v4 MultiChannelCmdEncap is the one that was missing and should now be present.

Its not really documented as Ive discovered, and the Fibaro devices have a hotch potch of handlers scattered over the forums without a good reference point for which ones to use and where to get them. I'd like to fix this in December if I have time, and perhaps host them all on Hubitat Package Manager aswell.

Yes getting an error message now -

so I have changed this method back and seems all working as before :wink:

def zwaveEvent(hubitat.zwave.commands.meterv3.MeterReport cmd, ep=null) {

Yup, just change multichannelv3 to v4, that is used to encapsulate other commands, so should get most things working

And it has :wink: thanks@cjcharles
There was a delay in dwitching over the new handler I think and changing and Save Preferences seemed to force the issue.
I have never used GitHub (been over 20 years since I was programming) and was wondering if it is worth pushing the update to the device hander?

So its working now and I thought I would turn on the Debug messages and see if I can learn more about zwave commands and Hubitat Device Handlers.
I am seeing the following messages in the log when I turn off and on each of the 2 endpoints.
Should I investigate these further ?

What comment/log are you concerned about? Everything looks good to me.

I proposed a change to @ericm's device handler so its easier for other people in future, so if/when accepted then it will be public for everybody on the above link.

Hi guys!

I installed your custom driver and the child.
In the "devices" page i can switch them perfectly.

But how can i generate seperate tiles for s1 and s2?
I can´t add them to a tile, it gets marked with a "?" and i can´t switch it on or off.

Thank you!

I have a number of Fibaro FGS-223 Switches fitted, and apart from some teething problems during the set up, they do seem to work fine. You should have something similar to the following on your devices page:

You will see I have the Main Switch (Hall Lights) and then two switches (Hall Lights (Centre)) and (Hall Lights (Front Door)).

If you click on Hall Light you should have the following:

You should see the Driver under Type.

If you click on one of the Child Devices you should see:

Each Child should have the "Metering Switch Child Device" Driver

If you are configured like this, you should be able to go to the dashboard and see both devices like this:

Hope this helps.

Hi all, I have added a parent device and two child devices successfully using the latest drivers from Github. However, i can't control the child switches in dashboards using "Switch" template. The child devices are marked as "Unknown".

This is the error I see in the log when i physically toggle the switch.

dev:72020-12-13 11:14:20.225 pm debugUnhandled event MultiChannelCmdEncap(bitAddress:false, command:2, commandClass:50, destinationEndPoint:0, parameter:[33, 50, 0, 174, 0, 0], res01:false, sourceEndPoint:2)

dev:72020-12-13 11:14:18.013 pm debugUnhandled event MultiChannelCmdEncap(bitAddress:false, command:3, commandClass:37, destinationEndPoint:0, parameter:[255], res01:false, sourceEndPoint:2)

dev:72020-12-13 11:14:17.606 pm debugUnhandled event MultiChannelCmdEncap(bitAddress:false, command:3, commandClass:37, destinationEndPoint:0, parameter:[0], res01:false, sourceEndPoint:2)

Thanks in advance.

@nigelmwilliams7 Can share the updates you made?

search for v3 in the driver code and change to v4.
Ignore the meterv3.MeterReport though

Thanks for the quick reply. Yes, the driver code is already updated to v4 except meterv3 as per your suggestion.

The Child devices are created when you Save Preferences if i remember well.
They are then shown in the Parent Device details

Exactly the same problem here

Is your log showing the same debug message?

If i push the two new created tiles on the dashboard

dev:102020-12-13 18:10:32.967 debugUnhandled event MultiChannelCmdEncap(bitAddress:false, command:2, commandClass:50, destinationEndPoint:0, parameter:[33, 50, 0, 0, 0, 0], res01:false, sourceEndPoint:2)

dev:102020-12-13 18:10:32.466 debugUnhandled event MultiChannelCmdEncap(bitAddress:false, command:3, commandClass:37, destinationEndPoint:0, parameter:[0], res01:false, sourceEndPoint:2)

dev:102020-12-13 18:10:31.024 debugUnhandled event MultiChannelCmdEncap(bitAddress:false, command:3, commandClass:37, destinationEndPoint:0, parameter:[0], res01:false, sourceEndPoint:1)

dev:102020-12-13 18:10:31.019 debugUnhandled event MultiChannelCmdEncap(bitAddress:false, command:2, commandClass:50, destinationEndPoint:0, parameter:[33, 50, 0, 0, 0, 0], res01:false, sourceEndPoint:1)

dev:102020-12-13 18:10:30.347 debugchildOff(06-ep2)

dev:102020-12-13 18:10:28.768 debugchildOff(06-ep1)