Commit Graph

47 Commits (46e8655fcf57e71e37ebfb20a1e10d024b4a5005)

Author SHA1 Message Date
Ville Skyttä 1bf2c4d976
Upgrade pylint to 2.6.0 (#39363) 2020-08-29 07:59:24 +02:00
Ville Skyttä b4bac0f7a0
Exception chaining and wrapping improvements (#39320)
* Remove unnecessary exception re-wraps

* Preserve exception chains on re-raise

We slap "from cause" to almost all possible cases here. In some cases it
could conceivably be better to do "from None" if we really want to hide
the cause. However those should be in the minority, and "from cause"
should be an improvement over the corresponding raise without a "from"
in all cases anyway.

The only case where we raise from None here is in plex, where the
exception for an original invalid SSL cert is not the root cause for
failure to validate a newly fetched one.

Follow local convention on exception variable names if there is a
consistent one, otherwise `err` to match with majority of codebase.

* Fix mistaken re-wrap in homematicip_cloud/hap.py

Missed the difference between HmipConnectionError and
HmipcConnectionError.

* Do not hide original error on plex new cert validation error

Original is not the cause for the new one, but showing old in the
traceback is useful nevertheless.
2020-08-28 13:50:32 +02:00
Aaron Bach 9e21fb6b52
Handle unhandled exceptions related to unavailable SimpliSafe features (#38812) 2020-08-12 15:21:17 -06:00
Aaron Bach a5b7a2c228
Fix SimpliSafe to work with new MFA (#38097)
* Fix SimpliSafe to work with new MFA

* Code review (part 1)

* Input needed from Martin

* Code review

* Code review

* Restore YAML

* Tests

* Code review

* Remove JSON patching in tests

* Add reauth test

* One more reauth test

* Don't abuse the word "conf"

* Update homeassistant/components/simplisafe/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Test coverage

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-07-23 20:02:29 -06:00
Franck Nijhof 53545c984b
Log lines do not end with a full stop (#37527) 2020-07-05 23:04:19 +02:00
Aaron Bach b876f7f11a
Bump simplisafe-python to 9.2.0 (#34750) 2020-04-27 10:41:33 -06:00
Aaron Bach 3ce89409d2
Add service to clear SimpliSafe notifications (#34481) 2020-04-23 10:53:06 -06:00
Aaron Bach 828f368323
Handle flaky SimpliSafe notification registration (#34475) 2020-04-23 10:52:11 -06:00
Aaron Bach 675525f47c
Ensure existing SimpliSafe notifications trigger event on HASS startup (#34232)
* Ensure existing SimpliSafe notifications trigger event on HASS startup

* Don't redefine a standing function each loop iteration

* Wait until HASS state is "running"

* Linting

* Linting

* Code review

* Code review

* Simplify

* Code review

* Cleanup
2020-04-19 19:41:16 -06:00
Aaron Bach 6ca2c4da3a
Properly demarcate websocket and REST API callbacks in SimpliS… (#33706)
* Properly demarcate websocket and REST API callbacks in SimpliSafe

* Docstring

* Method names

* Cleanup

* Remove spurious logging

* Remove redundant method

* Fix comment

* Code review
2020-04-06 14:17:45 -07:00
Franck Nijhof 7653dc947a
Enable pylint unnecessary-pass (#33650)
* Enable pylint unnecessary-pass

* Process review suggestions

* Fix smhi tests
2020-04-05 10:33:07 +02:00
Aaron Bach a3e2504470
Add cleanup to SimpliSafe (#32889) 2020-03-17 07:02:30 -04:00
Aaron Bach 4f0997f6e9
Add options flow for SimpliSafe (#32631)
* Fix bug where SimpliSafe ignored code from UI

* Fix tests

* Add options flow

* Fix tests

* Code review

* Code review

* Code review
2020-03-12 22:00:00 -07:00
Aaron Bach df04fe3258
Bump simplisafe-python to 9.0.0 (#32215) 2020-02-26 18:52:07 -08:00
Aaron Bach e435f6eb67
Fix error where SimpliSafe websocket would disconnect and not reconnect (#32199)
* Fix error where SimpliSafe websocket would disconnect and not reconnect

* Await
2020-02-26 12:19:14 +01:00
Aaron Bach b5c1afcb84
Make SimpliSafe entities unavailable when wifi is lost (#32154)
* Make SimpliSafe entities unavailable when wifi is lost

* Remove online status from REST API

* Comments

* Mispelling
2020-02-25 20:03:41 -07:00
Aaron Bach 7c2765fbff
Remove unused SimpliSafe config flow function (#32166)
* Remove unused SimpliSafe config flow function

* Code review comments from other PR

* Linting
2020-02-24 22:02:20 -07:00
Aaron Bach 6e6625e1ab
Remove no-longer-needed SimpliSafe websocket watchdog (#32129)
* Fix SimpliSafe reconnection issue upon websocket error

* Rename listener cancelation properties

* Remove watchdog
2020-02-23 20:47:19 -07:00
Aaron Bach 30efef3085
Add support for SimpliSafe system notifications (#31936)
* Add support for SimpliSafe system notifications

* Actually process notifications

* Code review comments
2020-02-18 11:49:36 -07:00
Aaron Bach 74f0262e82
Bump simplisafe-python to 8.1.1 (#31915) 2020-02-17 13:16:24 -07:00
Aaron Bach d6f0c26e7f
Fire HASS events on SimpliSafe events (#31811)
* Fire HASS events on SimpliSafe events

* Bump simplisafe-ptyhon to 7.3.0

* Update reqirements

* Updates

* Revert "Updates"

This reverts commit 5581889417.

* Restrict which events get fired

* Code review comments
2020-02-14 11:24:35 -07:00
Aaron Bach f091e0412f
Add support for real-time data from SimpliSafe (#31424)
* Add support for real-time data from SimpliSafe

* Updated requirements

* Linting

* Ensure dispatcher topic contains the domain

* Don't bother with a partial

* Websovket dataclass and other code review

* Ensure initial_event_to_use works with error

* Don't inline methods

* Don't abuse loop variable

* Simplify initial event retrieval

* Add connection lost and restored events

* Revert "Add connection lost and restored events"

This reverts commit e7ffe05938.

* Make _on_disconnect a static method

* Code review comments

* Allow entities to opt out of REST and/or websocket API updates

* Revert "Allow entities to opt out of REST and/or websocket API updates"

This reverts commit 1989f2e00e.

* Code review comments

* Fix issues with events not triggering correct entities

* Bug fixes
2020-02-13 11:30:38 -08:00
Aaron Bach 2610415501
Streamline SimpliSafe data and token management (#31324)
* Streamline SimpliSafe API usage

* Streamline SimpliSafe data and token management

* Correctly define self.systems

* Inline update method
2020-02-02 17:16:09 -07:00
Aaron Bach f95a072877
Constrain SimpliSafe's check for emergency token usage (#31214) 2020-01-27 10:50:16 -07:00
Aaron Bach cf165cc35f
Make SimpliSafe integration more resilient to SimpliSafe cloud issues (#31116)
* Make SimpliSafe integration more resilient to SimpliSafe cloud issues

* Clear emergency refresh token

* Stop listening when appropriate

* Cleanup

* Saving refresh token should happen after all updates

* Code review
2020-01-24 21:19:40 -07:00
Aaron Bach 847196dbe8
Remove option to configure SimpliSafe scan interval (#30909)
* Enforce minimum scan interval for SimpliSafe

* Remove scan interval all together

* Fix tests
2020-01-17 13:43:41 -07:00
Aaron Bach b585feb109
Consolidate SimpliSafe property services (#30567)
* Consolidate SimpliSafe property services

* Code review comments

* Code review comments

* Ensure all services are admin services

* Code review comments
2020-01-12 21:32:08 -07:00
springstan 5dbfa16e04 Move imports to top for simplisafe (#29262) 2019-11-30 17:16:05 -07:00
Aaron Bach 2cdd8ad15e
Add new properties and services for V3 SimpliSafe systems (#28997)
* Add new properties and services for V3 SimpliSafe systems

* Small semantic change

* Updated docstrings

* Semantics

* Streamlined adding V3 properties

* Re-add attribute

* Bump to 5.3.5

* Owner comments

* Correct coroutine name
2019-11-26 11:44:40 -07:00
Aaron Bach 8789da36be Add support for SimpliSafe locks (#28672)
* Start

* Lock init

* More stubbing

* Final pieces for PR

* Fixed incorrect property access

* Updaed .coveragerc

* Ensure we can handle unknown states

* Account for lock's offline property

* Account for device online

* Unload components concurrently

* Handle unknown states more gracefully
2019-11-13 20:48:08 +01:00
Aaron Bach 179a2eb187 Create base entity for SimpliSafe 2019-11-09 23:41:02 +01:00
Paulus Schoutsen 4de97abc3a Black 2019-07-31 12:25:30 -07:00
Aaron Bach fe1e761a7a
Add last event data (including "changed_by") to SimpliSafe (#25569)
* Add "last event" sensor for SimpliSafe

* Functionality round 1

* Cleanup

* Whitespace

* Whitespace

* Updated requirements

* Removed unused constants

* Member comments
2019-07-30 17:23:42 -06:00
Aaron Bach 71acc6d3f8
Transition SimpliSafe data retrieval to its own object (#25546)
* Transition SimpliSafe data retrieval to its own object

* Don't overwrite a variable

* Member comments

* Member comments
2019-07-29 15:52:30 -06:00
Aaron Bach 003f7865a9
Add services to set and remove Simplisafe PINs (#25207)
* Add services to set and remove SimpliSafe PINs

* Added services spec

* Add services to set and remove SimpliSafe PINs

* Member comments

* Missed one
2019-07-18 22:07:07 -06:00
Aaron Bach 4e20e4964e
Bump simplisafe-python to 4.0.0 + add additional SimpliSafe attributes (#25202)
* Bump simplisafe-python to 4.0.0 + add additional SimpliSafe attributes

* Fixed incorrect attr assignment

* Member comments

* Add system ID as a state attribute
2019-07-17 16:13:03 -06:00
cgtobi 2c07bfb9e0 Remove dependencies and requirements (#23024)
* Remove dependencies and requirements

* Revert "Remove dependencies and requirements"

This reverts commit fe7171b4cd.

* Remove dependencies and requirements

* Revert "Remove dependencies and requirements"

This reverts commit 391355ee2c.

* Remove dependencies and requirements

* Fix flake8 complaints

* Fix more flake8 complaints

* Revert non-component removals
2019-04-12 10:13:30 -07:00
Aaron Bach f4625fd561 Speed up status updating in SimpliSafe (#22506)
* Speed up status updating in SimpliSafe

* Linting

* Member comments
2019-03-29 01:38:58 -07:00
Aaron Bach 8777146053 Fix too-abrubt SimpliSafe data refresh termination on error (#22466) 2019-03-27 20:14:49 -07:00
Aaron Bach 0d42ed1861
Handle occassional 502 Bad Gateway from SimpliSafe (#22131) 2019-03-17 11:55:10 -06:00
Aaron Bach e4b2aab1e9 Bump simplisafe-python to 3.4.1 (#21511) 2019-02-27 16:27:13 -08:00
Fabian Affolter 127c55e0c1
Update file header (#21023)
* Update file header

* Update file header

* Update file header

* Update file header

* Update file header

* Fix lint issues
2019-02-13 21:21:14 +01:00
Aaron Bach 093fa6f5e9
Bumped simplisafe-python to 3.1.14 (#18752) 2018-11-27 11:40:49 -07:00
Aaron Bach b773a9049c Updated simplisafe-python to 3.1.13 (#17696) 2018-10-22 22:49:12 +02:00
Aaron Bach a9389d2d43
Bumps simplisafe-python to 3.1.12 (#17509)
* Bumps simplisafe-python to 3.1.12

* Updated requirements
2018-10-15 22:54:32 -06:00
Aaron Bach b022dde622
Bumped simplisafe-python to 3.1.11 (#17454)
* Bumped simplisafe-python to 3.1.10

* Updated requirements

* Updated requirements
2018-10-14 14:26:44 -06:00
Aaron Bach 401e22fc0c Add config entry for SimpliSafe (#17148)
* Initial move into component

* Base functionality in place

* Starting tests in place

* All config entry tests in place

* Made default scan interval more obvious and removed extra logging

* Inherit default scan interval from alarm_control_panel

* Updated coveragerc and CODEOWNERS

* Member-requested changes

* Hound

* Updated requirements

* Updated tests

* Member-requested changes

* Owner-requested changes

* Constant cleanup

* Fixed config flow test

* Owner-requested updates

* Updated requirements

* Using async_will_remove_from_hass

* Corrected scan interval logic

* Fixed tests

* Owner-requested changes

* Additional logging

* Owner-requested changes
2018-10-12 19:07:47 +02:00