<?xml version="1.0" encoding="UTF-8"?>
<component xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="racepoint_component_profile.xsd" manufacturer="Somfy" model="RS485 RTS Transmitter" device_class="Shade_controller" minimum_component_engine_version="0.0" rpm_xml_version="2.2">
    <notes>
    	Address1 Somfy Blind Address 0 - 15
    	Address2 NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)
    	Address3 NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)
    	Address4 NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)
      
      - Customization to the lighting page will have to be done for DimmerIncrease and DimmerDecrease (no entity for Data Table to make buttons by default).
      - Limited feedback from device. No button feedback.
		====================== Change Log ==================
		Version: 1.4 Change: changed shade preset to push button not toggle  Risk: Low Importance: Helpful
		Version: 1.3 Change: updated tilt commands  Risk: Low Importance: Helpful
		Version: 1.2 Change: updated address notes, address arguments should be entered as decimal values not hex  Risk: Low Importance: Non Critical
		Version: 2.4 Change: Updated notes about data table columns
		
    </notes>
    <control_interfaces preferred="rs232">
        <rs232 data_length="8" parity_bit="odd" stop_bit="1" preferred_baud_rate="4800" flow_control="none" name_on_component="RS-232" connector_type="rs232 unknown" cable_type="rs232 unknown" response_time_length_ms="0" calculate_checksum_based_on_data="before_checksum">
            <baud_rate speed="4800"/>
        </rs232>
    	<rs422 data_length="8" parity_bit="odd" stop_bit="1" flow_control="none" preferred_baud_rate="4800" name_on_component="RS-485" connector_type="rs232 unknown" cable_type="rs232 unknown" response_time_length_ms="500">
	    		<baud_rate speed="4800"/>
	    	</rs422>
    </control_interfaces>
    <media_interfaces>
        <internal name_on_component="SHADE CONTROLLER">
            <environmental_media></environmental_media>
            <resource resource_type="ENV_SHADECONTROLLER_SOURCE"/>
        </internal>
        <internal name_on_component="LIGHTING CONTROLLER">
            <environmental_media></environmental_media>
            <resource resource_type="ENV_LIGHTINGCONTROLLER_SOURCE"/>
        </internal>
    </media_interfaces>
    <state_variable_list>
        <state_variable name="Address1Calculated" owning_logical_component="Shade_controller">0</state_variable>
        <state_variable name="Address2Calculated" owning_logical_component="Shade_controller">0</state_variable>
        <state_variable name="Address3Calculated" owning_logical_component="Shade_controller">0</state_variable>
        <state_variable name="Address4Calculated" owning_logical_component="Shade_controller">0</state_variable>
        <state_variable name="TiltValueCalculated" owning_logical_component="Shade_controller">0</state_variable>
    </state_variable_list>
    <logical_component logical_component_name="Shade_controller">
        <implementation>
            <internal name_on_component="SHADE CONTROLLER"></internal>
        </implementation>
        <resource_component_actions resource_type="ENV_SHADECONTROLLER_SOURCE">
            <action name="ShadeUp">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">7FF2FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="1" parameter_total_width="1">FE</parameter> 
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <action name="ShadeDown">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">7FF2FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="1" parameter_total_width="1">FD</parameter> 
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <action name="ShadeStop">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">7FF2FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="1" parameter_total_width="1">FC</parameter> 
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <action name="ShadePreset">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">7FF2FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="1" parameter_total_width="1">FB</parameter> 
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <entity name="Shade" address_components="4">
                <group_representation>
                    <push_button_representation>
                        <release_action name="ShadeUp"></release_action>
                        <osd_press_action name="ShadeUp"></osd_press_action>
                    </push_button_representation>
                    <push_button_representation>
                        <release_action name="ShadeDown"></release_action>
                        <osd_press_action name="ShadeDown"></osd_press_action>
                    </push_button_representation>
                    <push_button_representation>
                        <release_action name="ShadeStop"></release_action>
                        <osd_press_action name="ShadeStop"></osd_press_action>
                    </push_button_representation>
                </group_representation>
            </entity>
            <entity name="Shade Preset" address_components="4">
                <push_button_representation>
                    <release_action name="ShadePreset"></release_action>
                    <osd_press_action name="ShadePreset"></osd_press_action>
                </push_button_representation>
            </entity>
        </resource_component_actions>
        <resource_component_actions resource_type="ENV_LIGHTINGCONTROLLER_SOURCE">
            <action name="SwitchOn">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">7FF2FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="1" parameter_total_width="1">FE</parameter> 
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <action name="SwitchOff">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">7FF2FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="1" parameter_total_width="1">FD</parameter> 
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <action name="ButtonPressAndRelease">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">7FF2FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="1" parameter_total_width="1">FB</parameter> 
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <action name="DimmerDecrease">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">7DF1FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="1" parameter_total_width="1">FEFE</parameter> 
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <action name="DimmerIncrease">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">7DF1FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="1" parameter_total_width="1">FFFE</parameter> 
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <entity name="Switch" address_components="4">
                <toggle_button_representation>
                    <release_action name="SwitchOn">
                    </release_action>
                    <toggle_release_action name="SwitchOff">
                    </toggle_release_action>
                    <osd_press_action name="SwitchOn">
                    </osd_press_action>
                    <osd_hold_action name="SwitchOff">
                    </osd_hold_action>
                </toggle_button_representation>
            </entity>
            <entity name="Lighting Preset" address_components="4">
                <toggle_button_representation>
                    <press_action name="ButtonPressAndRelease"></press_action>
                    <toggle_action name="ButtonPressAndRelease"></toggle_action>
                    <osd_press_action name="ButtonPressAndRelease"></osd_press_action>
                    <osd_hold_action name="ButtonPressAndRelease"></osd_hold_action>
                </toggle_button_representation>
            </entity>
        </resource_component_actions>
        <custom_component_actions>
            <action name="FavoriteShadePosition">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">7FF2FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="1" parameter_total_width="1">FB</parameter> 
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <action name="SetTiltUpValue">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <action_argument name="TiltingValue" note="1 - 127"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="TiltValueCalculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="TiltValueCalculated" update_type="decrement" update_source="action_argument">TiltingValue</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="TiltValueCalculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">7EF1FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="1" parameter_total_width="1">FF</parameter>
                            <parameter parameter_data_type="hex" state_variable="TiltValueCalculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <action name="SetTiltDownValue">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <action_argument name="TiltingValue" note="1 - 127"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="TiltValueCalculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="TiltValueCalculated" update_type="decrement" update_source="action_argument">TiltingValue</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="TiltValueCalculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">7EF1FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="1" parameter_total_width="1">FE</parameter>
                            <parameter parameter_data_type="hex" state_variable="TiltValueCalculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <action name="TiltDown">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="TiltValueCalculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="TiltValueCalculated" update_type="decrement" update_source="action_argument">TiltingValue</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="TiltValueCalculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">7EF1FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="2" parameter_total_width="2">FEFE</parameter>
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            
            <action name="TiltUp">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="TiltValueCalculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="TiltValueCalculated" update_type="decrement" update_source="action_argument">TiltingValue</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="TiltValueCalculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">7EF1FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="2" parameter_total_width="2">FFFE</parameter>
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <action name="SetDimmerDecreaseValue">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <action_argument name="DimmerValue" note="1 - 127"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="TiltValueCalculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="TiltValueCalculated" update_type="decrement" update_source="action_argument">DimmerValue</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="TiltValueCalculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">7DF1FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="1" parameter_total_width="1">FE</parameter>
                            <parameter parameter_data_type="hex" state_variable="TiltValueCalculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <action name="SetDimmerIncreaseValue">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <action_argument name="DimmerValue" note="1 - 127"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="TiltValueCalculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="TiltValueCalculated" update_type="decrement" update_source="action_argument">DimmerValue</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="TiltValueCalculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">7DF1FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="1" parameter_total_width="1">FF</parameter>
                            <parameter parameter_data_type="hex" state_variable="TiltValueCalculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <action name="FavoriteLightingLevel">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">7FF2FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="1" parameter_total_width="1">FB</parameter> 
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <action name="SaveFavorite">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">65F3FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <action name="SunAutoOn">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">6CF2FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="1" parameter_total_width="1">FF</parameter>
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <action name="SunAutoOff">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">6CF2FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="1" parameter_total_width="1">FE</parameter>
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
            <action name="SetChannelID">
                <action_argument name="Address1" note="Somfy Address 0 - 15"/>
                <action_argument name="Address2" note="NodeID 1 (05:E4:02 where 5 (decimal value of hex 05) is needed)"/>
                <action_argument name="Address3" note="NodeID 2 (05:E4:02 where 228 (decimal value of hex E4) is needed)"/>
                <action_argument name="Address4" note="NodeID 3 (05:E4:02 where 02 (decimal value of hex 02) is needed)"/>
                <action_argument name="Address5" note="not used"/>
                <update_state_variable name="Address1Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="set" update_source="constant">0</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="action_argument">Address1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="action_argument">Address2</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="action_argument">Address3</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="action_argument">Address4</update_state_variable>
                <update_state_variable name="Address1Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address2Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address3Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <update_state_variable name="Address4Calculated" update_type="decrement" update_source="constant">1</update_state_variable>
                <command_interface interface="rs232">
                    <command response_required="no">
                        <command_string type="hex">6CF2FA010000</command_string>
                        <parameter_list>
                            <parameter parameter_data_type="hex" state_variable="Address4Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address3Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address2Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" state_variable="Address1Calculated" parameter_data_width="1" parameter_total_width="1"></parameter>
                            <parameter parameter_data_type="hex" parameter_data_width="1" parameter_total_width="1">FE</parameter>
                            <checksum_parameter parameter_data_type="hex" calculate_checksum_based_on_data="before_checksum" checksum_type="standard" parameter_data_width="2" parameter_total_width="2"></checksum_parameter>
                        </parameter_list>
                        <delay ms_delay="500"/>
                    </command>
                </command_interface>
            </action>
        </custom_component_actions>
    </logical_component>
</component>