This working for me
climate:
- platform: mqtt
name: Vailant 700
max_temp: 27
min_temp: 15
temp_step: 0.5
modes:
- auto
- heat
- cool
- 'off'
mode_state_template: >-
{% set values = { 'auto':'auto', 'day':'heat', 'night':'cool', 'off':'off'} %}
{% set state = value_json["opmode"].value %}
{{ values[state] if state in values.keys() else 'off' }}
mode_state_topic: "ebus/700/z1OpMode"
mode_command_template: >-
{% set values = { 'auto':'auto', 'heat':'day', 'cool':'night', 'off':'off'} %}
{{ values[value] if value in values.keys() else 'auto' }}
mode_command_topic: "ebus/700/z1OpMode/set"
current_temperature_topic: "ebus/700/z1ActualRoomTempDesired"
current_temperature_template: '{{value_json["tempv"].value}}'
temperature_state_topic: "ebus/700/z1ActualRoomTempDesired"
temperature_state_template: '{{value_json["tempv"].value}}'
temperature_low_state_topic: "ebus/700/z1NightTemp"
temperature_low_state_template: '{{value_json["tempv"].value}}'
temperature_high_state_topic: "ebus/700/z1DayTemp"
temperature_high_state_template: '{{value_json["tempv"].value}}'
temperature_low_command_topic: "ebus/700/z1NightTemp/set"