* Add bluetooth discovery
* Use home assistant standard api
* Fixup manufacture data
* Adjust config flow to use standard features
* Fixup tests
* Mock bluetooth
* Simplify device check
* Fix missing typing
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add new LaCrosse View integration
* Add new LaCrosse View integration
* Add retry logic
* Actually use the start time for the retry logic
* Get new token after 1 hour
* Replace retry logic with more reliable logic
* Improve test coverage
* Add device info and unique id to config entry
* Fix manufacturer name
* Improve token refresh and check sensor permission
* Improve test cover
* Add LaCrosse View to .strict-typing
* Remove empty fields in manifest.json
* Fix mypy
* Add retry logic for get_data
* Add missing break statement in retry decorator
* Fix requirements
* Finish suggestions by Allen Porter
* Suggestions by Allen Porter
* Fix typing issues with calls to get_locations and get_sensors
* Add Govee BLE integration
* add missing files
* remove test file not needed yet
* fix
* add bbq sensors
* fixed lib
* bump again to fix the names
* fix discovery of the newer bbq devices
* fix the test to test the right thing
* verify no outstanding flows
* only accept entities that match the platform
* refactor
* refactor
* refactor
* Refactor PassiveBluetoothDataUpdateCoordinator to support multiple platforms
* cover
* Update for new model
* Update for new model
* Update tests/components/govee_ble/test_sensor.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* purge dead code
* backmerge from integration
* Update docstring
* Update docstring
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Initial xiaomi_ble integration
* black
* Update homeassistant/components/xiaomi_ble/config_flow.py
Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
* Update homeassistant/components/xiaomi_ble/config_flow.py
Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
* Apply suggestions from code review
Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
* Update tests/components/xiaomi_ble/test_config_flow.py
Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
* Update homeassistant/components/xiaomi_ble/sensor.py
Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
* Update tests/components/xiaomi_ble/test_config_flow.py
Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
* Remove debug code
* Need 'proper' MAC when running tests on linux
* Need to use proper MAC so validation passes
* Add tests for already_in_progress and already_configured
* copy test, add session fixture
* fix test
Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
* ESPHome use dhcp responses to update connection host of known devices
* Add test for dhcp
* Add another test to cover when there are no changes required
* Add config flow to AnthemAV integration
* Add importing of existing configuration
* Change setting to optional and add default value
* Use entity attribute
* Reduce changes by removing additional media player properties
* Remove title from translation
* Refactor config flow and fix PR comments
* Fix a failing test because of wrong renaming
* Add typing and use existing class and enum
* Bump dependency to v1.3.1
* Remove unecessary async_reload_entry
* Fix requirements_test_all after rebase
* Add const for timeout and remove async_block in test
* Reapply CodeOwner and configflow after rebase
* Remove name from configflow
* Fix manifest prettier failure
* Simplify code and avoid catching broad exception
* Removed unused strings and translations
* Avoid asserting hass.data
* Update the nest integration to be useable fully from the config flow
* Support discovery in nest config flow
* Remove configuration entries
* Remove unused import
* Remove dead code
* Update homeassistant/components/nest/strings.json
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove commented out code
* Use config flow for app auth reauthentication path
* Improves for re-auth for upgrading existing project and creds
* More dead code removal
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove outdated code
* Update homeassistant/components/nest/config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add config flow to eight_sleep
* simplify tests
* Remove extra file
* remove unused import
* fix redundant code
* Update homeassistant/components/eight_sleep/__init__.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* incorporate feedback
* Review comments
* remove typing from tests
* Fix based on changes
* Fix requirements
* Remove stale comment
* Fix tests
* Reverse the flow and force the config entry to reconnect
* Review comments
* Abort if import flow fails
* Split import and user logic
* Fix error
Co-authored-by: J. Nick Koston <nick@koston.org>
* fixing after MartinHjelmare review
* fixing after MartinHjelmare review conversion alarm state to hass state
* fixing after MartinHjelmare review conversion alarm state to hass state
* manage the status in the alarm control
* simplyfing return function
* Removing iAlarm XR integration because of Antifurto365 explicit request to remove after some issues in their cloud service
* Change to new package and tcp
* Rework integration pt1
* Show by default
* Handle auth error
* Use const
* New version avaliable (to be replaced in future by update entity)
* Remove visible
* Version latest
* Filesystem space use
* Dev package
* Fix sensor
* Add services
* Update package
* Add temperature and voltage
* GPU
* Bump package version
* Update config flow
* Add displays
* Fix displays connected
* Round to whole number
* GPU fan speed in RPM
* Handle disconnections
* Update package
* Fix
* Update tests
* Handle more errors
* Check submodule and return missing uuid in test
* Handle auth error on config flow
* Fix test
* Bump package version
* Handle key errors
* Update package to release version
* Client session in config flow
* Log
* Increase timeout and use similar logic in config flow to init
* 30 secs
* Add test for timeout error
* Cleanup logs
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/system_bridge/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* uuid raise specific error
* Type
* Lambda to functions for complex logic
* Unknown error test
* Bump package to 3.0.5
* Bump package to 3.0.6
* Use typings from package and pydantic
* Use dict()
* Use data listener function and map to models
* Use passed module handler
* Use lists from models
* Update to 3.1.0
* Update coordinator to use passed module
* Improve coordinator
* Add debug
* Bump package and avaliable -> available
* Add version check
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* First version of laundrify integration
* Code cleanup
* Code cleanup after review #2
* Move coordinator to its own file
* Save devices as dict and implement available prop as fn
* Validate token on init, abort if already configured
* Some more cleanup after review
* Add strict type hints
* Minor changes after code review
* Remove OptionsFlow (use default poll interval instead)
* Fix CODEOWNERS to pass hassfest job
* Fix formatting to pass prettier job
* Fix mypy typing error
* Update internal device property after fetching data
* Call parental update handler and remove obsolete code
* Add coordinator tests and fix some config flow tests
* Refactor tests
* Refactor fixtures
* Device unavailable if polling fails
* Add ConfigFlow for here_travel_time
* Use Selectors and Menu
* Use separate config flow steps for menus
* Move time options together
* Update homeassistant/components/here_travel_time/config_flow.py
Co-authored-by: Allen Porter <allen.porter@gmail.com>
* Blacken config_flow
* Initialize _config
* Only catch HERE errors
* Fix unknown error test
* Implement async_step_import
* Only catch errors for validate_api_key
* Split lat/lon
* Add additional test coverage
* Use TimeSelector in option flow
* Assert config entry data/option
Co-authored-by: Allen Porter <allen.porter@gmail.com>
* Add google application_credentials platform
* Further simplify custom auth implementation overrides
* Add test coverage in application_credentials
* Simplify wording in a comment
* Remove unused imports accidentally left from merge
* Wrap lines that are too long for style guide
* Move application credential loading to only where it is needed
* Leave CLIENT_ID and CLIENT_SECRET as required.
* Adding flow and async
* Fixes to init
* Lint and type
* Fixed coveragerc file
* Added Test Coverage
* Added Update Listener and removed unused code
* Wrong integration name in init.
* Nothing
* Added yaml import flow
* Added YAML import functionality
* Added back aladdin_connect files to coverage rc
* Removed commented code
* Clean up error message
* Update homeassistant/components/aladdin_connect/__init__.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update homeassistant/components/aladdin_connect/__init__.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update homeassistant/components/aladdin_connect/config_flow.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Updated Documentation errors
* recommended change broke cover.py - backed out
* Cleaned up unused defenitions
* implimented recommended changes from gjohansson
* Dev environment cleanup
* Raised errors for better recovery, replaced removed update files, utilized PLATFORM vars to init platform
* Added back removal
* Added Code Owner
* Fixed more comment errors and import duplicates
* Added test coverage and formated code
* Added test coverage for model and init
* Added test_cover for full testing coverage
* Added await to async call
* Added missing asserts to failure tests
* Updated tranlsation
* Fixed wording in yaml import function, white space in const.py, return from validate_input.
* Update homeassistant/components/aladdin_connect/config_flow.py
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
* "too much" whitespace
* Added back mising strings.json errors
* Added ConfigFlowReconfig and tests
* Finished up reauth config flow and associated tests
* Added reauth to strings, removed username from reauth
* recommended changes, ran script.translations, added auth test to reauth
* put back self.entry.data unpack.
* Cleanup for error message, fixed missing "asserts" in tests
* Added yaml import assertions
* Fixed documentation errors in test_cover.
* remove unused string.
* revised tests and wording for yaml import
* Documentation cleanup.
* Changed sideeffect names
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
* Add ws66i core integration
* Remove all ws66i translations
* Update ws66i unit tests to meet minimum code coverage
* Update ws66i based on @bdraco review
* General improvements after 2nd PR review
* Disable entities if amp shutoff, set default source names, set 30sec polling
* Add _attr_ and change async_on_unload
* Improve entity generation
* Implement coordinator
* Made options fields required, retry connection on failed attempts, use ZoneStatus for attributes
* Refactor WS66i entity properties, raise HomeAssistantError on restore service if no snapshot
* Update to pyws66i v1.1
* Add quality scale of silver to manifest
* Update config_flow test
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Initial developer credentials scaffolding
- Support websocket list/add/delete
- Add developer credentials protocol from yaml config
- Handle OAuth credential registration and de-registration
- Tests for websocket and integration based registration
* Fix pydoc text
* Remove translations and update owners
* Update homeassistant/components/developer_credentials/__init__.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Update homeassistant/components/developer_credentials/__init__.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Remove _async_get_developer_credential
* Rename to application credentials platform
* Fix race condition and add import support
* Increase code coverage (92%)
* Increase test coverage 93%
* Increase test coverage (94%)
* Increase test coverage (97%)
* Increase test covearge (98%)
* Increase test coverage (99%)
* Increase test coverage (100%)
* Remove http router frozen comment
* Remove auth domain override on import
* Remove debug statement
* Don't import the same client id multiple times
* Add auth dependency for local oauth implementation
* Revert older oauth2 changes from merge
* Update homeassistant/components/application_credentials/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Move config credential import to its own fixture
* Override the mock_application_credentials_integration fixture instead per test
* Update application credentials
* Add dictionary typing
* Use f-strings as per feedback
* Add additional structure needed for an MVP application credential
Add additional structure needed for an MVP, including a target
component Xbox
* Add websocket to list supported integrations for frontend selector
* Application credentials config
* Import xbox credentials
* Remove unnecessary async calls
* Update script/hassfest/application_credentials.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update script/hassfest/application_credentials.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update script/hassfest/application_credentials.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update script/hassfest/application_credentials.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Import credentials with a fixed auth domain
Resolve an issue with compatibility of exisiting config entries when importing
client credentials
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Add Insteon USB discovery
* Update tests/components/insteon/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Black
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Narrow down the list of LIFX models for HomeKit discovery
This allows the LIFX Switch to be integrated using the HomeKit
Controller component. I also adjusted the zeroconf test so that
the partial match still matches the lifx integration.
Signed-off-by: Avi Miller <me@dje.li>
* Update tests/components/zeroconf/test_init.py
Co-authored-by: J. Nick Koston <nick@koston.org>
This allows the LIFX Switch to be discovered by the HomeKit Controller
integration instead of being captured by the LIFX integration which
doesn't support switches.
Signed-off-by: Avi Miller <me@dje.li>
* Create a new NWS Alerts integration
* Create a new NWS Alerts integration
* Create new PECO integration
* Remove empty keys
* Revert "Create a new NWS Alerts integration"
This reverts commit 38309c5a87.
* Revert "Create a new NWS Alerts integration"
This reverts commit aeabdd37b8.
* Fix test with new mock data
* Add init and sensor to .coveragerc and more tests for config flow
* Small fixes and replacing patch with pytest.raises in testing invalid county
* Add type defs and fix test_config_flow to use MultipleValid instead
* Fix issues with 'typing.Dict'
* Move API communication to seperate PyPI library
* Switch PyPI library from httpx to aiohttp to allow for passing in websessions
* Commit file changes requested by farmio as listed here: d267e4300a
* Add suggestions requested by farmio as listed here: 586d8ffa42
* Move native_unit_of_measurement from prop to attr
* Update PLATFORMS constant type annotation
Co-authored-by: Matthias Alphart <farmio@alphart.net>
* Add peco to .strict-typing
I am from school so I can't run mypy atm
* Forgot to import Final
* Do as requested [here](https://github.com/home-assistant/core/runs/5070634928?check_suite_focus=true)
* Updated mypy.ini, checks should pass now
* Fix to conform to mypy restrictions https://github.com/home-assistant/core/runs/5072861837\?check_suite_focus\=true
* Fix type annotations
* Fix tests
* Use cast in async_update_data
* Add data type to CoordinatorEntity and DataUpdateCoordinator
* More cleanup from suggestions here: https://github.com/home-assistant/core/pull/65194\#pullrequestreview-908183493
* Fix tests for new code
* Cleaning up a speck of dust
* Remove unused variable from the peco sensor
* Add rounding to percentage, and extra clean-up
* Final suggestions from @farmio
* Update SCAN_INTERVAL to be a little bit faster
* Change the SCAN_INTERVAL to be somewhat near the update interval of the outage map, as noted by farmio
* New UpdateCoordinator typing
* Add new tomorrow.io integration to replace Climacell - Part 1/3 (#57121)
* Add new tomorrow.io integration to replace Climacell - Part 1/3
* remove unused code
* remove extra test
* remove more unused code
* Remove even more unused code
* Feedback
* clean up options flow
* clean up options flow
* tweaks and fix tests
* remove device_class from tomorrowio entity description class
* use timestep
* fix tests
* always use default name but add zone name if location is in a zone
* revert change that will go into future PR
* review comments
* move code out of try block
* bump max requests to 500 as per docs
* fix tests
* Add new tomorrow.io integration to replace Climacell - Part 2/3 (#57124)
* Add new tomorrow.io integration to replace Climacell - Part 2/3
* translations
* set config flow to false in manifest
* Cleanup more code and re-add options flow test
* fixes
* patch I/O calls
* Update tests/components/climacell/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* remove unused import
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Fix codeowners
* fix mypy and pylint
* Switch to DeviceInfo
* Fix fixture location and improve sensor entities in tomorrowio integration (#63527)
* Add new tomorrow.io integration to replace Climacell - Part 3/3 (#59698)
* Switch to DeviceInfo
* Add new tomorrow.io integration to replace Climacell - Part 1/3 (#57121)
* Add new tomorrow.io integration to replace Climacell - Part 1/3
* remove unused code
* remove extra test
* remove more unused code
* Remove even more unused code
* Feedback
* clean up options flow
* clean up options flow
* tweaks and fix tests
* remove device_class from tomorrowio entity description class
* use timestep
* fix tests
* always use default name but add zone name if location is in a zone
* revert change that will go into future PR
* review comments
* move code out of try block
* bump max requests to 500 as per docs
* fix tests
* Migrate ClimaCell entries to Tomorrow.io
* tweaks
* pylint
* Apply fix from #60454 to tomorrowio integration
* lint and mypy
* use speed conversion instead of distance conversion
* Use SensorDeviceClass enum
* Use built in conversions and remove unused loggers
* fix requirements
* Update homeassistant/components/tomorrowio/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Use constants
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Black
* Update logic and add coverage
* remove extra line
* Do patching correctly
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add options flow support to HelperConfigFlowHandler
* Add config flow for cover, fan, light and media_player groups
* Update according to review comments
* Update translation strings
* Update translation strings
* Copy schema before adding suggested values
* Add config flow for switch.light
* Refactor according to code review
* Setup light switch from config entry
* Improve async_resolve_entity
* Prepare for multiple steps
* Remove name and options flow from switch light
* Check type before adding description to schema keys
* Remove options flow enabler
* Copy name from the switch
* Move helper flows to new file
* Improve test coverage
* Fix name
* Remove dead code from abstract method
* Remove manifest 'helper' option
* Validate registry entry id before forwarding to light platform
* Improve test
* Add translations
* Improve config entry setup
* Log when config entry fails setup
* Update homeassistant/components/switch/__init__.py
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>