1
0
mirror of https://github.com/home-assistant/core.git synced 2025-12-24 12:59:34 +00:00

Assistant sensors (#55480)

This commit is contained in:
Matthew Garrett
2021-08-30 20:33:06 -07:00
committed by GitHub
parent 368cac7e5d
commit dd21bf73fc
3 changed files with 113 additions and 0 deletions

View File

@@ -3003,3 +3003,56 @@ async def test_channel(hass):
with pytest.raises(SmartHomeError, match="Unsupported command"):
await trt.execute("Unknown command", BASIC_DATA, {"channelNumber": "1"}, {})
assert len(media_player_calls) == 1
async def test_sensorstate(hass):
"""Test SensorState trait support for sensor domain."""
sensor_types = {
sensor.DEVICE_CLASS_AQI: ("AirQuality", "AQI"),
sensor.DEVICE_CLASS_CO: ("CarbonDioxideLevel", "PARTS_PER_MILLION"),
sensor.DEVICE_CLASS_CO2: ("CarbonMonoxideLevel", "PARTS_PER_MILLION"),
sensor.DEVICE_CLASS_PM25: ("PM2.5", "MICROGRAMS_PER_CUBIC_METER"),
sensor.DEVICE_CLASS_PM10: ("PM10", "MICROGRAMS_PER_CUBIC_METER"),
sensor.DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS: (
"VolatileOrganicCompounds",
"PARTS_PER_MILLION",
),
}
for sensor_type in sensor_types:
assert helpers.get_google_type(sensor.DOMAIN, None) is not None
assert trait.SensorStateTrait.supported(sensor.DOMAIN, None, sensor_type, None)
trt = trait.SensorStateTrait(
hass,
State(
"sensor.test",
100.0,
{
"device_class": sensor_type,
},
),
BASIC_CONFIG,
)
name = sensor_types[sensor_type][0]
unit = sensor_types[sensor_type][1]
assert trt.sync_attributes() == {
"sensorStatesSupported": {
"name": name,
"numericCapabilities": {"rawValueUnit": unit},
}
}
assert trt.query_attributes() == {
"currentSensorStateData": [{"name": name, "rawValue": "100.0"}]
}
assert helpers.get_google_type(sensor.DOMAIN, None) is not None
assert (
trait.SensorStateTrait.supported(
sensor.DOMAIN, None, sensor.DEVICE_CLASS_MONETARY, None
)
is False
)