214 lines
4.6 KiB
YAML
214 lines
4.6 KiB
YAML
# This is a custom firmware for Human Presence Sensor 1U
|
|
# https://screek.io/1u
|
|
|
|
substitutions:
|
|
name_add_mac_suffix: "true"
|
|
|
|
|
|
esphome:
|
|
name_add_mac_suffix: true
|
|
platformio_options:
|
|
board_build.flash_mode: dio
|
|
board_build.f_cpu: 80000000L
|
|
upload_speed: 115200
|
|
on_boot:
|
|
priority: 900
|
|
then:
|
|
lambda: |-
|
|
id(cpu_speed) = ESP.getCpuFreqMHz() ;
|
|
project:
|
|
name: Screek.Human_Presence_Sensor
|
|
version: 1U
|
|
min_version: 2023.6.1
|
|
|
|
packages:
|
|
esphome: !include ../packages/common/esphome.yaml
|
|
network: !include ../packages/common/network.yaml
|
|
http_server: !include ../packages/common/http_server.yaml
|
|
sensors_esphome: !include ../packages/sensors/esphome.yaml
|
|
sensors_wifi: !include ../packages/sensors/wifi.yaml
|
|
|
|
|
|
globals:
|
|
- id: cpu_speed
|
|
type: int
|
|
restore_value: no
|
|
initial_value: '0'
|
|
|
|
external_components:
|
|
# - source: github://screek-workshop/custom_components_support_for_screek_1u
|
|
- source:
|
|
type: git
|
|
url: https://github.com/screek-workshop/custom_components_support_for_screek_1u
|
|
ref: master
|
|
# components: [ ld2410, uart ]
|
|
|
|
esp32:
|
|
board: lolin_s2_mini
|
|
variant: ESP32S2
|
|
framework:
|
|
type: arduino
|
|
version: 2.0.9
|
|
platform_version: 6.3.2
|
|
|
|
logger:
|
|
hardware_uart: uart0
|
|
|
|
wifi:
|
|
# power_save_mode: NONE
|
|
output_power: 15dB
|
|
power_save_mode: LIGHT
|
|
|
|
binary_sensor:
|
|
- platform: status
|
|
name: Online
|
|
id: ink_ha_connected
|
|
- platform: ld2410
|
|
has_target:
|
|
name: Presence
|
|
has_moving_target:
|
|
name: Moving Target
|
|
has_still_target:
|
|
name: Still Target
|
|
|
|
sensor:
|
|
- platform: template
|
|
name: "ESP Cpu Speed"
|
|
accuracy_decimals: 0
|
|
unit_of_measurement: Mhz
|
|
lambda: |-
|
|
return (id(cpu_speed));
|
|
entity_category: "diagnostic"
|
|
|
|
# - platform: internal_temperature
|
|
# id: sys_esp_temperature
|
|
# name: ESP Temperature
|
|
# unit_of_measurement: °C
|
|
# device_class: TEMPERATURE
|
|
# update_interval: 1s
|
|
# entity_category: "diagnostic"
|
|
|
|
- platform: template
|
|
id: sys_esp_temperature
|
|
name: ESP Temperature
|
|
lambda: return temperatureRead();
|
|
unit_of_measurement: °C
|
|
device_class: TEMPERATURE
|
|
update_interval: 5s
|
|
entity_category: "diagnostic"
|
|
|
|
- platform: uptime
|
|
name: Uptime
|
|
id: sys_uptime
|
|
update_interval: 10s
|
|
|
|
- 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"
|
|
|
|
- platform: ld2410
|
|
moving_distance:
|
|
name : Moving Distance
|
|
id: moving_distance
|
|
still_distance:
|
|
name: Still Distance
|
|
id: still_distance
|
|
moving_energy:
|
|
name: Move Energy
|
|
still_energy:
|
|
name: Still Energy
|
|
detection_distance:
|
|
name: Detection Distance
|
|
light:
|
|
name: Sun Light
|
|
|
|
status_led:
|
|
pin:
|
|
number: GPIO15
|
|
|
|
#light:
|
|
# - platform: status_led
|
|
# name: sys_status
|
|
# pin: GPIO15
|
|
# internal: True
|
|
# restore_mode: ALWAYS_OFF
|
|
|
|
time:
|
|
- platform: sntp
|
|
id: time_sntp
|
|
|
|
uart:
|
|
id: uart_ld2410
|
|
tx_pin: GPIO18
|
|
rx_pin: GPIO33
|
|
baud_rate: 256000
|
|
parity: NONE
|
|
stop_bits: 1
|
|
|
|
ld2410:
|
|
timeout: 150s
|
|
id: ld2410_radar
|
|
# max_move_distance : 6m
|
|
# max_still_distance: 0.75m
|
|
# g0_move_threshold: 10
|
|
# g0_still_threshold: 20
|
|
# g1_move_threshold: 10
|
|
# g1_still_threshold: 20
|
|
# g2_move_threshold: 20
|
|
# g2_still_threshold: 21
|
|
# g3_move_threshold: 30
|
|
# g3_still_threshold: 31
|
|
# g4_move_threshold: 40
|
|
# g4_still_threshold: 41
|
|
# g5_move_threshold: 50
|
|
# g5_still_threshold: 51
|
|
# g6_move_threshold: 60
|
|
# g6_still_threshold: 61
|
|
# g7_move_threshold: 70
|
|
# g7_still_threshold: 71
|
|
# g8_move_threshold: 80
|
|
# g8_still_threshold: 81
|
|
|
|
button:
|
|
- platform: template
|
|
name: "Enable LD2410 BLE"
|
|
# disabled_by_default: True
|
|
entity_category: "config"
|
|
icon: mdi:bluetooth
|
|
on_press:
|
|
lambda: |-
|
|
id(ld2410_radar) -> ble_control(true);
|
|
|
|
- platform: template
|
|
name: "Disable LD2410 BLE"
|
|
# disabled_by_default: True
|
|
entity_category: "config"
|
|
icon: mdi:bluetooth-off
|
|
on_press:
|
|
lambda: |-
|
|
id(ld2410_radar) -> ble_control(false);
|
|
|
|
- platform: template
|
|
name: "LD2410 Reboot"
|
|
icon: mdi:radar
|
|
entity_category: "config"
|
|
on_press:
|
|
lambda: |-
|
|
// auto* radar = LD2410Component::get(ld2410);
|
|
// radar -> roboot();
|
|
id(ld2410_radar) -> reboot();
|
|
|
|
- platform: restart
|
|
icon: mdi:power-cycle
|
|
name: "ESP Reboot"
|
|
|
|
- platform: factory_reset
|
|
disabled_by_default: True
|
|
name: Factory Reset
|
|
id: factory_reset_all
|