Add support for input boolean to Google Assistant (#13030)
This commit is contained in:
parent
556901ea48
commit
652e0d45a9
2 changed files with 41 additions and 1 deletions
|
@ -5,6 +5,7 @@ from homeassistant.components import (
|
||||||
cover,
|
cover,
|
||||||
group,
|
group,
|
||||||
fan,
|
fan,
|
||||||
|
input_boolean,
|
||||||
media_player,
|
media_player,
|
||||||
light,
|
light,
|
||||||
scene,
|
scene,
|
||||||
|
@ -182,6 +183,7 @@ class OnOffTrait(_Trait):
|
||||||
"""Test if state is supported."""
|
"""Test if state is supported."""
|
||||||
return domain in (
|
return domain in (
|
||||||
group.DOMAIN,
|
group.DOMAIN,
|
||||||
|
input_boolean.DOMAIN,
|
||||||
switch.DOMAIN,
|
switch.DOMAIN,
|
||||||
fan.DOMAIN,
|
fan.DOMAIN,
|
||||||
light.DOMAIN,
|
light.DOMAIN,
|
||||||
|
|
|
@ -9,8 +9,9 @@ from homeassistant.components import (
|
||||||
climate,
|
climate,
|
||||||
cover,
|
cover,
|
||||||
fan,
|
fan,
|
||||||
media_player,
|
input_boolean,
|
||||||
light,
|
light,
|
||||||
|
media_player,
|
||||||
scene,
|
scene,
|
||||||
script,
|
script,
|
||||||
switch,
|
switch,
|
||||||
|
@ -138,6 +139,43 @@ async def test_onoff_group(hass):
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
async def test_onoff_input_boolean(hass):
|
||||||
|
"""Test OnOff trait support for input_boolean domain."""
|
||||||
|
assert trait.OnOffTrait.supported(media_player.DOMAIN, 0)
|
||||||
|
|
||||||
|
trt_on = trait.OnOffTrait(State('input_boolean.bla', STATE_ON))
|
||||||
|
|
||||||
|
assert trt_on.sync_attributes() == {}
|
||||||
|
|
||||||
|
assert trt_on.query_attributes() == {
|
||||||
|
'on': True
|
||||||
|
}
|
||||||
|
|
||||||
|
trt_off = trait.OnOffTrait(State('input_boolean.bla', STATE_OFF))
|
||||||
|
assert trt_off.query_attributes() == {
|
||||||
|
'on': False
|
||||||
|
}
|
||||||
|
|
||||||
|
on_calls = async_mock_service(hass, input_boolean.DOMAIN, SERVICE_TURN_ON)
|
||||||
|
await trt_on.execute(hass, trait.COMMAND_ONOFF, {
|
||||||
|
'on': True
|
||||||
|
})
|
||||||
|
assert len(on_calls) == 1
|
||||||
|
assert on_calls[0].data == {
|
||||||
|
ATTR_ENTITY_ID: 'input_boolean.bla',
|
||||||
|
}
|
||||||
|
|
||||||
|
off_calls = async_mock_service(hass, input_boolean.DOMAIN,
|
||||||
|
SERVICE_TURN_OFF)
|
||||||
|
await trt_on.execute(hass, trait.COMMAND_ONOFF, {
|
||||||
|
'on': False
|
||||||
|
})
|
||||||
|
assert len(off_calls) == 1
|
||||||
|
assert off_calls[0].data == {
|
||||||
|
ATTR_ENTITY_ID: 'input_boolean.bla',
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
async def test_onoff_switch(hass):
|
async def test_onoff_switch(hass):
|
||||||
"""Test OnOff trait support for switch domain."""
|
"""Test OnOff trait support for switch domain."""
|
||||||
assert trait.OnOffTrait.supported(media_player.DOMAIN, 0)
|
assert trait.OnOffTrait.supported(media_player.DOMAIN, 0)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue