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

Add support for variable fan speed list length. (#30574)

This commit is contained in:
ochlocracy
2020-01-10 20:26:37 -05:00
committed by Paulus Schoutsen
parent 669c89e8c0
commit 605b0ceb5f
6 changed files with 134 additions and 67 deletions

View File

@@ -315,12 +315,22 @@ async def test_report_fan_speed_state(hass):
hass.states.async_set(
"fan.off",
"off",
{"friendly_name": "Off fan", "speed": "off", "supported_features": 1},
{
"friendly_name": "Off fan",
"speed": "off",
"supported_features": 1,
"speed_list": ["off", "low", "medium", "high"],
},
)
hass.states.async_set(
"fan.low_speed",
"on",
{"friendly_name": "Low speed fan", "speed": "low", "supported_features": 1},
{
"friendly_name": "Low speed fan",
"speed": "low",
"supported_features": 1,
"speed_list": ["off", "low", "medium", "high"],
},
)
hass.states.async_set(
"fan.medium_speed",
@@ -329,12 +339,18 @@ async def test_report_fan_speed_state(hass):
"friendly_name": "Medium speed fan",
"speed": "medium",
"supported_features": 1,
"speed_list": ["off", "low", "medium", "high"],
},
)
hass.states.async_set(
"fan.high_speed",
"on",
{"friendly_name": "High speed fan", "speed": "high", "supported_features": 1},
{
"friendly_name": "High speed fan",
"speed": "high",
"supported_features": 1,
"speed_list": ["off", "low", "medium", "high"],
},
)
properties = await reported_properties(hass, "fan.off")
@@ -361,25 +377,24 @@ async def test_report_fan_speed_state(hass):
async def test_report_fan_oscillating(hass):
"""Test ToggleController reports fan oscillating correctly."""
hass.states.async_set(
"fan.off",
"fan.oscillating_off",
"off",
{"friendly_name": "Off fan", "speed": "off", "supported_features": 3},
{"friendly_name": "fan oscillating off", "supported_features": 2},
)
hass.states.async_set(
"fan.low_speed",
"fan.oscillating_on",
"on",
{
"friendly_name": "Low speed fan",
"speed": "low",
"friendly_name": "Fan oscillating on",
"oscillating": True,
"supported_features": 3,
"supported_features": 2,
},
)
properties = await reported_properties(hass, "fan.off")
properties = await reported_properties(hass, "fan.oscillating_off")
properties.assert_equal("Alexa.ToggleController", "toggleState", "OFF")
properties = await reported_properties(hass, "fan.low_speed")
properties = await reported_properties(hass, "fan.oscillating_on")
properties.assert_equal("Alexa.ToggleController", "toggleState", "ON")