Add energy consumption sensors to smartthings devices (#53759)

This commit is contained in:
Chris 2021-08-01 20:35:03 -07:00 committed by GitHub
parent 32c2d42863
commit 8ac1f5d28a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 111 additions and 0 deletions

View file

@ -139,6 +139,55 @@ async def test_energy_sensors_for_switch_device(hass, device_factory):
assert entry.manufacturer == "Unavailable"
async def test_power_consumption_sensor(hass, device_factory):
"""Test the attributes of the entity are correct."""
# Arrange
device = device_factory(
"refrigerator",
[Capability.power_consumption_report],
{
Attribute.power_consumption: {
"energy": 1412002,
"deltaEnergy": 25,
"power": 109,
"powerEnergy": 24.304498331745464,
"persistedEnergy": 0,
"energySaved": 0,
"start": "2021-07-30T16:45:25Z",
"end": "2021-07-30T16:58:33Z",
}
},
)
entity_registry = er.async_get(hass)
device_registry = dr.async_get(hass)
# Act
await setup_platform(hass, SENSOR_DOMAIN, devices=[device])
# Assert
state = hass.states.get("sensor.refrigerator_energy")
assert state
assert state.state == "1412.002"
entry = entity_registry.async_get("sensor.refrigerator_energy")
assert entry
assert entry.unique_id == f"{device.device_id}.energy"
entry = device_registry.async_get_device({(DOMAIN, device.device_id)})
assert entry
assert entry.name == device.label
assert entry.model == device.device_type_name
assert entry.manufacturer == "Unavailable"
state = hass.states.get("sensor.refrigerator_power")
assert state
assert state.state == "109"
entry = entity_registry.async_get("sensor.refrigerator_power")
assert entry
assert entry.unique_id == f"{device.device_id}.power"
entry = device_registry.async_get_device({(DOMAIN, device.device_id)})
assert entry
assert entry.name == device.label
assert entry.model == device.device_type_name
assert entry.manufacturer == "Unavailable"
async def test_update_from_signal(hass, device_factory):
"""Test the binary_sensor updates when receiving a signal."""
# Arrange