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
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