From d9c6abc87d1e91ae0c3300de19c4ee6bd255918b Mon Sep 17 00:00:00 2001 From: Aaron Bach Date: Wed, 3 Oct 2018 16:57:55 -0600 Subject: [PATCH] Added a `trigger_instantly` property to V2 and V3 systems --- simplipy/sensor.py | 10 ++++++++++ tests/fixtures/v2.py | 2 +- tests/test_sensor.py | 4 +++- tests/test_system.py | 6 +++--- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/simplipy/sensor.py b/simplipy/sensor.py index 4a62d179..3c890878 100644 --- a/simplipy/sensor.py +++ b/simplipy/sensor.py @@ -77,6 +77,11 @@ def settings(self) -> bool: """Return the sensor's settings.""" return self.sensor_data['setting'] + @property + def trigger_instantly(self) -> bool: + """Return whether the sensor will trigger instantly.""" + return self.sensor_data['instant'] + @property def triggered(self) -> bool: """Return the current sensor state.""" @@ -111,6 +116,11 @@ def settings(self) -> dict: """Return the sensor's settings.""" return self.sensor_data['setting'] + @property + def trigger_instantly(self) -> bool: + """Return whether the sensor will trigger instantly.""" + return self.sensor_data['setting']['instantTrigger'] + @property def triggered(self) -> bool: """Return the sensor's status info.""" diff --git a/tests/fixtures/v2.py b/tests/fixtures/v2.py index bcffb4a3..dff59401 100644 --- a/tests/fixtures/v2.py +++ b/tests/fixtures/v2.py @@ -231,7 +231,7 @@ def v2_settings_json(): "entryStatus": "closed" }, { "type": 5, - "serial": "609", + "serial": "610", "setting": 1, "instant": False, "enotify": False, diff --git a/tests/test_sensor.py b/tests/test_sensor.py index aad63fd6..9991dba5 100644 --- a/tests/test_sensor.py +++ b/tests/test_sensor.py @@ -50,10 +50,11 @@ async def test_properties_v2(event_loop, v2_server): assert keypad.triggered == 42 entry_sensor = system.sensors['609'] - assert entry_sensor.data == 210 + assert entry_sensor.data == 130 assert not entry_sensor.error assert not entry_sensor.low_battery assert entry_sensor.settings == 1 + assert not entry_sensor.trigger_instantly assert not entry_sensor.triggered @@ -71,6 +72,7 @@ async def test_properties_v3(event_loop, v3_server): assert not entry_sensor.low_battery assert not entry_sensor.offline assert not entry_sensor.settings['instantTrigger'] + assert not entry_sensor.trigger_instantly assert not entry_sensor.triggered siren = system.sensors['236'] diff --git a/tests/test_system.py b/tests/test_system.py index e09ee11d..7e402c2a 100644 --- a/tests/test_system.py +++ b/tests/test_system.py @@ -114,7 +114,7 @@ async def test_get_systems_v2( assert primary_system.serial == TEST_SYSTEM_SERIAL_NO assert primary_system.system_id == TEST_SYSTEM_ID assert primary_system.api._access_token == TEST_ACCESS_TOKEN - assert len(primary_system.sensors) == 34 + assert len(primary_system.sensors) == 35 token_api = await API.login_via_token( TEST_REFRESH_TOKEN, websession) @@ -125,7 +125,7 @@ async def test_get_systems_v2( assert primary_system.serial == TEST_SYSTEM_SERIAL_NO assert primary_system.system_id == TEST_SYSTEM_ID assert primary_system.api._access_token == TEST_ACCESS_TOKEN - assert len(primary_system.sensors) == 34 + assert len(primary_system.sensors) == 35 @pytest.mark.asyncio @@ -338,7 +338,7 @@ async def test_update_system_data_v2( assert system.serial == TEST_SYSTEM_SERIAL_NO assert system.system_id == TEST_SYSTEM_ID assert system.api._access_token == TEST_ACCESS_TOKEN - assert len(system.sensors) == 34 + assert len(system.sensors) == 35 @pytest.mark.asyncio