* Lazy loading of service descriptions
* Fix tests
* Load YAML in executor
* Return a copy of available services to allow mutations
* Remove lint
* Add zha/services.yaml
* Only cache descriptions for known services
* Remove lint
* Remove description loading during service registration
* Remove description parameter from async_register
* Test async_get_all_descriptions
* Remove lint
* Fix typos from multi-edit
* Remove unused arguments
* Remove unused import os
* Remove unused import os, part 2
* Remove unneeded coroutine decorator
* Only use executor for loading files
* Cleanups suggested in review
* Increase test coverage
* Fix races in existing tests
* Removing need for separate Egardiaserver setup
* Fixing linting errors
* Updating egardia component based on review
* Updating egardia component based on review
* Updating egardia component based on review
* Removed return False twice based on review
* Enable more alarm decoder attributes, including chime status and ready status
* Expose chime service in the alarm decoder component
* Fix line length linting issue
* Fix spacing lint issue
* Update PR based on reviewer requests
* Update based on linting catches
* Fix descriptions include from async to sync
* Add Canary component
* Made some change to how canary data is updated and stored
* Updated to use py-canary:0.1.2
* Addressed flake8 warnings
* Import canary API locally
* Import canary API locally again
* Addressed pylint errors
* Updated requirements_all.txt
* Fixed incorrect unit of measurement for air quality sensor
* Added tests for Canary component and sensors
* Updated canary component to handle exception better when initializing
* Fixed tests
* Fixed tests again
* Addressed review comments
* Fixed houndci error
* Addressed comment about camera force update
* Addressed comment regarding timeout when fetching camera image
* Updated to use py-canary==0.2.2
* Increased update frequency to 30 seconds
* Added support for Canary alarm control panel
* Address review comments
* Fixed houndci error
* Fixed lint errors
* Updated test to only test setup component / platform
* Fixed flake error
* Fixed failing test
* Uptake py-canary:0.2.3
* canary.alarm_control_panel DISARM is now mapped to canary PRIVACY mode
* Fixed failing tests
* Removed unnecessary methods
* Removed polling in canary camera component and update camera info when getting camera image
* Added more tests to cover Canary sensors
* Address review comments
* Addressed review comment in tests
* Fixed pylint errors
* Excluded canary alarm_control_panel and camera from coverage calculation
* Add iAlarm support
* Minor fixes to iAlarm
* Rename ialarmpanel to ialarm and add a check for the host value
* corrections in the value validation of ialarm
* add a missing period on ialarm
* Update arlo.py
Include variables for custom away mode specification
* fixed line too long style problem
* fix trailing white space
* fix sending away mode command
* Add attribute to show who last un/set alarm.
This allows showing the name of the SPC user who last
issued an arm/disarm command and also allows for
automations to depend on this value.
* Optimize
* Update spc.py
* Update spc.py
* fix
* Fix test.
* Fix for removed is_state_attr.
* arlo: Add alarm control panel component
Allows importing arlo base stations as an alarm control panel
component in HA. Lets the users configure a custom home mode since
arlo does not have a built-in home mode.
* fix lint and houndci comments
* Use async_update to update the state
Move the state updating code from state() to update() since it does
I/O.
* Do not set state in __init__
Make sure that update is called by passing the second parameter to
async_add_devices.
* Order imports and fix dos-strings
* - Added support for ARM_NIGHT for manual_mqtt alarm
* - port "Add post_pending_state attribute to manual alarm_control_panel #9291" to manuql_mqtt
* - port "Fixed manual alarm not re-arm after 2nd trigger #9249" to manuql_mqtt
* - port "Add manual alarm_control_panel pending time per state #9264" to manuql_mqtt
* - Updated test_trigger_with_specific_pending to simulate real scenario e.g. arm the system then trigger
* renamed add_devices to async_add_devices according to hass naming scheme
* replaced some occurencies of async_add_entites to async_add_devices
* fixed unit test
* fixed unit test
* Added satel_integra alarm panel and binary sensor platform
* Fixed several issues after review: import cleanup, reduced messaging levels to debug, other.
* Fixes after review: removed dead code, improved loop, sorted imports.
* Changes after review, not yet working
* Changes after review - wrapped async code, killed ensure_future, moved async_load_platform into jobs
* Updated to latest AbodePy version. Added services and events. Added new device types. Added exclude, light, and polling config options.
* Disable the event service if polling is enabled.
* Addressed all CR's
* Removed duplicated super call.
* Name config option now used. Removed deprecated DEFAULT_NAME.
* Modified partial to move event to first param.
* - Enhanced manual alarm_control_panel config so that you can specify different pending time for different alarm state
* - Fixed demo alaram control panel
* - Updated configuration structure for state specific pending times
* - Addressed comment
* Address code review comments
* - Fixed failing tests
- Updated demo alarm component to use new per state pending_time setting
* - Removing previously added comment which might have caused build to fail?
* - moved "copy.deepcopy(config)" out of loop so config is only copied once
* Bumping pythonegardia package requirement up to .18
* Updating requirements_all to reflect updated pythonegardia package .18
* Catching up with reality and updating egardia.py
Requirements_all reflects updated package requirement for python-egardia of 1.0.20
* Updated abodepy version to 0.7.1
* Refactored to use AbodeDevice. Added Abode Lock device.
* Added push updates to abode devices.
* Upgraded to 0.7.2 after finding issue with callbacks.
* Refactored to use AbodeDevice. Added Abode Lock device.
* Added push updates to abode devices.
* Upgraded to 0.7.2 after finding issue with callbacks.
* Bumped version to 0.8.2. Modified code to work with new constants and properties. Added cover and switch.
* Fixed hound violations.
* Updated to 0.8.3 to fix small bug with standby mode. Fixed comment in cover/abode.py.
* Fix lint issues
* Removed excessive logging. Moved device callback registration to async_added_to_hass. Moved abode controller from global into hass data.
* Removed explicit None from dict.get()
* Move device class into the constructor.
* Changed constant name to platforms.
* Changes as requested.
* Removing stray blank line.
* Added blank line of which I'm not sure how it was removed.
* Updated version to 0.9.0. Fixed motion sensor. Added power_switch_meter device type.
* Update abode.py
* fix lint
* Simplisafe unknown status fix
Changed simplisafe-python requirement to 1.0.5 and changed state return
case statements to lower case
* Bump requirements_all.txt