Climate thermostat fan_mode feature not showing

Hi all,

Just trying to understand what I’m doing wrong… need a second pair of eyes.

I’m starting to use HA to control my fujitsu A/C. As this is an optimistic A/C, I had to do some shells scripts and other stuff to get the communication to work between an IR with lirc and HA which is under another server. This is why you’ll see an “SSH” command being done.

The thing is that I didn’t do anything too complexe I believe. I use the climate_template platform (GitHub - jcwillox/hass-template-climate: ❄️Templatable Climate Device for Home Assistant, Supports Running Actions On Service Calls.) which I verified the state of the entity for fan_modes (the value is 9, but it’s 8+1 which should represent hvac_mode + fan_mode, which is what I need).

This is where I believe the frontend part is failing me. I can use the climate-hvac-mode feature on the thermostat card, but I can’t use the climate-fan-modes for some reason. (Features for dashboard cards - Home Assistant)

I do not know what I should be checking for… the python code of the climate_template and the one from javascript frontend seems to tell me it should be working… (https://github.com/jcwillox/hass-template-climate/blob/594041e6d64357676e17b17572d4a9dcf9a63dc7/custom_components/climate_template/climate.py#L212 and https://github.com/home-assistant/frontend/blob/349344161a8c93bdf5fa6ea74a8bea69b5421e3f/src/panels/lovelace/card-features/hui-climate-fan-modes-card-feature.ts#L23).

Yet, I keep getting only the hvac_mode feature and not the fan_mode one… any help to see clearer would be appreciated.

here is my configuration yaml for the climate_template. The rest is just a thermostat card + features which I didn’t touch.

input_number:
  ac_temperature:
    name: A/C Setting
    initial: 24
    min: 18
    max: 32
    step: 1

input_select:
  heatpump_fan:
    name: Turn on Fan
    options:
     - auto
     - quiet
     - low
     - medium
     - high
    initial: auto
    icon: mdi:weather-snowy
  heatpump_mode:
    name: Heatpump mode
    options:
     - auto
     - "off"
     - cool
     - heat
     - dry
     - fan_only
    initial: auto
    icon: mdi:weather-snowy

shell_command:
  ac_on: ssh <REDACTED> irsend SEND_ONCE fujitsu_heat_ac auto-auto-23
  ac_off: ssh <REDACTED> irsend SEND_ONCE fujitsu_heat_ac off
  set_ac_to_slider: 'ssh <REDACTED> irsend SEND_ONCE fujitsu_heat_ac {{states.input_select.heatpump_mode.state|lower}}-{{states.input_select.heatpump_fan.state|lower}}-{{states.input_n
  set_ac_fan: 'ssh <REDACTED> irsend SEND_ONCE fujitsu_heat_ac fan-{{states.input_select.heatpump_fan.state|lower}}-{{states.input_number.ac_temperature.state|int}}'

climate:
  - platform: climate_template
    name: fujitsu
    current_temperature_template: "{{ input_number.ac_temperature }}"
    set_temperature:
      - service: input_number.set_value
        target:
         entity_id: input_number.ac_temperature
        data:
          value: "{{ temperature }}"
    unique_id: fujitsu
    fan_modes:
     - auto
     - quiet
     - low
     - medium
     - high
    set_hvac_mode:
      - choose:
         # IF off
         - conditions:
             - condition: template
               value_template: "{{ hvac_mode == 'off' }}"
           sequence:
            - service: input_select.select_option
              target:
                entity_id: input_select.heatpump_mode
              data:
                option: "{{ hvac_mode }}"
            - service: shell_command.ac_off
        default:
         - service: input_select.select_option
           target:
              entity_id: input_select.heatpump_mode
           data:
              option: "{{ hvac_mode }}"
         - service: shell_command.set_ac_to_slider
    set_fan_mode:
      - service: input_select.select_option
        target:
          entity_id: input_select.heatpump_fan
        data:
          option: "{{ fan_mode }}"
      - service: shell_command.set_ac_to_slider