Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bugfix evohome #26810

merged 29 commits into from Oct 1, 2019


Copy link

commented Sep 21, 2019

Breaking Change:

Device state attributes keys have been changed to snake_case and, since this a breaking change, the opportunity was taken to revise/simplify the entire device state attributes schema.


evohome is a complicated integration, has had major changes in recent times, and is not yet mature - this PR addresses some bugs and related architectural issues.

  • Modify behavior of set_temperature to mirror that of the vendor's UI (e.g. any target temp changes until next setpoint, unless explicitly set otherwise)
  • setpoint datetimes are now correctly converted to local/aware isoformat (internally, and for logging/state attributes)
  • use snake_case for device state attributes
  • add a unique_id for each entity (systemId, zoneID, dhwId)
  • refactoring - remove API wrappers (no longer using private methods)
  • add away mode for DHW (set to permanent off or Auto, depending)

Related issue (if applicable): fixes #25985, #25984 (both these, and the above, are related)

Pull request with documentation for (if applicable): N/A

Example entry for configuration.yaml (if applicable): N/A


  • The code change is tested and works locally.
  • Local tests pass with tox. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
  • Untested files have been added to .coveragerc.

If the code does not interact with devices:

  • Tests have been added to verify that the new code works.
zxdavb added 3 commits Sep 21, 2019
@project-bot project-bot bot added this to Needs review in Dev Sep 21, 2019
@MartinHjelmare MartinHjelmare moved this from Needs review to Incoming in Dev Sep 22, 2019
@zxdavb zxdavb added breaking change and removed small-pr labels Sep 24, 2019
@zxdavb zxdavb marked this pull request as ready for review Sep 25, 2019
@zxdavb zxdavb requested a review from balloob Sep 25, 2019
@MartinHjelmare MartinHjelmare moved this from Incoming to Review in progress in Dev Sep 26, 2019
zxdavb added 4 commits Sep 26, 2019

This comment has been minimized.

Copy link
Contributor Author

commented Sep 26, 2019

@balloob do you have time for another look?

@zxdavb zxdavb requested a review from balloob Sep 27, 2019
zxdavb added 2 commits Sep 30, 2019
Dev automation moved this from Review in progress to Reviewer approved Oct 1, 2019
balloob approved these changes Oct 1, 2019
@balloob balloob merged commit a1997ee into home-assistant:dev Oct 1, 2019
11 checks passed
11 checks passed
CI Build #20190930.21 succeeded
CI (FullCheck Mypy) FullCheck Mypy succeeded
CI (FullCheck Pylint) FullCheck Pylint succeeded
CI (Overview CheckFormat) Overview CheckFormat succeeded
CI (Overview Lint) Overview Lint succeeded
CI (Overview Validate) Overview Validate succeeded
CI (Tests PyTest Python36) Tests PyTest Python36 succeeded
CI (Tests PyTest Python37) Tests PyTest Python37 succeeded
cla-bot Everyone involved has signed the CLA
codecov/patch Coverage not affected when comparing cd976b6...2fab37d
codecov/project 94.3% (target 90%)
Dev automation moved this from Reviewer approved to Done Oct 1, 2019
@lock lock bot locked and limited conversation to collaborators Oct 2, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
3 participants
You can’t perform that action at this time.