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

Cannot synchronize celsius on HA with celsius on the AC unit #56

Closed
amaisano opened this issue May 29, 2024 · 3 comments · Fixed by #63
Closed

Cannot synchronize celsius on HA with celsius on the AC unit #56

amaisano opened this issue May 29, 2024 · 3 comments · Fixed by #63

Comments

@amaisano
Copy link

This is really bizarre:

I have HA units configured globally to C. I also have the Frigidaire 2.0 app global (affects all units) measurement to C.

However, when the F2.0 app is set to C, HA shows 77C whenever I attempt to change the target temp on HA - it's putting "C" on but that number is 100% an F number.

If I set the F2.0 app to use F as the measurement, HA properly shows 22C and setting things through HA uses correct C units, BUT the AC unit in the window switches to showing 77F units!?!?!

Someone please help us figure out this celsius stuff once and for all - it's been buggy for years.

@amaisano
Copy link
Author

Oh one last thing: if I'm stuck where the AC unit LED display says 77F and HA says 22C, if I press the - and + buttons on the AC unit at the same time and hold to switch the units back to C on the AC Unit display, it instantly changes HA back to 77C (incorrect).

So my workaround right now is to set HA to C, F2.0 app to F, and deal with the physical AC units being controlled in F, and HA in C. It's horrible.

@bm1549 bm1549 closed this as completed in #63 Aug 1, 2024
casebeer added a commit to casebeer/frigidaire that referenced this issue Aug 30, 2024
Expose set_temperature_{f,c} functions wrapping the underlinging
Frigidaire actions Setting.TARGET_TEMPERATURE_{F,C}. This allows users
of this client (e.g. the Home Assistant component) to set a target
temperature in either F or C without performing temperature conversion;
callers that natively use F will set the TARGET_TEMPERATURE_F, while
callers that store C will set the TARGET_TEMPERATURE_C.

These two functions replace the previous `set_temperature()` function
which implicitly required callers to convert target temperatures to
degrees Fahrenheit, and so constitute a breaking API change.

Fixes bm1549/home-assistant-frigidaire#56
casebeer added a commit to casebeer/frigidaire that referenced this issue Aug 30, 2024
Expose set_temperature_{f,c} functions wrapping the underlinging
Frigidaire actions Setting.TARGET_TEMPERATURE_{F,C}. This allows users
of this client (e.g. the Home Assistant component) to set a target
temperature in either F or C without performing temperature conversion;
callers that natively use F will set the TARGET_TEMPERATURE_F, while
callers that store C will set the TARGET_TEMPERATURE_C.

These two functions replace the previous `set_temperature()` function
which implicitly required callers to convert target temperatures to
degrees Fahrenheit, and so constitute a breaking API change.

Supports fixing bm1549/home-assistant-frigidaire#56
casebeer added a commit to casebeer/frigidaire that referenced this issue Aug 30, 2024
Expose set_temperature_{f,c} functions wrapping the underlinging
Frigidaire actions Setting.TARGET_TEMPERATURE_{F,C}. This allows users
of this client (e.g. the Home Assistant component) to set a target
temperature in either F or C without performing temperature conversion;
callers that natively use F will set the TARGET_TEMPERATURE_F, while
callers that store C will set the TARGET_TEMPERATURE_C.

These two functions replace the previous `set_temperature()` function
(which implicitly required callers to convert target temperatures to
degrees Fahrenheit), and so constitute a breaking API change.

Supports fixing bm1549/home-assistant-frigidaire#56
@casebeer
Copy link
Contributor

I believe this issue is not completely solved by #63. The set_temperature() method in the Frigidaire client library assumes its argument is in Fahrenheit, but this HA component provides the target temperature in whatever units are configured in Home Assistant, without any conversions.

#63 fixes this mismatch in the read case by reading the target temperature matching our temperature_unit config, but the issue still remains for the write case. #68 makes the analogous write-case fix to #63, but relies on bm1549/frigidaire#37 to expose the underling Celsius- and Fahrenheit-specific target temperature setting actions.

@amaisano
Copy link
Author

amaisano commented Sep 5, 2024

Hallelujah! THANK YOU

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants