Automatisation armement alarme selon plusieurs critères ne fonctionne pas

Bonsoir, j’ai créé une automatisation pour armer automatiquement l’alarme selon plusieurs cas.
SI
1/ Je verrouille la porte avec la serrure connectée
OU
2/ Les téléphones ne sont pas à domicile (Ca c’est si on oublie de verrouiller avec la serrure connectée (Et oui ca arrive)
ET
3A/ Les chiens sont à la maison (J’ai 2 nut mini sur les colliers) ou l’un ou l’autre est présents
L’alarme passe en mode présence
3B/ Les chiens ne sont pas là ni l’un ni l’autre
L’alame passe en mode Absence totale

Mon problème

1 Lorsque je verrouille sa serrure en fonction de la presence des chiens ou non l’alarme se met en route sur le bon mode et ce, indépendamment de la presence ou non des téléphones à la maison (Remarque on s’en fou puisque si on verrouille c’est qu’il n’y a personne à la maison)

2 C’est avec les téléphones que ca déconne car ce que je souhaiterais c’est que losrqu’un téléphone est hors domocile et que le second part, en fonction de la présence des chiens ou non, l’alarme se mette en route dans le bon mode.
Actuellement avec un téléphone à la maison et l’autre quand il sort de la zone l’alrme se met en route. Alors qu’elle ne devrait pas puis que je ne le veux que si les 2 ne sont pas à domicile

Je vous joint le Yaml de mon automatisation

alias: Test arment alarme
description: "Armement automatique de l’alarme"
trigger:
  - platform: state
    entity_id:
      - lock.porte_entree
    to: locked
  - platform: zone
    entity_id: device_tracker.Telephone1
    zone: zone.a_domicile
    event: leave
  - platform: zone
    entity_id: device_tracker.Telephone2
    zone: zone.a_domicile
    event: leave
condition: []
action:
  - if:
      - condition: or
        conditions:
          - condition: and
            conditions:
              - condition: or
                conditions:
                  - condition: state
                    entity_id: lock.porte_entree
                    state: locked
                  - condition: not
                    conditions:
                      - condition: zone
                        entity_id: device_tracker.telephone1
                        zone: zone.a_domicile
                      - condition: zone
                        entity_id: device_tracker.Telephone2
                        zone: zone.a_domicile
              - condition: and
                conditions:
                  - condition: state
                    entity_id: device_tracker.ble_Chien1
                    state: not_home
                  - condition: state
                    entity_id: device_tracker.ble_Chien2
                    state: not_home
    then:
      - device_id: c3a1f290b27b903ceb8b4709c7bfe3f4
        domain: alarm_control_panel
        entity_id: alarm_control_panel.alarme
        type: arm_away
    else:
      - device_id: c3a1f290b27b903ceb8b4709c7bfe3f4
        domain: alarm_control_panel
        entity_id: alarm_control_panel.alarme
        type: arm_home
mode: single

Merci par avance pour votre aide car je débute et commence à me familiariser avec HA mais j’avoue que les automatisations un peut moins simples me posent des problèmes. J’ai du mal à visualiser le cheminement.

@+ Martial

Ma configuration


System Information

version core-2022.11.5
installation_type Home Assistant Supervised
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.10.7
os_name Linux
os_version 5.10.0-19-amd64
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4955
Installed Version 1.28.4
Stage running
Available Repositories 1157
Downloaded Repositories 6
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Debian GNU/Linux 11 (bullseye)
update_channel stable
supervisor_version supervisor-2022.11.2
agent_version 1.3.0
docker_version 20.10.21
disk_total 115.9 GB
disk_used 26.3 GB
healthy true
supported true
supervisor_api ok
version_api ok
installed_addons Mosquitto broker (6.1.3), Zigbee2MQTT (1.28.4-1), File editor (5.4.2), Duck DNS (1.15.0), Node-RED (13.5.3), Ring-MQTT with Video Streaming (5.0.5)
Dashboards
dashboards 4
resources 1
views 27
mode storage
Recorder
oldest_recorder_run 23 novembre 2022 à 18:23
current_recorder_run 30 novembre 2022 à 21:51
estimated_db_size 5850.36 MiB
database_engine sqlite
database_version 3.38.5
___

Dans ton trigger pourquoi utiliser la notion de zone pour chaque téléphone

l’information qui t’intéresse (de ce que j’ai compris) est de savoir si oui ou non il y a quelqu’un donc

maison = 0 personne on active
maison > 0 il y a au moins un personne on active pas l’alarme

tu peut utiliser le sensor « zone.home » qui va t’indiquer combien de « personne » sont dans la maison, (pour les chiens tu pourrais créer une personne pour chacun des chiens dans HA et leur affecter comme device tracker leur propre nut), cela permettra à HA de savoir combien de personne sont dans la maison

Je pense que tu devrait aussi partir sur les automatisations en mode Choose (qui permet de faire plusieurs automatisation avec des ET/OU etc…

Aussi utiliser les traces dans ton automatisation pour verifier ce qu’il a « match » et pourquoi (ce qui permettra que tu comprenne pourquoi il a fait tel ou tel choix

salut barto_95,

Merci pour ta réponse

Je n’utillise pas la zone maisn par défaut d’HA car elle couvre un trop grande superfice. C’est pour cela que j’ai créer une zone « A domicile » bien plus restreinte. De plus cette zone me sert à déclencher quelques automatisations lorsque je rentre chez moi (Lumières en particulier) et donc elles s’allument lorsque je suis tout près de la maison.

Apres pour tout le reste de ce que tu dis, je vais me pencher là dessus mêm si j’ai pas tout compris.

@+ Martial

Lol

pas de pb tu doit donc avoir un sensor qui se doit s’appeller :
zone.a_domicile

regarde dans la partie outils de développement pour connaitre le résultat du sensor

oui en relisant ton précédent post, j’ai compris la manière dont tu gérait les presence et absence.
Je n’avais pas pensé à crer des personnes pour les chiens, ce qui en fait facilite grandement les choses.

Si la zone domicile n’est pas vide alors mode presence pour l’alarme sinon mode absence
Effectivement, vu comme cela c’est bien plus simple.

Merci

Je pense aussi que se sera plus simple car sinon c’est un casse tête loool

Tiens nous au courant :+1::slightly_smiling_face:

oui car en fait les combinaisons sont multiples entre les personens présentent ou non et les chiens présents ou non, une personne présente et pas l’autre, un chien ou pas l’autre, bref, je vais réfléchir avec tes conseils et je ne manquerai pas de poster ma ou mes trouvailles si ca peut aider.

Alors c’est possible aussi avec ta manière mais ton script/automations serais très très long car trop de conditions possible après pour debug c’est compliquer lol

Pour commencé, j’ai redéfini dans le fichier config yaml, le radius de la zone home pour qu’elle colle au rayon que je souhaite… Visiblement c’est OK

Pour l’automatisation je souhaite faire comme çà :

Déclencheurs
1 Ma serrure qui passe e nverrouillée
2 Ma zone Home qui passe en dessous de 1

Conditions
Rien

Actions
SI ma serrure passe en verrouillée
ET Zone Home passe en dessous de 1
ALORS Alarme En mode Absence
SINON Alarme En mode presence

 SI telephone1 ou telephone 2 sont dans la zone home
 ALORS stop car il y a qqu'un à la maison (Personne phisyque)
 SINON
 SI Zone Home Passe en dessous de 1
  ALORS Alarme mode Absence
  SINON Alarme mode presence

Là je pense que ca devrait fonctionner comme je le souahite

dans ton explications il y a une erreur le action c’est des conditions:

si ta serrure et locked il te faut une conditions zone.home = 0 alors en action alarme mode absence sinon alarm mode absence

1 « J'aime »

point sur l’avancée de mes automatisations:

Comme tu t’en doute, cela n’a pas été simple car entre :

  • la présence ou non des humains seul ou les 2 et celles des chiens avec la même problématique qui détermine le mode d’alarme
  • Le fait d’armer l’alarme lorsque l’on verrouille la porte avec la serrure connectée
  • Le fait quela porte se verrouille et l’alarme se mette en route lorsque les 2 humains sortent de la zone

Je ne m’en sortais pas et rien n’était fonctionnel car les conditions étaient aussi des déclencheurs bref…
Le mode nombre de personne présentes n’a pas été concluant non plus car il ne faisait pas la différence de savoir si c’était les chiens qui était présent ou les humains donc si un humain était présent et que l’on verouillait la porte l’alarme se mettait quant meme en route en mmode absence donc pas top.

Du j’ai pris le problème autrement :
Si on verrouille la porte avec la serrure connectée :
une automatisation arme l’alarme si au moins un humain est hors zone et met le bon mode selon que les chiens soit là ou non.

Si on part en oubliant de verrouiller la porte :
Une automatisation se met en route lorsque les 2 humains sont hors zone et que la porte est non verrouillée. Du coup ca lance le verrouillage de la porte qui appelle donc l’automatisation précédente .

Ainsi c’est fonctionnel.

Maintenant resge plus qu’à bosser sur la taille de la zone pour que ce soit assez réactif et que ca ne prenne pas des plombes pour la seconde automatisation tou en tenant compte de l’automatisation de retour à la maison qui désarme l’alarme et allume certaine lumière. En effet, si zone trop petite, je suis rentrée avant d’être détecté et si trop grande le verrouillage de la porte et l’armement de l’alarme est trop long.

je continue à bosser…
Merci pour ton aide en tout cas. J’ai découvert plein de trucs sympas.

alors tu peut aussi créer un sensor pour savoir combien de device-tracker sont dans la zone et dédier lors de ces calcule seulement au device-tracker de tes chiens

pour cela il faut passer par les templates :

tu peut aussi utiliser un mode de detection plus rapide mais avec certain inconvénient.

si tu affecte des ip a tes devices (humains) sur ton wifi et que vous êtes toujours en wifi chez toi alors, tu pourrais utiliser l’intégration ping, qui permet de faire des ping (réseau) pour verifier si le device est tj dans la réseau, si jamais tu ne ping plus c’est parce que tu et plus connecter au wifi de chez toi, et donc prendre en compte que tu a quitter le domicile, mais attention a rajouter des conditions si jamais tu désactiver le wifi alors que tes chez toi ton automation va s’enclencher…

Voir même faire une automation qui détecte que sa ne ping plus et t’envoyer une notification sur les mobiles des humains et valider si il y a quelqu’un ou on dans la maison et par rapport a la réponse ton automation continue ou non

c’est companion actionnable (la doc ici) :