Problème avec automatisation YAML et service alarm_control_panel.alarm_arm_home pour Aarlo

Bonjour à tous,

Je rencontre un problème que je n’arrive pas à résoudre malgré plusieurs tentatives.

Objectif :

Je souhaite synchroniser l’état d’Alarmo avec Aarlo. Par exemple :

  • Si Alarmo passe en armed_home, je veux que l’entité Aarlo passe également en mode armed_home.

Ce qui fonctionne :

Quand je crée une automatisation via l’interface graphique Aarlo (Appareils et services), cela fonctionne parfaitement. L’action est du type :

alias: Synchro Alarmo Aarlo mode home
description: ""
triggers:
  - device_id: c52af7f8329642b188dca15a30f9e381
    domain: alarm_control_panel
    entity_id: 07544f6b036fecde5442749f56f707ba
    type: armed_home
    trigger: device
conditions: []
actions:
  - device_id: 1816a9ae98054468678860be6b8b531d
    domain: alarm_control_panel
    entity_id: a27f3a923d99f19040c54a6a16d9f993
    type: arm_home
mode: single

Ce qui ne fonctionne pas :

Quand je crée manuellement une automatisation YAML équivalente, dans l’onglet Actions, comme celle-ci :

action: 
  services: aarlo.alarm_set_mode
  target:
    entity_id: alarm_control_panel.aarlo_location_roquettes
  data:
    mode: armed_home

Il ne se passe rien. Je n’ai pas trouvé la formule magique qui permet de faire la même chose.

J’ai vraiment du mal avec le yaml. Je trouve que la syntaxe n’est pas claire et je ne trouve pas d’exemple qui pourrait m’aider sur le github de aarlo.

Vous allez me dire que j’ai trouvé une solution pour que ça fonctionne : oui, mais j’aimerais comprendre pourquoi ma façon de faire, en créant mon automatisation ne fonctionne pas.

:question: Ma question :

Quelqu’un a-t-il déjà rencontré ce problème ?
Y a-t-il une subtilité avec l’appel de ce service en YAML que je ne connais pas ?
Pourquoi Home Assistant refuse-t-il ce YAML, alors que la version graphique fonctionne ?

Merci d’avance à tous pour vos lumières ! :pray:

Salut

Bah sert toi de l’interface graphique pour créer ton automatisation.
Parce que la ta syntaxe n’est pas bonne.
De plus tu as juste une partie action dans l’automatisation que tu écris ?

1 « J'aime »

Ce qui fonctionne dans ACTION :

target:
  entity_id: alarm_control_panel.aarlo_sonnette
data: {}
action: alarm_control_panel.alarm_arm_away
1 « J'aime »

Bonjour,

merci beaucoup, ça fonctionne effectivement.

J’élargis un peu et je m’explique sur mon impression sur le yaml. Contrairement au Python, je trouve que c’est le bazar. J’ai l’impression qu’il n’y a pas de règle de syntaxe générique, que des cas particuliers.

Dans mon cas présent, je n’arrive pas à comprendre pourquoi il faut laisser les ‹ {} ›. Si je vais dans le guide HA, ici, je ne vois aucun point qui me permet de comprendre ou d’anticiper (car j’ai quand même beaucoup cherché avant de demander et même à ChatGPT qui a été nul sur ce coup).

J’ai aussi regardé le github de l’auteur de l’intégration, que je remercie pour le boulot, mais il n’y a pas non plus d’aide sur ce point.

Merci @herveaurel pour l’aide, puis-je te demander où tu as trouvé la documentation qui te permet de trouver la bonne syntaxe ?

Bonjour,

comme je le précisais, je fais justement des tests dans les outils de développement, voilà pourquoi il n’y a que cette partie du code.

La syntaxe n’est pas bonne, c’est une évidence et c’est pour ça que je suis ici.

Quand il y a {}, c’est qu’aucune option n’est utilisée. Tu peux même supprimer data: {}, ça devrais fonctionner.

quand tu choisir l’action, par défaut c’est comme telle:

tu choisis une entité

tu choisis un code:

1 « J'aime »

Merci pour l’explication. Je pensais que les {} représentaient un champs à remplir. Je les supprimais donc sur tous mes essais. Voici la raison de mes échecs.

Dans ton exemple, si je comprends bien, le code ‹ 1111 › serait le code défini pour désarmer l’alarme. C’est bien ça ?

Non, l’inverse. Un code pour activer l’alarme. Mais pas utile si tu n’utilises pas de code pour activer ton alarme.

c’est l’action alarm_control_panel.alarm_disarm pour désarmer l’alarme :

action: alarm_control_panel.alarm_disarm
target:
  entity_id: alarm_control_panel.alarmo
data:
  code: "1111"

Même dans les outils de dev/actions tu as l’interface graphique

Donc tu choisi ton action, ton entité les options éventuelles et ensuite tu peux basculer en mode yaml si tu veux voir le code

Bonjour,

c’est toujours obscur pour moi. Je me suis basé sur la doc trouvée sur le Guthub de l’intégration Aarlo. Et là, il faut aller dans le Readme Advanced pour voir les automatisations abordées.
Readme Advanced

Le service qui est indiqué pour changer l’état de la surveillance de mes caméras Arlo est :
aarlo.alarm_set_mode

C’est là que je trouve que les choses sont compliquées : comment savoir qu’il faut utiliser alarm_control_panel.alarm_disarm ?

J’aimerais bien comprendre la logique (car je suis sûr qu’il y en a une), mais elle m’échappe pour l’instant.

C’est tout simplement la commande de ha pour changer les modes d’une entité alarme.

Ok, je commence à comprendre.

Mais alors à quoi sert le service aarlo.alarm_set_mode ?

De memoire c’est pour changer les modes de fonctionnement d’activation de l’alarme. Y a pas un truc qui fait que tu peux allumer et éteindre l’alarme selon la localisation du téléphone ou un planning ?

Bonjour,

si, par l’application du téléphone. Il y a une sorte de geofencing et il est possible de créer des automatisations.

Le geofencing d’Arlo fonctionne plutôt bien. Par contre, leur logique pour faire des automatisations n’est pas user friendly. C’est pour ça que je voulais qu’Home Assistant gère tout : d’où la nécessité de pouvoir changer le mode de surveillance.

Donc ça doit être pour ça cette action

Ce sujet a été automatiquement fermé après 2 jours. Aucune réponse n’est permise dorénavant.