mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 19:27:45 +00:00
Check support for demand load control in SmartThings AC (#139616)
* Check support for demand load control in SmartThings AC * Fix --------- Co-authored-by: Joostlek <joostlek@outlook.com>
This commit is contained in:
parent
5d7b60e4c8
commit
485da61d3c
@ -451,12 +451,15 @@ class SmartThingsAirConditioner(SmartThingsEntity, ClimateEntity):
|
|||||||
)
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def extra_state_attributes(self) -> dict[str, Any]:
|
def extra_state_attributes(self) -> dict[str, Any] | None:
|
||||||
"""Return device specific state attributes.
|
"""Return device specific state attributes.
|
||||||
|
|
||||||
Include attributes from the Demand Response Load Control (drlc)
|
Include attributes from the Demand Response Load Control (drlc)
|
||||||
and Power Consumption capabilities.
|
and Power Consumption capabilities.
|
||||||
"""
|
"""
|
||||||
|
if not self.supports_capability(Capability.DEMAND_RESPONSE_LOAD_CONTROL):
|
||||||
|
return None
|
||||||
|
|
||||||
drlc_status = self.get_attribute_value(
|
drlc_status = self.get_attribute_value(
|
||||||
Capability.DEMAND_RESPONSE_LOAD_CONTROL,
|
Capability.DEMAND_RESPONSE_LOAD_CONTROL,
|
||||||
Attribute.DEMAND_RESPONSE_LOAD_CONTROL_STATUS,
|
Attribute.DEMAND_RESPONSE_LOAD_CONTROL_STATUS,
|
||||||
|
@ -88,6 +88,7 @@ def mock_smartthings() -> Generator[AsyncMock]:
|
|||||||
@pytest.fixture(
|
@pytest.fixture(
|
||||||
params=[
|
params=[
|
||||||
"da_ac_rac_000001",
|
"da_ac_rac_000001",
|
||||||
|
"da_ac_rac_100001",
|
||||||
"da_ac_rac_01001",
|
"da_ac_rac_01001",
|
||||||
"multipurpose_sensor",
|
"multipurpose_sensor",
|
||||||
"contact_sensor",
|
"contact_sensor",
|
||||||
|
@ -0,0 +1,167 @@
|
|||||||
|
{
|
||||||
|
"components": {
|
||||||
|
"main": {
|
||||||
|
"refresh": {},
|
||||||
|
"custom.thermostatSetpointControl": {
|
||||||
|
"minimumSetpoint": {
|
||||||
|
"value": 16,
|
||||||
|
"timestamp": "2024-11-25T22:17:38.251Z"
|
||||||
|
},
|
||||||
|
"maximumSetpoint": {
|
||||||
|
"value": 30,
|
||||||
|
"timestamp": "2024-11-25T22:17:38.251Z"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"airConditionerMode": {
|
||||||
|
"availableAcModes": {
|
||||||
|
"value": null
|
||||||
|
},
|
||||||
|
"supportedAcModes": {
|
||||||
|
"value": ["cool", "dry", "wind", "auto"],
|
||||||
|
"timestamp": "2025-03-02T10:16:19.519Z"
|
||||||
|
},
|
||||||
|
"airConditionerMode": {
|
||||||
|
"value": "cool",
|
||||||
|
"timestamp": "2025-03-02T10:16:19.519Z"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"execute": {
|
||||||
|
"data": {
|
||||||
|
"value": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"airQualitySensor": {
|
||||||
|
"airQuality": {
|
||||||
|
"value": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"switch": {
|
||||||
|
"switch": {
|
||||||
|
"value": "off",
|
||||||
|
"timestamp": "2025-03-02T06:54:52.852Z"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ocf": {
|
||||||
|
"st": {
|
||||||
|
"value": null
|
||||||
|
},
|
||||||
|
"mndt": {
|
||||||
|
"value": null
|
||||||
|
},
|
||||||
|
"mnfv": {
|
||||||
|
"value": null
|
||||||
|
},
|
||||||
|
"mnhw": {
|
||||||
|
"value": null
|
||||||
|
},
|
||||||
|
"di": {
|
||||||
|
"value": "F8042E25-0E53-0000-0000-000000000000",
|
||||||
|
"timestamp": "2025-02-28T21:15:28.920Z"
|
||||||
|
},
|
||||||
|
"mnsl": {
|
||||||
|
"value": null
|
||||||
|
},
|
||||||
|
"dmv": {
|
||||||
|
"value": "res.1.1.0,sh.1.1.0",
|
||||||
|
"timestamp": "2025-02-28T21:15:28.920Z"
|
||||||
|
},
|
||||||
|
"n": {
|
||||||
|
"value": "Room A/C",
|
||||||
|
"timestamp": "2025-02-28T21:15:28.920Z"
|
||||||
|
},
|
||||||
|
"mnmo": {
|
||||||
|
"value": "TP6X_RAC_15K",
|
||||||
|
"timestamp": "2025-02-28T21:15:28.920Z"
|
||||||
|
},
|
||||||
|
"vid": {
|
||||||
|
"value": "DA-AC-RAC-100001",
|
||||||
|
"timestamp": "2025-02-28T21:15:28.920Z"
|
||||||
|
},
|
||||||
|
"mnmn": {
|
||||||
|
"value": "Samsung Electronics",
|
||||||
|
"timestamp": "2025-02-28T21:15:28.920Z"
|
||||||
|
},
|
||||||
|
"mnml": {
|
||||||
|
"value": null
|
||||||
|
},
|
||||||
|
"mnpv": {
|
||||||
|
"value": null
|
||||||
|
},
|
||||||
|
"mnos": {
|
||||||
|
"value": null
|
||||||
|
},
|
||||||
|
"pi": {
|
||||||
|
"value": "shp",
|
||||||
|
"timestamp": "2025-02-28T21:15:28.920Z"
|
||||||
|
},
|
||||||
|
"icv": {
|
||||||
|
"value": "core.1.1.0",
|
||||||
|
"timestamp": "2025-02-28T21:15:28.920Z"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"odorSensor": {
|
||||||
|
"odorLevel": {
|
||||||
|
"value": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"airConditionerFanMode": {
|
||||||
|
"fanMode": {
|
||||||
|
"value": "auto",
|
||||||
|
"timestamp": "2025-02-28T21:15:28.941Z"
|
||||||
|
},
|
||||||
|
"supportedAcFanModes": {
|
||||||
|
"value": ["auto", "low", "medium", "high", "turbo"],
|
||||||
|
"timestamp": "2025-02-28T21:15:28.941Z"
|
||||||
|
},
|
||||||
|
"availableAcFanModes": {
|
||||||
|
"value": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"samsungce.driverState": {
|
||||||
|
"driverState": {
|
||||||
|
"value": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"custom.disabledCapabilities": {
|
||||||
|
"disabledCapabilities": {
|
||||||
|
"value": ["odorSensor"],
|
||||||
|
"timestamp": "2024-11-25T22:17:38.251Z"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"samsungce.driverVersion": {
|
||||||
|
"versionNumber": {
|
||||||
|
"value": 22090101,
|
||||||
|
"timestamp": "2024-11-25T22:17:38.251Z"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"temperatureMeasurement": {
|
||||||
|
"temperatureRange": {
|
||||||
|
"value": null
|
||||||
|
},
|
||||||
|
"temperature": {
|
||||||
|
"value": 27,
|
||||||
|
"unit": "C",
|
||||||
|
"timestamp": "2025-03-02T08:28:39.409Z"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dustSensor": {
|
||||||
|
"dustLevel": {
|
||||||
|
"value": null
|
||||||
|
},
|
||||||
|
"fineDustLevel": {
|
||||||
|
"value": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"thermostatCoolingSetpoint": {
|
||||||
|
"coolingSetpointRange": {
|
||||||
|
"value": null
|
||||||
|
},
|
||||||
|
"coolingSetpoint": {
|
||||||
|
"value": 18,
|
||||||
|
"unit": "C",
|
||||||
|
"timestamp": "2025-03-02T06:54:23.887Z"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,112 @@
|
|||||||
|
{
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"deviceId": "F8042E25-0E53-0000-0000-000000000000",
|
||||||
|
"name": "Room A/C",
|
||||||
|
"label": "Corridor A/C",
|
||||||
|
"manufacturerName": "Samsung Electronics",
|
||||||
|
"presentationId": "DA-AC-RAC-100001",
|
||||||
|
"deviceManufacturerCode": "Samsung Electronics",
|
||||||
|
"locationId": "5df0730b-38ed-43e4-b291-ec14feb3224c",
|
||||||
|
"ownerId": "63b9c79b-90fe-5262-9a6a-5e24db90915e",
|
||||||
|
"roomId": "7715151d-0314-457a-a82c-5ce48900e065",
|
||||||
|
"deviceTypeName": "Samsung OCF Air Conditioner",
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"id": "main",
|
||||||
|
"label": "main",
|
||||||
|
"capabilities": [
|
||||||
|
{
|
||||||
|
"id": "ocf",
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "switch",
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "airConditionerMode",
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "airConditionerFanMode",
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "temperatureMeasurement",
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "thermostatCoolingSetpoint",
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "airQualitySensor",
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "dustSensor",
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "odorSensor",
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "refresh",
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "execute",
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "samsungce.driverVersion",
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "samsungce.driverState",
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "custom.thermostatSetpointControl",
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "custom.disabledCapabilities",
|
||||||
|
"version": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
{
|
||||||
|
"name": "AirConditioner",
|
||||||
|
"categoryType": "manufacturer"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"createTime": "2024-11-25T22:17:38.129Z",
|
||||||
|
"profile": {
|
||||||
|
"id": "9e3e03b1-7f8c-3ea2-8568-6902b79b99dd"
|
||||||
|
},
|
||||||
|
"ocf": {
|
||||||
|
"ocfDeviceType": "oic.d.airconditioner",
|
||||||
|
"name": "Room A/C",
|
||||||
|
"specVersion": "core.1.1.0",
|
||||||
|
"verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0",
|
||||||
|
"manufacturerName": "Samsung Electronics",
|
||||||
|
"modelNumber": "TP6X_RAC_15K",
|
||||||
|
"vendorId": "DA-AC-RAC-100001",
|
||||||
|
"lastSignupTime": "2024-11-25T22:17:37.928118320Z",
|
||||||
|
"transferCandidate": false,
|
||||||
|
"additionalAuthCodeRequired": false
|
||||||
|
},
|
||||||
|
"type": "OCF",
|
||||||
|
"restrictionTier": 0,
|
||||||
|
"allowed": [],
|
||||||
|
"executionContext": "CLOUD",
|
||||||
|
"relationships": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_links": {}
|
||||||
|
}
|
@ -209,6 +209,90 @@
|
|||||||
'state': 'off',
|
'state': 'off',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
|
# name: test_all_entities[da_ac_rac_100001][climate.corridor_a_c-entry]
|
||||||
|
EntityRegistryEntrySnapshot({
|
||||||
|
'aliases': set({
|
||||||
|
}),
|
||||||
|
'area_id': None,
|
||||||
|
'capabilities': dict({
|
||||||
|
'fan_modes': list([
|
||||||
|
'auto',
|
||||||
|
'low',
|
||||||
|
'medium',
|
||||||
|
'high',
|
||||||
|
'turbo',
|
||||||
|
]),
|
||||||
|
'hvac_modes': list([
|
||||||
|
<HVACMode.OFF: 'off'>,
|
||||||
|
<HVACMode.COOL: 'cool'>,
|
||||||
|
<HVACMode.DRY: 'dry'>,
|
||||||
|
<HVACMode.FAN_ONLY: 'fan_only'>,
|
||||||
|
<HVACMode.HEAT_COOL: 'heat_cool'>,
|
||||||
|
]),
|
||||||
|
'max_temp': 35,
|
||||||
|
'min_temp': 7,
|
||||||
|
}),
|
||||||
|
'config_entry_id': <ANY>,
|
||||||
|
'config_subentry_id': <ANY>,
|
||||||
|
'device_class': None,
|
||||||
|
'device_id': <ANY>,
|
||||||
|
'disabled_by': None,
|
||||||
|
'domain': 'climate',
|
||||||
|
'entity_category': None,
|
||||||
|
'entity_id': 'climate.corridor_a_c',
|
||||||
|
'has_entity_name': True,
|
||||||
|
'hidden_by': None,
|
||||||
|
'icon': None,
|
||||||
|
'id': <ANY>,
|
||||||
|
'labels': set({
|
||||||
|
}),
|
||||||
|
'name': None,
|
||||||
|
'options': dict({
|
||||||
|
}),
|
||||||
|
'original_device_class': None,
|
||||||
|
'original_icon': None,
|
||||||
|
'original_name': None,
|
||||||
|
'platform': 'smartthings',
|
||||||
|
'previous_unique_id': None,
|
||||||
|
'supported_features': <ClimateEntityFeature: 393>,
|
||||||
|
'translation_key': None,
|
||||||
|
'unique_id': 'F8042E25-0E53-0000-0000-000000000000',
|
||||||
|
'unit_of_measurement': None,
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_all_entities[da_ac_rac_100001][climate.corridor_a_c-state]
|
||||||
|
StateSnapshot({
|
||||||
|
'attributes': ReadOnlyDict({
|
||||||
|
'current_temperature': 27,
|
||||||
|
'fan_mode': 'auto',
|
||||||
|
'fan_modes': list([
|
||||||
|
'auto',
|
||||||
|
'low',
|
||||||
|
'medium',
|
||||||
|
'high',
|
||||||
|
'turbo',
|
||||||
|
]),
|
||||||
|
'friendly_name': 'Corridor A/C',
|
||||||
|
'hvac_modes': list([
|
||||||
|
<HVACMode.OFF: 'off'>,
|
||||||
|
<HVACMode.COOL: 'cool'>,
|
||||||
|
<HVACMode.DRY: 'dry'>,
|
||||||
|
<HVACMode.FAN_ONLY: 'fan_only'>,
|
||||||
|
<HVACMode.HEAT_COOL: 'heat_cool'>,
|
||||||
|
]),
|
||||||
|
'max_temp': 35,
|
||||||
|
'min_temp': 7,
|
||||||
|
'supported_features': <ClimateEntityFeature: 393>,
|
||||||
|
'temperature': 18,
|
||||||
|
}),
|
||||||
|
'context': <ANY>,
|
||||||
|
'entity_id': 'climate.corridor_a_c',
|
||||||
|
'last_changed': <ANY>,
|
||||||
|
'last_reported': <ANY>,
|
||||||
|
'last_updated': <ANY>,
|
||||||
|
'state': 'off',
|
||||||
|
})
|
||||||
|
# ---
|
||||||
# name: test_all_entities[ecobee_thermostat][climate.main_floor-entry]
|
# name: test_all_entities[ecobee_thermostat][climate.main_floor-entry]
|
||||||
EntityRegistryEntrySnapshot({
|
EntityRegistryEntrySnapshot({
|
||||||
'aliases': set({
|
'aliases': set({
|
||||||
|
@ -263,6 +263,39 @@
|
|||||||
'via_device_id': None,
|
'via_device_id': None,
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
|
# name: test_devices[da_ac_rac_100001]
|
||||||
|
DeviceRegistryEntrySnapshot({
|
||||||
|
'area_id': 'theater',
|
||||||
|
'config_entries': <ANY>,
|
||||||
|
'config_entries_subentries': <ANY>,
|
||||||
|
'configuration_url': 'https://account.smartthings.com',
|
||||||
|
'connections': set({
|
||||||
|
}),
|
||||||
|
'disabled_by': None,
|
||||||
|
'entry_type': None,
|
||||||
|
'hw_version': None,
|
||||||
|
'id': <ANY>,
|
||||||
|
'identifiers': set({
|
||||||
|
tuple(
|
||||||
|
'smartthings',
|
||||||
|
'F8042E25-0E53-0000-0000-000000000000',
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
'is_new': False,
|
||||||
|
'labels': set({
|
||||||
|
}),
|
||||||
|
'manufacturer': 'Samsung Electronics',
|
||||||
|
'model': 'TP6X_RAC_15K',
|
||||||
|
'model_id': None,
|
||||||
|
'name': 'Corridor A/C',
|
||||||
|
'name_by_user': None,
|
||||||
|
'primary_config_entry': <ANY>,
|
||||||
|
'serial_number': None,
|
||||||
|
'suggested_area': 'Theater',
|
||||||
|
'sw_version': None,
|
||||||
|
'via_device_id': None,
|
||||||
|
})
|
||||||
|
# ---
|
||||||
# name: test_devices[da_ks_microwave_0101x]
|
# name: test_devices[da_ks_microwave_0101x]
|
||||||
DeviceRegistryEntrySnapshot({
|
DeviceRegistryEntrySnapshot({
|
||||||
'area_id': 'theater',
|
'area_id': 'theater',
|
||||||
|
@ -1379,6 +1379,213 @@
|
|||||||
'state': '0',
|
'state': '0',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
|
# name: test_all_entities[da_ac_rac_100001][sensor.corridor_a_c_air_quality-entry]
|
||||||
|
EntityRegistryEntrySnapshot({
|
||||||
|
'aliases': set({
|
||||||
|
}),
|
||||||
|
'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.corridor_a_c_air_quality',
|
||||||
|
'has_entity_name': True,
|
||||||
|
'hidden_by': None,
|
||||||
|
'icon': None,
|
||||||
|
'id': <ANY>,
|
||||||
|
'labels': set({
|
||||||
|
}),
|
||||||
|
'name': None,
|
||||||
|
'options': dict({
|
||||||
|
}),
|
||||||
|
'original_device_class': None,
|
||||||
|
'original_icon': None,
|
||||||
|
'original_name': 'Air quality',
|
||||||
|
'platform': 'smartthings',
|
||||||
|
'previous_unique_id': None,
|
||||||
|
'supported_features': 0,
|
||||||
|
'translation_key': 'air_quality',
|
||||||
|
'unique_id': 'F8042E25-0E53-0000-0000-000000000000.airQuality',
|
||||||
|
'unit_of_measurement': 'CAQI',
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_all_entities[da_ac_rac_100001][sensor.corridor_a_c_air_quality-state]
|
||||||
|
StateSnapshot({
|
||||||
|
'attributes': ReadOnlyDict({
|
||||||
|
'friendly_name': 'Corridor A/C Air quality',
|
||||||
|
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||||
|
'unit_of_measurement': 'CAQI',
|
||||||
|
}),
|
||||||
|
'context': <ANY>,
|
||||||
|
'entity_id': 'sensor.corridor_a_c_air_quality',
|
||||||
|
'last_changed': <ANY>,
|
||||||
|
'last_reported': <ANY>,
|
||||||
|
'last_updated': <ANY>,
|
||||||
|
'state': 'unknown',
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_all_entities[da_ac_rac_100001][sensor.corridor_a_c_pm10-entry]
|
||||||
|
EntityRegistryEntrySnapshot({
|
||||||
|
'aliases': set({
|
||||||
|
}),
|
||||||
|
'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.corridor_a_c_pm10',
|
||||||
|
'has_entity_name': True,
|
||||||
|
'hidden_by': None,
|
||||||
|
'icon': None,
|
||||||
|
'id': <ANY>,
|
||||||
|
'labels': set({
|
||||||
|
}),
|
||||||
|
'name': None,
|
||||||
|
'options': dict({
|
||||||
|
}),
|
||||||
|
'original_device_class': <SensorDeviceClass.PM10: 'pm10'>,
|
||||||
|
'original_icon': None,
|
||||||
|
'original_name': 'PM10',
|
||||||
|
'platform': 'smartthings',
|
||||||
|
'previous_unique_id': None,
|
||||||
|
'supported_features': 0,
|
||||||
|
'translation_key': None,
|
||||||
|
'unique_id': 'F8042E25-0E53-0000-0000-000000000000.dustLevel',
|
||||||
|
'unit_of_measurement': 'µg/m³',
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_all_entities[da_ac_rac_100001][sensor.corridor_a_c_pm10-state]
|
||||||
|
StateSnapshot({
|
||||||
|
'attributes': ReadOnlyDict({
|
||||||
|
'device_class': 'pm10',
|
||||||
|
'friendly_name': 'Corridor A/C PM10',
|
||||||
|
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||||
|
'unit_of_measurement': 'µg/m³',
|
||||||
|
}),
|
||||||
|
'context': <ANY>,
|
||||||
|
'entity_id': 'sensor.corridor_a_c_pm10',
|
||||||
|
'last_changed': <ANY>,
|
||||||
|
'last_reported': <ANY>,
|
||||||
|
'last_updated': <ANY>,
|
||||||
|
'state': 'unknown',
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_all_entities[da_ac_rac_100001][sensor.corridor_a_c_pm2_5-entry]
|
||||||
|
EntityRegistryEntrySnapshot({
|
||||||
|
'aliases': set({
|
||||||
|
}),
|
||||||
|
'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.corridor_a_c_pm2_5',
|
||||||
|
'has_entity_name': True,
|
||||||
|
'hidden_by': None,
|
||||||
|
'icon': None,
|
||||||
|
'id': <ANY>,
|
||||||
|
'labels': set({
|
||||||
|
}),
|
||||||
|
'name': None,
|
||||||
|
'options': dict({
|
||||||
|
}),
|
||||||
|
'original_device_class': <SensorDeviceClass.PM25: 'pm25'>,
|
||||||
|
'original_icon': None,
|
||||||
|
'original_name': 'PM2.5',
|
||||||
|
'platform': 'smartthings',
|
||||||
|
'previous_unique_id': None,
|
||||||
|
'supported_features': 0,
|
||||||
|
'translation_key': None,
|
||||||
|
'unique_id': 'F8042E25-0E53-0000-0000-000000000000.fineDustLevel',
|
||||||
|
'unit_of_measurement': 'µg/m³',
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_all_entities[da_ac_rac_100001][sensor.corridor_a_c_pm2_5-state]
|
||||||
|
StateSnapshot({
|
||||||
|
'attributes': ReadOnlyDict({
|
||||||
|
'device_class': 'pm25',
|
||||||
|
'friendly_name': 'Corridor A/C PM2.5',
|
||||||
|
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||||
|
'unit_of_measurement': 'µg/m³',
|
||||||
|
}),
|
||||||
|
'context': <ANY>,
|
||||||
|
'entity_id': 'sensor.corridor_a_c_pm2_5',
|
||||||
|
'last_changed': <ANY>,
|
||||||
|
'last_reported': <ANY>,
|
||||||
|
'last_updated': <ANY>,
|
||||||
|
'state': 'unknown',
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_all_entities[da_ac_rac_100001][sensor.corridor_a_c_temperature-entry]
|
||||||
|
EntityRegistryEntrySnapshot({
|
||||||
|
'aliases': set({
|
||||||
|
}),
|
||||||
|
'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.corridor_a_c_temperature',
|
||||||
|
'has_entity_name': True,
|
||||||
|
'hidden_by': None,
|
||||||
|
'icon': None,
|
||||||
|
'id': <ANY>,
|
||||||
|
'labels': set({
|
||||||
|
}),
|
||||||
|
'name': None,
|
||||||
|
'options': dict({
|
||||||
|
}),
|
||||||
|
'original_device_class': <SensorDeviceClass.TEMPERATURE: 'temperature'>,
|
||||||
|
'original_icon': None,
|
||||||
|
'original_name': 'Temperature',
|
||||||
|
'platform': 'smartthings',
|
||||||
|
'previous_unique_id': None,
|
||||||
|
'supported_features': 0,
|
||||||
|
'translation_key': None,
|
||||||
|
'unique_id': 'F8042E25-0E53-0000-0000-000000000000.temperature',
|
||||||
|
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_all_entities[da_ac_rac_100001][sensor.corridor_a_c_temperature-state]
|
||||||
|
StateSnapshot({
|
||||||
|
'attributes': ReadOnlyDict({
|
||||||
|
'device_class': 'temperature',
|
||||||
|
'friendly_name': 'Corridor A/C Temperature',
|
||||||
|
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||||
|
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
|
||||||
|
}),
|
||||||
|
'context': <ANY>,
|
||||||
|
'entity_id': 'sensor.corridor_a_c_temperature',
|
||||||
|
'last_changed': <ANY>,
|
||||||
|
'last_reported': <ANY>,
|
||||||
|
'last_updated': <ANY>,
|
||||||
|
'state': '27',
|
||||||
|
})
|
||||||
|
# ---
|
||||||
# name: test_all_entities[da_ks_microwave_0101x][sensor.microwave_completion_time-entry]
|
# name: test_all_entities[da_ks_microwave_0101x][sensor.microwave_completion_time-entry]
|
||||||
EntityRegistryEntrySnapshot({
|
EntityRegistryEntrySnapshot({
|
||||||
'aliases': set({
|
'aliases': set({
|
||||||
|
Loading…
x
Reference in New Issue
Block a user