🏠 Better Thermostat
Kombiner tilstedeværelse med intelligent varmestyring.
LD2410 er en mmWave radar sensor der kan detektere menneskelig tilstedeværelse - selv når du sidder helt stille. Perfekt til badeværelse, kontor eller andre rum hvor PIR sensorer fejler.
| Feature | PIR Sensor | mmWave (LD2410) |
|---|---|---|
| Bevægelse | ✅ Ja | ✅ Ja |
| Stillestående person | ❌ Nej | ✅ Ja (detekterer vejrtrækning) |
| Gennem glas/plastik | ❌ Nej | ✅ Ja |
| Afstandsmåling | ❌ Nej | ✅ Ja |
| Falske positiver | Mange | Få (med tuning) |
| Pris | ~20 kr | ~50 kr |
| Komponent | Model | Pris ca. |
|---|---|---|
| mmWave sensor | HiLink LD2410C (anbefalet) | 40-60 kr |
| Microcontroller | ESP32 eller ESP8266 (D1 Mini) | 30-50 kr |
| Ledninger | Dupont jumper wires | 10 kr |
| USB kabel | Micro USB til strøm | 20 kr |
| Kabinet | 3D printet eller købt | 0-50 kr |
| Total | ~100-200 kr |
| Model | Pins | Bluetooth | Anbefaling |
|---|---|---|---|
| LD2410 | 1.25mm (kræver adapter) | Nej | ⚠️ Svær at lodde |
| LD2410B | 1.25mm (kræver adapter) | Ja | ⚠️ Svær at lodde |
| LD2410C | 2.54mm standard | Ja | ✅ Anbefalet |
ESP32 LD2410C───── ───────3.3V ─────── VCCGND ─────── GNDGPIO16 ─────── TX (RX på ESP)GPIO17 ─────── RX (TX på ESP)D1 Mini LD2410C─────── ───────3.3V ─────── VCCGND ─────── GNDD7 (RX) ─────── TXD8 (TX) ─────── RX# ld2410-presence.yamlsubstitutions: device_name: "ld2410-toilet" friendly_name: "Toilet Presence"
esphome: name: ${device_name} friendly_name: ${friendly_name}
esp32: board: esp32dev # Eller for D1 Mini ESP8266: # esp8266: # board: d1_mini
# WiFiwifi: ssid: !secret wifi_ssid password: !secret wifi_password
# Enable logginglogger: baud_rate: 0 # Vigtigt! Disable serial logging
# Home Assistant APIapi: encryption: key: !secret api_encryption_key
ota: platform: esphome password: !secret ota_password
# UART til LD2410uart: id: ld2410_uart tx_pin: GPIO17 # Eller D8 for D1 Mini rx_pin: GPIO16 # Eller D7 for D1 Mini baud_rate: 256000 parity: NONE stop_bits: 1
# LD2410 sensorld2410: id: ld2410_sensor uart_id: ld2410_uartbinary_sensor: # Hovedsensor - er der nogen i rummet? - platform: ld2410 has_target: name: "${friendly_name} Tilstedeværelse" device_class: occupancy
has_moving_target: name: "${friendly_name} Bevægelse" device_class: motion
has_still_target: name: "${friendly_name} Stillestående" device_class: occupancysensor: # Afstand til mål - platform: ld2410 moving_distance: name: "${friendly_name} Bevægende Afstand" unit_of_measurement: "cm"
still_distance: name: "${friendly_name} Stillestående Afstand" unit_of_measurement: "cm"
detection_distance: name: "${friendly_name} Detektionsafstand" unit_of_measurement: "cm"
# Energi-niveauer (til tuning) moving_energy: name: "${friendly_name} Bevægende Energi"
still_energy: name: "${friendly_name} Stillestående Energi"# Gate thresholds (justerbar via HA)number: - platform: ld2410 timeout: name: "${friendly_name} Timeout"
max_move_distance_gate: name: "${friendly_name} Max Bevægelsesafstand"
max_still_distance_gate: name: "${friendly_name} Max Stillestående Afstand"
# Gate 0-8 thresholds g0_move_threshold: name: "${friendly_name} G0 Bevægelse Threshold" g0_still_threshold: name: "${friendly_name} G0 Still Threshold" # ... gentag for g1-g8
# Engineering mode switchswitch: - platform: ld2410 engineering_mode: name: "${friendly_name} Engineering Mode" bluetooth: name: "${friendly_name} Bluetooth"Her er den komplette konfiguration jeg bruger i mit toilet:
# toilet-presence.yaml - Komplet LD2410 opsætningsubstitutions: device_name: "d1-mini-toilet" friendly_name: "Toilet"
esphome: name: ${device_name} friendly_name: ${friendly_name}
esp8266: board: d1_mini
wifi: ssid: !secret wifi_ssid password: !secret wifi_password
ap: ssid: "${device_name}-AP" password: "12345678"
captive_portal:
logger: baud_rate: 0
api: encryption: key: !secret api_encryption_key
ota: platform: esphome password: !secret ota_password
# UARTuart: id: ld2410_uart tx_pin: D8 rx_pin: D7 baud_rate: 256000 parity: NONE stop_bits: 1
# LD2410ld2410: id: ld2410_sensor uart_id: ld2410_uart # Optimerede indstillinger til toilet timeout: 5s max_move_distance: 3m max_still_distance: 2.25m # Gate thresholds (0 = tættest, 8 = længst væk) g0_move_threshold: 50 g0_still_threshold: 20 g1_move_threshold: 50 g1_still_threshold: 20 g2_move_threshold: 40 g2_still_threshold: 20 g3_move_threshold: 40 g3_still_threshold: 30 g4_move_threshold: 40 g4_still_threshold: 40 g5_move_threshold: 40 g5_still_threshold: 40 g6_move_threshold: 30 g6_still_threshold: 40 g7_move_threshold: 30 g7_still_threshold: 40 g8_move_threshold: 30 g8_still_threshold: 40
binary_sensor: - platform: ld2410 has_target: name: "${friendly_name} Tilstedeværelse" id: presence device_class: occupancy has_moving_target: name: "${friendly_name} Bevægelse" device_class: motion has_still_target: name: "${friendly_name} Stillestående" device_class: occupancy
sensor: - platform: ld2410 detection_distance: name: "${friendly_name} Afstand" moving_energy: name: "${friendly_name} Bevægelse Energi" internal: true still_energy: name: "${friendly_name} Still Energi" internal: true
# WiFi signal - platform: wifi_signal name: "${friendly_name} WiFi Signal" update_interval: 60s
switch: - platform: ld2410 engineering_mode: name: "${friendly_name} Engineering Mode" internal: true
button: - platform: restart name: "${friendly_name} Genstart"# Hvad gatene betyder:# Gate 0: 0 - 0.75m fra sensor# Gate 1: 0.75 - 1.5m# Gate 2: 1.5 - 2.25m# Gate 3: 2.25 - 3m# ... osv op til Gate 8Tommelfingerregel:
automation: - alias: "Toilet lys ON ved tilstedeværelse" trigger: - platform: state entity_id: binary_sensor.toilet_tilstedevaerelse to: "on" action: - service: light.turn_on target: entity_id: light.toilet data: brightness_pct: 100
- alias: "Toilet lys OFF når tom" trigger: - platform: state entity_id: binary_sensor.toilet_tilstedevaerelse to: "off" for: seconds: 30 # Vent 30 sek efter sidste detektion action: - service: light.turn_off target: entity_id: light.toiletautomation: - alias: "Ventilator ON ved tilstedeværelse + høj fugt" trigger: - platform: numeric_state entity_id: sensor.toilet_humidity above: 70 condition: - condition: state entity_id: binary_sensor.toilet_tilstedevaerelse state: "on" action: - service: fan.turn_on target: entity_id: fan.toilet_ventilator| Placering | Anbefaling |
|---|---|
| Højde | 1.5-2m over gulv |
| Vinkel | Peg nedad i 15-30° vinkel |
| Undgå | Direkte mod vinduer/døre |
| Afstand | Max 6m effektiv rækkevidde |
🏠 Better Thermostat
Kombiner tilstedeværelse med intelligent varmestyring.
⚡ Automationer
Lav flere automationer baseret på tilstedeværelse.