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]
|
||||
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)
|
||||
|
||||
def update_state(self, entity_id=None, old_state=None, new_state=None):
|
||||
|
@ -102,3 +102,19 @@ class TestHomekitSecuritySystems(unittest.TestCase):
|
||||
self.assertEqual(
|
||||
self.events[0].data[ATTR_SERVICE_DATA][ATTR_CODE], '1234')
|
||||
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