Quelques automatisations
Note: La plupart du temps (sauf rares exceptions) je continue à générer plusieurs automatisations pour un même sujet plutôt que de les regrouper dans une seule avec un choose
sur les triggers.
Il y a quelques conséquences:
Il serait tout à fait possible dans les exemples qui vont suivre de regrouper plusieurs automatisations en une en renommant les triggers et en utilisant un choose. Je ne l’ai pas fait afin d’avoir des automatisations plus simples, mais avec l’inconvenient de ne pas tout avoir dans la même automatisation pour chaque sujet.
Je fais alors attention au nommage afin que mes automations restent ensemble dans la longue liste. J’utilise la nomenclature suivante: Sujet - Piece - Automatisation
ou Sujet - Automatisation
. ce qui me permet de grouper toutes mes automatisations par Sujets (Lumières, Machines, PAC, Pronote, Surveillance, Tempo, Ventilation, Volets, etc…) puis par Pièce ou par thème.
L’arrivée des labels et des catégories avec la MaJ 2024.4 me conforte dans mon choix, il est devenu très simple de grouper les automatisations pour s’y retrouver…
Gestion de lumières avec détecteur:
Description:
Un exemple d’automatisme pour gérer les lumières de l’escalier avec un détecteur de mouvement, tout en laissant un contrôle manuel.
J’utilise 4 automatisations et un timer (mais la 4ème automatisation est facultative).
Ca peut paraitre compliqué, mais une fois mis en place on n’y touche plus… et la complexité initiale s’oublie…
Le but est de pouvoir fonctionner à la fois en automatique ET en manuel:
- On doit pouvoir allumer la lumière et l’éteindre manuellement sans que l’automatisme ne vienne gêner (sauf la la 4eme automatisation, qui est une « sécurité », qui éteint s’il n’y a pas de détection depuis 15min).
- l’automatisme doit allumer la lumière s’il y a une présence, et l’éteindre au bout de 5 minutes en cas d’absence), sans éteindre si quelqu’un est là…
- les deux doivent être indépendants: l’automatisme ne doit pas éteindre une lumière allumée manuellement, mais on peut éteindre manuellement une lumière allumée par l’automatisme.
- Pour pouvoir faire ça il me fallait savoir si l’allumage de la lampe a été fait en automatique ou en manuel. Avec des smart light, on peut utiliser une astuce: l’automatisme allume à une puissance fixe (par ex 90%) et on teste l’état de la lampe pour savoir si elle est a 100% ou 90% pour savoir « qui » l’a allumée. Mais ça ne marchait pas pour les micro modules on/off… J’utilise donc un test sur l’état du timer qui me sert de booléen pour savoir si l’allumage a été automatique ou non.
Tout ceci bien sur suite à d’excellentes suggestions sur le forum comme d’habitude!
Allumage sur détection
En cas de détection dans la bonne plage horaire:
- si les lampes sont éteintes => on lance le timer et on allume les lampes
- sinon:
- si le timer est actif (l’allumage était automatique) => on relance le timer (pour éclairer plus longtemps puisqu’il y a toujours du monde)
- sinon => on ne fait rien (l’allumage était manuel, on ne lance pas le timer, on ne touche à rien)
alias: Lumières - Escalier - allumage automatique
description: >-
lorsqu'un mouvement est détecté entre 20h30 et 7h15, l'escalier s'allume
progressivement jusqu'à 20%, et on (re)lance un timer de 5min
trigger:
- type: motion
platform: device
device_id: 7d6027b34d3c07135a9d64de7b41074e
entity_id: binary_sensor.0x00124b00246e9df7_occupancy
domain: binary_sensor
condition:
- condition: time
after: "20:30:00"
before: "07:15:00"
action:
- if:
- condition: state
entity_id: light.0x385b44fffe20eb24
state: "off"
- condition: state
entity_id: light.0x84b4dbfffec93621
state: "off"
then:
- service: timer.start
data: {}
target:
entity_id: timer.alumage_escalier
- service: light.turn_on
data: {}
target:
entity_id:
- light.0x84b4dbfffec93621
- light.0x385b44fffe20eb24
else: []
- if:
- condition: state
entity_id: timer.alumage_escalier
state: active
then:
- service: timer.start
data: {}
target:
entity_id: timer.alumage_escalier
mode: single
Gestion du Timer - cas de l'extinction manuelle
Si on éteint manuellement les lampes, il faut penser à arrêter le timer (sinon le « mode auto » reste enclenché…
alias: Lumières - Escalier - gestion timer
description: annule le timer quand la lumière est off
trigger:
- platform: state
entity_id:
- light.0x385b44fffe20eb24
to: "off"
- platform: state
entity_id:
- light.0x84b4dbfffec93621
to: "off"
condition: []
action:
- service: timer.cancel
data: {}
target:
entity_id: timer.alumage_escalier
mode: single
Extinction automatique par le Timer
Quand le timer s’arrête, on éteint les lampes (sauf s’il y a toujours une présence, auquel cas on relance le timer).
alias: Lumières - Escalier - extinction auto timer
description: >-
extinction auto de l'escalier à la fin du timer si inoccupé
trigger:
- platform: event
event_type: timer.finished
event_data:
entity_id: timer.alumage_escalier
condition: []
action:
- if:
- condition: state
entity_id: binary_sensor.0x00124b00246e9df7_occupancy
state: "on"
then:
- service: timer.start
data: {}
target:
entity_id: timer.alumage_escalier
else:
- type: turn_off
device_id: 018e42fdc39d185cce19b42e99393c11
entity_id: light.0x84b4dbfffec93621
domain: light
- type: turn_off
device_id: aa09ecec8161b872f6cde279c5aae1eb
entity_id: light.0x385b44fffe20eb24
domain: light
mode: single
Extinction automatique si pas de mouvement 15min
Lorsque la condition « Lumière allumée ET pas de mouvement » est vraie depuis 15min, les lumières s’éteignent. Ce cas couvre tous les oublis suite à un allumage manuel, et normalement la tempo de 15min est suffisante pour ne pas interférer avec le timer qui lui dure 5min.
alias: Lumières - Escalier - extinction auto inoccupé
description: extinction auto de l'escalier en absence de mouvement 15min si allumé
triggers:
- alias: Lumière allumée et personne dans la piece depuis longtemps
trigger: template
value_template: >-
{{(states('group.lumieres_escalier') == 'on') and
(states('binary_sensor.0x00124b00246e9df7_occupancy') == 'off')}}
for:
hours: 0
minutes: 15
seconds: 0
conditions: []
actions:
- type: turn_off
device_id: 018e42fdc39d185cce19b42e99393c11
entity_id: light.0x84b4dbfffec93621
domain: light
- type: turn_off
device_id: aa09ecec8161b872f6cde279c5aae1eb
entity_id: light.0x385b44fffe20eb24
domain: light
mode: single
Gestion du tarif Tempo:
Description:
Nous avons un tarif EDF Tempo qui nécessite d’adapter notre consommation en jours rouge. Ceci implique en particulier de mettre en place des détections de tarif. Nous récupérons les infos de la téléinfo grace à un module Zlinky de Lixee. A partir de là quelques automatisations très basiques sont assez utiles:
Gestion d'un booléen tarif rouge
Ce booléen est plus pratique à utiliser dans les automatisations et le dashboard que des tests sur le tarif en cours. En outre, on peut en modifiant uniquement cette automatisation changer le niveau de tarif dans lequel on veut réduire la consommation pour toutes les automatisations, notifications et le dashboard.
alias: TEMPO - Gestion booléen Tarif Rouge
description: |-
Gestion du booléen "tarif rouge":
- Active le booléen tarif rouge lors du passage HPJR
- Désactive le booléen tarif rouge lorsque HPJR se termine
trigger:
- platform: state
entity_id:
- sensor.0x00158d0005007002_current_tarif
from: HPJR
attribute: active_register_tier_delivered
for:
hours: 0
minutes: 0
seconds: 10
id: fin
- platform: state
entity_id:
- sensor.0x00158d0005007002_current_tarif
attribute: active_register_tier_delivered
for:
hours: 0
minutes: 0
seconds: 10
id: debut
to: HPJR
condition: []
action:
- choose:
- conditions:
- condition: trigger
id:
- fin
- condition: state
entity_id: input_boolean.tarif_rouge
state: "on"
sequence:
- service: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.tarif_rouge
- conditions:
- condition: trigger
id:
- debut
sequence:
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.tarif_rouge
mode: single
Gestion de la couleur du lendemain
On vient modifier à 20h05 et 6h un input text qui permettra d’afficher en clair la couleur du lendemain quand elle est disponible. Celui ci est alors dispo pour de l’affichage et pour des automatisations. eventuelles. Note, de 0h à 6h, l’info « demain » contient en fait l’info du prochain tarif du jour qui sera actif à 6h…
alias: TEMPO - Gestion couleur lendemain
description: Mise à jour de la couleur du lendemain à 20h05 et 6h00
trigger:
- platform: time
at: "20:05:00"
id: set
- platform: time
at: "06:00:00"
id: reset
condition: []
action:
- choose:
- conditions:
- condition: trigger
id:
- set
sequence:
- choose:
- conditions:
- condition: state
entity_id: sensor.0x00158d0005007002_tomorrow_color
state: BLAN
sequence:
- service: input_text.set_value
data:
value: BLANC
target:
entity_id: input_text.couleur_demain
- conditions:
- condition: state
entity_id: sensor.0x00158d0005007002_tomorrow_color
state: ROUG
sequence:
- service: input_text.set_value
data:
value: ROUGE
target:
entity_id: input_text.couleur_demain
- conditions:
- condition: state
entity_id: sensor.0x00158d0005007002_tomorrow_color
state: "----"
sequence:
- service: input_text.set_value
data:
value: BLEU
target:
entity_id: input_text.couleur_demain
default:
- service: input_text.set_value
data:
value: ERREUR
target:
entity_id: input_text.couleur_demain
- conditions:
- condition: trigger
id:
- reset
sequence:
- service: input_text.set_value
data:
value: INCONNU
target:
entity_id: input_text.couleur_demain
mode: single
Notification si demain est un jour rouge
Basé sur l’input text présenté juste au dessus, un exemple de notification en cas de tarif rouge le lendemain (donc il faudra penser à rentrer du bois pour le poêle…).
alias: TEMPO - notification demain jour rouge
description: Les Alexas (Salon SdB Cuisine) annoncent que demain sera rouge vers 20h05
trigger:
- platform: state
entity_id:
- input_text.couleur_demain
to: ROUGE
for:
hours: 0
minutes: 0
seconds: 5
condition:
- condition: time
after: "19:30:00"
before: "20:30:00"
action:
- service: notify.alexa_media
data:
message: Attention ! Demain sera un jour rouge.
target:
- media_player.echo_dot_jeanne
- media_player.echo_jeanne
- media_player.jeanne_echo_dot
data:
type: tts
title: Annonce jour rouge
mode: single
Gestion de la PAC:
Description:
C’est un gros morceau, et je m’appuie sur les ressources suivantes:
- Des booléens:
- Tarif rouge (voir ci dessus)
- Mode auto et mode temporaire (pour activer ou désactiver l’automatisme depuis le dashboard)
- Saison chauffage et saison climatisation (avec une petite automatisation pour ne jamais être dans les deux à la fois)
- Deux shedulers: planning chauffage et planning climatisation, qui gèrent les plages de fonctionnement durant la semaine
- Des input number pour les différentes températures cible (ce qui permet de les régler depuis un dashboard, sans avoir à ouvrir l’automatisation)
Gestion du mode été ou hiver
L’activation d’un mode désactive l’autre pour qu’on ne soit jamais dans les deux modes à la fois. On peut par contre n’être ni en clim, ni en chauffage en intersaison.
alias: PAC - gestion mode chauffage vers clim
description: desactive le chauffage lorsqu'on passe en mode clim
trigger:
- platform: state
entity_id:
- input_boolean.saison_climatistion
from: "off"
to: "on"
condition: []
action:
- service: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.saison_chauffage
mode: single
alias: PAC - gestion mode clim vers chauffage
description: desactive le mode clim lors du passage en mode chauffage
trigger:
- platform: state
entity_id:
- input_boolean.saison_chauffage
from: "off"
to: "on"
condition: []
action:
- service: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.saison_climatistion
mode: single
Gestion du mode temporaire
L’idée de ce mode est de basculer en manuel (donc désactiver la gestion automatique) mais seulement jusqu’au prochain changement d’état du scheduler qui permet alors de repasser en automatique. On peut ainsi couper le chauffage ou l’allumer temporairement pour palier aux défauts du scheduler (présence inhabituelle, télétravail occasionnel, etc…) sans repasser vraiment en manuel. Cette idée est reprise de notre Calybox de Deltadore qui offre la même fonction, à l’usage c’est redoutable d’efficacité !
alias: PAC - reset override temporaire hiver
description: Reset l'override temporaire au changement d'état du planning chauffage
trigger:
- platform: state
entity_id:
- schedule.planning_chauffage
from: "on"
to: "off"
- platform: state
entity_id:
- schedule.planning_chauffage
from: "off"
to: "on"
condition:
- condition: state
entity_id: input_boolean.saison_chauffage
state: "on"
action:
- service: homeassistant.turn_off
data: {}
target:
entity_id: input_boolean.pac_override_temporaire
mode: single
alias: PAC - reset override temporaire été
description: Reset l'override temporaire au changement d'état du planning climatisation
trigger:
- platform: state
entity_id:
- schedule.planning_climatisation
from: "on"
to: "off"
- platform: state
entity_id:
- schedule.planning_climatisation
from: "off"
to: "on"
condition:
- condition: state
entity_id: input_boolean.saison_climatistion
state: "on"
action:
- service: homeassistant.turn_off
data: {}
target:
entity_id: input_boolean.pac_override_temporaire
mode: single
Gestion auto chauffage
La grosse automatisation, qui vient tester toutes les 10 min l’état des booléens, et en fonction gère le chauffage.
alias: PAC - gestion auto chauffage
description: >-
En saison de chauffage.
En mode auto et sans override temporaire.
=> Chauffe à la temperature de consigne si planifié, sinon a la temperature
réduite ou off. Si tarif rouge => PAC off.
trigger:
- platform: time_pattern
minutes: /10
- platform: state
entity_id:
- input_boolean.chauffage_mode_auto
to: "on"
condition:
- condition: state
entity_id: input_boolean.chauffage_mode_auto
state: "on"
- condition: state
entity_id: input_boolean.saison_chauffage
state: "on"
- condition: state
entity_id: input_boolean.pac_override_temporaire
state: "off"
action:
- choose:
- conditions:
- condition: state
entity_id: input_boolean.tarif_rouge
state: "off"
sequence:
- choose:
- conditions:
- condition: state
entity_id: schedule.planning_chauffage
state: "on"
sequence:
- device_id: 5b89093e82e42fe555148e26a107faba
domain: climate
entity_id: fe8907573739d862acee9459abe1c731
type: set_hvac_mode
hvac_mode: heat
- service: climate.set_temperature
data:
temperature: "{{states('input_number.temperature_confort_hiver')|int}}"
target:
entity_id: climate.pac
- conditions:
- condition: state
entity_id: schedule.planning_chauffage
state: "off"
sequence:
- device_id: 5b89093e82e42fe555148e26a107faba
domain: climate
entity_id: fe8907573739d862acee9459abe1c731
type: set_hvac_mode
hvac_mode: "off"
- conditions:
- condition: state
entity_id: input_boolean.tarif_rouge
state: "on"
sequence:
- device_id: 5b89093e82e42fe555148e26a107faba
domain: climate
entity_id: climate.pac
type: set_hvac_mode
hvac_mode: "off"
mode: single
Gestion auto climatisation
La sœur jumelle pour l’été.
alias: PAC - Gestion auto climatisation
description: |
En saison de climatisation .
Si mode auto et si pas d'override temporaire.
=> Climatise à la température de consigne si planifié, sinon PAC OFF.
trigger:
- platform: time_pattern
minutes: /10
- platform: state
entity_id:
- input_boolean.chauffage_mode_auto
to: "on"
condition:
- condition: state
entity_id: input_boolean.chauffage_mode_auto
state: "on"
- condition: state
entity_id: input_boolean.saison_climatistion
state: "on"
- condition: state
entity_id: input_boolean.pac_override_temporaire
state: "off"
action:
- choose:
- conditions:
- condition: state
entity_id: schedule.planning_climatisation
state: "on"
sequence:
- device_id: 5b89093e82e42fe555148e26a107faba
domain: climate
entity_id: climate.pac
type: set_hvac_mode
hvac_mode: cool
- service: climate.set_temperature
data:
temperature: "{{states('input_number.temperature_cible_climatisation')|int }}"
target:
entity_id: climate.pac
- conditions:
- condition: state
entity_id: schedule.planning_climatisation
state: "off"
sequence:
- device_id: 5b89093e82e42fe555148e26a107faba
domain: climate
entity_id: climate.pac
type: set_hvac_mode
hvac_mode: "off"
mode: single
Les scripts
Pour pouvoir lancer le chauffage ou la climatisation, ou le couper, depuis le dashboard. Au passage on passe en mode « temporaire », donc cet état perdurera jusqu’au prochain changement du scheduler. Comme c’est un script, on peut l’activer à la voix avec Alexa qui identifie les scripts comme des scènes, donc avec une routine on peut dire « Alexa allume le chauffage » pour lancer le script (plus agréable que dire « Alexa allume allumer_chauffage » sans routine…).
Petite mise à jour, j’ai ajouté un timer car j’ai eu quelques allumages « sauvages » par les enfants qui oublient de couper… donc désormais l’allumage/extinction par script s’accompagne du lancement d’un timer qui remet le mode auto (désactivation du booléen override temporaire) au bout d’une durée modifiable directement dans le timer (20min la plupart du temps).
Les scripts:
alias: Allumer_chauffage
sequence:
- data: {}
target:
entity_id: input_boolean.saison_chauffage
action: homeassistant.turn_on
- data: {}
target:
entity_id: input_boolean.pac_override_temporaire
action: homeassistant.turn_on
- data:
hvac_mode: heat
temperature: 22
target:
entity_id: climate.pac
action: climate.set_temperature
- data: {}
target:
entity_id: timer.minuteur_pac
action: timer.start
mode: single
icon: mdi:fire
alias: Allumer_climatisation
sequence:
- data: {}
target:
entity_id: input_boolean.saison_climatistion
action: homeassistant.turn_on
- data: {}
target:
entity_id: input_boolean.pac_override_temporaire
action: homeassistant.turn_on
- data:
hvac_mode: cool
temperature: 24
target:
entity_id: climate.pac
action: climate.set_temperature
- data: {}
target:
entity_id: timer.minuteur_pac
action: timer.start
mode: single
icon: mdi:snowflake
alias: Eteindre pac
sequence:
- data: {}
target:
entity_id: input_boolean.pac_override_temporaire
action: homeassistant.turn_on
- device_id: 5b89093e82e42fe555148e26a107faba
domain: climate
entity_id: fe8907573739d862acee9459abe1c731
type: set_hvac_mode
hvac_mode: "off"
- data: {}
target:
entity_id: timer.minuteur_pac
action: timer.start
mode: single
icon: mdi:stop-circle-outline
L’ automatisation de gestion du timer:
alias: Timer override temporaire
description: extinction auto l'override temporaire à la fin du timer de la PAC
trigger:
- platform: event
event_type: timer.finished
event_data:
entity_id: timer.minuteur_pac
condition: []
action:
- metadata: {}
data: {}
target:
entity_id: input_boolean.pac_override_temporaire
action: input_boolean.turn_off
mode: single
Suivi des machines et du sèche linge:
Description:
Avec 3 enfants, enchainer les machines demande de bien savoir quand elles se terminent… Avec deux prises connectées pour mesurer la conso du lave linge et du sèche linge, et la création de deux booléens « machine en cour » et « séchage en cours », on peut faire des choses sympa, y compris des notification adaptables en fonction de l’état des machines en cours et de l’heure pour ne pas réveiller toute la maison!
Démarrage lave linge
Active le booléen machine en cours au démarrage du lave linge
alias: MACHINES - Lave linge en cours - init
description: initialise le booléen Machine en cour
trigger:
- type: power
platform: device
device_id: 959e72fb1a31ef1be0f1d1c3de0a3cd0
entity_id: sensor.0x94deb8fffe6e2623_power
domain: sensor
above: 500
for:
hours: 0
minutes: 0
seconds: 30
condition:
- condition: state
entity_id: input_boolean.machine_en_cour
state: "off"
action:
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.machine_en_cour
mode: single
Démarrage Séche linge
Active le booléen séchage en cours au démarrage du sèche linge
alias: MACHINES - Séchage en cours - init
description: Initialise le booléen Séchage en cours
trigger:
- type: power
platform: device
device_id: c2eb8aeb1c8259c313010a991fe58b25
entity_id: sensor.0x94deb8fffe6e1c3f_power
domain: sensor
above: 500
for:
hours: 0
minutes: 0
seconds: 10
condition:
- condition: state
entity_id: input_boolean.sechage_en_cours
state: "off"
action:
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.sechage_en_cours
mode: single
Arrêt Sèche Linge
Notification (Alexa et Smartphone) de fin de sèche linge et reset du booléen séchage en cour lorsque la prise connectée détecte la fin du séchage:
alias: "MACHINES - Sèche linge Terminé "
description: >-
Notification en fin de sèche linge envoyée sur smartphone Doudou et Jeanne et
echo salon (Alexa chuchote entre 20h et 9h)
trigger:
- type: power
platform: device
device_id: c2eb8aeb1c8259c313010a991fe58b25
entity_id: sensor.0x94deb8fffe6e1c3f_power
domain: sensor
below: 4
for:
hours: 0
minutes: 0
seconds: 45
condition:
- condition: state
entity_id: input_boolean.sechage_en_cours
state: "on"
action:
- service: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.sechage_en_cours
- choose:
- conditions:
- condition: time
after: "20:00:00"
before: "09:00:00"
sequence:
- service: notify.mobile_app_smartphone_doudou
data:
title: SECHE LINGE
message: Le séchage est terminé
- service: notify.alexa_media
data:
message: >-
<amazon:effect name="whispered">Le sèche linge est
terminé</amazon:effect>
target:
- media_player.echo_dot_jeanne
- media_player.echo_jeanne
- media_player.jeanne_echo_dot
data:
type: tts
title: Annonce sechage fini chuchotté
- service: notify.mobile_app_smartphone_jeanne
data:
message: Le sèchage est terminé
title: SECHE LINGE
- conditions:
- condition: time
after: "09:00:00"
before: "20:00:00"
sequence:
- service: notify.mobile_app_smartphone_doudou
data:
title: SECHE LINGE
message: Le séchage est terminé
- service: notify.alexa_media
data:
message: <prosody volume="soft">Le sèche linge est terminé</prosody>
target:
- media_player.echo_dot_jeanne
- media_player.echo_jeanne
- media_player.jeanne_echo_dot
data:
type: tts
title: Annonce fin sechage
- service: notify.mobile_app_smartphone_jeanne
data:
message: Le sèchage est terminé
title: SECHE LINGE
mode: single
Arrêt du Lave linge
Lorsque la prise connectée détecte la fin du lavage:
- Reset du booléen lavage en cour
- Notification (Alexa et Smartphone) de fin de lave linge, si le sèche linge est disponible, sinon attente de la fin du sèche linge:
alias: MACHINES - lave linge terminé
description: >-
Notifie sur smartphones Doudou et Jeanne et Echo salon (chuchotte entre 20h et
9h) la fin du lave linge. Notification différée pour attendre la fin du
séchage en cours le cas échéant.
trigger:
- type: power
platform: device
device_id: 959e72fb1a31ef1be0f1d1c3de0a3cd0
entity_id: sensor.0x94deb8fffe6e2623_power
domain: sensor
below: 4
for:
hours: 0
minutes: 1
seconds: 0
condition:
- condition: state
entity_id: input_boolean.machine_en_cour
state: "on"
action:
- service: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.machine_en_cour
- choose:
- conditions:
- condition: state
entity_id: input_boolean.sechage_en_cours
state: "off"
sequence:
- service: notify.mobile_app_smartphone_doudou
data:
title: LAVE LINGE
message: La lessive est terminée.
- service: notify.mobile_app_smartphone_jeanne
data:
message: La lessive est terminée
title: LAVE LINGE
- choose:
- conditions:
- condition: time
after: "20:00:00"
before: "09:00:00"
sequence:
- service: notify.alexa_media
data:
message: >-
<amazon:effect name="whispered">La machine à laver est
terminée</amazon:effect>
target:
- media_player.echo_dot_jeanne
- media_player.echo_jeanne
- media_player.jeanne_echo_dot
data:
type: tts
title: Annonce lavage fini chuchotté
- conditions:
- condition: time
after: "09:00:00"
before: "20:00:00"
sequence:
- service: notify.alexa_media
data:
message: >-
<prosody volume="soft">La machine à laver est termninée,
vous pouvez la mettre au sèche linge</prosody>
target:
- media_player.echo_dot_jeanne
- media_player.echo_jeanne
- media_player.jeanne_echo_dot
data:
type: tts
title: Annonce lavage fini
- conditions:
- condition: state
entity_id: input_boolean.sechage_en_cours
state: "on"
sequence:
- wait_for_trigger:
- platform: state
entity_id:
- input_boolean.sechage_en_cours
from: "on"
to: "off"
- service: notify.mobile_app_smartphone_doudou
data:
message: La lessive est terminée
title: LAVE LINGE
- service: notify.mobile_app_smartphone_jeanne
data:
message: La lessive est terminée
title: LAVE LINGE
- choose:
- conditions:
- condition: time
after: "20:00:00"
before: "09:00:00"
sequence:
- service: notify.alexa_media
data:
message: >-
<amazon:effect name="whispered">La machine à laver est
terminée</amazon:effect>
target:
- media_player.echo_dot_jeanne
- media_player.echo_jeanne
- media_player.jeanne_echo_dot
data:
type: tts
title: Annonce lavage fini chuchotté
- conditions:
- condition: time
after: "09:00:00"
before: "20:00:00"
sequence:
- service: notify.alexa_media
data:
message: >-
<prosody volume="soft">La machine à laver est termninée,
vous pouvez la mettre au sèche linge</prosody>
target:
- media_player.echo_dot_jeanne
- media_player.echo_jeanne
- media_player.jeanne_echo_dot
data:
type: tts
title: Annonce lavage fini
mode: single
Notification de nouvelle note sur Pronote:
Description:
En s’appuyant sur l’intégration pronote.
Détail de la notification
Notification sur le smartphone des deux parents et de l’enfant concerné (uniquement) de la nouvelle note dispo:
Notification sous la forme:
- « Nouvelle Note pour xxxx »
- « Matière : X/Y (Commentaire) »
Et direction la sous vue de synthèse pronote (voir ci dessus) en cas de clic sur la notification.
alias: Pronote - notification nouvelle note
description: >-
Notification smartphone parents en cas de nouvelle note sur le pronote d'un
enfant. Notification de l'enfant concerné sur son telephone
trigger:
- platform: event
event_type: pronote_event
event_data:
type: new_grade
action:
- service: notify.mobile_app_smartphone_doudou
data:
message: >-
{{ trigger.event.data.data.subject }} : {{
trigger.event.data.data.grade_out_of }} ({{
trigger.event.data.data.comment }})
title: Nouvelle note pour {{ trigger.event.data.child_name }}
data:
clickAction: /lovelace-smartphone/pronote
url: /lovelace-smartphone/pronote
- service: notify.mobile_app_smartphone_jeanne
data:
message: >-
{{ trigger.event.data.data.subject }} : {{
trigger.event.data.data.grade_out_of }} ({{
trigger.event.data.data.comment }})
title: Nouvelle note pour {{ trigger.event.data.child_name }}
data:
clickAction: /lovelace-smartphone/pronote
url: /lovelace-smartphone/pronote
- choose:
- conditions:
- condition: template
value_template: "{{ trigger.event.data.child_name == 'xxx Louise' }}"
sequence:
- service: notify.mobile_app_sm_a137f
data:
message: >
{{ trigger.event.data.data.subject }} : {{
trigger.event.data.data.grade_out_of }} ({{
trigger.event.data.data.comment }})
title: Nouvelle note pour {{ trigger.event.data.child_name }}
data:
clickAction: /lovelace-smartphone/pronote
url: /lovelace-smartphone/pronote
- choose:
- conditions:
- condition: template
value_template: "{{ trigger.event.data.child_name == 'xxx Thibault' }}"
sequence:
- service: notify.mobile_app_smartphone_a14_thibault
data:
message: >
{{ trigger.event.data.data.subject }} : {{
trigger.event.data.data.grade_out_of }} ({{
trigger.event.data.data.comment }})
title: Nouvelle note pour {{ trigger.event.data.child_name }}
data:
clickAction: /lovelace-smartphone/pronote
url: /lovelace-smartphone/pronote