esphome 2025.6.3__py3-none-any.whl → 2025.7.0b2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- esphome/__main__.py +1 -3
- esphome/codegen.py +2 -0
- esphome/components/ac_dimmer/ac_dimmer.cpp +6 -6
- esphome/components/adc/__init__.py +25 -1
- esphome/components/adc/adc_sensor.h +11 -11
- esphome/components/adc/adc_sensor_common.cpp +1 -1
- esphome/components/adc/adc_sensor_esp32.cpp +16 -8
- esphome/components/ade7880/ade7880.h +0 -2
- esphome/components/ads1115/ads1115.h +0 -1
- esphome/components/ads1118/ads1118.h +0 -1
- esphome/components/ags10/ags10.h +0 -2
- esphome/components/aic3204/aic3204.h +0 -1
- esphome/components/alarm_control_panel/__init__.py +5 -2
- esphome/components/alpha3/alpha3.h +0 -1
- esphome/components/am43/cover/am43_cover.h +0 -1
- esphome/components/am43/sensor/am43_sensor.h +0 -1
- esphome/components/analog_threshold/analog_threshold_binary_sensor.h +0 -2
- esphome/components/anova/anova.cpp +5 -1
- esphome/components/anova/anova.h +0 -1
- esphome/components/apds9960/apds9960.cpp +1 -1
- esphome/components/api/__init__.py +57 -21
- esphome/components/api/api_connection.cpp +344 -539
- esphome/components/api/api_connection.h +224 -141
- esphome/components/api/api_frame_helper.cpp +91 -127
- esphome/components/api/api_frame_helper.h +64 -54
- esphome/components/api/api_pb2.cpp +1837 -9044
- esphome/components/api/api_pb2.h +532 -685
- esphome/components/api/api_pb2_dump.cpp +4432 -0
- esphome/components/api/api_pb2_service.cpp +184 -425
- esphome/components/api/api_pb2_service.h +13 -6
- esphome/components/api/api_server.cpp +131 -167
- esphome/components/api/api_server.h +38 -10
- esphome/components/api/client.py +8 -2
- esphome/components/api/custom_api_device.h +8 -0
- esphome/components/api/list_entities.cpp +37 -104
- esphome/components/api/list_entities.h +33 -23
- esphome/components/api/proto.h +532 -26
- esphome/components/api/subscribe_state.cpp +23 -29
- esphome/components/api/subscribe_state.h +26 -19
- esphome/components/api/user_services.h +2 -0
- esphome/components/as5600/as5600.h +0 -1
- esphome/components/async_tcp/__init__.py +14 -5
- esphome/components/atc_mithermometer/atc_mithermometer.h +0 -1
- esphome/components/atm90e32/atm90e32.cpp +2 -1
- esphome/components/audio/audio_decoder.cpp +1 -1
- esphome/components/audio/audio_transfer_buffer.cpp +2 -2
- esphome/components/b_parasite/b_parasite.h +0 -1
- esphome/components/bedjet/bedjet_hub.cpp +5 -1
- esphome/components/bedjet/climate/bedjet_climate.cpp +5 -1
- esphome/components/beken_spi_led_strip/led_strip.cpp +4 -2
- esphome/components/bh1750/bh1750.cpp +5 -5
- esphome/components/binary_sensor/__init__.py +82 -5
- esphome/components/binary_sensor/automation.h +19 -1
- esphome/components/binary_sensor/binary_sensor.cpp +12 -30
- esphome/components/binary_sensor/binary_sensor.h +11 -25
- esphome/components/binary_sensor/filter.cpp +29 -24
- esphome/components/binary_sensor/filter.h +20 -10
- esphome/components/ble_client/output/ble_binary_output.h +0 -1
- esphome/components/ble_client/sensor/ble_rssi_sensor.cpp +5 -1
- esphome/components/ble_client/sensor/ble_rssi_sensor.h +0 -1
- esphome/components/ble_client/sensor/ble_sensor.cpp +5 -1
- esphome/components/ble_client/sensor/ble_sensor.h +0 -1
- esphome/components/ble_client/switch/ble_switch.h +0 -1
- esphome/components/ble_client/text_sensor/ble_text_sensor.cpp +5 -1
- esphome/components/ble_client/text_sensor/ble_text_sensor.h +0 -1
- esphome/components/ble_presence/ble_presence_device.h +0 -1
- esphome/components/ble_rssi/ble_rssi_sensor.h +0 -1
- esphome/components/ble_scanner/ble_scanner.h +0 -1
- esphome/components/bluetooth_proxy/bluetooth_connection.h +9 -2
- esphome/components/bluetooth_proxy/bluetooth_proxy.cpp +16 -6
- esphome/components/bluetooth_proxy/bluetooth_proxy.h +8 -2
- esphome/components/bme680/sensor.py +1 -1
- esphome/components/bmp581/bmp581.h +0 -2
- esphome/components/button/__init__.py +5 -2
- esphome/components/camera/__init__.py +1 -0
- esphome/components/camera/camera.cpp +22 -0
- esphome/components/camera/camera.h +80 -0
- esphome/components/canbus/__init__.py +1 -0
- esphome/components/cap1188/cap1188.h +0 -1
- esphome/components/captive_portal/__init__.py +12 -2
- esphome/components/captive_portal/captive_portal.cpp +12 -2
- esphome/components/captive_portal/captive_portal.h +5 -2
- esphome/components/ccs811/ccs811.h +0 -2
- esphome/components/climate/__init__.py +5 -2
- esphome/components/cm1106/sensor.py +2 -2
- esphome/components/const/__init__.py +2 -0
- esphome/components/copy/binary_sensor/copy_binary_sensor.h +0 -1
- esphome/components/copy/button/copy_button.h +0 -1
- esphome/components/copy/cover/copy_cover.h +0 -1
- esphome/components/copy/fan/copy_fan.h +0 -1
- esphome/components/copy/lock/copy_lock.h +0 -1
- esphome/components/copy/number/copy_number.h +0 -1
- esphome/components/copy/select/copy_select.h +0 -1
- esphome/components/copy/sensor/copy_sensor.h +0 -1
- esphome/components/copy/switch/copy_switch.h +0 -1
- esphome/components/copy/text/copy_text.h +0 -1
- esphome/components/copy/text_sensor/copy_text_sensor.h +0 -1
- esphome/components/cover/__init__.py +5 -2
- esphome/components/cs5460a/cs5460a.h +0 -1
- esphome/components/datetime/__init__.py +4 -2
- esphome/components/debug/__init__.py +20 -0
- esphome/components/debug/debug_esp32.cpp +2 -0
- esphome/components/deep_sleep/__init__.py +43 -9
- esphome/components/demo/__init__.py +2 -2
- esphome/components/display/display.cpp +4 -3
- esphome/components/display/display.h +0 -2
- esphome/components/display/display_buffer.cpp +1 -1
- esphome/components/ds2484/__init__.py +1 -0
- esphome/components/ds2484/ds2484.cpp +209 -0
- esphome/components/ds2484/ds2484.h +43 -0
- esphome/components/ds2484/one_wire.py +37 -0
- esphome/components/duty_time/duty_time_sensor.h +0 -1
- esphome/components/ens160_base/ens160_base.h +0 -1
- esphome/components/es7210/es7210.h +0 -1
- esphome/components/es7243e/es7243e.h +0 -1
- esphome/components/es8156/es8156.h +0 -1
- esphome/components/es8311/es8311.h +0 -1
- esphome/components/es8388/es8388.h +0 -1
- esphome/components/esp32/__init__.py +103 -135
- esphome/components/esp32/core.cpp +0 -4
- esphome/components/esp32/gpio.h +1 -1
- esphome/components/esp32/helpers.cpp +69 -0
- esphome/components/esp32_ble/ble.cpp +5 -6
- esphome/components/esp32_ble/ble.h +29 -14
- esphome/components/esp32_ble/ble_event.h +6 -6
- esphome/components/esp32_ble_client/ble_client_base.cpp +21 -6
- esphome/components/esp32_ble_client/ble_client_base.h +24 -9
- esphome/components/esp32_ble_tracker/__init__.py +2 -8
- esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +5 -5
- esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +11 -7
- esphome/components/esp32_camera/__init__.py +112 -98
- esphome/components/esp32_camera/esp32_camera.cpp +41 -31
- esphome/components/esp32_camera/esp32_camera.h +35 -30
- esphome/components/esp32_camera_web_server/__init__.py +2 -1
- esphome/components/esp32_camera_web_server/camera_web_server.cpp +8 -8
- esphome/components/esp32_camera_web_server/camera_web_server.h +3 -3
- esphome/components/esp32_hall/sensor.py +2 -21
- esphome/components/esp32_hosted/__init__.py +101 -0
- esphome/components/esp32_hosted/esp32_hosted.py.script +12 -0
- esphome/components/esp32_improv/esp32_improv_component.cpp +3 -0
- esphome/components/esp32_rmt/__init__.py +0 -58
- esphome/components/esp32_rmt_led_strip/led_strip.cpp +77 -63
- esphome/components/esp32_rmt_led_strip/led_strip.h +11 -17
- esphome/components/esp32_rmt_led_strip/light.py +14 -76
- esphome/components/esp32_touch/esp32_touch.h +174 -28
- esphome/components/esp32_touch/esp32_touch_common.cpp +162 -0
- esphome/components/esp32_touch/esp32_touch_v1.cpp +240 -0
- esphome/components/esp32_touch/esp32_touch_v2.cpp +397 -0
- esphome/components/esp8266/__init__.py +2 -0
- esphome/components/esp8266/gpio.cpp +10 -10
- esphome/components/esp8266/helpers.cpp +31 -0
- esphome/components/esphome/ota/__init__.py +1 -0
- esphome/components/esphome/ota/ota_esphome.cpp +24 -19
- esphome/components/ethernet/__init__.py +42 -23
- esphome/components/ethernet/esp_eth_phy_jl1101.c +0 -16
- esphome/components/ethernet/ethernet_component.cpp +69 -29
- esphome/components/ethernet/ethernet_component.h +18 -10
- esphome/components/event/__init__.py +5 -2
- esphome/components/ezo/ezo.h +0 -1
- esphome/components/ezo_pmp/ezo_pmp.h +0 -1
- esphome/components/fan/__init__.py +5 -2
- esphome/components/feedback/feedback_cover.h +0 -1
- esphome/components/font/__init__.py +92 -82
- esphome/components/font/font.cpp +9 -2
- esphome/components/font/font.h +20 -5
- esphome/components/fs3000/fs3000.h +0 -1
- esphome/components/gcja5/gcja5.h +0 -1
- esphome/components/gl_r01_i2c/__init__.py +0 -0
- esphome/components/gl_r01_i2c/gl_r01_i2c.cpp +68 -0
- esphome/components/gl_r01_i2c/gl_r01_i2c.h +22 -0
- esphome/components/gl_r01_i2c/sensor.py +36 -0
- esphome/components/gp8403/gp8403.h +0 -1
- esphome/components/gpio/binary_sensor/__init__.py +17 -0
- esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp +77 -3
- esphome/components/gpio/binary_sensor/gpio_binary_sensor.h +40 -0
- esphome/components/grove_gas_mc_v2/grove_gas_mc_v2.h +0 -2
- esphome/components/he60r/he60r.h +0 -1
- esphome/components/heatpumpir/climate.py +2 -1
- esphome/components/heatpumpir/heatpumpir.cpp +1 -0
- esphome/components/heatpumpir/heatpumpir.h +1 -0
- esphome/components/honeywellabp2_i2c/honeywellabp2.h +0 -1
- esphome/components/host/__init__.py +3 -1
- esphome/components/host/helpers.cpp +57 -0
- esphome/components/http_request/__init__.py +19 -1
- esphome/components/http_request/http_request.h +1 -1
- esphome/components/http_request/http_request_arduino.h +1 -0
- esphome/components/http_request/ota/ota_http_request.cpp +1 -1
- esphome/components/http_request/update/http_request_update.cpp +28 -9
- esphome/components/hydreon_rgxx/hydreon_rgxx.cpp +3 -9
- esphome/components/hydreon_rgxx/sensor.py +1 -1
- esphome/components/i2c/__init__.py +23 -11
- esphome/components/i2c/i2c_bus.h +8 -1
- esphome/components/i2c/i2c_bus_arduino.cpp +4 -3
- esphome/components/i2c/i2c_bus_arduino.h +6 -3
- esphome/components/i2c/i2c_bus_esp_idf.h +5 -3
- esphome/components/i2c_device/i2c_device.h +0 -1
- esphome/components/i2s_audio/__init__.py +2 -10
- esphome/components/i2s_audio/i2s_audio.cpp +1 -5
- esphome/components/i2s_audio/media_player/__init__.py +2 -2
- esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +2 -2
- esphome/components/iaqcore/iaqcore.h +0 -2
- esphome/components/image/__init__.py +123 -24
- esphome/components/improv_serial/improv_serial_component.cpp +0 -4
- esphome/components/ina219/ina219.cpp +7 -0
- esphome/components/ina219/ina219.h +1 -0
- esphome/components/ina260/ina260.h +0 -2
- esphome/components/inkbird_ibsth1_mini/inkbird_ibsth1_mini.h +0 -1
- esphome/components/inkplate6/display.py +15 -0
- esphome/components/inkplate6/inkplate.cpp +2 -2
- esphome/components/integration/integration_sensor.h +0 -1
- esphome/components/internal_temperature/internal_temperature.cpp +8 -27
- esphome/components/internal_temperature/sensor.py +0 -26
- esphome/components/interval/interval.h +0 -2
- esphome/components/ld2410/button/__init__.py +3 -3
- esphome/components/ld2410/button/factory_reset_button.cpp +9 -0
- esphome/components/ld2410/button/{reset_button.h → factory_reset_button.h} +2 -2
- esphome/components/ld2410/ld2410.cpp +421 -268
- esphome/components/ld2410/ld2410.h +44 -146
- esphome/components/ld2410/number/__init__.py +2 -2
- esphome/components/ld2410/sensor.py +1 -1
- esphome/components/ld2410/switch/__init__.py +1 -1
- esphome/components/ld2420/ld2420.cpp +196 -100
- esphome/components/ld2420/ld2420.h +46 -118
- esphome/components/ld2420/number/__init__.py +2 -2
- esphome/components/ld2420/sensor/__init__.py +6 -2
- esphome/components/ld2420/sensor/ld2420_sensor.h +1 -1
- esphome/components/ld2450/button/__init__.py +3 -3
- esphome/components/ld2450/button/factory_reset_button.cpp +9 -0
- esphome/components/ld2450/button/{reset_button.h → factory_reset_button.h} +2 -2
- esphome/components/ld2450/ld2450.cpp +384 -232
- esphome/components/ld2450/ld2450.h +60 -69
- esphome/components/ld2450/switch/__init__.py +1 -1
- esphome/components/ledc/ledc_output.cpp +1 -63
- esphome/components/libretiny/__init__.py +5 -3
- esphome/components/libretiny/const.py +5 -0
- esphome/components/libretiny/generate_components.py +1 -0
- esphome/components/libretiny/helpers.cpp +35 -0
- esphome/components/libretiny/lt_component.cpp +5 -3
- esphome/components/light/__init__.py +4 -2
- esphome/components/light/addressable_light.h +3 -3
- esphome/components/light/light_call.cpp +180 -243
- esphome/components/light/light_call.h +72 -20
- esphome/components/light/light_color_values.h +14 -14
- esphome/components/light/light_state.h +15 -13
- esphome/components/light/transformers.h +2 -2
- esphome/components/ln882x/__init__.py +52 -0
- esphome/components/ln882x/boards.py +285 -0
- esphome/components/lock/__init__.py +5 -2
- esphome/components/logger/__init__.py +40 -3
- esphome/components/logger/logger.cpp +47 -12
- esphome/components/logger/logger.h +80 -49
- esphome/components/logger/logger_esp32.cpp +3 -3
- esphome/components/lps22/__init__.py +0 -0
- esphome/components/lps22/lps22.cpp +75 -0
- esphome/components/lps22/lps22.h +27 -0
- esphome/components/lps22/sensor.py +58 -0
- esphome/components/ltr390/ltr390.h +0 -1
- esphome/components/ltr501/ltr501.h +0 -1
- esphome/components/ltr_als_ps/ltr_als_ps.h +0 -1
- esphome/components/lvgl/__init__.py +1 -1
- esphome/components/lvgl/schemas.py +66 -6
- esphome/components/lvgl/styles.py +24 -16
- esphome/components/lvgl/widgets/__init__.py +12 -2
- esphome/components/lvgl/widgets/lv_bar.py +40 -19
- esphome/components/m5stack_8angle/light/m5stack_8angle_light.cpp +1 -1
- esphome/components/max9611/max9611.h +0 -1
- esphome/components/mcp23016/__init__.py +1 -1
- esphome/components/mcp23xxx_base/__init__.py +1 -1
- esphome/components/mcp4461/__init__.py +1 -1
- esphome/components/mcp4461/output/__init__.py +3 -2
- esphome/components/mcp9600/mcp9600.h +0 -2
- esphome/components/md5/md5.cpp +3 -3
- esphome/components/md5/md5.h +1 -6
- esphome/components/mdns/__init__.py +22 -11
- esphome/components/media_player/__init__.py +4 -3
- esphome/components/micro_wake_word/__init__.py +1 -5
- esphome/components/micro_wake_word/streaming_model.cpp +2 -2
- esphome/components/microphone/microphone.cpp +7 -9
- esphome/components/microphone/microphone.h +0 -2
- esphome/components/mipi_spi/display.py +1 -0
- esphome/components/mmc5603/mmc5603.cpp +1 -1
- esphome/components/modbus/modbus.cpp +33 -15
- esphome/components/modbus/modbus.h +9 -0
- esphome/components/modbus_controller/__init__.py +42 -10
- esphome/components/modbus_controller/modbus_controller.cpp +92 -11
- esphome/components/modbus_controller/modbus_controller.h +61 -7
- esphome/components/mopeka_pro_check/mopeka_pro_check.h +0 -1
- esphome/components/mopeka_std_check/mopeka_std_check.h +0 -1
- esphome/components/mpl3115a2/mpl3115a2.h +0 -2
- esphome/components/mqtt/__init__.py +16 -0
- esphome/components/mqtt/mqtt_backend.h +2 -1
- esphome/components/mqtt/mqtt_backend_esp32.cpp +132 -47
- esphome/components/mqtt/mqtt_backend_esp32.h +106 -4
- esphome/components/mqtt/mqtt_client.cpp +15 -9
- esphome/components/mqtt/mqtt_client.h +8 -3
- esphome/components/ms8607/ms8607.h +0 -1
- esphome/components/neopixelbus/light.py +4 -1
- esphome/components/neopixelbus/neopixelbus_light.h +1 -1
- esphome/components/network/__init__.py +4 -1
- esphome/components/network/ip_address.h +1 -0
- esphome/components/nextion/__init__.py +16 -0
- esphome/components/nextion/base_component.py +1 -0
- esphome/components/nextion/binary_sensor/nextion_binarysensor.cpp +1 -1
- esphome/components/nextion/display.py +14 -4
- esphome/components/nextion/nextion.cpp +166 -101
- esphome/components/nextion/nextion.h +84 -53
- esphome/components/nextion/nextion_commands.cpp +11 -10
- esphome/components/nextion/nextion_component.cpp +28 -28
- esphome/components/nextion/nextion_component.h +53 -18
- esphome/components/nextion/nextion_component_base.h +3 -0
- esphome/components/nextion/nextion_upload.cpp +36 -0
- esphome/components/nextion/nextion_upload_arduino.cpp +10 -35
- esphome/components/nextion/nextion_upload_idf.cpp +9 -33
- esphome/components/nextion/sensor/nextion_sensor.cpp +1 -1
- esphome/components/nextion/switch/nextion_switch.cpp +1 -1
- esphome/components/nextion/text_sensor/nextion_textsensor.cpp +1 -1
- esphome/components/nfc/nfc.cpp +3 -22
- esphome/components/nfc/nfc.h +3 -3
- esphome/components/number/__init__.py +5 -2
- esphome/components/online_image/__init__.py +5 -0
- esphome/components/online_image/online_image.cpp +6 -2
- esphome/components/online_image/online_image.h +4 -1
- esphome/components/opentherm/opentherm.cpp +7 -12
- esphome/components/openthread/__init__.py +47 -40
- esphome/components/openthread/const.py +1 -0
- esphome/components/openthread/openthread_esp.cpp +27 -5
- esphome/components/opt3001/__init__.py +0 -0
- esphome/components/opt3001/opt3001.cpp +122 -0
- esphome/components/opt3001/opt3001.h +27 -0
- esphome/components/opt3001/sensor.py +35 -0
- esphome/components/ota/__init__.py +17 -0
- esphome/components/ota/ota_backend.h +27 -1
- esphome/components/ota/ota_backend_arduino_esp32.cpp +12 -2
- esphome/components/ota/ota_backend_arduino_esp32.h +3 -0
- esphome/components/ota/ota_backend_arduino_esp8266.cpp +18 -4
- esphome/components/ota/ota_backend_arduino_esp8266.h +3 -0
- esphome/components/ota/ota_backend_arduino_libretiny.cpp +12 -2
- esphome/components/ota/ota_backend_arduino_libretiny.h +3 -0
- esphome/components/ota/ota_backend_arduino_rp2040.cpp +9 -2
- esphome/components/ota/ota_backend_arduino_rp2040.h +3 -0
- esphome/components/ota/ota_backend_esp_idf.cpp +10 -16
- esphome/components/ota/ota_backend_esp_idf.h +1 -0
- esphome/components/packages/__init__.py +5 -2
- esphome/components/packet_transport/binary_sensor.py +61 -4
- esphome/components/packet_transport/packet_transport.cpp +34 -1
- esphome/components/packet_transport/packet_transport.h +11 -5
- esphome/components/pcf8574/__init__.py +1 -1
- esphome/components/pi4ioe5v6408/__init__.py +84 -0
- esphome/components/pi4ioe5v6408/pi4ioe5v6408.cpp +171 -0
- esphome/components/pi4ioe5v6408/pi4ioe5v6408.h +70 -0
- esphome/components/pmsa003i/pmsa003i.h +0 -1
- esphome/components/pmsx003/pmsx003.h +0 -1
- esphome/components/pn7150/pn7150.cpp +7 -7
- esphome/components/pn7150/pn7150.h +0 -1
- esphome/components/pn7160/pn7160.cpp +7 -7
- esphome/components/pn7160/pn7160.h +0 -1
- esphome/components/preferences/syncer.h +2 -0
- esphome/components/prometheus/prometheus_handler.h +1 -1
- esphome/components/psram/psram.cpp +0 -20
- esphome/components/pulse_counter/pulse_counter_sensor.h +0 -1
- esphome/components/pulse_meter/pulse_meter_sensor.cpp +8 -4
- esphome/components/pulse_width/pulse_width.h +0 -1
- esphome/components/pvvx_mithermometer/display/pvvx_display.cpp +0 -4
- esphome/components/pvvx_mithermometer/display/pvvx_display.h +0 -2
- esphome/components/pvvx_mithermometer/pvvx_mithermometer.h +0 -1
- esphome/components/qr_code/__init__.py +13 -10
- esphome/components/qwiic_pir/qwiic_pir.h +0 -1
- esphome/components/radon_eye_ble/radon_eye_listener.cpp +1 -1
- esphome/components/rc522/rc522.h +0 -1
- esphome/components/rdm6300/rdm6300.h +0 -2
- esphome/components/remote_base/__init__.py +7 -5
- esphome/components/remote_base/remote_base.cpp +24 -21
- esphome/components/remote_base/remote_base.h +3 -26
- esphome/components/remote_receiver/__init__.py +40 -46
- esphome/components/remote_receiver/remote_receiver.h +4 -18
- esphome/components/remote_receiver/remote_receiver_esp32.cpp +0 -87
- esphome/components/remote_receiver/remote_receiver_esp8266.cpp +1 -1
- esphome/components/remote_transmitter/__init__.py +42 -43
- esphome/components/remote_transmitter/remote_transmitter.h +2 -14
- esphome/components/remote_transmitter/remote_transmitter_esp32.cpp +0 -77
- esphome/components/resistance/resistance_sensor.h +0 -1
- esphome/components/rp2040/__init__.py +2 -0
- esphome/components/rp2040/helpers.cpp +55 -0
- esphome/components/rp2040_pio_led_strip/led_strip.cpp +2 -2
- esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.cpp +0 -4
- esphome/components/rtttl/__init__.py +4 -4
- esphome/components/rtttl/rtttl.cpp +10 -1
- esphome/components/ruuvitag/ruuvitag.h +0 -1
- esphome/components/safe_mode/safe_mode.cpp +2 -0
- esphome/components/safe_mode/safe_mode.h +4 -1
- esphome/components/scd30/scd30.h +0 -1
- esphome/components/scd30/sensor.py +2 -2
- esphome/components/scd4x/scd4x.cpp +61 -54
- esphome/components/scd4x/scd4x.h +17 -15
- esphome/components/scd4x/sensor.py +4 -4
- esphome/components/script/script.h +0 -2
- esphome/components/sdp3x/sensor.py +1 -1
- esphome/components/select/__init__.py +5 -2
- esphome/components/sen5x/sen5x.h +0 -1
- esphome/components/senseair/senseair.h +0 -1
- esphome/components/sensor/__init__.py +4 -2
- esphome/components/sensor/filter.cpp +1 -1
- esphome/components/sensor/sensor.cpp +12 -6
- esphome/components/sensor/sensor.h +13 -5
- esphome/components/servo/servo.h +0 -1
- esphome/components/sfa30/sfa30.h +0 -1
- esphome/components/sgp30/sgp30.h +0 -1
- esphome/components/sgp4x/sgp4x.h +0 -1
- esphome/components/shelly_dimmer/stm32flash.cpp +1 -2
- esphome/components/sht4x/sht4x.h +0 -1
- esphome/components/sm300d2/sm300d2.h +0 -2
- esphome/components/smt100/sensor.py +8 -4
- esphome/components/smt100/smt100.cpp +5 -5
- esphome/components/smt100/smt100.h +3 -3
- esphome/components/sn74hc595/__init__.py +1 -1
- esphome/components/sn74hc595/sn74hc595.cpp +5 -4
- esphome/components/sntp/sntp_component.cpp +9 -3
- esphome/components/sntp/time.py +2 -0
- esphome/components/socket/__init__.py +17 -0
- esphome/components/spi/__init__.py +27 -6
- esphome/components/spi/spi.cpp +3 -2
- esphome/components/spi/spi.h +9 -3
- esphome/components/spi/spi_arduino.cpp +3 -5
- esphome/components/spi/spi_esp_idf.cpp +40 -21
- esphome/components/spi_led_strip/spi_led_strip.cpp +1 -1
- esphome/components/sps30/sps30.h +0 -1
- esphome/components/ssd1306_base/ssd1306_base.cpp +1 -1
- esphome/components/st7701s/st7701s.cpp +0 -4
- esphome/components/status/status_binary_sensor.h +0 -2
- esphome/components/substitutions/__init__.py +76 -19
- esphome/components/substitutions/jinja.py +99 -0
- esphome/components/sun/sun.cpp +3 -4
- esphome/components/switch/__init__.py +5 -2
- esphome/components/switch/binary_sensor/switch_binary_sensor.h +0 -1
- esphome/components/sx126x/__init__.py +317 -0
- esphome/components/sx126x/automation.h +62 -0
- esphome/components/sx126x/packet_transport/__init__.py +26 -0
- esphome/components/sx126x/packet_transport/sx126x_transport.cpp +26 -0
- esphome/components/sx126x/packet_transport/sx126x_transport.h +25 -0
- esphome/components/sx126x/sx126x.cpp +523 -0
- esphome/components/sx126x/sx126x.h +140 -0
- esphome/components/sx126x/sx126x_reg.h +163 -0
- esphome/components/sx127x/__init__.py +325 -0
- esphome/components/sx127x/automation.h +62 -0
- esphome/components/sx127x/packet_transport/__init__.py +26 -0
- esphome/components/sx127x/packet_transport/sx127x_transport.cpp +26 -0
- esphome/components/sx127x/packet_transport/sx127x_transport.h +25 -0
- esphome/components/sx127x/sx127x.cpp +498 -0
- esphome/components/sx127x/sx127x.h +128 -0
- esphome/components/sx127x/sx127x_reg.h +295 -0
- esphome/components/syslog/esphome_syslog.cpp +5 -3
- esphome/components/syslog/esphome_syslog.h +1 -1
- esphome/components/tca9555/__init__.py +1 -1
- esphome/components/template/binary_sensor/template_binary_sensor.cpp +1 -9
- esphome/components/text/__init__.py +5 -2
- esphome/components/text_sensor/__init__.py +5 -2
- esphome/components/thermostat/thermostat_climate.cpp +34 -31
- esphome/components/thermostat/thermostat_climate.h +43 -39
- esphome/components/time/__init__.py +16 -2
- esphome/components/time/real_time_clock.cpp +4 -0
- esphome/components/time/real_time_clock.h +5 -1
- esphome/components/tlc5971/tlc5971.cpp +4 -1
- esphome/components/tmp1075/tmp1075.h +0 -2
- esphome/components/tof10120/tof10120_sensor.h +0 -1
- esphome/components/tormatic/tormatic_cover.h +0 -1
- esphome/components/total_daily_energy/total_daily_energy.h +0 -1
- esphome/components/tsl2591/tsl2591.cpp +1 -1
- esphome/components/ttp229_bsf/ttp229_bsf.h +0 -1
- esphome/components/ttp229_lsf/ttp229_lsf.h +0 -1
- esphome/components/tx20/tx20.cpp +2 -2
- esphome/components/uart/__init__.py +18 -0
- esphome/components/uart/uart_component_esp_idf.cpp +0 -4
- esphome/components/update/__init__.py +5 -2
- esphome/components/update/update_entity.h +8 -0
- esphome/components/usb_host/__init__.py +5 -2
- esphome/components/usb_host/usb_host_client.cpp +10 -10
- esphome/components/usb_uart/cp210x.cpp +1 -1
- esphome/components/usb_uart/usb_uart.cpp +41 -44
- esphome/components/usb_uart/usb_uart.h +4 -3
- esphome/components/valve/__init__.py +5 -2
- esphome/components/vbus/vbus.h +0 -1
- esphome/components/veml3235/veml3235.h +0 -1
- esphome/components/veml7700/veml7700.h +0 -1
- esphome/components/vl53l0x/vl53l0x_sensor.h +0 -1
- esphome/components/voice_assistant/voice_assistant.cpp +4 -4
- esphome/components/watchdog/watchdog.cpp +0 -4
- esphome/components/waveshare_epaper/waveshare_epaper.cpp +6 -6
- esphome/components/web_server/__init__.py +34 -19
- esphome/components/web_server/ota/__init__.py +32 -0
- esphome/components/web_server/ota/ota_web_server.cpp +210 -0
- esphome/components/web_server/ota/ota_web_server.h +26 -0
- esphome/components/web_server/web_server.cpp +305 -427
- esphome/components/web_server/web_server.h +33 -23
- esphome/components/web_server/web_server_v1.cpp +4 -5
- esphome/components/web_server_base/__init__.py +5 -2
- esphome/components/web_server_base/web_server_base.cpp +2 -94
- esphome/components/web_server_base/web_server_base.h +5 -25
- esphome/components/web_server_idf/multipart.cpp +254 -0
- esphome/components/web_server_idf/multipart.h +86 -0
- esphome/components/web_server_idf/utils.cpp +32 -0
- esphome/components/web_server_idf/utils.h +10 -0
- esphome/components/web_server_idf/web_server_idf.cpp +162 -16
- esphome/components/web_server_idf/web_server_idf.h +11 -10
- esphome/components/wiegand/wiegand.cpp +2 -2
- esphome/components/wifi/__init__.py +18 -0
- esphome/components/wifi/wifi_component.cpp +17 -22
- esphome/components/wifi/wifi_component.h +27 -23
- esphome/components/wifi/wifi_component_esp32_arduino.cpp +52 -59
- esphome/components/wifi/wifi_component_esp8266.cpp +46 -46
- esphome/components/wifi/wifi_component_esp_idf.cpp +35 -36
- esphome/components/wifi/wifi_component_libretiny.cpp +26 -27
- esphome/components/wifi/wifi_component_pico_w.cpp +3 -3
- esphome/components/wifi_info/wifi_info_text_sensor.cpp +6 -6
- esphome/components/wireguard/__init__.py +2 -11
- esphome/components/xiaomi_ble/xiaomi_ble.cpp +13 -1
- esphome/components/xiaomi_ble/xiaomi_ble.h +1 -0
- esphome/components/xiaomi_cgd1/xiaomi_cgd1.h +0 -1
- esphome/components/xiaomi_cgdk2/xiaomi_cgdk2.h +0 -1
- esphome/components/xiaomi_cgg1/xiaomi_cgg1.h +0 -1
- esphome/components/xiaomi_cgpr1/xiaomi_cgpr1.h +0 -1
- esphome/components/xiaomi_gcls002/xiaomi_gcls002.h +0 -1
- esphome/components/xiaomi_hhccjcy01/xiaomi_hhccjcy01.h +0 -1
- esphome/components/xiaomi_hhccjcy10/xiaomi_hhccjcy10.h +0 -1
- esphome/components/xiaomi_hhccpot002/xiaomi_hhccpot002.h +0 -1
- esphome/components/xiaomi_jqjcy01ym/xiaomi_jqjcy01ym.h +0 -1
- esphome/components/xiaomi_lywsd02/xiaomi_lywsd02.h +0 -1
- esphome/components/xiaomi_lywsd02mmc/xiaomi_lywsd02mmc.h +0 -1
- esphome/components/xiaomi_lywsd03mmc/xiaomi_lywsd03mmc.h +0 -1
- esphome/components/xiaomi_lywsdcgq/xiaomi_lywsdcgq.h +0 -1
- esphome/components/xiaomi_mhoc303/xiaomi_mhoc303.h +0 -1
- esphome/components/xiaomi_mhoc401/xiaomi_mhoc401.h +0 -1
- esphome/components/xiaomi_miscale/xiaomi_miscale.h +0 -1
- esphome/components/xiaomi_mjyd02yla/xiaomi_mjyd02yla.h +0 -1
- esphome/components/xiaomi_mue4094rt/xiaomi_mue4094rt.h +0 -1
- esphome/components/xiaomi_rtcgq02lm/xiaomi_rtcgq02lm.h +0 -1
- esphome/components/xiaomi_wx08zm/xiaomi_wx08zm.h +0 -1
- esphome/components/xiaomi_xmwsdj04mmc/__init__.py +0 -0
- esphome/components/xiaomi_xmwsdj04mmc/sensor.py +77 -0
- esphome/components/xiaomi_xmwsdj04mmc/xiaomi_xmwsdj04mmc.cpp +77 -0
- esphome/components/xiaomi_xmwsdj04mmc/xiaomi_xmwsdj04mmc.h +36 -0
- esphome/components/zio_ultrasonic/zio_ultrasonic.h +0 -2
- esphome/components/zyaura/zyaura.h +0 -1
- esphome/config.py +88 -22
- esphome/config_helpers.py +74 -1
- esphome/config_validation.py +12 -1
- esphome/const.py +65 -10
- esphome/core/__init__.py +18 -2
- esphome/core/application.cpp +163 -10
- esphome/core/application.h +145 -165
- esphome/core/area.h +19 -0
- esphome/core/automation.h +58 -9
- esphome/core/color.cpp +3 -5
- esphome/core/color.h +16 -16
- esphome/core/component.cpp +151 -18
- esphome/core/component.h +98 -4
- esphome/core/component_iterator.cpp +11 -9
- esphome/core/component_iterator.h +12 -10
- esphome/core/config.py +155 -6
- esphome/core/controller.cpp +4 -2
- esphome/core/controller.h +1 -1
- esphome/core/datatypes.h +2 -2
- esphome/core/defines.h +17 -2
- esphome/core/device.h +20 -0
- esphome/core/entity_base.cpp +20 -15
- esphome/core/entity_base.h +76 -0
- esphome/core/entity_helpers.py +168 -1
- esphome/core/event_pool.h +81 -0
- esphome/core/helpers.cpp +75 -230
- esphome/core/helpers.h +164 -104
- esphome/core/lock_free_queue.h +151 -0
- esphome/core/log.cpp +2 -2
- esphome/core/log.h +2 -0
- esphome/core/optional.h +5 -0
- esphome/core/ring_buffer.cpp +2 -2
- esphome/core/scheduler.cpp +275 -103
- esphome/core/scheduler.h +154 -17
- esphome/core/time.cpp +5 -5
- esphome/core/time.h +5 -5
- esphome/cpp_generator.py +17 -0
- esphome/cpp_helpers.py +0 -22
- esphome/cpp_types.py +3 -1
- esphome/dashboard/entries.py +1 -1
- esphome/dashboard/util/text.py +5 -21
- esphome/dashboard/web_server.py +9 -1
- esphome/helpers.py +47 -0
- esphome/loader.py +15 -1
- esphome/pins.py +14 -8
- esphome/wizard.py +17 -4
- esphome/writer.py +21 -3
- esphome/yaml_util.py +0 -2
- {esphome-2025.6.3.dist-info → esphome-2025.7.0b2.dist-info}/METADATA +10 -9
- {esphome-2025.6.3.dist-info → esphome-2025.7.0b2.dist-info}/RECORD +597 -538
- esphome/components/api/api_pb2_size.h +0 -361
- esphome/components/esp32_ble/ble_event_pool.h +0 -72
- esphome/components/esp32_ble/queue.h +0 -85
- esphome/components/esp32_hall/esp32_hall.cpp +0 -25
- esphome/components/esp32_hall/esp32_hall.h +0 -23
- esphome/components/esp32_touch/esp32_touch.cpp +0 -355
- esphome/components/ld2410/button/reset_button.cpp +0 -9
- esphome/components/ld2450/button/reset_button.cpp +0 -9
- esphome/components/openthread/tlv.py +0 -65
- /esphome/{dashboard/enum.py → enum.py} +0 -0
- {esphome-2025.6.3.dist-info → esphome-2025.7.0b2.dist-info}/WHEEL +0 -0
- {esphome-2025.6.3.dist-info → esphome-2025.7.0b2.dist-info}/entry_points.txt +0 -0
- {esphome-2025.6.3.dist-info → esphome-2025.7.0b2.dist-info}/licenses/LICENSE +0 -0
- {esphome-2025.6.3.dist-info → esphome-2025.7.0b2.dist-info}/top_level.txt +0 -0
|
@@ -16,88 +16,18 @@
|
|
|
16
16
|
#ifdef USE_BUTTON
|
|
17
17
|
#include "esphome/components/button/button.h"
|
|
18
18
|
#endif
|
|
19
|
-
#include <map>
|
|
20
|
-
#include <functional>
|
|
21
19
|
|
|
22
20
|
namespace esphome {
|
|
23
21
|
namespace ld2420 {
|
|
24
22
|
|
|
25
|
-
|
|
26
|
-
static const uint16_t REFRESH_RATE_MS = 1000;
|
|
27
|
-
|
|
28
|
-
// Command sets
|
|
29
|
-
static const uint8_t CMD_ABD_DATA_REPLY_SIZE = 0x04;
|
|
30
|
-
static const uint8_t CMD_ABD_DATA_REPLY_START = 0x0A;
|
|
31
|
-
static const uint16_t CMD_DISABLE_CONF = 0x00FE;
|
|
32
|
-
static const uint16_t CMD_ENABLE_CONF = 0x00FF;
|
|
33
|
-
static const uint8_t CMD_MAX_BYTES = 0x64;
|
|
34
|
-
static const uint16_t CMD_PARM_HIGH_TRESH = 0x0012;
|
|
35
|
-
static const uint16_t CMD_PARM_LOW_TRESH = 0x0021;
|
|
36
|
-
static const uint16_t CMD_PROTOCOL_VER = 0x0002;
|
|
37
|
-
static const uint16_t CMD_READ_ABD_PARAM = 0x0008;
|
|
38
|
-
static const uint16_t CMD_READ_REG_ADDR = 0x0020;
|
|
39
|
-
static const uint16_t CMD_READ_REGISTER = 0x0002;
|
|
40
|
-
static const uint16_t CMD_READ_SERIAL_NUM = 0x0011;
|
|
41
|
-
static const uint16_t CMD_READ_SYS_PARAM = 0x0013;
|
|
42
|
-
static const uint16_t CMD_READ_VERSION = 0x0000;
|
|
43
|
-
static const uint8_t CMD_REG_DATA_REPLY_SIZE = 0x02;
|
|
44
|
-
static const uint16_t CMD_RESTART = 0x0068;
|
|
45
|
-
static const uint16_t CMD_SYSTEM_MODE = 0x0000;
|
|
46
|
-
static const uint16_t CMD_SYSTEM_MODE_GR = 0x0003;
|
|
47
|
-
static const uint16_t CMD_SYSTEM_MODE_MTT = 0x0001;
|
|
48
|
-
static const uint16_t CMD_SYSTEM_MODE_SIMPLE = 0x0064;
|
|
49
|
-
static const uint16_t CMD_SYSTEM_MODE_DEBUG = 0x0000;
|
|
50
|
-
static const uint16_t CMD_SYSTEM_MODE_ENERGY = 0x0004;
|
|
51
|
-
static const uint16_t CMD_SYSTEM_MODE_VS = 0x0002;
|
|
52
|
-
static const uint16_t CMD_WRITE_ABD_PARAM = 0x0007;
|
|
53
|
-
static const uint16_t CMD_WRITE_REGISTER = 0x0001;
|
|
54
|
-
static const uint16_t CMD_WRITE_SYS_PARAM = 0x0012;
|
|
55
|
-
|
|
56
|
-
static const uint8_t LD2420_ERROR_NONE = 0x00;
|
|
57
|
-
static const uint8_t LD2420_ERROR_TIMEOUT = 0x02;
|
|
58
|
-
static const uint8_t LD2420_ERROR_UNKNOWN = 0x01;
|
|
59
|
-
static const uint8_t LD2420_TOTAL_GATES = 16;
|
|
23
|
+
static const uint8_t TOTAL_GATES = 16;
|
|
60
24
|
static const uint8_t CALIBRATE_SAMPLES = 64;
|
|
61
25
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B,
|
|
68
|
-
0x001C, 0x001D, 0x001E, 0x001F};
|
|
69
|
-
static const uint16_t CMD_GATE_STILL_THRESH[LD2420_TOTAL_GATES] = {0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025,
|
|
70
|
-
0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B,
|
|
71
|
-
0x002C, 0x002D, 0x002E, 0x002F};
|
|
72
|
-
static const uint32_t FACTORY_MOVE_THRESH[LD2420_TOTAL_GATES] = {60000, 30000, 400, 250, 250, 250, 250, 250,
|
|
73
|
-
250, 250, 250, 250, 250, 250, 250, 250};
|
|
74
|
-
static const uint32_t FACTORY_STILL_THRESH[LD2420_TOTAL_GATES] = {40000, 20000, 200, 200, 200, 200, 200, 150,
|
|
75
|
-
150, 100, 100, 100, 100, 100, 100, 100};
|
|
76
|
-
static const uint16_t FACTORY_TIMEOUT = 120;
|
|
77
|
-
static const uint16_t FACTORY_MIN_GATE = 1;
|
|
78
|
-
static const uint16_t FACTORY_MAX_GATE = 12;
|
|
79
|
-
|
|
80
|
-
// COMMAND_BYTE Header & Footer
|
|
81
|
-
static const uint8_t CMD_FRAME_COMMAND = 6;
|
|
82
|
-
static const uint8_t CMD_FRAME_DATA_LENGTH = 4;
|
|
83
|
-
static const uint32_t CMD_FRAME_FOOTER = 0x01020304;
|
|
84
|
-
static const uint32_t CMD_FRAME_HEADER = 0xFAFBFCFD;
|
|
85
|
-
static const uint32_t DEBUG_FRAME_FOOTER = 0xFAFBFCFD;
|
|
86
|
-
static const uint32_t DEBUG_FRAME_HEADER = 0x1410BFAA;
|
|
87
|
-
static const uint32_t ENERGY_FRAME_FOOTER = 0xF5F6F7F8;
|
|
88
|
-
static const uint32_t ENERGY_FRAME_HEADER = 0xF1F2F3F4;
|
|
89
|
-
static const uint8_t CMD_FRAME_STATUS = 7;
|
|
90
|
-
static const uint8_t CMD_ERROR_WORD = 8;
|
|
91
|
-
static const uint8_t ENERGY_SENSOR_START = 9;
|
|
92
|
-
static const uint8_t CALIBRATE_REPORT_INTERVAL = 4;
|
|
93
|
-
static const int CALIBRATE_VERSION_MIN = 154;
|
|
94
|
-
static const std::string OP_NORMAL_MODE_STRING = "Normal";
|
|
95
|
-
static const std::string OP_SIMPLE_MODE_STRING = "Simple";
|
|
96
|
-
|
|
97
|
-
enum OpModeStruct : uint8_t { OP_NORMAL_MODE = 1, OP_CALIBRATE_MODE = 2, OP_SIMPLE_MODE = 3 };
|
|
98
|
-
static const std::map<std::string, uint8_t> OP_MODE_TO_UINT{
|
|
99
|
-
{"Normal", OP_NORMAL_MODE}, {"Calibrate", OP_CALIBRATE_MODE}, {"Simple", OP_SIMPLE_MODE}};
|
|
100
|
-
static constexpr const char *ERR_MESSAGE[] = {"None", "Unknown", "Timeout"};
|
|
26
|
+
enum OpMode : uint8_t {
|
|
27
|
+
OP_NORMAL_MODE = 1,
|
|
28
|
+
OP_CALIBRATE_MODE = 2,
|
|
29
|
+
OP_SIMPLE_MODE = 3,
|
|
30
|
+
};
|
|
101
31
|
|
|
102
32
|
class LD2420Listener {
|
|
103
33
|
public:
|
|
@@ -109,6 +39,23 @@ class LD2420Listener {
|
|
|
109
39
|
|
|
110
40
|
class LD2420Component : public Component, public uart::UARTDevice {
|
|
111
41
|
public:
|
|
42
|
+
struct CmdFrameT {
|
|
43
|
+
uint32_t header{0};
|
|
44
|
+
uint32_t footer{0};
|
|
45
|
+
uint16_t length{0};
|
|
46
|
+
uint16_t command{0};
|
|
47
|
+
uint16_t data_length{0};
|
|
48
|
+
uint8_t data[18];
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
struct RegConfigT {
|
|
52
|
+
uint32_t move_thresh[TOTAL_GATES];
|
|
53
|
+
uint32_t still_thresh[TOTAL_GATES];
|
|
54
|
+
uint16_t min_gate{0};
|
|
55
|
+
uint16_t max_gate{0};
|
|
56
|
+
uint16_t timeout{0};
|
|
57
|
+
};
|
|
58
|
+
|
|
112
59
|
void setup() override;
|
|
113
60
|
void dump_config() override;
|
|
114
61
|
void loop() override;
|
|
@@ -150,23 +97,6 @@ class LD2420Component : public Component, public uart::UARTDevice {
|
|
|
150
97
|
#endif
|
|
151
98
|
void register_listener(LD2420Listener *listener) { this->listeners_.push_back(listener); }
|
|
152
99
|
|
|
153
|
-
struct CmdFrameT {
|
|
154
|
-
uint32_t header{0};
|
|
155
|
-
uint16_t length{0};
|
|
156
|
-
uint16_t command{0};
|
|
157
|
-
uint8_t data[18];
|
|
158
|
-
uint16_t data_length{0};
|
|
159
|
-
uint32_t footer{0};
|
|
160
|
-
};
|
|
161
|
-
|
|
162
|
-
struct RegConfigT {
|
|
163
|
-
uint16_t min_gate{0};
|
|
164
|
-
uint16_t max_gate{0};
|
|
165
|
-
uint16_t timeout{0};
|
|
166
|
-
uint32_t move_thresh[LD2420_TOTAL_GATES];
|
|
167
|
-
uint32_t still_thresh[LD2420_TOTAL_GATES];
|
|
168
|
-
};
|
|
169
|
-
|
|
170
100
|
void send_module_restart();
|
|
171
101
|
void restart_module_action();
|
|
172
102
|
void apply_config_action();
|
|
@@ -179,23 +109,28 @@ class LD2420Component : public Component, public uart::UARTDevice {
|
|
|
179
109
|
void set_operating_mode(const std::string &state);
|
|
180
110
|
void auto_calibrate_sensitivity();
|
|
181
111
|
void update_radar_data(uint16_t const *gate_energy, uint8_t sample_number);
|
|
182
|
-
uint8_t
|
|
112
|
+
uint8_t set_config_mode(bool enable);
|
|
113
|
+
void set_min_max_distances_timeout(uint32_t max_gate_distance, uint32_t min_gate_distance, uint32_t timeout);
|
|
114
|
+
void set_gate_threshold(uint8_t gate);
|
|
115
|
+
void set_reg_value(uint16_t reg, uint16_t value);
|
|
116
|
+
void set_system_mode(uint16_t mode);
|
|
117
|
+
void ld2420_restart();
|
|
183
118
|
|
|
184
|
-
|
|
185
|
-
|
|
119
|
+
float gate_move_sensitivity_factor{0.5};
|
|
120
|
+
float gate_still_sensitivity_factor{0.5};
|
|
186
121
|
int32_t last_periodic_millis = millis();
|
|
187
122
|
int32_t report_periodic_millis = millis();
|
|
188
123
|
int32_t monitor_periodic_millis = millis();
|
|
189
124
|
int32_t last_normal_periodic_millis = millis();
|
|
190
|
-
|
|
125
|
+
uint16_t radar_data[TOTAL_GATES][CALIBRATE_SAMPLES];
|
|
126
|
+
uint16_t gate_avg[TOTAL_GATES];
|
|
127
|
+
uint16_t gate_peak[TOTAL_GATES];
|
|
128
|
+
uint16_t total_sample_number_counter{0};
|
|
191
129
|
uint8_t current_operating_mode{OP_NORMAL_MODE};
|
|
192
|
-
uint16_t radar_data[LD2420_TOTAL_GATES][CALIBRATE_SAMPLES];
|
|
193
|
-
uint16_t gate_avg[LD2420_TOTAL_GATES];
|
|
194
|
-
uint16_t gate_peak[LD2420_TOTAL_GATES];
|
|
195
130
|
uint8_t sample_number_counter{0};
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
131
|
+
bool output_energy_state{false};
|
|
132
|
+
RegConfigT current_config;
|
|
133
|
+
RegConfigT new_config;
|
|
199
134
|
#ifdef USE_SELECT
|
|
200
135
|
select::Select *operating_selector_{nullptr};
|
|
201
136
|
#endif
|
|
@@ -205,24 +140,17 @@ class LD2420Component : public Component, public uart::UARTDevice {
|
|
|
205
140
|
button::Button *restart_module_button_{nullptr};
|
|
206
141
|
button::Button *factory_reset_button_{nullptr};
|
|
207
142
|
#endif
|
|
208
|
-
void set_min_max_distances_timeout(uint32_t max_gate_distance, uint32_t min_gate_distance, uint32_t timeout);
|
|
209
|
-
void set_gate_threshold(uint8_t gate);
|
|
210
|
-
void set_reg_value(uint16_t reg, uint16_t value);
|
|
211
|
-
uint8_t set_config_mode(bool enable);
|
|
212
|
-
void set_system_mode(uint16_t mode);
|
|
213
|
-
void ld2420_restart();
|
|
214
143
|
|
|
215
144
|
protected:
|
|
216
145
|
struct CmdReplyT {
|
|
146
|
+
uint32_t data[4];
|
|
147
|
+
uint16_t error;
|
|
217
148
|
uint8_t command;
|
|
218
149
|
uint8_t status;
|
|
219
|
-
uint32_t data[4];
|
|
220
150
|
uint8_t length;
|
|
221
|
-
uint16_t error;
|
|
222
151
|
volatile bool ack;
|
|
223
152
|
};
|
|
224
153
|
|
|
225
|
-
int get_firmware_int_(const char *version_string);
|
|
226
154
|
void get_firmware_version_();
|
|
227
155
|
int get_gate_threshold_(uint8_t gate);
|
|
228
156
|
void get_reg_value_(uint16_t reg);
|
|
@@ -253,17 +181,17 @@ class LD2420Component : public Component, public uart::UARTDevice {
|
|
|
253
181
|
std::vector<number::Number *> gate_move_threshold_numbers_ = std::vector<number::Number *>(16);
|
|
254
182
|
#endif
|
|
255
183
|
|
|
256
|
-
uint16_t gate_energy_[LD2420_TOTAL_GATES];
|
|
257
|
-
CmdReplyT cmd_reply_;
|
|
258
184
|
uint32_t max_distance_gate_;
|
|
259
185
|
uint32_t min_distance_gate_;
|
|
260
|
-
uint16_t system_mode_
|
|
186
|
+
uint16_t system_mode_;
|
|
187
|
+
uint16_t gate_energy_[TOTAL_GATES];
|
|
188
|
+
uint16_t distance_{0};
|
|
189
|
+
uint8_t config_checksum_{0};
|
|
190
|
+
char firmware_ver_[8]{"v0.0.0"};
|
|
261
191
|
bool cmd_active_{false};
|
|
262
|
-
char ld2420_firmware_ver_[8]{"v0.0.0"};
|
|
263
192
|
bool presence_{false};
|
|
264
193
|
bool calibration_{false};
|
|
265
|
-
|
|
266
|
-
uint8_t config_checksum_{0};
|
|
194
|
+
CmdReplyT cmd_reply_;
|
|
267
195
|
std::vector<LD2420Listener *> listeners_{};
|
|
268
196
|
};
|
|
269
197
|
|
|
@@ -3,6 +3,8 @@ from esphome.components import number
|
|
|
3
3
|
import esphome.config_validation as cv
|
|
4
4
|
from esphome.const import (
|
|
5
5
|
CONF_ID,
|
|
6
|
+
CONF_MOVE_THRESHOLD,
|
|
7
|
+
CONF_STILL_THRESHOLD,
|
|
6
8
|
DEVICE_CLASS_DISTANCE,
|
|
7
9
|
ENTITY_CATEGORY_CONFIG,
|
|
8
10
|
ICON_MOTION_SENSOR,
|
|
@@ -31,8 +33,6 @@ LD2420StillThresholdNumbers = ld2420_ns.class_(
|
|
|
31
33
|
)
|
|
32
34
|
CONF_MIN_GATE_DISTANCE = "min_gate_distance"
|
|
33
35
|
CONF_MAX_GATE_DISTANCE = "max_gate_distance"
|
|
34
|
-
CONF_STILL_THRESHOLD = "still_threshold"
|
|
35
|
-
CONF_MOVE_THRESHOLD = "move_threshold"
|
|
36
36
|
CONF_GATE_MOVE_SENSITIVITY = "gate_move_sensitivity"
|
|
37
37
|
CONF_GATE_STILL_SENSITIVITY = "gate_still_sensitivity"
|
|
38
38
|
CONF_GATE_SELECT = "gate_select"
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import esphome.codegen as cg
|
|
2
2
|
from esphome.components import sensor
|
|
3
3
|
import esphome.config_validation as cv
|
|
4
|
-
from esphome.const import
|
|
4
|
+
from esphome.const import (
|
|
5
|
+
CONF_ID,
|
|
6
|
+
CONF_MOVING_DISTANCE,
|
|
7
|
+
DEVICE_CLASS_DISTANCE,
|
|
8
|
+
UNIT_CENTIMETER,
|
|
9
|
+
)
|
|
5
10
|
|
|
6
11
|
from .. import CONF_LD2420_ID, LD2420Component, ld2420_ns
|
|
7
12
|
|
|
8
13
|
LD2420Sensor = ld2420_ns.class_("LD2420Sensor", sensor.Sensor, cg.Component)
|
|
9
14
|
|
|
10
|
-
CONF_MOVING_DISTANCE = "moving_distance"
|
|
11
15
|
CONF_GATE_ENERGY = "gate_energy"
|
|
12
16
|
|
|
13
17
|
CONFIG_SCHEMA = cv.All(
|
|
@@ -27,7 +27,7 @@ class LD2420Sensor : public LD2420Listener, public Component, sensor::Sensor {
|
|
|
27
27
|
|
|
28
28
|
protected:
|
|
29
29
|
sensor::Sensor *distance_sensor_{nullptr};
|
|
30
|
-
std::vector<sensor::Sensor *> energy_sensors_ = std::vector<sensor::Sensor *>(
|
|
30
|
+
std::vector<sensor::Sensor *> energy_sensors_ = std::vector<sensor::Sensor *>(TOTAL_GATES);
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
} // namespace ld2420
|
|
@@ -13,13 +13,13 @@ from esphome.const import (
|
|
|
13
13
|
|
|
14
14
|
from .. import CONF_LD2450_ID, LD2450Component, ld2450_ns
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
FactoryResetButton = ld2450_ns.class_("FactoryResetButton", button.Button)
|
|
17
17
|
RestartButton = ld2450_ns.class_("RestartButton", button.Button)
|
|
18
18
|
|
|
19
19
|
CONFIG_SCHEMA = {
|
|
20
20
|
cv.GenerateID(CONF_LD2450_ID): cv.use_id(LD2450Component),
|
|
21
21
|
cv.Optional(CONF_FACTORY_RESET): button.button_schema(
|
|
22
|
-
|
|
22
|
+
FactoryResetButton,
|
|
23
23
|
device_class=DEVICE_CLASS_RESTART,
|
|
24
24
|
entity_category=ENTITY_CATEGORY_CONFIG,
|
|
25
25
|
icon=ICON_RESTART_ALERT,
|
|
@@ -38,7 +38,7 @@ async def to_code(config):
|
|
|
38
38
|
if factory_reset_config := config.get(CONF_FACTORY_RESET):
|
|
39
39
|
b = await button.new_button(factory_reset_config)
|
|
40
40
|
await cg.register_parented(b, config[CONF_LD2450_ID])
|
|
41
|
-
cg.add(ld2450_component.
|
|
41
|
+
cg.add(ld2450_component.set_factory_reset_button(b))
|
|
42
42
|
if restart_config := config.get(CONF_RESTART):
|
|
43
43
|
b = await button.new_button(restart_config)
|
|
44
44
|
await cg.register_parented(b, config[CONF_LD2450_ID])
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
namespace esphome {
|
|
7
7
|
namespace ld2450 {
|
|
8
8
|
|
|
9
|
-
class
|
|
9
|
+
class FactoryResetButton : public button::Button, public Parented<LD2450Component> {
|
|
10
10
|
public:
|
|
11
|
-
|
|
11
|
+
FactoryResetButton() = default;
|
|
12
12
|
|
|
13
13
|
protected:
|
|
14
14
|
void press_action() override;
|