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
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.

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.
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
- ESPHome: LD2450-Sensor
- ESPHome 2026.10.0: Konfigurationsschema der LD2450-Komponente
- ESPHome 2026.10.0: Binärsensoren des LD2450
- ESPHome 2026.10.0: Zahlen-Entitäten des LD2450
- ESPHome 2026.10.0: Implementierung des LD2450
- ESPHome: Template-Binärsensor
- ESPHome: Filter für Binärsensoren
- Hi-Link: Technische Daten des HLK-LD2450
- Home Assistant: Auslöser für Automatisierungen
- Home Assistant: Verlaufsspeicherung mit Recorder


