* Upgrade pylint to 1.8.1
* Fix no-else-return
* Fix bad-whitespace
* Fix too-many-nested-blocks
* Fix raising-format-tuple
See https://github.com/PyCQA/pylint/blob/master/doc/whatsnew/1.8.rst
* Fix len-as-condition
* Fix logging-not-lazy
Not sure about that TEMP_CELSIUS though, but internally it's probably just like if you concatenated any other (variable) string
* Fix stop-iteration-return
* Fix useless-super-delegation
* Fix trailing-comma-tuple
Both of these seem to simply be bugs:
* Nest: The value of self._humidity never seems to be used anywhere
* Dovado: The called API method seems to expect a "normal" number
* Fix redefined-argument-from-local
* Fix consider-using-enumerate
* Fix wrong-import-order
* Fix arguments-differ
* Fix missed no-else-return
* Fix no-member and related
* Fix signatures-differ
* Revert "Upgrade pylint to 1.8.1"
This reverts commit af78aa00f125a7d34add97b9d50c14db48412211.
* Fix arguments-differ
* except for device_tracker
* Cleanup
* Fix test using positional argument
* Fix line too long
I forgot to run flake8 - shame on me... 🙃
* Fix bad-option-value for 1.6.5
* Fix arguments-differ for device_tracker
* Upgrade pylint to 1.8.2
* 👕 Fix missed no-member
* Added support for Canary live stream view
* Updated requirements
* - Fixed lint error
* Addressed PR comment
* - Disabled polling for Canary camera as suggested in PR comment
- Live session is now renewed every time camera is retrieved and min time between session renewal is 90 seconds
* Entity#unique_id defaults to None
* Initial commit entity registry
* Clean up unique_id property
* Lint
* Add tests to entity component
* Lint
* Restore some unique ids
* Spelling
* Remove use of IP address for unique ID
* Add tests
* Add tests
* Fix tests
* Add some docs
* Add one more test
* Fix new test…
* Improve foscam library exception support
Catches foscam exceptions that otherwise pollute the log. Many of these exception can safely be ignored
* Fixed line length
Fixed line length
* Changed exception and log handling
changed logging and catched only the TypeError effecting the library
* Removed unused var
Removed var
* Fix remaining issue
* Added support for enable/disable motion detection
* Changed name of variable for exception, lint error
* Moved motion_detection_enabled property to the other properties
* 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
* Allow disabling the DoorBird camera live view
* Support for push notifications from DoorBird devices
* use DoorBirdPy 0.1.1 instead of 0.1.0
* Fix lint errors in DoorBird binary sensor
* Change DoorBird push notifications from binary sensor to event
* Remove DoorBird camera options
* use DoorBirdPy 0.1.2 to fix history image urls
* clean up doorbird event code and remove unused doorbird camera imports
* use async for doorbird doorbell events
* Minor changes
* Update file header
* Fix my mess
* Fix docstring
* 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
* Added ability to only load Ring camera
if the Ring Protect plan is activated.
* Fixed notification for all invalid cameras
* Fixed attribute name
* Using asyncio for persistent notifications
* Creates a AmcresHub object to protect some private attributes on the logs
* Uses hass.data to pass AmcrestHub to components
* Prefer constants
* Removed serializer since it's using hass.data and simplified camera entity constructor
* small cleanup
* Simplified URL expiration calculation and fixed refresh method
* Remove support from Ring from StickupCams or floodlight cameras
* Makes lint happy
* Removed unecessary attributes
* Async rewrite
* Device and events now working with async core
* More async than before
* Methods have moved
* Remove check if parameter serial number is available since library handles reconnection anyway and we can expect user to set up configuration correctly
* Async rewrite
* Device and events now working with async core
* More async than before
* Methods have moved
* Remove check if parameter serial number is available since library handles reconnection anyway and we can expect user to set up configuration correctly
* Serial number is the only unique identifier, checks are still needed
* No async for setup_device
* Bump axis to 13 in preparation of friday the 13th
* Fix review comments
* Removed async after some discussions with @armills.
It wasn't possible to get past that aiohttp doesnt support digest auth, which makes it impossible to convert the full library at this point in time.
* Extended Ring DoorBell to support camera playback and wifi sensors
* Bump python-ringdoorbell to version 0.1.6
* Support to camera playback via ffmpeg
* Extended ringdoorbell sensors to report WiFi attributes
* Extended unittests
* Makes lint happy
* Added support to stickup cameras and fixed logic
* Fixed unittests for stickup cameras
* Makes lint happy
* Refactored attributions and removed extra refresh method.
* New Skybell platform with components
* Added skybell components to omit.
* Preemptively fixing lint issues (hopefully).
* Removed unused variable.
* Requested changes.
* Additional CRs
* Hopefully the last of the CR's!
* - Rewrite synology camera by intruducing Api and SurveillanceStation classes to get cameras, motion settings, enable/disable motion detection, etc ...
- Synology camera now shows correct state based on is_recording and is_streaming flag. Also it now supports enable / disable motion detection and show the correct motion detection status
- Newly added Api and SurveillanceStation classes will be moved to a lib but it's here just for review
* - Updated how payload are merged with kwargs so it works with python <3.5
* - Fixed class name conflict
* - Addressed flake8 error
* - Addressed pylint error
* - Moved synology API related code to py-synology lib
- Added py-synology==0.1.1 requirement
- Removed hass from SynologyCamera constructor
* - Updated requirements_all.txt
* - renamed variable back to original
* - Sync call to retrieve camera image should be done in camera_image() instead
* - Sync call to update camera info should be done in update() instead
* - Removed unused import
* Bump Axis requirement to v10
Fix issues related to non JSON serializable items and recorder component (8297)
Add support to configure HTTP port (8403)
* Changed local port definition to CONF_PORT
* On request config is now sent to the camera platform as well, and in order better explain what is what the old internal config is now device_config and hass own config is the only one referenced as config
* Missed to add device_config to setup in discovered device
* Bump to V12 that has got a dependency fix
* Update requirements_all
* Add port configuration to automatically discovered devices
Allow setup to pass without Axis being configured in configuration.yaml
* 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.
* Added support to enable/disable motion detection for foscam cameras. This support was added in 0.48.1 as a generic service for cameras. Motion detection can be enabled/disabled for foscam cameras with this code-set.
* Fixed the violation identified by hound-bot
* Fixed the comment posted by HoundCI-Bot regarding using imperative mood statement for pydocstyle
* Fixed the error that travis-ci bot found.
* As per comment from @balloob, Instead of directly using the URL to talk to foscam, used a 3rd party foscam library to communicate with it. This library already has support to enable/disable motion detection and also APIs to change the motion detection schedule etc. Need to add more support in the pyfoscam 3rd party library for checking if motion was detected or even if sound was detected. Once that is done, we can add that into HASS as well.
* Lint
* Removed the requests library import which is not used anymore
* Updating requirements_all.txt based on the code-base of home assistant that i have. Generated using the gen_requirements_all.py script
* Updating requirements_all.txt and requirements_test_all.txt generated by gen_requirements_all.py after latest pull from origin/dev
* Updated requirements_all.txt with script
* Updated the foscam camera code to fix lint errors
* Fixed houndci violation
* Updating the foscam library dependency/requirements.
* Fixing the requirements_all file. Somehow when i generated, it generated duplicate entry for the same dependency
While waiting for a new pyfoscam release, we can fix this for users
just by changing the import. Foscam devices a pretty widely deployed,
so a regression here is definitely no fun.
Fixes Bug #8940
* Inital USPS Camera expansion
* Cleanup debugging, add camera change interval
* Change to local nomail image
* Explicitly pass in date
* Move camera date info to model property
* Fix copy typo
* Fix hound line-length
* Fix lint whitespace
* Fix requirements
* Bump myusps version, clarify interval, alter update scheme
* Add units
* Code cleanup, address comments
* Use built-in scan interval, remove nomail image
* Remove logging line
* Added support to enable/disable motion detection for foscam cameras. This support was added in 0.48.1 as a generic service for cameras. Motion detection can be enabled/disabled for foscam cameras with this code-set.
* Fixed the violation identified by hound-bot
* Fixed the comment posted by HoundCI-Bot regarding using imperative mood statement for pydocstyle
* Fixed the error that travis-ci bot found.
* As per comment from @balloob, Instead of directly using the URL to talk to foscam, used a 3rd party foscam library to communicate with it. This library already has support to enable/disable motion detection and also APIs to change the motion detection schedule etc. Need to add more support in the pyfoscam 3rd party library for checking if motion was detected or even if sound was detected. Once that is done, we can add that into HASS as well.
* Lint
* Removed the requests library import which is not used anymore
* Updating requirements_all.txt based on the code-base of home assistant that i have. Generated using the gen_requirements_all.py script
* Updating requirements_all.txt and requirements_test_all.txt generated by gen_requirements_all.py after latest pull from origin/dev
* Updated requirements_all.txt with script
* Updated the foscam camera code to fix lint errors
* Fixed houndci violation
* This change will enable the functionality for Arlo Q cameras. When we added the code to enable/disable motion detection, we assumed that base station will be present for all arlo type of cameras. But found recently that Arlo Q cameras does not have base station. So, removed the base_station dependency in the init code. Also added code in enable/disable motion detection code to first check if base station is detected by library. If base station is detected then it will use it to enable the motion detection. If not detected, even if service was called, it will not do anything. Enabling/disabling the motion detection for Arlo Q cameras have to added by someone who has that camera. I don't have the Arlo Q cameras.
* Fixed a typo in the code.
* Refactored Amcrest to use central hub component
* Set default streaming source to snapshot
* Simplified code by using discovery platforms
* Makes lint happy
* Update authentication method to basic
* Fixed lint issues
* Makes Amcrest hub async
* Make Amcrest hub IO synchronous and disabled ffmpeg dependency on sensor/amcrest.
* Removed async to load component
* Organized import order
* Update amcrest.py
* Added camera service calls to arm/disarm the cameras. Entity id is optional so that with a single call we can arm all the cameras or specify a particular entity id to arm if applicable and possible in that camera type.
* Added camera service calls to arm/disarm the cameras. Entity id is optional so that with a single call we can arm all the cameras or specify a particular entity id to arm if applicable and possible in that camera type.
* Added camera service calls to arm/disarm the cameras. Entity id is optional so that with a single call we can arm all the cameras or specify a particular entity id to arm if applicable and possible in that camera type.
* Fixed the spaces and indentation related issues that houndci found
* Fixed the spaces and indentation related issues that houndci found
* Missed the const file which has the macros defined.
* Fixed the CI build error
* Fixed the CI build error because of unused variable in exception case
* Updating the arlo code based on comment from @balloob. Changed the arm and disarm to enable_motion_detection and disable_motion_detection respectively. Similarly fixed the AttributeError handling. Added dummy code to the demo camera also. Moved out the definitions in const.py into the camera __init__ file
* Fixed the comments posted by houndci-bot
* Fixed the comments posted by houndci-bot
* Fixed the comments posted by houndci-bot
* Fixed the comments posted by travis-ci integration bot
* Fixed the comments posted by travis-ci integration bot
* Fixed the comments posted by travis-ci integration bot for demo.py: expected 2 lines, found 1
* Updated code in camera __init__.py to use the get function instead of directly calling the member in the structure.
* Updated code in camera __init__.py
* Posting the updated code for PR based on @balloob's suggestions/recommendations
* Removed the arlo reference from demo code. Copy-paste error
* Removed the unused import found by hound bot
* Expected 2 lines before function, but found only 1.
* Based on @balloob's comments, moved these constants to the camera/arlo.py
* Added test_demo.py to test the motion enabled and motion disabled in camera component
* Fixing issues found by houndci-bot
* Fixing issues found by houndci-bot
* Fixing the code as per @balloob's suggestions
* Fixing the code as per @balloob's suggestions
* Fixing the test_demo failure. Tried to rewrite a base function to enable the motion in __init__.py and missed to add it to as a job.
* Fixing the hound bot comment
* Update arlo.py
* Update arlo.py
* Initial commit for an Axis service to do Vapix calls to device
* Added check to see if metadatastream initiated properly
* Make sure to configure the correct IP address when setting up registered devices on system start
* Manage reconnection when device is discovered with a different IP
* Cleaned up setting new IP
* Better naming of event for new IP
* New version of dependency axis
* Fix flake8 failing
* Break out service default strings to constants
* Use the dispatcher and not the core event bus for internal communication
* Introduced support to Netgear Arlo Cameras
* Using async_setup_platform() and applied other changes
* Removed unecessary variables
* Using asyncio for sensor/arlo
* Update arlo.py
* Removed entity_namespace
* Remove setting up an hbmqtt broker
* Don't pass loop to web.Application in tests
* Use .query instead of deprecated .GET for aiohttp requests
* Fix closing file resource
* Do not use asyncio mark
* Notify.html5 - PyJWT: Use options to disable verify
* Yamaha: Test was still using deprecated ip
* Remove pytest-asyncio
* Implemented ffmpeg option on Amcrest camera and upgraded to version 1.2.0
* Added ffmpeg arguments and binary options to Amcrest camera
* Added ffmpeg as dependencies
* Makes lint happy and fixed requirements_all.txt
* Inherent the ffmpeg.binary configuration from ffmpeg component
* Update amcrest.py
* Added Axis hub, binary sensors and camera
* Added Axis logo to static images
* Added Axis logo to configurator
Added Axis mdns discovery
* Fixed flake8 and pylint comments
* Missed a change from list to function call
V5 of axis py
* Added dependencies to requirements_all.txt
* Clean up
* Added files to coveragerc
* Guide lines says to import function when needed, this makes Tox pass
* Removed storing hass in config until at the end where I send it to axisdevice
* Don't call update in the constructor
* Don't keep hass private
* Unnecessary lint ignore, following Baloobs suggestion of using NotImplementedError
* Axis package not in pypi yet
* Do not catch bare excepts. Device schema validations raise vol.Invalid.
* setup_device still adds hass object to the config, so the need to remove it prior to writing config file still remains
* Don't expect axis.conf contains correct values
* Improved configuration validation
* Trigger time better explains functionality than scan interval
* Forgot to remove this earlier
* Guideline says double qoutes for sentences
* Return false from discovery if config file contains bad data
* Keys in AXIS_DEVICES are serialnumber
* Ordered imports in alphabetical order
* Moved requirement to pypi
* Moved update callback that handles trigger time to axis binary sensor
* Renamed configurator instance to request_id since that is what it really is
* Removed unnecessary configurator steps
* Changed link in configurator to platform documentation
* Add not-context-manager (#7523)
* Add not-context-manager
* Add missing comma
* Threadsafe configurator (#7536)
* Make Configurator thread safe, get_instance timing issues breaking configurator working on multiple devices
* No blank lines allowed after function docstring
* Fix comment Tox
* Added Axis hub, binary sensors and camera
* Added Axis logo to static images
* Added Axis logo to configurator
Added Axis mdns discovery
* Fixed flake8 and pylint comments
* Missed a change from list to function call
V5 of axis py
* Added dependencies to requirements_all.txt
* Clean up
* Added files to coveragerc
* Guide lines says to import function when needed, this makes Tox pass
* Removed storing hass in config until at the end where I send it to axisdevice
* Don't call update in the constructor
* Don't keep hass private
* Unnecessary lint ignore, following Baloobs suggestion of using NotImplementedError
* Axis package not in pypi yet
* Do not catch bare excepts. Device schema validations raise vol.Invalid.
* setup_device still adds hass object to the config, so the need to remove it prior to writing config file still remains
* Don't expect axis.conf contains correct values
* Improved configuration validation
* Trigger time better explains functionality than scan interval
* Forgot to remove this earlier
* Guideline says double qoutes for sentences
* Return false from discovery if config file contains bad data
* Keys in AXIS_DEVICES are serialnumber
* Ordered imports in alphabetical order
* Moved requirement to pypi
* Moved update callback that handles trigger time to axis binary sensor
* Renamed configurator instance to request_id since that is what it really is
* Removed unnecessary configurator steps
* Changed link in configurator to platform documentation
* No blank lines allowed after function docstring
* No blank lines allowed after function docstring
* Changed discovery to use axis instead of axis_mdns
* Travis CI requested rerun of script/gen_requirements_all.py
* Add condition for API failure
If you are not running the latest ve3rsion of ZM this will cause exceptions to fire. This fix handles a response from ZM but a non successful attempt.
This resolves the issue https://github.com/home-assistant/home-assistant/issues/7178
* Fixed houndci-bot issues
* Responsiveness
* Delay was not needed as commands does not return until done.
* Add support for cleaning maps and cleaning data
* Hound
* Docstring
* Update requirements
* Review changes
* External lib now returns the raw data.
* debug
* Sensor did not refresh
* Error handling
* Issue warning on connection error
* Update requirements
* Review changes
* Adding exception handling when fetching the camera image to avoid python errors when host is not reachable or any url errors to camera
* Added exception as ConnectionError instead of plain except
* Added exception as ConnectionError instead of plain except. Removed the unused error handle
* Passing pep8, no tests yet
* Fixed some issues with the request throttling
* Removed ability to set throttle time because it was causing more issues than it was worth
* Added blink to .coveragerc
* Changed blinkpy version
* Removed global var, fixed per PR requests
* Added services for camera, migrated switch to binary_sensor
* Added schema for service, fixed naming, removed unused function
Avoid unhandled exception and stack trace when server closes connection by changing from handle ClientDisconnectedError to DisconnectedError. Also added HttpProcessingError, which was missing.
* Fix for missing netatmo tags in 0.37
Also fix issue with SSL certificate for vpn_url
Signed-off-by: Hugo D. (jabesq) <jabesq@gmail.com>
* Netatmo welcome: vpn_url can be empty
Signed-off-by: Hugo D. (jabesq) <jabesq@gmail.com>
* add config floag to disable SSL verification for vpn_url
Signed-off-by: Hugo D. (jabesq) <jabesq@gmail.com>
* Import CONF_VERIFY_SSL from const
* Introduced Amcrest camera sensors
* Makes script/gen_requirements_all.py happy
* Bump Amcrest version across all components
* - Adjusted scan_interval to 10 seconds
- Filtering HTTPError and ConnectTimeout exceptions
- Removed @Throttle decorator
* Add support for direct MJPEG streams from Amcrest cameras
The previous implementation relied on using snapshots from the camera. However,
some Amcrest models cannot keep up with the large number of requests and
instead timeout, resulting in no video stream. These cameras do provide MJPEG
streams though, so this commit adds the option to use these instead of creating
one from snapshots.
Unfortunately, some cameras on newer firmwares do not support MJPEG streams at
high resolution - only at low resolution.
By providing users with both a `resolution` and `stream_source` option, we can
allow them to choose whichever combination works for their particular model
and firmware version.
* Close the stream instead of releasing it
* Close stream without creating a task
* Handle client aborts
* fix lint
* Use SHA hash to make token harder to guess
Use hashlib SHA256 to encode object id instead of using it directly.
* Cache access token
Instead of generating a token on the fly cache it in the constructor.
* Fix lint
* Fix#5188 by Closing the stream instead of Releasing it
Closing just terminates the connection, release attempts to download all the contents before closing. Since the MJPEG stream is infinite, it loads and loads content until the python script runs out of memory.
Source: 50b1d30f41/aiohttp/client_reqrep.py (L668-L672)
* Update mjpeg.py
* Updated Nest API to have logical names
* Fix NoneType not having replace method in NestSensor constructor
* Move name setting to constructor, in case zone.name causes IO.
* normalize is_online to online
* Updated python-nest API
* push is_* helpers down to python-nest, and use inheritence to implement rather than checking class name
* Update python-nest
* Introduced support to Amcrest IP Cameras
* Fixed lint issues
* Fixed requirements test
* * Implemented test to verify crendentials during camera setup
* Added persistent_notification in case of error when during Amcrest setup
* start nestcam support
* start nestcam support
* introduce a access_token_cache_file
* Bare minimum to get nest thermostat loading
* occaisonally the image works
* switch to nest-aware interval for testing
* Add Nest Aware awareness
* remove duplicate error logging line
* Fix nest protect support
* address baloobot
* fix copy pasta
* fix more baloobot
* last baloobot thing for now?
* Use streaming status to determine online or not. online from nest means its on the network
* Fix temperature scale for climate
* Add support for eco mode
* Fix auto mode for nest climate
* update update current_operation and set_operation mode to use constant when possible. try to get setting something working
* remove stale comment
* unused-argument already disabled globally
* Add eco to the end, instead of after off
* Simplify conditional when the hass mode is the same as the nest one
* away_temperature became eco_temperature, and works with eco mode
* Update min/max temp based on locked temperature
* Forgot to set locked stuff during construction
* Cache image instead of throttling (which returns none), respect NestAware subscription
* Fix _time_between_snapshots before the first update
* WIP pin authorization
* Add some more logging
* Working configurator, woo. Fix some hound errors
* Updated pin workflow
* Deprecate more sensors
* Don't update during access of name
* Don't update during access of name
* Add camera brand
* Fix up some syntastic errors
* Fix ups ome hound errors
* Maybe fix some more?
* Move snapshot simulator url checking down into python-nest
* Rename _ready_to_update_camera_image to _ready_for_snapshot
* More fixes
* Set the next time a snapshot can be taken when one is taken to simplify logic
* Add a FIXME about update not getting called
* Call update during constructor, so values get set at least once
* Fix up names
* Remove todo about eco, since that's pretty nest
* thanks hound
* Fix temperature being off for farenheight.
* Fix some lint errors, which includes using a git version of python-nest with updated code
* generate requirements_all.py
* fix pylint
* Update nestcam before adding
* Fix polling of NestCamera
* Lint
* Move HTTP to own folder
* Break HTTP into middlewares
* Lint
* Split tests per middleware
* Clean up HTTP tests
* Make HomeAssistantViews more stateless
* Lint
* Make HTTP setup async
* Synology SSL fix & Error handling
* change handling for cookies/ssl
* fix use not deprecated functions
* fix lint
* change verify
* fix connector close to coro
* fix force close
* not needed since websession close connector too
* fix params
* fix lint
* Add files via upload
* Update .coveragerc
* test
* Update synology camera
* Use voluptuous for synology
* Use voluptuous for synology
* Use voluptuous for synology
* Use voluptuous for synology
* Conform synology to flake8
* Added Whitelist to synology
* Sync to dev branch
* Added helper function to synology
* Basic support for Netatmo welcome binary sensors
Signed-off-by: Hugo D. (jabesq) <jabesq@gmail.com>
* Bug fixes and optimization for Netatmo devices
Signed-off-by: Hugo D. (jabesq) <jabesq@gmail.com>
* pylint fixes
* Bug Fixing and optimization for Netatmo devices
Signed-off-by: Hugo D. (jabesq) <jabesq@gmail.com>
* Add unique_id for cameras to avoid duplicate
And global config to disable discovery for netatmo devices
Signed-off-by: Hugo D. (jabesq) <jabesq@gmail.com>
* 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.