Zigbee2mqtt v2 issue with custom configuration

Hi All,

I have been scratching my head around trying to upgrade to the new zigbee2mqtt. When I first upgraded some of my devices broke, particularly around the devices I have done a custom configuration.

I have found it is related to the
legacy_availability_payload: false

When this is set during the upgrade or I set it manually before upgrading the same devices break.

I have some thermostats that only control heating that are configured like below. The attributes that are set in this configuration don’t work post change.

I looked here MQTT HVAC but I couldn’t find the missing piece.

Wonder if anyone out there has any ideas?

climate:
  - name: "master_bedroom_thermostat_heat"
    unique_id: "0x000d6f000ad9a2ff_climate_zigbee2mqtt"
    availability_topic: "zigbee2mqtt/bridge/state"
    min_temp: "13"
    max_temp: "25"
    modes:
      - "off"
      - "heat"
    mode_state_topic: "zigbee2mqtt/master_bedroom_thermostat_heat"
    mode_state_template: "{{ value_json.system_mode }}"
    mode_command_topic: "zigbee2mqtt/master_bedroom_thermostat_heat/set/system_mode"

    current_temperature_topic: "zigbee2mqtt/master_bedroom_thermostat_heat"
    current_temperature_template: "{{ value_json.local_temperature }}"

    temperature_state_topic: "zigbee2mqtt/master_bedroom_thermostat_heat"
    temperature_state_template: "{{ value_json.occupied_heating_setpoint }}"
    temperature_command_topic: "zigbee2mqtt/master_bedroom_thermostat_heat/set/occupied_heating_setpoint"

    temp_step: 0.5

    action_topic: "zigbee2mqtt/master_bedroom_thermostat_heat"
    action_template: "{% set values = {'idle':'off','heat':'heating'} %}{{ values[value_json.running_state] | default('heating', true)  }}"