djtimca / omnilogic-api

Library API to interface with the Hayward Omnilogic pool control system.
Other
21 stars 10 forks source link

Solar sensor omitted from telemetry #26

Open lurgh opened 2 years ago

lurgh commented 2 years ago

Telemetry JSON doesn't mention the solar sensor (rooftop temp used as an input to decide whether to activate the solar heater) even though it is present in the MSP XML. It shows up in both the Pool and Spa BoWs but there is really just one sensor, similar to Pool and Spa water temp sensors. For some reason my Spa shows two solar sensors, which is a bug or maybe misconfiguration.

Complete (reformatted) XML is pasted here:

<Response>
        <MSPConfig>
                <System>
                        <Msp-Vsp-Speed-Format>Percent</Msp-Vsp-Speed-Format>
                        <Msp-Time-Format>12 Hour Format</Msp-Time-Format>
                        <Units>Standard</Units>
                        <Msp-Chlor-Display>Salt</Msp-Chlor-Display>
                        <Msp-Language>English</Msp-Language>
                        <UI-Display-Mode>standard</UI-Display-Mode>
                        <UI-MoodColor-Enabled>No</UI-MoodColor-Enabled>
                        <UI-Heater-SimpleMode>Yes</UI-Heater-SimpleMode>
                        <UI-Filter-SimpleMode>Yes</UI-Filter-SimpleMode>
                        <UI-Lights-SimpleMode>Yes</UI-Lights-SimpleMode>
                </System>
                <Backyard>
                        MSP Configuration
                        <System-Id>0</System-Id>
                        <Name>Backyard</Name>
                        <Service-Mode-Timeout>0</Service-Mode-Timeout>
                        <Sensor>
                                <System-Id>16</System-Id>
                                <Name>AirSensor</Name>
                                <Type>SENSOR_AIR_TEMP</Type>
                                <Units>UNITS_FAHRENHEIT</Units>
                        </Sensor>
                        <Relay>
                                <System-Id>27</System-Id>
                                <Name>Yard Lights</Name>
                                <Type>RLY_HIGH_VOLTAGE_RELAY</Type>
                                <Function>RLY_LIGHT</Function>
                        </Relay>
                        <Body-of-water>
                                01
                                <System-Id>1</System-Id>
                                <Name>Pool</Name>
                                <Type>BOW_POOL</Type>
                                <Shared-Type>BOW_SHARED_EQUIPMENT</Shared-Type>
                                <Shared-Priority>SHARED_EQUIPMENT_LOW_PRIORITY</Shared-Priority>
                                <Shared-Equipment-System-ID>8</Shared-Equipment-System-ID>
                                <Supports-Spillover>no</Supports-Spillover>
                                <Size-In-Gallons>0</Size-In-Gallons>
                                <Filter>
                                        <System-Id>3</System-Id>
                                        <Name>Filter Pump</Name>
                                        <Shared-Type>BOW_SHARED_EQUIPMENT</Shared-Type>
                                        <Filter-Type>FMT_VARIABLE_SPEED_PUMP</Filter-Type>
                                        <Max-Pump-Speed>100</Max-Pump-Speed>
                                        <Min-Pump-Speed>18</Min-Pump-Speed>
                                        <Max-Pump-RPM>3450</Max-Pump-RPM>
                                        <Min-Pump-RPM>600</Min-Pump-RPM>
                                        <Priming-Enabled>no</Priming-Enabled>
                                        <Vsp-Low-Pump-Speed>50</Vsp-Low-Pump-Speed>
                                        <Vsp-Medium-Pump-Speed>75</Vsp-Medium-Pump-Speed>
                                        <Vsp-High-Pump-Speed>90</Vsp-High-Pump-Speed>
                                        <Vsp-Custom-Pump-Speed>50</Vsp-Custom-Pump-Speed>
                                        <Freeze-Protect-Override-Interval>7200</Freeze-Protect-Override-Interval>
                                </Filter>
                                <Heater>
                                        <System-Id>4</System-Id>
                                        <Shared-Type>BOW_SHARED_EQUIPMENT</Shared-Type>
                                        <Enabled>no</Enabled>
                                        <Current-Set-Point>85</Current-Set-Point>
                                        <SolarSetPoint>85</SolarSetPoint>
                                        <Max-Water-Temp>104</Max-Water-Temp>
                                        <Min-Settable-Water-Temp>65</Min-Settable-Water-Temp>
                                        <Max-Settable-Water-Temp>104</Max-Settable-Water-Temp>
                                        <Operation>
                                                PEO_HEATER_EQUIPMENT
                                                <Heater-Equipment>
                                                        <System-Id>5</System-Id>
                                                        <Name>Gas</Name>
                                                        <Type>PET_HEATER</Type>
                                                        <Heater-Type>HTR_GAS</Heater-Type>
                                                        <Enabled>no</Enabled>
                                                        <Priority>HTR_PRIORITY_2</Priority>
                                                        <Run-For-Priority>HTR_MAINTAINS_PRIORITY_FOR_AS_LONG_AS_VALID</Run-For-Priority>
                                                        <Shared-Equipment-System-ID>12</Shared-Equipment-System-ID>
                                                </Heater-Equipment>
                                        </Operation>
                                        <Operation>
                                                PEO_HEATER_EQUIPMENT
                                                <Heater-Equipment>
                                                        <System-Id>18</System-Id>
                                                        <Name>Solar</Name>
                                                        <Type>PET_HEATER</Type>
                                                        <Heater-Type>HTR_SOLAR</Heater-Type>
                                                        <Enabled>yes</Enabled>
                                                        <Priority>HTR_PRIORITY_1</Priority>
                                                        <Run-For-Priority>HTR_MAINTAINS_PRIORITY_FOR_8HRS</Run-For-Priority>
                                                        <SupportsCooling>yes</SupportsCooling>
                                                        <Shared-Equipment-System-ID>19</Shared-Equipment-System-ID>
                                                </Heater-Equipment>
                                        </Operation>
                                </Heater>
                                <Sensor>
                                        <System-Id>6</System-Id>
                                        <Name>WaterSensor</Name>
                                        <Type>SENSOR_WATER_TEMP</Type>
                                        <Units>UNITS_FAHRENHEIT</Units>
                                </Sensor>
                                <Sensor>
                                        <System-Id>20</System-Id>
                                        <Name>SolarSensor</Name>
                                        <Type>SENSOR_SOLAR_TEMP</Type>
                                        <Units>UNITS_FAHRENHEIT</Units>
                                </Sensor>
                                <Relay>
                                        <System-Id>22</System-Id>
                                        <Name>Water Ft</Name>
                                        <Type>RLY_VALVE_ACTUATOR</Type>
                                        <Function>RLY_WATER_FEATURE</Function>
                                        <Valve-Default-Speed>85</Valve-Default-Speed>
                                </Relay>
                                <ColorLogic-Light>
                                        <System-Id>23</System-Id>
                                        <Name>Pool Light</Name>
                                        <Type>COLOR_LOGIC_UCL</Type>
                                        <V2-Active>yes</V2-Active>
                                </ColorLogic-Light>
                                <ColorLogic-Light>
                                        <System-Id>24</System-Id>
                                        <Name>Sheer Lts</Name>
                                        <Type>COLOR_LOGIC_UCL</Type>
                                </ColorLogic-Light>
                                <Relay>
                                        <System-Id>36</System-Id>
                                        <Name>UV Ozone</Name>
                                        <Type>RLY_HIGH_VOLTAGE_RELAY</Type>
                                        <Function>RLY_ACCESSORY</Function>
                                </Relay>
                        </Body-of-water>
                        <Body-of-water>
                                02
                                <System-Id>8</System-Id>
                                <Name>Spa</Name>
                                <Type>BOW_SPA</Type>
                                <Shared-Type>BOW_SHARED_EQUIPMENT</Shared-Type>
                                <Shared-Priority>SHARED_EQUIPMENT_HIGH_PRIORITY</Shared-Priority>
                                <Shared-Equipment-System-ID>1</Shared-Equipment-System-ID>
                                <Supports-Spillover>no</Supports-Spillover>
                                <Size-In-Gallons>0</Size-In-Gallons>
                                <Filter>
                                        <System-Id>10</System-Id>
                                        <Name>Filter Pump</Name>
                                        <Shared-Type>BOW_SHARED_EQUIPMENT</Shared-Type>
                                        <Filter-Type>FMT_VARIABLE_SPEED_PUMP</Filter-Type>
                                        <Max-Pump-Speed>100</Max-Pump-Speed>
                                        <Min-Pump-Speed>18</Min-Pump-Speed>
                                        <Max-Pump-RPM>3450</Max-Pump-RPM>
                                        <Min-Pump-RPM>600</Min-Pump-RPM>
                                        <Priming-Enabled>no</Priming-Enabled>
                                        <Vsp-Low-Pump-Speed>50</Vsp-Low-Pump-Speed>
                                        <Vsp-Medium-Pump-Speed>75</Vsp-Medium-Pump-Speed>
                                        <Vsp-High-Pump-Speed>90</Vsp-High-Pump-Speed>
                                        <Vsp-Custom-Pump-Speed>100</Vsp-Custom-Pump-Speed>
                                        <Freeze-Protect-Override-Interval>7200</Freeze-Protect-Override-Interval>
                                </Filter>
                                <Heater>
                                        <System-Id>11</System-Id>
                                        <Shared-Type>BOW_SHARED_EQUIPMENT</Shared-Type>
                                        <Enabled>no</Enabled>
                                        <Current-Set-Point>100</Current-Set-Point>
                                        <SolarSetPoint>101</SolarSetPoint>
                                        <Max-Water-Temp>104</Max-Water-Temp>
                                        <Min-Settable-Water-Temp>65</Min-Settable-Water-Temp>
                                        <Max-Settable-Water-Temp>104</Max-Settable-Water-Temp>
                                        <Operation>
                                                PEO_HEATER_EQUIPMENT
                                                <Heater-Equipment>
                                                        <System-Id>12</System-Id>
                                                        <Name>Gas</Name>
                                                        <Type>PET_HEATER</Type>
                                                        <Heater-Type>HTR_GAS</Heater-Type>
                                                        <Enabled>yes</Enabled>
                                                        <Priority>HTR_PRIORITY_1</Priority>
                                                        <Run-For-Priority>HTR_MAINTAINS_PRIORITY_FOR_AS_LONG_AS_VALID</Run-For-Priority>
                                                        <Shared-Equipment-System-ID>5</Shared-Equipment-System-ID>
                                                </Heater-Equipment>
                                        </Operation>
                                        <Operation>
                                                PEO_HEATER_EQUIPMENT
                                                <Heater-Equipment>
                                                        <System-Id>19</System-Id>
                                                        <Name>Solar</Name>
                                                        <Type>PET_HEATER</Type>
                                                        <Heater-Type>HTR_SOLAR</Heater-Type>
                                                        <Enabled>no</Enabled>
                                                        <Priority>HTR_PRIORITY_2</Priority>
                                                        <Run-For-Priority>HTR_MAINTAINS_PRIORITY_FOR_8HRS</Run-For-Priority>
                                                        <SupportsCooling>yes</SupportsCooling>
                                                        <Shared-Equipment-System-ID>18</Shared-Equipment-System-ID>
                                                </Heater-Equipment>
                                        </Operation>
                                </Heater>
                                <ColorLogic-Light>
                                        <System-Id>13</System-Id>
                                        <Name>Spa Light</Name>
                                        <Type>COLOR_LOGIC_UCL</Type>
                                        <V2-Active>yes</V2-Active>
                                </ColorLogic-Light>
                                <Pump>
                                        <System-Id>14</System-Id>
                                        <Name>Jet</Name>
                                        <Type>PMP_VARIABLE_SPEED_PUMP</Type>
                                        <Function>PMP_JETS</Function>
                                        <Priming-Enabled>no</Priming-Enabled>
                                        <Max-Pump-RPM>3450</Max-Pump-RPM>
                                        <Min-Pump-RPM>600</Min-Pump-RPM>
                                        <Min-Pump-Speed>18</Min-Pump-Speed>
                                        <Max-Pump-Speed>100</Max-Pump-Speed>
                                        <Vsp-Medium-Pump-Speed>75</Vsp-Medium-Pump-Speed>
                                        <Vsp-Custom-Pump-Speed>100</Vsp-Custom-Pump-Speed>
                                        <Vsp-High-Pump-Speed>100</Vsp-High-Pump-Speed>
                                        <Vsp-Low-Pump-Speed>50</Vsp-Low-Pump-Speed>
                                </Pump>
                                <Relay>
                                        <System-Id>15</System-Id>
                                        <Name>Blower</Name>
                                        <Type>RLY_HIGH_VOLTAGE_RELAY</Type>
                                        <Function>RLY_BLOWER</Function>
                                </Relay>
                                <Sensor>
                                        <System-Id>17</System-Id>
                                        <Name>WaterSensor</Name>
                                        <Type>SENSOR_WATER_TEMP</Type>
                                        <Units>UNITS_FAHRENHEIT</Units>
                                </Sensor>
                                <Sensor>
                                        <System-Id>21</System-Id>
                                        <Name>SolarSensor</Name>
                                        <Type>SENSOR_SOLAR_TEMP</Type>
                                        <Units>UNITS_FAHRENHEIT</Units>
                                </Sensor>
                                <Sensor>
                                        <System-Id>38</System-Id>
                                        <Name>SolarSensor</Name>
                                        <Type>SENSOR_SOLAR_TEMP</Type>
                                        <Units>UNITS_FAHRENHEIT</Units>
                                </Sensor>
                        </Body-of-water>
                </Backyard>
                <Schedules>
                        <sche>
                                <bow-system-id>1</bow-system-id>
                                <equipment-id>3</equipment-id>
                                <schedule-system-id>7</schedule-system-id>
                                <event>164</event>
                                <data>65</data>
                                <enabled>1</enabled>
                                <start-minute>0</start-minute>
                                <start-hour>8</start-hour>
                                <end-minute>0</end-minute>
                                <end-hour>16</end-hour>
                                <days-active>127</days-active>
                                <recurring>1</recurring>
                        </sche>
                        <sche>
                                <bow-system-id>1</bow-system-id>
                                <equipment-id>23</equipment-id>
                                <schedule-system-id>29</schedule-system-id>
                                <event>164</event>
                                <data>263180</data>
                                <enabled>0</enabled>
                                <start-minute>20</start-minute>
                                <start-hour>17</start-hour>
                                <end-minute>40</end-minute>
                                <end-hour>23</end-hour>
                                <days-active>127</days-active>
                                <recurring>1</recurring>
                        </sche>
                        <sche>
                                <bow-system-id>8</bow-system-id>
                                <equipment-id>13</equipment-id>
                                <schedule-system-id>30</schedule-system-id>
                                <event>164</event>
                                <data>263180</data>
                                <enabled>0</enabled>
                                <start-minute>20</start-minute>
                                <start-hour>17</start-hour>
                                <end-minute>40</end-minute>
                                <end-hour>20</end-hour>
                                <days-active>127</days-active>
                                <recurring>1</recurring>
                        </sche>
                        <sche>
                                <bow-system-id>0</bow-system-id>
                                <equipment-id>27</equipment-id>
                                <schedule-system-id>31</schedule-system-id>
                                <event>164</event>
                                <data>1</data>
                                <enabled>0</enabled>
                                <start-minute>43</start-minute>
                                <start-hour>16</start-hour>
                                <end-minute>40</end-minute>
                                <end-hour>23</end-hour>
                                <days-active>127</days-active>
                                <recurring>1</recurring>
                        </sche>
                        <sche>
                                <bow-system-id>1</bow-system-id>
                                <equipment-id>3</equipment-id>
                                <schedule-system-id>35</schedule-system-id>
                                <event>164</event>
                                <data>40</data>
                                <enabled>1</enabled>
                                <start-minute>0</start-minute>
                                <start-hour>16</start-hour>
                                <end-minute>0</end-minute>
                                <end-hour>20</end-hour>
                                <days-active>127</days-active>
                                <recurring>1</recurring>
                        </sche>
                        <sche>
                                <bow-system-id>1</bow-system-id>
                                <equipment-id>36</equipment-id>
                                <schedule-system-id>37</schedule-system-id>
                                <event>164</event>
                                <data>1</data>
                                <enabled>1</enabled>
                                <start-minute>0</start-minute>
                                <start-hour>0</start-hour>
                                <end-minute>59</end-minute>
                                <end-hour>23</end-hour>
                                <days-active>127</days-active>
                                <recurring>1</recurring>
                        </sche>
                        <sche>
                                <bow-system-id>1</bow-system-id>
                                <equipment-id>4</equipment-id>
                                <schedule-system-id>39</schedule-system-id>
                                <event>164</event>
                                <data>21845</data>
                                <enabled>1</enabled>
                                <start-minute>0</start-minute>
                                <start-hour>11</start-hour>
                                <end-minute>0</end-minute>
                                <end-hour>16</end-hour>
                                <days-active>127</days-active>
                                <recurring>1</recurring>
                        </sche>
                </Schedules>
                <Favorites>
                        <Favorite>
                                <System-Id>28</System-Id>
                                <Index-Id>1</Index-Id>
                                <EquipmentID-Or-ThemeID>3</EquipmentID-Or-ThemeID>
                                <Sequence>0</Sequence>
                                <Data>268435440</Data>
                                <SimpleModeEnabled>1</SimpleModeEnabled>
                        </Favorite>
                        <Favorite>
                                <System-Id>34</System-Id>
                                <Index-Id>2</Index-Id>
                                <EquipmentID-Or-ThemeID>33</EquipmentID-Or-ThemeID>
                                <Sequence>1</Sequence>
                                <Data>268435455</Data>
                                <SimpleModeEnabled>1</SimpleModeEnabled>
                        </Favorite>
                </Favorites>
                <Groups>
                        <Group>
                                <System-Id>33</System-Id>
                                <Name>All Off</Name>
                                <Icon-Id>0</Icon-Id>
                                <Request>
                                        <Name>TurnOnOffForGroup</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">0</Parameter>
                                                <Parameter name="EquipmentID" dataType="int">27</Parameter>
                                                <Parameter name="Data" dataType="int">0</Parameter>
                                                <Parameter name="LightState" dataType="int">0</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>TurnOnOffForGroup</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">1</Parameter>
                                                <Parameter name="EquipmentID" dataType="int">3</Parameter>
                                                <Parameter name="Data" dataType="int">0</Parameter>
                                                <Parameter name="LightState" dataType="int">0</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>SetHeaterScheduleCmd</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">1</Parameter>
                                                <Parameter name="HeaterID" dataType="int">4</Parameter>
                                                <Parameter name="Temp" dataType="int">90</Parameter>
                                                <Parameter name="IsCountDownTimer" dataType="bool">0</Parameter>
                                                <Parameter name="StartTimeHours" dataType="int">0</Parameter>
                                                <Parameter name="StartTimeMinutes" dataType="int">0</Parameter>
                                                <Parameter name="EndTimeHours" dataType="int">0</Parameter>
                                                <Parameter name="EndTimeMinutes" dataType="int">0</Parameter>
                                                <Parameter name="DaysActive" dataType="int">0</Parameter>
                                                <Parameter name="Recurring" dataType="bool">0</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>SetUITemporaryHeaterPriorityCmd</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">1</Parameter>
                                                <Parameter name="HeaterID1" dataType="int">5</Parameter>
                                                <Parameter name="HeaterID2" dataType="int">18</Parameter>
                                                <Parameter name="HeaterID3" dataType="int">-1</Parameter>
                                                <Parameter name="HeaterID4" dataType="int">-1</Parameter>
                                                <Parameter name="HeaterID5" dataType="int">-1</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>SetUITemporaryHeaterMaintainPriorityCmd</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">1</Parameter>
                                                <Parameter name="HeaterID" dataType="int">4</Parameter>
                                                <Parameter name="Priority1MaintainFor" dataType="byte">24</Parameter>
                                                <Parameter name="Priority2MaintainFor" dataType="byte">8</Parameter>
                                                <Parameter name="Priority3MaintainFor" dataType="byte">255</Parameter>
                                                <Parameter name="Priority4MaintainFor" dataType="byte">255</Parameter>
                                                <Parameter name="Priority5MaintainFor" dataType="byte">255</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>SetUITemporaryHeaterEnable</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">1</Parameter>
                                                <Parameter name="HeaterID" dataType="int">4</Parameter>
                                                <Parameter name="Enabled" dataType="int">0</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>SetUITemporaryHeaterEnable</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">1</Parameter>
                                                <Parameter name="HeaterID" dataType="int">5</Parameter>
                                                <Parameter name="Enabled" dataType="int">1</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>SetUITemporaryHeaterEnable</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">1</Parameter>
                                                <Parameter name="HeaterID" dataType="int">18</Parameter>
                                                <Parameter name="Enabled" dataType="int">0</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>SetSolarScheduleCmd</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">1</Parameter>
                                                <Parameter name="HeaterID" dataType="int">4</Parameter>
                                                <Parameter name="Temp" dataType="int">71</Parameter>
                                                <Parameter name="IsCountDownTimer" dataType="bool">0</Parameter>
                                                <Parameter name="StartTimeHours" dataType="int">0</Parameter>
                                                <Parameter name="StartTimeMinutes" dataType="int">0</Parameter>
                                                <Parameter name="EndTimeHours" dataType="int">0</Parameter>
                                                <Parameter name="EndTimeMinutes" dataType="int">0</Parameter>
                                                <Parameter name="DaysActive" dataType="int">0</Parameter>
                                                <Parameter name="Recurring" dataType="bool">0</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>TurnOnOffForGroup</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">1</Parameter>
                                                <Parameter name="EquipmentID" dataType="int">22</Parameter>
                                                <Parameter name="Data" dataType="int">0</Parameter>
                                                <Parameter name="LightState" dataType="int">0</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>TurnOnOffForGroup</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">1</Parameter>
                                                <Parameter name="EquipmentID" dataType="int">23</Parameter>
                                                <Parameter name="Data" dataType="int">263180</Parameter>
                                                <Parameter name="LightState" dataType="int">0</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>TurnOnOffForGroup</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">1</Parameter>
                                                <Parameter name="EquipmentID" dataType="int">24</Parameter>
                                                <Parameter name="Data" dataType="int">263168</Parameter>
                                                <Parameter name="LightState" dataType="int">0</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>TurnOnOffForGroup</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">8</Parameter>
                                                <Parameter name="EquipmentID" dataType="int">10</Parameter>
                                                <Parameter name="Data" dataType="int">0</Parameter>
                                                <Parameter name="LightState" dataType="int">0</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>SetHeaterScheduleCmd</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">8</Parameter>
                                                <Parameter name="HeaterID" dataType="int">11</Parameter>
                                                <Parameter name="Temp" dataType="int">70</Parameter>
                                                <Parameter name="IsCountDownTimer" dataType="bool">0</Parameter>
                                                <Parameter name="StartTimeHours" dataType="int">0</Parameter>
                                                <Parameter name="StartTimeMinutes" dataType="int">0</Parameter>
                                                <Parameter name="EndTimeHours" dataType="int">0</Parameter>
                                                <Parameter name="EndTimeMinutes" dataType="int">0</Parameter>
                                                <Parameter name="DaysActive" dataType="int">0</Parameter>
                                                <Parameter name="Recurring" dataType="bool">0</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>SetUITemporaryHeaterPriorityCmd</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">8</Parameter>
                                                <Parameter name="HeaterID1" dataType="int">12</Parameter>
                                                <Parameter name="HeaterID2" dataType="int">19</Parameter>
                                                <Parameter name="HeaterID3" dataType="int">-1</Parameter>
                                                <Parameter name="HeaterID4" dataType="int">-1</Parameter>
                                                <Parameter name="HeaterID5" dataType="int">-1</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>SetUITemporaryHeaterMaintainPriorityCmd</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">8</Parameter>
                                                <Parameter name="HeaterID" dataType="int">11</Parameter>
                                                <Parameter name="Priority1MaintainFor" dataType="byte">24</Parameter>
                                                <Parameter name="Priority2MaintainFor" dataType="byte">8</Parameter>
                                                <Parameter name="Priority3MaintainFor" dataType="byte">255</Parameter>
                                                <Parameter name="Priority4MaintainFor" dataType="byte">255</Parameter>
                                                <Parameter name="Priority5MaintainFor" dataType="byte">255</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>SetUITemporaryHeaterEnable</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">8</Parameter>
                                                <Parameter name="HeaterID" dataType="int">11</Parameter>
                                                <Parameter name="Enabled" dataType="int">0</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>SetUITemporaryHeaterEnable</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">8</Parameter>
                                                <Parameter name="HeaterID" dataType="int">12</Parameter>
                                                <Parameter name="Enabled" dataType="int">1</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>SetUITemporaryHeaterEnable</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">8</Parameter>
                                                <Parameter name="HeaterID" dataType="int">19</Parameter>
                                                <Parameter name="Enabled" dataType="int">0</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>SetSolarScheduleCmd</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">8</Parameter>
                                                <Parameter name="HeaterID" dataType="int">11</Parameter>
                                                <Parameter name="Temp" dataType="int">70</Parameter>
                                                <Parameter name="IsCountDownTimer" dataType="bool">0</Parameter>
                                                <Parameter name="StartTimeHours" dataType="int">0</Parameter>
                                                <Parameter name="StartTimeMinutes" dataType="int">0</Parameter>
                                                <Parameter name="EndTimeHours" dataType="int">0</Parameter>
                                                <Parameter name="EndTimeMinutes" dataType="int">0</Parameter>
                                                <Parameter name="DaysActive" dataType="int">0</Parameter>
                                                <Parameter name="Recurring" dataType="bool">0</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>TurnOnOffForGroup</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">8</Parameter>
                                                <Parameter name="EquipmentID" dataType="int">13</Parameter>
                                                <Parameter name="Data" dataType="int">263180</Parameter>
                                                <Parameter name="LightState" dataType="int">0</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>TurnOnOffForGroup</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">8</Parameter>
                                                <Parameter name="EquipmentID" dataType="int">14</Parameter>
                                                <Parameter name="Data" dataType="int">0</Parameter>
                                                <Parameter name="LightState" dataType="int">0</Parameter>
                                        </Parameters>
                                </Request>
                                <Request>
                                        <Name>TurnOnOffForGroup</Name>
                                        <Parameters>
                                                <Parameter name="PoolID" dataType="int">8</Parameter>
                                                <Parameter name="EquipmentID" dataType="int">15</Parameter>
                                                <Parameter name="Data" dataType="int">0</Parameter>
                                                <Parameter name="LightState" dataType="int">0</Parameter>
                                        </Parameters>
                                </Request>
                        </Group>
                </Groups>
        </MSPConfig>
        <MSPAPI version="0.4" latestversion="0.4">
                <Device-APIs>
                        <API System-Id="27" OpType="ON_OFF" ref="SetUIEquipmentCmd" EquipmentID="27" IsOn="API::STATUS::Relay::relayState" />
                        <API System-Id="33" OpType="ON_OFF" ref="RunGroupCmd" ThemeID="33" IsOn="API::STATUS::Group::groupState" />
                        <API System-Id="3" OpType="ON_OFF" ref="SetUIEquipmentCmd" EquipmentID="3" IsOn="API::STATUS::Filter::filterSpeed" />
                        <API System-Id="4" OpType="ON_OFF" ref="SetHeaterEnable" HeaterID="4" />
                        <API System-Id="4" OpType="SETPOINT" ref="SetUIHeaterCmd" HeaterID="4" Temp="API::STATUS::VirtualHeater::Current-Set-Point" />
                        <API System-Id="22" OpType="ON_OFF" ref="SetUIEquipmentCmd" EquipmentID="22" IsOn="API::STATUS::Relay::relayState" />
                        <API System-Id="36" OpType="ON_OFF" ref="SetUIEquipmentCmd" EquipmentID="36" IsOn="API::STATUS::Relay::relayState" />
                        <API System-Id="23" OpType="ON_OFF" ref="SetUIEquipmentCmd" EquipmentID="23" IsOn="API::STATUS::ColorLogic-Light::lightState" />
                        <API System-Id="23" OpType="ON_SETPOINT" ref="SetStandAloneLightShowV2" LightID="23" Show="API::STATUS::ColorLogic-Light::currentShow" Speed="API::STATUS::ColorLogic-Light::speed" Brightness="API::STATUS::ColorLogic-Light::brightness" />
                        <API System-Id="24" OpType="ON_OFF" ref="SetUIEquipmentCmd" EquipmentID="24" IsOn="API::STATUS::ColorLogic-Light::lightState" />
                        <API System-Id="24" OpType="ON_SETPOINT" ref="SetStandAloneLightShowV2" LightID="24" Show="API::STATUS::ColorLogic-Light::currentShow" Speed="API::STATUS::ColorLogic-Light::speed" Brightness="API::STATUS::ColorLogic-Light::brightness" />
                        <API System-Id="0" OpType="CSAD_MODE" ref="UISetCSADMode" CSADID="0" Mode="API::STATUS::CSAD::mode" />
                        <API System-Id="0" OpType="CSAD_CALIBRATION" ref="UISetCSADTargetValue" CSADID="0" Mode="API::STATUS::CSAD::ph" />
                        <API System-Id="10" OpType="ON_OFF" ref="SetUIEquipmentCmd" EquipmentID="10" IsOn="API::STATUS::Filter::filterSpeed" />
                        <API System-Id="11" OpType="ON_OFF" ref="SetHeaterEnable" HeaterID="11" />
                        <API System-Id="11" OpType="SETPOINT" ref="SetUIHeaterCmd" HeaterID="11" Temp="API::STATUS::VirtualHeater::Current-Set-Point" />
                        <API System-Id="15" OpType="ON_OFF" ref="SetUIEquipmentCmd" EquipmentID="15" IsOn="API::STATUS::Relay::relayState" />
                        <API System-Id="14" OpType="ON_OFF_SETPOINT" ref="SetUIEquipmentCmd" EquipmentID="14" IsOn="API::STATUS::Pump::pumpSpeed" />
                        <API System-Id="13" OpType="ON_OFF" ref="SetUIEquipmentCmd" EquipmentID="13" IsOn="API::STATUS::ColorLogic-Light::lightState" />
                        <API System-Id="13" OpType="ON_SETPOINT" ref="SetStandAloneLightShowV2" LightID="13" Show="API::STATUS::ColorLogic-Light::currentShow" Speed="API::STATUS::ColorLogic-Light::speed" Brightness="API::STATUS::ColorLogic-Light::brightness" />
                        <API System-Id="0" OpType="CSAD_MODE" ref="UISetCSADMode" CSADID="0" Mode="API::STATUS::CSAD::mode" />
                        <API System-Id="0" OpType="CSAD_CALIBRATION" ref="UISetCSADTargetValue" CSADID="0" Mode="API::STATUS::CSAD::ph" />
                </Device-APIs>
                <Favorite-APIs>
                        <API Favorite-Id="27" ref="SetUIEquipmentCmd" OpType="ON_OFF" EquipmentID="27" IsOn="API::STATUS::Relay::relayState" />
                        <API Favorite-Id="33" ref="RunGroupCmd" OpType="ON_OFF" ThemeID="33" IsOn="API::STATUS::Group::groupState" />
                        <API Favorite-Id="3" ref="SetUIEquipmentCmd" OpType="ON_OFF" EquipmentID="3" IsOn="API::STATUS::Filter::filterState" />
                        <API Favorite-Id="4" ref="API::GOTOFEATURE" />
                        <API Favorite-Id="1" ref="SetHeaterEnable" HeaterID="4" />
                        <API Favorite-Id="22" ref="SetUIEquipmentCmd" OpType="ON_OFF" EquipmentID="22" />
                        <API Favorite-Id="36" ref="SetUIEquipmentCmd" OpType="ON_OFF" EquipmentID="36" />
                        <API Favorite-Id="23" ref="SetStandAloneLightShowV2" OpType="ON_SETPOINT" LightID="23" Show="API::CONFIG::Favorite::Data" Speed="API::CONFIG::Favorite::Data2" Brightness="API::CONFIG::Favorite::Data3" />
                        <API Favorite-Id="24" ref="SetStandAloneLightShowV2" OpType="ON_SETPOINT" LightID="24" Show="API::CONFIG::Favorite::Data" Speed="API::CONFIG::Favorite::Data2" Brightness="API::CONFIG::Favorite::Data3" />
                        <API Favorite-Id="0" ref="API::GOTOFEATURE" />
                        <API Favorite-Id="10" ref="SetUIEquipmentCmd" OpType="ON_OFF" EquipmentID="10" IsOn="API::STATUS::Filter::filterState" />
                        <API Favorite-Id="11" ref="API::GOTOFEATURE" />
                        <API Favorite-Id="8" ref="SetHeaterEnable" HeaterID="11" />
                        <API Favorite-Id="15" ref="SetUIEquipmentCmd" OpType="ON_OFF" EquipmentID="15" />
                        <API Favorite-Id="14" ref="SetUIEquipmentCmd" OpType="ON_OFF" EquipmentID="14" />
                        <API Favorite-Id="14" ref="API::GOTOFEATURE" />
                        <API Favorite-Id="13" ref="SetStandAloneLightShowV2" OpType="ON_SETPOINT" LightID="13" Show="API::CONFIG::Favorite::Data" Speed="API::CONFIG::Favorite::Data2" Brightness="API::CONFIG::Favorite::Data3" />
                        <API Favorite-Id="0" ref="API::GOTOFEATURE" />
                </Favorite-APIs>
                <Schedule-APIs>
                        <API System-Id="27" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleCmd" EquipmentID="27" Data="1" ActionID="164" />
                        <API System-Id="27" OpType="EDIT_SCHEDULE" ref="EditUIScheduleCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Data="1" ActionID="164" />
                        <API System-Id="27" OpType="REMOVE_SCHEDULE" ref="DeleteUIScheduleCmd" ScheduleSystemID="API::CONFIG::sche::schedule-system-id" />
                        <API System-Id="33" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleCmd" EquipmentID="33" Data="1" ActionID="317" />
                        <API System-Id="33" OpType="EDIT_SCHEDULE" ref="EditUIScheduleCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Data="1" ActionID="317" />
                        <API System-Id="33" OpType="REMOVE_SCHEDULE" ref="DeleteUIScheduleCmd" ScheduleSystemID="API::CONFIG::sche::schedule-system-id" />
                        <API System-Id="3" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleCmd" EquipmentID="3" Data="API::STATUS::Filter::filterSpeed" ActionID="164" />
                        <API System-Id="3" OpType="EDIT_SCHEDULE" ref="EditUIScheduleCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Data="API::STATUS::Filter::filterSpeed" ActionID="164" />
                        <API System-Id="3" OpType="REMOVE_SCHEDULE" ref="DeleteUIScheduleCmd" ScheduleSystemID="API::CONFIG::sche::schedule-system-id" />
                        <API System-Id="4" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleCmd" EquipmentID="4" Data="API::STATUS::VirtualHeater::Current-Set-Point" ActionID="315" />
                        <API System-Id="4" OpType="EDIT_SCHEDULE" ref="EditUIScheduleCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Data="API::STATUS::VirtualHeater::Current-Set-Point" ActionID="315" />
                        <API System-Id="4" OpType="REMOVE_SCHEDULE" ref="DeleteUIScheduleCmd" ScheduleSystemID="API::CONFIG::sche::schedule-system-id" />
                        <API System-Id="22" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleCmd" EquipmentID="22" Data="1" ActionID="164" />
                        <API System-Id="22" OpType="EDIT_SCHEDULE" ref="EditUIScheduleCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Data="1" ActionID="164" />
                        <API System-Id="22" OpType="REMOVE_SCHEDULE" ref="DeleteUIScheduleCmd" ScheduleSystemID="API::CONFIG::sche::schedule-system-id" />
                        <API System-Id="36" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleCmd" EquipmentID="36" Data="1" ActionID="164" />
                        <API System-Id="36" OpType="EDIT_SCHEDULE" ref="EditUIScheduleCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Data="1" ActionID="164" />
                        <API System-Id="36" OpType="REMOVE_SCHEDULE" ref="DeleteUIScheduleCmd" ScheduleSystemID="API::CONFIG::sche::schedule-system-id" />
                        <API System-Id="23" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleAltCmd" EquipmentID="23" Show="API::STATUS::ColorLogic-Light::currentShow" Speed="API::STATUS::ColorLogic-Light::speed" Brightness="API::STATUS::ColorLogic-Light::brightness" Data4="0" ActionID="308" />
                        <API System-Id="23" OpType="EDIT_SCHEDULE" ref="EditUIScheduleAltCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Show="API::STATUS::ColorLogic-Light::currentShow" Speed="API::STATUS::ColorLogic-Light::speed" Brightness="API::STATUS::ColorLogic-Light::brightness" Data4="0" ActionID="308" />
                        <API System-Id="23" OpType="REMOVE_SCHEDULE" ref="DeleteUIScheduleCmd" ScheduleSystemID="API::CONFIG::sche::schedule-system-id" />
                        <API System-Id="24" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleAltCmd" EquipmentID="24" Show="API::STATUS::ColorLogic-Light::currentShow" Speed="API::STATUS::ColorLogic-Light::speed" Brightness="API::STATUS::ColorLogic-Light::brightness" Data4="0" ActionID="308" />
                        <API System-Id="24" OpType="EDIT_SCHEDULE" ref="EditUIScheduleAltCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Show="API::STATUS::ColorLogic-Light::currentShow" Speed="API::STATUS::ColorLogic-Light::speed" Brightness="API::STATUS::ColorLogic-Light::brightness" Data4="0" ActionID="308" />
                        <API System-Id="24" OpType="REMOVE_SCHEDULE" ref="DeleteUIScheduleCmd" ScheduleSystemID="API::CONFIG::sche::schedule-system-id" />
                        <API System-Id="10" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleCmd" EquipmentID="10" Data="API::STATUS::Filter::filterSpeed" ActionID="164" />
                        <API System-Id="10" OpType="EDIT_SCHEDULE" ref="EditUIScheduleCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Data="API::STATUS::Filter::filterSpeed" ActionID="164" />
                        <API System-Id="10" OpType="REMOVE_SCHEDULE" ref="DeleteUIScheduleCmd" ScheduleSystemID="API::CONFIG::sche::schedule-system-id" />
                        <API System-Id="11" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleCmd" EquipmentID="11" Data="API::STATUS::VirtualHeater::Current-Set-Point" ActionID="315" />
                        <API System-Id="11" OpType="EDIT_SCHEDULE" ref="EditUIScheduleCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Data="API::STATUS::VirtualHeater::Current-Set-Point" ActionID="315" />
                        <API System-Id="11" OpType="REMOVE_SCHEDULE" ref="DeleteUIScheduleCmd" ScheduleSystemID="API::CONFIG::sche::schedule-system-id" />
                        <API System-Id="15" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleCmd" EquipmentID="15" Data="1" ActionID="164" />
                        <API System-Id="15" OpType="EDIT_SCHEDULE" ref="EditUIScheduleCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Data="1" ActionID="164" />
                        <API System-Id="15" OpType="REMOVE_SCHEDULE" ref="DeleteUIScheduleCmd" ScheduleSystemID="API::CONFIG::sche::schedule-system-id" />
                        <API System-Id="14" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleCmd" EquipmentID="14" Data="API::STATUS::Pump::pumpSpeed" ActionID="164" />
                        <API System-Id="14" OpType="EDIT_SCHEDULE" ref="EditUIScheduleCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Data="API::STATUS::Pump::pumpSpeed" ActionID="164" />
                        <API System-Id="14" OpType="REMOVE_SCHEDULE" ref="DeleteUIScheduleCmd" ScheduleSystemID="API::CONFIG::sche::schedule-system-id" />
                        <API System-Id="13" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleAltCmd" EquipmentID="13" Show="API::STATUS::ColorLogic-Light::currentShow" Speed="API::STATUS::ColorLogic-Light::speed" Brightness="API::STATUS::ColorLogic-Light::brightness" Data4="0" ActionID="308" />
                        <API System-Id="13" OpType="EDIT_SCHEDULE" ref="EditUIScheduleAltCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Show="API::STATUS::ColorLogic-Light::currentShow" Speed="API::STATUS::ColorLogic-Light::speed" Brightness="API::STATUS::ColorLogic-Light::brightness" Data4="0" ActionID="308" />
                        <API System-Id="13" OpType="REMOVE_SCHEDULE" ref="DeleteUIScheduleCmd" ScheduleSystemID="API::CONFIG::sche::schedule-system-id" />
                </Schedule-APIs>
        </MSPAPI>
</Response>
djtimca commented 2 years ago

Thanks @lurgh - I'm not sure the sensor data is coming through the telemetry (at least it doesn't appear on my pool). I've made an adjustment to the replit that will now output a 3rd file output_116_HASH_telemetry.xml

Can you post that as well? Just need to see how the different data appears in the telemetry to be able to pull it in.

lurgh commented 2 years ago

Here is the new telemetry XML. I agree that none of the (temp) sensors come through directly in the telemetry, instead the first one get absorbed into its BoW as waterTemp and seems like any additional sensors just disappear. Whereas the relays, heaters etc are preserved over in the telemetry struct. (edit: redaction from telemetry)

<STATUS version="1.0">
    <Backyard systemId="xxxxxx" statusVersion="9" airTemp="76" status="1" state="1" configUpdatedTime="2022-06-18T23:10:59.94Z" datetime="2022-06-21T09:29:02.4256" />
    <Relay systemId="27" relayState="0" />
    <BodyOfWater systemId="1" flow="255" waterTemp="80" />
    <Filter systemId="3" valvePosition="1" filterSpeed="65" filterState="1" lastSpeed="50" />
    <VirtualHeater systemId="4" Current-Set-Point="85" enable="no" />
    <Heater systemId="5" heaterState="0" enable="no" />
    <Heater systemId="18" heaterState="0" enable="yes" />
    <Relay systemId="22" relayState="0" />
    <Relay systemId="36" relayState="1" />
    <ColorLogic-Light systemId="23" lightState="0" currentShow="12" speed="4" brightness="4" />
    <ColorLogic-Light systemId="24" lightState="0" currentShow="12" />
    <CSAD systemId="0" ph="" orp="" status="0" mode="0" />
    <BodyOfWater systemId="8" flow="255" waterTemp="-1" />
    <Filter systemId="10" valvePosition="1" filterSpeed="0" filterState="0" lastSpeed="50" />
    <VirtualHeater systemId="11" Current-Set-Point="100" enable="no" />
    <Heater systemId="12" heaterState="0" enable="yes" />
    <Heater systemId="19" heaterState="0" enable="no" />
    <Relay systemId="15" relayState="0" />
    <Pump systemId="14" pumpState="0" pumpSpeed="0" lastSpeed="50" />
    <ColorLogic-Light systemId="13" lightState="0" currentShow="12" speed="4" brightness="4" />
    <CSAD systemId="0" ph="" orp="" status="0" mode="0" />
    <Group systemId="33" groupState="0" />
</STATUS>
djtimca commented 2 years ago

OK thanks @lurgh - let me see if I can't find something out from Hayward on the sensors. Sometimes worth a try.

lurgh commented 2 years ago

OK thanks. I wanted to be sure you saw that they do come through in the raw data coming back from GetMspConfigFile. Just that they are getting dropped during the processing of that down into the telemetry structure within your API.

djtimca commented 2 years ago

Actually they are being dropped on the Hayward side. The second file is actually the raw telemetry from Hayward that we combine with the MSP config to create something usable.

So I need to find a way to either query the specific System Id for sensors for their telemetry or find some undocumented way to get the telemetry to include those sensors.

I've reached out so now we wait. :)

lurgh commented 2 years ago

OK cool, interesting. Thanks.

djtimca commented 2 years ago

Support requested from Hayward. Sensors are not returned by default in base telemetry unless mapped within their API. Some appear not to be mapped as expected - support request continues.

djtimca commented 2 years ago

@lurgh can you please let me know what version of firmware you are running? Config -> System Info on the controller.

Thanks!

lurgh commented 2 years ago

MSP firmware is R.4.4.1-b37543. I checked the dates and this is the same version that was running a couple weeks ago when I grabbed the telemetry.

djtimca commented 2 years ago

Response from Hayward:

It looks like the home automation status is not passing the solar roof temperature. I will need to add an improvement ticket for this.

I didn’t realize they were different until I captured the mobile app status vs the home automation status

Therefore currently, the solar temperature is not supported under the home automation api.

Mobile app receives:

<Heater systemId="5" heaterState="0" temp="57" enable="1" priority="0" maintainFor="24"/>

Home automation receives:

<Heater systemId="5" heaterState="0" enable="yes" />


I will park this ticket for now for future enhancement once the Home Automation API has been updated by Hayward to include the solar temperature data.

lurgh commented 2 years ago

Thanks @djtimca for chasing this with Hayward, and I appreciate their response and support. Looking forward to them eventually filling this gap.