Notification message

Bonjour
j’ai un script qui m’envoie par signal le matin la meteo et les infos pollens, ça marche bien mais j’aimerai améliorer et alléger le message, notamment pour les infos pollens.

Je souhaiterai ne recevoir que les infos pour un risque pollens supérieur à 2 et si c’est le cas et n’avoir les infos risques pollens par « essence » que pour un niveau supérieur à 2.

J’ai cherché pas mal, mais je n’arrive pas à avoir quelque chose de satisfaisant , sur mon dashboard j’y suis arrivé, mais dans l’automation je sèche.

Mon code actuel qui fonctionne mais m’affiche tout :

service: notify.signal_home
data:
  message: |
    ...........

    Risque Pollens: {{ (states('sensor.pollens_50_risklevel', 'Manche')) }}

    Aulne: {{ (states('sensor.pollens_50_aulne')) }}
    Bouleau: {{ (states('sensor.pollens_50_bouleau')) }}
    Chataignier: {{ (states('sensor.pollens_50_chataignier')) }}
    Chêne: {{ (states('sensor.pollens_50_chene')) }}
    Graminées: {{ (states('sensor.pollens_50_graminees')) }}
    Noisetier: {{ (states('sensor.pollens_50_noisetier')) }}
    Plantain: {{ (states('sensor.pollens_50_plantain')) }}
    Urticacées: {{ (states('sensor.pollens_50_urticacees')) }}
    ...........

merci pour votre aide

Lol, pas besoin d’alerte météo pour les pollens dans la Manche, ils ne peuvent pas quitter le sol :grin:

Hello,

Pas exactement le même cas, mais j’avais besoin de m’envoyer une alerte pour savoir quel jour sortir quelle poubelle.

Je me suis donc construit un template qui me construit mon message :

{# Liste des différentes poubelles à sortir #}
{% set poubelles = namespace(liste=[]) %}

{# Date du jour #}
{% set cur_date = now() %}
{#% set cur_date = strptime("2024-01-30", '%Y-%m-%d') %}

{# Demain #}
{% set tomorrow = cur_date + timedelta(days=1) %}

{# Demain + 7 jours #}
{% set tomorrow_plus_7_days = tomorrow + timedelta(days=7) %}

{# Numéro du jour de l'année (le 1°, le 364°, ..) #}
{% set day_of_year = tomorrow.strftime('%j') | int %}

{# Date du jour au format AAAAMMJJ #}
{% set year_month_day = tomorrow.strftime('%Y%m%d') %}

{# ------------------------------------------------------------------------ #}
{# Les poubelles sont toujours à sortir la veille => on regarde demain #}
{# ------------------------------------------------------------------------ #}

{# ------------------------------------------------------------------------ #}
{# Poubelles grises #}
{# Tous les mardis et vendredis #}
{# ------------------------------------------------------------------------ #}
{% if (
  (tomorrow.isoweekday() == 2)
  or (tomorrow.isoweekday() == 5)
) %}
  {% set poubelles.liste = poubelles.liste + ['Poubelle grise'] %}
{% endif %}

{# ------------------------------------------------------------------------ #}
{# Déchets verts #}
{# Tous les lundis entre le 04/03/2024 et le 25/11/2024 #}
{# ------------------------------------------------------------------------ #}
{% if (
  (tomorrow.isoweekday() == 1)
  and (year_month_day >= '20240304')
  and (year_month_day <= '20241125')
) %}
  {% set poubelles.liste = poubelles.liste + ['Déchets verts'] %}
{% endif %}

{# ------------------------------------------------------------------------ #}
{# Poubelle jaunes (carton) #}
{# Tous les mercredis #}
{# ------------------------------------------------------------------------ #}
{%
  if (tomorrow.isoweekday() == 3)
%}
  {% set poubelles.liste = poubelles.liste + ['Poubelle jaune'] %}
{% endif %}


{# ------------------------------------------------------------------------ #}
{# Poubelle vertes (verre) #}
{# 1 mercredi / 2 à partir du premier mercredi de l'année #}
{# ------------------------------------------------------------------------ #}
{% if (
  (tomorrow.isoweekday() == 3)
  and (((day_of_year / 7) | round(0, 'ceil')) % 2 == 1)
) %}
  {% set poubelles.liste = poubelles.liste + ['Poubelle verte'] %}
{% endif %}

{# ------------------------------------------------------------------------ #}
{# Encombrants #}
{# Le dernier mercredi du mois #}
{# ie : La semaine prochaine n est plus le même mois #}
{# ------------------------------------------------------------------------ #}
{% if (
  (tomorrow.isoweekday() == 3)
  and (tomorrow.month != tomorrow_plus_7_days.month)
) %}
  {% set poubelles.liste = poubelles.liste + ['Encombrants'] %}
{% endif %}

{% if ((poubelles.liste | count) > 0) %}
  {% set poubelles.liste = ['Il faut sortir les poubelles suivantes : '] + poubelles.liste %}
{% endif %}

{{ poubelles.liste | join("\r\n - ") }}

Et une automatisation, qui m’envoie le message SSI ce dernier n’est pas vide :

alias: ALERTES Whatsapp - Sortie poubelle
description: ""
trigger:
  - platform: time_pattern
    hours: "16"
    minutes: "50"
condition:
  - condition: template
    value_template: "{{ (states('sensor.etat_sortie_poubelles') | length) != 0 }}"
action:
  - service: whatsapp.send_message
    data:
      clientId: default
      to: XXXXXXXXX@g.us
      body:
        text: "{{ states('sensor.etat_sortie_poubelles') }}"
mode: single

Des fois que ça puisse t’inspirer :wink:

38 … Grenoble ?
Au moins nous, il y a tellement de vent toute l’année, on n’a pas de pollution :slight_smile:

Merci !
je vais regarder ça

Non, vallée du Rhône entre une centrale nucléaire et un gros site chimique : les pollens se déplacent sur du césium 137 et des HAP (les allergies durent moins longtemps car tu es tué plus rapidement :joy:), après t’es pas en reste dans la Manche, entre Flamanville, la Hague et l’arsenal… Tout est arrosé de Cherbourg jusqu’à Avranche et St Lo :upside_down_face: