Fiabilité d'un Automatisme sur detecteur d'ouverture

Bonjour,

Je cherche à allumer une lumière lorsqu’une porte est ouverte, et à eteindre la lumière lorsque la porte est fermée.

Mon automatisme marche la plupart du temps, mais pas tout le temps.
Parfois, j’ai le message d’erreur suivant :

Opening-activated Light: Error executing script. Error for call_service at pos 4: Failed to send request: Request failed after 5 attempts: <Status.MAC_NO_ACK: 233>

Et quand cela arrive, mes lumières restent allumés, même quand la porte est fermée.
Alors, vous allez me dire que j’ai un problème de signal zigbee. Peut être, mais même en rapprochant tous les composants à proximité du récepteur, ca arrive quand même.
Et cela m’arrive aussi en mode manuel. Parfois, et pendant une durée indéfini, certains appareils deviennent « inaccessible ». Et puis ils reviennent, sans rien faire. Ca tombe en panne, ca tombe en marche de manière aléatoire.

Voici le code de mon automatisme :

alias: Opening-activated Light
description: ""
use_blueprint:
  path: home-assistant/Opening_light2.yaml
  input:
    motion_entity: binary_sensor.lumi_lumi_sensor_magnet_aq2_d9c8e406_on_off
    light_target:
      entity_id:
        - light.sonoff_01minizb_f6f4b626_on_off
        - light.tz3000_mx3vgyea_ts000f_236081a4_on_off
        - light.tz3000_mx3vgyea_ts000f_light
    no_motion_wait: 0

et le code du blueprint :

blueprint:
  name: Opening-activated Light
  description: Turn on a light when motion is detected.
  domain: automation
  source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/motion_light.yaml
  input:
    motion_entity:
      name: Opening Sensor
      selector:
        entity:
          domain: binary_sensor
          device_class: opening
    light_target:
      name: Light
      selector:
        target:
          entity:
            domain: light
    no_motion_wait:
      name: Wait time
      description: Time to leave the light on after last motion is detected.
      default: 120
      selector:
        number:
          min: 0.0
          max: 3600.0
          unit_of_measurement: seconds
          mode: slider
          step: 1.0
mode: restart
max_exceeded: silent
trigger:
  platform: state
  entity_id: !input 'motion_entity'
  from: 'off'
  to: 'on'
action:
- alias: Turn on the light
  service: light.turn_on
  target: !input 'light_target'
- alias: Wait until there is no motion from device
  wait_for_trigger:
    platform: state
    entity_id: !input 'motion_entity'
    from: 'on'
    to: 'off'
- alias: Wait the number of seconds that has been set
  delay: !input 'no_motion_wait'
- alias: Turn off the light
  service: light.turn_off
  target: !input 'light_target

Et voici ma configuration :

System Information

version core-2023.10.5
installation_type Home Assistant Container
dev false
hassio false
docker true
user root
virtualenv false
python_version 3.11.5
os_name Linux
os_version 4.4.180+
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 5000
Installed Version 1.28.3
Stage null
Available Repositories 1316
Downloaded Repositories 3
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Dashboards
dashboards 3
resources 0
views 3
mode storage
Recorder
oldest_recorder_run 29 octobre 2023 à 08:35
current_recorder_run 29 octobre 2023 à 09:35
estimated_db_size 27.39 MiB
database_engine sqlite
database_version 3.41.2
Sonoff
version 3.5.3 (a8c6d45)
cloud_online 0 / 0
local_online 0 / 0

Salut,

J’ai corrigé la forme de ton message : à la place des balises center, j’ai mis les bases code </> parce que sinon c’est pas lisible.
Concernant ton souci, il essaye d’appeler un service ( light.turn_on ou light.turn_off) sans succès 5 fois de suite.

Quel type de lumière ? N’as-tu pas un souci de réception

Oui, merci pour les corrections. J’ai essayé également de faire les mêmes.

J’ai certainement un problème de réception, mais je ne sais pas non plus comment le résoudre.
Dans un premier temps, j’aimerais que mon automatisme ne plante pas lorsqu’une lumière est inaccessible, puisse éteindre les autres lumières quand même.
Dans un second temps, et dans l’idéal, ce serait bien qu’il éteigne la lumière quand elle redevient accessible.

Salut,

à ta place mais il y a peut-être mieux, je créerais un switch virtuel pour chaque lampe connectée.
L’automation piloterait ces 3 switches et pas directement les lampes.
Ensuite je ferai une automation par lampe qui réagisse sur le changement d’état du switch virtuel et agisse sur la lampe en conséquence.
Ainsi, il ne pourrait pas y avoir d’erreur sur l’automation principale.
Et tu pourrais lancer tous les x temps les automations de mise à jour de la lampe pour qu’elles appliquent en permanence la consigne donnée par ton automation principale. Ainsi tu serais certain que la consigne soit appliquée quand les périphériques sont de nouveau dispo.

Personnellement avant d’essayer de compenser par des actions logiciels, j’essayerai de voir à trouver la cause du défaut.
Si ce sont des lampes zigbee, en ajoutant du maillage par exemple. Un répéteur pour le wifi etc…
Bref traiter les symptômes c’est jamais viable sur le long terme

3 « J'aime »

Oui c’est vrai. C’était juste un contournement en attendant mieux.

Ce sont des interrupteurs Zigbee qui pilote les lampes. J’ai trois interrupteurs zigbee pour le moment. J’attends de recevoir deux autres prises zigbee pour continuer à développer le maillage.
Mais ce qui me dérange le plus, c’est de comprendre le fonctionnement. Je ne comprends pas pourquoi parfois ca marche, et parfois ca ne marche plus pendant plusieurs heures. Puis ca revient…
D’ailleurs, la plupart du temps, j’arrive à éteindre la lumière tout de suite derrière quand je m’apercois que les lumières n’ont pas été éteintes. Et la plupart du temps, ca marche (mais pas tout le temps).
En fait, même l’interrupteur qui est dans la pièce à coté du recépteur se trouve parfois « indisponible ». C’est quand même particulièrement capricieux ce réseau zigbee, non ?
Bref, coté maillage, je vais rajouter deux composants zigbee.
N’est-il pas possible d’augmenter le nombre de tentative (possible de passer à 10 ou 20 tentatives avant erreur ?)
Et en attendant, je vais regarder comme créer des switchs virtuels.

Bj

alors pour faire suite a tes soucis , a tu regardé le canal du zigbee que tu as choisis ??

Car si tu es sur le 11 par exemple , celui ci est perturbé par ton wifi , ou celui de ton voisin par exemple…

Ta clé tu l’a mis sur une petite rallonge ?
comme le dit @Pulpy-Luke , regarde le souci matériel , donc cle zigbee,
donne nous les infos de ton matos , pi , promox, x64-x86 , il se peux que tu es une interférence a cause de ton simple matos .

un usb3 pose souvent des soucis par exemple.

Tes piles sont bien OK , car même si cela indique 100% il se peux qu’elle soit faible …

pour ce qui du canal , regarde en bas du tuto

Salut

La couverture du réseau dépends de plein de choses et n’est jamais constante. Les obstacles, les interférence, la charge. Tout ça fait que tu n’as jamais la même efficacité dans la journée.

Si comme tu le dis ça ne fonctionne pas pendant plusieurs heures, en plus de ne pas être possible sauf à réécrirele blueprint, ça ne changera rien : les tentatives sont consécutives donc probablement toutes pendant quelques secondes

Merci pour vos messages.

Concernant le canal utilisé, je suis sur le 15 et en mode auto

Concernant le materiel, j’ai un dongle Zigbee USB Zonoff 3.0. Je n’ai pas utilisé de rallonge USB. J’ai installé HomeAssistant sur mon NAS Synology dans un conteneur docker.

Je n’ai encore pas complètement résolu mon problème de fiabilité, mais depuis que je ne commande pas en même temps les 3 lumières, mais sur 3 automatismes differents, j’ai beaucoup moins d’erreur. Seulement 2 erreurs en 10 jours, alors que j’en avais 50 sur un mois avant.
Je me demande si le fait d’avoir 3 automatismes differents fait que les commandes ne sont pas envoyées en même temps sur le réseau Zigbee. Du coup, se trouvant moins chargé, le réseau fonctionnerait mieux… ??
A suivre.

Du coup, après plusieurs semaines d’essais, j’ai obtenu un système très stable qui fonctionne bien.
Voici les modifications depuis le début du post :

  • J’ai acheté deux appareils zigbee supplémentaire pour augmenter mon maillage
  • J’ai différencier les automatismes pour éviter qu’un ordre d’allumer ou d’eteindre les lumières ne soient lancés en même temps. (J’ai mis un latence de 1s et 2s en fonction de l’automatisme)

En espérant que cela puisse donner des idées à d’autres utilisateurs qui rencontrerait le même problème.
Merci à toute la communauté pour leur aide !