mirror of
https://github.com/home-assistant/core.git
synced 2025-04-25 09:47:52 +00:00
Homekit: Fix security systems (#13499)
* Fix alarm_code=None * Added test
This commit is contained in:
parent
264be67787
commit
2bebfec3a6
@ -58,7 +58,9 @@ class SecuritySystem(HomeAccessory):
|
|||||||
hass_value = HOMEKIT_TO_HASS[value]
|
hass_value = HOMEKIT_TO_HASS[value]
|
||||||
service = STATE_TO_SERVICE[hass_value]
|
service = STATE_TO_SERVICE[hass_value]
|
||||||
|
|
||||||
params = {ATTR_ENTITY_ID: self._entity_id, ATTR_CODE: self._alarm_code}
|
params = {ATTR_ENTITY_ID: self._entity_id}
|
||||||
|
if self._alarm_code:
|
||||||
|
params[ATTR_CODE] = self._alarm_code
|
||||||
self._hass.services.call('alarm_control_panel', service, params)
|
self._hass.services.call('alarm_control_panel', service, params)
|
||||||
|
|
||||||
def update_state(self, entity_id=None, old_state=None, new_state=None):
|
def update_state(self, entity_id=None, old_state=None, new_state=None):
|
||||||
|
@ -102,3 +102,19 @@ class TestHomekitSecuritySystems(unittest.TestCase):
|
|||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
self.events[0].data[ATTR_SERVICE_DATA][ATTR_CODE], '1234')
|
self.events[0].data[ATTR_SERVICE_DATA][ATTR_CODE], '1234')
|
||||||
self.assertEqual(acc.char_target_state.value, 3)
|
self.assertEqual(acc.char_target_state.value, 3)
|
||||||
|
|
||||||
|
def test_no_alarm_code(self):
|
||||||
|
"""Test accessory if security_system doesn't require a alarm_code."""
|
||||||
|
acp = 'alarm_control_panel.test'
|
||||||
|
|
||||||
|
acc = SecuritySystem(self.hass, acp, 'SecuritySystem',
|
||||||
|
alarm_code=None, aid=2)
|
||||||
|
acc.run()
|
||||||
|
|
||||||
|
# Set from HomeKit
|
||||||
|
acc.char_target_state.set_value(0)
|
||||||
|
self.hass.block_till_done()
|
||||||
|
self.assertEqual(
|
||||||
|
self.events[0].data[ATTR_SERVICE], 'alarm_arm_home')
|
||||||
|
self.assertNotIn(ATTR_CODE, self.events[0].data[ATTR_SERVICE_DATA])
|
||||||
|
self.assertEqual(acc.char_target_state.value, 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user