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:
@@ -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
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user