LW IT Solutions logo LW IT Solutions logo LW IT Solutions
« Blog-Übersicht /Smart Home/Tutorials / Tutorial: Radarzonen des LD2450 in ESPHome und...
Diesen Artikel in anderen Sprachen lesen:

Tutorial: Radarzonen des LD2450 in ESPHome und Home Assistant einrichten

Tutorial: Radarzonen des LD2450 in ESPHome und Home Assistant einrichten

Management Summary

Ein Radarsensor kann Aktivität am Schreibtisch vom Türbereich unterscheiden und die Beleuchtung gezielt nach Raumbereichen steuern. Der LD2450 verfolgt bis zu drei erkannte Objekte und liefert deren Positionen über ESPHome an Home Assistant. Der Beitrag erklärt, wie daraus nutzbare Zonen für die Hausautomatisierung entstehen. Erkannte Objekte sind keine verlässliche Personenzählung. Eine Ausschaltverzögerung kann kurze Erfassungslücken überbrücken, garantiert aber keine Erkennung völlig stiller Personen.

Inhalt
  1. Hardware, Koordinaten und Version
  2. Eine gültige Konfiguration für rechteckige Zonen
  3. Das Rechteck messen und dokumentieren
  4. Nachlauf und Automatisierungen
  5. Raumtests und typische Grenzen
  6. Häufige Fragen
  7. Quellen

Der LD2450 meldet die Positionen von bis zu drei Radarzielen: Objekten, die anhand reflektierter Radarsignale verfolgt werden. Rechteckige Zonen können einen Schreibtisch von einer Tür unterscheiden, sofern die Ziele zuverlässig erfasst werden. Ein Radarziel ist keine nachgewiesene Person; eine unbewegte Person kann aus der Verfolgung verschwinden. Zonenbasierte Beleuchtung benötigt deshalb Messungen und eine passende Nachlaufzeit.

Beispielrechtecke in Sensorkoordinaten. Zone 1 enthält die beispielhafte Zugabe von 200 mm; Flächen außerhalb der tatsächlichen Erfassung bleiben unbrauchbar.
Beispielrechtecke in Sensorkoordinaten. Zone 1 enthält die beispielhafte Zugabe von 200 mm; Flächen außerhalb der tatsächlichen Erfassung bleiben unbrauchbar.

Hardware, Koordinaten und Version

Der Hersteller nennt 24 GHz, maximal 6 m Erfassungsentfernung, einen horizontalen Winkel von ±60° und einen vertikalen Winkel von ±35° sowie Wandmontage. Das sind Nennwerte, keine garantierte Erfassungsgrenze für jeden Raum. Metall, Möbel, Montagewinkel und Reflexionen können das Ergebnis verändern.

Der Koordinatenursprung liegt im Radar. X beschreibt die seitliche Position und Y die Vorwärtsrichtung im Bezugssystem des Sensors, jeweils in Millimetern. Ein kurzer Laufversuch nach links und rechts klärt das Vorzeichen bei der tatsächlichen Einbaulage. Drehen oder Kippen der Platine verändert die Messgeometrie; eine Drehung um 90° entspricht nicht allgemein einem bloßen Tausch der Grundrissachsen. Nach dem Versetzen des Sensors ist eine erneute Grenzprüfung erforderlich.

Das Beispiel gilt für ESPHome 2026.10.0 und ein klassisches ESP32-Board mit verfügbaren GPIO16 und GPIO17. ESPHome verlangt LD2450-Firmware ab V2.02.23090617. Die UART-Verbindung arbeitet mit 256000 Baud, ohne Parität und mit einem Stoppbit. ESP-TX wird mit Radar-RX verbunden, ESP-RX mit Radar-TX; hinzu kommt gemeinsame Masse. Stromversorgung und Signalpegel müssen zu Modul und Board passen; die Beispiel-Pinbelegung gilt nicht universell.

Eine gültige Konfiguration für rechteckige Zonen

Das vollständige Beispiel enthält Platzhalter für WLAN-Zugangsdaten. Boardauswahl, Zugangsdaten und Sicherheitskonfiguration der Home-Assistant-API benötigen eine Anpassung an die Installation. Vorhandene Konfigurationsabschnitte werden zusammengeführt statt doppelt angelegt. Bei der Artikelprüfung wurde keine Firmware auf Hardware übertragen.

YAML
esphome:
  name: radar-zone-demo
esp32:
  board: esp32dev
  framework:
    type: esp-idf
logger:
  baud_rate: 0
api:
wifi:
  ssid: "ExampleNetwork"
  password: "ExamplePassword123"
uart:
  id: uart_radar
  tx_pin: GPIO17
  rx_pin: GPIO16
  baud_rate: 256000
  parity: NONE
  stop_bits: 1
ld2450:
  id: radar
  uart_id: uart_radar
binary_sensor:
  - platform: ld2450
    ld2450_id: radar
    has_target:
      name: "Overall presence"
  - platform: template
    id: desk_occupied
    name: "Desk occupied"
    device_class: occupancy
    lambda: |-
      if (!id(desk_count).has_state() || isnan(id(desk_count).state)) {
        return {};
      }
      return id(desk_count).state > 0;
    filters:
      - delayed_off: 20s
sensor:
  - platform: ld2450
    ld2450_id: radar
    target_1:
      x:
        name: "Target 1 X"
      y:
        name: "Target 1 Y"
    zone_1:
      target_count:
        id: desk_count
        name: "Desk target count"
number:
  - platform: ld2450
    ld2450_id: radar
    presence_timeout:
      name: "Overall presence timeout"
    zone_1:
      x1:
        name: "Zone 1 X1"
      y1:
        name: "Zone 1 Y1"
      x2:
        name: "Zone 1 X2"
      y2:
        name: "Zone 1 Y2"
select:
  - platform: ld2450
    ld2450_id: radar
    zone_type:
      name: "Hardware zone mode"
switch:
  - platform: ld2450
    ld2450_id: radar
    multi_target:
      name: "Multi-target tracking"

Die nativen Einstellungen rechteckiger Zonen heißen x1, y1, x2 und y2. Eine Option binary_sensor.zone_1.occupancy besitzt die Komponente in der geprüften Version nicht. Stattdessen berechnet eine Vorlage, das Template, aus der Zielanzahl den Zustand belegt oder unbelegt. Mindestens ein erkanntes Ziel bedeutet belegt. Fehlende oder ungültige Anfangswerte werden nicht als gemessene 0 interpretiert.

Die globale Option throttle der Komponente wurde entfernt. Numerische LD2450-Entitäten besitzen bereits Standardfilter, die gewöhnliche Aktualisierungen ungefähr auf Sekundenabstände begrenzen und bestimmte Änderungen bevorzugt weitergeben. Eigene Filter ersetzen die Standardfilter. Eine Aktualisierung ist nicht automatisch ein neuer Home-Assistant-Zustand; das Datenbankwachstum lässt sich nicht pauschal in Megabyte je Sensor vorhersagen.

Das Rechteck messen und dokumentieren

Bei einer isolierten Messung lässt sich ein einzelnes bewegtes Ziel leichter zuordnen. Zielplätze sind keine dauerhaften Personenkennungen. Messungen an Ecken und Kanten, im Stehen und Sitzen, zeigen die nutzbare Grenze. Bei mehreren Zielen hilft eine Anzeige aller drei Zielplätze; das Beispiel stellt zur ersten Kalibrierung nur den ersten Platz bereit.

Beispielhafte Eckwerte, x / y in mm:
380 / 840     1760 / 810
420 / 2310    1780 / 2360

Gemessene Grenzen: x 380..1780, y 810..2360
Mit 200 mm Zuschlag auf jeder Seite:
x1 = 180, x2 = 1980, y1 = 610, y2 = 2560

Die Zugabe von 200 mm ist ein Beispiel, keine allgemeine Genauigkeitsangabe. Ein größeres Rechteck kann einen benachbarten Laufweg einschließen. Eine Entität ist ein einzeln ansprechbarer Wert oder Zustand in Home Assistant. Die vier Zahlen-Entitäten sind einstellbare Werte für die Hardware-Zonenkoordinaten im Radar; eine automatische Rückschreibung in die YAML-Datei erfolgt nicht. Eine gesonderte Aufzeichnung von Koordinaten, Montageposition und Zonenmodus ermöglicht nachvollziehbaren Austausch und Wiederherstellung.

Der Hardware-Zonenmodus ist vom Nachlauf des Templates unabhängig: Detection begrenzt gemeldete Ziele auf konfigurierte Erfassungsflächen, Filter schließt konfigurierte Flächen aus, Disabled deaktiviert die räumliche Hardwarefilterung. Diese Modi können sämtliche nachfolgenden Zieldaten verändern. In der geprüften ESPHome-Implementierung werden Zonenanzahlen aus empfangenen Koordinaten und konfigurierten Rechtecken berechnet; ein ausgeschlossenes Ziel lässt sich durch ein Template nicht zurückholen. Zur Kalibrierung gehören deshalb der tatsächliche Modus und alle vorgesehenen Zonen.

Nachlauf und Automatisierungen

delayed_off: 20s verschiebt im Beispiel den Wechsel auf unbelegt, bis das Template 20 Sekunden durchgehend false gemeldet hat. Erneute Belegung bricht das ausstehende Ausschalten ab. Das vermindert kurze Erfassungslücken, garantiert aber keine Erkennung einer länger still sitzenden Person.

presence_timeout gehört zu den allgemeinen Anwesenheitszuständen in ESPHome, nicht zu den Zielanzahlmeldungen des Radars. Diese Einstellung addiert keine weiteren fünf Sekunden zum Template auf Basis von desk_count. Berichtsfilter, Automatisierungsverzögerungen und die letzte tatsächliche Erfassung können weitere Laufzeit verursachen; exakt 25 Sekunden bis zum Ausschalten nach dem Verlassen sind nicht garantiert.

Ein Home-Assistant-Zustandsauslöser auf die resultierende Belegungsentität ist praktisch. Auch ein numerischer Zustandsauslöser ist zulässig, reagiert jedoch auf eine Schwellenüberschreitung statt auf jede Koordinatenaktualisierung. Verhalten nach Neustart, nicht verfügbare Entitäten und ein Ausfall der UART-Verbindung benötigen ausdrückliche Tests. Ohne gültige Zielanzahl behält das Template den vorherigen Zustand; eine Kommunikationsüberwachung ist damit nicht umgesetzt. Veraltete Werte benötigen eine gesonderte Verfügbarkeitsprüfung.

Raumtests und typische Grenzen

Zur Abnahme gehören Betreten, Verlassen, ruhiges Sitzen, Bewegung knapp außerhalb der Zone, Bewegung im Nachbarraum, Ventilatoren und Vorhänge sowie ein Vergleich mit ein- und ausgeschaltetem zweitem Radar. Wanddurchdringung und gegenseitige Störungen hängen von Bauweise und Installation ab; beides tritt nicht zwangsläufig auf. Geisterziele können sich bewegen oder stillstehen. Eine feste Koordinate beweist noch kein Geisterziel; eine Mindestgeschwindigkeit kann gerade die sitzende Person ausschließen, deren Erfassung benötigt wird.

Häufige Fragen

Entspricht Y der Schrägentfernung?

Eine allgemeine Gleichsetzung gilt nicht. Die geometrische Entfernung √(x²+y²+h²) ist die Schrägentfernung zu einem bekannten dreidimensionalen Punkt, aber keine dokumentierte Umrechnungsformel für die gemeldete Y-Koordinate. Höhe, Neigung und Körperhaltung benötigen deshalb praktische Prüfungen statt einer allein aus der Montagehöhe versprochenen Korrektur.

Lassen sich mit der Zonenanzahl Personen zählen?

Nur als ungefähre Anzahl erkannter Ziele mit der Obergrenze von drei Zielen im gesamten Modul. Verdeckung, unbewegte Ziele, wechselnde Zielplätze und Reflexionen verhindern eine verlässliche Personenzählung.

Sind Diagnosekoordinaten nach der Kalibrierung noch sinnvoll?

Ja, für spätere Änderungen an Montage oder Einrichtung und für die Fehlersuche. Ein Ausschluss dieser Entitäten aus dem Home-Assistant-Recorder kann den Verlaufsspeicher reduzieren und aktuelle Werte trotzdem erhalten. Deaktivierte Entitäten benötigen vor einer erneuten Messung eine erneute Aktivierung.

Quellen

Lukas Wojcik

Lukas Wojcik

Systems architect and technology enthusiast specializing in scalable tracking solutions, GMP Stack (GA4 & GTM), and robust backend architectures. Advocate for clean code and privacy-first design.

Kontakt

Eine Frage oder eine Idee für ein Webprojekt? Schreib mir kurz, worum es geht. Das Formular nutzt reCAPTCHA zum Schutz vor Spam.

Kommentar schreiben

Erfahrungen mit anderen Geräten oder Integrationen und Rückfragen zur Einrichtung sind hier willkommen.

Die E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind mit einem Stern versehen.