esphome 2025.6.2__py3-none-any.whl → 2025.7.0b1__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 +42 -20
- esphome/components/api/api_connection.cpp +318 -391
- esphome/components/api/api_connection.h +206 -126
- esphome/components/api/api_frame_helper.cpp +89 -124
- esphome/components/api/api_frame_helper.h +57 -45
- esphome/components/api/api_pb2.cpp +414 -4350
- esphome/components/api/api_pb2.h +287 -198
- esphome/components/api/api_pb2_dump.cpp +4333 -0
- esphome/components/api/api_pb2_service.cpp +180 -425
- esphome/components/api/api_pb2_service.h +7 -6
- esphome/components/api/api_pb2_size.h +2 -4
- esphome/components/api/api_server.cpp +138 -167
- esphome/components/api/api_server.h +66 -12
- esphome/components/api/client.py +10 -4
- esphome/components/api/list_entities.cpp +36 -105
- esphome/components/api/list_entities.h +31 -23
- esphome/components/api/proto.h +26 -3
- esphome/components/api/subscribe_state.cpp +23 -29
- esphome/components/api/subscribe_state.h +26 -19
- 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/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 +102 -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 +111 -97
- 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 +238 -0
- esphome/components/esp32_touch/esp32_touch_v2.cpp +397 -0
- esphome/components/esp8266/__init__.py +1 -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 +2 -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.cpp +0 -1
- esphome/components/http_request/http_request_arduino.h +1 -0
- esphome/components/http_request/http_request_idf.cpp +0 -1
- 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 +430 -261
- 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 +4 -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 +126 -45
- 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 +31 -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 +1 -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 +1 -5
- 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/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 +311 -430
- 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 +7 -7
- esphome/core/component_iterator.h +9 -7
- 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 +162 -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 +278 -103
- esphome/core/scheduler.h +157 -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 +16 -3
- esphome/writer.py +21 -3
- esphome/yaml_util.py +0 -2
- {esphome-2025.6.2.dist-info → esphome-2025.7.0b1.dist-info}/METADATA +10 -9
- {esphome-2025.6.2.dist-info → esphome-2025.7.0b1.dist-info}/RECORD +593 -533
- 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.2.dist-info → esphome-2025.7.0b1.dist-info}/WHEEL +0 -0
- {esphome-2025.6.2.dist-info → esphome-2025.7.0b1.dist-info}/entry_points.txt +0 -0
- {esphome-2025.6.2.dist-info → esphome-2025.7.0b1.dist-info}/licenses/LICENSE +0 -0
- {esphome-2025.6.2.dist-info → esphome-2025.7.0b1.dist-info}/top_level.txt +0 -0
|
@@ -11,7 +11,6 @@ class CopyLock : public lock::Lock, public Component {
|
|
|
11
11
|
void set_source(lock::Lock *source) { source_ = source; }
|
|
12
12
|
void setup() override;
|
|
13
13
|
void dump_config() override;
|
|
14
|
-
float get_setup_priority() const override { return setup_priority::DATA; }
|
|
15
14
|
|
|
16
15
|
protected:
|
|
17
16
|
void control(const lock::LockCall &call) override;
|
|
@@ -11,7 +11,6 @@ class CopyNumber : public number::Number, public Component {
|
|
|
11
11
|
void set_source(number::Number *source) { source_ = source; }
|
|
12
12
|
void setup() override;
|
|
13
13
|
void dump_config() override;
|
|
14
|
-
float get_setup_priority() const override { return setup_priority::DATA; }
|
|
15
14
|
|
|
16
15
|
protected:
|
|
17
16
|
void control(float value) override;
|
|
@@ -11,7 +11,6 @@ class CopySelect : public select::Select, public Component {
|
|
|
11
11
|
void set_source(select::Select *source) { source_ = source; }
|
|
12
12
|
void setup() override;
|
|
13
13
|
void dump_config() override;
|
|
14
|
-
float get_setup_priority() const override { return setup_priority::DATA; }
|
|
15
14
|
|
|
16
15
|
protected:
|
|
17
16
|
void control(const std::string &value) override;
|
|
@@ -11,7 +11,6 @@ class CopySensor : public sensor::Sensor, public Component {
|
|
|
11
11
|
void set_source(sensor::Sensor *source) { source_ = source; }
|
|
12
12
|
void setup() override;
|
|
13
13
|
void dump_config() override;
|
|
14
|
-
float get_setup_priority() const override { return setup_priority::DATA; }
|
|
15
14
|
|
|
16
15
|
protected:
|
|
17
16
|
sensor::Sensor *source_;
|
|
@@ -11,7 +11,6 @@ class CopySwitch : public switch_::Switch, public Component {
|
|
|
11
11
|
void set_source(switch_::Switch *source) { source_ = source; }
|
|
12
12
|
void setup() override;
|
|
13
13
|
void dump_config() override;
|
|
14
|
-
float get_setup_priority() const override { return setup_priority::DATA; }
|
|
15
14
|
|
|
16
15
|
protected:
|
|
17
16
|
void write_state(bool state) override;
|
|
@@ -11,7 +11,6 @@ class CopyText : public text::Text, public Component {
|
|
|
11
11
|
void set_source(text::Text *source) { source_ = source; }
|
|
12
12
|
void setup() override;
|
|
13
13
|
void dump_config() override;
|
|
14
|
-
float get_setup_priority() const override { return setup_priority::DATA; }
|
|
15
14
|
|
|
16
15
|
protected:
|
|
17
16
|
void control(const std::string &value) override;
|
|
@@ -11,7 +11,6 @@ class CopyTextSensor : public text_sensor::TextSensor, public Component {
|
|
|
11
11
|
void set_source(text_sensor::TextSensor *source) { source_ = source; }
|
|
12
12
|
void setup() override;
|
|
13
13
|
void dump_config() override;
|
|
14
|
-
float get_setup_priority() const override { return setup_priority::DATA; }
|
|
15
14
|
|
|
16
15
|
protected:
|
|
17
16
|
text_sensor::TextSensor *source_;
|
|
@@ -33,8 +33,8 @@ from esphome.const import (
|
|
|
33
33
|
DEVICE_CLASS_WINDOW,
|
|
34
34
|
)
|
|
35
35
|
from esphome.core import CORE, coroutine_with_priority
|
|
36
|
+
from esphome.core.entity_helpers import entity_duplicate_validator, setup_entity
|
|
36
37
|
from esphome.cpp_generator import MockObjClass
|
|
37
|
-
from esphome.cpp_helpers import setup_entity
|
|
38
38
|
|
|
39
39
|
IS_PLATFORM_COMPONENT = True
|
|
40
40
|
|
|
@@ -126,6 +126,9 @@ _COVER_SCHEMA = (
|
|
|
126
126
|
)
|
|
127
127
|
|
|
128
128
|
|
|
129
|
+
_COVER_SCHEMA.add_extra(entity_duplicate_validator("cover"))
|
|
130
|
+
|
|
131
|
+
|
|
129
132
|
def cover_schema(
|
|
130
133
|
class_: MockObjClass,
|
|
131
134
|
*,
|
|
@@ -154,7 +157,7 @@ COVER_SCHEMA.add_extra(cv.deprecated_schema_constant("cover"))
|
|
|
154
157
|
|
|
155
158
|
|
|
156
159
|
async def setup_cover_core_(var, config):
|
|
157
|
-
await setup_entity(var, config)
|
|
160
|
+
await setup_entity(var, config, "cover")
|
|
158
161
|
|
|
159
162
|
if (device_class := config.get(CONF_DEVICE_CLASS)) is not None:
|
|
160
163
|
cg.add(var.set_device_class(device_class))
|
|
@@ -22,8 +22,8 @@ from esphome.const import (
|
|
|
22
22
|
CONF_YEAR,
|
|
23
23
|
)
|
|
24
24
|
from esphome.core import CORE, coroutine_with_priority
|
|
25
|
+
from esphome.core.entity_helpers import entity_duplicate_validator, setup_entity
|
|
25
26
|
from esphome.cpp_generator import MockObjClass
|
|
26
|
-
from esphome.cpp_helpers import setup_entity
|
|
27
27
|
|
|
28
28
|
CODEOWNERS = ["@rfdarter", "@jesserockz"]
|
|
29
29
|
|
|
@@ -84,6 +84,8 @@ _DATETIME_SCHEMA = cv.ENTITY_BASE_SCHEMA.extend(
|
|
|
84
84
|
.extend(cv.MQTT_COMMAND_COMPONENT_SCHEMA)
|
|
85
85
|
).add_extra(_validate_time_present)
|
|
86
86
|
|
|
87
|
+
_DATETIME_SCHEMA.add_extra(entity_duplicate_validator("datetime"))
|
|
88
|
+
|
|
87
89
|
|
|
88
90
|
def date_schema(class_: MockObjClass) -> cv.Schema:
|
|
89
91
|
schema = cv.Schema(
|
|
@@ -133,7 +135,7 @@ def datetime_schema(class_: MockObjClass) -> cv.Schema:
|
|
|
133
135
|
|
|
134
136
|
|
|
135
137
|
async def setup_datetime_core_(var, config):
|
|
136
|
-
await setup_entity(var, config)
|
|
138
|
+
await setup_entity(var, config, "datetime")
|
|
137
139
|
|
|
138
140
|
if (mqtt_id := config.get(CONF_MQTT_ID)) is not None:
|
|
139
141
|
mqtt_ = cg.new_Pvariable(mqtt_id, var)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import esphome.codegen as cg
|
|
2
|
+
from esphome.config_helpers import filter_source_files_from_platform
|
|
2
3
|
import esphome.config_validation as cv
|
|
3
4
|
from esphome.const import (
|
|
4
5
|
CONF_BLOCK,
|
|
@@ -7,6 +8,7 @@ from esphome.const import (
|
|
|
7
8
|
CONF_FREE,
|
|
8
9
|
CONF_ID,
|
|
9
10
|
CONF_LOOP_TIME,
|
|
11
|
+
PlatformFramework,
|
|
10
12
|
)
|
|
11
13
|
|
|
12
14
|
CODEOWNERS = ["@OttoWinter"]
|
|
@@ -44,3 +46,21 @@ CONFIG_SCHEMA = cv.All(
|
|
|
44
46
|
async def to_code(config):
|
|
45
47
|
var = cg.new_Pvariable(config[CONF_ID])
|
|
46
48
|
await cg.register_component(var, config)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
FILTER_SOURCE_FILES = filter_source_files_from_platform(
|
|
52
|
+
{
|
|
53
|
+
"debug_esp32.cpp": {
|
|
54
|
+
PlatformFramework.ESP32_ARDUINO,
|
|
55
|
+
PlatformFramework.ESP32_IDF,
|
|
56
|
+
},
|
|
57
|
+
"debug_esp8266.cpp": {PlatformFramework.ESP8266_ARDUINO},
|
|
58
|
+
"debug_host.cpp": {PlatformFramework.HOST_NATIVE},
|
|
59
|
+
"debug_rp2040.cpp": {PlatformFramework.RP2040_ARDUINO},
|
|
60
|
+
"debug_libretiny.cpp": {
|
|
61
|
+
PlatformFramework.BK72XX_ARDUINO,
|
|
62
|
+
PlatformFramework.RTL87XX_ARDUINO,
|
|
63
|
+
PlatformFramework.LN882X_ARDUINO,
|
|
64
|
+
},
|
|
65
|
+
}
|
|
66
|
+
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from esphome import automation, pins
|
|
2
2
|
import esphome.codegen as cg
|
|
3
|
-
from esphome.components import time
|
|
3
|
+
from esphome.components import esp32, time
|
|
4
4
|
from esphome.components.esp32 import get_esp32_variant
|
|
5
5
|
from esphome.components.esp32.const import (
|
|
6
6
|
VARIANT_ESP32,
|
|
@@ -11,6 +11,7 @@ from esphome.components.esp32.const import (
|
|
|
11
11
|
VARIANT_ESP32S2,
|
|
12
12
|
VARIANT_ESP32S3,
|
|
13
13
|
)
|
|
14
|
+
from esphome.config_helpers import filter_source_files_from_platform
|
|
14
15
|
import esphome.config_validation as cv
|
|
15
16
|
from esphome.const import (
|
|
16
17
|
CONF_DEFAULT,
|
|
@@ -27,6 +28,7 @@ from esphome.const import (
|
|
|
27
28
|
CONF_WAKEUP_PIN,
|
|
28
29
|
PLATFORM_ESP32,
|
|
29
30
|
PLATFORM_ESP8266,
|
|
31
|
+
PlatformFramework,
|
|
30
32
|
)
|
|
31
33
|
|
|
32
34
|
WAKEUP_PINS = {
|
|
@@ -114,12 +116,20 @@ def validate_pin_number(value):
|
|
|
114
116
|
return value
|
|
115
117
|
|
|
116
118
|
|
|
117
|
-
def
|
|
118
|
-
if
|
|
119
|
-
|
|
120
|
-
if
|
|
121
|
-
|
|
122
|
-
|
|
119
|
+
def _validate_ex1_wakeup_mode(value):
|
|
120
|
+
if value == "ALL_LOW":
|
|
121
|
+
esp32.only_on_variant(supported=[VARIANT_ESP32], msg_prefix="ALL_LOW")(value)
|
|
122
|
+
if value == "ANY_LOW":
|
|
123
|
+
esp32.only_on_variant(
|
|
124
|
+
supported=[
|
|
125
|
+
VARIANT_ESP32S2,
|
|
126
|
+
VARIANT_ESP32S3,
|
|
127
|
+
VARIANT_ESP32C6,
|
|
128
|
+
VARIANT_ESP32H2,
|
|
129
|
+
],
|
|
130
|
+
msg_prefix="ANY_LOW",
|
|
131
|
+
)(value)
|
|
132
|
+
return value
|
|
123
133
|
|
|
124
134
|
|
|
125
135
|
deep_sleep_ns = cg.esphome_ns.namespace("deep_sleep")
|
|
@@ -146,6 +156,7 @@ WAKEUP_PIN_MODES = {
|
|
|
146
156
|
esp_sleep_ext1_wakeup_mode_t = cg.global_ns.enum("esp_sleep_ext1_wakeup_mode_t")
|
|
147
157
|
Ext1Wakeup = deep_sleep_ns.struct("Ext1Wakeup")
|
|
148
158
|
EXT1_WAKEUP_MODES = {
|
|
159
|
+
"ANY_LOW": esp_sleep_ext1_wakeup_mode_t.ESP_EXT1_WAKEUP_ANY_LOW,
|
|
149
160
|
"ALL_LOW": esp_sleep_ext1_wakeup_mode_t.ESP_EXT1_WAKEUP_ALL_LOW,
|
|
150
161
|
"ANY_HIGH": esp_sleep_ext1_wakeup_mode_t.ESP_EXT1_WAKEUP_ANY_HIGH,
|
|
151
162
|
}
|
|
@@ -185,16 +196,28 @@ CONFIG_SCHEMA = cv.All(
|
|
|
185
196
|
),
|
|
186
197
|
cv.Optional(CONF_ESP32_EXT1_WAKEUP): cv.All(
|
|
187
198
|
cv.only_on_esp32,
|
|
199
|
+
esp32.only_on_variant(
|
|
200
|
+
unsupported=[VARIANT_ESP32C3], msg_prefix="Wakeup from ext1"
|
|
201
|
+
),
|
|
188
202
|
cv.Schema(
|
|
189
203
|
{
|
|
190
204
|
cv.Required(CONF_PINS): cv.ensure_list(
|
|
191
205
|
pins.internal_gpio_input_pin_schema, validate_pin_number
|
|
192
206
|
),
|
|
193
|
-
cv.Required(CONF_MODE): cv.
|
|
207
|
+
cv.Required(CONF_MODE): cv.All(
|
|
208
|
+
cv.enum(EXT1_WAKEUP_MODES, upper=True),
|
|
209
|
+
_validate_ex1_wakeup_mode,
|
|
210
|
+
),
|
|
194
211
|
}
|
|
195
212
|
),
|
|
196
213
|
),
|
|
197
|
-
cv.Optional(CONF_TOUCH_WAKEUP): cv.All(
|
|
214
|
+
cv.Optional(CONF_TOUCH_WAKEUP): cv.All(
|
|
215
|
+
cv.only_on_esp32,
|
|
216
|
+
esp32.only_on_variant(
|
|
217
|
+
unsupported=[VARIANT_ESP32C3], msg_prefix="Wakeup from touch"
|
|
218
|
+
),
|
|
219
|
+
cv.boolean,
|
|
220
|
+
),
|
|
198
221
|
}
|
|
199
222
|
).extend(cv.COMPONENT_SCHEMA),
|
|
200
223
|
cv.only_on([PLATFORM_ESP32, PLATFORM_ESP8266]),
|
|
@@ -313,3 +336,14 @@ async def deep_sleep_action_to_code(config, action_id, template_arg, args):
|
|
|
313
336
|
var = cg.new_Pvariable(action_id, template_arg)
|
|
314
337
|
await cg.register_parented(var, config[CONF_ID])
|
|
315
338
|
return var
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
FILTER_SOURCE_FILES = filter_source_files_from_platform(
|
|
342
|
+
{
|
|
343
|
+
"deep_sleep_esp32.cpp": {
|
|
344
|
+
PlatformFramework.ESP32_ARDUINO,
|
|
345
|
+
PlatformFramework.ESP32_IDF,
|
|
346
|
+
},
|
|
347
|
+
"deep_sleep_esp8266.cpp": {PlatformFramework.ESP8266_ARDUINO},
|
|
348
|
+
}
|
|
349
|
+
)
|
|
@@ -455,7 +455,7 @@ CONFIG_SCHEMA = cv.Schema(
|
|
|
455
455
|
CONF_NAME: "Demo Plain Sensor",
|
|
456
456
|
},
|
|
457
457
|
{
|
|
458
|
-
CONF_NAME: "Demo Temperature Sensor",
|
|
458
|
+
CONF_NAME: "Demo Temperature Sensor 1",
|
|
459
459
|
CONF_UNIT_OF_MEASUREMENT: UNIT_CELSIUS,
|
|
460
460
|
CONF_ICON: ICON_THERMOMETER,
|
|
461
461
|
CONF_ACCURACY_DECIMALS: 1,
|
|
@@ -463,7 +463,7 @@ CONFIG_SCHEMA = cv.Schema(
|
|
|
463
463
|
CONF_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
|
464
464
|
},
|
|
465
465
|
{
|
|
466
|
-
CONF_NAME: "Demo Temperature Sensor",
|
|
466
|
+
CONF_NAME: "Demo Temperature Sensor 2",
|
|
467
467
|
CONF_UNIT_OF_MEASUREMENT: UNIT_CELSIUS,
|
|
468
468
|
CONF_ICON: ICON_THERMOMETER,
|
|
469
469
|
CONF_ACCURACY_DECIMALS: 1,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
#include "display.h"
|
|
2
2
|
#include <utility>
|
|
3
|
+
#include <numbers>
|
|
3
4
|
#include "display_color_utils.h"
|
|
4
5
|
#include "esphome/core/hal.h"
|
|
5
6
|
#include "esphome/core/log.h"
|
|
@@ -424,15 +425,15 @@ void HOT Display::get_regular_polygon_vertex(int vertex_id, int *vertex_x, int *
|
|
|
424
425
|
// hence we rotate the shape by 270° to orient the polygon up.
|
|
425
426
|
rotation_degrees += ROTATION_270_DEGREES;
|
|
426
427
|
// Convert the rotation to radians, easier to use in trigonometrical calculations
|
|
427
|
-
float rotation_radians = rotation_degrees *
|
|
428
|
+
float rotation_radians = rotation_degrees * std::numbers::pi / 180;
|
|
428
429
|
// A pointy top variation means the first vertex of the polygon is at the top center of the shape, this requires no
|
|
429
430
|
// additional rotation of the shape.
|
|
430
431
|
// A flat top variation means the first point of the polygon has to be rotated so that the first edge is horizontal,
|
|
431
432
|
// this requires to rotate the shape by π/edges radians counter-clockwise so that the first point is located on the
|
|
432
433
|
// left side of the first horizontal edge.
|
|
433
|
-
rotation_radians -= (variation == VARIATION_FLAT_TOP) ?
|
|
434
|
+
rotation_radians -= (variation == VARIATION_FLAT_TOP) ? std::numbers::pi / edges : 0.0;
|
|
434
435
|
|
|
435
|
-
float vertex_angle = ((float) vertex_id) / edges * 2 *
|
|
436
|
+
float vertex_angle = ((float) vertex_id) / edges * 2 * std::numbers::pi + rotation_radians;
|
|
436
437
|
*vertex_x = (int) round(cos(vertex_angle) * radius) + center_x;
|
|
437
438
|
*vertex_y = (int) round(sin(vertex_angle) * radius) + center_y;
|
|
438
439
|
}
|
|
@@ -11,7 +11,7 @@ namespace display {
|
|
|
11
11
|
static const char *const TAG = "display";
|
|
12
12
|
|
|
13
13
|
void DisplayBuffer::init_internal_(uint32_t buffer_length) {
|
|
14
|
-
|
|
14
|
+
RAMAllocator<uint8_t> allocator;
|
|
15
15
|
this->buffer_ = allocator.allocate(buffer_length);
|
|
16
16
|
if (this->buffer_ == nullptr) {
|
|
17
17
|
ESP_LOGE(TAG, "Could not allocate buffer for display!");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
CODEOWNERS = ["@mrk-its"]
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
#include "ds2484.h"
|
|
2
|
+
|
|
3
|
+
namespace esphome {
|
|
4
|
+
namespace ds2484 {
|
|
5
|
+
static const char *const TAG = "ds2484.onewire";
|
|
6
|
+
|
|
7
|
+
void DS2484OneWireBus::setup() {
|
|
8
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
|
9
|
+
this->reset_device();
|
|
10
|
+
this->search();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
void DS2484OneWireBus::dump_config() {
|
|
14
|
+
ESP_LOGCONFIG(TAG, "1-wire bus:");
|
|
15
|
+
this->dump_devices_(TAG);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
bool DS2484OneWireBus::read_status_(uint8_t *status) {
|
|
19
|
+
for (uint8_t retry_nr = 0; retry_nr < 10; retry_nr++) {
|
|
20
|
+
if (this->read(status, 1) != i2c::ERROR_OK) {
|
|
21
|
+
ESP_LOGE(TAG, "read status error");
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
ESP_LOGVV(TAG, "status: %02x", *status);
|
|
25
|
+
if (!(*status & 1)) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
ESP_LOGE(TAG, "read status error: too many retries");
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
bool DS2484OneWireBus::wait_for_completion_() {
|
|
34
|
+
uint8_t status;
|
|
35
|
+
return this->read_status_(&status);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
bool DS2484OneWireBus::reset_device() {
|
|
39
|
+
ESP_LOGVV(TAG, "reset_device");
|
|
40
|
+
uint8_t device_reset_cmd = 0xf0;
|
|
41
|
+
uint8_t response;
|
|
42
|
+
if (this->write(&device_reset_cmd, 1) != i2c::ERROR_OK) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
if (!this->wait_for_completion_()) {
|
|
46
|
+
ESP_LOGE(TAG, "reset_device: can't complete");
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
uint8_t config = (this->active_pullup_ ? 1 : 0) | (this->strong_pullup_ ? 4 : 0);
|
|
50
|
+
uint8_t write_config[2] = {0xd2, (uint8_t) (config | (~config << 4))};
|
|
51
|
+
if (this->write(write_config, 2) != i2c::ERROR_OK) {
|
|
52
|
+
ESP_LOGE(TAG, "reset_device: can't write config");
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
if (this->read(&response, 1) != i2c::ERROR_OK) {
|
|
56
|
+
ESP_LOGE(TAG, "can't read read8 response");
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
if (response != (write_config[1] & 0xf)) {
|
|
60
|
+
ESP_LOGE(TAG, "configuration didn't update");
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
return true;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
int DS2484OneWireBus::reset_int() {
|
|
67
|
+
ESP_LOGVV(TAG, "reset");
|
|
68
|
+
uint8_t reset_cmd = 0xb4;
|
|
69
|
+
if (this->write(&reset_cmd, 1) != i2c::ERROR_OK) {
|
|
70
|
+
return -1;
|
|
71
|
+
}
|
|
72
|
+
return this->wait_for_completion_() ? 1 : 0;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
void DS2484OneWireBus::write8_(uint8_t value) {
|
|
76
|
+
uint8_t buffer[2] = {0xa5, value};
|
|
77
|
+
this->write(buffer, 2);
|
|
78
|
+
this->wait_for_completion_();
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
void DS2484OneWireBus::write8(uint8_t value) {
|
|
82
|
+
ESP_LOGVV(TAG, "write8: %02x", value);
|
|
83
|
+
this->write8_(value);
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
void DS2484OneWireBus::write64(uint64_t value) {
|
|
87
|
+
ESP_LOGVV(TAG, "write64: %llx", value);
|
|
88
|
+
for (uint8_t i = 0; i < 8; i++) {
|
|
89
|
+
this->write8_((value >> (i * 8)) & 0xff);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
uint8_t DS2484OneWireBus::read8() {
|
|
94
|
+
uint8_t read8_cmd = 0x96;
|
|
95
|
+
uint8_t set_read_reg_cmd[2] = {0xe1, 0xe1};
|
|
96
|
+
uint8_t response = 0;
|
|
97
|
+
if (this->write(&read8_cmd, 1) != i2c::ERROR_OK) {
|
|
98
|
+
ESP_LOGE(TAG, "can't write read8 cmd");
|
|
99
|
+
return 0;
|
|
100
|
+
}
|
|
101
|
+
this->wait_for_completion_();
|
|
102
|
+
if (this->write(set_read_reg_cmd, 2) != i2c::ERROR_OK) {
|
|
103
|
+
ESP_LOGE(TAG, "can't set read data reg");
|
|
104
|
+
return 0;
|
|
105
|
+
}
|
|
106
|
+
if (this->read(&response, 1) != i2c::ERROR_OK) {
|
|
107
|
+
ESP_LOGE(TAG, "can't read read8 response");
|
|
108
|
+
return 0;
|
|
109
|
+
}
|
|
110
|
+
return response;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
uint64_t DS2484OneWireBus::read64() {
|
|
114
|
+
uint8_t response = 0;
|
|
115
|
+
for (uint8_t i = 0; i < 8; i++) {
|
|
116
|
+
response |= (this->read8() << (i * 8));
|
|
117
|
+
}
|
|
118
|
+
return response;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
void DS2484OneWireBus::reset_search() {
|
|
122
|
+
this->last_discrepancy_ = 0;
|
|
123
|
+
this->last_device_flag_ = false;
|
|
124
|
+
this->address_ = 0;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
bool DS2484OneWireBus::one_wire_triple_(bool *branch, bool *id_bit, bool *cmp_id_bit) {
|
|
128
|
+
uint8_t buffer[2] = {(uint8_t) 0x78, (uint8_t) (*branch ? 0x80u : 0)};
|
|
129
|
+
uint8_t status;
|
|
130
|
+
if (!this->read_status_(&status)) {
|
|
131
|
+
ESP_LOGE(TAG, "one_wire_triple start: read status error");
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
if (this->write(buffer, 2) != i2c::ERROR_OK) {
|
|
135
|
+
ESP_LOGV(TAG, "one_wire_triple: can't write cmd");
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
if (!this->read_status_(&status)) {
|
|
139
|
+
ESP_LOGE(TAG, "one_wire_triple: read status error");
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
*id_bit = bool(status & 0x20);
|
|
143
|
+
*cmp_id_bit = bool(status & 0x40);
|
|
144
|
+
*branch = bool(status & 0x80);
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
uint64_t IRAM_ATTR DS2484OneWireBus::search_int() {
|
|
149
|
+
ESP_LOGVV(TAG, "search_int");
|
|
150
|
+
if (this->last_device_flag_) {
|
|
151
|
+
ESP_LOGVV(TAG, "last device flag set, quitting");
|
|
152
|
+
return 0u;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
uint8_t last_zero = 0;
|
|
156
|
+
uint64_t bit_mask = 1;
|
|
157
|
+
uint64_t address = this->address_;
|
|
158
|
+
|
|
159
|
+
// Initiate search
|
|
160
|
+
for (uint8_t bit_number = 1; bit_number <= 64; bit_number++, bit_mask <<= 1) {
|
|
161
|
+
bool branch;
|
|
162
|
+
|
|
163
|
+
// compute branch value for the case when there is a discrepancy
|
|
164
|
+
// (there are devices with both 0s and 1s at this bit)
|
|
165
|
+
if (bit_number < this->last_discrepancy_) {
|
|
166
|
+
branch = (address & bit_mask) > 0;
|
|
167
|
+
} else {
|
|
168
|
+
branch = bit_number == this->last_discrepancy_;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
bool id_bit, cmp_id_bit;
|
|
172
|
+
bool branch_before = branch;
|
|
173
|
+
if (!this->one_wire_triple_(&branch, &id_bit, &cmp_id_bit)) {
|
|
174
|
+
ESP_LOGW(TAG, "one wire triple error, quitting");
|
|
175
|
+
return 0;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
if (id_bit && cmp_id_bit) {
|
|
179
|
+
ESP_LOGW(TAG, "no devices on the bus, quitting");
|
|
180
|
+
// No devices participating in search
|
|
181
|
+
return 0;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
if (!id_bit && !cmp_id_bit && !branch) {
|
|
185
|
+
last_zero = bit_number;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
ESP_LOGVV(TAG, "%d %d branch: %d %d", id_bit, cmp_id_bit, branch_before, branch);
|
|
189
|
+
|
|
190
|
+
if (branch) {
|
|
191
|
+
address |= bit_mask;
|
|
192
|
+
} else {
|
|
193
|
+
address &= ~bit_mask;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
ESP_LOGVV(TAG, "last_discepancy: %d", last_zero);
|
|
197
|
+
ESP_LOGVV(TAG, "address: %llx", address);
|
|
198
|
+
this->last_discrepancy_ = last_zero;
|
|
199
|
+
if (this->last_discrepancy_ == 0) {
|
|
200
|
+
// we're at root and have no choices left, so this was the last one.
|
|
201
|
+
this->last_device_flag_ = true;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
this->address_ = address;
|
|
205
|
+
return address;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
} // namespace ds2484
|
|
209
|
+
} // namespace esphome
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include "esphome/core/component.h"
|
|
4
|
+
#include "esphome/core/hal.h"
|
|
5
|
+
#include "esphome/core/preferences.h"
|
|
6
|
+
#include "esphome/components/i2c/i2c.h"
|
|
7
|
+
#include "esphome/components/one_wire/one_wire.h"
|
|
8
|
+
|
|
9
|
+
namespace esphome {
|
|
10
|
+
namespace ds2484 {
|
|
11
|
+
|
|
12
|
+
class DS2484OneWireBus : public one_wire::OneWireBus, public i2c::I2CDevice, public Component {
|
|
13
|
+
public:
|
|
14
|
+
void setup() override;
|
|
15
|
+
void dump_config() override;
|
|
16
|
+
float get_setup_priority() const override { return setup_priority::BUS - 1.0; }
|
|
17
|
+
|
|
18
|
+
bool reset_device();
|
|
19
|
+
int reset_int() override;
|
|
20
|
+
void write8(uint8_t) override;
|
|
21
|
+
void write64(uint64_t) override;
|
|
22
|
+
uint8_t read8() override;
|
|
23
|
+
uint64_t read64() override;
|
|
24
|
+
|
|
25
|
+
void set_active_pullup(bool value) { this->active_pullup_ = value; }
|
|
26
|
+
void set_strong_pullup(bool value) { this->strong_pullup_ = value; }
|
|
27
|
+
|
|
28
|
+
protected:
|
|
29
|
+
void reset_search() override;
|
|
30
|
+
uint64_t search_int() override;
|
|
31
|
+
bool read_status_(uint8_t *);
|
|
32
|
+
bool wait_for_completion_();
|
|
33
|
+
void write8_(uint8_t);
|
|
34
|
+
bool one_wire_triple_(bool *branch, bool *id_bit, bool *cmp_id_bit);
|
|
35
|
+
|
|
36
|
+
uint64_t address_;
|
|
37
|
+
uint8_t last_discrepancy_{0};
|
|
38
|
+
bool last_device_flag_{false};
|
|
39
|
+
bool active_pullup_{false};
|
|
40
|
+
bool strong_pullup_{false};
|
|
41
|
+
};
|
|
42
|
+
} // namespace ds2484
|
|
43
|
+
} // namespace esphome
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import esphome.codegen as cg
|
|
2
|
+
from esphome.components import i2c
|
|
3
|
+
from esphome.components.one_wire import OneWireBus
|
|
4
|
+
import esphome.config_validation as cv
|
|
5
|
+
from esphome.const import CONF_ID
|
|
6
|
+
|
|
7
|
+
ds2484_ns = cg.esphome_ns.namespace("ds2484")
|
|
8
|
+
|
|
9
|
+
CONF_ACTIVE_PULLUP = "active_pullup"
|
|
10
|
+
CONF_STRONG_PULLUP = "strong_pullup"
|
|
11
|
+
|
|
12
|
+
CODEOWNERS = ["@mrk-its"]
|
|
13
|
+
DEPENDENCIES = ["i2c"]
|
|
14
|
+
|
|
15
|
+
DS2484OneWireBus = ds2484_ns.class_(
|
|
16
|
+
"DS2484OneWireBus", OneWireBus, i2c.I2CDevice, cg.Component
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
CONFIG_SCHEMA = (
|
|
20
|
+
cv.Schema(
|
|
21
|
+
{
|
|
22
|
+
cv.GenerateID(): cv.declare_id(DS2484OneWireBus),
|
|
23
|
+
cv.Optional(CONF_ACTIVE_PULLUP, default=False): cv.boolean,
|
|
24
|
+
cv.Optional(CONF_STRONG_PULLUP, default=False): cv.boolean,
|
|
25
|
+
}
|
|
26
|
+
)
|
|
27
|
+
.extend(cv.COMPONENT_SCHEMA)
|
|
28
|
+
.extend(i2c.i2c_device_schema(0x18))
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
async def to_code(config):
|
|
33
|
+
var = cg.new_Pvariable(config[CONF_ID])
|
|
34
|
+
await i2c.register_i2c_device(var, config)
|
|
35
|
+
await cg.register_component(var, config)
|
|
36
|
+
cg.add(var.set_active_pullup(config[CONF_ACTIVE_PULLUP]))
|
|
37
|
+
cg.add(var.set_strong_pullup(config[CONF_STRONG_PULLUP]))
|
|
@@ -19,7 +19,6 @@ class DutyTimeSensor : public sensor::Sensor, public PollingComponent {
|
|
|
19
19
|
void update() override;
|
|
20
20
|
void loop() override;
|
|
21
21
|
void dump_config() override;
|
|
22
|
-
float get_setup_priority() const override { return setup_priority::DATA; }
|
|
23
22
|
|
|
24
23
|
void start();
|
|
25
24
|
void stop();
|
|
@@ -18,7 +18,6 @@ class ENS160Component : public PollingComponent, public sensor::Sensor {
|
|
|
18
18
|
void setup() override;
|
|
19
19
|
void update() override;
|
|
20
20
|
void dump_config() override;
|
|
21
|
-
float get_setup_priority() const override { return setup_priority::DATA; }
|
|
22
21
|
|
|
23
22
|
protected:
|
|
24
23
|
void send_env_data_();
|
|
@@ -25,7 +25,6 @@ class ES7210 : public audio_adc::AudioAdc, public Component, public i2c::I2CDevi
|
|
|
25
25
|
*/
|
|
26
26
|
public:
|
|
27
27
|
void setup() override;
|
|
28
|
-
float get_setup_priority() const override { return setup_priority::DATA; }
|
|
29
28
|
void dump_config() override;
|
|
30
29
|
|
|
31
30
|
void set_bits_per_sample(ES7210BitsPerSample bits_per_sample) { this->bits_per_sample_ = bits_per_sample; }
|
|
@@ -14,7 +14,6 @@ class ES7243E : public audio_adc::AudioAdc, public Component, public i2c::I2CDev
|
|
|
14
14
|
*/
|
|
15
15
|
public:
|
|
16
16
|
void setup() override;
|
|
17
|
-
float get_setup_priority() const override { return setup_priority::DATA; }
|
|
18
17
|
void dump_config() override;
|
|
19
18
|
|
|
20
19
|
bool set_mic_gain(float mic_gain) override;
|
|
@@ -14,7 +14,6 @@ class ES8156 : public audio_dac::AudioDac, public Component, public i2c::I2CDevi
|
|
|
14
14
|
/////////////////////////
|
|
15
15
|
|
|
16
16
|
void setup() override;
|
|
17
|
-
float get_setup_priority() const override { return setup_priority::DATA; }
|
|
18
17
|
void dump_config() override;
|
|
19
18
|
|
|
20
19
|
////////////////////////
|