Multiple unit systems for mixed-up Canadian

FWIW, the generic_thermostat integration will use almost anything you throw at it, including an input_number entity for target_sensor and an input_boolean for heater. It’s happy as long as:

  1. target_sensor contains a numeric value
  2. heater accepts an on/off command

The numeric values could be in Kelvin, Celsius, Fahrenheit, or Rankine, the generic_thermostat integration doesn’t concern itself with the unit system.

The issue is that the generic_thermostat will be displayed, by the Thermostat card, using the default unit system (in this case metric instead of imperial units). It doesn’t have a configuration option to change the displayed unit system.

Screenshot from 2021-06-22 16-04-52

One way around this would be to use a custom thermostat card such as nervetattoo’s Simple Thermostat Card which allows you to choose an alternate temperature unit (or show none).

unit string|bool: Override the unit to display. Set to false to hide unit