Fibaro Roller Shutter 3 FGR-223 - New scene command class - not implemented in HA

Hi,

First, Fibaro has changed their scene command class from “Scene Activation” to “Central Scene”, so now ‘Scene ID’ is 1 for any scene command comes from S1 and 2 for commands come from S2, and ‘Scene Attribute’ identifies the action (single, double, triple click or hold/release).
HA uses Scene activation with Fibaro roller shutter 2 FGR-222 so it shows only the Scene ID.
Here is the relevant log:

2019-02-13 17:15:37.474 Detail, Node035, Received: 0x01, 0x08, 0x00, 0x04, 0x00, 0x23, 0x02, 0x98, 0x40, 0x0a
2019-02-13 17:15:37.475 Info, Node035, Received SecurityCmd_NonceGet from node 35
2019-02-13 17:15:37.475 Info, NONCES: 0xd5, 0x09, 0xa2, 0x47, 0x00, 0x95, 0x48, 0x4c
2019-02-13 17:15:37.475 Info, NONCES: 0xb0, 0xd7, 0x9b, 0xb2, 0x6b, 0x50, 0x7f, 0xfb
2019-02-13 17:15:37.475 Info, NONCES: 0xd9, 0x8b, 0x8c, 0x51, 0xda, 0xea, 0x69, 0x27
2019-02-13 17:15:37.475 Info, NONCES: 0xe6, 0xd7, 0xf7, 0x97, 0x01, 0x21, 0x05, 0xd9
2019-02-13 17:15:37.475 Info, NONCES: 0xc6, 0x19, 0x09, 0x8b, 0x49, 0xcf, 0x1d, 0x5c
2019-02-13 17:15:37.475 Info, NONCES: 0x56, 0x9e, 0x9e, 0x66, 0x9a, 0x5b, 0x55, 0x1b
2019-02-13 17:15:37.475 Info, NONCES: 0xed, 0x07, 0x1e, 0x78, 0x89, 0x20, 0x80, 0xc9
2019-02-13 17:15:37.476 Info, NONCES: 0xf6, 0x42, 0x19, 0x7b, 0xfb, 0xe9, 0xe2, 0x91
2019-02-13 17:15:37.476 Info, Node035, Sending (Send) message (Callback ID=0x01, Expected Reply=0x00) - Nonce_Report - 0x01, 0x11, 0x00, 0x13, 0x23, 0x0a, 0x98, 0x80, 0x56, 0x9e, 0x9e, 0x66, 0x9a, 0x5b, 0x55, 0x1b, 0x05, 0x01, 0x77:
2019-02-13 17:15:37.484 Detail, Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2019-02-13 17:15:37.485 Detail, ZW_SEND_DATA delivered to Z-Wave stack
2019-02-13 17:15:37.501 Detail, Received: 0x01, 0x07, 0x00, 0x13, 0x01, 0x00, 0x00, 0x02, 0xe8
2019-02-13 17:15:37.501 Detail, ZW_SEND_DATA Request with callback ID 0x01 received (expected 0x01)
2019-02-13 17:15:37.524 Detail, Node035, Received: 0x01, 0x1f, 0x00, 0x04, 0x00, 0x23, 0x19, 0x98, 0x81, 0xc8, 0x76, 0xdb, 0x8b, 0x5e, 0xf2, 0xa4, 0x8f, 0xb0, 0xc9, 0x95, 0xda, 0xe0, 0x31, 0x56, 0x2b, 0xe0, 0xec, 0x0f, 0x24, 0x70, 0xe8, 0x1d, 0x96
2019-02-13 17:15:37.524 Info, Raw: 0x98, 0x81, 0xc8, 0x76, 0xdb, 0x8b, 0x5e, 0xf2, 0xa4, 0x8f, 0xb0, 0xc9, 0x95, 0xda, 0xe0, 0x31, 0x56, 0x2b, 0xe0, 0xec, 0x0f, 0x24, 0x70, 0xe8, 0x1d, 0x96
2019-02-13 17:15:37.524 Detail, Node035, Decrypted Packet: 0x00, 0x5b, 0x03, 0x01, 0x83, 0x01
2019-02-13 17:15:37.524 Detail,
2019-02-13 17:15:37.524 Info, Node035, Received Central Scene set from node 35: scene id=1 in 7860 seconds. Sending event notification.
2019-02-13 17:15:37.524 Warning, Node035, No ValueID created for Scene 1

Second, now the FGR-223 has one parameter for scenes for S1 and another for S2. On the HA interface it is possible to set S1 (Param 40) but not S2 (Param 41). Here is the relevant log line:

2019-02-13 17:14:13.947 Warning, Invalid Index Set on ValueList
2019-02-13 17:14:13.947 Warning, ValueList returned a NULL value for GetValueListSelection: S2 switch - scenes sent

This is a link to Fibaro’s FGR-223 manual.
and here are some relevant print screens:



Is this the right place to post an implementation request?

Cheers,

Not really HA but OZW issue. Don’t own the device but based on my precvious experience with OZW and scene controllers to this:

In Z-Wave UI save the zwave config, stop the network and then edit the zwcfg_*.xml file to modify the command class 91 section for the device with the below. Then start the network again.

		<CommandClass id="91" name="COMMAND_CLASS_CENTRAL_SCENE" version="1" request_flags="4" innif="true" scenecount="2">
			<Instance index="1" />
			<Value type="int" genre="system" instance="1" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
			<Value type="int" genre="user" instance="1" index="1" label="Switch1" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
			<Value type="int" genre="user" instance="1" index="2" label="Switch2" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
		</CommandClass>

You should start getting zwave scene events with:

scene_id 1 or 2 (switch nr) and scene_data:
7680 - pressed x 1
7860 - pressed x 2
7920 - pressed x 3
7800 - held
7740 - released

Thanks @ClassicGOD.
I’ve tried your suggestion but I see no change - both on the log -

Info, Node035, Received Central Scene set from node 35: scene id=1 in 7860 seconds. Sending event notification.

and on the zwave configuration - no option to configure P41 (S2)

Any idea what else can I try?

EDIT:
Sorry, though the log is the same, I’ve just noticed that my test scene automation did work with your suggestion. So for S1 you have figured it out!! GREAT!!! THANKS!

How do I solve (P41) S2?

upload your zwcfg_*.xml (or just the FGT-223 section) so I can take a look

Here it is:

<Node id="35" name="" location="" basic="4" generic="17" specific="6" roletype="5" devicetype="6400" nodetype="0" type="Motor Control Class B" listening="true" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" secured="true" query_stage="Complete">
	<Manufacturer id="10f" name="FIBARO System">
		<Product type="303" id="1000" name="FGR223 Roller Shutter Controller 3" />
	</Manufacturer>
	<CommandClasses>
		<CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1" request_flags="5" mapping="38">
			<Instance index="1" />
		</CommandClass>
		<CommandClass id="34" name="COMMAND_CLASS_APPLICATION_STATUS" version="1" request_flags="5" innif="true">
			<Instance index="1" />
			<Instance index="2" endpoint="1" />
		</CommandClass>
		<CommandClass id="37" name="COMMAND_CLASS_SWITCH_BINARY" version="1" request_flags="5">
			<Instance index="1" />
			<Value type="bool" genre="user" instance="1" index="0" label="Switch" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
		</CommandClass>
		<CommandClass id="38" name="COMMAND_CLASS_SWITCH_MULTILEVEL" version="4" request_flags="1" issecured="true" innif="true">
			<Instance index="1" />
			<Value type="byte" genre="user" instance="1" index="0" label="Level" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="98" />
			<Value type="button" genre="user" instance="1" index="1" label="Bright" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
			<Value type="button" genre="user" instance="1" index="2" label="Dim" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
			<Value type="bool" genre="system" instance="1" index="3" label="Ignore Start Level" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="True" />
			<Value type="byte" genre="system" instance="1" index="4" label="Start Level" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
		</CommandClass>
		<CommandClass id="43" name="COMMAND_CLASS_SCENE_ACTIVATION" version="1" request_flags="5" issecured="true">
			<Instance index="1" />
		</CommandClass>
		<CommandClass id="50" name="COMMAND_CLASS_METER" version="3" request_flags="3" issecured="true" innif="true">
			<Instance index="1" />
			<Value type="decimal" genre="user" instance="1" index="0" label="Energy" units="kWh" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.05" />
			<Value type="decimal" genre="user" instance="1" index="8" label="Power" units="W" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
			<Value type="bool" genre="user" instance="1" index="32" label="Exporting" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
			<Value type="button" genre="system" instance="1" index="33" label="Reset" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
		</CommandClass>
		<CommandClass id="86" name="COMMAND_CLASS_CRC_16_ENCAP" version="1" request_flags="5" innif="true">
			<Instance index="1" />
		</CommandClass>
		<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="5" issecured="true" innif="true">
			<Instance index="1" />
		</CommandClass>
		<CommandClass id="91" name="COMMAND_CLASS_CENTRAL_SCENE" version="1" request_flags="4" innif="true" scenecount="2">
			<Instance index="1" />
			<Value type="int" genre="system" instance="1" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
			<Value type="int" genre="user" instance="1" index="1" label="Switch1" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
			<Value type="int" genre="user" instance="1" index="2" label="Switch2" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
		</CommandClass>
		<CommandClass id="94" name="COMMAND_CLASS_ZWAVEPLUS_INFO" version="1" request_flags="5" innif="true">
			<Instance index="1" />
			<Instance index="2" endpoint="1" />
			<Value type="byte" genre="system" instance="1" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="1" />
			<Value type="short" genre="system" instance="1" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="6400" />
			<Value type="short" genre="system" instance="1" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="6400" />
			<Value type="byte" genre="system" instance="2" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
			<Value type="short" genre="system" instance="2" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
			<Value type="short" genre="system" instance="2" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
		</CommandClass>
		<CommandClass id="96" name="COMMAND_CLASS_MULTI_INSTANCE/CHANNEL" version="4" request_flags="1" issecured="true" innif="true">
			<Instance index="1" />
		</CommandClass>
		<CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="5" issecured="true" innif="true">
			<Instance index="1" />
			<Value type="list" genre="config" instance="1" index="20" label="Switch type" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
				<Help>This parameter defines as what type the device should treat the switch connected to the S1 and S2 terminals. This parameter is not relevant in gate operating modes (parameter 151 set to 3 or 4). In this case switch always works as a momentary and has to be connected to S1 terminal.</Help>
				<Item label="Momentary switches" value="0" />
				<Item label="Toggle switches" value="1" />
				<Item label="Single, momentary switch" value="2" />
			</Value>
			<Value type="list" genre="config" instance="1" index="24" label="Inputs orientation" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
				<Help>This parameter allows reversing the operation of switches connected to S1 and S2 without changing the wiring. Default: S1 -&gt; 1st channel, S2 -&gt; 2nd channel. Reversed: S1 -&gt; 2nd channel, S2 -&gt; 1st channel.</Help>
				<Item label="Default" value="0" />
				<Item label="Reversed" value="1" />
			</Value>
			<Value type="list" genre="config" instance="1" index="25" label="Outputs orientation" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
				<Help>This parameter allows reversing the operation of Q1 and Q2 without changing the wiring (in case of invalid motor connection) to ensure proper operation. - Default: Q1 -&gt; 1st channel, Q2 -&gt; 2nd channel. - Reversed: Q1 -&gt; 2nd channel, Q2 -&gt; 1st channel.</Help>
				<Item label="Default" value="0" />
				<Item label="Reversed" value="1" />
			</Value>
			<Value type="int" genre="config" instance="1" index="30" label="Alarm configuration - 1st slot" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0">
				<Help>This parameter determines to which alarm frames and how the device should react. The parameters consist of 4 bytes, three most significant bytes are set according to the official Z-Wave protocol specification. 1B [MSB] - notification Type. 2B - notification Status. 3B - Event/State Parameters. 4B [lSB] action: 0 - no action, 1 - open blinds, 2 - close blinds. Default setting: [0x00, 0x00, 0x00, 0x00]</Help>
			</Value>
			<Value type="int" genre="config" instance="1" index="31" label="Alarm configuration - 2st slot (water)" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="100597760">
				<Help>This parameter determines to which alarm frames and how the device should react. The parameters consist of 4 bytes, three most significant bytes are set according to the official Z-Wave protocol specification. 1B [MSB] - notification Type. 2B - notification Status. 3B - Event/State Parameters. 4B [lSB] action: 0 - no action, 1 - open blinds, 2 - close blinds. Default setting: [0x05, 0xFF, 0x00, 0x00] (Water Alarm, any notification, no action)</Help>
			</Value>
			<Value type="int" genre="config" instance="1" index="32" label="Alarm configuration - 3st slot (smoke)" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="33488896">
				<Help>This parameter determines to which alarm frames and how the device should react. The parameters consist of 4 bytes, three most significant bytes are set according to the official Z-Wave protocol specification. 1B [MSB] - notification Type. 2B - notification Status. 3B - Event/State Parameters. 4B [lSB] action: 0 - no action, 1 - open blinds, 2 - close blinds. Default setting: [0x01, 0xFF, 0x00, 0x00] (Smoke Alarm, any notification, no action)</Help>
			</Value>
			<Value type="int" genre="config" instance="1" index="33" label="Alarm configuration - 4st slot (CO)" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="50266112">
				<Help>This parameter determines to which alarm frames and how the device should react. The parameters consist of 4 bytes, three most significant bytes are set according to the official Z-Wave protocol specification. 1B [MSB] - notification Type. 2B - notification Status. 3B - Event/State Parameters. 4B [lSB] action: 0 - no action, 1 - open blinds, 2 - close blinds. Default setting: [0x02, 0xFF, 0x00, 0x00] (CO Alarm, any notification, no action)</Help>
			</Value>
			<Value type="int" genre="config" instance="1" index="34" label="Alarm configuration - 5st slot (heat)" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="83820544">
				<Help>This parameter determines to which alarm frames and how the device should react. The parameters consist of 4 bytes, three most significant bytes are set according to the official Z-Wave protocol specification. 1B [MSB] - notification Type. 2B - notification Status. 3B - Event/State Parameters. 4B [lSB] action: 0 - no action, 1 - open blinds, 2 - close blinds. Default setting: [0x04, 0xFF, 0x00, 0x00] (Heat Alarm, any notification, no action)</Help>
			</Value>
			<Value type="byte" genre="config" instance="1" index="40" label="S1 switch - scenes sent" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="2">
				<Help>This parameter determines which actions result in sending scene IDs assigned to them. Sum of: 1 - Key pressed 1 time. 2 - Key pressed 2 times. 4 - Key pressed 3 times. 8 - Key hold down and key released. Default setting: 0.</Help>
			</Value>
			<Value type="list" genre="config" instance="1" index="41" label="S2 switch - scenes sent" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
				<Help>This parameter determines which actions result in sending scene IDs assigned to them. Sum of: 1 - Key pressed 1 time. 2 - Key pressed 2 times. 4 - Key pressed 3 times. 8 - Key hold down and key released. Default setting: 0.</Help>
			</Value>
			<Value type="list" genre="config" instance="1" index="60" label="Measuring power consumed by the device itself" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
				<Help>This parameter determines whether the power metering should include the amount of active power consumed by the device itself.</Help>
				<Item label="Disabled" value="0" />
				<Item label="Enabled" value="1" />
			</Value>
			<Value type="short" genre="config" instance="1" index="61" label="Power reports - on change" units="%" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="500" value="15">
				<Help>This parameter determines the minimum change in consumed power that will result in sending new power report to the main controller. For loads under 50W, the parameter is not relevant and reports are sent every 5W change. Power reports are sent no often than every 30 seconds. 0: reports are disabled. 1-500 (1-500%): change in power. Default setting: 15.</Help>
			</Value>
			<Value type="short" genre="config" instance="1" index="62" label="Power reports - periodic" units="second" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="32400" value="3600">
				<Help>This parameter determines in what time intervals the periodic power reports are sent to the main controller. Periodic reports do not depend on power change (parameter 61). 0: periodic reports are disabled 30-32400 (30-32400s): report interval. Default setting: 3600 (1h).</Help>
			</Value>
			<Value type="short" genre="config" instance="1" index="65" label="Energy reports - on change" units="0.01 kWh" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="500" value="10">
				<Help>This parameter determines the minimum change in consumed energy that will result in sending new energy report to the main controller. 0: reports are disabled. 1-500 (0.01 - 5 kWh): change in energy. Default setting: 10 (0.1 kWh).</Help>
			</Value>
			<Value type="short" genre="config" instance="1" index="66" label="Energy reports - periodic" units="second" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="32400" value="3600">
				<Help>This parameter determines in what time intervals the periodic energy reports are sent to the main controller. Periodic reports do not depend on energy change (parameter 65). 0: periodic reports are disabled. 30-32400 (30-32400s): report interval. Default setting: 3600 (1h)</Help>
			</Value>
			<Value type="list" genre="config" instance="1" index="150" label="Force calibration" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="1" size="1">
				<Help>By setting this parameter to 2 the device enters the calibration mode. The parameter relevant only if the device is set to work in positioning mode (parameter 151 set to 1, 2 or 4).</Help>
				<Item label="Device is not calibrated" value="0" />
				<Item label="Device is calibrated" value="1" />
				<Item label="Force device calibration" value="2" />
			</Value>
			<Value type="list" genre="config" instance="1" index="151" label="Operating mode" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
				<Help>This parameter allows adjusting operation according to the connected device.</Help>
				<Item label="Roller blind" value="1" />
				<Item label="Venetian blind" value="2" />
				<Item label="gate without positioning" value="3" />
				<Item label="gate with positioning" value="4" />
				<Item label="roller blind with built-in driver" value="5" />
				<Item label="roller blind with built-in driver (impulse)" value="6" />
			</Value>
			<Value type="int" genre="config" instance="1" index="152" label="Venetian blind - time of full turn of the slats" units="0.1 second" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="90000" value="150">
				<Help>For Venetian blinds (parameter 151 set to 2) the parameter determines time of full turn cycle of the slats. For gates (parameter 151 set to 3 or 4) the parameter determines time after which open gate will start closing automatically (if set to 0, gate will not close). The parameter is irrelevant for other modes. 0-90000 (0 - 900s, every 0.01s) time of turn. Default setting: 150 (1.5s).</Help>
			</Value>
			<Value type="list" genre="config" instance="1" index="153" label="Set slats back to previous position" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="1" size="1">
				<Help>For Venetian blinds (parameter 151 set to 2) the parameter determines slats positioning in various situations. The parameter is irrelevant for other modes.</Help>
				<Item label="Only in case of the main controller operation" value="0" />
				<Item label="In case of the main controller operation, momentary switch operation, or when the limit switch is reached." value="1" />
				<Item label="In case of the main controller operation, momentary switch operation, when the limit switch is reached or after receiving the Switch Multilevel Stop control frame" value="2" />
			</Value>
			<Value type="short" genre="config" instance="1" index="154" label="Delay motor stop after reaching end switch" units="0.1 second" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="600" value="10">
				<Help>For blinds (parameter 151 set to 1, 2, 5 or 6) the parameter determines the time after which the motor will be stopped after end switch contacts are closed. For gates (parameter 151 set to 3 or 4) the parameter determines the time after which the gate will start closing automatically if S2 contacts are opened (if set to 0, gate will not close). 0-600 (0 - 60s). Default setting: 10 (1s).</Help>
			</Value>
			<Value type="short" genre="config" instance="1" index="155" label="Motor operation detection" units="watt" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="10">
				<Help>Power threshold to be interpreted as reaching a limit switch. 0: reaching a limit switch will not be detected 1-255 (1-255W): report interval. Default setting: 10.</Help>
			</Value>
			<Value type="int" genre="config" instance="1" index="156" label="Time of up movement" units="0.01 second" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="90000" value="1755">
				<Help>This parameter determines the time needed for roller blinds to reach the top. For modes with positioning value is set automatically during calibration, otherwise, it must be set manually. 1-90000 (0.01 - 900.00s). Default setting: 6000 (60s).</Help>
			</Value>
			<Value type="int" genre="config" instance="1" index="157" label="Time of down movement" units="0.01 second" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="90000" value="1718">
				<Help>This parameter determines time needed for roller blinds to reach the bottom. For modes with positioning value is set automatically during calibration, otherwise, it must be set manually. 1-90000 (0.01 - 900.00s). Default setting: 6000 (60s).</Help>
			</Value>
		</CommandClass>
		<CommandClass id="113" name="COMMAND_CLASS_ALARM" version="8" request_flags="1" issecured="true" innif="true">
			<Instance index="1" />
			<Value type="byte" genre="user" instance="1" index="0" label="Alarm Type" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
			<Value type="byte" genre="user" instance="1" index="1" label="Alarm Level" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
			<Value type="byte" genre="user" instance="1" index="2" label="SourceNodeId" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
			<Value type="byte" genre="user" instance="1" index="11" label="Power Management" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="254" />
			<Value type="byte" genre="user" instance="1" index="12" label="System" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="254" />
		</CommandClass>
		<CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="5" issecured="true" innif="true">
			<Instance index="1" />
		</CommandClass>
		<CommandClass id="115" name="COMMAND_CLASS_POWERLEVEL" version="1" request_flags="5" issecured="true" innif="true">
			<Instance index="1" />
			<Value type="list" genre="system" instance="1" index="0" label="Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
				<Item label="Normal" value="0" />
				<Item label="-1dB" value="1" />
				<Item label="-2dB" value="2" />
				<Item label="-3dB" value="3" />
				<Item label="-4dB" value="4" />
				<Item label="-5dB" value="5" />
				<Item label="-6dB" value="6" />
				<Item label="-7dB" value="7" />
				<Item label="-8dB" value="8" />
				<Item label="-9dB" value="9" />
			</Value>
			<Value type="byte" genre="system" instance="1" index="1" label="Timeout" units="seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
			<Value type="button" genre="system" instance="1" index="2" label="Set Powerlevel" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
			<Value type="byte" genre="system" instance="1" index="3" label="Test Node" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
			<Value type="list" genre="system" instance="1" index="4" label="Test Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
				<Item label="Normal" value="0" />
				<Item label="-1dB" value="1" />
				<Item label="-2dB" value="2" />
				<Item label="-3dB" value="3" />
				<Item label="-4dB" value="4" />
				<Item label="-5dB" value="5" />
				<Item label="-6dB" value="6" />
				<Item label="-7dB" value="7" />
				<Item label="-8dB" value="8" />
				<Item label="-9dB" value="9" />
			</Value>
			<Value type="short" genre="system" instance="1" index="5" label="Frame Count" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
			<Value type="button" genre="system" instance="1" index="6" label="Test" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
			<Value type="button" genre="system" instance="1" index="7" label="Report" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
			<Value type="list" genre="system" instance="1" index="8" label="Test Status" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
				<Item label="Failed" value="0" />
				<Item label="Success" value="1" />
				<Item label="In Progress" value="2" />
			</Value>
			<Value type="short" genre="system" instance="1" index="9" label="Acked Frames" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
		</CommandClass>
		<CommandClass id="117" name="COMMAND_CLASS_PROTECTION" version="1" request_flags="5" issecured="true" innif="true">
			<Instance index="1" />
			<Value type="list" genre="system" instance="1" index="0" label="Protection" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
				<Item label="Unprotected" value="0" />
				<Item label="Protection by Sequence" value="1" />
				<Item label="No Operation Possible" value="2" />
			</Value>
		</CommandClass>
		<CommandClass id="133" name="COMMAND_CLASS_ASSOCIATION" version="1" request_flags="5" issecured="true" innif="true">
			<Instance index="1" />
			<Associations num_groups="3">
				<Group index="1" max_associations="1" label="Lifeline" auto="true" multiInstance="true">
					<Node id="1" />
				</Group>
				<Group index="2" max_associations="5" label="Roller Shutter" auto="false" multiInstance="true" />
				<Group index="3" max_associations="5" label="Slats" auto="false" multiInstance="true" />
			</Associations>
		</CommandClass>
		<CommandClass id="134" name="COMMAND_CLASS_VERSION" version="1" request_flags="5" issecured="true" innif="true">
			<Instance index="1" />
			<Value type="string" genre="system" instance="1" index="0" label="Library Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="3" />
			<Value type="string" genre="system" instance="1" index="1" label="Protocol Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="6.02" />
			<Value type="string" genre="system" instance="1" index="2" label="Application Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="5.00" />
		</CommandClass>
		<CommandClass id="142" name="COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION" version="1" request_flags="5" issecured="true" innif="true">
			<Instance index="1" />
			<Associations num_groups="3">
				<Group index="1" max_associations="1" label="Lifeline" auto="true" multiInstance="true">
					<Node id="1" />
				</Group>
				<Group index="2" max_associations="5" label="Roller Shutter" auto="false" multiInstance="true" />
				<Group index="3" max_associations="5" label="Slats" auto="false" multiInstance="true" />
			</Associations>
		</CommandClass>
		<CommandClass id="152" name="COMMAND_CLASS_SECURITY" version="1" request_flags="5" innif="true">
			<Instance index="1" endpoint="1" />
			<Value type="bool" genre="system" instance="1" index="0" label="Secured" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
		</CommandClass>
	</CommandClasses>
</Node>

Like before Save Config -> Stop Network

edit xml file replace

<Value type="list" genre="config" instance="1" index="41" label="S2 switch - scenes sent" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">

with

<Value type="byte" genre="config" instance="1" index="41" label="S2 switch - scenes sent" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0">

start network

It’s a clear copy - paste error in the config :slight_smile:

Thanks. After saving -> stopping -> pasting the line -> starting, I still couldn’t edit the P41 value. I restarted HA and found out the line was changed to this:

<Value type="list" genre="config" instance="1" index="41" label="S2 switch - scenes sent" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" vindex="0" size="0">

Have I missed something?

Not sure, maybe the network didn’t stop for some reason. You can always try to completely stop Home Assistant before making changes. or reverting to the previous line and for parameter 41 adding under

<Help>This parameter determines which actions result in sending scene IDs assigned to them. Sum of: 1 - Key pressed 1 time. 2 - Key pressed 2 times. 4 - Key pressed 3 times. 8 - Key hold down and key released. Default setting: 0.</Help>

entries like this and checking if show pop up in the UI

				<Item label="Disabled" value="0" />
				<Item label="2" value="2" />

Tried couple of times more and then moved to the item entries option. The items do appear now on the zwave UI, but they are not being saved as well as on the zwave log no scene data arrives from S2.

Here are the items I’ve added in case someone wants to save some time:

					<Item label="Disabled" value="0" />
					<Item label="1 time" value="1" />
					<Item label="2 times" value="2" />
					<Item label="1+2 times" value="3" />
					<Item label="3 times" value="4" />
					<Item label="hold and release" value="8" />
					<Item label="1 time + hold and release" value="9" />
					<Item label="2 times + hold and release" value="10" />
					<Item label="1+2 times + hold and release" value="11" />

Check if there is size=“0” in the parameter 41 line if so try changing it to size=“1”.
You can also check what you see in logs after setting the parameter and compare it to the output of setting parameter 40.
Not having the device to test myself I’m out ideas unfortunately.

Woooohoo, that did the trick! Thanks! Works like a charm now :wink:

While at and as it seems you know so much about the HA, zwave configuration and all -

  1. on the zwave XML I have entries of 2 nodes I no longer have on my HA zwave configuration UI - I’ve deleted them and saved the file, only to find them again later on…
  2. How will these changes go as “built in” in to future releases of HA?

Hah :smiley: I’m completely new to HA and OpenZwave (I’m using HA for like 2 weeks) but I encountered similar scene issue with my Fibaro Buttons and Keyfobs so I researched and since I’m usually not satisfied with just the solution and want to know why and where I became a bit familiar with the zwcfg_*.xml file

@1. Were those nodes properly removed from the network? If not your z-wave controller (i assume some USB Stick) will still remember them. There is an app called zensys-tools that can help you remove dead nodes from controller memory by plugging the stick into your pc.
@2. Those changes depend on OpenZwave library development. HA is always few months behind the main OZW updates so I’t possible they are already solved and we just need to wait for the update.

Thanks for the explanation for @1 and @2, learned quite a bit during this whole thread.
Keep the great work, seems you have a talent :wink:
See you next time I’ll have a problem :sunglasses:

Thanks for your input !! My S2 switch is working now :wink:

hey all,

could you please post your final config?

my config already uses byte (seems its fixed on openzwave meanwhile) and i set the byte to “2” on parameter “41”. Still my scene_activated is not triggered and the log tells me “No ValueID created for Scene X”.

Any help would be appreciated @Qua3952 @ClassicGOD @Maurice3572

If you are getting “No ValueID created for Scene” you probably skipped my first reply in this thread. Link: Fibaro Roller Shutter 3 FGR-223 - New scene command class - not implemented in HA
I don’t have this device on my Hass zwave network so I can’t post full config for you.

1 Like

omg that was it, THANK YOU @ClassicGOD !

so that seems to be the only thing you need to do these days: add these two lines

<Value type="int" genre="user" instance="1" index="1" label="Switch1" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
<Value type="int" genre="user" instance="1" index="2" label="Switch2" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />