#19395·esphome

mitsubishi_cn105 use_fahrenheit exposes Fahrenheit values as Celsius

Author: jolexaCreated Sep 18, 2026Updated Sep 18, 2026

The problem

When use_fahrenheit: true is enabled for the mitsubishi_cn105 component, the climate temperatures appear to be exposed to ESPHome/Home Assistant with incorrect units.

For example, with the HVAC set to 75°F:

  • ESPHome's web UI displays the target as 75, while the current temperature is displayed as e.g. 68°C.
  • Home Assistant displays the same 75 target as 167°F.
  • 75°C converts exactly to 167°F, suggesting that the Fahrenheit numeric value (75) is being exposed as though it were Celsius.

The current temperature behaves similarly. For example, the ESPHome web UI may show approximately 68°C for a normal room temperature.

This started after enabling use_fahrenheit: true following #15488.

Expected behavior: ESPHome/Home Assistant should display normal room temperatures and setpoints, e.g. approximately 68°F current temperature and 75°F target temperature.

Actual behavior: ESPHome shows Fahrenheit-like numeric values labeled/interpreted as Celsius, and Home Assistant converts those values again, resulting in values such as 167°F.

Which version of ESPHome has the issue?

2026.9.0

What type of installation are you using?

Home Assistant Add-on

What platform are you using?

ESP32

Component causing the issue

mitsubishi_cn105

YAML Config

yaml
mitsubishi_cn105:
  id: hp
  uart_id: ac_uart
  update_interval: 2s
  telemetry_request_min_interval: 30s
  use_fahrenheit: true

climate:
  - platform: mitsubishi_cn105
    mitsubishi_cn105_id: hp
    name: None
    supported_swing_modes: BOTH

Anything in the logs that might be useful for us?

txt
No errors observed in the logs. The climate entity otherwise communicates with and controls the Mitsubishi unit normally.

Additional information

This appears related to the Fahrenheit support added in #15488: https://github.com/esphome/esphome/pull/15488

The configuration uses the new option as documented in that PR:

use_fahrenheit: true

A particularly reproducible example is a 75°F target:

ESPHome web UI target: 75 Home Assistant target: 167°F

75°C = 167°F exactly.

Screenshots attached showing both the ESPHome web UI and the Home Assistant climate entity. Note: with use_fahrenheit: true the ESPHome Device UI still shows C units. I guess this 75C is getting sent to HomeAssistant?

ImageImage