Tuto LD2410 - Détecteur de présence avec ESPHome

Ca ne fonctionne pas :S
Ca pourrait venir du matériel ? Du flash ? autre ?

Je me demande si ça ne vient pas du flash du wemos S2 mini.
@lacrima08 comment as tu flashé ton wemos S2 mini ?

@lacrima08 a partager sa config pour le S2 MINI.

ld2410:
 
uart:
  tx_pin: GPIO16
  rx_pin: GPIO33
  baud_rate: 256000
  parity: NONE
  stop_bits: 1
1 « J'aime »

Yes je l’avais reprise justement mais ça ne fonctionne pas

Tu peu regarder ce post Build a smaller human body radar sensor using ESP32-S2 and LD2410C - ESPHome - Home Assistant Community

verifie le montage.

uart:
  id: uart1
  tx_pin: GPIO18
  rx_pin: GPIO33
  baud_rate: 256000
  parity: NONE
  stop_bits: 1

il y a une histoire de croiser le TX et RX, ce qui a l’air bon dans son code.

1 « J'aime »

Salut,
Les ‹ gate › représentent des distances par pas de 0.75 m. Chaque config de gate (0 → 8) permet de definir la sensibilité (mouvement / presence) au dela de laquelle la zone est considéré comme occupé.
En gros, on peut imaginer ne pas detecter la présence proche du capteur et mettre les seuils à 100 pour les gate 0->4 et baisser les seuils pour les gate suivantes, ou l’inverse. Le mode ‹ ingenierie › permet de voir les valeurs pour un config optimale.
En espérant que cela soit plus clair…

2 « J'aime »

Salut,
merci pour ces explications des gates que j’avais pas bien compris.
Peut on différencier un humain , d’un animal avec le ld2410 ?

Bonne question :wink:
Si l’idée est de déclencher sur présence d’un humain et pas d’un animal, peut être en jouant sur les seuils. (ie un animal ne devrait pas avoir la même ‹ signature › qu’un humain). Nativement il n’y a pas de differentiation.
C’est intéressant à creuser, mais necessite du temps de config (essai/erreur) et un animal disposé à jouer les cobayes !

je l’ai branché en USB sur le NUC qui héberge HAOS et le 1er flash a donc été fait en USB, les suivants en wifi

Oui, je te remercie, c’est un peu plus clair, ça devrait donc permettre de configurer des « zones » de détection de 75cm de « largeur » en quelque sorte

1 « J'aime »

Peut être avec les variables " d’énergie " ? j’avoue que ça aussi c’est un peu obscur pour moi


J’ai été pas mal embêté avec des détections à tort aussi.

Je croyais que c’était à cause du sensor BH1750 que j’avais voulu ajouter, mais après plusieurs jours de tests, il s’avère que ça vient du boitier que j’ai acheté … du coup, j’ai du sortir le circuit.

Il faudra que je réessaie de remettre le BH1750

Bonsoir,

Je vois que je ne suis pas le seul à avoir des fausses detections à cause d’un élément extérieur. Dans mon cas j’ai 3 détecteurs avec des Ld2410, deux sont avec des ESP S2 Mini et boîtier abs imprimé en 3d avec seulement un ld2410. Pour ceux-ci pas de problème.

Le dernier qui pose problème est dans un boîtier ikea vindriktning où j’ai également raccordé le Sensor pm 2.5. Celui la est un ESP D1 Mini et j’ai des fausses detections d’une à deux secondes. Pour palier à ce problème j’utilise la valeur Still Energy qui elle ne donne pas de fausse valeur. Mais je ne sais pas si les perturbations viennent du boîtier, des autres éléments électroniques se trouvant à l’intérieur ou des ondes/parasites d’appareils à proximité. Je n’ai pas encore eu le temps de faire des tests…

Tu pense que ce qui posait tes problèmes venait du boîtier ? De quelle matière était-il ?

@+

@Julien83 Salut !

C’est un boîtier que j’avais acheté sur Aliexpress, car je n’ai pas d’imprimante 3d. D’après la fiche produit il serait en ABS.

En cherchant sur le net, je vois que la plupart de ceux qui ont imprimé eux même leur boîtier l’ont fait en PLA, je me demande si la matière du plastique n’aurait pas un impact.

J’ai remis mon bh1750 en service vers minuit avant de me coucher et je n’ai pas eu de fausse détection (j’avais supposé à un moment, avant d’incriminer le boîtier, que cela puisse être lié au capteur, que j’aurais pu avoir câblé sur un mauvais pin, et que le fait qu’il se réactualise, créée un genre de conflit mais manifestement si je me base sur les données de cette nuit, ce n’est pas ça.

Donc pour mon cas, ça confirme que ça vient bien du boîtier

Le couvercle est bombé, et un poil trop « épais » ou « haut », est ce que mes fake détections sont liées à ça, je me suis posé la question

J’utilise un S2 Mini avec un LD2410C embroché, je n’ai pas voulu le souder comme dans la vidéo des frères Poulain, dans le, optique de reconvertir un jour le S2 Mini au cas où… Et là, en l’occurrence, le LD2410 sera remplacé par un LD2450 dans quelques semaines

Attention après vérification de ton code il semblerais que les GPIO ne soit pas bon car normalement le PIN 16 est utiliser pour le partie présence on/off

je pense qu’il faut modifier et indiquer plutôt que le GPIO16 et remplacer par le GPIO18 pour un S2 mini

1 « J'aime »

Bonjour, j’ai fini mon programme, mon montage final et intégration dans mes WC.
J’ai enfin trouvé un emplacement simple au final pour éviter les perturbations de la VMC (idem avec un SNZB06P), au dessus de l’interrupteur en créant une nouvelle boite encastrement, me permettant d’intégrer mon module alimentation 220V/usb et de cacher mon LD2410 et mon wemos.

Le résultat est top, le fonctionnement aussi, à ceci près, que j’aimerais que la présence se désactive plus rapidement, dès que je quitte la pièce, le temps que le still_energy chute à une valeur que je maitrise pas (actuellement 10%) ca prend environ de 15 sec à 25 sec.
J’ai essayé de comprendre le fonctionnement des gates mais je ne comprends pas tout.

esphome:
  name: "presence-wc"
  friendly_name: Presence WC

esp32:
  board: esp32-s2-saola-1
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "XXXXXX"

ota:
  password: "XXXXX"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

    # Optional manual IP
  manual_ip:
    static_ip: 192.168.1.125
    gateway: 192.168.1.1
    subnet: 255.255.255.0

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Motion-Wc Fallback Hotspot"
    password: "Cm2WbhC0QgrK"

captive_portal:

web_server:
  port: 80

uart:
  tx_pin: GPIO18
  rx_pin: GPIO33
  baud_rate: 256000
  id: uart_1
  parity: NONE
  stop_bits: 1

ld2410:
  - uart_id: uart_1

sensor:
  - platform: ld2410
    light: #intensité lumineuse
      name: light
    moving_distance: #distance cible en mouvement
      name : Moving Distance
    still_distance: #distance cible immobile
      name: Still Distance
    moving_energy: #quantité de mouvement
      name: Move Energy
    still_energy: #quantité d'immobilité ??
      name: Still Energy
    detection_distance: #distance de détection
      name: Detection Distance
    g0:
      move_energy:
        name: g0 move energy
      still_energy:
        name: g0 still energy

binary_sensor:
  - platform: ld2410
    has_target: #Présence
      name: Presence
    has_moving_target: #Cible mobile
      name: Moving Target
    has_still_target: #Cible immobile
      name: Still Target

switch:
  - platform: ld2410
    engineering_mode:
      name: "engineering mode"

button:
  - platform: ld2410
    restart:
      name: "ld2410 restart"

text_sensor:
  - platform: ld2410
    version:
      name: "ld2410 firmware version"

number:
  - platform: ld2410
    timeout: #Temps pour passer le binary sensor Présence à faux
      name: timeout
    light_threshold: #Seuil de lumière
      name: light threshold
    max_move_distance_gate: #Distance de détection du mouvemenet 2-8
      name: max move distance gate
    max_still_distance_gate: #Distance de détection d'immobilité 2-8
      name: max still distance gate
    g0:
      move_threshold:
        name: g0 move threshold
      still_threshold:
        name: g0 still threshold

Ma question est comment avoir un number still_energy qui agit sur le binary_sensor_presence ?

Par défaut le timeout = 5 sec

Que tu peux modifier avec la config:

number:
  - platform: ld2410
    timeout:
      name: timeout

et pourquoi te basé sur le still_energy ?

Tu devrais plutôt utilisé le binary_sensor « présence »

As tu fait la procédure de calibration:

Calibration Process

In order to calibrate your ld2410 sensor perform the following:

  1. Enable engineering mode.
  2. Monitor the gX_move_energy and gX_still_energy sensors.
  3. Change the thresholds and repeat step 2 until satisfaction.
  4. Disable engineering mode.
1 « J'aime »

Comme le dit @barto_95
Utilise l’entité présence on/off et mets le timeout a 2s.

Merci pour vos retours , j’avais rajouté la card de calibration mais sans trop comprendre, d’ailleurs c’est encore le cas :joy:
Pour résumé ce que je cherche à faire, quand on est immobile aux toilettes, ca détecte bien notre présence à un still de 100 quelque soit le temps qu’on y reste.
Quand on se lève et on part, le moving se désactive en 5sec mais le skill lui descend de 100% à 10% en 20 sec et c’est à ce moment là seulement que le binary présence se désactive.
Voici un graph pour mieux comprendre. Donc je cherche à changer le level du skill target à 50% pour désactiver la présence le plus vite possible pour éteindre la lumière.

Bonjour
J’ai le même montage que toi avec un S2 mini et un LD2410. mais je ne trouve pas le fonctionnement présence top.
lorsque je reste immobile (devant le TV), capteur à environ 2m sans obstacle, la présence passe sur non détectée. as tu constaté ce problème? qui est identique sur les 2 capteurs que j’ai soudé

Bonsoir,

Peut etre la configuration des pins pour l’UART /

Bien verifier aussi que les RX et TX soient bien cablés en inverse
RX du LD24xx sur TX Wemos
TX du LD24xx sur RX Wemos

Pour ma part j’ai suivi le tuto des Frères Poulain et ça fonctionne