* start implementation of IAS ACE
* starting alarm control panel
* enums
* use new enums from zigpy
* fix import
* write state
* fix registries after rebase
* remove extra line
* cleanup
* fix deprecation warning
* updates to catch up with codebase evolution
* minor updates
* cleanup
* implement more ias ace functionality
* cleanup
* make config helper work for supplied section
* connect to configuration
* use ha async_create_task
* add some tests
* remove unused restore method
* update tests
* add tests from panel POV
* dynamically include alarm control panel config
* fix import
Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
* Add power binary_sensor support to Sonos
* Prepare for future unloading of config entries
* Remove unnecessary calls to super() inits
* Add binary_sensor to tests, remove invalid test for empty battery payload
* Move sensor added_to_hass to common sensor class
* Avoid dispatching sensors if no battery
* Use proper attributes property
* Remove power source fallback
* Update homeassistant/components/sonos/speaker.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* denonavr: Add DynamicEQ and Audyssey service
* Remove debug print
* Syntax sugar
* Apply suggestions from code review
Co-authored-by: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/denonavr/services.yaml
Co-authored-by: J. Nick Koston <nick@koston.org>
* Remove trailing whitespaces
Co-authored-by: J. Nick Koston <nick@koston.org>
* Add WS API commands to capture zwave_js logs from server
* register commands
* create a task
* Update homeassistant/components/zwave_js/api.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Update homeassistant/components/zwave_js/api.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* fix
* fixes and add test
* fix PR on rebase
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Infrastructure in place
* Base implementation
* Add alarm event
* Add custom services to alarm control panel
* Add service descriptions
* Increase test coverage
* Simplified to one entity service with an options selector
* Remove everything but the essentials
* Add library with proper support
* Fix stale comments
* Minor code quality improvements
Thanks to @MartinHjelmare
* Convert legacy dict config to list
* Improved test
* Typo
* Test improvements
* Create fixtures in conftest.py
* CHG: use TemperatureControl trait to report sensor
* fixup: blacked
* fixup: flaked
* fixup: flaked
* Adjust tests
* fixup test and rebase
* test coverage
* Add set_myzone service requested on forums
* Add MyZone binary sensor for climate zones
* Fixed Black on binary_sensor.py
* Add the new entity
* Fix spelling
* Test myZone value
* MyZone Binary Sensor test
* Fixed new binary sensor tests
* Fix removed dependancy
* Correct fixture
* Update homeassistant/components/advantage_air/binary_sensor.py
Co-authored-by: Philip Allgaier <philip.allgaier@gmx.de>
* Updated services.yaml to use target
Co-authored-by: Philip Allgaier <philip.allgaier@gmx.de>
* Store coordinator at Device
* Use DeviceUpdater to follow config/location changes
* Cleaning up
* Fix unit tests + review changes
* Don't test internals
* Migrate existing zwave_js entities if endpoint has changed
* better function name
* cleanup code
* return as early as we can
* use defaultdict instead of setdefault
* PR comments
* re-add missing logic
* set defaultdict outside of for loop
* additional cleanup
* parametrize tests
* fix reinterview logic
* test that we skip migration when multiple entities are found
* Update tests/components/zwave_js/test_init.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add Hyperion device support.
* Update to the new typing annotations.
* Add device cleanup logic.
* Fixes based on the excellent feedback from emontnemery
* percentage to speed_range and get speed state fix
* Update homeassistant/components/mqtt/fan.py
* Update homeassistant/components/mqtt/fan.py
* Update homeassistant/components/mqtt/fan.py
* Update homeassistant/components/mqtt/fan.py
Co-authored-by: J. Nick Koston <nick@koston.org>
The previous iAlarm integration has been removed because it used
webscraping #43010.
Since then, the pyialarm library has been updated to use the iAlarm API
instead.
With this commit I reintroduce the iAlarm integration, leveraging the
new HA config flow.
Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
* Prevent ping id allocation conflict with device_tracker
- Solves id conflict resulting unexpected home state
* Update homeassistant/components/ping/device_tracker.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Update Ezviz Component
* Update Ezviz for pylint test
* Update Ezviz component pylint tests
* Update Ezviz component tests
* Update Ezviz Component tests
* Update Ezviz component pylint error
* Fix ezviz component config flow tests
* Update ezviz component
* Update Ezviz component
* Add sensor platforms
* issue with requirements file
* Update binary_sensor to include switches
* Updates to Ezviz sensors
* Removed enum private method.
* Fix switch args
* Update homeassistant/components/ezviz/switch.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* config flow checks login info
* Config_flow now imports ezviz from camera platform
* Update test
* Updated config_flow with unique_id and remove period from logging
* Added two camera services and clarified service descryptions in services.yaml
* Fixed variable name mistake with new service
* Added french integration translation
* Config_flow add camera rtsp credentials as seperate entities, with user step and import step
* rerun hassfest after rebase
* Removed region from legacy config schema, removed logging in camera platform setup that could contain credentials, removed unused constant.
* Regenerate requirements
* Fix tests and add config_flow import config test
* Added addition test to config_flow to test successfull camera entity create.
* Add to tests method to end in create entry, config_flow cleanup, use entry instead of entry.data
* Removed all services, sorted platforms in init file.
* Changed RTSP logging to debug from warning. (Forgot to change this before commit)
* Cleanup typing, change platform order, bump pyezviz version
* Added types to entries, allow creation of main entry if deleted by validating existance of type
* Config_flow doesn't store serial under entry data, camera rtsp read from entry and not stored in hass, removed duplicate abort if unique id from config flow
* Fix test of config_flow
* Update tests/components/ezviz/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/ezviz/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/ezviz/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Bumped pyezviz api version, added api pyezvizerror exception raised in api (on HTTPError), cleanup unused imports.
* rebase
* cleanup coordinator, bump pyezviz api version, move async_setup_entry to add entry options to camera entries. (order change)
* Added discovery step in config_flow if cameras detected without rtsp config entry
* Reload main integration after addition or completion of camera rtsp config entry
* Add tests for discovery config_flow, added a few other output asserts
* Camera platform call discover flow with hass.async_create_task. Fixes to config_flow for discovery step
* Fix config_flow discovery, add check to legacy yaml camera platform import, move camera private method to camera import step
* Remove not needed check from config_flow import step.
* Cleanup config_flow
* Added config_flow description for discovered camera
* Reordered description in config_flow confim step.
* Added serial to flow_step description for discovered camera, readded camera attributes for rtsp stream url (allows user to check RTSP cred), added local ip and firmware upgade available.
* Bumped pyezviz version and changed region code to region url. (Russia uses a completly different url). PyEzviz adds a Local IP sensor, removed camera entity attributes.
* Add RSTP describe auth check from API to config_flow
* url as vol.in options in Config_flow
* Config_flow changes to discovery step, added exceptions, fixed tests, added rtsp config validate module mock to test disovery confirm step
* Add test for config_flow step user_camera
* Added tests for abort flow
* Extend tests on custom url flow step
* Fix exceptions in config_flow, fix test for discovery import exception test
* Bump pyezviz api version
* Bump api version, added config_flow function to wake hybernating camera before testing credentials, removed "user camera" step from config flow not needed as cameras are discovered.
* Create pyezviz Api instance for config_flow wake hybernating camera, fixed tests and added fixture to mock method
* Added alarm_control_panel with support to arm/disarm all cameras, fixed camera is available attribute (returns 2 if unavailable, 1 if available)
* Skip ignored entities when setup up camera RTSP stream
* Remove alarm_control_panel, add additional config_flow tests
* Cleanup tests, add tests for discovery_step.
* Add test for config_flow rtsp test step1 exceptions
* Removed redundant except from second step in test RTSP method
* All tests to CREATE or ABORT, added step exception for general HTTP error so user can retry in case of trasient network condition
* Ammended tests with output checks for step_id, error, data, create entry method calls.
* bumped ezviz api now rases library exceptions. Config_flow, coordiantor and init raises library exceptions. Updated test sideeffect for library exceptions
* Bump api version, Create mock ezviz cloud account on discovery tests first to allow more complete testing of step.
* Add abort to rtsp verification method if cloud account was deleted and add tests
* Update tests/components/ezviz/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/ezviz/const.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/ezviz/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/ezviz/camera.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/ezviz/camera.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/ezviz/camera.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/ezviz/camera.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/ezviz/camera.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/ezviz/camera.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Undo config import change to password key for yaml, move hass.data.setdefault to async_setup_entry and remove async_setup
* Fixed tests by removing _patch_async_setup as this was removed from init.
* Update homeassistant/components/ezviz/camera.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/ezviz/camera.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/ezviz/camera.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Changed L67 on camera config to complete suggestion for cleanup
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
We plan on matching with _airplay which means we need
to able to limit to specific manufacturers to avoid
generating flows for integrations with the wrong
manufacturer
* New integration for Kostal Plenticore solar inverters.
* Fix errors from github pipeline.
* Fixed test for py37.
* Add more test for test coverage check.
* Try to fix test coverage check.
* Fix import sort order.
* Try fix test code coverage .
* Mock api client for tests.
* Fix typo.
* Fix order of rebased code from dev.
* Add new data point for home power.
* Modifications to review.
Remove service for write access (for first pull request). Refactor
update coordinator to not use the entity API.
* Fixed mock imports.
* Ignore new python module on coverage.
* Changes after review.
* Fixed unit test because of config title.
* Fixes from review.
* Changes from review (unique id and mocking of tests)
* Use async update method. Change unique id. Remove _dict
* Remove _data field.
* Removed login flag from PlenticoreUpdateCoordinator.
* Removed Dynamic SoC sensor because it should be a binary sensor.
* Remove more sensors because they are binary sensors.
* Add config flow for Waze Travel Time
* update translations
* setup entry is async
* fix update logic during setup
* support old config method in the interim
* fix requirements
* fix requirements
* add abort string
* changes based on @bdraco review
* fix tests
* add device identifier
* Update homeassistant/components/waze_travel_time/__init__.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* fix tests
* Update homeassistant/components/waze_travel_time/sensor.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* log warning for deprecation message
* PR feedback
* fix tests and bugs
* re-add name to config schema to avoid breaking change
* handle if we get name from config in entry title
* fix name logic
* always set up options with defaults
* Update homeassistant/components/waze_travel_time/sensor.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update config_flow.py
* Update sensor.py
* handle options updates by getting options on every update
* patch library instead of sensor
* fixes and make sure first update writes the state
* validate config entry data during config flow and entry setup
* fix input parameters
* fix tests
* invert if statement
* remove unnecessary else
* exclude helpers from coverage
* remove async_setup because it's no longer needed
* fix patch statements
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Added a new weather integration - Met Éireann
* Fix codespell error
* Update met_eireann to use CoordinatorEntity
* Remove deprecated platform setup
* Fix merge conflict
* Remove unnecessary onboarding/home tracking code
* Use common strings for config flow
* Remove unnecessary code
* Switch to using unique IDs in config flow
* Use constants where possible
* Fix failing tests
* Fix isort errors
* Remove unnecessary DataUpdateCoordinator class
* Add device info
* Explicitly define forecast data
* Disable hourly forecast entity by default
* Update config flow to reflect requested changes
* Cleanup code
* Update entity naming to match other similar components
* Convert forecast time to UTC
* Fix test coverage
* Update test coverage
* Remove elevation conversion
* Update translations for additional clarity
* Remove en-GB translation
* Add ClimaCell v4 API support
* fix tests
* use constants
* fix logic and update tests
* revert accidental changes and enable hourly and nowcast forecast entities in test
* use variable instead of accessing dictionary multiple times
* only grab necessary fields
* add _translate_condition method ot base class
* bump pyclimacell again to fix bug
* switch typehints back to new format
* more typehint fixes
* fix tests
* revert merge conflict change
* handle 'migration' in async_setup_entry so we don't have to bump config entry versions
* parametrize timestep test
* Reuse HA constants for serial configuration.
Reusing HA consts reduces the need for translation.
Sort/group constants in const.
* Change const name ATTR_* to CONF_*
* Correct wrong import
* ATTR_* for service and CONF_* for schemas.
* Revert change to service call.
* Rename CONF_TEMPERATURE -> ATTR_TEMPERATURE
Avoid possible division problem in set_temperature.
* Add Compensation Integration
Adds the Compensation Integration
* Add Requirements
add missing requirements to compensation integration
* Fix for tests
Fix files after tests
* Fix isort
ran isort
* Handle ADR-0007
Change the configuration to deal with ADR-0007
* fix flake8
Fix flake8
* Added Error Trapping
Catch errors.
Raise Rank Warnings but continue.
Fixed bad imports
* fix flake8 & pylint
* fix isort.... again
* fix tests & comments
fix tests and comments
* fix flake8
* remove discovery message
* Fixed Review changes
* Fixed review requests.
* Added test to test get more coverage.
* Roll back numpy requirement
Roll back numpy requirement to match other integrations.
* Fix flake8
* Fix requested changes
Removed some necessary comments.
Changed a test case to be more readable.
* Fix doc strings and continue
* Fixed a few test case doc strings
* Removed a continue/else
* Remove periods from logger
Removed periods from _LOGGER errors.
* Fixes
changed name to unqiue_id.
implemented suggested changes.
* Add name and fix unique_id
* removed conf name and auto construct it
* Resolve rebase conflict.
Remove logging
* lint: fix elif after return
* fix attribution
* add tests for None valuea
* Remove Entity import
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Import SensorEntity
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Inherit SensorEntity
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* remove unused logging
* Use CoordinatorEntity
* Use type instead of name.
* add all entities
* add nice rounding to temperature and humidity
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Remove unit from garmin connect
* Remove unit from hvv departures
* Remove device class timestamp from device condition and trigger
* Remove unit from systemmonitor
* Use device class constant for timestamp in ring
* add config flow support to google_travel_time
* fix bugs and add strings
* fix import and add new test
* address comments in #43419 since this is a similar PR
* fix default name and test
* add unique ID and device info
* fix test
* feedback from waze PR
* continue incorporating feedback from waze PR
* final fixes and update tests
* call update in lambda
* Update homeassistant/components/google_travel_time/sensor.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* additional fixes
* validate config entry data during config flow and config entry setup
* don't store entity
* patch dependency instead of HA code
* fixes
* improve tests by moving all patching to fixtures
* use self.hass instead of setting self._hass
* invert if
* remove unnecessary else
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>