* Replace switch with lock
* Update docstrings
* Add link to docs
* Add link to docs and update docstrings
* Update docstring
* Update docstrings and fix typos
* Add link to docs
* Add link to docs
* Add link to docs and update docstrings
* Fix link to docs and update docstrings
* Remove blank line
* Add link to docs
* Introducing the Netatmo component
As Netatmo is providing several type of device (sensor, camera), a new Netatmo
component needs to be created in order to centralize the Netatmo login data.
Currently this change only impacts the Netatmo Weather station
* Add new Netatmo library
This new API will provide access to the Welcome Camera
* Basic support for Netatmo Welcome camera
This change introduces support for Netatmo Welcome camera. Currently, it will
add all detected camera to Home Assistant, camera filtering (similar to the one
used for weather station modules) will be added later
* Remove useless REQUIREMENTS
* Fixes for Netatmo Welcome support
* Allow to filter Welcome cameras by name and/or home
* Update requirements for Netatmo components
* Fix multi-camera support for Welcome
* Fix pep8 error/warning
* This commit also adds improved logging for bad credentials
* Add Throttle decorator for Welcome update function
As the update function updates the data for all cameras, we should prevent this
function to be called several time during an interval
Unfortunately, Ubiquiti changed their (supposedly versioned) API in
3.2.0 which causes us to have to refer to cameras by id instead of
UUID. The firmware for 3.2.x also changed the on-camera login procedures
and snapshot functionality significantly.
This bumps the requirement for uvcclient to 0.9.0, which supports the
newer API and makes the tweaks necessary to interact properly.
The older (unsupported AirCam) models behave differently and also apparently
suffer some under the last release of the NVR that supported them. Since they
are EOL and not supported by current software, filter them out so we don't
break while trying to extract an image from them.
This adds tests for the uvc camera module. It's a good thing too,
because I found a few bugs which are fixed here as well:
- Graceful handling of non-integer port
- Failure to take the first host that works when probing host,internalHost
- Failure to detect if neither of them actually work
This also converts the code to only call add_devices once with a listcomp.
The NVR tells us the admin username, but not the password for the
camera. Right now, we assume the default password, which obviously
doesn't work for people that have changed it. The uvcclient library
provides a way to set the cached admin password for a camera, which
is stored in a client-specific location. We can utilize that to
grab the password, falling back to the default if it's unset. With
this, people just need to run a command per camera to set the
admin password on their systems, if it has changed.