* Improve amcrest error handling and bump amcrest package to 1.5.3
amcrest package update fixes command retry, especially with Digest Authentication, and allows sending snapshot command without channel parameter.
Get rid of persistent_notification.
Errors at startup, other than login errors, are no longer fatal.
Display debug messages about how many times an error has occurred in a row.
Remove initial communications test. If camera is off line at startup this just delays the component setup.
Handle urllib3 errors when getting data from commands that were sent with stream=True.
If errors occur during camera update, try repeating until it works or the camera is determined to be off line.
Drop channel parameter in snapshot command which allows camera to use its default channel, which is different in different camera models and firmware versions.
Make entities unavailable if too many errors occur in a row.
Add new configuration variables to control how many errors in a row should be interpreted as camera being offline, and how frequently to "ping" camera to see when it becomes available again.
Add online binary_sensor option to indicate if camera is available (i.e., responding to commands.)
* Update per review comments
Remove max_errors and recheck_interval configuration variables and used fixed values instead.
Move definition of AmcrestChecker class to module level.
Change should_poll in camera.py to return a fixed value of True and move logic to update method.
* Use LAN status instead of wireless status for DD-WRT device tracking
* Use the previous DD-WRT device tracker behavior unless specified in the configuration
* Add support for DoorLock cluster
* Add test for zha lock
* Change lock_state report to REPORT_CONFIG_IMMEDIATE
* Update channel command wrapper to return the entire result
This allows for return values other than result[1]
* Fix tests
* Fix lint
* Update DoorLock test to work with updated zigpy schema
* Fix lint
* Fix unlock test
* Refactor Waze Travel Time & Update Requirements
Refactored Waze Travel Time to contain a data object.
Changed error retrieving data to a warning.
Added distance conversion depending on region.
Removed dependency on TRACKABLE_DOMAINS list.
Update to use WazeRouteCalculator 0.10
3rd time's a charm. Deleted fork, caused last PR to screw up. So here we are.
* Update requirements_all.txt
* Revert package upgrade.
* Revert package upgrade.
* Bring the Sisyphus integration to silver quality
Checklist:
- [x] (N/A - push integration) Set an appropriate SCAN_INTERVAL (if a polling integration)
- [x] Raise PlatformNotReady if unable to connect during platform setup
- [x] (N/A - no credentials) Handles expiration of auth credentials. Refresh if possible or print correct error and fail setup. If based on a config entry, should trigger a new config entry flow to re-authorize.
- [x] (N/A - local integration) Handles internet unavailable. Log a warning once when unavailable, log once when reconnected.
- [x] Handles device/service unavailable. Log a warning once when unavailable, log once when reconnected.
- [x] Set available property to False if appropriate
- [x] Entities have unique ID (if available)
* Feedback (fix a couple verbose places)
* Use a task instead of a lock
* Initialize field in constructor
* Revert package upgrade.
* Add Streamlabs Water Monitor
* Fail Streamlabswater component setup when given invalid parameters
The Streamlabs Water component is unable to recover if it is given
an invalid API key or location id so this change is to ensure
we validate they are correct during setup and return a failure
if they are not.
* Prime Streamlabswater component sensors so data is available immediately
The sensors for the component were not causing an immediate load of
data from the API when being set up so there was some lag after
startup before values would show up. This change does an explicit
update when the sensors are setup to ensure data is viewable
immediately after startup.
* Switch Streamlabswater logging to use %s for string formatting
* Update Streamlabswater component with correct dependencies
Dependencies were incorrectly specified using DEPENDS rather
than DEPENDENCIES
* Streamlabswater pull request feedback
Remove detailed class docstrings since they're in the documentation,
reduce code duplication in sensor classes, and remove periods from
the end of log messages.
* Reduce line length in Streamlabswater sensor
* Add docstring on Streamlabswater service callback method
* Get rid of unnecessary initializers in Streamlabswater sensor
* Add manifest file for Streamlabs Water Monitor
* Remove unused REQUIREMENTS
* Added Google Cloud TTS service component feature
* Added Neutral voice gender
* Added line break at the end of files
* Updated CODEOWNERS, reqirements_all.txt and .coveragerc
* Fixed some ci/circleci: static-check errors
* Fixed some ci/circleci: static-check error
* Fixed some ci/circleci: pylint errors
* Fixed some ci/circleci: pylint errors
* * made supported_options const
* fixed direct env variable access
* Fixed import order
* * Component renamed
* Added encoding parameter
* Other fixes
* Changed folder name in .coveragerc
* * Removed whitespaces in blank lines
* Split long line
* Removed whitespaces in blank lines
* ci/circleci: static-check
* Fixed requirements_all.txt
* Added speed, pitch and gain parameters
* Added speed, pitch and gain as supported options
* Split too long line
* * Added profiles parameter
* Changed supported languages and encodings values
* Added parameters validations
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Changed options validation
* Added ToggleEntity save and restore state mechanism
* Revert "Added ToggleEntity save and restore state mechanism"
This reverts commit 0e275014