The Envisalink binary sensor was logging events with a relative
timestamp that updated every time it polled, so even when nothing
new was happening, the event log would be full of meaningless
state changes. Modify the sensor code to use an absolute time
which stays stable when there isn't new activity.
* Added the Hydrawise component.
* Fixed lint errors.
* Multiple changes due to review comments addressed.
* Simplified boolean test. Passes pylint.
* Need hydrawiser package version 0.1.1.
* Added a docstring to the device_class method.
* Addressed all review comments from MartinHjelmare.
* Changed keys to single quote. Removed unnecessary duplicate method.
* Removed unused imports.
* Changed state to lowercase snakecase.
* Changes & fixes from review comments.
* Fix ISY leak sensors always showing UNKNOWN until a leak is detected
Added some logic that handles both moisture sensors and door/window sensors
* Handle edge case of leak sensor status update after ISY reboot
If a leak sensor is unknown, due to a recent reboot of the ISY, the status will get updated to dry upon the first heartbeat. This status update is the only way that a leak sensor's status changes without an accompanying Control event, so we need to watch for it.
* Fixes from overnight testing
State was checking the incorrect parameter, and wasn't calling schedule update
* Remove leftover debug log line
* Remove unnecessary pylint instruction
* Remove access of protected property
We can't cast _.status directly to a bool for some unknown reason (possibly with the VarEvents library), but casting to an int then bool does work.
After 2 months of being offline, the my.chevy website seems to be
working again. Some data structures changed in the mean time. The new
library will handle multiple cars. This involves a breaking change in
slug urls for devices where these now include the car make, model, and
year in them.
Discovery has to be delayed until after the initial site login to get
the car metadata.
* make device_discovered synchronous
* small fixes from code review
* use dispatcher to update sensor state
* update switch state based on response from the device
* interpolate entity_id into dispatcher signal
* cleanup lint
* change coroutine to callback
* Add support for shutter contact and motion detector device
* Add support for power switch devices
* Add support for light switch device
* Cleanup binary_switch and light platform
* Update comment
* Setup all-linking service
* Remove extra line
* Remove linefeed and tab escape chars
* Add services delete_all_link, load_all_link_database and print_all_link_database
* Check if reload is set
* Confirm entity is InsteonPLMEntity before attempting to load or print ALDB
* Debug load and print ALDB
* Debug print aldb
* Debug print_aldb
* Get entity via platform
* Track Insteon entities in component
* Store entity list in hass.data
* Add entity to hass.data
* Add ref to hass in InsteonPLMEntity
* Pass hass correctly to InsteonPLMBinarySensor
* Fix reference to ALDBStatus.PARTIAL
* Print ALDB record as string
* Get ALDB record from memory address
* Reformat ALDB log output
* Add print_im_aldb service
* Remove reference to self in print_aldb_to_log
* Remove reference to self in print_aldb_to_log
* Fix spelling issue with load_all_link_database service
* Bump insteonplm to 0.9.1
* Changes from code review
* Code review changes
* Fix syntax error
* Correct reference to cv.boolean and update requirements
* Update requirements
* Fix flake8 errors
* Reload as boolean test
* Remove hass from entity init
* Add new device without restarting hass
* Remove debug prints
* Fix copy paste error
* Fix comments from balloob
Add tests to verify signalling with new added devices
* Fix hound comments
Add test to verify when new sensor is added
* Fix tests
* Unload entry should unsubscribe all deconz dispatchers
* Make sure mock setup also creates unsub in hass data
* Fix copy paste issue
* Lint
- Instead of registering listeners in the entity __init__, do it in
async_added_to_hass to avoid errors updating an entity which isn't fully
set up yet
- Change from schedule_update_ha_state to async_schedule_update_ha_state
* Working but incomplete
* Remove events on unload
* Add unload test
* Fix failing sensor test
* Improve unload test
* Move DeconzEvent to init
* Fix visual under-indentation
* Use forward entry setup with light platform
* Move sensor to forward entry setup
* Use forward entry setup with binary sensors
* Use forward entry setup with scene platform
* Remove import of unused functionality
* Move deconz setup in to setup entry
Create initial negative tests for setup entry
* Fix hound comment
* Improved tests
* Add test for scene platform
* Add test for binary sensor platform
* Add test for light platform
* Add test for light platform
* Add test for sensor platform
* Fix hound comment
* More asserts on sensor types
* update leak sensor
* Fix error when insteon state type is unknown
* Bump insteon version to 0.8.3
* Update requirements all and test
* Fix requirements conflicts due to lack of commit sync
* Requirements sync
* Rerun script/gen_requirements_all.py
* Try requirements update again
* Update requirements
* updated to new "b2vapi" of bimmer_connected
* updated requirements_all.txt
* updated 2 more vehicle names after rebase
* cleanup of import statements
* found one more broken name...
* removed unused constant
* cleanup of import statements 2
* Added extra sensors for BMW ConnectedDrive
* Updates based on review of @MartinHjelmare
* Updates based on 2nd review of @MartinHjelmare
* Changed control flow for updates to support updates triggered by remote services.
* updated library version number
* Changed order of commands so that the UI looks consistent.
State of lock is now set optimisitcally before getting proper update
from the server. So that the state does not toggle in the UI.
* Added comment on optimistic state
* Updated requirements_all.txt
* Revert access permission changes
* Fix for Travis
* Changes based on review by @MartinHjelmare
* Get zha switch and binary_sensor state on startup
* Removed unused var
* Make zha switch report status
* Use right method name
* Formatting fix
* Updates to match latest dev
* PR feedback updates
* Use async for cluster commands