djtimca / haomnilogic

Hayward Omnilogic integration for Home Assistant available through HACS
Apache License 2.0
18 stars 6 forks source link

Missing Air Temp Sensor Entity #33

Open twillux opened 1 year ago

twillux commented 1 year ago

Issue to troubleshoot missing Air Temp sensor entity in HA.

I have a pool/spa combo with shared equipment, and both the pool and spa temp sensors come in with no issue. For some reason however, the air temperature sensor entity itself is missing. Telemetry and MSP configs below; note that the Replit repository also errored out on me, so I cloned the main.py and ran locally with a few modifications using the base omnilogic-api and the deprecated 'get_msp_config_file' function; hope this is still of value for troubleshooting purposes?

One additional note: I have a Glacier Chiller, configured within the new Heater/Chiller capability of the Omnilogic using priorities to control heat vs cool to setpoint. I also have a temperature sensor on the chilled water return line, wired to the Solar input on the OmniPL (input 3). Understand based on a previous issue that this isn't coming in with the telemetry from the Hayward API (yet I hope!), but wanted to mention.

Telemetry JSON [{'systemId': 'REDACTED', 'statusVersion': '9', 'status': '1', 'state': '1', 'configUpdatedTime': '2022-07-24T16:11:08.965Z', 'datetime': '2022-07-31T08:16:20.8187551', 'Relays': [], 'BOWS': [{'systemId': '2', 'flow': '1', 'waterTemp': '84', 'Name': 'Pool', 'Supports-Spillover': 'yes', 'Filter': {'systemId': '3', 'valvePosition': '1', 'filterSpeed': '35', 'filterState': '1', 'lastSpeed': '65', 'Name': 'Filter Pump', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Filter-Type': 'FMT_VARIABLE_SPEED_PUMP', 'Max-Pump-Speed': '100', 'Min-Pump-Speed': '18', 'Max-Pump-RPM': '3450', 'Min-Pump-RPM': '600', 'Priming-Enabled': 'yes', 'Alarms': []}, 'VirtualHeater': {'systemId': '16', 'Current-Set-Point': '85', 'enable': 'yes'}, 'Heater': {'systemId': '66', 'heaterState': '0', 'enable': 'yes', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Operation': {'VirtualHeater': {'System-Id': '66', 'Name': 'Chiller', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_CHILLER', 'Enabled': 'yes', 'Priority': 'HTR_PRIORITY_1', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'SupportsCooling': 'yes', 'SupportsHeating': 'no', 'Shared-Equipment-System-ID': '67', 'Current-Set-Point': '85', 'Max-Water-Temp': '104', 'Min-Settable-Water-Temp': '55', 'Max-Settable-Water-Temp': '104', 'enable': 'yes', 'systemId': '16'}}, 'Name': 'Chiller', 'Alarms': []}, 'Chlorinator': {'systemId': '22', 'operatingMode': '1', 'Timed-Percent': '25', 'scMode': '0', 'chlrError': '0', 'chlrAlert': '0', 'avgSaltLevel': '3507', 'instantSaltLevel': '3207', 'status': '132', 'Name': 'Chlorinator', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Operation': [{'System-Id': '24', 'Name': 'Chlorinator1', 'Type': 'PET_CHLORINATOR', 'Chlorinator-Type': 'CHLOR_TYPE_MAIN_PANEL', 'Enabled': 'yes'}], 'Alarms': []}, 'CSAD': {'systemId': '0', 'ph': '', 'orp': '', 'status': '0', 'mode': '0', 'Alarms': []}, 'Lights': [{'systemId': '5', 'lightState': '0', 'currentShow': '3', 'Name': 'Lights', 'Type': 'COLOR_LOGIC_UCL', 'V2': 'no', 'Alarms': []}], 'Relays': [], 'Pumps': [{'systemId': '4', 'pumpState': '0', 'pumpSpeed': '0', 'lastSpeed': '100', 'Name': 'Waterfall', 'Type': 'PMP_SINGLE_SPEED', 'Function': 'PMP_WATERFALL', 'Min-Pump-Speed': '18', 'Max-Pump_Speed': '100', 'Alarms': []}, {'systemId': '19', 'pumpState': '0', 'pumpSpeed': '0', 'lastSpeed': '100', 'Name': 'Cleaner', 'Type': 'PMP_SINGLE_SPEED', 'Function': 'PMP_CLEANER', 'Min-Pump-Speed': '18', 'Max-Pump_Speed': '100', 'Alarms': []}], 'Heaters': [{'systemId': '18', 'heaterState': '0', 'enable': 'no', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Operation': {'VirtualHeater': {'System-Id': '18', 'Name': 'Gas Heater', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_GAS', 'Enabled': 'no', 'Priority': 'HTR_PRIORITY_2', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'Shared-Equipment-System-ID': '17', 'Current-Set-Point': '85', 'Max-Water-Temp': '104', 'Min-Settable-Water-Temp': '55', 'Max-Settable-Water-Temp': '104', 'enable': 'no', 'systemId': '16'}}, 'Name': 'Gas Heater', 'Alarms': []}, {'systemId': '66', 'heaterState': '0', 'enable': 'yes', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Operation': {'VirtualHeater': {'System-Id': '66', 'Name': 'Chiller', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_CHILLER', 'Enabled': 'yes', 'Priority': 'HTR_PRIORITY_1', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'SupportsCooling': 'yes', 'SupportsHeating': 'no', 'Shared-Equipment-System-ID': '67', 'Current-Set-Point': '85', 'Max-Water-Temp': '104', 'Min-Settable-Water-Temp': '55', 'Max-Settable-Water-Temp': '104', 'enable': 'yes', 'systemId': '16'}}, 'Name': 'Chiller', 'Alarms': []}]}, {'systemId': '8', 'flow': '1', 'waterTemp': '-1', 'Name': 'Spa', 'Supports-Spillover': 'yes', 'Filter': {'systemId': '10', 'valvePosition': '1', 'filterSpeed': '0', 'filterState': '0', 'lastSpeed': '50', 'Name': 'Filter Pump', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Filter-Type': 'FMT_VARIABLE_SPEED_PUMP', 'Max-Pump-Speed': '100', 'Min-Pump-Speed': '18', 'Max-Pump-RPM': '3450', 'Min-Pump-RPM': '600', 'Priming-Enabled': 'yes', 'Alarms': []}, 'VirtualHeater': {'systemId': '15', 'Current-Set-Point': '98', 'enable': 'no'}, 'Heater': {'systemId': '67', 'heaterState': '0', 'enable': 'no', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Operation': {'VirtualHeater': {'System-Id': '67', 'Name': 'Chiller', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_CHILLER', 'Enabled': 'no', 'Priority': 'HTR_PRIORITY_2', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'SupportsCooling': 'yes', 'SupportsHeating': 'no', 'Shared-Equipment-System-ID': '66', 'Current-Set-Point': '98', 'Max-Water-Temp': '104', 'Min-Settable-Water-Temp': '55', 'Max-Settable-Water-Temp': '104', 'enable': 'no', 'systemId': '15'}}, 'Name': 'Chiller', 'Alarms': []}, 'Chlorinator': {'systemId': '23', 'operatingMode': '1', 'Timed-Percent': '0', 'scMode': '0', 'chlrError': '0', 'chlrAlert': '0', 'avgSaltLevel': '0', 'instantSaltLevel': '0', 'status': '0', 'Name': 'Chlorinator', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Operation': [{'System-Id': '25', 'Name': 'Chlorinator1', 'Type': 'PET_CHLORINATOR', 'Chlorinator-Type': 'CHLOR_TYPE_MAIN_PANEL', 'Enabled': 'yes'}], 'Alarms': []}, 'CSAD': {'systemId': '0', 'ph': '', 'orp': '', 'status': '0', 'mode': '0', 'Alarms': []}, 'Lights': [], 'Relays': [], 'Pumps': [{'systemId': '14', 'pumpState': '0', 'pumpSpeed': '0', 'lastSpeed': '100', 'Name': 'Jets', 'Type': 'PMP_SINGLE_SPEED', 'Function': 'PMP_JETS', 'Min-Pump-Speed': '18', 'Max-Pump-Speed': '100', 'Alarms': []}], 'Heaters': [{'systemId': '17', 'heaterState': '0', 'enable': 'yes', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Operation': {'VirtualHeater': {'System-Id': '17', 'Name': 'Gas Heater', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_GAS', 'Enabled': 'yes', 'Priority': 'HTR_PRIORITY_1', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'Shared-Equipment-System-ID': '18', 'Current-Set-Point': '98', 'Max-Water-Temp': '104', 'Min-Settable-Water-Temp': '55', 'Max-Settable-Water-Temp': '104', 'enable': 'yes', 'systemId': '15'}}, 'Name': 'Gas Heater', 'Alarms': []}, {'systemId': '67', 'heaterState': '0', 'enable': 'no', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Operation': {'VirtualHeater': {'System-Id': '67', 'Name': 'Chiller', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_CHILLER', 'Enabled': 'no', 'Priority': 'HTR_PRIORITY_2', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'SupportsCooling': 'yes', 'SupportsHeating': 'no', 'Shared-Equipment-System-ID': '66', 'Current-Set-Point': '98', 'Max-Water-Temp': '104', 'Min-Settable-Water-Temp': '55', 'Max-Settable-Water-Temp': '104', 'enable': 'no', 'systemId': '15'}}, 'Name': 'Chiller', 'Alarms': []}]}], 'BackyardName': 'REDACTED', 'Msp-Vsp-Speed-Format': 'RPM', 'Msp-Time-Format': '12 Hour Format', 'Units': 'Standard', 'Msp-Chlor-Display': 'Salt', 'Msp-Language': 'English', 'Unit-of-Measurement': 'Standard', 'Alarms': []}]

MSP Config XML [{'System': {'Msp-Vsp-Speed-Format': 'RPM', 'Msp-Time-Format': '12 Hour Format', 'Units': 'Standard', 'Msp-Chlor-Display': 'Salt', 'Msp-Language': 'English', 'UI-Display-Mode': 'standard', 'UI-MoodColor-Enabled': 'Yes', 'UI-Heater-SimpleMode': 'Yes', 'UI-Filter-SimpleMode': 'Yes', 'UI-Lights-SimpleMode': 'Yes'}, 'Backyard': {'System-Id': '0', 'Name': 'Backyard', 'Service-Mode-Timeout': '0', 'Sensor': [{'System-Id': '6', 'Name': 'Air Temp', 'Type': 'SENSOR_AIR_TEMP', 'Units': 'UNITS_FAHRENHEIT'}, {'System-Id': '38', 'Name': 'Generator', 'Type': 'SENSOR_EXT_INPUT', 'Units': 'UNITS_FAHRENHEIT'}, {'System-Id': '59', 'Name': 'Chiller Temp', 'Type': 'SENSOR_WATER_TEMP', 'Units': 'UNITS_FAHRENHEIT'}], 'Body-of-water': [{'System-Id': '2', 'Name': 'Pool', 'Type': 'BOW_POOL', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Shared-Priority': 'SHARED_EQUIPMENT_LOW_PRIORITY', 'Shared-Equipment-System-ID': '8', 'Supports-Spillover': 'yes', 'Size-In-Gallons': '11500', 'Filter': {'System-Id': '3', 'Name': 'Filter Pump', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Filter-Type': 'FMT_VARIABLE_SPEED_PUMP', 'Max-Pump-Speed': '100', 'Min-Pump-Speed': '18', 'Max-Pump-RPM': '3450', 'Min-Pump-RPM': '600', 'Priming-Enabled': 'yes', 'Vsp-Low-Pump-Speed': '35', 'Vsp-Medium-Pump-Speed': '65', 'Vsp-High-Pump-Speed': '90', 'Vsp-Custom-Pump-Speed': '65', 'Freeze-Protect-Override-Interval': '7200'}, 'Pump': [{'System-Id': '4', 'Name': 'Waterfall', 'Type': 'PMP_SINGLE_SPEED', 'Function': 'PMP_WATERFALL', 'Priming-Enabled': 'no', 'Max-Pump-RPM': '3450', 'Min-Pump-RPM': '600', 'Min-Pump-Speed': '18', 'Max-Pump-Speed': '100', 'Vsp-Medium-Pump-Speed': '100', 'Vsp-Custom-Pump-Speed': '100', 'Vsp-High-Pump-Speed': '100', 'Vsp-Low-Pump-Speed': '100'}, {'System-Id': '19', 'Name': 'Cleaner', 'Type': 'PMP_SINGLE_SPEED', 'Function': 'PMP_CLEANER', 'Priming-Enabled': 'no', 'External-Interlock': [{'External-Interlock-Enable': 'yes', 'External-Interlock-Source': 'ILK_SOURCE_FILTER', 'External-Interlock-Source-System-Id': '3', 'External-Interlock-Compare-Type': 'ILK_COMPARE_EQUAL_TO', 'External-Interlock-ActiveLevel': '0', 'External-Interlock-ActionState': '0', '#text': '1'}, {'External-Interlock-Enable': 'yes', 'External-Interlock-Source': 'ILK_SOURCE_VALVES_SPA', 'External-Interlock-Source-System-Id': '3', 'External-Interlock-Compare-Type': 'ILK_COMPARE_EQUAL_TO', 'External-Interlock-ActiveLevel': '1', 'External-Interlock-ActionState': '0', '#text': '2'}], 'Max-Pump-RPM': '3450', 'Min-Pump-RPM': '600', 'Min-Pump-Speed': '18', 'Max-Pump-Speed': '100', 'Vsp-Medium-Pump-Speed': '100', 'Vsp-Custom-Pump-Speed': '100', 'Vsp-High-Pump-Speed': '100', 'Vsp-Low-Pump-Speed': '100'}], 'ColorLogic-Light': {'System-Id': '5', 'Name': 'Lights', 'Type': 'COLOR_LOGIC_UCL', 'V2-Active': 'no'}, 'Sensor': [{'System-Id': '7', 'Name': 'Water Temp', 'Type': 'SENSOR_WATER_TEMP', 'Units': 'UNITS_FAHRENHEIT'}, {'System-Id': '27', 'Name': 'Flow Switch', 'Type': 'SENSOR_FLOW', 'Units': 'UNITS_ACTIVE_INACTIVE'}], 'Heater': {'System-Id': '16', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Enabled': 'no', 'Mode': 'HTR_MODE_COOLING', 'Current-Set-Point': '85', 'Max-Water-Temp': '104', 'Min-Settable-Water-Temp': '55', 'Max-Settable-Water-Temp': '104', 'External-Interlock': {'External-Interlock-Enable': 'yes', 'External-Interlock-Source': 'ILK_SOURCE_PUMP', 'External-Interlock-Source-System-Id': '19', 'External-Interlock-Compare-Type': 'ILK_COMPARE_EQUAL_TO', 'External-Interlock-ActiveLevel': '1', 'External-Interlock-ActionState': '0', '#text': '1'}, 'Operation': [{'Heater-Equipment': {'System-Id': '18', 'Name': 'Gas Heater', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_GAS', 'Enabled': 'no', 'Priority': 'HTR_PRIORITY_2', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'Shared-Equipment-System-ID': '17'}, '#text': 'PEO_HEATER_EQUIPMENT'}, {'Heater-Equipment': {'System-Id': '66', 'Name': 'Chiller', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_CHILLER', 'Enabled': 'yes', 'Priority': 'HTR_PRIORITY_1', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'SupportsCooling': 'yes', 'SupportsHeating': 'no', 'Shared-Equipment-System-ID': '67'}, '#text': 'PEO_HEATER_EQUIPMENT'}]}, 'Chlorinator': {'System-Id': '22', 'Name': 'Chlorinator', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Enabled': 'yes', 'Mode': 'CHLOR_OP_MODE_TIMED', 'Timed-Percent': '25', 'SuperChlor-Timeout': '24', 'Cell-Type': 'CELL_TYPE_T15', 'Salt-Monitor': 'LOW_SALT', 'Dispenser-Type': 'SALT_DISPENSING', 'Operation': {'Chlorinator-Equipment': {'System-Id': '24', 'Name': 'Chlorinator1', 'Type': 'PET_CHLORINATOR', 'Chlorinator-Type': 'CHLOR_TYPE_MAIN_PANEL', 'Enabled': 'yes'}, '#text': 'PEO_CHLORINATOR_EQUIPMENT'}}, '#text': '01', 'Relays': [], 'Lights': [{'System-Id': '5', 'Name': 'Lights', 'Type': 'COLOR_LOGIC_UCL', 'V2-Active': 'no'}], 'Heaters': [{'Name': 'Gas Heater', 'System-Id': '16', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Enabled': 'no', 'Current-Set-Point': '85', 'Max-Water-Temp': '104', 'Min-Settable-Water-Temp': '55', 'Max-Settable-Water-Temp': '104', 'Operation': {'Heater-Equipment': {'System-Id': '18', 'Name': 'Gas Heater', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_GAS', 'Enabled': 'no', 'Priority': 'HTR_PRIORITY_2', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'Shared-Equipment-System-ID': '17'}, '#text': 'PEO_HEATER_EQUIPMENT'}}, {'Name': 'Chiller', 'System-Id': '16', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Enabled': 'no', 'Current-Set-Point': '85', 'Max-Water-Temp': '104', 'Min-Settable-Water-Temp': '55', 'Max-Settable-Water-Temp': '104', 'Operation': {'Heater-Equipment': {'System-Id': '66', 'Name': 'Chiller', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_CHILLER', 'Enabled': 'yes', 'Priority': 'HTR_PRIORITY_1', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'SupportsCooling': 'yes', 'SupportsHeating': 'no', 'Shared-Equipment-System-ID': '67'}, '#text': 'PEO_HEATER_EQUIPMENT'}}]}, {'System-Id': '8', 'Name': 'Spa', 'Type': 'BOW_SPA', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Shared-Priority': 'SHARED_EQUIPMENT_HIGH_PRIORITY', 'Shared-Equipment-System-ID': '2', 'Supports-Spillover': 'yes', 'Size-In-Gallons': '500', 'Filter': {'System-Id': '10', 'Name': 'Filter Pump', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Filter-Type': 'FMT_VARIABLE_SPEED_PUMP', 'Max-Pump-Speed': '100', 'Min-Pump-Speed': '18', 'Max-Pump-RPM': '3450', 'Min-Pump-RPM': '600', 'Priming-Enabled': 'yes', 'Vsp-Low-Pump-Speed': '50', 'Vsp-Medium-Pump-Speed': '70', 'Vsp-High-Pump-Speed': '90', 'Vsp-Custom-Pump-Speed': '80', 'Freeze-Protect-Override-Interval': '7200'}, 'Sensor': [{'System-Id': '11', 'Name': 'Water Temp', 'Type': 'SENSOR_WATER_TEMP', 'Units': 'UNITS_FAHRENHEIT'}, {'System-Id': '28', 'Name': 'Flow Switch', 'Type': 'SENSOR_FLOW', 'Units': 'UNITS_ACTIVE_INACTIVE'}, {'System-Id': '65', 'Name': 'SolarSensor', 'Type': 'SENSOR_SOLAR_TEMP', 'Units': 'UNITS_FAHRENHEIT'}], 'Pump': {'System-Id': '14', 'Name': 'Jets', 'Type': 'PMP_SINGLE_SPEED', 'Function': 'PMP_JETS', 'Priming-Enabled': 'no', 'Max-Pump-RPM': '3450', 'Min-Pump-RPM': '600', 'Min-Pump-Speed': '18', 'Max-Pump-Speed': '100', 'Vsp-Medium-Pump-Speed': '100', 'Vsp-Custom-Pump-Speed': '100', 'Vsp-High-Pump-Speed': '100', 'Vsp-Low-Pump-Speed': '100'}, 'Heater': {'System-Id': '15', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Enabled': 'no', 'Current-Set-Point': '98', 'Max-Water-Temp': '104', 'Min-Settable-Water-Temp': '55', 'Max-Settable-Water-Temp': '104', 'Operation': [{'Heater-Equipment': {'System-Id': '17', 'Name': 'Gas Heater', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_GAS', 'Enabled': 'yes', 'Priority': 'HTR_PRIORITY_1', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'Shared-Equipment-System-ID': '18'}, '#text': 'PEO_HEATER_EQUIPMENT'}, {'Heater-Equipment': {'System-Id': '67', 'Name': 'Chiller', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_CHILLER', 'Enabled': 'no', 'Priority': 'HTR_PRIORITY_2', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'SupportsCooling': 'yes', 'SupportsHeating': 'no', 'Shared-Equipment-System-ID': '66'}, '#text': 'PEO_HEATER_EQUIPMENT'}]}, 'Chlorinator': {'System-Id': '23', 'Name': 'Chlorinator', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Enabled': 'no', 'Mode': 'CHLOR_OP_MODE_TIMED', 'Timed-Percent': '5', 'SuperChlor-Timeout': '24', 'Cell-Type': 'CELL_TYPE_T15', 'Salt-Monitor': 'LOW_SALT', 'Dispenser-Type': 'SALT_DISPENSING', 'Operation': {'Chlorinator-Equipment': {'System-Id': '25', 'Name': 'Chlorinator1', 'Type': 'PET_CHLORINATOR', 'Chlorinator-Type': 'CHLOR_TYPE_MAIN_PANEL', 'Enabled': 'yes'}, '#text': 'PEO_CHLORINATOR_EQUIPMENT'}}, '#text': '02', 'Relays': [], 'Lights': [], 'Heaters': [{'Name': 'Gas Heater', 'System-Id': '15', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Enabled': 'no', 'Current-Set-Point': '98', 'Max-Water-Temp': '104', 'Min-Settable-Water-Temp': '55', 'Max-Settable-Water-Temp': '104', 'Operation': {'Heater-Equipment': {'System-Id': '17', 'Name': 'Gas Heater', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_GAS', 'Enabled': 'yes', 'Priority': 'HTR_PRIORITY_1', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'Shared-Equipment-System-ID': '18'}, '#text': 'PEO_HEATER_EQUIPMENT'}}, {'Name': 'Chiller', 'System-Id': '15', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Enabled': 'no', 'Current-Set-Point': '98', 'Max-Water-Temp': '104', 'Min-Settable-Water-Temp': '55', 'Max-Settable-Water-Temp': '104', 'Operation': {'Heater-Equipment': {'System-Id': '67', 'Name': 'Chiller', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_CHILLER', 'Enabled': 'no', 'Priority': 'HTR_PRIORITY_2', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'SupportsCooling': 'yes', 'SupportsHeating': 'no', 'Shared-Equipment-System-ID': '66'}, '#text': 'PEO_HEATER_EQUIPMENT'}}]}], '#text': 'MSP Configuration', 'BOWS': [{'System-Id': '2', 'Name': 'Pool', 'Type': 'BOW_POOL', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Shared-Priority': 'SHARED_EQUIPMENT_LOW_PRIORITY', 'Shared-Equipment-System-ID': '8', 'Supports-Spillover': 'yes', 'Size-In-Gallons': '11500', 'Filter': {'System-Id': '3', 'Name': 'Filter Pump', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Filter-Type': 'FMT_VARIABLE_SPEED_PUMP', 'Max-Pump-Speed': '100', 'Min-Pump-Speed': '18', 'Max-Pump-RPM': '3450', 'Min-Pump-RPM': '600', 'Priming-Enabled': 'yes', 'Vsp-Low-Pump-Speed': '35', 'Vsp-Medium-Pump-Speed': '65', 'Vsp-High-Pump-Speed': '90', 'Vsp-Custom-Pump-Speed': '65', 'Freeze-Protect-Override-Interval': '7200'}, 'Pump': [{'System-Id': '4', 'Name': 'Waterfall', 'Type': 'PMP_SINGLE_SPEED', 'Function': 'PMP_WATERFALL', 'Priming-Enabled': 'no', 'Max-Pump-RPM': '3450', 'Min-Pump-RPM': '600', 'Min-Pump-Speed': '18', 'Max-Pump-Speed': '100', 'Vsp-Medium-Pump-Speed': '100', 'Vsp-Custom-Pump-Speed': '100', 'Vsp-High-Pump-Speed': '100', 'Vsp-Low-Pump-Speed': '100'}, {'System-Id': '19', 'Name': 'Cleaner', 'Type': 'PMP_SINGLE_SPEED', 'Function': 'PMP_CLEANER', 'Priming-Enabled': 'no', 'External-Interlock': [{'External-Interlock-Enable': 'yes', 'External-Interlock-Source': 'ILK_SOURCE_FILTER', 'External-Interlock-Source-System-Id': '3', 'External-Interlock-Compare-Type': 'ILK_COMPARE_EQUAL_TO', 'External-Interlock-ActiveLevel': '0', 'External-Interlock-ActionState': '0', '#text': '1'}, {'External-Interlock-Enable': 'yes', 'External-Interlock-Source': 'ILK_SOURCE_VALVES_SPA', 'External-Interlock-Source-System-Id': '3', 'External-Interlock-Compare-Type': 'ILK_COMPARE_EQUAL_TO', 'External-Interlock-ActiveLevel': '1', 'External-Interlock-ActionState': '0', '#text': '2'}], 'Max-Pump-RPM': '3450', 'Min-Pump-RPM': '600', 'Min-Pump-Speed': '18', 'Max-Pump-Speed': '100', 'Vsp-Medium-Pump-Speed': '100', 'Vsp-Custom-Pump-Speed': '100', 'Vsp-High-Pump-Speed': '100', 'Vsp-Low-Pump-Speed': '100'}], 'ColorLogic-Light': {'System-Id': '5', 'Name': 'Lights', 'Type': 'COLOR_LOGIC_UCL', 'V2-Active': 'no'}, 'Sensor': [{'System-Id': '7', 'Name': 'Water Temp', 'Type': 'SENSOR_WATER_TEMP', 'Units': 'UNITS_FAHRENHEIT'}, {'System-Id': '27', 'Name': 'Flow Switch', 'Type': 'SENSOR_FLOW', 'Units': 'UNITS_ACTIVE_INACTIVE'}], 'Heater': {'System-Id': '16', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Enabled': 'no', 'Mode': 'HTR_MODE_COOLING', 'Current-Set-Point': '85', 'Max-Water-Temp': '104', 'Min-Settable-Water-Temp': '55', 'Max-Settable-Water-Temp': '104', 'External-Interlock': {'External-Interlock-Enable': 'yes', 'External-Interlock-Source': 'ILK_SOURCE_PUMP', 'External-Interlock-Source-System-Id': '19', 'External-Interlock-Compare-Type': 'ILK_COMPARE_EQUAL_TO', 'External-Interlock-ActiveLevel': '1', 'External-Interlock-ActionState': '0', '#text': '1'}, 'Operation': [{'Heater-Equipment': {'System-Id': '18', 'Name': 'Gas Heater', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_GAS', 'Enabled': 'no', 'Priority': 'HTR_PRIORITY_2', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'Shared-Equipment-System-ID': '17'}, '#text': 'PEO_HEATER_EQUIPMENT'}, {'Heater-Equipment': {'System-Id': '66', 'Name': 'Chiller', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_CHILLER', 'Enabled': 'yes', 'Priority': 'HTR_PRIORITY_1', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'SupportsCooling': 'yes', 'SupportsHeating': 'no', 'Shared-Equipment-System-ID': '67'}, '#text': 'PEO_HEATER_EQUIPMENT'}]}, 'Chlorinator': {'System-Id': '22', 'Name': 'Chlorinator', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Enabled': 'yes', 'Mode': 'CHLOR_OP_MODE_TIMED', 'Timed-Percent': '25', 'SuperChlor-Timeout': '24', 'Cell-Type': 'CELL_TYPE_T15', 'Salt-Monitor': 'LOW_SALT', 'Dispenser-Type': 'SALT_DISPENSING', 'Operation': {'Chlorinator-Equipment': {'System-Id': '24', 'Name': 'Chlorinator1', 'Type': 'PET_CHLORINATOR', 'Chlorinator-Type': 'CHLOR_TYPE_MAIN_PANEL', 'Enabled': 'yes'}, '#text': 'PEO_CHLORINATOR_EQUIPMENT'}}, '#text': '01', 'Relays': [], 'Lights': [{'System-Id': '5', 'Name': 'Lights', 'Type': 'COLOR_LOGIC_UCL', 'V2-Active': 'no'}], 'Heaters': [{'Name': 'Gas Heater', 'System-Id': '16', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Enabled': 'no', 'Current-Set-Point': '85', 'Max-Water-Temp': '104', 'Min-Settable-Water-Temp': '55', 'Max-Settable-Water-Temp': '104', 'Operation': {'Heater-Equipment': {'System-Id': '18', 'Name': 'Gas Heater', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_GAS', 'Enabled': 'no', 'Priority': 'HTR_PRIORITY_2', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'Shared-Equipment-System-ID': '17'}, '#text': 'PEO_HEATER_EQUIPMENT'}}, {'Name': 'Chiller', 'System-Id': '16', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Enabled': 'no', 'Current-Set-Point': '85', 'Max-Water-Temp': '104', 'Min-Settable-Water-Temp': '55', 'Max-Settable-Water-Temp': '104', 'Operation': {'Heater-Equipment': {'System-Id': '66', 'Name': 'Chiller', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_CHILLER', 'Enabled': 'yes', 'Priority': 'HTR_PRIORITY_1', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'SupportsCooling': 'yes', 'SupportsHeating': 'no', 'Shared-Equipment-System-ID': '67'}, '#text': 'PEO_HEATER_EQUIPMENT'}}]}, {'System-Id': '8', 'Name': 'Spa', 'Type': 'BOW_SPA', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Shared-Priority': 'SHARED_EQUIPMENT_HIGH_PRIORITY', 'Shared-Equipment-System-ID': '2', 'Supports-Spillover': 'yes', 'Size-In-Gallons': '500', 'Filter': {'System-Id': '10', 'Name': 'Filter Pump', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Filter-Type': 'FMT_VARIABLE_SPEED_PUMP', 'Max-Pump-Speed': '100', 'Min-Pump-Speed': '18', 'Max-Pump-RPM': '3450', 'Min-Pump-RPM': '600', 'Priming-Enabled': 'yes', 'Vsp-Low-Pump-Speed': '50', 'Vsp-Medium-Pump-Speed': '70', 'Vsp-High-Pump-Speed': '90', 'Vsp-Custom-Pump-Speed': '80', 'Freeze-Protect-Override-Interval': '7200'}, 'Sensor': [{'System-Id': '11', 'Name': 'Water Temp', 'Type': 'SENSOR_WATER_TEMP', 'Units': 'UNITS_FAHRENHEIT'}, {'System-Id': '28', 'Name': 'Flow Switch', 'Type': 'SENSOR_FLOW', 'Units': 'UNITS_ACTIVE_INACTIVE'}, {'System-Id': '65', 'Name': 'SolarSensor', 'Type': 'SENSOR_SOLAR_TEMP', 'Units': 'UNITS_FAHRENHEIT'}], 'Pump': {'System-Id': '14', 'Name': 'Jets', 'Type': 'PMP_SINGLE_SPEED', 'Function': 'PMP_JETS', 'Priming-Enabled': 'no', 'Max-Pump-RPM': '3450', 'Min-Pump-RPM': '600', 'Min-Pump-Speed': '18', 'Max-Pump-Speed': '100', 'Vsp-Medium-Pump-Speed': '100', 'Vsp-Custom-Pump-Speed': '100', 'Vsp-High-Pump-Speed': '100', 'Vsp-Low-Pump-Speed': '100'}, 'Heater': {'System-Id': '15', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Enabled': 'no', 'Current-Set-Point': '98', 'Max-Water-Temp': '104', 'Min-Settable-Water-Temp': '55', 'Max-Settable-Water-Temp': '104', 'Operation': [{'Heater-Equipment': {'System-Id': '17', 'Name': 'Gas Heater', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_GAS', 'Enabled': 'yes', 'Priority': 'HTR_PRIORITY_1', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'Shared-Equipment-System-ID': '18'}, '#text': 'PEO_HEATER_EQUIPMENT'}, {'Heater-Equipment': {'System-Id': '67', 'Name': 'Chiller', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_CHILLER', 'Enabled': 'no', 'Priority': 'HTR_PRIORITY_2', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'SupportsCooling': 'yes', 'SupportsHeating': 'no', 'Shared-Equipment-System-ID': '66'}, '#text': 'PEO_HEATER_EQUIPMENT'}]}, 'Chlorinator': {'System-Id': '23', 'Name': 'Chlorinator', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Enabled': 'no', 'Mode': 'CHLOR_OP_MODE_TIMED', 'Timed-Percent': '5', 'SuperChlor-Timeout': '24', 'Cell-Type': 'CELL_TYPE_T15', 'Salt-Monitor': 'LOW_SALT', 'Dispenser-Type': 'SALT_DISPENSING', 'Operation': {'Chlorinator-Equipment': {'System-Id': '25', 'Name': 'Chlorinator1', 'Type': 'PET_CHLORINATOR', 'Chlorinator-Type': 'CHLOR_TYPE_MAIN_PANEL', 'Enabled': 'yes'}, '#text': 'PEO_CHLORINATOR_EQUIPMENT'}}, '#text': '02', 'Relays': [], 'Lights': [], 'Heaters': [{'Name': 'Gas Heater', 'System-Id': '15', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Enabled': 'no', 'Current-Set-Point': '98', 'Max-Water-Temp': '104', 'Min-Settable-Water-Temp': '55', 'Max-Settable-Water-Temp': '104', 'Operation': {'Heater-Equipment': {'System-Id': '17', 'Name': 'Gas Heater', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_GAS', 'Enabled': 'yes', 'Priority': 'HTR_PRIORITY_1', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'Shared-Equipment-System-ID': '18'}, '#text': 'PEO_HEATER_EQUIPMENT'}}, {'Name': 'Chiller', 'System-Id': '15', 'Shared-Type': 'BOW_SHARED_EQUIPMENT', 'Enabled': 'no', 'Current-Set-Point': '98', 'Max-Water-Temp': '104', 'Min-Settable-Water-Temp': '55', 'Max-Settable-Water-Temp': '104', 'Operation': {'Heater-Equipment': {'System-Id': '67', 'Name': 'Chiller', 'Type': 'PET_HEATER', 'Heater-Type': 'HTR_CHILLER', 'Enabled': 'no', 'Priority': 'HTR_PRIORITY_2', 'Run-For-Priority': 'HTR_MAINTAINS_PRIORITY_FOR_NEVER', 'SupportsCooling': 'yes', 'SupportsHeating': 'no', 'Shared-Equipment-System-ID': '66'}, '#text': 'PEO_HEATER_EQUIPMENT'}}]}]}, 'Schedules': {'sche': [{'bow-system-id': '2', 'equipment-id': '19', 'schedule-system-id': '29', 'event': '164', 'data': '100', 'enabled': '0', 'start-minute': '30', 'start-hour': '8', 'end-minute': '25', 'end-hour': '10', 'days-active': '53', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '22', 'schedule-system-id': '30', 'event': '164', 'data': '26', 'enabled': '1', 'start-minute': '0', 'start-hour': '7', 'end-minute': '0', 'end-hour': '19', 'days-active': '127', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '3', 'schedule-system-id': '33', 'event': '164', 'data': '90', 'enabled': '1', 'start-minute': '0', 'start-hour': '7', 'end-minute': '0', 'end-hour': '8', 'days-active': '127', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '3', 'schedule-system-id': '34', 'event': '164', 'data': '35', 'enabled': '1', 'start-minute': '0', 'start-hour': '8', 'end-minute': '0', 'end-hour': '11', 'days-active': '127', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '3', 'schedule-system-id': '35', 'event': '164', 'data': '35', 'enabled': '1', 'start-minute': '0', 'start-hour': '11', 'end-minute': '0', 'end-hour': '15', 'days-active': '127', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '3', 'schedule-system-id': '36', 'event': '164', 'data': '35', 'enabled': '1', 'start-minute': '0', 'start-hour': '15', 'end-minute': '0', 'end-hour': '18', 'days-active': '127', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '5', 'schedule-system-id': '39', 'event': '164', 'data': '263171', 'enabled': '0', 'start-minute': '20', 'start-hour': '20', 'end-minute': '30', 'end-hour': '21', 'days-active': '79', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '4', 'schedule-system-id': '40', 'event': '164', 'data': '100', 'enabled': '0', 'start-minute': '0', 'start-hour': '21', 'end-minute': '10', 'end-hour': '21', 'days-active': '127', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '4', 'schedule-system-id': '41', 'event': '164', 'data': '100', 'enabled': '0', 'start-minute': '0', 'start-hour': '0', 'end-minute': '10', 'end-hour': '0', 'days-active': '127', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '4', 'schedule-system-id': '42', 'event': '164', 'data': '100', 'enabled': '0', 'start-minute': '0', 'start-hour': '3', 'end-minute': '10', 'end-hour': '3', 'days-active': '127', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '4', 'schedule-system-id': '43', 'event': '164', 'data': '100', 'enabled': '0', 'start-minute': '30', 'start-hour': '5', 'end-minute': '40', 'end-hour': '5', 'days-active': '127', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '5', 'schedule-system-id': '46', 'event': '164', 'data': '263171', 'enabled': '0', 'start-minute': '20', 'start-hour': '20', 'end-minute': '45', 'end-hour': '21', 'days-active': '48', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '3', 'schedule-system-id': '50', 'event': '164', 'data': '35', 'enabled': '1', 'start-minute': '0', 'start-hour': '18', 'end-minute': '0', 'end-hour': '19', 'days-active': '127', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '3', 'schedule-system-id': '51', 'event': '164', 'data': '65', 'enabled': '0', 'start-minute': '0', 'start-hour': '19', 'end-minute': '0', 'end-hour': '7', 'days-active': '127', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '5', 'schedule-system-id': '52', 'event': '164', 'data': '3', 'enabled': '0', 'start-minute': '0', 'start-hour': '6', 'end-minute': '30', 'end-hour': '6', 'days-active': '31', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '5', 'schedule-system-id': '53', 'event': '164', 'data': '3', 'enabled': '0', 'start-minute': '0', 'start-hour': '6', 'end-minute': '30', 'end-hour': '6', 'days-active': '96', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '22', 'schedule-system-id': '58', 'event': '164', 'data': '1', 'enabled': '1', 'start-minute': '0', 'start-hour': '19', 'end-minute': '0', 'end-hour': '7', 'days-active': '127', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '16', 'schedule-system-id': '70', 'event': '164', 'data': '79701', 'enabled': '1', 'start-minute': '0', 'start-hour': '8', 'end-minute': '0', 'end-hour': '11', 'days-active': '127', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '16', 'schedule-system-id': '71', 'event': '164', 'data': '79702', 'enabled': '1', 'start-minute': '0', 'start-hour': '11', 'end-minute': '0', 'end-hour': '15', 'days-active': '127', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '16', 'schedule-system-id': '73', 'event': '164', 'data': '79702', 'enabled': '1', 'start-minute': '0', 'start-hour': '15', 'end-minute': '0', 'end-hour': '19', 'days-active': '127', 'recurring': '1'}, {'bow-system-id': '2', 'equipment-id': '16', 'schedule-system-id': '74', 'event': '164', 'data': '79700', 'enabled': '0', 'start-minute': '0', 'start-hour': '19', 'end-minute': '0', 'end-hour': '7', 'days-active': '127', 'recurring': '1'}]}, 'Favorites': {'Favorite': [{'System-Id': '20', 'Index-Id': '1', 'EquipmentID-Or-ThemeID': '5', 'Sequence': '0', 'Data': '3', 'SimpleModeEnabled': '1'}, {'System-Id': '47', 'Index-Id': '2', 'EquipmentID-Or-ThemeID': '4', 'Sequence': '1', 'Data': '0', 'SimpleModeEnabled': '1'}, {'System-Id': '48', 'Index-Id': '3', 'EquipmentID-Or-ThemeID': '19', 'Sequence': '2', 'Data': '0', 'SimpleModeEnabled': '1'}, {'System-Id': '49', 'Index-Id': '4', 'EquipmentID-Or-ThemeID': '14', 'Sequence': '3', 'Data': '0', 'SimpleModeEnabled': '1'}, {'System-Id': '68', 'Index-Id': '5', 'EquipmentID-Or-ThemeID': '16', 'Sequence': '4', 'Data': '0', 'SimpleModeEnabled': '1'}, {'System-Id': '72', 'Index-Id': '6', 'EquipmentID-Or-ThemeID': '5', 'Sequence': '5', 'Data': '14', 'SimpleModeEnabled': '1'}]}, 'MspSystemID': REDACTED, 'BackyardName': 'REDACTED', 'Relays': []}]

djtimca commented 1 year ago

The air temp sensor is definitely not coming through in the telemetry. I'm interested in the errors you got on the replit and changes you had to make to make it work - that might help point me in the right direction. Can you point me to your version?

twillux commented 1 year ago

The air temp sensor is definitely not coming through in the telemetry. I'm interested in the errors you got on the replit and changes you had to make to make it work - that might help point me in the right direction. Can you point me to your version?

I must have transposed the functions to my local desktop incorrectly; apologies for the confusion. I was able to get this to run with the Replit Omnilogic module, using the test functions get_msp_config_test_file and get_telemetry_data. Below are the results, and I do see the AirTemp in the telemetry:

Telemetry XML: <STATUS version="1.0"><Backyard systemId="REDACTED" statusVersion="9" airTemp="82" status="1" state="1" configUpdatedTime="2022-08-01T21:48:14.243Z" datetime="2022-08-04T17:25:17.3289999" /><BodyOfWater systemId="2" flow="1" waterTemp="84" /><Filter systemId="3" valvePosition="1" filterSpeed="35" filterState="1" lastSpeed="65" /><VirtualHeater systemId="16" Current-Set-Point="87" enable="yes" /><Heater systemId="18" heaterState="0" enable="no" /><Heater systemId="66" heaterState="0" enable="yes" /><Chlorinator systemId="22" operatingMode="1" Timed-Percent="25" scMode="0" chlrError="0" chlrAlert="0" avgSaltLevel="3218" instantSaltLevel="2892" status="64" /><Pump systemId="4" pumpState="0" pumpSpeed="0" lastSpeed="100" /><Pump systemId="19" pumpState="0" pumpSpeed="0" lastSpeed="100" /><ColorLogic-Light systemId="5" lightState="0" currentShow="3" /><CSAD systemId="0" ph="" orp="" status="0" mode="0" /><BodyOfWater systemId="8" flow="1" waterTemp="-1" /><Filter systemId="10" valvePosition="1" filterSpeed="0" filterState="0" lastSpeed="50" /><VirtualHeater systemId="15" Current-Set-Point="98" enable="no" /><Heater systemId="17" heaterState="0" enable="yes" /><Heater systemId="67" heaterState="0" enable="no" /><Chlorinator systemId="23" operatingMode="1" Timed-Percent="0" scMode="0" chlrError="0" chlrAlert="0" avgSaltLevel="0" instantSaltLevel="0" status="0" /><Pump systemId="14" pumpState="0" pumpSpeed="0" lastSpeed="100" /><CSAD systemId="0" ph="" orp="" status="0" mode="0" /></STATUS>

MSP Config XML: 'RPM12 Hour FormatStandardSaltEnglishstandardYesYesYesYes

    MSP Configuration

    <System-Id>0</System-Id><Name>Backyard</Name><Service-Mode-Timeout>0</Service-Mode-Timeout><Sensor><System-Id>6</System-Id><Name>Air Temp</Name><Type>SENSOR_AIR_TEMP</Type><Units>UNITS_FAHRENHEIT</Units></Sensor><Sensor><System-Id>38</System-Id><Name>Generator</Name><Type>SENSOR_EXT_INPUT</Type><Units>UNITS_FAHRENHEIT</Units></Sensor><Sensor><System-Id>59</System-Id><Name>Chiller Temp</Name><Type>SENSOR_WATER_TEMP</Type><Units>UNITS_FAHRENHEIT</Units></Sensor><Body-of-water>

        01

        <System-Id>2</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>yes</Supports-Spillover><Size-In-Gallons>11500</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>yes</Priming-Enabled><Vsp-Low-Pump-Speed>35</Vsp-Low-Pump-Speed><Vsp-Medium-Pump-Speed>65</Vsp-Medium-Pump-Speed><Vsp-High-Pump-Speed>90</Vsp-High-Pump-Speed><Vsp-Custom-Pump-Speed>65</Vsp-Custom-Pump-Speed><Freeze-Protect-Override-Interval>7200</Freeze-Protect-Override-Interval></Filter><Pump><System-Id>4</System-Id><Name>Waterfall</Name><Type>PMP_SINGLE_SPEED</Type><Function>PMP_WATERFALL</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>100</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>100</Vsp-Low-Pump-Speed></Pump><ColorLogic-Light><System-Id>5</System-Id><Name>Lights</Name><Type>COLOR_LOGIC_UCL</Type></ColorLogic-Light><Sensor><System-Id>7</System-Id><Name>Water Temp</Name><Type>SENSOR_WATER_TEMP</Type><Units>UNITS_FAHRENHEIT</Units></Sensor><Heater><System-Id>16</System-Id><Shared-Type>BOW_SHARED_EQUIPMENT</Shared-Type><Enabled>no</Enabled><Mode>HTR_MODE_COOLING</Mode><Current-Set-Point>85</Current-Set-Point><Max-Water-Temp>104</Max-Water-Temp><Min-Settable-Water-Temp>55</Min-Settable-Water-Temp><Max-Settable-Water-Temp>104</Max-Settable-Water-Temp><External-Interlock>

                1

                <External-Interlock-Enable>yes</External-Interlock-Enable><External-Interlock-Source>ILK_SOURCE_PUMP</External-Interlock-Source><External-Interlock-Source-System-Id>19</External-Interlock-Source-System-Id><External-Interlock-Compare-Type>ILK_COMPARE_EQUAL_TO</External-Interlock-Compare-Type><External-Interlock-ActiveLevel>1</External-Interlock-ActiveLevel><External-Interlock-ActionState>0</External-Interlock-ActionState></External-Interlock><Operation>

                PEO_HEATER_EQUIPMENT

                <Heater-Equipment><System-Id>18</System-Id><Name>Gas Heater</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_NEVER</Run-For-Priority><Shared-Equipment-System-ID>17</Shared-Equipment-System-ID></Heater-Equipment></Operation><Operation>

                PEO_HEATER_EQUIPMENT

                <Heater-Equipment><System-Id>66</System-Id><Name>Chiller</Name><Type>PET_HEATER</Type><Heater-Type>HTR_CHILLER</Heater-Type><Enabled>yes</Enabled><Priority>HTR_PRIORITY_1</Priority><Run-For-Priority>HTR_MAINTAINS_PRIORITY_FOR_NEVER</Run-For-Priority><SupportsCooling>yes</SupportsCooling><SupportsHeating>no</SupportsHeating><Shared-Equipment-System-ID>67</Shared-Equipment-System-ID></Heater-Equipment></Operation></Heater><Pump><System-Id>19</System-Id><Name>Cleaner</Name><Type>PMP_SINGLE_SPEED</Type><Function>PMP_CLEANER</Function><Priming-Enabled>no</Priming-Enabled><External-Interlock>

                1

                <External-Interlock-Enable>yes</External-Interlock-Enable><External-Interlock-Source>ILK_SOURCE_FILTER</External-Interlock-Source><External-Interlock-Source-System-Id>3</External-Interlock-Source-System-Id><External-Interlock-Compare-Type>ILK_COMPARE_EQUAL_TO</External-Interlock-Compare-Type><External-Interlock-ActiveLevel>0</External-Interlock-ActiveLevel><External-Interlock-ActionState>0</External-Interlock-ActionState></External-Interlock><External-Interlock>

                2

                <External-Interlock-Enable>yes</External-Interlock-Enable><External-Interlock-Source>ILK_SOURCE_VALVES_SPA</External-Interlock-Source><External-Interlock-Source-System-Id>3</External-Interlock-Source-System-Id><External-Interlock-Compare-Type>ILK_COMPARE_EQUAL_TO</External-Interlock-Compare-Type><External-Interlock-ActiveLevel>1</External-Interlock-ActiveLevel><External-Interlock-ActionState>0</External-Interlock-ActionState></External-Interlock><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>100</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>100</Vsp-Low-Pump-Speed></Pump><Chlorinator><System-Id>22</System-Id><Name>Chlorinator</Name><Shared-Type>BOW_SHARED_EQUIPMENT</Shared-Type><Enabled>yes</Enabled><Mode>CHLOR_OP_MODE_TIMED</Mode><Timed-Percent>25</Timed-Percent><SuperChlor-Timeout>24</SuperChlor-Timeout><Cell-Type>CELL_TYPE_T15</Cell-Type><Salt-Monitor>LOW_SALT</Salt-Monitor><Dispenser-Type>SALT_DISPENSING</Dispenser-Type><Operation>

                PEO_CHLORINATOR_EQUIPMENT

                <Chlorinator-Equipment><System-Id>24</System-Id><Name>Chlorinator1</Name><Type>PET_CHLORINATOR</Type><Chlorinator-Type>CHLOR_TYPE_MAIN_PANEL</Chlorinator-Type><Enabled>yes</Enabled></Chlorinator-Equipment></Operation></Chlorinator><Sensor><System-Id>27</System-Id><Name>Flow Switch</Name><Type>SENSOR_FLOW</Type><Units>UNITS_ACTIVE_INACTIVE</Units></Sensor></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>2</Shared-Equipment-System-ID><Supports-Spillover>yes</Supports-Spillover><Size-In-Gallons>500</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>yes</Priming-Enabled><Vsp-Low-Pump-Speed>50</Vsp-Low-Pump-Speed><Vsp-Medium-Pump-Speed>70</Vsp-Medium-Pump-Speed><Vsp-High-Pump-Speed>90</Vsp-High-Pump-Speed><Vsp-Custom-Pump-Speed>80</Vsp-Custom-Pump-Speed><Freeze-Protect-Override-Interval>7200</Freeze-Protect-Override-Interval></Filter><Sensor><System-Id>11</System-Id><Name>Water Temp</Name><Type>SENSOR_WATER_TEMP</Type><Units>UNITS_FAHRENHEIT</Units></Sensor><Pump><System-Id>14</System-Id><Name>Jets</Name><Type>PMP_SINGLE_SPEED</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>100</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>100</Vsp-Low-Pump-Speed></Pump><Heater><System-Id>15</System-Id><Shared-Type>BOW_SHARED_EQUIPMENT</Shared-Type><Enabled>no</Enabled><Current-Set-Point>98</Current-Set-Point><Max-Water-Temp>104</Max-Water-Temp><Min-Settable-Water-Temp>55</Min-Settable-Water-Temp><Max-Settable-Water-Temp>104</Max-Settable-Water-Temp><Operation>

                PEO_HEATER_EQUIPMENT

                <Heater-Equipment><System-Id>17</System-Id><Name>Gas Heater</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_NEVER</Run-For-Priority><Shared-Equipment-System-ID>18</Shared-Equipment-System-ID></Heater-Equipment></Operation><Operation>

                PEO_HEATER_EQUIPMENT

                <Heater-Equipment><System-Id>67</System-Id><Name>Chiller</Name><Type>PET_HEATER</Type><Heater-Type>HTR_CHILLER</Heater-Type><Enabled>no</Enabled><Priority>HTR_PRIORITY_2</Priority><Run-For-Priority>HTR_MAINTAINS_PRIORITY_FOR_NEVER</Run-For-Priority><SupportsCooling>yes</SupportsCooling><SupportsHeating>no</SupportsHeating><Shared-Equipment-System-ID>66</Shared-Equipment-System-ID></Heater-Equipment></Operation></Heater><Chlorinator><System-Id>23</System-Id><Name>Chlorinator</Name><Shared-Type>BOW_SHARED_EQUIPMENT</Shared-Type><Enabled>no</Enabled><Mode>CHLOR_OP_MODE_TIMED</Mode><Timed-Percent>5</Timed-Percent><SuperChlor-Timeout>24</SuperChlor-Timeout><Cell-Type>CELL_TYPE_T15</Cell-Type><Salt-Monitor>LOW_SALT</Salt-Monitor><Dispenser-Type>SALT_DISPENSING</Dispenser-Type><Operation>

                PEO_CHLORINATOR_EQUIPMENT

                <Chlorinator-Equipment><System-Id>25</System-Id><Name>Chlorinator1</Name><Type>PET_CHLORINATOR</Type><Chlorinator-Type>CHLOR_TYPE_MAIN_PANEL</Chlorinator-Type><Enabled>yes</Enabled></Chlorinator-Equipment></Operation></Chlorinator><Sensor><System-Id>28</System-Id><Name>Flow Switch</Name><Type>SENSOR_FLOW</Type><Units>UNITS_ACTIVE_INACTIVE</Units></Sensor><Sensor><System-Id>65</System-Id><Name>SolarSensor</Name><Type>SENSOR_SOLAR_TEMP</Type><Units>UNITS_FAHRENHEIT</Units></Sensor></Body-of-water></Backyard><Schedules><sche><bow-system-id>2</bow-system-id><equipment-id>19</equipment-id><schedule-system-id>29</schedule-system-id><event>164</event><data>100</data><enabled>0</enabled><start-minute>30</start-minute><start-hour>8</start-hour><end-minute>25</end-minute><end-hour>10</end-hour><days-active>53</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>22</equipment-id><schedule-system-id>30</schedule-system-id><event>164</event><data>26</data><enabled>1</enabled><start-minute>0</start-minute><start-hour>7</start-hour><end-minute>0</end-minute><end-hour>19</end-hour><days-active>127</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>3</equipment-id><schedule-system-id>33</schedule-system-id><event>164</event><data>90</data><enabled>1</enabled><start-minute>0</start-minute><start-hour>7</start-hour><end-minute>0</end-minute><end-hour>8</end-hour><days-active>127</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>3</equipment-id><schedule-system-id>34</schedule-system-id><event>164</event><data>35</data><enabled>1</enabled><start-minute>0</start-minute><start-hour>8</start-hour><end-minute>0</end-minute><end-hour>11</end-hour><days-active>127</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>3</equipment-id><schedule-system-id>35</schedule-system-id><event>164</event><data>35</data><enabled>1</enabled><start-minute>0</start-minute><start-hour>11</start-hour><end-minute>0</end-minute><end-hour>15</end-hour><days-active>127</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>3</equipment-id><schedule-system-id>36</schedule-system-id><event>164</event><data>35</data><enabled>1</enabled><start-minute>0</start-minute><start-hour>15</start-hour><end-minute>0</end-minute><end-hour>18</end-hour><days-active>127</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>5</equipment-id><schedule-system-id>39</schedule-system-id><event>164</event><data>263171</data><enabled>0</enabled><start-minute>20</start-minute><start-hour>20</start-hour><end-minute>30</end-minute><end-hour>21</end-hour><days-active>79</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>4</equipment-id><schedule-system-id>40</schedule-system-id><event>164</event><data>100</data><enabled>0</enabled><start-minute>0</start-minute><start-hour>21</start-hour><end-minute>10</end-minute><end-hour>21</end-hour><days-active>127</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>4</equipment-id><schedule-system-id>41</schedule-system-id><event>164</event><data>100</data><enabled>0</enabled><start-minute>0</start-minute><start-hour>0</start-hour><end-minute>10</end-minute><end-hour>0</end-hour><days-active>127</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>4</equipment-id><schedule-system-id>42</schedule-system-id><event>164</event><data>100</data><enabled>0</enabled><start-minute>0</start-minute><start-hour>3</start-hour><end-minute>10</end-minute><end-hour>3</end-hour><days-active>127</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>4</equipment-id><schedule-system-id>43</schedule-system-id><event>164</event><data>100</data><enabled>0</enabled><start-minute>30</start-minute><start-hour>5</start-hour><end-minute>40</end-minute><end-hour>5</end-hour><days-active>127</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>5</equipment-id><schedule-system-id>46</schedule-system-id><event>164</event><data>263171</data><enabled>0</enabled><start-minute>20</start-minute><start-hour>20</start-hour><end-minute>45</end-minute><end-hour>21</end-hour><days-active>48</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>3</equipment-id><schedule-system-id>50</schedule-system-id><event>164</event><data>35</data><enabled>1</enabled><start-minute>0</start-minute><start-hour>18</start-hour><end-minute>0</end-minute><end-hour>19</end-hour><days-active>127</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>3</equipment-id><schedule-system-id>51</schedule-system-id><event>164</event><data>65</data><enabled>0</enabled><start-minute>0</start-minute><start-hour>19</start-hour><end-minute>0</end-minute><end-hour>7</end-hour><days-active>127</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>5</equipment-id><schedule-system-id>52</schedule-system-id><event>164</event><data>3</data><enabled>0</enabled><start-minute>0</start-minute><start-hour>6</start-hour><end-minute>30</end-minute><end-hour>6</end-hour><days-active>31</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>5</equipment-id><schedule-system-id>53</schedule-system-id><event>164</event><data>3</data><enabled>0</enabled><start-minute>0</start-minute><start-hour>6</start-hour><end-minute>30</end-minute><end-hour>6</end-hour><days-active>96</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>22</equipment-id><schedule-system-id>58</schedule-system-id><event>164</event><data>1</data><enabled>1</enabled><start-minute>0</start-minute><start-hour>19</start-hour><end-minute>0</end-minute><end-hour>7</end-hour><days-active>127</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>16</equipment-id><schedule-system-id>70</schedule-system-id><event>164</event><data>79701</data><enabled>1</enabled><start-minute>0</start-minute><start-hour>8</start-hour><end-minute>0</end-minute><end-hour>11</end-hour><days-active>127</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>16</equipment-id><schedule-system-id>71</schedule-system-id><event>164</event><data>79702</data><enabled>1</enabled><start-minute>0</start-minute><start-hour>11</start-hour><end-minute>0</end-minute><end-hour>15</end-hour><days-active>127</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>16</equipment-id><schedule-system-id>73</schedule-system-id><event>164</event><data>79703</data><enabled>1</enabled><start-minute>0</start-minute><start-hour>15</start-hour><end-minute>0</end-minute><end-hour>19</end-hour><days-active>127</days-active><recurring>1</recurring></sche><sche><bow-system-id>2</bow-system-id><equipment-id>16</equipment-id><schedule-system-id>74</schedule-system-id><event>164</event><data>79700</data><enabled>0</enabled><start-minute>0</start-minute><start-hour>19</start-hour><end-minute>0</end-minute><end-hour>7</end-hour><days-active>127</days-active><recurring>1</recurring></sche></Schedules><Favorites><Favorite><System-Id>20</System-Id><Index-Id>1</Index-Id><EquipmentID-Or-ThemeID>5</EquipmentID-Or-ThemeID><Sequence>0</Sequence><Data>3</Data><SimpleModeEnabled>1</SimpleModeEnabled></Favorite><Favorite><System-Id>47</System-Id><Index-Id>2</Index-Id><EquipmentID-Or-ThemeID>4</EquipmentID-Or-ThemeID><Sequence>1</Sequence><Data>0</Data><SimpleModeEnabled>1</SimpleModeEnabled></Favorite><Favorite><System-Id>48</System-Id><Index-Id>3</Index-Id><EquipmentID-Or-ThemeID>19</EquipmentID-Or-ThemeID><Sequence>2</Sequence><Data>0</Data><SimpleModeEnabled>1</SimpleModeEnabled></Favorite><Favorite><System-Id>49</System-Id><Index-Id>4</Index-Id><EquipmentID-Or-ThemeID>14</EquipmentID-Or-ThemeID><Sequence>3</Sequence><Data>0</Data><SimpleModeEnabled>1</SimpleModeEnabled></Favorite><Favorite><System-Id>68</System-Id><Index-Id>5</Index-Id><EquipmentID-Or-ThemeID>16</EquipmentID-Or-ThemeID><Sequence>4</Sequence><Data>0</Data><SimpleModeEnabled>1</SimpleModeEnabled></Favorite><Favorite><System-Id>72</System-Id><Index-Id>6</Index-Id><EquipmentID-Or-ThemeID>5</EquipmentID-Or-ThemeID><Sequence>5</Sequence><Data>14</Data><SimpleModeEnabled>1</SimpleModeEnabled></Favorite></Favorites></MSPConfig><MSPAPI version="0.4" latestversion="0.4"><Device-APIs><API System-Id="2" OpType="ON_OFF" ref="SetUISpilloverCmd" EquipmentID="API::NA" /><API System-Id="3" OpType="ON_OFF" ref="SetUIEquipmentCmd" EquipmentID="3" IsOn="API::STATUS::Filter::filterSpeed" /><API System-Id="16" OpType="ON_OFF" ref="SetHeaterEnable" HeaterID="16" /><API System-Id="16" OpType="SETPOINT" ref="SetUIHeaterCmd" HeaterID="16" Temp="API::STATUS::VirtualHeater::Current-Set-Point" /><API System-Id="22" OpType="ON_OFF" ref="SetCHLOREnable" Enabled="API::CONFIG::Chlorinator::Enabled" /><API System-Id="22" OpType="CHL_PARAMETERS" ref="SetCHLORParams" ChlorID="22" OpMode="API::CONFIG::Chlorinator::Mode" CellType="API::CONFIG::Chlorinator::Cell-Type" TimedPercent="API::CONFIG::Chlorinator::Timed-Percent" SCTimeout="API::CONFIG::Chlorinator::SuperChlor-Timeout" ORPTimout="API::CONFIG::Chlorinator::ORPTimout" /><API System-Id="4" OpType="ON_OFF_SETPOINT" ref="SetUIEquipmentCmd" EquipmentID="4" IsOn="API::STATUS::Pump::pumpSpeed" /><API System-Id="19" OpType="ON_OFF_SETPOINT" ref="SetUIEquipmentCmd" EquipmentID="19" IsOn="API::STATUS::Pump::pumpSpeed" /><API System-Id="5" OpType="ON_OFF" ref="SetUIEquipmentCmd" EquipmentID="5" IsOn="API::STATUS::ColorLogic-Light::lightState" /><API System-Id="5" OpType="ON_SETPOINT" ref="SetStandAloneLightShowV2" LightID="5" 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="15" OpType="ON_OFF" ref="SetHeaterEnable" HeaterID="15" /><API System-Id="15" OpType="SETPOINT" ref="SetUIHeaterCmd" HeaterID="15" Temp="API::STATUS::VirtualHeater::Current-Set-Point" /><API System-Id="23" OpType="ON_OFF" ref="SetCHLOREnable" Enabled="API::CONFIG::Chlorinator::Enabled" /><API System-Id="23" OpType="CHL_PARAMETERS" ref="SetCHLORParams" ChlorID="23" OpMode="API::CONFIG::Chlorinator::Mode" CellType="API::CONFIG::Chlorinator::Cell-Type" TimedPercent="API::CONFIG::Chlorinator::Timed-Percent" SCTimeout="API::CONFIG::Chlorinator::SuperChlor-Timeout" ORPTimout="API::CONFIG::Chlorinator::ORPTimout" /><API System-Id="14" OpType="ON_OFF_SETPOINT" ref="SetUIEquipmentCmd" EquipmentID="14" IsOn="API::STATUS::Pump::pumpSpeed" /><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="2" ref="SetUISpilloverCmd" OpType="ON_OFF" EquipmentID="2" /><API Favorite-Id="3" ref="SetUIEquipmentCmd" OpType="ON_OFF" EquipmentID="3" IsOn="API::STATUS::Filter::filterState" /><API Favorite-Id="16" ref="API::GOTOFEATURE" /><API Favorite-Id="2" ref="SetHeaterEnable" HeaterID="16" /><API Favorite-Id="22" ref="SetCHLORParams" OpType="CHL_PARAMETERS" ChlorID="22" OpMode="API::CONFIG::Chlorinator::Mode" CellType="API::CONFIG::Chlorinator::Cell-Type" TimedPercent="API::CONFIG::Chlorinator::Timed-Percent" SCTimeout="API::CONFIG::Chlorinator::SuperChlor-Timeout" ORPTimout="API::CONFIG::Chlorinator::ORPTimout" /><API Favorite-Id="22" ref="API::GOTOFEATURE" /><API Favorite-Id="4" ref="SetUIEquipmentCmd" OpType="ON_OFF" EquipmentID="4" /><API Favorite-Id="19" ref="SetUIEquipmentCmd" OpType="ON_OFF" EquipmentID="19" /><API Favorite-Id="5" ref="SetStandAloneLightShowV2" OpType="ON_SETPOINT" LightID="5" 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="15" ref="API::GOTOFEATURE" /><API Favorite-Id="8" ref="SetHeaterEnable" HeaterID="15" /><API Favorite-Id="23" ref="SetCHLORParams" OpType="CHL_PARAMETERS" ChlorID="23" OpMode="API::CONFIG::Chlorinator::Mode" CellType="API::CONFIG::Chlorinator::Cell-Type" TimedPercent="API::CONFIG::Chlorinator::Timed-Percent" SCTimeout="API::CONFIG::Chlorinator::SuperChlor-Timeout" ORPTimout="API::CONFIG::Chlorinator::ORPTimout" /><API Favorite-Id="23" ref="API::GOTOFEATURE" /><API Favorite-Id="14" ref="SetUIEquipmentCmd" OpType="ON_OFF" EquipmentID="14" /><API Favorite-Id="0" ref="API::GOTOFEATURE" /></Favorite-APIs><Schedule-APIs><API System-Id="2" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleCmd" EquipmentID="2" Data="API::STATUS::Filter::filterSpeed" ActionID="311" /><API System-Id="2" OpType="EDIT_SCHEDULE" ref="EditUIScheduleCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Data="API::STATUS::Filter::filterSpeed" ActionID="311" /><API System-Id="2" 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="16" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleCmd" EquipmentID="16" Data="API::STATUS::VirtualHeater::Current-Set-Point" ActionID="315" /><API System-Id="16" OpType="EDIT_SCHEDULE" ref="EditUIScheduleCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Data="API::STATUS::VirtualHeater::Current-Set-Point" ActionID="315" /><API System-Id="16" OpType="REMOVE_SCHEDULE" ref="DeleteUIScheduleCmd" ScheduleSystemID="API::CONFIG::sche::schedule-system-id" /><API System-Id="22" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleCmd" EquipmentID="22" Data="API::CONFIG::Chlorinator::Timed-Percent" ActionID="164" /><API System-Id="22" OpType="EDIT_SCHEDULE" ref="EditUIScheduleCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Data="API::CONFIG::Chlorinator::Timed-Percent" ActionID="164" /><API System-Id="22" 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::Pump::pumpSpeed" ActionID="164" /><API System-Id="4" OpType="EDIT_SCHEDULE" ref="EditUIScheduleCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Data="API::STATUS::Pump::pumpSpeed" ActionID="164" /><API System-Id="4" OpType="REMOVE_SCHEDULE" ref="DeleteUIScheduleCmd" ScheduleSystemID="API::CONFIG::sche::schedule-system-id" /><API System-Id="19" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleCmd" EquipmentID="19" Data="API::STATUS::Pump::pumpSpeed" ActionID="164" /><API System-Id="19" OpType="EDIT_SCHEDULE" ref="EditUIScheduleCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Data="API::STATUS::Pump::pumpSpeed" ActionID="164" /><API System-Id="19" OpType="REMOVE_SCHEDULE" ref="DeleteUIScheduleCmd" ScheduleSystemID="API::CONFIG::sche::schedule-system-id" /><API System-Id="5" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleAltCmd" EquipmentID="5" 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="5" 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="5" 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="15" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleCmd" EquipmentID="15" Data="API::STATUS::VirtualHeater::Current-Set-Point" ActionID="315" /><API System-Id="15" OpType="EDIT_SCHEDULE" ref="EditUIScheduleCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Data="API::STATUS::VirtualHeater::Current-Set-Point" ActionID="315" /><API System-Id="15" OpType="REMOVE_SCHEDULE" ref="DeleteUIScheduleCmd" ScheduleSystemID="API::CONFIG::sche::schedule-system-id" /><API System-Id="23" OpType="CREATE_SCHEDULE" ref="CreateUIScheduleCmd" EquipmentID="23" Data="API::CONFIG::Chlorinator::Timed-Percent" ActionID="164" /><API System-Id="23" OpType="EDIT_SCHEDULE" ref="EditUIScheduleCmd" EquipmentID="API::CONFIG::sche::schedule-system-id" Data="API::CONFIG::Chlorinator::Timed-Percent" ActionID="164" /><API System-Id="23" 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" /></Schedule-APIs></MSPAPI></Response>`
twillux commented 1 year ago

Took a peek at the code and realized why my Air Temp sensor has been missing: the OmniLogic allows you to rename sensors, and I had renamed the sensor to “Air Temp”. However, the code looks for the default name of “AirSensor” to determine if one is present. I set the configuration back to the default, and the air temp is now coming in properly.