Automatisation par détection de mouvement

Bonsoir,

J’ai des capteur PIR snzb-03 qui commandent des éclairages comme dans les toilettes ou des placards.
a chaque reboot, si quelqu’un était dans les toilettes à ce moment, la lumière reste allumée.

je cherche à forcer l’état du capteur PIR à off toutes les 20 minutes.
si le lieu est occupé, le mouvement devant le capteur le repasse à on et il ne s’est rien passé.
si le lieu est inoccupé,

j’ai bien trouvé les déclanchements de l’automatisation, mais comment passer (une fois) l’état du capteur à off ? j’ai essayé avec ca, mais ca

alias: New automation
description: ""
trigger:
  - platform: time_pattern
    minutes: "15"
  - platform: time_pattern
    minutes: "35"
  - platform: time_pattern
    minutes: "55"
condition: []
action:
  - service: input_boolean.turn_off
    target:
      entity_id: binary_sensor.capteur_01_occupancy
    data: {}
mode: single

mais j’ai des erreurs:

Logger: homeassistant.helpers.service
Source: helpers/service.py:275
First occurred: 20:55:47 (7 occurrences)
Last logged: 21:15:00

Referenced entities binary_sensor.capteur_01_occupancy are missing or not currently available

si vous avez des idées …

Salut
C’est pas plutôt la directive a la remise de l’alimentation sur ton ampoule qui est dur on ou last ?

Non, il n’y a pas d’interrupteur dans le circuit.

Je n’ai pas parlé d’interrupteur je parlais de l’ampoule

Hello

Je pige pas trop la mécanique de ton install mais pour changer l’état d’un sensor tu peux passer par ce script

Au passage , un /20 dans le Time pattern correspond à un déclenchement toutes les 20 minutes :wink:

@+

As-tu vérifié si l’état de ton détecteur de mouvement était toujours sur On/Activé 10 ou 20 minutes après ?

De plus si ton problème ne se produit qu’au redémarrage de Home assistant il faut tester le problème à 20 minutes après le redémarrage, pas toutes les 20 minutes.

Ton déclencheur sera donc le démarrage de Home assistant. Tu attends 20 minutes Puis dans les actions, tu testes que ton capteur ne détecte pas de mouvement et si oui tu éteins ton ampoule.

alias: Eteinds WC 20 min après démarrage
description: ""
trigger:
  - platform: homeassistant
    event: start
condition: []
action:
  - delay:
      hours: 0
      minutes: 20
      seconds: 0
      milliseconds: 0
  - if:
      - condition: state
        entity_id: binary_sensor.mswc_occupancy
        state: "off"
    then:
      - service: light.turn_off
        target:
          entity_id: light.wc
        data: {}
mode: single
1 « J'aime »

Ok pour le /20, c’est plus propre!!!

1 « J'aime »

Oui, effectivement, me baser sur l’heure du dernier reboot pour tester c’est bien plus clean.
je vais tester ca.

Le contournement que tu décris permet d’éteindre les WC après un redémarrage

Mais peut être faut il se poser la question de pourquoi ils restent allumés ou pourquoi ils s’allument…

c’était je pense l’objet de la question de @ddfdom :

il peut y avoir comme il le suppose ,le réglage du pilotage de la lumière qui s’active automatiquement au redémarrage (surtout si c’est une coupure de courant).

Ca peut aussi être lié à la façon dont est fait l’allumage automatique (par exemple si tu as une « minuterie » (un delay) au bout de laquelle tu éteins la lumière)

Bref, comment est fait l’allumage / extinction automatique ?

Si à la place d’une minuterie (delay), tu utilises un timer, au redémarrage, ça va s’éteindre, même si HA a rebooté entre temps.
Il y a un exemple dans ma description, au chapitre automatisations si tu veux un exemple…

1 « J'aime »

Quand je parle de reboot, c’est un reboot volontaire, suite à une modification de configuration.yaml, pas une coupure de courant.
Certes les ampoules repassent à allumé par défaut après une coupure de courant, mais ce n’est pas mon souci, c’est assez exceptionnel, bien plus rares que les upgrades HA ou les modifications de templates.

mon sonoff n’utilise pas un timer gravé dans le marbre, je prend celui qui est « interne » de 60 secondes, auquel le timer du blueprint Blueprint HA officiel rajoute 30 secondes.

quand il y a une detection de mouvement, on enclenche le timer hardware et on allume la lampe.
si l’utilisateur bouge un tant soit peu, le mouvement reste détecté. (superficie de moins de 2m²)
si le bouzin est en train de rebooter ( proprement) avant que le capteur passe à off, il n’y a plus d’extinction, il faut attendre le prochain déclanchement pour que l’automatisation se fasse.

je vais regarder ton timer embarqué.

1 « J'aime »

@BBE J’ignorai que l’on pouvait faire des timers (même si c’est logique que ça existe dans HA). Merci pour l’info. Ça me sera forcement utile un jour prochain.

Maintenant que le problème est bien détaillé, (la lumière était déjà allumée et ne s’est pas éteinte à cause du reboot de HA pour faire une MAJ) je ne rajouterai qu’une seule chose à ma solution. 20 minutes c’est trop long pour l’extinction. Tu peux chronométrer le temps de redémarrage de HA (plus une ou deux minutes par sécurité) et mettre à jour le temps d’attente (delay) de l’automatisation. Ça sera :star_struck:

L’avantage du timer, c’est qu’au démarrage (ou au redémarrage si on le relance) il calcule le moment de sa fin et l’enregistre.

Si il y a un redémarrage de HA, HA va regarder tous les timers pour voir si un timer était actif.
Si c’est le cas, il va comparer le temps avec le moment enregistré de la fin du timer.

  • Si le timer avait dû s’arrêter durant l’extinction de HA, HA enverra l’ évènement de fin de timer immédiatement.
  • Si le timer devait s’arrêter plus tard, il reprendra comme si de rien n’était.

C’est très utile pour des durées longues. Moins pour des attentes courtes ou le risque d’interruption est plus faible.

En outre (comme je l’ai fait dans mes automatisations) on peut tester l’état du timer (actif, en pause, éteint…) et s’en servir (dans mon cas il me sert à savoir si la lumière à été allumée automatiquement ou manuellement).

Et personnellement je fais comme ça (avec des trucs en plus pour gérer l’allumage manuel):

  • 1ere automatisation: detection presence => lancement du timer et allumage de la lumière.

  • 2eme automatisation: à la fin du timer =>

    • si la piece est encore occupé => redémarrage du timer
    • si la piece est vide => extinction des lumières

Donc en cas de redémarrage de HA, ma 2eme automatisation est équivalente à ton test au reboot:

  • si le timer n’est pas fini… on continue comme si de rien
  • si le timer est fini, il trigge et on vient tester la présence…
2 « J'aime »

J’avais mis « test toutes les 20 minutes » au départ. c’était suffisant pour tout le monde à part pour mon Tanguy qui est d’un naturel constipé et apprécie la proximité de l’antenne wifi…

mais j’ai simplifié à 2 minutes après le reboot pour le test.

J’ai un timer d’1h30 pour le ventilateur dans notre chambre pour les nuits où il n’y a pas d’air…
pour qu’on puisse s’endormir sans qu’il tourne toute la nuit.
c’était surtout pour pouvoir le mettre en pause, le relancer, ou remettre le timer à 1h30.

en plus avec un input dans l’UI c’est plus simple à modifier.

1 « J'aime »