Mqtt autodiscovery - customization for hvac_modes?

Hi, I have Zigbee2Mqtt , and Moes BRT-100 TRV, which is correctly connected and discovered in HA.

But, in “hvac_modes” there are too many modes (cool, fan, etc), while I need only “off” and “heat”. There is no “modes” on mqtt autodiscovery message.
If I send (manually) customized MQTT autodiscovery message , I can see no more “cool” or “fan” icons on thermostat card - so all good.
My question is - how to make it happen automatically on autodiscovery, instead of me pushing custom MQTT autodiscover message ?

You’d have to manually configure that entity through the MQTT integration in yaml.

Does it mean I have to go “fully manually” define all MQTT params - so define MQTT HVAC from the scratch ?

Or is there some way to say “upgraded autodiscovery device, just add this one parameter” ?

You’d have to define the entire Discovery for that entity.

You’re right.

I tried to “resend” additional MQTT autodiscovery message from HA ( as MQTT trigger) - but seems it is not possible to send “{{ something }}” in MQTT payload. HA is always trying to parse it, and reports an error. Tried with variables, string.replace etc, but does not work.

Actually, there is better solution, using “customize”:

  customize:
    climate.trv3:
      hvac_modes:
        - "off"
        - heat

So, no need for creating full MQTT entity from scratch!

Hi, this got me somewhat closer after reading around for an hour :slight_smile:
Thank you!

Is there anyway to customize in such a way that there is no hvac_mode alltogether.
I.e. my thermostat can only “heat” (can not even be turned off) so the button in the thermostat card is pointless and also it takes up extra space in the entities card when it says heating (heat)…

Would really appreciate a pointer in the right direction!

Thanks in advance!

This is interesting, because the HiSense add-on sends “fan” and not “fan_only”, and as such, I can select any mode except for the fan. I’ve added these entries to my customize.yaml:

climate.heat_pump_basement:
  hvac_modes:
    - "off"
    - heat
    - cool
    - dry
    - fan
climate.heat_pump_first_floor:
  hvac_modes:
    - "off"
    - heat
    - cool
    - dry
    - fan
climate.heat_pump_master_bedroom:
  hvac_modes:
    - "off"
    - heat
    - cool
    - dry
    - fan

…however, I’m not sure how to actually put them into practice. I still can’t send the hvac_mode “fan” via Developer Tools → Actions. And my Lovelace controls still do not allow the fan mode to be selected.