* Add basic config flow
* Fix json files
* Update __init__.py
* Fix json errors
* Move constants to const.py
* Add ecobee to generated config flows
* Update config_flow for updated API
* Update manifest to include new dependencies
Bump pyecobee, add aiofiles.
* Update constants for ecobee
* Modify ecobee setup to use config flow
* Bump dependency
* Update binary_sensor to use config_entry
* Update sensor to use config_entry
* Update __init__.py
* Update weather to use config_entry
* Update notify.py
* Update ecobee constants
* Update climate to use config_entry
* Avoid a breaking change on ecobee services
* Store api key from old config entry
* Allow unloading of config entry
* Show user a form before import
* Refine import flow
* Update strings.json to remove import step
Not needed.
* Move third party imports to top of module
* Remove periods from end of log messages
* Make configuration.yaml config optional
* Remove unused strings
* Reorganize config flow
* Remove unneeded requirement
* No need to store API key
* Update async_unload_entry
* Clean up if/else statements
* Update requirements_all.txt
* Fix config schema
* Update __init__.py
* Remove check for DATA_ECOBEE_CONFIG
* Remove redundant check
* Add check for DATA_ECOBEE_CONFIG
* Change setup_platform to async
* Fix state unknown and imports
* Change init step to user
* Have import step raise specific exceptions
* Rearrange try/except block in import flow
* Convert update() and refresh() to coroutines
...and update platforms to use async_update coroutine.
* Finish converting init to async
* Preliminary tests
* Test full implementation
* Update test_config_flow.py
* Update test_config_flow.py
* Add self to codeowners
* Update test_config_flow.py
* Use MockConfigEntry
* Update test_config_flow.py
* Update CODEOWNERS
* pylint fixes
* Register services under ecobee domain
Breaking change!
* Pylint fixes
* Pylint fixes
* Pylint fixes
* Move service strings to ecobee domain
* Fix log message capitalization
* Fix import formatting
* Update .coveragerc
* Add __init__ to coveragerc
* Add option flow test
* Update .coveragerc
* Act on updated options
* Revert "Act on updated options"
This reverts commit 56b0a859f2e3e80b6f4c77a8f784a2b29ee2cce9.
* Remove hold_temp from climate
* Remove hold_temp and options from init
* Remove options handler from config flow
* Remove options strings
* Remove options flow test
* Remove hold_temp constants
* Fix climate tests
* Pass api key to user step in import flow
* Update test_config_flow.py
Ensure that the import step calls the user step with the user's api key as user input if importing from ecobee.conf/validating imported keys fails.
* Add here_travel_time
* Bump herepy version to 0.6.2
* Update requirements_all.txt
* Disable pylint and catch errors
* Add herepy to requirements_test_all
* Correctly place test req for herepy
* use homeassistant.const.LENGTH_METERS
* Implemented Requested Changes
* Better error message for cryptic error code
* add requested changes
* add_entities instead of async
* Add route attr and distance in km instead of m
* fix linting errors
* attribute duration in minutes instead of seconds
* Correct pattern for longitude
* dont split attribute but rather local var
* move strings to const and use travelTime
* Add tests
* Add route for pedestrian and public
* fix public transport route generation
* remove print statement
* Standalone pytest
* Use hass fixture and increase test cov
_resolve_zone is redundant
* Clean up redundant code
* Add type annotations
* Readd _resolve_zone and add a test for it
* Full test cov
* use caplog
* Add origin/destination attributes
According to https://github.com/home-assistant/home-assistant/pull/24956
* Add mode: bicycle
* black
* Add mode: publicTransportTimeTable
* Fix error for publicTransportTimeTable
Switch route_mode and travel_mode in api request.
* split up config options
* More type hints
* implement *_entity_id
* align attributes with google_travel_time
* route in lib
apply requested changes
* Update requirements_all.txt
* remove DATA_KEY
* Use ATTR_MODE
* add attribution
* Only add attribution if not none
* Add debug log for raw response
* Add _build_hass_attribution
* clearer var names in credentials check
* async _are_valid_client_credentials
* iZone component
* Rename constants to const.
* Changes as per code review.
* Stop listening if discovery times out.
* Unload properly
* Changes as per code review
* Climate 1.0
* Use dispatcher instead of listener
* Free air settings
* Test case for config flow.
* Changes as per code review
* Fix error on shutdown
* Changes as per code review
* Lint fix
* Black formatting
* Black on test
* Fix test
* Lint fix
* Formatting
* Updated requirements
* Remaining patches
* Per code r/v
* Add config flow support
* Log error on failed connection
* Review comments
* Unused errors
* Move form to step
* Use instance var instead of passing argument
* Only share servers created by component
* Return errors early to avoid try:else
* Separate debug for validation vs setup
* Unnecessary
* Unnecessary checks
* Combine import flows, move logic to component
* Use config entry discovery handler
* Temporary lint fix
* Filter out servers already configured
* Remove manual config flow
* Skip discovery if a config exists
* Swap conditional to reduce indenting
* Only discover when no configs created or creating
* Un-nest function
* Proper async use
* Move legacy file import to discovery
* Fix, bad else
* Separate validate step
* Unused without manual setup step
* Async oops
* First attempt at tests
* Test cleanup
* Full test coverage for config_flow, enable tests
* Lint
* Fix lint vs black
* Add test init
* Add test package requirement
* Actually run script
* Use 'not None' convention
* Group exceptions by result
* Improve logic, add new error and test
* Test cleanup
* Add more asserts
* Initial commit for the solaredge configflow
* rerun the hassfest script
* Adding testcases
* Rerun hassfest, problem with black?
* Requirements for the tests
* Remove CONF_MONITORED_CONDITIONS from configuration.yaml
* Remove the options flow strings
* Resolve some comments
* Comments
* More comments
* Move the config from the sensor platform to the component itself
* More comments
* More comments
* Added solaredge __init__
* Added more test to increase coverage
* Import new iaqualink component with climate platform.
* Style and unittest changes, fix async_step_import.
* Reorder imports.
* Fix stale doctstrings and add unittest.
* Adds tests for pi_hole integration
* Refactor pi_hole component to an integration supporting multiple platforms
* Adds mock of Hole dependency
* Aborts platform setup when discovery_info is none
* Removes use of monitored_conditions
* Adds integration setup test
* Removes PlatformNotReady check
* Adds sensor test
* Code review updates
* Refactor tests to assert state through hass
* Reorder imports
* Move the patchers to a separate file
* Got a pytest test working (mostly)
* Checkpoint
* Switch to pytest for all tests
* Bump androidtv to 0.0.26 and update tests
* More robust patching
* Remove unused constants
* Combine two lines
* Add 2 additional checks
* Check that state objects are not None; add more description to tests
* Use f strings