Il te faut créer des entrées imput_number (dans paramètres/appareils et services/entrées) :
- Consigne_puissance_poele (valeur min 1, max 5, incrément 1)
- Consigne_temperature_poele (valeur min 10, max 27, incrément 1) tu peux changer les valeurs limites mais conserve 2 digits pour le mini sinon tu pourrais créer une erreur lors de l’envoi de la commande)
- Consigne_ventilation_arriere_poele (valeur min 0, max 6, incrément 1)
- Consigne_ventilation_avant_poele (valeur min 0, max 6, incrément 1)
J’ai également créer un bouton « Refresh info poele » qui me permet de rafraîchir manuellement les retours du poêle si besoin (les infos des sensors poele se rafraîchissent toutes les 300s le reste du temps, voir scan_interval dans la def des sensors)
Je te partage aussi mon automation qui permet d’envoyer les commandes et de les actualiser si le poêle est piloté depuis une autre source comme la télécommande (ce n’est peut-être pas le meilleur moyen de faire mais tout fonctionne bien chez moi depuis la mise en place) :
alias: Poele
description: ""
trigger:
- platform: state
entity_id:
- sensor.poele_reglage_temperature
id: chgt_retour_reglage_poele_temperature
- platform: state
entity_id:
- input_number.consigne_temperature_poele
id: modif_consigne_temperature_poele_HA
- platform: state
entity_id:
- sensor.poele_reglage_puissance
id: chgt_retour_reglage_poele_puissance
- platform: state
entity_id:
- input_number.consigne_puissance_poele
id: modif_consigne_puissance_poele_HA
- platform: state
entity_id:
- input_button.refresh_infos_poele
id: Refresh_infos_poele_bouton
- platform: state
entity_id:
- sensor.ventilation_avant_poele
id: chgt_retour_ventil_avant_reglage
- platform: state
entity_id:
- input_number.consigne_ventilation_avant_poele
id: modif_consigne_ventil_avt_poele_HA
- platform: state
entity_id:
- sensor.ventilation_arriere_poele
id: chgt_retour_ventil_arriere_reglage
- platform: state
entity_id:
- input_number.consigne_ventilation_arriere_poele
id: modif_consigne_ventil_arr_poele_HA
condition: []
action:
- choose:
- conditions:
- condition: trigger
id: chgt_retour_reglage_poele_temperature
sequence:
- condition: template
value_template: >-
{% if is_state('sensor.poele_reglage_temperature', 'unavailable')
%} false {%- else -%} {{
states('sensor.poele_reglage_temperature') | int !=
states('input_number.consigne_temperature_poele')| int }}
{%- endif %}
- service: input_number.set_value
data:
value: "{{ states('sensor.poele_reglage_temperature') }}"
target:
entity_id: input_number.consigne_temperature_poele
- conditions:
- condition: trigger
id: modif_consigne_temperature_poele_HA
- condition: template
value_template: >-
{{ trigger.from_state.state | int != trigger.to_state.state |
int }}
sequence:
- service: homeassistant.update_entity
data: {}
target:
entity_id: sensor.poele_variables2
- condition: template
value_template: >-
{% if is_state('sensor.poele_reglage_temperature', 'unavailable')
%} false {%- else -%} {{
states('sensor.poele_reglage_temperature') | int !=
states('input_number.consigne_temperature_poele')| int }}
{%- endif %}
- service: rest_command.maj_consigne_temperature_poele
data: {}
- service: homeassistant.update_entity
data: {}
target:
entity_id: sensor.poele_variables2
- conditions:
- condition: trigger
id: chgt_retour_reglage_poele_puissance
sequence:
- condition: template
value_template: >-
{% if is_state('sensor.poele_reglage_puissance', 'unavailable') %}
false {%- else -%} {{ states('sensor.poele_reglage_puissance') |
int != states('input_number.consigne_puissance_poele')| int }}
{%- endif %}
- service: input_number.set_value
data:
value: "{{ states('sensor.poele_reglage_puissance') }}"
target:
entity_id: input_number.consigne_puissance_poele
- conditions:
- condition: trigger
id: modif_consigne_puissance_poele_HA
- condition: template
value_template: >-
{{ trigger.from_state.state | int != trigger.to_state.state |
int }}
sequence:
- service: homeassistant.update_entity
data: {}
target:
entity_id: sensor.poele_variables2
- condition: template
value_template: >-
{% if is_state('sensor.poele_reglage_puissance', 'unavailable') %}
false {%- else -%} {{ states('sensor.poele_reglage_puissance') |
int != states('input_number.consigne_puissance_poele')| int }}
{%- endif %}
- service: rest_command.maj_consigne_puissance_poele
data: {}
- service: homeassistant.update_entity
data: {}
target:
entity_id: sensor.poele_variables2
- conditions:
- condition: trigger
id: Refresh_infos_poele_bouton
sequence:
- service: homeassistant.update_entity
data: {}
target:
entity_id:
- sensor.poele_variables2
- sensor.poele_variables4
- sensor.poele_variables6
- conditions:
- condition: trigger
id: chgt_retour_ventil_avant_reglage
sequence:
- condition: template
value_template: >-
{% if
is_state_attr('sensor.ventilation_avant_poele','poele_id188',
'none') %} false {%- else -%}
{{state_attr('sensor.ventilation_avant_poele','poele_id188') | int
!= states('input_number.consigne_ventilation_avant_poele')| int
}} {%- endif %}
- service: input_number.set_value
data:
value: "{{ state_attr('sensor.poele_variables6','params')[9][1] }}"
target:
entity_id: input_number.consigne_ventilation_avant_poele
- conditions:
- condition: trigger
id: modif_consigne_ventil_avt_poele_HA
- condition: template
value_template: >-
{{ trigger.from_state.state | int != trigger.to_state.state |
int }}
sequence:
- service: homeassistant.update_entity
data: {}
target:
entity_id: sensor.poele_variables6
- condition: template
value_template: >-
{% if
is_state_attr('sensor.ventilation_avant_poele','poele_id188',
'none') %} false {%- else -%}
{{state_attr('sensor.ventilation_avant_poele','poele_id188') | int
!= states('input_number.consigne_ventilation_avant_poele')| int
}} {%- endif %}
- service: rest_command.maj_consigne_ventilation_avant_poele
data: {}
- service: homeassistant.update_entity
data: {}
target:
entity_id: sensor.poele_variables6
- conditions:
- condition: trigger
id: chgt_retour_ventil_arriere_reglage
sequence:
- condition: template
value_template: >-
{% if
is_state_attr('sensor.ventilation_arriere_poele','poele_id187',
'none') %} false {%- else -%}
{{state_attr('sensor.ventilation_arriere_poele','poele_id187') |
int != states('input_number.consigne_ventilation_arriere_poele')|
int }} {%- endif %}
- service: input_number.set_value
data:
value: "{{ state_attr('sensor.poele_variables6','params')[8][1] }}"
target:
entity_id: input_number.consigne_ventilation_arriere_poele
- conditions:
- condition: trigger
id: modif_consigne_ventil_arr_poele_HA
- condition: template
value_template: >-
{{ trigger.from_state.state | int != trigger.to_state.state |
int }}
sequence:
- service: homeassistant.update_entity
data: {}
target:
entity_id: sensor.poele_variables6
- condition: template
value_template: >-
{% if
is_state_attr('sensor.ventilation_arriere_poele','poele_id187',
'none') %} false {%- else -%}
{{state_attr('sensor.ventilation_arriere_poele','poele_id187') |
int != states('input_number.consigne_ventilation_arriere_poele')|
int }} {%- endif %}
- service: rest_command.maj_consigne_ventilation_arriere_poele
data: {}
- service: homeassistant.update_entity
data: {}
target:
entity_id: sensor.poele_variables6
default: []
mode: queued