HVAC climate card is not updating state correctly (possible bug)

Please some help

I am trying to setup an automation that triggers whenever I change the temperature_high_command or temperature_high_command of my climate card to refresh my heater parameters because the card is currently changing/displaying new parameters and reverting to previous parameter but I think I found out why this is happening and I might not need the automation after all if I am right that is a bug or I misconfigured it.

I have a climate card with temperature_high_command and temperature_low_command and related parameters

I found the issue that when I move the slider temperature_high or temperature_high the state of the climate card is not updated and therefore my automation does not trigger.

I really don’t understand why the state does not update itself automatically ?

I confirmed it by moving the slider and using the restfull API to check the state right after. The only way to update the state is to ask my heater to send all parameters… My heater receives the new parameter but the card does not update its internal state if I do not pull data back from the heater after (hence my automation)

I am completely stuck here; that makes no sense to me. Please someone explain :frowning:

Also the doc says that climate card has attribute target_temperature_high and target_temperature_low but when I query the REST API I get target_temp_high and target_temp_low . I am completely confused here

here is the relevant part of my climate card if you need the entire code I can provide; just let me know

temperature_high_command_topic: "heater/cmd/ThermostatOvertemp"
temperature_high_command_template: >
   {{ value - states('sensor.heater_desired_cyclic_temperature')|float()  }}
temperature_high_state_topic: "heater/JSONout"
temperature_high_state_template: >
   {% if "ThermostatOvertemp" in value_json and "CyclicTemp" in value_json and "TempCurrent" not in value_json %}
      {{ value_json.ThermostatOvertemp|float() + value_json.CyclicTemp|float() }}
   {% endif %}

temperature_low_command_topic: "heater/cmd/ThermostatUndertemp"
temperature_low_command_template: >
    {{ value|float - states('sensor.heater_desired_cyclic_temperature')|float() }}
temperature_low_state_topic: "heater/JSONout"
temperature_low_state_template: >
  {% if "ThermostatUndertemp" in value_json and "CyclicTemp" in value_json %}
     {{ value_json.ThermostatUndertemp|float() + value_json.CyclicTemp|float() }}
  {% endif %}

and my automation

- trigger:
  - platform: state
    entity_id: 
      - climate.localhost_heater
    attribute: 'target_temperature_low'
  action:
    - service: script.heater_refresh_change
  mode: restart

and the relevant sensors:

   - name: Desired Cyclic Temperature
      unique_id: heater_desired_cyclic_temperature
      state_topic: "heater/JSONout"
      value_template: >
        {% if "CyclicTemp" in value_json %}
          {{value_json.CyclicTemp|float}}
        {% endif %}
      device_class: temperature
      unit_of_measurement: °C
      state_class: measurement 

restfull api
Screenshot 2024-01-21 at 19.01.26