* 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>
* Fix consider-using-tuple pylint warnings in component tests
* Apply su
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
---------
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
* useEndTime2hour - 2 hours
* useEndTime4hour - 4 hours
* indefinite - Until I change it
These changes have been tested with an ecobee3 lite running firmware
version 4.5.81.200
Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
* 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.
* Fix Ecobee HVAC action + available presets
* Update python-ecobee-api to 0.0.21
* Include proper operation list.
* Allows pass on preset to set_climate_hold
* Remove aux heat as a preset
* Fix test
* ecobee: expose detailed equipment status
* Fix#18244 for ecobee by moving current_operation property to current_operation_mode which is more accurate and defining current_operation properly, thanks @ZetaPhoenix
* fix docstring and lint issue
* Revert "fix docstring and lint issue"
This reverts commit d3a645f075f8a4017756f5eae05f00f05e2556cf.
* Revert "Fix #18244 for ecobee by moving current_operation property to current_operation_mode which is more accurate and defining current_operation properly, thanks @ZetaPhoenix"
This reverts commit bfd90551ef759b2c160d69da0778df89251e156b.