Fix for stateless covers (#22962)
* Corrections and test * Raise error if does not support setting position * Raising error for stateless and assumed state covers * Fix pylint * Tests * Update test_trait.py
This commit is contained in:
parent
d722f4d64a
commit
b804919eaa
2 changed files with 51 additions and 29 deletions
|
@ -23,7 +23,7 @@ from homeassistant.components.google_assistant import trait, helpers, const
|
|||
from homeassistant.const import (
|
||||
STATE_ON, STATE_OFF, ATTR_ENTITY_ID, SERVICE_TURN_ON, SERVICE_TURN_OFF,
|
||||
TEMP_CELSIUS, TEMP_FAHRENHEIT, ATTR_SUPPORTED_FEATURES, ATTR_TEMPERATURE,
|
||||
ATTR_DEVICE_CLASS, ATTR_ASSUMED_STATE)
|
||||
ATTR_DEVICE_CLASS, ATTR_ASSUMED_STATE, STATE_UNKNOWN)
|
||||
from homeassistant.core import State, DOMAIN as HA_DOMAIN, EVENT_CALL_SERVICE
|
||||
from homeassistant.util import color
|
||||
from tests.common import async_mock_service, mock_coro
|
||||
|
@ -1088,15 +1088,24 @@ async def test_openclose_cover(hass):
|
|||
'openPercent': 100
|
||||
}
|
||||
|
||||
# No state
|
||||
trt = trait.OpenCloseTrait(hass, State('cover.bla', STATE_UNKNOWN, {
|
||||
}), BASIC_CONFIG)
|
||||
|
||||
assert trt.sync_attributes() == {}
|
||||
|
||||
with pytest.raises(helpers.SmartHomeError):
|
||||
trt.query_attributes()
|
||||
|
||||
# Assumed state
|
||||
trt = trait.OpenCloseTrait(hass, State('cover.bla', cover.STATE_OPEN, {
|
||||
ATTR_ASSUMED_STATE: True,
|
||||
}), BASIC_CONFIG)
|
||||
|
||||
assert trt.sync_attributes() == {}
|
||||
assert trt.query_attributes() == {
|
||||
'openPercent': 50
|
||||
}
|
||||
|
||||
with pytest.raises(helpers.SmartHomeError):
|
||||
trt.query_attributes()
|
||||
|
||||
trt = trait.OpenCloseTrait(hass, State('cover.bla', cover.STATE_OPEN, {
|
||||
cover.ATTR_CURRENT_POSITION: 75
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue