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
Add support for zha thermostat #24549
Conversation
zha fan now also reads available speeds from device
Hey there @dmulcahey, @Adminiuga, mind taking a look at this pull request as its been labeled with a integration ( This is a automatic comment generated by codeowners-mention to help ensure issues and pull requests are seen by the right people. |
IIRC merging new climate platforms if blocked until #23899 goes in. Can you split FAN changes into a separate PR? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Split the FAN changes into a separate PR so we could get those on.
The Climate however needs to be based on https://github.com/home-assistant/home-assistant/tree/climate-1.0/
Please, update the documentation and open a PR for it (be sure to create a documentation PR against the 🏷 I am adding the |
[ SPEED_OFF, SPEED_LOW, SPEED_MEDIUM, SPEED_HIGH, SPEED_SMART ], | ||
[ SPEED_OFF, SPEED_LOW, SPEED_HIGH, SPEED_SMART ], | ||
[ SPEED_OFF, SPEED_LOW, SPEED_MEDIUM, SPEED_HIGH, SPEED_AUTO, SPEED_SMART ], | ||
[ SPEED_OFF, SPEED_LOW, SPEED_HIGH, SPEED_AUTO, SPEED_SMART ], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only speed constants in the base fan component is allowed to be returned in the speed list or accepted as set speed argument.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Either leave some modes out, or have a non 1:1 mapping, ie map eg two device speeds to the same home assistant speed and pick one of the two device speeds to map to the home assistant speed the other way.
There's no really good solution for this problem currently. We have to solve it as best possible while staying in line with current architecture.
Interesting! I didn't realize someone could open a pull request from someone else's repo. |
Sorry for not noticing this earlier @presslab-us. I'll close this now. |
It's no problem! I figured @Adminiuga would be the one to do ZHA thermostats because he has a branch working on that already. I am happy to update mine for those that want to use it in the mean time but I don't expect it would become the official one. |
@presslab-us I have one tracking/rebasing against current dev constantly at https://github.com/Adminiuga/home-assistant/tree/ac/new-zha-climate-1.0 Feel free to give it a try. Don't have FAN support currently as my "production" climate is baseboard heating only, but I'm building a testbed for a regular heat/cool/fan thermostat so going to add it relatively soon. Primarily I wanted to have "away" support and while ZCL does rudimentary support it, implementation methods between vendors differs. |
@Adminiuga & @presslab-us any news on ZHA Climate support since @pvizeli merged #23899 ? Climate is the main device type missing from ZHA: https://www.home-assistant.io/integrations/zha/ Update: Noticed that @presslab-us and @Adminiuga have branches so I reposted my question as a new architecture for discussion there instead => home-assistant/architecture#336 |
I have been maintaining and using my fork since May and it has been working just fine. I just merged in the latest dev just yesterday in fact. |
@MartinHjelmare @Adminiuga @presslab-us I would love to find a way to get this into ZHA master. I'd be willing to put some time into getting @Adminiuga 's branch fixed up to a state where it can be merged in. @MartinHjelmare If I prepared a PR, what is blocking this from being considered for Master, just the fan speed changes? |
@dmulcahey & @Adminiuga & @presslab-us & & @iamJoeTaylor @pvizeli & @DB-CL would it be a good idea to base a ZHA thermostat device type configuration on the new PR #31799 to help as a reference concept for this? PR #31799 is DB-CL refactoring and improvement of the Generic Thermostat (generic_thermostat climate platform) for climate 1.0 |
@Hedda there's no need to tag me in any of this, I am no longer contributing to ZHA or zigpy. |
FYI, Adminiuga has just now submitted a first pull request for "ZHA Climate" (beta) with thermostats Note! That mentions that currently only a Sinope thermostat and a Zen thermostat has been tested. |
zha fan now also reads available speeds from device
Breaking Change:
Description:
Related issue (if applicable): fixes #
Pull request with documentation for home-assistant.io (if applicable): home-assistant/home-assistant.io#<home-assistant.io PR number goes here>
Example entry for
configuration.yaml
(if applicable):Checklist:
tox
. Your PR cannot be merged unless tests passIf user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
python3 -m script.hassfest
.requirements_all.txt
by runningpython3 -m script.gen_requirements_all
..coveragerc
.If the code does not interact with devices: