Comment éviter les notifications Alexa intempestives avec le Planificateur Home Assistant ?

4h32, samedi matin. Une annonce dans les 6 Alexa de la maison déchire le silence : « Il commence à pleuvoir ! » Alexa, vient de réveiller toute la maison. Je ne vous dis pas l’ambiance au petit-déjeuner. Super début de week-end.

La cause ? Mon capteur de pluie ZG-223Z avait détecté quelques gouttes à 4h25, et mon automatisation avait déclenché une annonce Alexa sans réfléchir à l’heure.

Je voulais une solution simple, native Home Assistant pour dire : « Tu annonces SEULEMENT entre 9h et 21h30 en semaine, 10h-22h le weekend« . Après avoir testé input_datetime, automatisations multiples et scripts complexes, j’ai découvert LE planificateur. 5 minutes de config, et plus jamais de réveil intempestif.

Je vous raconte tout mon parcours, étape par étape, exactement comme je l’ai fait.

🎯 Mon plan d’attaque

Objectif : Créer un « gardien des horaires » qui dit OUI/NON aux annonces Alexa selon l’heure + jour. J’ai choisi le Planificateur HA car :

  • Je glisse-dépose mes plages horaires
  • Il me donne un état ON/OFF automatique
  • Zéro code, 100% interface Home Assistant
  • Je le conditionne dans TOUTES mes automatisations

 

🔧 Étape 1 : Je crée mon Planificateur

Je clique Paramètres → Appareils & Services → Entrées (Helpers)

Je clique Créer une entrée → Planificateur

Je nomme : Message Alexa Autorisé → Entity ID automatique : schedule.message_alexa_autorise

Je configure mes plages :

  • Lundi à Vendredi : 09:00 → 21:30 (bleu)
  • Samedi : 08:30 → 21:30 (bleu)
  • Dimanche : 10:00 → 21:30 (bleu)

Je sauvegarde et je visualise le capteur.

Ainsi quand le capteur est activé, c’est qu’Alexa a le droit de notifier soit :

schedule.message_alexa_autorise=ON

 

📊 Étape 2 : Je crée un capteur visuel (facultatif)

Pour mon dashboard, je code ce binary_sensor dans mon templates.yaml :

- name: "Alexa Messages Autorisés"
  unique_id: binary_sensor.alexa_messages_allowed
  state: >
    {{ is_state('schedule.message_alexa_autorise', 'on') }}
  device_class: connectivity
  icon: >
    {% if is_state('schedule.message_alexa_autorise', 'on') %}
      mdi:bell-badge
    {% else %}
      mdi:bell-off
    {% endif %}

Redémarrage HAbinary_sensor.alexa_messages_allowed apparaît. Je l’ajoute à mon dashboard picture-elements :

⚙️ Étape 3 : Je sécurise mes automatisations

Mon exemple type : Notification pluie (qui m’avait réveillé !)

AVANT (dangereux) : Pluie → Annonce directe → 4h32 réveil familial

APRÈS (sécurisé) : Pluie + Schedule ON → Annonce. Sinon : silence.

alias: Notification Pluie Sécurisée
description: "🚨 Pluie détectée ET horaire OK"
triggers:
  - entity_id: binary_sensor.pluie_en_cours  # Mon ZG-223Z
    from: "off"
    to: "on"
    for:
      seconds: 20  # Anti-faux positif
conditions:
  - condition: state
    entity_id: schedule.message_alexa_autorise  # ← MON GARDIEN !
    state: "on"
actions:
  - service: notify.alexa_media_partout
    data:
      message: "🚨 Il commence à pleuvoir dehors ! Stores fermés, arrosage coupé."
      data:
        type: announce
  - delay: "00:00:02"
mode: single

TEST : 16h → Pluie simulée → « Il pleut ! » sur tous les Echo ✅

TEST : 23h → Pluie simulée → Silence total

🛠️ Mes astuces de pro (explicitées pour débutants)

1. Badge dashboard intelligent

- type: conditional
  conditions:
    - entity: binary_sensor.alexa_messages_allowed
      state: "on"
  elements:
    - type: state-badge
      entity: binary_sensor.alexa_messages_allowed
      style: 
        top: 85%
        left: 5%
        '--card-mod-icon-color': green

Apparaît en VERT si OK, invisible sinon. Magique !

2. Debug facile

Developer Tools → Template{{ states('schedule.message_alexa_autorise') }} → Instantané !

Pour tester et vérifier les valeurs des capteurs.

💬 Mon verdict après 1 semaine

Plus un seul réveil intempestif. La famille dort, je suis zen.

✅ 5 MINUTES de config initiale, puis tout automatique.

✅ VISUEL : Plages colorées, badges dashboard, logs clairs.

✅ NATIF : Zéro dépendance externe, upgradable facilement.