I got it half working, if I change the fan speed in UI5 it gets updated in SQ (the correct speed button gets highlighted) but clicking on one of the buttons doesn't appear to send properly. I'm probably missing a small detail, but I have no idea what it could be at the moment. The important part is in the label area to change the "state=" from the default values to 0,1,2,3 for off, low, medium, and high. Also the name="variableName" value="LoadLevelStatus" needs to be changed to value="Speed" and the service to "FanLinc1"
Original code:
<label name="LowLabel" isDigits="false" isMultiState="false" isDeviceOnly="false" SQKeyCode="0" z_position="2.000000" title="LOW" size="18.000000" makeItFit="false" numberOfLines="1">
<datasource name="MCV">
<datasource_parameter name="deviceNumber" value=""/>
<datasource_parameter name="variableName" value="LoadLevelStatus"/>
<datasource_parameter name="serviceName" value="Dimming1"/>
</datasource>
<rectangle x="67.000000" y="91.000000" width="65.000000" height="16.000000"/>
<label_model_state state="57" title="LOW" size="14.000000" alignment="center" color="gray" makeItFit="false" numberOfLines="1" isTarget="false" allowPassThru="false"/>
<label_model_state state="100" title="LOW" size="14.000000" alignment="center" color="gray" makeItFit="false" numberOfLines="1" isTarget="false" allowPassThru="false"/>
<label_model_state state="default" title="LOW" size="14.000000" alignment="center" color="gray" makeItFit="false" numberOfLines="1" isTarget="false" allowPassThru="false"/>
<label_model_state state="0" title="LOW" size="14.000000" alignment="center" color="gray" makeItFit="false" numberOfLines="1" isTarget="false" allowPassThru="false"/>
<label_model_state state="26" title="LOW" size="14.000000" alignment="center" color="green" makeItFit="false" numberOfLines="1" isTarget="true" provisionalColor="yellow" allowPassThru="false"/>
</label>
updated to:
<label name="LowLabel" isDigits="false" isMultiState="false" isDeviceOnly="false" SQKeyCode="0" z_position="2.000000" title="LOW" size="18.000000" makeItFit="false" numberOfLines="1">
<datasource name="MCV" gateway_id="">
<datasource_parameter name="deviceNumber" value=""/>
<datasource_parameter name="variableName" value="Speed"/>
<datasource_parameter name="serviceName" value="FanLinc1"/>
</datasource>
<rectangle x="0.000000" y="141.000000" width="65.000000" height="16.000000"/>
<label_model_state state="2" title="LOW" size="14.000000" alignment="center" color="gray" makeItFit="false" numberOfLines="1" isTarget="false" allowPassThru="false"/>
<label_model_state state="3" title="LOW" size="14.000000" alignment="center" color="gray" makeItFit="false" numberOfLines="1" isTarget="false" allowPassThru="false"/>
<label_model_state state="default" title="LOW" size="14.000000" alignment="center" color="gray" makeItFit="false" numberOfLines="1" isTarget="false" allowPassThru="false"/>
<label_model_state state="0" title="LOW" size="14.000000" alignment="center" color="gray" makeItFit="false" numberOfLines="1" isTarget="false" allowPassThru="false"/>
<label_model_state state="1" title="LOW" size="14.000000" alignment="center" color="green" makeItFit="false" numberOfLines="1" isTarget="true" provisionalColor="yellow" allowPassThru="false"/>
</label>
i'm stuck on the button code though, the structure appears to be the same - command_name seems to be the command to be called, operation seems to be what to set the command parameter to, and variableName appears to be how it reads the status back (for verification?) but no go:
<button name="FanHigh" isDigits="false" isMultiState="false" isDeviceOnly="false" SQKeyCode="0" z_position="0.000000" class_name="SQUIActionButton" title="" normal_background_icon="jpm_btn65x48.png" highlighted_background_icon="jpm_btn65x48Pressed.png" foreground_icon="" show_touch="false">
<command_mapping device_key="MCV" control_state="N/A" isParameterized="false" command_name="SetFanSpeed" learn_date="0" SQKeyCode="0" support_ph="true" gateway_id="">
<action_parameter name="deviceNumber" value=""/>
<action_parameter name="variableName" value="Speed"/>
<action_parameter name="serviceName" value="FanLinc1"/>
<action_parameter name="operation" value="3"/>
</command_mapping>
<rectangle x="0.000000" y="26.000000" width="65.000000" height="48.000000"/>
</button>
and for reference, the original code:
<button name="FanHigh" isDigits="false" isMultiState="false" isDeviceOnly="false" SQKeyCode="0" z_position="0.000000" class_name="SQUIActionButton" title="" normal_background_icon="jpm_btn65x48.png" highlighted_background_icon="jpm_btn65x48Pressed.png" foreground_icon="" show_touch="false">
<command_mapping device_key="MCV" control_state="N/A" isParameterized="false" command_name="SetLoadLevelTarget" learn_date="0" SQKeyCode="0" support_ph="true">
<action_parameter name="deviceNumber" value=""/>
<action_parameter name="variableName" value="LoadLevelStatus"/>
<action_parameter name="serviceName" value="Dimming1"/>
<action_parameter name="operation" value="100"/>
</command_mapping>
<rectangle x="67.000000" y="26.000000" width="65.000000" height="48.000000"/>
</button>
i'll look at it more tomorrow, but if anyone has any input that would be great.