Mes premières automatisations

Mon problème

Bonjour à tous, je débute dans la domotique et après un rapide passage sur Jeedom, je suis passé à Home Assistant que je trouve beaucoup plus moderne.

Je commence tout doucement à prendre en main la bête et je me suis décidé à faire ma première automatisation !

Pour la première je tente quelque chose qui me semble abordable mais j’ai quelques interrogations.

Je souhaite effectuer le démarrage de mon aspirateur robot entre 16h et 18h quand personne n’est à la maison.

Voici la configuration que j’ai créé via l’interface UI :

Et au format YAML :

alias: Démarrer l'aspirateur
description: ''
trigger:
  - platform: time
    at: '16:00'
condition:
  - condition: device
    device_id: 54bf8e32640e723fc204ca337cea08d8
    domain: device_tracker
    entity_id: device_tracker.oneplus_6t_2
    type: is_not_home
  - condition: device
    device_id: f7d84024c07396074c2937058bdcbb3f
    domain: device_tracker
    entity_id: device_tracker.huawei_p30_9763ffd2e38a98
    type: is_not_home
  - condition: time
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
      - sat
      - sun
    after: '16:00'
    before: '18:00'
action:
  - service: vacuum.start
    target:
      entity_id: vacuum.rockrobo_vacuum_v1
mode: single

Comme vous pouvez le voir je me base sur la présence ou non de mon téléphone et de celui de ma compagne sur le réseau Wifi.

Mais j’ai un doute sur le déclencheur, j’ai indiqué un type heure à 16h00.

Si je comprends bien il va exécuter la tâche uniquement à 16h ? Si quelqu’un est présent pas de lancement ?
Mais si à 17h les deux sont absents va il rejouer la tâche ? Ou alors je n’utilise pas le bon déclencheur ?

Merci de votre aide :blush:

Salut,

Plutot que le heure, pourquoi tu n’exploite pas la présence ou non des télephones ? Là au moins tu es certain que l’évenement ‹ not home › sera bien envoyé, peu importe l’heure. Reste à tester que c’est bien entre 16 et 18 et voilà

Effectivement c’est peut être mieux d’utiliser le déclencheur équipement ?

Mais on est d’accord qu’un déclencheur c’est l’un ou l’autre ?

Dans mon cas ça veut dire que si je suis absent mais que ma compagne est présente entre 16h et 18h il va déclencher l’aspirateur ?

Je pense qu’il y a assez simple à faire:

  • Tu créer un groupe avec les 2 personnes liées aux telephones
touslesoccupants:
  name: Tous les occupants
  entities:
    - person.bob
    - person.alice
  • trigger : touslesoccupants = ‹ not home › ou ‹ away › (il faut confirmer la syntaxe)

Comme ça pas besoin de gérer le ET logique…

Ah oui je vois, ou sinon je pense que ça marche aussi :

Trigger :
When person 1 not home
When person 2 not home

Condition :
Between 16h and 18h
Person 1 not home
Person 2 not home

À la différence des Trigger qui sont des OR es conditions sont des AND si j’ai bien compris…

Mais en effet un groupe me paraît plus simple :blush:

oui l’idée est la même

De base, oui. Mais tu peux mettre des opérateurs dans les conditions

Un peu, et c’est surtout plus intéressant car c’est probablement un truc que tu va réutiliser dans d’autres automatisations

Super merci de ta réponse :blush::ok_hand:

Une dernière petite question la condition « home not_home » se base uniquement sur la présence du portable de la personne sur le réseau wifi ?

Je pose cette question car par moment celui de ma compagne passe en inactif lorsque son écran est verrouillé pendant un certain temps (Huawei)

Non, tu peux assigner plusieurs devices pour determiner la présence d’une personne : wifi, bluetooth, gps …

Regarde si tu n’as pas une option d’économomie d’énergie qui coupe le wifi

Je viens d’essayer comme tu me l’a indiqué :

occupants:
  name: Occupants
  entities:
    - person.name
    - person.name
- id: '1641306929046'
  alias: Démarrer l'aspirateur
  description: ''
  trigger:
  - platform: state
    entity_id: group.occupants
    from: home
    to: not_home
  condition:
  - condition: time
    weekday:
    - mon
    - tue
    - wed
    - thu
    - fri
    - sat
    - sun
    after: '16:00'
    before: '18:00'
  - condition: device
    device_id: 54bf8e32640e723fc204ca337cea08d8
    domain: device_tracker
    entity_id: device_tracker.oneplus_6t_2
    type: is_not_home
  - condition: device
    device_id: f7d84024c07396074c2937058bdcbb3f
    domain: device_tracker
    entity_id: device_tracker.huawei_p30_9763ffd2e38a98
    type: is_not_home
  action:
  - service: vacuum.start
    target:
      entity_id: vacuum.rockrobo_vacuum_v1
  mode: single

image
image
image

Ca te semble correct ?
On est d’accord que si je lance l’automatisation manuellement il démarre quand même l’aspirateur car la c’est le cas et je me demande si c’est normal

Je suis pas un grand spécialiste des automatisations en yaml, je fais du NR.
Mais ça ne me parait pas déconnant que ça fonctionne quand même avec un lancement manuel… A la main, on bypass le trigger et c’est lui qui contient les conditions …

Coté syntaxe je pense qu’il y a truc à virer :

  - condition: device
    device_id: 54bf8e32640e723fc204ca337cea08d8
    domain: device_tracker
    entity_id: device_tracker.oneplus_6t_2
    type: is_not_home
  - condition: device
    device_id: f7d84024c07396074c2937058bdcbb3f
    domain: device_tracker
    entity_id: device_tracker.huawei_p30_9763ffd2e38a98
    type: is_not_home

Normalement, ça c’est déjà valable puisque le groupe est passé à not_home

Qu’est ce que tu appelle NR ?

NodeRed
https://forum.hacf.fr/t/debuter-avec-node-red/334

ça à l’air un peu compliqué, je vais me pencher quand même la dessus :smiley:

Merci :slight_smile: