Commit graph

56 commits

Author SHA1 Message Date
epenet
44d3f2192c
Use UnitOfTemperature in climate entities [a-f] (#83125) 2022-12-04 11:53:56 +02:00
epenet
39ac2c1101
Adjust type hints for ClimateEntityFeature (#82206) 2022-11-16 21:17:50 +01:00
epenet
24c26dc032
Use unit_conversion in components (#79204)
* Use unit_conversion in components

* Two more
2022-09-28 16:05:31 +02:00
epenet
ec532414ba
Import climate constants from root [a-l] (#78177) 2022-09-10 23:39:52 +02:00
epenet
6693cfd036
Improve type hint in ecobee climate entity (#77133) 2022-08-22 13:27:36 +02:00
epenet
3a3f41f3df
Improve entity type hints [e] (#77041) 2022-08-20 07:52:55 +02:00
epenet
7b1d5fb10a
Use climate enums in ecobee (#70632) 2022-04-25 13:19:54 +02:00
epenet
78045df227
Use EntityFeature enum in components (e**) (#69384) 2022-04-06 11:03:29 +02:00
Josh Soref
2a7c808d38
spelling: components/ecobee (#64255)
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
2022-01-17 15:28:45 +01:00
epenet
06ebbb7cae
Add climate setup type hints [a-l] (#63278)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-03 13:26:32 +01:00
epenet
656d383ba6
Ensure service calls are typed [e-g] (#62912)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-28 14:23:01 +01:00
Brent Petit
6b9fb4bda3
Clean up rounding in Ecobee integration (#56319) 2021-10-26 07:37:43 -04:00
Robert Hillis
12c067970a
Use DeviceInfo Class E (#58230) 2021-10-23 11:44:51 +02:00
Marc Mueller
48bada5a18
Update pylint to 2.11.1 (#56364) 2021-09-18 13:52:59 +02:00
Brent Petit
016ba39dfb
Ecobee logging cleanup (#51754) 2021-06-17 10:59:13 +02:00
Franck Nijhof
2ed386f9e6
Migrate to async_get_current_platform everywhere (#50034) 2021-05-03 09:34:28 -07:00
jjlawren
523a71ac20
Set temperature precision for Ecobee climate entities to tenths (#48697) 2021-04-19 17:41:30 -07:00
Brent Petit
080c89c761
Only set fan state in ecobee set_fan_mode service (#48086) 2021-04-18 22:35:03 +02:00
Marc Mueller
91df3fa904
Update typing 06 (#48039) 2021-03-17 23:49:01 +01:00
Erik Montnemery
6c084ae6ce
Update integrations a-e to override extra_state_attributes() (#47756) 2021-03-11 16:51:03 +01:00
Mark Coombes
960b5b7d86
Fix climate hold bug in ecobee (#46613) 2021-02-16 07:06:20 -10:00
Jamin Collins
3b184ad11c
Implement support for additional ecobee hold modes (#40520)
* 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>
2021-01-07 18:09:22 -10:00
treylok
1ca99c4fa4
Add ecobee humidity attributes (#44366)
* Update humidity attributes.

* Update climate.py

* Raise ValueError

* Update conditions for humidity controls to show

Humidity controls only show when the humidifier mode is in "manual" mode.
2020-12-21 20:03:26 +01:00
treylok
180491f8cd
Fix Ecobee set humidity (#43954) 2020-12-05 14:13:46 +01:00
springstan
a2c3c33b22
Use core GitHub URL in all files (#41089) 2020-10-03 00:04:11 +02:00
Yehuda Davis
bd3f075060
Add Ecobee services (#38749)
Enable/disable automatic daylight savings time
Enable/disable the Alexa mic on the Ecobee 4
Enable/disable Smart Home/Away and follow me modes
2020-08-11 10:31:38 +02:00
Paulus Schoutsen
e33a3bb94a
Stub out ecobee aux heat services (#37423) 2020-07-03 21:04:13 +02:00
Franck Nijhof
4cf186a47e
Small collection of random styling tweaks, fixes and Pythonism (#35390) 2020-05-09 00:10:17 +02:00
Erik Montnemery
29bc93ea98
Rename ClimateDevice to ClimateEntity (#34591) 2020-04-25 18:04:03 +02:00
Paulus Schoutsen
a9908f0a94
Ecobee to use HVAC mode heat-cool instead of auto (#34193) 2020-04-14 09:56:50 +02:00
Paulus Schoutsen
dbcc294d67
Use correct Ecobee fan constants (#34177) 2020-04-14 02:55:57 +02:00
Franck Nijhof
fb35d382e1
Remove all empty *_setup_platform() from integrations (#31025)
* Remove all empty *_setup_platform() from integrations

* Fix tests for smartthings

* Fix tests for heos
2020-01-21 12:38:38 +01:00
Ville Skyttä
e6388e186c
Remove unnecessary string literal concatenations (#30360) 2020-01-02 21:17:10 +02:00
Bas Nijholt
0d5de6a464 use isort to sort imports according to PEP8 for ecobee (#29631) 2019-12-08 22:31:50 +05:30
Ari
504ad6488c Add support for Heat Mode detection for ecobee Heat Pumps (#28273)
* Add support for Heat Mode detection for Heat Pumps - Fixes #26547

Since the ecobee component started to dynamically set the supported HVAC modes based on querying the device a few releases ago, users with Heat Pumps noticed that the Heat mode was no longer offered as an option by HA. Some of us did not actually notice until the summer was over :). This commit fixes that.

For heatpumps, ecobee returns:
'coolStages': 1, 
'heatStages': 0,
'hasHeatPump': True,

Fix tested on HA 100.1 and 100.3

Fixes bug https://github.com/home-assistant/home-assistant/issues/26547

* changed line formatted with black
2019-11-08 19:08:50 +01:00
Mark Coombes
2e49303401 Add turn_on method to ecobee climate platform (#27103)
* Add turn on method to ecobee climate

* Update climate.py

* Update value in async_update

* Fix update in async_update

* Simplify async_update

* Fix lint complaining about log string

* Cleanup inline if statement
2019-10-04 17:35:31 -07:00
Mark Coombes
98eaecf61d Add device registry support to ecobee integration (#27109)
* 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
2019-10-04 08:31:45 +02:00
Mark Coombes
ee45431d0e Add entity registry support to ecobee integration (#27088)
* Add unique id to platforms

Add unique id for binary sensor, climate, and sensor.

* Add unique id to weather platform

* Simplify unique_id for weather platform

* Fix lint for unique_id in sensor

* Fix lint for unique_id in binary sensor
2019-10-01 14:28:13 -07:00
Mark Coombes
2dfdc5f6f8 Improve ecobee service schemas (#26955)
* Validate date and time in create vaction

Improve validation with utility functions.

* Improve validate ATTR_VACATION_NAME

* Add tests for ecobee.util functions

* Revise tests as standalone functions
2019-09-28 11:32:22 +02:00
Mark Coombes
c194f4a813 Add ecobee services to create and delete vacations (#26923)
* Bump pyecobee to 0.1.3

* Add functions, attrs, and services to climate

Fixes

* Update requirements

* Update service strings

* Fix typo

* Fix log msg string formatting for lint

* Change some parameters to Inclusive

start_date, start_time, end_date, and end_time must be specified together.

* Use built-in convert util for temps

* Match other service variable names
2019-09-26 21:23:44 +02:00
Mark Coombes
f6995b8d17 Add config flow to ecobee (#26634)
* 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.
2019-09-25 22:38:21 +02:00
Paulus Schoutsen
23f26712f0 Fix ecobee preset and add climate mode back (#25970)
* Fix ecobee preset and add climate mode back

* Fix test
2019-08-16 10:29:25 +03:00
Paulus Schoutsen
a398b39e12
Expose comfort presets as HA presets (#25491)
* Expose comfort presets as HA presets

* Fix bugs

* Handle unavailable

* log level debug on update

* Lint
2019-08-01 12:32:48 -07:00
Paulus Schoutsen
4de97abc3a Black 2019-07-31 12:25:30 -07:00
Paulus Schoutsen
0257fe0375
Fix Ecobee HVAC action + available presets (#25488)
* 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
2019-07-30 15:25:03 -07:00
Paulus Schoutsen
50d4921d0a
Introduce PRESET_NONE for climate (#25360)
* Introduce PRESET_NONE for climate

* Require preset mode to be a string

* Lint

* Fix tests
2019-07-21 11:00:42 -07:00
geekofweek
5c53257c23 ecobee Preset Fix (#25256)
* ecobee Preset Fix

* Celsius Fix

* Checks Fix

* Check Fix #2

* Check Fix #3
2019-07-18 10:39:53 -07:00
cgtobi
89ed26eb86 Fix the unit of measurement for ecobee climate (#25246)
* Fix the unit of measurement

* Remove unused const
2019-07-18 13:27:56 +02:00
Paulus Schoutsen
a5012f39da
Fix ecobee missing preset mode support flag (#25211) 2019-07-17 15:07:14 -07:00
Paulus Schoutsen
0b7a901c81
Fix ecobee flaky test (#25019) 2019-07-08 13:10:01 -07:00