commit 45e945ec8c63576d0b4012848cd50a6b496663f1 Author: Gilles Soulier Date: Thu Jan 2 12:24:23 2025 +0100 Ajout du blueprint Gestion éclairage entre 3 pièces diff --git a/automation/mes_blueprints/eclairage_3_pieces.yaml b/automation/mes_blueprints/eclairage_3_pieces.yaml new file mode 100644 index 0000000..0c8005d --- /dev/null +++ b/automation/mes_blueprints/eclairage_3_pieces.yaml @@ -0,0 +1,117 @@ +blueprint: + # Nom et description du blueprint + name: Gestion éclairage entre 3 pièces + description: Gère les éclairages entre trois pièces avec détection, modes diurne/nocturne, et gestion du soleil. + domain: automation + + # Définition des entrées nécessaires à l'automatisation + input: + porte_1: + name: Porte 1 (A ↔ B) + selector: + entity: + domain: binary_sensor # Détecteur d'état pour la porte 1 + porte_2: + name: Porte 2 (B ↔ C) + selector: + entity: + domain: binary_sensor # Détecteur d'état pour la porte 2 + eclairage_a: + name: Éclairage A (Pièce A) + selector: + entity: + domain: light # Entité pour contrôler l'éclairage de la pièce A + eclairage_b: + name: Éclairage B (Pièce B) + selector: + entity: + domain: light # Entité pour contrôler l'éclairage de la pièce B + eclairage_c: + name: Éclairage C (Pièce C) + selector: + entity: + domain: light # Entité pour contrôler l'éclairage de la pièce C + mode_diurne_nocturne: + name: Activer mode diurne/nocturne + selector: + boolean: {} # Permet d'activer ou non la gestion selon la position du soleil + default: false + seuil_diurne_nocturne: + name: Seuil d'élévation du soleil (en degrés) + description: Permet de définir l'angle du soleil pour activer le mode nocturne. + selector: + number: + min: -10 + max: 90 + step: 0.5 + unit_of_measurement: degrees # Unité de mesure en degrés pour la position du soleil + default: -4.0 # Par défaut, -4° correspond à un seuil couramment utilisé pour définir le crépuscule + delai_auto_extinction: + name: Délai avant extinction automatique (en secondes) + selector: + number: + min: 0 + max: 3600 + step: 10 # Permet de configurer un délai avant que les lumières s'éteignent automatiquement + default: 300 # Valeur par défaut de 5 minutes (300 secondes) + +# Variables utilisées pour configurer dynamiquement certaines parties de l'automatisation +variables: + seuil_diurne_nocturne: !input seuil_diurne_nocturne + delai_auto_extinction: !input delai_auto_extinction + +# Déclencheurs : Ce qui active l'automatisation +trigger: + - platform: state + entity_id: !input porte_1 # Activation lorsque l'état de la porte 1 change + - platform: state + entity_id: !input porte_2 # Activation lorsque l'état de la porte 2 change + - platform: numeric_state + entity_id: sun.sun # Activation lorsque la position du soleil passe en dessous du seuil configuré + attribute: elevation + below: !input seuil_diurne_nocturne + +# Conditions : Vérifie si les actions doivent s'exécuter +condition: + - condition: or # Les actions s'exécutent si l'une des conditions est remplie + conditions: + - condition: template + value_template: > + {{ not is_state('!input mode_diurne_nocturne', 'true') }} # Vérifie si le mode diurne/nocturne est désactivé + - condition: numeric_state + entity_id: sun.sun + attribute: elevation + below: !input seuil_diurne_nocturne # Vérifie si le soleil est en dessous du seuil configuré + +# Actions : Ce que l'automatisation fait lorsqu'elle est déclenchée +action: + - choose: + - conditions: + - condition: state + entity_id: !input porte_1 + state: "on" # Vérifie si la porte 1 est ouverte + sequence: + - service: light.turn_on + target: + entity_id: !input eclairage_b # Allume la lumière de la pièce B + - service: light.turn_off + target: + entity_id: !input eclairage_a # Éteint la lumière de la pièce A + - conditions: + - condition: state + entity_id: !input porte_2 + state: "on" # Vérifie si la porte 2 est ouverte + sequence: + - service: light.turn_on + target: + entity_id: !input eclairage_c # Allume la lumière de la pièce C + - service: light.turn_off + target: + entity_id: !input eclairage_b # Éteint la lumière de la pièce B + - delay: !input delai_auto_extinction # Attend le délai configuré avant d'éteindre les lumières + - service: light.turn_off + target: + entity_id: + - !input eclairage_a # Éteint la lumière de la pièce A + - !input eclairage_b # Éteint la lumière de la pièce B + - !input eclairage_c # Éteint la lumière de la pièce C