-
Notifications
You must be signed in to change notification settings - Fork 17
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 2441V thermostat device for temperature weirdness #65
Conversation
It looks like the 2441V has a lot of differences on the command set from the 2441TH that's currently coded. I've been continuing to look at this when I get time, and ran across this this morning:
which is all accurate according the 2441v docs (page 8), but that return format is completely different than the 2441TH (page 14) response for a status request. I have a feeling that the set commands are going to be the same as well. I'm more than happy to finish up a PR to add this thermostat type, but if you could point me to another device to model this off of I'd appreciate it - this is more complex python than I'm used to so modeling after something helps a lot! Also if you have any opinions on naming - that's always a hard topic! :) |
I believe all the commands for this are now working. Most of the changes seem reasonable, but the |
@teharris1 trying not to harass you, but would you be able to give me some feedback on this so I can make whatever changes I need to and get this merged in? |
@jlambert121 Sorry I had drafted a response and never hit comment. Thank you very much for this PR. Thermostats are a tough device so it is easy to see why you had issues. I agree with your concern there is a lot of copy and paste in this and there is an attempt to modify existing classes to adjust to the 2441v. I would suggest you do the following:
If you can make those changes, I will review it in detail and give more feedback. |
I started on this this morning and afraid I might make more of a mess trying to separate these apart and move stuff around than the value I'd bring - probably best if you do that if it was already on your list. Maybe the climate/thermostat stuff would be a good place to start (selfishly :) ) and then I can rework this onto that pattern? |
@teharris1 I can try to help split this out if you'd like, but I don't have the device for testing. I see four new classes in this PR:
Are you asking that all four be separated into base / derived classes? Should all thermostats require a derived class so base is only used for inheritance? E.g.
All existing devices using ClimateControl_Thermostat would use ClimateControl_Thermostat_Generic. Then repeat this for all four type of classes as necessary? **Note: this is a class name change from ClimateControl_WirelessThermostat to ClimateControl_Thermostat_Wireless Anyway, mock that up and let me know what you prefer and I'll make the changes. I'm not too sure how to get it all tested though. |
3e746ed
to
ccee02b
Compare
@teharris1 I haven't tested this at all, but is this more in line with what you were looking to see? |
ccee02b
to
e5c4ed9
Compare
e5c4ed9
to
7566b68
Compare
Replaced this thermostat with a different one. |
If anyone is willing to continue the work on this, I have a 2441V I can test with. I'd love to get it working here so the changes could be integrated into Home Assistant. |
Resolves #64
This PR resolves the issue I am having where the
2441V
thermostat is returning the actual temperature incmd2
instead of needing to divide by 2.I added the device name to the classes I added because I wasn't sure what else to call it other than "
_why_oh_why_venstar
" which also didn't seem like a good name.