Je viens de Jeedom et après une grosse boulette qui m’a fait perdre toute ma domotique (c’est ça de pas faire de sauvegardes…) je saisi l’occasion de me mettre sérieusement à HA.
Si je commence à bricoler quelques trucs dans les automations, je suis encore loin de réussir à faire la même chose que dans Jeedom.
Là j’aimerais refaire l’équivalent de 2 scénarios qui géraient l’éclairage extérieur de ma maison et il me manque la méthode pour arriver à mes fins.
Le premier concerne simplement l’allumage des lampes extérieur : En utilisant la géolocalisation de mon téléphone et les zones, ça s’allumait automatiquement 30mn après le couché du soleil ou jusqu’a 30mn avant le lever du soleil. Si j’oubliais d’éteindre, après 15 mn j’avais une notification que me demandais s’il fallait éteindre, laisser allumer (et dans ce cas une autre notification me signalait que je devais éteindre manuellement et qu’il n’y aurait pas de rappel) ou me le redemander 15mn plus tard, et si je ne répondais pas dans le delais impartis (3mn) une notification me disait qu’il y aurait un rappel 15mn plus tard.
Pour l’instant j’arrive à gerer l’allumage automatique lorsque j’entre dans la zone après le couché du soleil, mais je ne vois pas comment il faut faire pour ajouter les 30mn après le couché / 30mn avant le lever.
Et pour les notifications qui redemandent toutes les 15mns (seulement si c’est allumé par l’entrée dans la zone) je n’ai aucune idée de comment faire ça…
Le second concerne l’éclairage de mon écurie. Dans les boxs des chevaux, en plus de l’éclairage normal, j’ai ajouté des ampoules RGBW (Shelly). Dans mon scenario Jeedom, quand j’allumais l’écurie, les ampoules RGB s’allumaient en blanc. Mais quand j’éteignais, il y avait une sorte de crépuscule artificielle qui faisait passer progressivement (sur une periode de 2 heures) les ampoules de blanc à un rouge très faible avant de les éteindre complètement.
Pour faire ça dans HA, j’ai l’impression qu’il faut plutôt passer par un script, mais là encore j’ai pas la démarche.
Quelles méthodes appliquer pour faire ça dans HA ?
Merci d’avance.
EDIT : Ah oui, et il y a un autre truc que j’ai pas réussit à trouver malgré mes recherches sur le net, c’est tester des égalités dans les conditions des automations.
Cas typique : Pour mon élec je suis en tarif Tempo, via la TIC et un montage ESPHome je remonte les infos du Linky dans HA, pour ça pas de problème.
Le tarif en cours remonte sous 2 formes, en « clair » genre « HP BLEU » et sous forme numerique (1=HC BLEU 2=HP BLEU 3=HP BLANC, etc) et pour certains de mes automations j’ai besoin de prendre en compte le tarif en cours. A chaque fois que j’ai besoin de tester un tarif, c’est un peu lourd de dire que si c’est plus grand que 2 et plus petit que 4 alors… plutôt que de dire si = 3 alors…
Comment on fait ?
Salut ex Jedomien !
Les automations sont pas très compliqués en soit.
Déjà tu as un bon raisonnement , il suffit de le transformer dans l’automatisation, il y a quelques exemples sur le Forum.
Il faut déjà que tu essaie par toi même , peut-être un peu galère si tu reste dans le style scénario …
Il y a pas mal de condition que tu peux imbriqué, et le décalage de l’heure se fait directement dans la partie ou tu renseignes le déclencheurs ( le soleil)
En effet les Automatisations sont un peut plus complexe à mettre en œuvre que les scénarios sous Jeedom car il n’y a pas d’incrémentation qui permet de faire des SI ou des OU facilement
Pour ma part, je n’arrive toujours pas à comprendre l’enchaînement et je remercie encore une fois @Ev000 qui à bâti la mienne dont a mon avis tu dois pour récupérer des bout car il y a des enchaînements d’étapes de conditions avec des notifications avec réponse
Bon courage et tu va y arriver
PS : a tu penser à activer les sauvegardes externes de HA ?
Merci pour ta réponse…
Mon déclencheur c’est pas le couché du soleil, c’est l’entrée dans la zone « maison »
Le couché du soleil c’est la condition.
Mais au couché du soleil, il fait encore jour, donc pas besoin d’allumer. D’où le besoin d’ajouter un décalage (entre 20 et 30mn selon mes tests) mais je ne sais pas comment on fait.
Ok mais comment / a quel endroit ?
Parce que si je prend une des automations que j’ai faite j’ai :
Ah ! ben merci pour l’exemple ! parce que dans ma version de HA (la dernière pourtant) j’ai bien des champs décalage antérieur/posterieur mais y a aucune indication du type / format d’entrée attendu, là toi c’est indiqué en minutes donc déjà ça aide pas mal !
Un premier problème qui semble solutionné.
J’essaye d’avancer sur l’automation avec les notifictions et pour l’instant je bloque déjà sur un premier problème :
Je ne reçoit les notifications que si mon mobile est « allumé » (c’est à dire qu’il est déverrouillé et en cours d’utilisation)
S’il est verrouillé / en veille dans ma poche (situation normale pour les gens qui ne passent pas 24h par jour collé à l’écran de leur smartphone) je ne reçoit les notifications HA que quand je vais « allumer » mon téléphone.
C’est pas super pratique pour notifier de quelque chose d’important.
J’ai essayé plusieurs options « sticky, persistant, important, public » ça ne change rien.
J’ai un smartphone Samsung sous Androïd14. Les notifications semblent bien autorisées.
Comment faire pour être notifié même lorsque le téléphone est verrouillé ?
Bon, en fait je reçoit bien les notifications même mobile verrouillé, c’est juste qu’elles mettent entre 4 et 5 minutes avant d’arriver.
C’est pas top, mais c’est pas non plus hyper gênant.
Reste à voir comment faire pour gérer les réponses et aussi les non réponse pour relancer la notification plus tard.
2 moyens de récupérer les réponses : un déclencheur Événement manuel (dans QUAND) ou une action Attendre un déclencheur. Pour les deux ça ressemble à ça :
- platform: event
event_type: mobile_app_notification_action
event_data:
action: ici le nom d'action que tu as défini pour le bouton de la notif
C’est sans doute du au système de gestion d’énergie de Samsung.
L’appli ne gère pas la temporalité des notif. Dès quelle reçoit une demande d’afficher une notif, elle le fait.
Tu devrais avoir une option sur ton Samsung pour désactiver l’optimisation de la batterie pour l’appli Home Assistant, sauf si les dernières version ne le permettent pas, ils en parlent ici :
J’ai trouvé le paramètre d’optimisation batterie et il était bien désactivé pour l’appli HA. Par contre dans la discussion que tu indiques ils parlent de certains paramètres supplémentaire pour la notification :
ttl: 0
priority: high
Et ça à l’air de fonctionner. Un problème de solutionné, merci.
J’ai pas encore regardé pour gérer les réponses aux « actionnables notifications » mais je vais m’y mettre sérieusement ce week-end.
l’entrée « eclairage_auto_ext » est utilisé comme une variable qui permet de déclencher l’automatisation de notification seulement quand l’allumage se fait par l’entrée dans la zone, vu que les 3 lampes impliquées peuvent aussi être allumée manuellement (et indépendamment) et que dans ce cas je ne veux pas qu’il y ai de notification (ni même d’automatisation en fait).
J’ai fais un test dans un script et la logique de notifications / réponses semblent fonctionner.
Quand je répond OUI ou NON, pas de problème.
Maintenant ce que je ne sais pas gérer c’est ce qui se passe après la réponse REDEMANDER ou la non réponse.
Dans Jeedom on pouvait programmer des actions, par exemple relancer le même scenario, après une durée prédéfinie (et dans ce cas il ignorait les déclencheurs et exécutait simplement le script)
Je n’ai pas trouvé comment reproduire le même mécanisme et ça ne fonctionnerait de toutes façons pas puisque les différentes options sont dépendante du déclencheur ayant lancé l’automatisation.
Comment faire pour gérer ça ?
Le but ici c’est d’envoyer une nouvelle demande (ou de réactiver celle-ci ?) toutes les 15 minutes tant qu’il n’y a pas de réponse (ou si la réponse est REDEMANDER) ou tant que la lumière est allumée (« eclairage_auto_ext » est vrai)
alias: Lumières auto
description: ""
trigger:
- platform: zone
entity_id: device_tracker.sm_a536b
zone: zone.maison
event: enter
id: zone
- platform: state
entity_id:
- input_boolean.eclairage_auto_ext
from: "off"
for:
hours: 0
minutes: 15
seconds: 0
id: temps
to: "on"
- platform: state
entity_id:
- switch.lumiere_so
from: "on"
to: "off"
id: extinction
condition: []
action:
- choose:
- conditions:
- condition: trigger
id:
- temps
sequence:
- sequence:
- variables:
eteindre_oui: "{{ 'OUI_' ~ context.id }}"
eteindre_non: "{{ 'NON_' ~ context.id }}"
eteindre_redemander: "{{ 'REASK_' ~ context.id }}"
- action: notify.mobile_app_sm_a536b
metadata: {}
data:
message: Lumière allumée depuis 15 minutes, dois-je éteindre ?
data:
ttl: 0
priority: high
actions:
- action: "{{ eteindre_oui }}"
title: Oui
- action: "{{ eteindre_non }}"
title: Non
- action: "{{ eteindre_redemander }}"
title: Redemander
- wait_for_trigger:
- platform: event
event_type: mobile_app_notification_action
event_data:
action: "{{ eteindre_oui }}"
- platform: event
event_type: mobile_app_notification_action
event_data:
action: "{{ eteindre_non }}"
- platform: event
event_type: mobile_app_notification_action
event_data:
action: "{{ eteindre_redemander }}"
timeout:
hours: 0
minutes: 3
seconds: 0
milliseconds: 0
continue_on_timeout: true
- choose:
- conditions:
- condition: template
value_template: "{{ wait.trigger.event.data.action == eteindre_oui }}"
sequence:
- action: switch.turn_off
metadata: {}
data: {}
target:
entity_id:
- switch.lumiere_est
- switch.lumiere_parking
- switch.lumiere_so
- action: input_boolean.turn_off
target:
entity_id: input_boolean.eclairage_auto_ext
data: {}
alias: Si la réponse est OUI
- conditions:
- condition: template
value_template: "{{ wait.trigger.event.data.action == eteindre_non }}"
sequence:
- action: notify.mobile_app_sm_a536b
metadata: {}
data:
message: OK, ne pas oublier d'éteindre manuellement
data:
ttl: 0
riority: high
alias: Si la réponse est NON
- conditions:
- condition: template
value_template: >-
{{ wait.trigger.event.data.action ==
eteindre_redemander }}
sequence:
- action: notify.mobile_app_sm_a536b
metadata: {}
data:
message: OK, je redemande dans 15 minutes
data:
ttl: 0
riority: high
alias: Si la réponse est REDEMANDER
default:
- action: notify.mobile_app_sm_a536b
metadata: {}
data:
message: Réponse non reçue, je redemande dans 15 minutes
- conditions:
- condition: and
conditions:
- condition: trigger
id:
- zone
- condition: sun
after: sunset
after_offset: "00:30:00"
before: sunrise
before_offset: "00:30:00"
sequence:
- action: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.lumiere_parking
- action: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.lumiere_est
- action: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.lumiere_so
- action: input_boolean.turn_on
target:
entity_id: input_boolean.eclairage_auto_ext
data: {}
alias: Si entrée dans la zone pendant la nuit
- conditions:
- condition: trigger
id:
- extinction
sequence:
- action: switch.turn_off
metadata: {}
data: {}
target:
entity_id:
- switch.lumiere_est
- switch.lumiere_parking
- action: input_boolean.turn_off
target:
entity_id: input_boolean.eclairage_auto_ext
data: {}
mode: restart