Files

118 lines
4.5 KiB
YAML

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