Add rflink binary_sensor allon and alloff commands (#32411)

* added "allon" and "alloff" to the binary_sensor

Ref to the issue: https://github.com/home-assistant/core/issues/32399

* Cosmetic fix

* Fix format

* Update test

Co-authored-by: Erik Montnemery <erik@montnemery.com>
pull/34353/head
tubalainen 2020-04-17 17:15:04 +02:00 committed by GitHub
parent ced59e599f
commit d672eed331
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 4 deletions

View File

@ -73,9 +73,9 @@ class RflinkBinarySensor(RflinkDevice, BinarySensorDevice):
def _handle_event(self, event):
"""Domain specific event handler."""
command = event["command"]
if command == "on":
if command in ["on", "allon"]:
self._state = True
elif command == "off":
elif command in ["off", "alloff"]:
self._state = False
if self._state and self._off_delay is not None:

View File

@ -56,18 +56,30 @@ async def test_default_setup(hass, monkeypatch):
assert config_sensor.state == STATE_OFF
assert config_sensor.attributes["device_class"] == "door"
# test event for config sensor
# test on event for config sensor
event_callback({"id": "test", "command": "on"})
await hass.async_block_till_done()
assert hass.states.get("binary_sensor.test").state == STATE_ON
# test event for config sensor
# test off event for config sensor
event_callback({"id": "test", "command": "off"})
await hass.async_block_till_done()
assert hass.states.get("binary_sensor.test").state == STATE_OFF
# test allon event for config sensor
event_callback({"id": "test", "command": "allon"})
await hass.async_block_till_done()
assert hass.states.get("binary_sensor.test").state == STATE_ON
# test alloff event for config sensor
event_callback({"id": "test", "command": "alloff"})
await hass.async_block_till_done()
assert hass.states.get("binary_sensor.test").state == STATE_OFF
async def test_entity_availability(hass, monkeypatch):
"""If Rflink device is disconnected, entities should become unavailable."""