Besoin d’aide pour rétablir la clim après ouverture des fenêtres

Bonjour à tous,

J’aurais une nouvelle fois besoin de vos lumières :sweat_smile:

Je possède une climatisation dans mon salon, et je souhaite qu’elle s’éteigne automatiquement lorsque mes ouvrants sont ouverts (via capteur), et qu’elle se rallume automatiquement dans son mode précédent une fois les ouvrants refermés.

J’ai essayé de mettre ça en place avec des input_text, input_number et automations, mais cela ne fonctionne pas comme prévu.


:dart: Objectif :

  • Éteindre la clim (climate.salon) après 2 minutes si un ouvrant est ouvert (binary_sensor.capteurs_d_ouverture_bas).
  • Rétablir la clim avec ses réglages précédents une fois les ouvrants refermés.
  • :warning: Mais peu importe qu’elle ait été arrêtée manuellement avant, elle redémarre toujours à la fermeture des ouvrants.

Je pense que le souci vient d’un test ou d’un value_template mal formulé, mais je ne parviens pas à le corriger.


:brick: Extrait de configuration configuration.yaml

# Chargement des thèmes
frontend:
  themes: !include_dir_merge_named themes

# Inclusions standard
script: !include scripts.yaml
scene: !include scenes.yaml
group: !include group.yaml
automation: !include automations.yaml

# Helpers personnalisés répartis entre fichiers
input_text: !include_dir_merge_named input_texts

# --- Vos Helpers (Input Select, Number, Boolean) ---
input_select:
  ac_leelou_hvac_mode:
    name: 'Mode HVAC de Leelou'
    options: [ 'off', 'heat', 'cool', 'heat_cool', 'dry', 'fan_only' ]
  ac_leelou_fan_mode:
    name: 'Mode du ventilateur de Leelou'
    options: [ 'auto', '1', '2', '3', '4', '5' ]
    initial: 'auto'

  ac_parent_hvac_mode:
    name: 'Mode HVAC de Parent'
    options: [ 'off', 'heat', 'cool', 'heat_cool', 'dry', 'fan_only' ]
  ac_parent_fan_mode:
    name: 'Mode du ventilateur de Parent'
    options: [ 'auto', '1', '2', '3', '4', '5' ]
    initial: 'auto'

input_number:
  ac_leelou_temperature:
    name: 'Température de Leelou'
    min: 10
    max: 31
    step: 0.5
    unit_of_measurement: '°C'
    initial: 16

  ac_parent_temperature:
    name: 'Température de Parent'
    min: 10
    max: 31
    step: 0.5
    unit_of_measurement: '°C'
    initial: 16

  clim_salon_temp_avant_arret:
    name: Température avant arrêt
    min: 10
    max: 31
    step: 0.5
    unit_of_measurement: "°C"

input_boolean:
  suspend_climate_automation:
    name: Suspendre l'automatisation climatisation
    initial: off

# --- Capteurs personnalisés ---
template:
  - sensor:
      - name: "Salon Température Utilisée"
        unique_id: salon_temperature_utilisee
        unit_of_measurement: "°C"
        state: "{{ states('sensor.temperature_bas') }}"
        availability: "{{ states('sensor.temperature_bas') not in ['unavailable', 'unknown', 'none'] }}"

# --- Switchs (WoL + template switch) ---
switch:
  - platform: wake_on_lan
    name: 
    mac: 
    host: 

  - platform: template
    switches:
      ordi_tv_controle_complet:
        friendly_name: "Contrôle ORDI-TV"
        unique_id: ordi_tv_controle_complet
        value_template: "{{ is_state('switch.ordi_tv', 'on') }}"
        turn_on:
          service: switch.turn_on
          target:
            entity_id: switch.ordi_tv
        turn_off:
          service: button.press
          target:
            entity_id: button.ordi_tv_eteindre_2
        icon_template: >
          {% if is_state('switch.ordi_tv', 'on') %}
            mdi:desktop-tower-monitor
          {% else %}
            mdi:desktop-tower-off
          {% endif %}
---

:wrench: Helpers utilisés

input_text:
  clim_salon_etat_avant_arret:
    name: Mode HVAC avant arrêt

  clim_salon_fan_mode_avant_arret:
    name: Mode ventilateur avant arrêt

input_number:
  clim_salon_temp_avant_arret:
    name: Température avant arrêt
    min: 10
    max: 31
    step: 0.5
    unit_of_measurement: "°C"

:gear: Automatisations

- alias: Éteindre clim salon après 2 min d'ouverture
  trigger:
    - platform: state
      entity_id: binary_sensor.capteurs_d_ouverture_bas
      to: "on"
      for: "00:02:00"
  condition:
    - condition: not
      conditions:
        - condition: state
          entity_id: climate.salon
          state: "off"
  action:
    - service: input_text.set_value
      data:
        entity_id: input_text.clim_salon_etat_avant_arret
        value: "{{ state_attr('climate.salon', 'hvac_mode') }}"
    - service: input_number.set_value
      data:
        entity_id: input_number.clim_salon_temp_avant_arret
        value: "{{ state_attr('climate.salon', 'temperature') }}"
    - service: input_text.set_value
      data:
        entity_id: input_text.clim_salon_fan_mode_avant_arret
        value: "{{ state_attr('climate.salon', 'fan_mode') }}"
    - service: climate.turn_off
      target:
        entity_id: climate.salon
- alias: Rétablir clim salon après fermeture
  trigger:
    - platform: state
      entity_id: binary_sensor.capteurs_d_ouverture_bas
      to: "off"
  condition:
    - condition: template
      value_template: "{{ states('input_text.clim_salon_etat_avant_arret') != 'off' }}"
  action:
    - service: climate.set_hvac_mode
      data:
        entity_id: climate.salon
        hvac_mode: "{{ states('input_text.clim_salon_etat_avant_arret') }}"
    - service: climate.set_temperature
      data:
        entity_id: climate.salon
        temperature: "{{ states('input_number.clim_salon_temp_avant_arret') | float }}"
    - service: climate.set_fan_mode
      data:
        entity_id: climate.salon
        fan_mode: "{{ states('input_text.clim_salon_fan_mode_avant_arret') }}"
    - service: input_text.set_value
      data:
        entity_id: input_text.clim_salon_etat_avant_arret
        value: "off"

:question: Problème :

  • :white_check_mark: L’arrêt automatique fonctionne bien.
  • :x: Mais même si la clim était déjà à l’arrêt manuellement avant l’ouverture, elle se rallume toujours à la fermeture.

Merci beaucoup à ceux qui prendront le temps de m’aider :pray:
Si vous avez une idée de condition ou une meilleure approche, je suis preneur !

Hello

Pourquoi ne pas utiliser les scenes ?

Tu fais un snapshot de l’etat de ta clim à l’ouverture de ta fenêtre avant de l’eteindre et tu rappelles ce snapshot à la fermeture

@+

Beaucoup plus simple sans prise de tête avec un Blueprint