Fibaro RGBW Controller 2 (FGRGBW-442) - Device unknown

I just found this thread after having difficulties using the RGBW Controller 2 with Domoticz. The latest Domoticz 2020.1 does use open z-wave 1.6, but still does not recognize the module correctly.

After following these steps (manually adding the xml file and adjusting the manufacturer_specific.xml) I managed to include the module and have it recognized correctly.

However, I do not see most of the “control entities” as mentioned in this thread. I can’t control the outputs properly. This could be a similar problem as being described here.

It might indicate that further adjustments are required on the z-wave 1.6 implementation that I’ve tried.

After discussing this with the author of the adjusted xml files for the FGRGBW-442 he states that the XML-files aren’t finished and need further work. That’s probably the reason not all devices are being found.

He also states that open-zwave might only support version 2 of the command class color switch and that the module is using version 3. But he’s not sure if this is causing the problem.

Concluding, the open-zwave implementation for this device needs further work.

I got as far as to have it show as the correct Fibaro type. But it still only shows the sensor entities and no lights. So tough luck.

Does any one know when we can expect the open z-wave upgrade to 1.6?

Hey, from what I can tell from looking at the manual, the Zooz ZEN31 and the Fibaro RGBW Controller 2 are similar (if not the same) device. I know there has been some headway made with the Zooz ZEN31, and one of the problems seems to be with the zwave discovery schema. I modified my home assistant instance as suggested in the link below, and one light entity showed up. It kinda works, I can turn it on and off as well as dim. I can’t seem to control the white channel or change colors.

Also having this question! Need to replace my current fibaro RGBW dimmers with zwave plus…

I got the Zooz ZEN31 working. Maybe this will wirk for the Fibaro RGBW Controller 2.

Just made a coffee and prepared myself for long debugging evening when got notification about your post. You made my day bro! It works exactly the same with Fibaro FGRGBW442. Looks like these two modules are clones. Thanks a lot for update!

1 Like

Thanks for this! I have Fibaro RGBW Controller 2 (FGRBBW-442). I have followed the above instructions for Zooz ZEN31 and it kind of works for the Fibaro. I get all the entities that I should, but I cannot access the configuration parameters. For example, I cannot change parameter 20 from 2 (default) to 4. The list of configuration parameters in Home Assistant/Zwave is completely empty for this node. Also, I have tried with zwave.set_config_parameter but this also seems not to work: no error message but does not change the behavior as it should. Any ideas?

Open zwcfg_*.xml and check command class 112 for this device. It must be empty if you dont see any options. Place all configuration definitions here. Of course you need to restart HA core after the change.

The config options show up for me, but I needed to grab the latest OZW device config files from the OpenZWave Github repository. Here’s my section of the zwcfg_*.xml, as @xtensa said you can replace the command class 112 section of your file with mine.

			<CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="5" innif="true">
				<Instance index="1" />
				<Value type="list" genre="config" instance="1" index="1" label="On Off Status After Power Failure" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="2" vindex="0" size="1">
					<Help>On Off Status After Power Failure. Default: forced to OFF</Help>
					<Item label="forced to OFF" value="0" />
					<Item label="restore to previous state" value="1" />
					<Item label="forced to on" value="2" />
				</Value>
				<Value type="list" genre="config" instance="1" index="20" label="Switch / Input Type for IN1" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="4" vindex="2" size="1">
					<Help>Switch / Input Type for IN1. Choose the input/switch type you want to connect to the IN1 terminal. Default: momentary switch</Help>
					<Item label="analog sensor w/no pullup" value="0" />
					<Item label="analog sensor with pull-up" value="1" />
					<Item label="momentary switch" value="2" />
					<Item label="toggle switch (on when swithc is on)" value="3" />
					<Item label="toggle switch (toggles with switch toggle)" value="4" />
				</Value>
				<Value type="list" genre="config" instance="1" index="21" label="Switch / Input Type for IN2" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="4" vindex="2" size="1">
					<Help>Switch / Input Type for IN2. Choose the input/switch type you want to connect to the IN2 terminal. Default: momentary switch</Help>
					<Item label="analog sensor w/no pullup" value="0" />
					<Item label="analog sensor with pull-up" value="1" />
					<Item label="momentary switch" value="2" />
					<Item label="toggle switch (on when swithc is on)" value="3" />
					<Item label="toggle switch (toggles with switch toggle)" value="4" />
				</Value>
				<Value type="list" genre="config" instance="1" index="22" label="Switch / Input Type for IN3" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="4" vindex="2" size="1">
					<Help>Switch / Input Type for IN3. Choose the input/switch type you want to connect to the IN3 terminal. Default: momentary switch</Help>
					<Item label="analog sensor w/no pullup" value="0" />
					<Item label="analog sensor with pull-up" value="1" />
					<Item label="momentary switch" value="2" />
					<Item label="toggle switch (on when swithc is on)" value="3" />
					<Item label="toggle switch (toggles with switch toggle)" value="4" />
				</Value>
				<Value type="list" genre="config" instance="1" index="23" label="Switch / Input Type for IN4" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="4" vindex="2" size="1">
					<Help>Switch / Input Type for IN4. Choose the input/switch type you want to connect to the IN4 terminal. Default: momentary switch</Help>
					<Item label="analog sensor w/no pullup" value="0" />
					<Item label="analog sensor with pull-up" value="1" />
					<Item label="momentary switch" value="2" />
					<Item label="toggle switch (on when swithc is on)" value="3" />
					<Item label="toggle switch (toggles with switch toggle)" value="4" />
				</Value>
				<Value type="short" genre="config" instance="1" index="40" label="Scene Control for IN1" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="15" value="False">
					<Help>Assign scene activation trigger for IN1 terminal. Enter the sum of values to enable more than 1 trigger.Values: 0 – scene control disabled. 1 – click / toggle the connected switch once to trigger a scene; 2 – click / toggle the connected switch twice to trigger a scene; 4 – click / toggle the connected switch 3 times to trigger a scene; 8 – hold and release the connected momentary switch to trigger a scene. Default: 15</Help>
				</Value>
				<Value type="short" genre="config" instance="1" index="41" label="Scene Control for IN2" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="15" value="False">
					<Help>Assign scene activation trigger for IN2 terminal. Enter the sum of values to enable more than 1 trigger.Values: 0 – scene control disabled. 1 – click / toggle the connected switch once to trigger a scene; 2 – click / toggle the connected switch twice to trigger a scene; 4 – click / toggle the connected switch 3 times to trigger a scene; 8 – hold and release the connected momentary switch to trigger a scene. Default: 15</Help>
				</Value>
				<Value type="short" genre="config" instance="1" index="42" label="Scene Control for IN3" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="15" value="False">
					<Help>Assign scene activation trigger for IN3 terminal. Enter the sum of values to enable more than 1 trigger.Values: 0 – scene control disabled. 1 – click / toggle the connected switch once to trigger a scene; 2 – click / toggle the connected switch twice to trigger a scene; 4 – click / toggle the connected switch 3 times to trigger a scene; 8 – hold and release the connected momentary switch to trigger a scene. Default: 15</Help>
				</Value>
				<Value type="short" genre="config" instance="1" index="43" label="Scene Control for IN4" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="15" value="False">
					<Help>Assign scene activation trigger for IN4 terminal. Enter the sum of values to enable more than 1 trigger.Values: 0 – scene control disabled. 1 – click / toggle the connected switch once to trigger a scene; 2 – click / toggle the connected switch twice to trigger a scene; 4 – click / toggle the connected switch 3 times to trigger a scene; 8 – hold and release the connected momentary switch to trigger a scene. Default: 15</Help>
				</Value>
				<Value type="short" genre="config" instance="1" index="62" label="Power Report Frequency" units="seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="32400" value="3600">
					<Help>Power Report Frequency. Choose how often you want your RGBW Dimmer to report power consumption (W) to your controller. NOTE: must be 0, or an increment of 30. Default: 3600</Help>
				</Value>
				<Value type="short" genre="config" instance="1" index="65" label="Energy Report Threshold" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="500" value="10">
					<Help>Energy Report Threshold. Choose how you want your RGBW Dimmer to report energy use (kWh) to your hub. The number entered as value corresponds to decimal values in energy useage change. So if 10 is entered by default, the RGBW Dimmer will report any change in energy use over 0.1 kWh. Energy reports are sent in t least 30-second intervals.</Help>
				</Value>
				<Value type="short" genre="config" instance="1" index="66" label="Energy Report Frequency" units="seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="32400" value="3600">
					<Help>Energy Report Frequency. Choose how often you want your RGBW Dimmer to report energy (kWh) to your controller. NOTE: must be 0, or an increment of 30. Default: 3600</Help>
				</Value>
				<Value type="list" genre="config" instance="1" index="150" label="RGBW/HSB Wall Switch Mode" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="0" size="1">
					<Help>RGBW/HSB Wall Switch Mode. Choose how switches connected to the input terminals control your LED strip. In the default RGBW mode, each switch connected to each input terminal controls the RGBW chnnels separately (so IN1 for red, IN2 for green, etc.) with a single click for ON/OFF, double click to full brightness, and press-and-hold to dim (momentary switches only). In the HSB, IN1 controls hue, IN2 - saturation, IN3 - brightness, IN4 - white with single click for last set value or value 0, double click to max value, and press-and-hold to set custom value. Default: RGBW mode</Help>
					<Item label="RGBW mode" value="0" />
					<Item label="HSB mode" value="1" />
				</Value>
				<Value type="short" genre="config" instance="1" index="151" label="Ramp Rate (switch)" units="seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="127" value="3">
					<Help>Ramp Rate (switch). Adjust the ramp rate for your RGBW dimmer (fade-in/fade-out effect for on/off operation). Values correspond to the number of seconds it takes for the dimmer to reach full brightness or turn off when operated from the connected wall switch. Note that 0 is instant on/off. Default : 3 seconds</Help>
				</Value>
				<Value type="short" genre="config" instance="1" index="152" label="Ramp Rate (Z-Wave)" units="seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="127" value="1">
					<Help>Ramp Rate (Z-Wave). Adjust the ramp rate for your RGBW dimmer (fade-in/fade-out effect for on/off operation). Values correspond to the number of seconds it takes for the dimmer to reach full brightness or turn off when operated remotely from the Z-Wave hub Note that 0 is instant on/off. Default : 3 seconds</Help>
				</Value>
				<Value type="list" genre="config" instance="1" index="157" label="Preset Programs" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="10" vindex="2" size="1">
					<Help>Enable one of the preset animated color programs to set the mood with a click. Default: preset programs disabled</Help>
					<Item label="preset programs disabled" value="0" />
					<Item label="fireplace" value="6" />
					<Item label="storm" value="7" />
					<Item label="rainbow" value="8" />
					<Item label="polar lights" value="9" />
					<Item label="police" value="10" />
				</Value>
			</CommandClass>

Thanks! Now it seems to work :slight_smile:

FYI, seems like your 112 section is not updated with what is described in the Fibaro manual (v1.1). For example, parameters 40-43 are not boolean, but short integers.

1 Like

Hi. Thank for all contributions. I was able to get Fibaro RGBW 2 (FGRGBW-442) working (kind of) with these instructions including config options. The problem I am having is with HA not getting the states updated so the toggles are all messed up. Was anyone able to get the states reflected in HA properly? Thank you

In my case the states are working correctly.

I was having that issue as well. The device has a ramp rate parameter, and it seems the update value catches it when it is in the middle of ramping.

Two ways I can think of to fix it.

  1. Refresh the entity with a zwave service call (what I did, I can confirm it works): https://www.home-assistant.io/docs/z-wave/services/

  2. Add a delay in your config file: Dimmer lights show as 'on' even when turned off

@HA_jr, good catch. The Zooz ZEN31 openzwave device file I took from github must be wrong. I updated my file above.

@DaveCo1701 thanks for the suggestions. Not only I get the values in the middle of ramping, but when I toggle the physical switch, HA does not update at all. I can see the ValueChanged event in the OZW log but HA does not seem to do anything with it.

I could not get the delay option to work either. I now use refresh_entity zwave service call in an automation that triggers on the power entity state change from the device. It is not ideal but it updates the entities properly within a few seconds.

Is there anyone that got this Fibaro RGBW-2 controller working correctly with OpenZwave(beta) ?

I was shipped with as 442 instead of a 441 aswell:
Is there a step-by-step guide to get it working properly?

Thanks

Anyone that made any progress with this device ?