Tu veux dire que tu l’avais mal renseigné à l’installation ?
si je pose la question, c’est pour m’assurer que le code est bon
Car c’est la fonction as_timestamp() qui renvoi l’heure locale (le fait de mettre True
en paramètre)
Tu veux dire que tu l’avais mal renseigné à l’installation ?
si je pose la question, c’est pour m’assurer que le code est bon
Car c’est la fonction as_timestamp() qui renvoi l’heure locale (le fait de mettre True
en paramètre)
oui j’avais laisser UTC, mais la il pleut plus chez moi c’est chiant alors plus de notification lol
Remonte plus haut dans le fil pour déboguer, @oncleben31 à mit comment il faisait (et c’est ce qu’il faut faire )
c’est bon ça marche
par contre c’est possible de rajouter si c’est une pluie faible ou autre pour avoir un peux plus de détails?
Je t’invite à lire la documentation pour essayer et nous faire un retour
Hello. Je re ouvre le fil car je cherche un blueprint (si pluie dans dans l’heure ou 30 mn) avec évidemment l’api Meteo france, pour y associer une scene ?!
des pistes ?
Bonjour à tous , merci @oncleben31 cela fonctionne parfaitement
bonjour , ce script fonctionne t’il toujours car je le copie colle dans mon éditeur Yaml et que je change avec mes entités. j 'ai une erreur .
Message malformed: expected dictionary
ca vous dit quelquechose ?
merci à tous
Perso je ne me suis pas compliqué la vie, j’ai créé un template sensor (on/off) qui regade si le premier attribut forecast de mon integration meteo france contient le mot « rain », et j’ai créé une automatisation qui m’alerte quand il passe a on, ca m’evite de gérer si j’ai deja été notifié ou pas
Et oui je prefere HA en anglais
platform: template
sensors:
rain_next_hour:
friendly_name: "Rain Next Hour"
value_template: >-
{% if 'rain' in state_attr('weather.ma_ville_top_secrete', 'forecast')[0].condition %}
on
{% else %}
off
{% endif %}
en fait tout fonctionne nickel , j’avait fait une boulette merci beaucoup!
serait-il possible au lieu de notify.notify d’utiliser les notifications iOS ? j’ai essayé mais ca ne fonctionne pas . il faut sans doute changer le format du message à transmettre .
Merci pour cette automatisation. Après installation, et avec les jours de pluie de ce milieu de semaine, je suis spammé sur mon Telegram.
J’ai loupé quelque chose ou c’est chez tout le monde comme ça ?
C’est pour tout le monde pareil
Depuis la maj HA il m’indique que certaines valeur timestamp n’ont pas de valeur par defaut, pouvez-vous me dire si j’ai mal intégré la valeur par defaut :
- alias: '[NOTIFY]Alerte quand pluie attendue'
id: 30f4e5a8-df44-11ea-87d0-0242ac130003
description: Envoie des notifications quand la pluie est attendue dans l'heure
max_exceeded: silent
trigger:
- platform: state
entity_id: sensor.ville_next_rain
action:
- choose:
- conditions:
- condition: template
value_template: '{{ trigger.to_state.state != ''unknown'' }}'
- condition: state
entity_id: input_boolean.stop_rain_notification
state: 'off'
for:
minutes: 10
- condition: time
after: 05:00:00
before: '22:00:00'
sequence:
- choose:
- conditions:
- condition: template
value_template: '{{ trigger.to_state.state != trigger.from_state.state
}}'
sequence:
- service: notify.notify
data:
title: Alerte pluie de [5h/22h]
message: La pluie est attendue à {{ as_timestamp(states('sensor.ville_next_rain')[0])
| timestamp_custom('%H:%M', True, 0) }}.🌧️
- delay:
hours: 0
minutes: 20
seconds: 0
milliseconds: 0
- service: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.stop_rain_notification
- choose:
- conditions:
- condition: template
value_template: '{{ state_attr(''sensor.ville_next_rain'', ''1_hour_forecast'')[''0
min''] != ''Temps sec'' }}'
sequence:
- service: input_boolean.turn_on
data:
entity_id: input_boolean.stop_rain_notification
- conditions:
- condition: template
value_template: '{{ trigger.to_state.state == ''unknown'' }}'
- condition: template
value_template: '{{ trigger.from_state.state != ''unknown'' }}'
sequence:
- service: notify.notify
data:
message: Plus de pluie attendue dans la prochaine heure 🌤️.
- service: input_boolean.turn_off
data:
entity_id: input_boolean.stop_rain_notification
mode: single
J’ai depuis cette erreur persistante, comment met-on la valeur par defaut merci
Error rendering data template: ValueError: Template error: as_timestamp got invalid input '2' when rendering template 'La pluie est attendue à {{ as_timestamp(states('sensor.xxxx_next_rain')[0]) | timestamp_custom('%H:%M', True, 0)(0) }}.🌧️' but no default was specified
Bonjour,
Après avoir essayé cette automatisation quelques mois, je me rends compte que j’ai pas mal de notifications et parfois, cela n’a aucun intérêt pour moi. Je préfèrerai avoir des notifications seulement quand mes fenêtres sont ouvertes.
Si j’ai besoin de savoir si la pluie arrive, je vais ouvrir l’appli et regarder ma carte de prévisions :
### PLUIE DANS L'HEURE ###
- type: vertical-stack
cards:
- type: conditional
conditions:
- entity: sensor.chalon_sur_saone_next_rain
state_not: "unknown"
card:
type: entities
entities:
- entity: sensor.chalon_sur_saone_next_rain
name: Averse
- type: conditional
conditions:
- entity: sensor.chalon_sur_saone_next_rain
state_not: "unknown"
card:
type: horizontal-stack
cards:
- color_type: card
entity: sensor.chalon_sur_saone_next_rain
name: "0"
show_icon: false
show_state: false
state:
- color: 'rgb(204, 217, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['0 min'] == 'Pluie faible')
]]]
- color: 'rgb(128, 159, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['0 min'] == 'Pluie modérée')
]]]
- color: 'rgb(51, 102, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['0 min'] == 'Pluie forte')
]]]
- color: 'rgb(255, 255, 255)'
operator: default
styles:
card:
- height: 50px
type: 'custom:button-card'
# Prochaine pluie à 5min
- color_type: card
entity: sensor.chalon_sur_saone_next_rain
name: 05
show_icon: false
show_state: false
state:
- color: 'rgb(204, 217, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['5 min'] == 'Pluie faible')
]]]
- color: 'rgb(128, 159, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['5 min'] == 'Pluie modérée')
]]]
- color: 'rgb(51, 102, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['5 min'] == 'Pluie forte')
]]]
- color: 'rgb(255, 255, 255)'
operator: default
styles:
card:
- height: 50px
type: 'custom:button-card'
# Prochaine pluie à 10min
- color_type: card
entity: sensor.chalon_sur_saone_next_rain
name: 10
show_icon: false
show_state: false
state:
- color: 'rgb(204, 217, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['10 min'] == 'Pluie faible')
]]]
- color: 'rgb(128, 159, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['10 min'] == 'Pluie modérée')
]]]
- color: 'rgb(51, 102, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['10 min'] == 'Pluie forte')
]]]
- color: 'rgb(255, 255, 255)'
operator: default
styles:
card:
- height: 50px
type: 'custom:button-card'
# Prochaine pluie à 15min
- color_type: card
entity: sensor.chalon_sur_saone_next_rain
name: 15
show_icon: false
show_state: false
state:
- color: 'rgb(204, 217, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['15 min'] == 'Pluie faible')
]]]
- color: 'rgb(128, 159, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['15 min'] == 'Pluie modérée')
]]]
- color: 'rgb(51, 102, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['15 min'] == 'Pluie forte')
]]]
- color: 'rgb(255, 255, 255)'
operator: default
styles:
card:
- height: 50px
type: 'custom:button-card'
# Prochaine pluie à 20min
- color_type: card
entity: sensor.chalon_sur_saone_next_rain
name: 20
show_icon: false
show_state: false
state:
- color: 'rgb(204, 217, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['20 min'] == 'Pluie faible')
]]]
- color: 'rgb(128, 159, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['20 min'] == 'Pluie modérée')
]]]
- color: 'rgb(51, 102, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['20 min'] == 'Pluie forte')
]]]
- color: 'rgb(255, 255, 255)'
operator: default
styles:
card:
- height: 50px
type: 'custom:button-card'
# Prochaine pluie à 25min
- color_type: card
entity: sensor.chalon_sur_saone_next_rain
name: 25
show_icon: false
show_state: false
state:
- color: 'rgb(204, 217, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['25 min'] == 'Pluie faible')
]]]
- color: 'rgb(128, 159, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['25 min'] == 'Pluie modérée')
]]]
- color: 'rgb(51, 102, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['25 min'] == 'Pluie forte')
]]]
- color: 'rgb(255, 255, 255)'
operator: default
styles:
card:
- height: 50px
type: 'custom:button-card'
# Prochaine pluie à 35min
- color_type: card
entity: sensor.chalon_sur_saone_next_rain
name: 35
show_icon: false
show_state: false
state:
- color: 'rgb(204, 217, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['35 min'] == 'Pluie faible')
]]]
- color: 'rgb(128, 159, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['35 min'] == 'Pluie modérée')
]]]
- color: 'rgb(51, 102, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['35 min'] == 'Pluie forte')
]]]
- color: 'rgb(255, 255, 255)'
operator: default
styles:
card:
- height: 50px
type: 'custom:button-card'
# Prochaine pluie à 45min
- color_type: card
entity: sensor.chalon_sur_saone_next_rain
name: 45
show_icon: false
show_state: false
state:
- color: 'rgb(204, 217, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['45 min'] == 'Pluie faible')
]]]
- color: 'rgb(128, 159, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['45 min'] == 'Pluie modérée')
]]]
- color: 'rgb(51, 102, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['45 min'] == 'Pluie forte')
]]]
- color: 'rgb(255, 255, 255)'
operator: default
styles:
card:
- height: 50px
type: 'custom:button-card'
# Prochaine pluie à 55min
- color_type: card
entity: sensor.chalon_sur_saone_next_rain
name: 55
show_icon: false
show_state: false
state:
- color: 'rgb(204, 217, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['55 min'] == 'Pluie faible')
]]]
- color: 'rgb(128, 159, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['55 min'] == 'Pluie modérée')
]]]
- color: 'rgb(51, 102, 255)'
operator: template
value: |
[[[
return states['sensor.chalon_sur_saone_next_rain'].attributes
&& (states['sensor.chalon_sur_saone_next_rain'].attributes['1_hour_forecast']['55 min'] == 'Pluie forte')
]]]
- color: 'rgb(255, 255, 255)'
operator: default
styles:
card:
- height: 50px
type: 'custom:button-card'
J’ai donc regroupé mes 3 capteurs qui correspondent aux fenêtres que je souhaite suivre en cas de pluie :
# Mes fenêtres ouvertes
- name: "Fenêtres ouvertes"
unique_id: fenetres_ouvertes
device_class: window
state: >
{{
is_state('binary_sensor.fenetre_2_salon', 'on')
or is_state('binary_sensor.porte_chambre_rdc', 'on')
or is_state('binary_sensor.velux_1_chambre_etage', 'on')
}}
Et je l’ai ajouté en condition dans l’automatisation :
trigger:
- platform: state
entity_id:
- sensor.chalon_sur_saone_next_rain
condition: []
action:
- choose:
- conditions:
- "{{ trigger.to_state.state != 'unknown' }}"
- condition: state
entity_id: input_boolean.stop_rain_notification
state: "off"
- condition: state
entity_id: binary_sensor.fenetres_ouvertes
state: "on"
sequence:
...
Maintenant, je souhaiterai avoir connaissance de la ou les fenêtres ouvertes dans mon message. Je dois donc rajouter un élément ici :
- service: notify.synochat_appart
data:
message: >
La pluie est attendue vers {{
as_timestamp(states('sensor.chalon_sur_saone_next_rain'))
| timestamp_custom('%H:%M', True) }}.
et ici :
- service: notify.synochat_appart
data:
message: La pluie est attendue dans quelques minutes.
Avec un message du style :
La pluie est attendue vers {{ as_timestamp(states(‹ sensor.chalon_sur_saone_next_rain ›)) | timestamp_custom(‹ %H:%M ›, True) }} et {{ fenetre en question }} est/sont ouverte/s !
et
La pluie est attendue dans quelques minutes et {{ fenetre en question }} est/sont toujours ouverte/s !
Avez-vous une idée ou un code que je pourrai adapté pour afficher le nom de mon binary_sensor qui correspond à la ou les fenêtres ouvertes ?
Merci !
En parallèle, sur jeedom j’utilisais le plugin meteoprev qui donnait une quantité estimée de pluie à 1, 2, 3 ou 4 jours.
Je ne sais pas quel site ils utilisent pour ça.
Savez vous si on peut récupérer cette info ?
J’ai vu qu’on savait le faire à 1h sur météofrance mais c’est trop peu pour une prévision d’un arrosage automatique.
Merci
Merci
Les entités sont dispo pour chaque jour ou en cumulées ?
chaque jour … 2.4 puis 0.2 ça ne peut pas être un cumul
OK
Je l’ai installée mais je n’ai que 9 entités.
Concernant la pluie je n’ai que l’entité sur le daily precipitation.
Je ne vois pas comment faire pour récupérer ces valeurs dont tu parles