Home assistant, automatiser une action des jours précis

Le rôle de la domotique est de simplifier le quotidien bien que la mise en place peut être fastidieuse. Sans chercher à faire des actions compliquées, mettre gérer une alarme, une notification avec Home Assistant, si celle-ci est récurrente, est très simple.

Dans ma commune, les déchets sont ramassés deux jours par semaine :

  • le mercredi matin, ce sont les déchets non recyclables (poubelle bleue)
  • le jeudi matin, il s’agit des déchets recyclacles (poubelle jaune)

Voilà, le petit script afin d’automatiser une notification sur mes enceintes Alexa la veille au soir.

Prérequis

Pour cet article simple, il faudra tout de même avoir les notifications sur les enceintes Alexa d’activer, si ce n’est pas le cas, tu peux te rendre sur Donner de la voix à Home Assistant avec Alexa.

Création des sensors

Une fois que tu arrives à faire parler tes enceintes, nous allons créer 2 sensors, nous pourrions faire autrement mais je trouve cette manière plus esthétique et cela permet d’appréhender les capteurs binaires avec la plateforme workday. La documentation sur Workday est disponible sur le wiki de HA.

Tout d’abord, dans le fichier configuration.yaml, j’ai ajouté cette ligne :

binary_sensor: !include binary_sensors.yaml

Le fichier binary_sensors.yaml contient l’ensemble de mes capteurs de ce type.

Nous allons créer nos deux capteurs :

  • le premier pour la veille du ramassage des poubelles bleues
  • le second pour la veille du ramassage des poubelles jaunes

Mon fichier contient donc cela :

# sensor pour le jour de ramassage de poubelle bleu
- platform: workday
  country: FR
  name: jour_poubelle_bleu
  workdays: [tue]

# sensor pour le jour de ramassage de poubelle jaune
- platform: workday
  country: FR
  name: jour_poubelle_jaune
  workdays: [wed]

Rien de très compliqué, il est à noter que country est obligatoire. La liste workdays contient les jours pour lesquels nous voulons que notre sensor soit à on.

Avec ce type de sensor, nous pourrions exclure des jours, des périodes (par exemple de vacances) ou des évenements déjà définis (Noël …) dans mon cas, je ne les utilise pas.

S’en est fini pour les sensors, prochaine étape, l’automatisation.

Automatisation des notifications

Maintenant, nous allons simplement créer 2 automations, une pour le mardi soir et une autre pour le mercredi soir.

# Ramassage des poubelles
- alias: rammassage_poubelle
  trigger:
    - platform: time
      at: '20:00:00'
  condition: 
    - condition: or
      conditions:
      - condition: and
        conditions:
          - condition: state
            entity_id: binary_sensor.jour_poubelle_bleu
            state: "on"
          - condition: state
            entity_id: input_boolean.vacances
            state: "off"
      - condition: and
        conditions:
          - condition: state
            entity_id: binary_sensor.jour_poubelle_jaune
            state: "on"
          - condition: state
            entity_id: input_boolean.vacances
            state: "off"
  action:
    - service: notify.alexa_media_dot_parent
      data_template:
        data:
          type: tts
        message: >-
          {% if states.binary_sensor.jour_poubelle_bleu.state == "on" %}
            "Pense à sortir la poubelle bleu"
          {% elif states.binary_sensor.jour_poubelle_jaune.state == "on" %}
            "Pense à sortir la poubelle jaune"
          {% endif %}

Il n’y a rien de compliqué, le déclencheur est l’heure (à 20h00) et il y a une des conditions imbriquées, en effet pas besoin que la notification soit émise, si personne est présent. Il y a bien moins lourd à faire sur les conditions, je reviendrai dessus plus tard.

Conclusion

Dorénavant, je n’aurai plus d’excuses pour avoir oublié de sortir les poubelles.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.