Add support for PM1.0 in SmartThings (#141061)

* Add support for PM1.0 in SmartThings

* Add test fixtures

* Add test fixtures
This commit is contained in:
Joost Lekkerkerker 2025-03-21 16:29:00 +01:00 committed by GitHub
parent c1753631b1
commit 74ed0e8011
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 961 additions and 3 deletions

View File

@ -225,7 +225,6 @@ CAPABILITY_TO_SENSORS: dict[
)
]
},
# Haven't seen at devices yet
Capability.CARBON_DIOXIDE_MEASUREMENT: {
Attribute.CARBON_DIOXIDE: [
SmartThingsSensorEntityDescription(
@ -467,7 +466,6 @@ CAPABILITY_TO_SENSORS: dict[
)
]
},
# part of the proposed spec, Haven't seen at devices yet
Capability.MEDIA_PLAYBACK_REPEAT: {
Attribute.PLAYBACK_REPEAT_MODE: [
SmartThingsSensorEntityDescription(
@ -476,7 +474,6 @@ CAPABILITY_TO_SENSORS: dict[
)
]
},
# part of the proposed spec, Haven't seen at devices yet
Capability.MEDIA_PLAYBACK_SHUFFLE: {
Attribute.PLAYBACK_SHUFFLE: [
SmartThingsSensorEntityDescription(
@ -903,6 +900,16 @@ CAPABILITY_TO_SENSORS: dict[
)
]
},
Capability.VERY_FINE_DUST_SENSOR: {
Attribute.VERY_FINE_DUST_LEVEL: [
SmartThingsSensorEntityDescription(
key=Attribute.VERY_FINE_DUST_LEVEL,
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
device_class=SensorDeviceClass.PM1,
state_class=SensorStateClass.MEASUREMENT,
)
]
},
Capability.VOLTAGE_MEASUREMENT: {
Attribute.VOLTAGE: [
SmartThingsSensorEntityDescription(

View File

@ -91,6 +91,7 @@ def mock_smartthings() -> Generator[AsyncMock]:
@pytest.fixture(
params=[
"da_ac_airsensor_01001",
"da_ac_rac_000001",
"da_ac_rac_100001",
"da_ac_rac_01001",

View File

@ -0,0 +1,362 @@
{
"components": {
"main": {
"samsungce.rechargeableBattery": {
"chargingStatus": {
"value": "charging",
"timestamp": "2025-02-18T05:20:27.966Z"
},
"battery": {
"value": 100,
"unit": "%",
"timestamp": "2025-02-22T04:50:19.633Z"
},
"resolution": {
"value": 1,
"timestamp": "2024-12-20T14:38:31.662Z"
}
},
"relativeHumidityMeasurement": {
"humidity": {
"value": 54,
"unit": "%",
"timestamp": "2025-03-21T07:26:16.872Z"
}
},
"refresh": {},
"carbonDioxideHealthConcern": {
"carbonDioxideHealthConcern": {
"value": "moderate",
"timestamp": "2025-03-21T13:40:56.560Z"
}
},
"execute": {
"data": {
"value": {
"payload": {
"rt": ["x.com.samsung.da.sensors"],
"if": ["oic.if.baseline", "oic.if.s"],
"x.com.samsung.da.cleanLevel": "2",
"x.com.samsung.da.refresh": "Off",
"x.com.samsung.da.lastSensingTime": "1740829045",
"x.com.samsung.da.items": [
{
"x.com.samsung.da.id": "0",
"x.com.samsung.da.description": "Sensor for CleanLevel",
"x.com.samsung.da.type": "CleanLevel",
"x.com.samsung.da.value": ["2"]
},
{
"x.com.samsung.da.id": "1",
"x.com.samsung.da.description": "Sensor for Odor",
"x.com.samsung.da.type": "Odor",
"x.com.samsung.da.value": ["2"]
},
{
"x.com.samsung.da.id": "2",
"x.com.samsung.da.description": "Sensor for Dust",
"x.com.samsung.da.type": "Dust",
"x.com.samsung.da.value": ["29", "1"]
},
{
"x.com.samsung.da.id": "3",
"x.com.samsung.da.description": "Sensor for FineDust",
"x.com.samsung.da.type": "FineDust",
"x.com.samsung.da.value": ["7", "1"]
},
{
"x.com.samsung.da.id": "4",
"x.com.samsung.da.description": "Sensor for SuperFineDust",
"x.com.samsung.da.type": "SuperFineDust",
"x.com.samsung.da.value": ["6", "1"]
},
{
"x.com.samsung.da.id": "5",
"x.com.samsung.da.description": "Sensor for CO2",
"x.com.samsung.da.type": "CO2",
"x.com.samsung.da.value": ["2527", "3"]
}
]
}
},
"data": {
"href": "/sensors/vs/0"
},
"timestamp": "2025-03-01T11:37:26.334Z"
}
},
"carbonDioxideMeasurement": {
"carbonDioxide": {
"value": 1045,
"unit": "ppm",
"timestamp": "2025-03-21T15:05:44.312Z"
}
},
"samsungce.deviceIdentification": {
"micomAssayCode": {
"value": null
},
"modelName": {
"value": null
},
"serialNumber": {
"value": null
},
"serialNumberExtra": {
"value": null
},
"modelClassificationCode": {
"value": null
},
"description": {
"value": null
},
"releaseYear": {
"value": null
},
"binaryId": {
"value": "ASM-KR-TP1-22-ACMB1M",
"timestamp": "2025-03-20T23:08:07.388Z"
}
},
"airQualitySensor": {
"airQuality": {
"value": 2,
"unit": "CAQI",
"timestamp": "2025-03-21T15:06:39.609Z"
}
},
"fineDustHealthConcern": {
"fineDustHealthConcern": {
"value": "good",
"timestamp": "2025-03-21T10:25:04.548Z"
}
},
"ocf": {
"st": {
"value": null
},
"mndt": {
"value": null
},
"mnfv": {
"value": "ASM-KR-TP1-22-ACMB1M_16240426",
"timestamp": "2024-08-19T07:28:01.277Z"
},
"mnhw": {
"value": "Realtek",
"timestamp": "2024-08-19T07:28:01.277Z"
},
"di": {
"value": "a3a970ea-e09c-9c04-161b-94c934e21666",
"timestamp": "2024-08-19T07:28:01.277Z"
},
"mnsl": {
"value": "http://www.samsung.com",
"timestamp": "2024-08-19T07:28:01.277Z"
},
"dmv": {
"value": "1.2.1",
"timestamp": "2024-08-19T07:28:01.277Z"
},
"n": {
"value": "Samsung AirMonitor",
"timestamp": "2024-08-19T07:28:01.277Z"
},
"mnmo": {
"value": "ASM-KR-TP1-22-ACMB1M|10243041|75000000001611C40800020000080000",
"timestamp": "2024-08-19T07:28:01.277Z"
},
"vid": {
"value": "DA-AC-AIRSENSOR-01001",
"timestamp": "2024-08-19T07:28:01.277Z"
},
"mnmn": {
"value": "Samsung Electronics",
"timestamp": "2024-08-19T07:28:01.277Z"
},
"mnml": {
"value": "http://www.samsung.com",
"timestamp": "2024-08-19T07:28:01.277Z"
},
"mnpv": {
"value": "DAWIT 2.0",
"timestamp": "2024-08-19T07:28:01.277Z"
},
"mnos": {
"value": "TizenRT 4.0",
"timestamp": "2024-08-19T07:28:01.277Z"
},
"pi": {
"value": "a3a970ea-e09c-9c04-161b-94c934e21666",
"timestamp": "2024-08-19T07:28:01.277Z"
},
"icv": {
"value": "core.1.1.0",
"timestamp": "2024-08-19T07:28:01.277Z"
}
},
"odorSensor": {
"odorLevel": {
"value": 1,
"timestamp": "2025-03-21T13:29:15.650Z"
}
},
"veryFineDustHealthConcern": {
"veryFineDustHealthConcern": {
"value": "good",
"timestamp": "2025-03-21T02:56:21.007Z"
}
},
"samsungce.doNotDisturb": {
"settable": {
"value": true,
"timestamp": "2024-12-20T14:38:31.895Z"
},
"dayOfWeek": {
"value": null
},
"repeatMode": {
"value": null
},
"startTime": {
"value": "14:00:00Z",
"timestamp": "2024-12-20T14:38:31.895Z"
},
"endTime": {
"value": "22:00:00Z",
"timestamp": "2024-12-20T14:38:31.895Z"
},
"activated": {
"value": false,
"timestamp": "2024-12-20T14:38:31.895Z"
}
},
"custom.disabledCapabilities": {
"disabledCapabilities": {
"value": [],
"timestamp": "2025-03-01T11:37:26.334Z"
}
},
"samsungce.driverVersion": {
"versionNumber": {
"value": 22100101,
"timestamp": "2023-12-09T04:05:59.505Z"
}
},
"samsungce.softwareUpdate": {
"targetModule": {
"value": null
},
"otnDUID": {
"value": "EXCHUODPSCTZY",
"timestamp": "2024-12-20T14:38:31.716Z"
},
"lastUpdatedDate": {
"value": null
},
"availableModules": {
"value": [],
"timestamp": "2024-12-20T14:38:31.716Z"
},
"newVersionAvailable": {
"value": false,
"timestamp": "2024-12-20T14:38:31.716Z"
},
"operatingState": {
"value": null
},
"progress": {
"value": null
}
},
"sec.diagnosticsInformation": {
"logType": {
"value": ["errCode", "dump"],
"timestamp": "2024-12-20T14:38:31.716Z"
},
"endpoint": {
"value": "SSM",
"timestamp": "2024-12-20T14:38:31.716Z"
},
"minVersion": {
"value": "1.0",
"timestamp": "2024-12-20T14:38:31.716Z"
},
"signinPermission": {
"value": null
},
"setupId": {
"value": "AM0",
"timestamp": "2024-12-20T14:38:31.716Z"
},
"protocolType": {
"value": "wifi_https",
"timestamp": "2024-12-20T14:38:31.716Z"
},
"tsId": {
"value": null
},
"mnId": {
"value": "0AJT",
"timestamp": "2024-12-20T14:38:31.716Z"
},
"dumpType": {
"value": "file",
"timestamp": "2024-12-20T14:38:31.716Z"
}
},
"temperatureMeasurement": {
"temperatureRange": {
"value": null
},
"temperature": {
"value": 23.0,
"unit": "C",
"timestamp": "2025-03-21T04:40:33.951Z"
}
},
"dustSensor": {
"dustLevel": {
"value": 31,
"unit": "\u03bcg/m^3",
"timestamp": "2025-03-21T15:06:39.609Z"
},
"fineDustLevel": {
"value": 7,
"unit": "\u03bcg/m^3",
"timestamp": "2025-03-21T15:06:28.515Z"
}
},
"veryFineDustSensor": {
"veryFineDustLevel": {
"value": 6,
"unit": "\u03bcg/m^3",
"timestamp": "2025-03-21T15:06:28.515Z"
}
},
"custom.deviceReportStateConfiguration": {
"reportStateRealtimePeriod": {
"value": "enabled",
"timestamp": "2024-12-20T14:38:31.769Z"
},
"reportStateRealtime": {
"value": {
"state": "disabled"
},
"timestamp": "2025-03-20T22:02:48.215Z"
},
"reportStatePeriod": {
"value": "enabled",
"timestamp": "2024-12-20T14:38:31.769Z"
}
},
"dustHealthConcern": {
"dustHealthConcern": {
"value": "moderate",
"timestamp": "2025-03-21T15:06:39.609Z"
}
}
}
}
}

View File

@ -0,0 +1,145 @@
{
"items": [
{
"deviceId": "a3a970ea-e09c-9c04-161b-94c934e21666",
"name": "Samsung AirMonitor",
"label": "\uc5d0\uc5b4\ubaa8\ub2c8\ud130 \ud50c\ub7ec\uc2a4",
"manufacturerName": "Samsung Electronics",
"presentationId": "DA-AC-AIRSENSOR-01001",
"deviceManufacturerCode": "Samsung Electronics",
"locationId": "33db9e71-abe9-43a0-acd3-3f0927bbe5b7",
"ownerId": "9a1ee192-04ba-46ca-9c3d-196d8dbcf807",
"roomId": "445c006d-1796-4dd6-8308-1c3cd045e8ff",
"deviceTypeName": "x.com.st.d.airqualitysensor",
"components": [
{
"id": "main",
"label": "main",
"capabilities": [
{
"id": "ocf",
"version": 1
},
{
"id": "execute",
"version": 1
},
{
"id": "refresh",
"version": 1
},
{
"id": "temperatureMeasurement",
"version": 1
},
{
"id": "relativeHumidityMeasurement",
"version": 1
},
{
"id": "dustSensor",
"version": 1
},
{
"id": "dustHealthConcern",
"version": 1
},
{
"id": "fineDustHealthConcern",
"version": 1
},
{
"id": "veryFineDustSensor",
"version": 1
},
{
"id": "veryFineDustHealthConcern",
"version": 1
},
{
"id": "airQualitySensor",
"version": 1
},
{
"id": "odorSensor",
"version": 1
},
{
"id": "carbonDioxideMeasurement",
"version": 1
},
{
"id": "carbonDioxideHealthConcern",
"version": 1
},
{
"id": "samsungce.deviceIdentification",
"version": 1
},
{
"id": "samsungce.rechargeableBattery",
"version": 1
},
{
"id": "samsungce.doNotDisturb",
"version": 1
},
{
"id": "samsungce.driverVersion",
"version": 1
},
{
"id": "samsungce.softwareUpdate",
"version": 1
},
{
"id": "custom.deviceReportStateConfiguration",
"version": 1
},
{
"id": "custom.disabledCapabilities",
"version": 1
},
{
"id": "sec.diagnosticsInformation",
"version": 1
}
],
"categories": [
{
"name": "AirQualityDetector",
"categoryType": "manufacturer"
}
]
}
],
"createTime": "2023-12-09T04:05:59.040Z",
"profile": {
"id": "1d34dd9d-6840-3df6-a6d0-5d9f4a4af2e1"
},
"ocf": {
"ocfDeviceType": "x.com.st.d.airqualitysensor",
"name": "Samsung AirMonitor",
"specVersion": "core.1.1.0",
"verticalDomainSpecVersion": "1.2.1",
"manufacturerName": "Samsung Electronics",
"modelNumber": "ASM-KR-TP1-22-ACMB1M|10243041|75000000001611C40800020000080000",
"platformVersion": "DAWIT 2.0",
"platformOS": "TizenRT 4.0",
"hwVersion": "Realtek",
"firmwareVersion": "ASM-KR-TP1-22-ACMB1M_16240426",
"vendorId": "DA-AC-AIRSENSOR-01001",
"vendorResourceClientServerVersion": "MediaTek Release 240426",
"lastSignupTime": "2023-12-09T04:05:54.816486Z",
"transferCandidate": false,
"additionalAuthCodeRequired": false
},
"type": "OCF",
"restrictionTier": 0,
"allowed": null,
"executionContext": "CLOUD",
"relationships": []
}
],
"_links": {}
}

View File

@ -299,6 +299,39 @@
'via_device_id': None,
})
# ---
# name: test_devices[da_ac_airsensor_01001]
DeviceRegistryEntrySnapshot({
'area_id': None,
'config_entries': <ANY>,
'config_entries_subentries': <ANY>,
'configuration_url': 'https://account.smartthings.com',
'connections': set({
}),
'disabled_by': None,
'entry_type': None,
'hw_version': 'Realtek',
'id': <ANY>,
'identifiers': set({
tuple(
'smartthings',
'a3a970ea-e09c-9c04-161b-94c934e21666',
),
}),
'is_new': False,
'labels': set({
}),
'manufacturer': 'Samsung Electronics',
'model': 'ASM-KR-TP1-22-ACMB1M',
'model_id': None,
'name': '에어모니터 플러스',
'name_by_user': None,
'primary_config_entry': <ANY>,
'serial_number': None,
'suggested_area': None,
'sw_version': 'ASM-KR-TP1-22-ACMB1M_16240426',
'via_device_id': None,
})
# ---
# name: test_devices[da_ac_rac_000001]
DeviceRegistryEntrySnapshot({
'area_id': 'theater',

View File

@ -674,6 +674,416 @@
'state': '15.0',
})
# ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_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.eeomoniteo_peulreoseu_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': 'a3a970ea-e09c-9c04-161b-94c934e21666.airQuality',
'unit_of_measurement': 'CAQI',
})
# ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_air_quality-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': '에어모니터 플러스 Air quality',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'CAQI',
}),
'context': <ANY>,
'entity_id': 'sensor.eeomoniteo_peulreoseu_air_quality',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '2',
})
# ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_carbon_dioxide-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.eeomoniteo_peulreoseu_carbon_dioxide',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.CO2: 'carbon_dioxide'>,
'original_icon': None,
'original_name': 'Carbon dioxide',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'a3a970ea-e09c-9c04-161b-94c934e21666.carbonDioxide',
'unit_of_measurement': 'ppm',
})
# ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_carbon_dioxide-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'carbon_dioxide',
'friendly_name': '에어모니터 플러스 Carbon dioxide',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'ppm',
}),
'context': <ANY>,
'entity_id': 'sensor.eeomoniteo_peulreoseu_carbon_dioxide',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '1045',
})
# ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_humidity-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.eeomoniteo_peulreoseu_humidity',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
'original_icon': None,
'original_name': 'Humidity',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'a3a970ea-e09c-9c04-161b-94c934e21666.humidity',
'unit_of_measurement': '%',
})
# ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_humidity-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'humidity',
'friendly_name': '에어모니터 플러스 Humidity',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.eeomoniteo_peulreoseu_humidity',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '54',
})
# ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_odor_sensor-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'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.eeomoniteo_peulreoseu_odor_sensor',
'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': 'Odor sensor',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'odor_sensor',
'unique_id': 'a3a970ea-e09c-9c04-161b-94c934e21666.odorLevel',
'unit_of_measurement': None,
})
# ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_odor_sensor-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': '에어모니터 플러스 Odor sensor',
}),
'context': <ANY>,
'entity_id': 'sensor.eeomoniteo_peulreoseu_odor_sensor',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '1',
})
# ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_pm1-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.eeomoniteo_peulreoseu_pm1',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.PM1: 'pm1'>,
'original_icon': None,
'original_name': 'PM1',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'a3a970ea-e09c-9c04-161b-94c934e21666.veryFineDustLevel',
'unit_of_measurement': 'µg/m³',
})
# ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_pm1-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'pm1',
'friendly_name': '에어모니터 플러스 PM1',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³',
}),
'context': <ANY>,
'entity_id': 'sensor.eeomoniteo_peulreoseu_pm1',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '6',
})
# ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_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.eeomoniteo_peulreoseu_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': 'a3a970ea-e09c-9c04-161b-94c934e21666.dustLevel',
'unit_of_measurement': 'µg/m³',
})
# ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_pm10-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'pm10',
'friendly_name': '에어모니터 플러스 PM10',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³',
}),
'context': <ANY>,
'entity_id': 'sensor.eeomoniteo_peulreoseu_pm10',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '31',
})
# ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_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.eeomoniteo_peulreoseu_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': 'a3a970ea-e09c-9c04-161b-94c934e21666.fineDustLevel',
'unit_of_measurement': 'µg/m³',
})
# ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_pm2_5-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'pm25',
'friendly_name': '에어모니터 플러스 PM2.5',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³',
}),
'context': <ANY>,
'entity_id': 'sensor.eeomoniteo_peulreoseu_pm2_5',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '7',
})
# ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_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.eeomoniteo_peulreoseu_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': 'a3a970ea-e09c-9c04-161b-94c934e21666.temperature',
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
})
# ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_temperature-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'temperature',
'friendly_name': '에어모니터 플러스 Temperature',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
}),
'context': <ANY>,
'entity_id': 'sensor.eeomoniteo_peulreoseu_temperature',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '23.0',
})
# ---
# name: test_all_entities[da_ac_rac_000001][sensor.ac_office_granit_energy-entry]
EntityRegistryEntrySnapshot({
'aliases': set({