Add support for Inverter Pool Heat Pump (InverGo) (#169606)

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
This commit is contained in:
Thomas Bouron
2026-05-12 16:26:08 +02:00
committed by GitHub
co-authored by epenet
parent 891e0aebb0
commit 09a08011d6
6 changed files with 430 additions and 0 deletions
@@ -9785,6 +9785,60 @@
'state': '45.0',
})
# ---
# name: test_platform_setup_and_discovery[sensor.hot_water_heat_pump_compressor_strength-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.hot_water_heat_pump_compressor_strength',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Compressor strength',
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Compressor strength',
'platform': 'tuya',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'compressor_strength',
'unique_id': 'tuya.ol8xwtcj42eg18bdbrnzcompressor_strength',
'unit_of_measurement': '℃',
})
# ---
# name: test_platform_setup_and_discovery[sensor.hot_water_heat_pump_compressor_strength-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Hot Water Heat Pump Compressor strength',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': '℃',
}),
'context': <ANY>,
'entity_id': 'sensor.hot_water_heat_pump_compressor_strength',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '23.0',
})
# ---
# name: test_platform_setup_and_discovery[sensor.hot_water_heat_pump_temperature-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
@@ -11294,6 +11348,276 @@
'state': 'unavailable',
})
# ---
# name: test_platform_setup_and_discovery[sensor.inverter_pool_heat_pump_coil_temperature-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.inverter_pool_heat_pump_coil_temperature',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Coil temperature',
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Coil temperature',
'platform': 'tuya',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'coil_temperature',
'unique_id': 'tuya.zuqudhznfzttizpgbrnztemp_coiler',
'unit_of_measurement': '',
})
# ---
# name: test_platform_setup_and_discovery[sensor.inverter_pool_heat_pump_coil_temperature-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Inverter Pool Heat Pump Coil temperature',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': '',
}),
'context': <ANY>,
'entity_id': 'sensor.inverter_pool_heat_pump_coil_temperature',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
})
# ---
# name: test_platform_setup_and_discovery[sensor.inverter_pool_heat_pump_compressor_strength-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.inverter_pool_heat_pump_compressor_strength',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Compressor strength',
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Compressor strength',
'platform': 'tuya',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'compressor_strength',
'unique_id': 'tuya.zuqudhznfzttizpgbrnzcompressor_strength',
'unit_of_measurement': '%',
})
# ---
# name: test_platform_setup_and_discovery[sensor.inverter_pool_heat_pump_compressor_strength-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Inverter Pool Heat Pump Compressor strength',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.inverter_pool_heat_pump_compressor_strength',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '100.0',
})
# ---
# name: test_platform_setup_and_discovery[sensor.inverter_pool_heat_pump_flow_temperature-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.inverter_pool_heat_pump_flow_temperature',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Flow temperature',
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Flow temperature',
'platform': 'tuya',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'flow_temperature',
'unique_id': 'tuya.zuqudhznfzttizpgbrnztemp_effluent',
'unit_of_measurement': '',
})
# ---
# name: test_platform_setup_and_discovery[sensor.inverter_pool_heat_pump_flow_temperature-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Inverter Pool Heat Pump Flow temperature',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': '',
}),
'context': <ANY>,
'entity_id': 'sensor.inverter_pool_heat_pump_flow_temperature',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '27.0',
})
# ---
# name: test_platform_setup_and_discovery[sensor.inverter_pool_heat_pump_heat_exchanger_temperature-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.inverter_pool_heat_pump_heat_exchanger_temperature',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Heat exchanger temperature',
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Heat exchanger temperature',
'platform': 'tuya',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'heat_exchanger_temperature',
'unique_id': 'tuya.zuqudhznfzttizpgbrnztemp_venting',
'unit_of_measurement': '',
})
# ---
# name: test_platform_setup_and_discovery[sensor.inverter_pool_heat_pump_heat_exchanger_temperature-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Inverter Pool Heat Pump Heat exchanger temperature',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': '',
}),
'context': <ANY>,
'entity_id': 'sensor.inverter_pool_heat_pump_heat_exchanger_temperature',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '79.0',
})
# ---
# name: test_platform_setup_and_discovery[sensor.inverter_pool_heat_pump_outside_temperature-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.inverter_pool_heat_pump_outside_temperature',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Outside temperature',
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Outside temperature',
'platform': 'tuya',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'outside_temperature',
'unique_id': 'tuya.zuqudhznfzttizpgbrnztemp_around',
'unit_of_measurement': '',
})
# ---
# name: test_platform_setup_and_discovery[sensor.inverter_pool_heat_pump_outside_temperature-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Inverter Pool Heat Pump Outside temperature',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': '',
}),
'context': <ANY>,
'entity_id': 'sensor.inverter_pool_heat_pump_outside_temperature',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '14.0',
})
# ---
# name: test_platform_setup_and_discovery[sensor.inverter_pool_heat_pump_temperature-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
@@ -5995,6 +5995,57 @@
'state': 'on',
})
# ---
# name: test_platform_setup_and_discovery[switch.inverter_pool_heat_pump_child_lock-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'switch',
'entity_category': <EntityCategory.CONFIG: 'config'>,
'entity_id': 'switch.inverter_pool_heat_pump_child_lock',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Child lock',
'options': dict({
}),
'original_device_class': None,
'original_icon': 'mdi:account-lock',
'original_name': 'Child lock',
'platform': 'tuya',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'child_lock',
'unique_id': 'tuya.zuqudhznfzttizpgbrnzchild_lock',
'unit_of_measurement': None,
})
# ---
# name: test_platform_setup_and_discovery[switch.inverter_pool_heat_pump_child_lock-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Inverter Pool Heat Pump Child lock',
'icon': 'mdi:account-lock',
}),
'context': <ANY>,
'entity_id': 'switch.inverter_pool_heat_pump_child_lock',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_platform_setup_and_discovery[switch.inverter_pool_heat_pump_switch-entry]
EntityRegistryEntrySnapshot({
'aliases': list([