Hi,
I am having problems with previously existing climate control cards. I used to be able to control my CV installation (vaillant) via MQTT but now -part of the - control does not work anymore via the card, and I don’t seem to be able to resolve it.
system info:
Home Assistant 2023.12.3
Supervisor 2023.11.6
Operating System 11.2
Frontend 20231208.2 - latest
The context
About 3 years ago I installed ebusd on a separate linux machine which could read out and control my Vaillant heat pump. This worked beautifully up until now (or at least now I noticed it). I also saw that there now was an ebusd add-on that does exactly this, but for now I just want my previous installation to just work as it previously did.
setup:
-
linuxserver with ebusd installed as a systemd service, working beautifully and posting nicely everything on my mqtt server (see examply from mqtt exporer below) - this is still working as expected:
-
Next I have made 2 yaml MQTT climate cards that link into these topics
mqtt:
climate:
- name: CV
max_temp: 25
min_temp: 15
precision: 0.1
temp_step: 0.5
modes:
- auto
- heat
- cool
- 'off'
mode_state_template: >-
{% set values = { 'auto':'auto', 'day':'heat', 'night':'cool', 'off':'off'} %}
{{ values[value] if value in values.keys() else 'off' }}
mode_state_topic: "ebusd/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: "ebusd/700/z1OpMode/set"
temperature_state_topic: "ebusd/700/z1ActualRoomTempDesired"
temperature_low_state_topic: "ebusd/700/z1NightTemp"
# temperature_low_command_template: "{{ value_json }}"
temperature_high_state_topic: "ebusd/700/z1DayTemp"
# temperature_high_command_template: "{{ value_json }}"
temperature_low_command_topic: "ebusd/700/z1NightTemp/set"
temperature_high_command_topic: "ebusd/700/z1DayTemp/set"
current_temperature_topic: "ebusd/700/z1RoomTemp"
- name: Boiler
max_temp: 100
min_temp: 20
precision: 0.5
temp_step: 1
modes:
- auto
- heat
- 'off'
mode_state_template: >-
{% set values = { 'auto':'auto', 'day':'heat', 'off':'off'} %}
{{ values[value] if value in values.keys() else 'off' }}
mode_state_topic: "ebusd/700/HwcOpMode"
mode_command_template: >-
{% set values = { 'auto':'auto', 'heat':'day', 'off':'off'} %}
{{ values[value] if value in values.keys() else 'auto' }}
mode_command_topic: "ebusd/700/HwcOpMode/set"
temperature_state_topic: "ebusd/700/HwcTempDesired"
# temperature_low_state_topic: "ebusd/700/z1NightTemp"
temperature_high_state_topic: "ebusd/700/HwcTempDesired"
# temperature_low_command_topic: "ebusd/700/z1NightTemp/set"
temperature_high_command_topic: "ebusd/700/HwcTempDesired/set"
# temperature_high_command_template: "{{ value_json }}"
current_temperature_topic: "ebusd/700/HWCwatertempcorrected"
- finally I made 2 standard cards in HA (the ones that are standard available in HA), like shown below:
The issue
Up until some time ago (again I only noticed it now as i don’t change the tempeartures as much, i could easily change the temperatures in the climate card and these would get pushed to the MQTT and subsequently to the heat pump. Now it doesn’t do anything, if I change the slider and close it just shows the old value and also nothing happens in mqtt explorer. When I run the mqtt publish command to the same topic, e.g.
service: mqtt.publish
data:
qos: "0"
retain: true
topic: ebusd/700/z1DayTemp/set
payload: "19.5"
it changes the value immediately (both in mqtt explorer and in the slider).
The above leads me to believe there is something in the card not correctly happening as both the service itself (mqtt-publish) and the backbone (everything ebusd releated) is still fully functional.
Important to mention, I can still change the mode of both climates, this part thus:
mode_state_template: >-
{% set values = { 'auto':'auto', 'day':'heat', 'night':'cool', 'off':'off'} %}
{{ values[value] if value in values.keys() else 'off' }}
mode_state_topic: "ebusd/700/z1OpMode"
mode_command_template: >-
{% set values = { 'auto':'auto', 'heat':'day', 'cool':'night', 'off':'off'} %}
{{ values[value] if value in values.keys() else 'auto' }}
but none of the temperatures can be changed via the climate card (read out still works on all of them).
p.s. I did try to find the logs for this, but didn’t manage to find them, any pointers also here?
Thanks for taking a look!
Kind regards,
Ben