* Add set_active_sensors Service
* Remove version bump from service addition commit
* Reviewer suggested changes
* Changed naming to be more clear of functionality
* Adjusted additional naming to follow new convention
* Updated to pass failing CI tests
* Fix typo
* Fix to pass CI
* Changed argument from climate_name to preset_mode and changed service error
* Made loop more clear and changed raised error to log msg
* Fix typo
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Removed code that was accidentally added back in and fixed mypy errors
* Add icon for service
* Added sensors as attributes and updated tests
* Revert changes made in #126587
* Added tests for remote_sensors and set_sensors_used_in_climate
* Changed back to load multiplatforms (#126587)
* Check for empty sensor list and negative tests for errors raised
* Added tests and fixed errors
* Add hass to class init to allow for device_registry lookup at startup and check for name changed by user
* Added tests to test the new functions
* Simplified code and fixed testing error for simplification
* Added freeze in test
* Fixed device filtering
* Simplified code section
* Maintains the ability to call `set_sensors_used_in_climate` function even is the user changes the device name from the ecobee app or thermostat without needing to reload home assistant.
* Update tests with new functionality. Changed thermostat identifier to a string, since that is what is provided via the ecobee api
* Changed function parameter
* Search for specific ecobee identifier
* Moved errors to strings.json
* Added test for sensor not on thermostat
* Improved tests and updated device check
* Added attributes to _unrecoreded_attributes
* Changed name to be more clear
* Improve error message and add test for added property
* Renamed variables for clarity
* Added device_id to available_sensors to make it easier on user to find it
---------
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* add 20 min timer Ecobee
* modify local value with estimated time
* add ecobee test switch
* removed manual setting of data
* Add no throttle updates
* add more test cases
* move timezone calculation in update function
* update attribute based on feedback
* use timezone for time comparaison
* add location data to tests
* remove is_on function
* update python-ecobee-api lib
* remove uncessary checks
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* A platform is not a component
* Fix dynalite
* SUPPORTED_PLATFORMS --> PLATFORMS
* In tests
* In tests 2
* Fix SmartThings
* Fix ZHA test
* Fix Z-Wave
* Revert Z-Wave
* Use PLATFORMS const in ambient_station
* Fix ihc comment
* Add manufacturer const
* Add device_info to binary sensor
* Add device info to climate
* Add device info to sensor
* Add device info to weather
* Add constant for device info
* Fix log messages
* Use guard clauses
* 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.