1
0
mirror of https://github.com/home-assistant/core.git synced 2026-04-02 00:20:30 +01:00

Pooldose additional entities for advanced pooldose device (#165608)

Co-authored-by: Ronald van der Meer <ronald@vandermeer.frl>
Co-authored-by: Erwin Douna <e.douna@gmail.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
This commit is contained in:
Lukas
2026-03-25 12:54:32 +01:00
committed by GitHub
parent bce65d4f35
commit a721d32889
10 changed files with 1478 additions and 41 deletions

View File

@@ -92,6 +92,72 @@ BINARY_SENSOR_DESCRIPTIONS: tuple[BinarySensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
BinarySensorEntityDescription(
key="alarm_ofa2_ph",
translation_key="alarm_ofa_ph_alternative",
device_class=BinarySensorDeviceClass.PROBLEM,
entity_category=EntityCategory.DIAGNOSTIC,
),
BinarySensorEntityDescription(
key="alarm_ofa2_orp",
translation_key="alarm_ofa_orp_alternative",
device_class=BinarySensorDeviceClass.PROBLEM,
entity_category=EntityCategory.DIAGNOSTIC,
),
BinarySensorEntityDescription(
key="alarm_ofa2_cl",
translation_key="alarm_ofa_cl_alternative",
device_class=BinarySensorDeviceClass.PROBLEM,
entity_category=EntityCategory.DIAGNOSTIC,
),
BinarySensorEntityDescription(
key="alarm_water_too_cold",
translation_key="alarm_water_too_cold",
device_class=BinarySensorDeviceClass.PROBLEM,
entity_category=EntityCategory.DIAGNOSTIC,
),
BinarySensorEntityDescription(
key="alarm_water_too_hot",
translation_key="alarm_water_too_hot",
device_class=BinarySensorDeviceClass.PROBLEM,
entity_category=EntityCategory.DIAGNOSTIC,
),
BinarySensorEntityDescription(
key="alarm_ph_too_low",
translation_key="alarm_ph_too_low",
device_class=BinarySensorDeviceClass.PROBLEM,
entity_category=EntityCategory.DIAGNOSTIC,
),
BinarySensorEntityDescription(
key="alarm_ph_too_high",
translation_key="alarm_ph_too_high",
device_class=BinarySensorDeviceClass.PROBLEM,
entity_category=EntityCategory.DIAGNOSTIC,
),
BinarySensorEntityDescription(
key="alarm_cl_too_low_orp",
translation_key="alarm_cl_too_low_orp",
device_class=BinarySensorDeviceClass.PROBLEM,
entity_category=EntityCategory.DIAGNOSTIC,
),
BinarySensorEntityDescription(
key="alarm_cl_too_high_orp",
translation_key="alarm_cl_too_high_orp",
device_class=BinarySensorDeviceClass.PROBLEM,
entity_category=EntityCategory.DIAGNOSTIC,
),
BinarySensorEntityDescription(
key="alarm_cl_too_high",
translation_key="alarm_cl_too_high",
device_class=BinarySensorDeviceClass.PROBLEM,
entity_category=EntityCategory.DIAGNOSTIC,
),
BinarySensorEntityDescription(
key="alarm_system_standby",
translation_key="alarm_system_standby",
device_class=BinarySensorDeviceClass.PROBLEM,
entity_category=EntityCategory.DIAGNOSTIC,
),
)

View File

@@ -1,24 +1,90 @@
{
"entity": {
"binary_sensor": {
"alarm_cl_too_high": {
"default": "mdi:pool",
"state": {
"on": "mdi:alert"
}
},
"alarm_cl_too_high_orp": {
"default": "mdi:water-check",
"state": {
"on": "mdi:water-alert"
}
},
"alarm_cl_too_low_orp": {
"default": "mdi:water-check",
"state": {
"on": "mdi:water-alert"
}
},
"alarm_ofa_cl": {
"default": "mdi:clock-alert-outline",
"state": {
"on": "mdi:clock-alert"
}
},
"alarm_ofa_cl_alternative": {
"default": "mdi:clock-alert-outline",
"state": {
"on": "mdi:clock-alert"
}
},
"alarm_ofa_orp": {
"default": "mdi:clock-alert-outline",
"state": {
"on": "mdi:clock-alert"
}
},
"alarm_ofa_orp_alternative": {
"default": "mdi:clock-alert-outline",
"state": {
"on": "mdi:clock-alert"
}
},
"alarm_ofa_ph": {
"default": "mdi:clock-alert-outline",
"state": {
"on": "mdi:clock-alert"
}
},
"alarm_ofa_ph_alternative": {
"default": "mdi:clock-alert-outline",
"state": {
"on": "mdi:clock-alert"
}
},
"alarm_ph_too_high": {
"default": "mdi:ph",
"state": {
"on": "mdi:alert"
}
},
"alarm_ph_too_low": {
"default": "mdi:ph",
"state": {
"on": "mdi:alert"
}
},
"alarm_system_standby": {
"default": "mdi:power-standby",
"state": {
"on": "mdi:power-sleep"
}
},
"alarm_water_too_cold": {
"default": "mdi:thermometer-low",
"state": {
"on": "mdi:thermometer-alert"
}
},
"alarm_water_too_hot": {
"default": "mdi:thermometer-high",
"state": {
"on": "mdi:thermometer-alert"
}
},
"flow_rate_alarm": {
"default": "mdi:autorenew",
"state": {
@@ -72,6 +138,9 @@
"cl_target": {
"default": "mdi:pool"
},
"flow_delay_timer": {
"default": "mdi:timer-sand"
},
"ofa_cl_lower": {
"default": "mdi:arrow-down-bold"
},
@@ -95,6 +164,18 @@
},
"ph_target": {
"default": "mdi:ph"
},
"power_on_delay_timer": {
"default": "mdi:timer-sand"
},
"time_off_cl_dosing": {
"default": "mdi:timer-outline"
},
"time_off_orp_dosing": {
"default": "mdi:timer-outline"
},
"time_off_ph_dosing": {
"default": "mdi:timer-outline"
}
},
"select": {
@@ -130,6 +211,9 @@
"cl_type_dosing": {
"default": "mdi:beaker"
},
"device_config": {
"default": "mdi:cog"
},
"flow_rate": {
"default": "mdi:pipe-valve"
},
@@ -175,6 +259,9 @@
"ph_type_dosing": {
"default": "mdi:beaker"
},
"temperature_unit": {
"default": "mdi:thermometer"
},
"water_meter_total_permanent": {
"default": "mdi:counter"
}

View File

@@ -14,6 +14,7 @@ from homeassistant.const import (
CONCENTRATION_PARTS_PER_MILLION,
EntityCategory,
UnitOfElectricPotential,
UnitOfTime,
)
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
@@ -87,6 +88,46 @@ NUMBER_DESCRIPTIONS: tuple[NumberEntityDescription, ...] = (
entity_category=EntityCategory.CONFIG,
native_unit_of_measurement=CONCENTRATION_PARTS_PER_MILLION,
),
NumberEntityDescription(
key="time_off_ph_dosing",
translation_key="time_off_ph_dosing",
entity_category=EntityCategory.CONFIG,
entity_registry_enabled_default=False,
device_class=NumberDeviceClass.DURATION,
native_unit_of_measurement=UnitOfTime.SECONDS,
),
NumberEntityDescription(
key="time_off_orp_dosing",
translation_key="time_off_orp_dosing",
entity_category=EntityCategory.CONFIG,
entity_registry_enabled_default=False,
device_class=NumberDeviceClass.DURATION,
native_unit_of_measurement=UnitOfTime.SECONDS,
),
NumberEntityDescription(
key="time_off_cl_dosing",
translation_key="time_off_cl_dosing",
entity_category=EntityCategory.CONFIG,
entity_registry_enabled_default=False,
device_class=NumberDeviceClass.DURATION,
native_unit_of_measurement=UnitOfTime.SECONDS,
),
NumberEntityDescription(
key="power_on_delay_timer",
translation_key="power_on_delay_timer",
entity_category=EntityCategory.CONFIG,
entity_registry_enabled_default=False,
device_class=NumberDeviceClass.DURATION,
native_unit_of_measurement=UnitOfTime.SECONDS,
),
NumberEntityDescription(
key="flow_delay_timer",
translation_key="flow_delay_timer",
entity_category=EntityCategory.CONFIG,
entity_registry_enabled_default=False,
device_class=NumberDeviceClass.DURATION,
native_unit_of_measurement=UnitOfTime.SECONDS,
),
)

View File

@@ -121,7 +121,7 @@ SENSOR_DESCRIPTIONS: tuple[PooldoseSensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
device_class=SensorDeviceClass.ENUM,
options=["off", "proportional", "on_off", "timed"],
options=["off", "proportional", "on_off", "timed", "cycle"],
),
PooldoseSensorEntityDescription(
key="ofa_orp_time",
@@ -183,6 +183,22 @@ SENSOR_DESCRIPTIONS: tuple[PooldoseSensorEntityDescription, ...] = (
entity_registry_enabled_default=False,
native_unit_of_measurement=UnitOfElectricPotential.MILLIVOLT,
),
PooldoseSensorEntityDescription(
key="device_config",
translation_key="device_config",
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
device_class=SensorDeviceClass.ENUM,
options=["ph_orp", "ph_orp_chlorine"],
),
PooldoseSensorEntityDescription(
key="temperature_unit",
translation_key="temperature_unit",
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
device_class=SensorDeviceClass.ENUM,
options=["celsius", "fahrenheit"],
),
)

View File

@@ -44,15 +44,48 @@
},
"entity": {
"binary_sensor": {
"alarm_cl_too_high": {
"name": "Chlorine too high"
},
"alarm_cl_too_high_orp": {
"name": "Chlorine too high (ORP)"
},
"alarm_cl_too_low_orp": {
"name": "Chlorine too low (ORP)"
},
"alarm_ofa_cl": {
"name": "Chlorine tank level"
"name": "Chlorine overfeed"
},
"alarm_ofa_cl_alternative": {
"name": "Chlorine overfeed alternative"
},
"alarm_ofa_orp": {
"name": "ORP overfeed"
},
"alarm_ofa_orp_alternative": {
"name": "ORP overfeed alternative"
},
"alarm_ofa_ph": {
"name": "pH overfeed"
},
"alarm_ofa_ph_alternative": {
"name": "pH overfeed alternative"
},
"alarm_ph_too_high": {
"name": "pH too high"
},
"alarm_ph_too_low": {
"name": "pH too low"
},
"alarm_system_standby": {
"name": "System standby"
},
"alarm_water_too_cold": {
"name": "Water too cold"
},
"alarm_water_too_hot": {
"name": "Water too hot"
},
"flow_rate_alarm": {
"name": "Flow rate"
},
@@ -66,22 +99,25 @@
"name": "Recirculation"
},
"relay_alarm": {
"name": "Alarm relay status"
"name": "Alarm relay"
},
"relay_aux1": {
"name": "Auxiliary relay 1 status"
"name": "Auxiliary relay 1"
},
"relay_aux2": {
"name": "Auxiliary relay 2 status"
"name": "Auxiliary relay 2"
},
"relay_aux3": {
"name": "Auxiliary relay 3 status"
"name": "Auxiliary relay 3"
}
},
"number": {
"cl_target": {
"name": "Chlorine target"
},
"flow_delay_timer": {
"name": "Flow delay timer"
},
"ofa_cl_lower": {
"name": "Chlorine overfeed alarm lower limit"
},
@@ -105,6 +141,18 @@
},
"ph_target": {
"name": "pH target"
},
"power_on_delay_timer": {
"name": "Power-on delay timer"
},
"time_off_cl_dosing": {
"name": "Chlorine dosing off-time"
},
"time_off_orp_dosing": {
"name": "ORP dosing off-time"
},
"time_off_ph_dosing": {
"name": "pH dosing off-time"
}
},
"select": {
@@ -174,6 +222,13 @@
"low": "[%key:common::state::low%]"
}
},
"device_config": {
"name": "Device configuration",
"state": {
"ph_orp": "pH/ORP",
"ph_orp_chlorine": "pH/ORP/Chlorine"
}
},
"flow_rate": {
"name": "Flow rate"
},
@@ -210,6 +265,7 @@
"peristaltic_cl_dosing": {
"name": "Chlorine peristaltic dosing",
"state": {
"cycle": "Cycle",
"off": "[%key:common::state::off%]",
"on_off": "[%key:component::pooldose::entity::sensor::peristaltic_ph_dosing::state::on_off%]",
"proportional": "[%key:component::pooldose::entity::sensor::peristaltic_ph_dosing::state::proportional%]",
@@ -256,6 +312,13 @@
"alcalyne": "pH+"
}
},
"temperature_unit": {
"name": "Temperature unit",
"state": {
"celsius": "Celsius",
"fahrenheit": "Fahrenheit"
}
},
"water_meter_total_permanent": {
"name": "Totalizer"
}

View File

@@ -83,6 +83,26 @@
"water_meter_total_resettable": {
"value": 123.45,
"unit": "m3"
},
"circulation_pump_status": {
"value": "disabled",
"unit": null
},
"device_config": {
"value": "ph_orp",
"unit": null
},
"temperature_unit": {
"value": "celsius",
"unit": null
},
"power_on_delay_status": {
"value": "disabled",
"unit": null
},
"flow_delay_status": {
"value": "disabled",
"unit": null
}
},
"binary_sensor": {
@@ -118,6 +138,39 @@
},
"alarm_ofa_cl": {
"value": false
},
"alarm_ofa2_ph": {
"value": false
},
"alarm_ofa2_orp": {
"value": false
},
"alarm_ofa2_cl": {
"value": false
},
"alarm_water_too_cold": {
"value": true
},
"alarm_water_too_hot": {
"value": false
},
"alarm_ph_too_low": {
"value": false
},
"alarm_ph_too_high": {
"value": false
},
"alarm_cl_too_low_orp": {
"value": false
},
"alarm_cl_too_high_orp": {
"value": true
},
"alarm_cl_too_high": {
"value": false
},
"alarm_system_standby": {
"value": true
}
},
"number": {
@@ -183,6 +236,41 @@
"min": 0,
"max": 10,
"step": 0.1
},
"time_off_ph_dosing": {
"value": 60,
"unit": "s",
"min": 1,
"max": 360,
"step": 1
},
"time_off_orp_dosing": {
"value": 60,
"unit": "s",
"min": 1,
"max": 360,
"step": 1
},
"time_off_cl_dosing": {
"value": 60,
"unit": "s",
"min": 1,
"max": 360,
"step": 1
},
"power_on_delay_timer": {
"value": 0,
"unit": "s",
"min": 0,
"max": 5400,
"step": 1
},
"flow_delay_timer": {
"value": 0,
"unit": "s",
"min": 0,
"max": 3600,
"step": 1
}
},
"switch": {

View File

@@ -1,5 +1,5 @@
# serializer version: 1
# name: test_all_binary_sensors[binary_sensor.pool_device_alarm_relay_status-entry]
# name: test_all_binary_sensors[binary_sensor.pool_device_alarm_relay-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
@@ -13,7 +13,7 @@
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.pool_device_alarm_relay_status',
'entity_id': 'binary_sensor.pool_device_alarm_relay',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
@@ -21,12 +21,12 @@
'labels': set({
}),
'name': None,
'object_id_base': 'Alarm relay status',
'object_id_base': 'Alarm relay',
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.POWER: 'power'>,
'original_icon': None,
'original_name': 'Alarm relay status',
'original_name': 'Alarm relay',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
@@ -36,21 +36,21 @@
'unit_of_measurement': None,
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_alarm_relay_status-state]
# name: test_all_binary_sensors[binary_sensor.pool_device_alarm_relay-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'power',
'friendly_name': 'Pool Device Alarm relay status',
'friendly_name': 'Pool Device Alarm relay',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.pool_device_alarm_relay_status',
'entity_id': 'binary_sensor.pool_device_alarm_relay',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'on',
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_auxiliary_relay_1_status-entry]
# name: test_all_binary_sensors[binary_sensor.pool_device_auxiliary_relay_1-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
@@ -64,7 +64,7 @@
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.pool_device_auxiliary_relay_1_status',
'entity_id': 'binary_sensor.pool_device_auxiliary_relay_1',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
@@ -72,12 +72,12 @@
'labels': set({
}),
'name': None,
'object_id_base': 'Auxiliary relay 1 status',
'object_id_base': 'Auxiliary relay 1',
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.POWER: 'power'>,
'original_icon': None,
'original_name': 'Auxiliary relay 1 status',
'original_name': 'Auxiliary relay 1',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
@@ -87,21 +87,21 @@
'unit_of_measurement': None,
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_auxiliary_relay_1_status-state]
# name: test_all_binary_sensors[binary_sensor.pool_device_auxiliary_relay_1-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'power',
'friendly_name': 'Pool Device Auxiliary relay 1 status',
'friendly_name': 'Pool Device Auxiliary relay 1',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.pool_device_auxiliary_relay_1_status',
'entity_id': 'binary_sensor.pool_device_auxiliary_relay_1',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_auxiliary_relay_2_status-entry]
# name: test_all_binary_sensors[binary_sensor.pool_device_auxiliary_relay_2-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
@@ -115,7 +115,7 @@
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.pool_device_auxiliary_relay_2_status',
'entity_id': 'binary_sensor.pool_device_auxiliary_relay_2',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
@@ -123,12 +123,12 @@
'labels': set({
}),
'name': None,
'object_id_base': 'Auxiliary relay 2 status',
'object_id_base': 'Auxiliary relay 2',
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.POWER: 'power'>,
'original_icon': None,
'original_name': 'Auxiliary relay 2 status',
'original_name': 'Auxiliary relay 2',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
@@ -138,21 +138,21 @@
'unit_of_measurement': None,
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_auxiliary_relay_2_status-state]
# name: test_all_binary_sensors[binary_sensor.pool_device_auxiliary_relay_2-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'power',
'friendly_name': 'Pool Device Auxiliary relay 2 status',
'friendly_name': 'Pool Device Auxiliary relay 2',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.pool_device_auxiliary_relay_2_status',
'entity_id': 'binary_sensor.pool_device_auxiliary_relay_2',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_auxiliary_relay_3_status-entry]
# name: test_all_binary_sensors[binary_sensor.pool_device_auxiliary_relay_3-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
@@ -166,7 +166,7 @@
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.pool_device_auxiliary_relay_3_status',
'entity_id': 'binary_sensor.pool_device_auxiliary_relay_3',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
@@ -174,12 +174,12 @@
'labels': set({
}),
'name': None,
'object_id_base': 'Auxiliary relay 3 status',
'object_id_base': 'Auxiliary relay 3',
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.POWER: 'power'>,
'original_icon': None,
'original_name': 'Auxiliary relay 3 status',
'original_name': 'Auxiliary relay 3',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
@@ -189,21 +189,21 @@
'unit_of_measurement': None,
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_auxiliary_relay_3_status-state]
# name: test_all_binary_sensors[binary_sensor.pool_device_auxiliary_relay_3-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'power',
'friendly_name': 'Pool Device Auxiliary relay 3 status',
'friendly_name': 'Pool Device Auxiliary relay 3',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.pool_device_auxiliary_relay_3_status',
'entity_id': 'binary_sensor.pool_device_auxiliary_relay_3',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_chlorine_tank_level-entry]
# name: test_all_binary_sensors[binary_sensor.pool_device_chlorine_overfeed-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
@@ -217,7 +217,7 @@
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.pool_device_chlorine_tank_level',
'entity_id': 'binary_sensor.pool_device_chlorine_overfeed',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
@@ -225,12 +225,12 @@
'labels': set({
}),
'name': None,
'object_id_base': 'Chlorine tank level',
'object_id_base': 'Chlorine overfeed',
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
'original_icon': None,
'original_name': 'Chlorine tank level',
'original_name': 'Chlorine overfeed',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
@@ -240,14 +240,218 @@
'unit_of_measurement': None,
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_chlorine_tank_level-state]
# name: test_all_binary_sensors[binary_sensor.pool_device_chlorine_overfeed-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'problem',
'friendly_name': 'Pool Device Chlorine tank level',
'friendly_name': 'Pool Device Chlorine overfeed',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.pool_device_chlorine_tank_level',
'entity_id': 'binary_sensor.pool_device_chlorine_overfeed',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_chlorine_overfeed_alternative-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': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.pool_device_chlorine_overfeed_alternative',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Chlorine overfeed alternative',
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
'original_icon': None,
'original_name': 'Chlorine overfeed alternative',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'alarm_ofa_cl_alternative',
'unique_id': 'TEST123456789_alarm_ofa2_cl',
'unit_of_measurement': None,
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_chlorine_overfeed_alternative-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'problem',
'friendly_name': 'Pool Device Chlorine overfeed alternative',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.pool_device_chlorine_overfeed_alternative',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_chlorine_too_high-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': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.pool_device_chlorine_too_high',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Chlorine too high',
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
'original_icon': None,
'original_name': 'Chlorine too high',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'alarm_cl_too_high',
'unique_id': 'TEST123456789_alarm_cl_too_high',
'unit_of_measurement': None,
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_chlorine_too_high-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'problem',
'friendly_name': 'Pool Device Chlorine too high',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.pool_device_chlorine_too_high',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_chlorine_too_high_orp-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': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.pool_device_chlorine_too_high_orp',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Chlorine too high (ORP)',
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
'original_icon': None,
'original_name': 'Chlorine too high (ORP)',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'alarm_cl_too_high_orp',
'unique_id': 'TEST123456789_alarm_cl_too_high_orp',
'unit_of_measurement': None,
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_chlorine_too_high_orp-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'problem',
'friendly_name': 'Pool Device Chlorine too high (ORP)',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.pool_device_chlorine_too_high_orp',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'on',
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_chlorine_too_low_orp-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': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.pool_device_chlorine_too_low_orp',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Chlorine too low (ORP)',
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
'original_icon': None,
'original_name': 'Chlorine too low (ORP)',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'alarm_cl_too_low_orp',
'unique_id': 'TEST123456789_alarm_cl_too_low_orp',
'unit_of_measurement': None,
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_chlorine_too_low_orp-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'problem',
'friendly_name': 'Pool Device Chlorine too low (ORP)',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.pool_device_chlorine_too_low_orp',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
@@ -356,6 +560,57 @@
'state': 'off',
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_orp_overfeed_alternative-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': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.pool_device_orp_overfeed_alternative',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'ORP overfeed alternative',
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
'original_icon': None,
'original_name': 'ORP overfeed alternative',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'alarm_ofa_orp_alternative',
'unique_id': 'TEST123456789_alarm_ofa2_orp',
'unit_of_measurement': None,
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_orp_overfeed_alternative-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'problem',
'friendly_name': 'Pool Device ORP overfeed alternative',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.pool_device_orp_overfeed_alternative',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_orp_tank_level-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
@@ -458,6 +713,57 @@
'state': 'off',
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_ph_overfeed_alternative-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': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.pool_device_ph_overfeed_alternative',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'pH overfeed alternative',
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
'original_icon': None,
'original_name': 'pH overfeed alternative',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'alarm_ofa_ph_alternative',
'unique_id': 'TEST123456789_alarm_ofa2_ph',
'unit_of_measurement': None,
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_ph_overfeed_alternative-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'problem',
'friendly_name': 'Pool Device pH overfeed alternative',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.pool_device_ph_overfeed_alternative',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_ph_tank_level-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
@@ -509,6 +815,108 @@
'state': 'off',
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_ph_too_high-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': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.pool_device_ph_too_high',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'pH too high',
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
'original_icon': None,
'original_name': 'pH too high',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'alarm_ph_too_high',
'unique_id': 'TEST123456789_alarm_ph_too_high',
'unit_of_measurement': None,
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_ph_too_high-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'problem',
'friendly_name': 'Pool Device pH too high',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.pool_device_ph_too_high',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_ph_too_low-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': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.pool_device_ph_too_low',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'pH too low',
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
'original_icon': None,
'original_name': 'pH too low',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'alarm_ph_too_low',
'unique_id': 'TEST123456789_alarm_ph_too_low',
'unit_of_measurement': None,
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_ph_too_low-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'problem',
'friendly_name': 'Pool Device pH too low',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.pool_device_ph_too_low',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_recirculation-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
@@ -560,3 +968,156 @@
'state': 'on',
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_system_standby-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': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.pool_device_system_standby',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'System standby',
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
'original_icon': None,
'original_name': 'System standby',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'alarm_system_standby',
'unique_id': 'TEST123456789_alarm_system_standby',
'unit_of_measurement': None,
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_system_standby-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'problem',
'friendly_name': 'Pool Device System standby',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.pool_device_system_standby',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'on',
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_water_too_cold-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': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.pool_device_water_too_cold',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Water too cold',
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
'original_icon': None,
'original_name': 'Water too cold',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'alarm_water_too_cold',
'unique_id': 'TEST123456789_alarm_water_too_cold',
'unit_of_measurement': None,
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_water_too_cold-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'problem',
'friendly_name': 'Pool Device Water too cold',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.pool_device_water_too_cold',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'on',
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_water_too_hot-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': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.pool_device_water_too_hot',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Water too hot',
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
'original_icon': None,
'original_name': 'Water too hot',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'alarm_water_too_hot',
'unique_id': 'TEST123456789_alarm_water_too_hot',
'unit_of_measurement': None,
})
# ---
# name: test_all_binary_sensors[binary_sensor.pool_device_water_too_hot-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'problem',
'friendly_name': 'Pool Device Water too hot',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.pool_device_water_too_hot',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---

View File

@@ -3,6 +3,24 @@
dict({
'data': dict({
'binary_sensor': dict({
'alarm_cl_too_high': dict({
'value': False,
}),
'alarm_cl_too_high_orp': dict({
'value': True,
}),
'alarm_cl_too_low_orp': dict({
'value': False,
}),
'alarm_ofa2_cl': dict({
'value': False,
}),
'alarm_ofa2_orp': dict({
'value': False,
}),
'alarm_ofa2_ph': dict({
'value': False,
}),
'alarm_ofa_cl': dict({
'value': False,
}),
@@ -12,6 +30,21 @@
'alarm_ofa_ph': dict({
'value': False,
}),
'alarm_ph_too_high': dict({
'value': False,
}),
'alarm_ph_too_low': dict({
'value': False,
}),
'alarm_system_standby': dict({
'value': True,
}),
'alarm_water_too_cold': dict({
'value': True,
}),
'alarm_water_too_hot': dict({
'value': False,
}),
'flow_rate_alarm': dict({
'value': False,
}),
@@ -45,6 +78,13 @@
'unit': 'ppm',
'value': 1,
}),
'flow_delay_timer': dict({
'max': 3600,
'min': 0,
'step': 1,
'unit': 's',
'value': 0,
}),
'ofa_cl_lower': dict({
'max': 10,
'min': 0,
@@ -101,6 +141,34 @@
'unit': None,
'value': 6.5,
}),
'power_on_delay_timer': dict({
'max': 5400,
'min': 0,
'step': 1,
'unit': 's',
'value': 0,
}),
'time_off_cl_dosing': dict({
'max': 360,
'min': 1,
'step': 1,
'unit': 's',
'value': 60,
}),
'time_off_orp_dosing': dict({
'max': 360,
'min': 1,
'step': 1,
'unit': 's',
'value': 60,
}),
'time_off_ph_dosing': dict({
'max': 360,
'min': 1,
'step': 1,
'unit': 's',
'value': 60,
}),
}),
'select': dict({
'cl_type_dosing_method': dict({
@@ -129,6 +197,10 @@
}),
}),
'sensor': dict({
'circulation_pump_status': dict({
'unit': None,
'value': 'disabled',
}),
'cl': dict({
'unit': 'ppm',
'value': 1.2,
@@ -137,6 +209,14 @@
'unit': None,
'value': 'low',
}),
'device_config': dict({
'unit': None,
'value': 'ph_orp',
}),
'flow_delay_status': dict({
'unit': None,
'value': 'disabled',
}),
'flow_rate': dict({
'unit': 'L/s',
'value': 150,
@@ -201,10 +281,18 @@
'unit': None,
'value': 'alcalyne',
}),
'power_on_delay_status': dict({
'unit': None,
'value': 'disabled',
}),
'temperature': dict({
'unit': '°C',
'value': 25,
}),
'temperature_unit': dict({
'unit': None,
'value': 'celsius',
}),
'water_meter_total_permanent': dict({
'unit': 'm3',
'value': 12345.67,

View File

@@ -1,4 +1,65 @@
# serializer version: 1
# name: test_all_numbers[number.pool_device_chlorine_dosing_off_time-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
'max': 360,
'min': 1,
'mode': <NumberMode.AUTO: 'auto'>,
'step': 1,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'number',
'entity_category': <EntityCategory.CONFIG: 'config'>,
'entity_id': 'number.pool_device_chlorine_dosing_off_time',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Chlorine dosing off-time',
'options': dict({
}),
'original_device_class': <NumberDeviceClass.DURATION: 'duration'>,
'original_icon': None,
'original_name': 'Chlorine dosing off-time',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'time_off_cl_dosing',
'unique_id': 'TEST123456789_time_off_cl_dosing',
'unit_of_measurement': <UnitOfTime.SECONDS: 's'>,
})
# ---
# name: test_all_numbers[number.pool_device_chlorine_dosing_off_time-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'duration',
'friendly_name': 'Pool Device Chlorine dosing off-time',
'max': 360,
'min': 1,
'mode': <NumberMode.AUTO: 'auto'>,
'step': 1,
'unit_of_measurement': <UnitOfTime.SECONDS: 's'>,
}),
'context': <ANY>,
'entity_id': 'number.pool_device_chlorine_dosing_off_time',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '60',
})
# ---
# name: test_all_numbers[number.pool_device_chlorine_overfeed_alarm_lower_limit-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
@@ -179,6 +240,128 @@
'state': '1',
})
# ---
# name: test_all_numbers[number.pool_device_flow_delay_timer-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
'max': 3600,
'min': 0,
'mode': <NumberMode.AUTO: 'auto'>,
'step': 1,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'number',
'entity_category': <EntityCategory.CONFIG: 'config'>,
'entity_id': 'number.pool_device_flow_delay_timer',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Flow delay timer',
'options': dict({
}),
'original_device_class': <NumberDeviceClass.DURATION: 'duration'>,
'original_icon': None,
'original_name': 'Flow delay timer',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'flow_delay_timer',
'unique_id': 'TEST123456789_flow_delay_timer',
'unit_of_measurement': <UnitOfTime.SECONDS: 's'>,
})
# ---
# name: test_all_numbers[number.pool_device_flow_delay_timer-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'duration',
'friendly_name': 'Pool Device Flow delay timer',
'max': 3600,
'min': 0,
'mode': <NumberMode.AUTO: 'auto'>,
'step': 1,
'unit_of_measurement': <UnitOfTime.SECONDS: 's'>,
}),
'context': <ANY>,
'entity_id': 'number.pool_device_flow_delay_timer',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0',
})
# ---
# name: test_all_numbers[number.pool_device_orp_dosing_off_time-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
'max': 360,
'min': 1,
'mode': <NumberMode.AUTO: 'auto'>,
'step': 1,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'number',
'entity_category': <EntityCategory.CONFIG: 'config'>,
'entity_id': 'number.pool_device_orp_dosing_off_time',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'ORP dosing off-time',
'options': dict({
}),
'original_device_class': <NumberDeviceClass.DURATION: 'duration'>,
'original_icon': None,
'original_name': 'ORP dosing off-time',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'time_off_orp_dosing',
'unique_id': 'TEST123456789_time_off_orp_dosing',
'unit_of_measurement': <UnitOfTime.SECONDS: 's'>,
})
# ---
# name: test_all_numbers[number.pool_device_orp_dosing_off_time-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'duration',
'friendly_name': 'Pool Device ORP dosing off-time',
'max': 360,
'min': 1,
'mode': <NumberMode.AUTO: 'auto'>,
'step': 1,
'unit_of_measurement': <UnitOfTime.SECONDS: 's'>,
}),
'context': <ANY>,
'entity_id': 'number.pool_device_orp_dosing_off_time',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '60',
})
# ---
# name: test_all_numbers[number.pool_device_orp_overfeed_alarm_lower_limit-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
@@ -362,6 +545,67 @@
'state': '680',
})
# ---
# name: test_all_numbers[number.pool_device_ph_dosing_off_time-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
'max': 360,
'min': 1,
'mode': <NumberMode.AUTO: 'auto'>,
'step': 1,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'number',
'entity_category': <EntityCategory.CONFIG: 'config'>,
'entity_id': 'number.pool_device_ph_dosing_off_time',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'pH dosing off-time',
'options': dict({
}),
'original_device_class': <NumberDeviceClass.DURATION: 'duration'>,
'original_icon': None,
'original_name': 'pH dosing off-time',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'time_off_ph_dosing',
'unique_id': 'TEST123456789_time_off_ph_dosing',
'unit_of_measurement': <UnitOfTime.SECONDS: 's'>,
})
# ---
# name: test_all_numbers[number.pool_device_ph_dosing_off_time-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'duration',
'friendly_name': 'Pool Device pH dosing off-time',
'max': 360,
'min': 1,
'mode': <NumberMode.AUTO: 'auto'>,
'step': 1,
'unit_of_measurement': <UnitOfTime.SECONDS: 's'>,
}),
'context': <ANY>,
'entity_id': 'number.pool_device_ph_dosing_off_time',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '60',
})
# ---
# name: test_all_numbers[number.pool_device_ph_overfeed_alarm_lower_limit-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
@@ -542,3 +786,64 @@
'state': '6.5',
})
# ---
# name: test_all_numbers[number.pool_device_power_on_delay_timer-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
'max': 5400,
'min': 0,
'mode': <NumberMode.AUTO: 'auto'>,
'step': 1,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'number',
'entity_category': <EntityCategory.CONFIG: 'config'>,
'entity_id': 'number.pool_device_power_on_delay_timer',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Power-on delay timer',
'options': dict({
}),
'original_device_class': <NumberDeviceClass.DURATION: 'duration'>,
'original_icon': None,
'original_name': 'Power-on delay timer',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'power_on_delay_timer',
'unique_id': 'TEST123456789_power_on_delay_timer',
'unit_of_measurement': <UnitOfTime.SECONDS: 's'>,
})
# ---
# name: test_all_numbers[number.pool_device_power_on_delay_timer-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'duration',
'friendly_name': 'Pool Device Power-on delay timer',
'max': 5400,
'min': 0,
'mode': <NumberMode.AUTO: 'auto'>,
'step': 1,
'unit_of_measurement': <UnitOfTime.SECONDS: 's'>,
}),
'context': <ANY>,
'entity_id': 'number.pool_device_power_on_delay_timer',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0',
})
# ---

View File

@@ -122,6 +122,7 @@
'proportional',
'on_off',
'timed',
'cycle',
]),
}),
'config_entry_id': <ANY>,
@@ -164,6 +165,7 @@
'proportional',
'on_off',
'timed',
'cycle',
]),
}),
'context': <ANY>,
@@ -174,6 +176,66 @@
'state': 'off',
})
# ---
# name: test_all_sensors[sensor.pool_device_device_configuration-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
'options': list([
'ph_orp',
'ph_orp_chlorine',
]),
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.pool_device_device_configuration',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Device configuration',
'options': dict({
}),
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
'original_icon': None,
'original_name': 'Device configuration',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'device_config',
'unique_id': 'TEST123456789_device_config',
'unit_of_measurement': None,
})
# ---
# name: test_all_sensors[sensor.pool_device_device_configuration-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'enum',
'friendly_name': 'Pool Device Device configuration',
'options': list([
'ph_orp',
'ph_orp_chlorine',
]),
}),
'context': <ANY>,
'entity_id': 'sensor.pool_device_device_configuration',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'ph_orp',
})
# ---
# name: test_all_sensors[sensor.pool_device_flow_rate-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
@@ -1092,6 +1154,66 @@
'state': '25',
})
# ---
# name: test_all_sensors[sensor.pool_device_temperature_unit-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
'options': list([
'celsius',
'fahrenheit',
]),
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.pool_device_temperature_unit',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Temperature unit',
'options': dict({
}),
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
'original_icon': None,
'original_name': 'Temperature unit',
'platform': 'pooldose',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'temperature_unit',
'unique_id': 'TEST123456789_temperature_unit',
'unit_of_measurement': None,
})
# ---
# name: test_all_sensors[sensor.pool_device_temperature_unit-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'enum',
'friendly_name': 'Pool Device Temperature unit',
'options': list([
'celsius',
'fahrenheit',
]),
}),
'context': <ANY>,
'entity_id': 'sensor.pool_device_temperature_unit',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'celsius',
})
# ---
# name: test_all_sensors[sensor.pool_device_totalizer-entry]
EntityRegistryEntrySnapshot({
'aliases': list([