# https://github.com/esphome/esphome/pull/4434 substitutions: pretty: MW22 RXPIN: GPIO1 TXPIN: GPIO3 out_pin: GPIO16 esphome: name: mw22 comment: LD2410C friendly_name: MW22 esp32: board: mhetesp32minikit framework: type: arduino mqtt: broker: 192.168.10.102 ota: password: !secret ota wifi: ssid: !secret wifi_ssid password: !secret wifi_password ap: ssid: !secret ap_ssid password: !secret ap_password web_server: port: 80 external_components: source: github://regevbr/esphome@ld2410 components: [ld2410] api: reboot_timeout: 0s services: - service: set_ld2410_bluetooth_password variables: password: string then: - bluetooth_password.set: id: ld2410_comp password: !lambda 'return password;' uart: id: ld2410_uart tx_pin: ${TXPIN} rx_pin: ${RXPIN} baud_rate: 115200 #256000 parity: NONE stop_bits: 1 ld2410: uart_id: ld2410_uart throttle: 1500ms id: ld2410_comp select: - platform: ld2410 distance_resolution: name: distance resolution baud_rate: name: baud rate light_function: name: light function out_pin_level: name: out pin level button: - platform: ld2410 factory_reset: name: "factory reset" restart: name: "restart" query_params: name: query params number: - platform: ld2410 timeout: name: timeout max_move_distance_gate: name: max move distance gate max_still_distance_gate: name: max still distance gate g0: move_threshold: name: g0 move threshold still_threshold: name: g0 still threshold g1: move_threshold: name: g1 move threshold still_threshold: name: g1 still threshold g2: move_threshold: name: g2 move threshold still_threshold: name: g2 still threshold g3: move_threshold: name: g3 move threshold still_threshold: name: g3 still threshold g4: move_threshold: name: g4 move threshold still_threshold: name: g4 still threshold g5: move_threshold: name: g5 move threshold still_threshold: name: g5 still threshold g6: move_threshold: name: g6 move threshold still_threshold: name: g6 still threshold g7: move_threshold: name: g7 move threshold still_threshold: name: g7 still threshold g8: move_threshold: name: g8 move threshold still_threshold: name: g8 still threshold light_threshold: name: light threshold text_sensor: - platform: ld2410 version: name: "presenece sensor version" mac_address: name: "presenece sensor mac address" switch: - platform: ld2410 engineering_mode: name: "engineering mode" bluetooth: name: control Bluetooth binary_sensor: - platform: ld2410 has_target: name: "presence" has_moving_target: name: "movement" has_still_target: name: "still" out_pin_presence_status: name: out pin presence status - platform: gpio pin: ${out_pin} name: ${pretty} Presence2 device_class: presence sensor: - platform: ld2410 moving_distance: name: "Moving distance" still_distance: name: "Still Distance" moving_energy: name: "Move Energy" still_energy: name: "Still Energy" detection_distance: name: "Distance Detection" g0: move_energy: name: g0 move energy still_energy: name: g0 still energy g1: move_energy: name: g1 move energy still_energy: name: g1 still energy g2: move_energy: name: g2 move energy still_energy: name: g2 still energy g3: move_energy: name: g3 move energy still_energy: name: g3 still energy g4: move_energy: name: g4 move energy still_energy: name: g4 still energy g5: move_energy: name: g5 move energy still_energy: name: g5 still energy g6: move_energy: name: g6 move energy still_energy: name: g6 still energy g7: move_energy: name: g7 move energy still_energy: name: g7 still energy g8: move_energy: name: g8 move energy still_energy: name: g8 still energy light: name: light - platform: wifi_signal name: WiFi Signal id: wifi_signal_db update_interval: 60s entity_category: "diagnostic" - platform: copy # Reports the WiFi signal strength in % source_id: wifi_signal_db name: "WiFi Signal Percent" filters: - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0); unit_of_measurement: "%" entity_category: "diagnostic" - platform: uptime name: Uptime - platform: template id: sys_esp_temperature name: ESP Temperature lambda: return temperatureRead(); unit_of_measurement: °C device_class: TEMPERATURE update_interval: 45s entity_category: "diagnostic" - platform: template id: esp_memory icon: mdi:memory name: ESP Free Memory lambda: return heap_caps_get_free_size(MALLOC_CAP_INTERNAL) / 1024; unit_of_measurement: 'kB' state_class: measurement entity_category: "diagnostic" update_interval: 60s