esphome 2025.5.1__py3-none-any.whl → 2025.6.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 +20 -14
- esphome/components/a4988/a4988.cpp +1 -1
- esphome/components/absolute_humidity/absolute_humidity.cpp +6 -4
- esphome/components/ac_dimmer/ac_dimmer.cpp +4 -2
- esphome/components/adc/adc_sensor_esp32.cpp +5 -3
- esphome/components/adc/adc_sensor_esp8266.cpp +5 -3
- esphome/components/adc/adc_sensor_libretiny.cpp +5 -3
- esphome/components/adc/adc_sensor_rp2040.cpp +5 -3
- esphome/components/adc128s102/adc128s102.cpp +1 -1
- esphome/components/ade7880/ade7880.cpp +28 -17
- esphome/components/ade7953_base/ade7953_base.cpp +12 -9
- esphome/components/ade7953_i2c/ade7953_i2c.cpp +1 -1
- esphome/components/ade7953_spi/ade7953_spi.cpp +1 -1
- esphome/components/ads1115/ads1115.cpp +3 -5
- esphome/components/ads1118/ads1118.cpp +2 -1
- esphome/components/ags10/ags10.cpp +3 -2
- esphome/components/aht10/aht10.cpp +27 -29
- esphome/components/aic3204/aic3204.cpp +2 -2
- esphome/components/alarm_control_panel/__init__.py +1 -0
- esphome/components/am2315c/am2315c.cpp +2 -2
- esphome/components/am2320/am2320.cpp +2 -2
- esphome/components/am43/am43_base.h +1 -1
- esphome/components/am43/cover/am43_cover.cpp +4 -2
- esphome/components/analog_threshold/analog_threshold_binary_sensor.cpp +4 -2
- esphome/components/apds9306/apds9306.cpp +8 -5
- esphome/components/apds9960/apds9960.cpp +2 -2
- esphome/components/api/__init__.py +5 -0
- esphome/components/api/api_connection.cpp +712 -358
- esphome/components/api/api_connection.h +343 -284
- esphome/components/api/api_frame_helper.cpp +349 -344
- esphome/components/api/api_frame_helper.h +121 -94
- esphome/components/api/api_pb2.cpp +2 -0
- esphome/components/api/api_pb2.h +637 -1
- esphome/components/api/api_pb2_service.cpp +12 -688
- esphome/components/api/api_pb2_service.h +53 -207
- esphome/components/api/api_server.cpp +71 -29
- esphome/components/api/api_server.h +9 -0
- esphome/components/api/client.py +5 -2
- esphome/components/api/homeassistant_service.h +1 -1
- esphome/components/api/list_entities.cpp +1 -1
- esphome/components/api/proto.cpp +1 -0
- esphome/components/api/proto.h +4 -3
- esphome/components/api/subscribe_state.cpp +8 -16
- esphome/components/as3935/as3935.cpp +3 -3
- esphome/components/as5600/as5600.cpp +9 -7
- esphome/components/as7341/as7341.cpp +7 -5
- esphome/components/at581x/at581x.cpp +13 -10
- esphome/components/atm90e26/atm90e26.cpp +2 -2
- esphome/components/atm90e32/atm90e32.cpp +3 -3
- esphome/components/axs15231/touchscreen/axs15231_touchscreen.cpp +5 -3
- esphome/components/bang_bang/bang_bang_climate.cpp +8 -5
- esphome/components/bedjet/bedjet_hub.cpp +6 -4
- esphome/components/beken_spi_led_strip/led_strip.cpp +11 -7
- esphome/components/bh1750/bh1750.cpp +2 -2
- esphome/components/binary_sensor/__init__.py +1 -0
- esphome/components/binary_sensor/automation.cpp +1 -2
- esphome/components/bl0906/bl0906.cpp +1 -1
- esphome/components/bl0942/bl0942.cpp +11 -8
- esphome/components/bl0942/sensor.py +1 -1
- esphome/components/ble_client/__init__.py +5 -1
- esphome/components/ble_client/output/ble_binary_output.cpp +6 -3
- esphome/components/ble_client/sensor/ble_sensor.cpp +9 -6
- esphome/components/ble_client/text_sensor/ble_text_sensor.cpp +8 -5
- esphome/components/bluetooth_proxy/__init__.py +5 -1
- esphome/components/bluetooth_proxy/bluetooth_connection.cpp +5 -5
- esphome/components/bluetooth_proxy/bluetooth_proxy.cpp +16 -14
- esphome/components/bme280_base/bme280_base.cpp +3 -3
- esphome/components/bme680/bme680.cpp +3 -3
- esphome/components/bme680/sensor.py +2 -2
- esphome/components/bme680_bsec/bme680_bsec.cpp +11 -7
- esphome/components/bme680_bsec/sensor.py +7 -3
- esphome/components/bme68x_bsec2/__init__.py +6 -5
- esphome/components/bme68x_bsec2/bme68x_bsec2.cpp +17 -13
- esphome/components/bme68x_bsec2/sensor.py +4 -4
- esphome/components/bme68x_bsec2_i2c/bme68x_bsec2_i2c.cpp +1 -0
- esphome/components/bmi160/bmi160.cpp +11 -11
- esphome/components/bmp085/bmp085.cpp +2 -2
- esphome/components/bmp280_base/bmp280_base.cpp +3 -3
- esphome/components/bmp3xx_base/bmp3xx_base.cpp +13 -13
- esphome/components/bmp581/bmp581.cpp +33 -27
- esphome/components/bp1658cj/bp1658cj.cpp +5 -3
- esphome/components/bp5758d/bp5758d.cpp +1 -1
- esphome/components/button/__init__.py +1 -0
- esphome/components/canbus/canbus.cpp +1 -1
- esphome/components/cap1188/cap1188.cpp +6 -4
- esphome/components/captive_portal/captive_portal.cpp +1 -1
- esphome/components/ccs811/ccs811.cpp +3 -2
- esphome/components/cd74hc4067/cd74hc4067.cpp +1 -1
- esphome/components/ch422g/ch422g.cpp +2 -2
- esphome/components/chsc6x/chsc6x_touchscreen.cpp +6 -4
- esphome/components/climate/__init__.py +1 -0
- esphome/components/climate/climate.cpp +12 -7
- esphome/components/climate/climate.h +1 -1
- esphome/components/climate_ir/climate_ir.cpp +7 -4
- esphome/components/cm1106/__init__.py +1 -0
- esphome/components/cm1106/cm1106.cpp +112 -0
- esphome/components/cm1106/cm1106.h +40 -0
- esphome/components/cm1106/sensor.py +72 -0
- esphome/components/const/__init__.py +1 -0
- esphome/components/cover/__init__.py +1 -0
- esphome/components/cs5460a/cs5460a.cpp +16 -11
- esphome/components/cse7761/cse7761.cpp +2 -2
- esphome/components/cse7766/cse7766.cpp +0 -5
- esphome/components/cse7766/cse7766.h +5 -1
- esphome/components/cst226/touchscreen/cst226_touchscreen.cpp +1 -1
- esphome/components/cst816/touchscreen/cst816_touchscreen.cpp +6 -3
- esphome/components/current_based/current_based_cover.cpp +4 -2
- esphome/components/dac7678/dac7678_output.cpp +4 -4
- esphome/components/dallas_temp/dallas_temp.cpp +2 -3
- esphome/components/daly_bms/daly_bms.cpp +2 -1
- esphome/components/dashboard_import/__init__.py +1 -2
- esphome/components/datetime/__init__.py +3 -1
- esphome/components/debug/debug_component.cpp +1 -5
- esphome/components/debug/debug_component.h +1 -1
- esphome/components/debug/debug_esp32.cpp +4 -2
- esphome/components/deep_sleep/deep_sleep_component.cpp +11 -5
- esphome/components/deep_sleep/deep_sleep_esp32.cpp +7 -5
- esphome/components/demo/__init__.py +206 -0
- esphome/components/demo/demo_alarm_control_panel.h +65 -0
- esphome/components/demo/demo_button.h +15 -0
- esphome/components/demo/demo_date.h +34 -0
- esphome/components/demo/demo_datetime.h +40 -0
- esphome/components/demo/demo_lock.h +17 -0
- esphome/components/demo/demo_select.h +15 -0
- esphome/components/demo/demo_text.h +18 -0
- esphome/components/demo/demo_time.h +34 -0
- esphome/components/demo/demo_valve.h +54 -0
- esphome/components/dfrobot_sen0395/commands.cpp +3 -3
- esphome/components/dht/dht.cpp +29 -50
- esphome/components/dht12/dht12.cpp +2 -2
- esphome/components/display/display.h +5 -3
- esphome/components/dps310/dps310.cpp +7 -5
- esphome/components/ds1307/ds1307.cpp +2 -2
- esphome/components/dsmr/dsmr.cpp +5 -3
- esphome/components/duty_cycle/duty_cycle_sensor.cpp +2 -2
- esphome/components/duty_time/duty_time_sensor.cpp +5 -3
- esphome/components/ee895/ee895.cpp +3 -3
- esphome/components/ektf2232/touchscreen/ektf2232.cpp +1 -1
- esphome/components/emc2101/emc2101.cpp +11 -9
- esphome/components/ens160_base/ens160_base.cpp +2 -2
- esphome/components/ens210/ens210.cpp +2 -2
- esphome/components/es7210/es7210.cpp +6 -4
- esphome/components/es7243e/es7243e.cpp +1 -1
- esphome/components/es8156/es8156.cpp +1 -1
- esphome/components/es8311/es8311.cpp +8 -6
- esphome/components/es8388/__init__.py +0 -0
- esphome/components/es8388/audio_dac.py +26 -0
- esphome/components/es8388/es8388.cpp +289 -0
- esphome/components/es8388/es8388.h +81 -0
- esphome/components/es8388/es8388_const.h +83 -0
- esphome/components/es8388/select/__init__.py +47 -0
- esphome/components/es8388/select/adc_input_mic_select.cpp +12 -0
- esphome/components/es8388/select/adc_input_mic_select.h +15 -0
- esphome/components/es8388/select/dac_output_select.cpp +12 -0
- esphome/components/es8388/select/dac_output_select.h +15 -0
- esphome/components/esp32/__init__.py +88 -20
- esphome/components/esp32/boards.py +208 -125
- esphome/components/esp32/const.py +6 -0
- esphome/components/esp32/gpio.py +14 -1
- esphome/components/esp32/gpio_esp32_c5.py +45 -0
- esphome/components/esp32/gpio_esp32_p4.py +43 -0
- esphome/components/esp32/preferences.cpp +7 -7
- esphome/components/esp32_ble/__init__.py +115 -0
- esphome/components/esp32_ble/ble.cpp +11 -9
- esphome/components/esp32_ble/ble_uuid.h +1 -1
- esphome/components/esp32_ble_client/ble_client_base.cpp +4 -2
- esphome/components/esp32_ble_server/__init__.py +4 -1
- esphome/components/esp32_ble_server/ble_characteristic.cpp +1 -0
- esphome/components/esp32_ble_server/ble_server.h +0 -1
- esphome/components/esp32_ble_tracker/__init__.py +6 -2
- esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +12 -9
- esphome/components/esp32_camera/esp32_camera.cpp +35 -27
- esphome/components/esp32_camera_web_server/camera_web_server.cpp +4 -2
- esphome/components/esp32_dac/esp32_dac.cpp +2 -2
- esphome/components/esp32_improv/__init__.py +5 -1
- esphome/components/esp32_improv/esp32_improv_component.cpp +2 -2
- esphome/components/esp32_rmt_led_strip/led_strip.cpp +11 -7
- esphome/components/esp32_rmt_led_strip/light.py +5 -1
- esphome/components/esp32_touch/esp32_touch.cpp +12 -8
- esphome/components/esp8266/gpio.cpp +10 -1
- esphome/components/esp8266/preferences.cpp +6 -6
- esphome/components/esp8266_pwm/esp8266_pwm.cpp +3 -3
- esphome/components/esp_ldo/__init__.py +91 -0
- esphome/components/esp_ldo/esp_ldo.cpp +43 -0
- esphome/components/esp_ldo/esp_ldo.h +43 -0
- esphome/components/esphome/ota/ota_esphome.cpp +15 -8
- esphome/components/ethernet/ethernet_component.cpp +38 -26
- esphome/components/ethernet/ethernet_component.h +1 -1
- esphome/components/event/__init__.py +1 -0
- esphome/components/exposure_notifications/exposure_notifications.cpp +1 -1
- esphome/components/ezo/ezo.cpp +1 -1
- esphome/components/ezo_pmp/ezo_pmp.cpp +1 -1
- esphome/components/factory_reset/button/factory_reset_button.cpp +1 -1
- esphome/components/factory_reset/switch/factory_reset_switch.cpp +1 -1
- esphome/components/fan/__init__.py +1 -0
- esphome/components/fan/fan.cpp +4 -2
- esphome/components/fastled_base/fastled_light.cpp +7 -5
- esphome/components/fingerprint_grow/fingerprint_grow.cpp +8 -6
- esphome/components/fs3000/fs3000.cpp +1 -1
- esphome/components/ft5x06/touchscreen/ft5x06_touchscreen.cpp +7 -4
- esphome/components/ft63x6/ft63x6.cpp +5 -3
- esphome/components/gcja5/gcja5.cpp +0 -12
- esphome/components/gcja5/gcja5.h +8 -3
- esphome/components/gdk101/gdk101.cpp +2 -2
- esphome/components/globals/globals_component.h +13 -10
- esphome/components/gp2y1010au0f/gp2y1010au0f.cpp +4 -2
- esphome/components/gp8403/gp8403.cpp +4 -2
- esphome/components/gp8403/output/gp8403_output.cpp +4 -2
- esphome/components/gpio/one_wire/gpio_one_wire.cpp +2 -2
- esphome/components/gpio/output/gpio_binary_output.cpp +1 -1
- esphome/components/gpio/switch/gpio_switch.cpp +1 -1
- esphome/components/graphical_display_menu/graphical_display_menu.cpp +12 -8
- esphome/components/grove_gas_mc_v2/grove_gas_mc_v2.cpp +5 -6
- esphome/components/grove_tb6612fng/grove_tb6612fng.cpp +1 -1
- esphome/components/grove_tb6612fng/grove_tb6612fng.h +1 -1
- esphome/components/growatt_solar/growatt_solar.cpp +6 -3
- esphome/components/gt911/touchscreen/gt911_touchscreen.cpp +1 -1
- esphome/components/haier/haier_base.cpp +2 -2
- esphome/components/haier/hon_climate.cpp +13 -6
- esphome/components/havells_solar/havells_solar.cpp +5 -2
- esphome/components/hbridge/switch/hbridge_switch.cpp +1 -1
- esphome/components/hdc1080/hdc1080.cpp +2 -2
- esphome/components/he60r/he60r.cpp +4 -2
- esphome/components/hlw8012/hlw8012.cpp +6 -4
- esphome/components/hm3301/hm3301.cpp +2 -2
- esphome/components/hmc5883l/hmc5883l.cpp +2 -2
- esphome/components/homeassistant/time/homeassistant_time.cpp +4 -2
- esphome/components/honeywell_hih_i2c/honeywell_hih.cpp +4 -4
- esphome/components/honeywellabp/honeywellabp.cpp +4 -2
- esphome/components/honeywellabp2_i2c/honeywellabp2.cpp +8 -6
- esphome/components/hte501/hte501.cpp +3 -2
- esphome/components/http_request/__init__.py +2 -2
- esphome/components/http_request/http_request.cpp +7 -5
- esphome/components/http_request/http_request_idf.cpp +4 -2
- esphome/components/http_request/ota/ota_http_request.cpp +1 -1
- esphome/components/htu21d/htu21d.cpp +2 -2
- esphome/components/htu31d/htu31d.cpp +2 -2
- esphome/components/hx711/hx711.cpp +2 -2
- esphome/components/hydreon_rgxx/hydreon_rgxx.cpp +5 -3
- esphome/components/hyt271/hyt271.cpp +2 -2
- esphome/components/i2c/i2c_bus_arduino.cpp +14 -11
- esphome/components/i2c/i2c_bus_esp_idf.cpp +13 -11
- esphome/components/i2s_audio/__init__.py +2 -0
- esphome/components/i2s_audio/i2s_audio.cpp +3 -4
- esphome/components/i2s_audio/i2s_audio.h +1 -1
- esphome/components/i2s_audio/media_player/__init__.py +1 -1
- esphome/components/i2s_audio/media_player/i2s_audio_media_player.cpp +5 -3
- esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp +54 -64
- esphome/components/i2s_audio/microphone/i2s_audio_microphone.h +4 -0
- esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +1 -1
- esphome/components/iaqcore/iaqcore.cpp +3 -3
- esphome/components/ili9xxx/ili9xxx_display.cpp +12 -7
- esphome/components/ili9xxx/ili9xxx_display.h +1 -1
- esphome/components/image/image.cpp +1 -0
- esphome/components/ina219/ina219.cpp +2 -2
- esphome/components/ina226/ina226.cpp +8 -5
- esphome/components/ina260/ina260.cpp +1 -1
- esphome/components/ina2xx_base/ina2xx_base.cpp +13 -9
- esphome/components/ina3221/ina3221.cpp +2 -2
- esphome/components/inkplate6/display.py +12 -2
- esphome/components/inkplate6/inkplate.cpp +13 -9
- esphome/components/inkplate6/inkplate.h +7 -6
- esphome/components/integration/integration_sensor.cpp +1 -1
- esphome/components/internal_temperature/internal_temperature.cpp +4 -4
- esphome/components/json/json_util.cpp +4 -5
- esphome/components/kamstrup_kmp/kamstrup_kmp.cpp +1 -1
- esphome/components/key_collector/key_collector.cpp +4 -2
- esphome/components/kmeteriso/kmeteriso.cpp +2 -1
- esphome/components/kuntze/kuntze.cpp +4 -2
- esphome/components/lc709203f/__init__.py +1 -0
- esphome/components/lc709203f/lc709203f.cpp +299 -0
- esphome/components/lc709203f/lc709203f.h +55 -0
- esphome/components/lc709203f/sensor.py +93 -0
- esphome/components/lcd_base/lcd_display.cpp +2 -2
- esphome/components/lcd_gpio/gpio_lcd_display.cpp +5 -3
- esphome/components/lcd_menu/lcd_menu.cpp +6 -4
- esphome/components/lcd_pcf8574/pcf8574_display.cpp +6 -4
- esphome/components/ld2410/ld2410.cpp +6 -7
- esphome/components/ld2420/ld2420.cpp +9 -7
- esphome/components/ld2450/ld2450.cpp +6 -4
- esphome/components/ld2450/sensor.py +2 -2
- esphome/components/ledc/ledc_output.cpp +32 -28
- esphome/components/libretiny/const.py +1 -1
- esphome/components/libretiny/preferences.cpp +6 -7
- esphome/components/light/__init__.py +2 -1
- esphome/components/light/esp_hsv_color.h +1 -1
- esphome/components/light/light_state.cpp +9 -5
- esphome/components/light/light_transformer.h +1 -1
- esphome/components/lightwaverf/LwTx.cpp +1 -1
- esphome/components/lightwaverf/lightwaverf.cpp +1 -1
- esphome/components/lilygo_t5_47/touchscreen/lilygo_t5_47_touchscreen.cpp +1 -1
- esphome/components/lock/__init__.py +1 -0
- esphome/components/lock/lock.h +1 -1
- esphome/components/logger/__init__.py +6 -0
- esphome/components/logger/logger.cpp +9 -5
- esphome/components/logger/logger.h +4 -4
- esphome/components/logger/logger_esp32.cpp +5 -5
- esphome/components/ltr390/ltr390.cpp +8 -5
- esphome/components/ltr501/ltr501.cpp +19 -14
- esphome/components/ltr_als_ps/ltr_als_ps.cpp +20 -13
- esphome/components/lvgl/__init__.py +2 -2
- esphome/components/lvgl/automation.py +5 -4
- esphome/components/lvgl/defines.py +0 -2
- esphome/components/lvgl/lv_validation.py +1 -3
- esphome/components/lvgl/lvcode.py +7 -8
- esphome/components/lvgl/lvgl_esphome.cpp +26 -10
- esphome/components/lvgl/schemas.py +22 -23
- esphome/components/lvgl/trigger.py +8 -3
- esphome/components/lvgl/widgets/__init__.py +2 -2
- esphome/components/lvgl/widgets/canvas.py +9 -3
- esphome/components/lvgl/widgets/line.py +2 -1
- esphome/components/lvgl/widgets/tabview.py +7 -0
- esphome/components/m5stack_8angle/m5stack_8angle.cpp +3 -3
- esphome/components/matrix_keypad/matrix_keypad.cpp +2 -2
- esphome/components/max17043/max17043.cpp +2 -2
- esphome/components/max31855/max31855.cpp +2 -1
- esphome/components/max31856/max31856.cpp +9 -11
- esphome/components/max31865/max31865.cpp +6 -4
- esphome/components/max44009/max44009.cpp +2 -2
- esphome/components/max6675/max6675.cpp +1 -1
- esphome/components/max6956/max6956.cpp +5 -3
- esphome/components/max7219/max7219.cpp +8 -6
- esphome/components/max7219digit/automation.h +52 -0
- esphome/components/max7219digit/display.py +93 -1
- esphome/components/max7219digit/max7219digit.cpp +16 -13
- esphome/components/max9611/max9611.cpp +9 -6
- esphome/components/mcp23008/mcp23008.cpp +1 -1
- esphome/components/mcp23016/mcp23016.cpp +1 -1
- esphome/components/mcp23017/mcp23017.cpp +1 -1
- esphome/components/mcp23s08/mcp23s08.cpp +1 -1
- esphome/components/mcp23s17/mcp23s17.cpp +1 -1
- esphome/components/mcp3008/mcp3008.cpp +1 -1
- esphome/components/mcp3008/sensor/mcp3008_sensor.cpp +5 -3
- esphome/components/mcp3204/mcp3204.cpp +1 -1
- esphome/components/mcp4461/mcp4461.cpp +2 -2
- esphome/components/mcp4725/mcp4725.cpp +2 -2
- esphome/components/mcp4728/mcp4728.cpp +2 -2
- esphome/components/mcp9600/mcp9600.cpp +1 -1
- esphome/components/mcp9808/mcp9808.cpp +4 -4
- esphome/components/mdns/mdns_component.cpp +8 -2
- esphome/components/mdns/mdns_component.h +3 -1
- esphome/components/mdns/mdns_esp32.cpp +2 -2
- esphome/components/media_player/__init__.py +1 -0
- esphome/components/micro_wake_word/micro_wake_word.cpp +1 -1
- esphome/components/micro_wake_word/streaming_model.cpp +10 -6
- esphome/components/micronova/micronova.h +2 -2
- esphome/components/mics_4514/mics_4514.cpp +2 -2
- esphome/components/midea/air_conditioner.cpp +7 -5
- esphome/components/midea_ir/midea_ir.cpp +1 -1
- esphome/components/mipi_spi/mipi_spi.cpp +24 -15
- esphome/components/mixer/speaker/mixer_speaker.cpp +8 -4
- esphome/components/mlx90393/sensor_mlx90393.cpp +2 -2
- esphome/components/mlx90614/mlx90614.cpp +4 -3
- esphome/components/mmc5603/mmc5603.cpp +2 -2
- esphome/components/mmc5983/mmc5983.cpp +1 -1
- esphome/components/modbus/modbus.cpp +7 -5
- esphome/components/modbus_controller/modbus_controller.cpp +6 -4
- esphome/components/modbus_controller/output/modbus_output.cpp +10 -6
- esphome/components/modbus_controller/switch/__init__.py +6 -2
- esphome/components/modbus_controller/switch/modbus_switch.cpp +4 -0
- esphome/components/modbus_controller/switch/modbus_switch.h +3 -0
- esphome/components/mpl3115a2/mpl3115a2.cpp +3 -2
- esphome/components/mpr121/mpr121.cpp +2 -2
- esphome/components/mpu6050/mpu6050.cpp +6 -6
- esphome/components/mpu6886/mpu6886.cpp +6 -6
- esphome/components/mqtt/mqtt_alarm_control_panel.cpp +7 -3
- esphome/components/mqtt/mqtt_backend_esp32.cpp +1 -1
- esphome/components/mqtt/mqtt_client.cpp +31 -24
- esphome/components/mqtt/mqtt_component.cpp +2 -2
- esphome/components/mqtt/mqtt_cover.cpp +8 -4
- esphome/components/mqtt/mqtt_fan.cpp +12 -6
- esphome/components/mqtt/mqtt_valve.cpp +4 -2
- esphome/components/ms5611/ms5611.cpp +2 -2
- esphome/components/ms8607/ms8607.cpp +2 -2
- esphome/components/msa3xx/msa3xx.cpp +16 -12
- esphome/components/my9231/my9231.cpp +7 -5
- esphome/components/nau7802/nau7802.cpp +6 -4
- esphome/components/neopixelbus/neopixelbus_light.h +2 -2
- esphome/components/network/ip_address.h +1 -1
- esphome/components/network/util.cpp +13 -0
- esphome/components/nextion/base_component.py +2 -0
- esphome/components/nextion/binary_sensor/nextion_binarysensor.cpp +2 -3
- esphome/components/nextion/display.py +34 -22
- esphome/components/nextion/nextion.cpp +182 -143
- esphome/components/nextion/nextion.h +36 -0
- esphome/components/nextion/nextion_commands.cpp +3 -3
- esphome/components/nextion/nextion_upload_arduino.cpp +58 -61
- esphome/components/nextion/nextion_upload_idf.cpp +69 -72
- esphome/components/nextion/sensor/nextion_sensor.cpp +4 -4
- esphome/components/nextion/switch/nextion_switch.cpp +2 -2
- esphome/components/nextion/text_sensor/nextion_textsensor.cpp +2 -2
- esphome/components/nfc/nci_message.h +1 -1
- esphome/components/nfc/ndef_record.h +1 -1
- esphome/components/nfc/ndef_record_text.h +1 -1
- esphome/components/nfc/ndef_record_uri.h +1 -1
- esphome/components/nfc/nfc.h +1 -1
- esphome/components/nfc/nfc_tag.h +1 -1
- esphome/components/noblex/noblex.cpp +1 -1
- esphome/components/npi19/npi19.cpp +5 -7
- esphome/components/number/__init__.py +11 -0
- esphome/components/online_image/__init__.py +13 -1
- esphome/components/online_image/online_image.cpp +26 -4
- esphome/components/online_image/online_image.h +21 -4
- esphome/components/opentherm/generate.py +3 -3
- esphome/components/opentherm/hub.cpp +11 -7
- esphome/components/opentherm/number/number.cpp +5 -3
- esphome/components/opentherm/opentherm.h +1 -1
- esphome/components/opentherm/schema.py +13 -13
- esphome/components/opentherm/validate.py +1 -1
- esphome/components/openthread/__init__.py +146 -0
- esphome/components/openthread/const.py +10 -0
- esphome/components/openthread/openthread.cpp +206 -0
- esphome/components/openthread/openthread.h +68 -0
- esphome/components/openthread/openthread_esp.cpp +164 -0
- esphome/components/openthread/tlv.py +58 -0
- esphome/components/openthread_info/__init__.py +0 -0
- esphome/components/openthread_info/openthread_info_text_sensor.cpp +24 -0
- esphome/components/openthread_info/openthread_info_text_sensor.h +218 -0
- esphome/components/openthread_info/text_sensor.py +105 -0
- esphome/components/output/float_output.cpp +1 -1
- esphome/components/output/switch/output_switch.cpp +1 -1
- esphome/components/packet_transport/packet_transport.cpp +6 -4
- esphome/components/pca6416a/pca6416a.cpp +2 -2
- esphome/components/pca9554/pca9554.cpp +6 -4
- esphome/components/pca9685/pca9685_output.cpp +12 -8
- esphome/components/pcd8544/pcd_8544.cpp +1 -1
- esphome/components/pcf85063/pcf85063.cpp +2 -2
- esphome/components/pcf8563/pcf8563.cpp +2 -2
- esphome/components/pcf8574/pcf8574.cpp +2 -2
- esphome/components/pid/pid_climate.cpp +8 -5
- esphome/components/pid/pid_climate.h +1 -1
- esphome/components/pid/sensor/pid_climate_sensor.cpp +1 -1
- esphome/components/pipsolar/output/pipsolar_output.cpp +1 -1
- esphome/components/pipsolar/pipsolar.cpp +3 -3
- esphome/components/pm1006/pm1006.cpp +3 -7
- esphome/components/pm1006/pm1006.h +4 -1
- esphome/components/pm2005/pm2005.cpp +12 -13
- esphome/components/pm2005/sensor.py +1 -1
- esphome/components/pmsa003i/pmsa003i.cpp +2 -2
- esphome/components/pmsx003/pmsx003.cpp +0 -4
- esphome/components/pmsx003/pmsx003.h +5 -2
- esphome/components/pmwcs3/pmwcs3.cpp +9 -13
- esphome/components/pmwcs3/pmwcs3.h +0 -1
- esphome/components/pn532/pn532.cpp +7 -7
- esphome/components/pn532/pn532.h +1 -1
- esphome/components/pn532_spi/pn532_spi.cpp +1 -1
- esphome/components/pn7150/pn7150.cpp +4 -4
- esphome/components/pn7160/pn7160.cpp +4 -4
- esphome/components/power_supply/power_supply.cpp +6 -4
- esphome/components/power_supply/power_supply.h +1 -1
- esphome/components/psram/__init__.py +59 -35
- esphome/components/pulse_counter/pulse_counter_sensor.cpp +7 -4
- esphome/components/pvvx_mithermometer/display/pvvx_display.cpp +8 -5
- esphome/components/pylontech/pylontech.cpp +2 -2
- esphome/components/pylontech/sensor/pylontech_sensor.cpp +4 -2
- esphome/components/pylontech/text_sensor/pylontech_text_sensor.cpp +4 -2
- esphome/components/pzemac/pzemac.cpp +4 -2
- esphome/components/pzemdc/pzemdc.cpp +4 -2
- esphome/components/qmc5883l/qmc5883l.cpp +2 -2
- esphome/components/qmp6988/qmp6988.cpp +2 -2
- esphome/components/qmp6988/qmp6988.h +1 -1
- esphome/components/qr_code/qr_code.cpp +5 -3
- esphome/components/qspi_dbi/qspi_dbi.cpp +1 -1
- esphome/components/qwiic_pir/qwiic_pir.cpp +26 -28
- esphome/components/rc522/rc522.cpp +5 -5
- esphome/components/rdm6300/rdm6300.cpp +1 -0
- esphome/components/remote_receiver/__init__.py +10 -2
- esphome/components/remote_receiver/remote_receiver_esp32.cpp +22 -12
- esphome/components/remote_receiver/remote_receiver_esp8266.cpp +10 -7
- esphome/components/remote_receiver/remote_receiver_libretiny.cpp +10 -7
- esphome/components/remote_transmitter/__init__.py +10 -2
- esphome/components/remote_transmitter/remote_transmitter_esp32.cpp +10 -6
- esphome/components/remote_transmitter/remote_transmitter_esp8266.cpp +5 -3
- esphome/components/remote_transmitter/remote_transmitter_libretiny.cpp +5 -3
- esphome/components/resistance/resistance_sensor.cpp +6 -3
- esphome/components/restart/button/restart_button.cpp +1 -1
- esphome/components/restart/switch/restart_switch.cpp +1 -1
- esphome/components/rotary_encoder/rotary_encoder.cpp +2 -2
- esphome/components/rp2040/__init__.py +7 -0
- esphome/components/rp2040/core.cpp +8 -1
- esphome/components/rp2040/gpio.cpp +26 -9
- esphome/components/rp2040/preferences.cpp +3 -3
- esphome/components/rp2040_pio_led_strip/led_strip.cpp +11 -8
- esphome/components/rp2040_pio_led_strip/light.py +1 -1
- esphome/components/rp2040_pwm/rp2040_pwm.cpp +1 -1
- esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.cpp +1 -1
- esphome/components/rtttl/rtttl.cpp +11 -9
- esphome/components/safe_mode/button/safe_mode_button.cpp +1 -1
- esphome/components/safe_mode/safe_mode.cpp +9 -8
- esphome/components/safe_mode/switch/safe_mode_switch.cpp +1 -1
- esphome/components/scd30/scd30.cpp +11 -8
- esphome/components/scd4x/scd4x.cpp +12 -8
- esphome/components/sdl/display.py +40 -0
- esphome/components/sdl/sdl_esphome.cpp +2 -2
- esphome/components/sdl/sdl_esphome.h +8 -0
- esphome/components/sdm_meter/sdm_meter.cpp +5 -2
- esphome/components/sdp3x/sdp3x.cpp +11 -11
- esphome/components/sds011/sds011.cpp +5 -6
- esphome/components/sds011/sds011.h +4 -1
- esphome/components/seeed_mr24hpc1/seeed_mr24hpc1.cpp +3 -2
- esphome/components/seeed_mr60bha2/seeed_mr60bha2.cpp +1 -0
- esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp +3 -2
- esphome/components/selec_meter/selec_meter.cpp +5 -2
- esphome/components/select/__init__.py +1 -0
- esphome/components/sen0321/sen0321.cpp +2 -2
- esphome/components/sen21231/sen21231.cpp +1 -1
- esphome/components/sen5x/sen5x.cpp +10 -7
- esphome/components/sensirion_common/i2c_sensirion.cpp +2 -1
- esphome/components/sensirion_common/i2c_sensirion.h +1 -0
- esphome/components/sensor/__init__.py +11 -1
- esphome/components/sensor/filter.h +1 -1
- esphome/components/sensor/sensor.h +9 -5
- esphome/components/servo/servo.cpp +12 -9
- esphome/components/servo/servo.h +1 -1
- esphome/components/sfa30/sfa30.cpp +1 -1
- esphome/components/sgp30/sgp30.cpp +10 -8
- esphome/components/sgp4x/sgp4x.cpp +49 -61
- esphome/components/sgp4x/sgp4x.h +0 -1
- esphome/components/shelly_dimmer/shelly_dimmer.cpp +11 -7
- esphome/components/sht3xd/sht3xd.cpp +1 -1
- esphome/components/sht4x/sht4x.cpp +2 -2
- esphome/components/shtcx/shtcx.cpp +13 -16
- esphome/components/shutdown/button/shutdown_button.cpp +1 -1
- esphome/components/shutdown/switch/shutdown_switch.cpp +1 -1
- esphome/components/sim800l/sim800l.cpp +2 -2
- esphome/components/slow_pwm/slow_pwm_output.cpp +4 -2
- esphome/components/sm16716/sm16716.cpp +1 -1
- esphome/components/sm2135/sm2135.cpp +1 -1
- esphome/components/sm2235/sm2235.cpp +5 -3
- esphome/components/sm2335/sm2335.cpp +5 -3
- esphome/components/sml/sml.cpp +1 -1
- esphome/components/sn74hc165/sn74hc165.cpp +1 -2
- esphome/components/sn74hc595/sn74hc595.cpp +1 -2
- esphome/components/sntp/sntp_component.cpp +1 -1
- esphome/components/socket/__init__.py +2 -0
- esphome/components/socket/bsd_sockets_impl.cpp +51 -7
- esphome/components/socket/lwip_raw_tcp_impl.cpp +5 -0
- esphome/components/socket/lwip_sockets_impl.cpp +51 -7
- esphome/components/socket/socket.cpp +31 -0
- esphome/components/socket/socket.h +27 -1
- esphome/components/sonoff_d1/sonoff_d1.cpp +7 -4
- esphome/components/sonoff_d1/sonoff_d1.h +2 -2
- esphome/components/sound_level/sound_level.cpp +4 -2
- esphome/components/speaker/media_player/__init__.py +3 -0
- esphome/components/speaker/media_player/speaker_media_player.cpp +1 -3
- esphome/components/speaker/media_player/speaker_media_player.h +6 -0
- esphome/components/spi/__init__.py +10 -2
- esphome/components/spi/spi.cpp +4 -4
- esphome/components/spi_device/spi_device.cpp +1 -2
- esphome/components/sprinkler/sprinkler.cpp +9 -6
- esphome/components/sps30/sps30.cpp +16 -15
- esphome/components/ssd1306_base/ssd1306_base.cpp +1 -1
- esphome/components/ssd1306_i2c/ssd1306_i2c.cpp +11 -8
- esphome/components/ssd1306_spi/ssd1306_spi.cpp +10 -7
- esphome/components/ssd1322_base/ssd1322_base.cpp +1 -1
- esphome/components/ssd1322_spi/ssd1322_spi.cpp +1 -1
- esphome/components/ssd1325_base/ssd1325_base.cpp +1 -1
- esphome/components/ssd1325_spi/ssd1325_spi.cpp +1 -1
- esphome/components/ssd1327_base/ssd1327_base.cpp +1 -1
- esphome/components/ssd1327_i2c/ssd1327_i2c.cpp +2 -2
- esphome/components/ssd1327_spi/ssd1327_spi.cpp +1 -1
- esphome/components/ssd1331_base/ssd1331_base.cpp +1 -1
- esphome/components/ssd1331_spi/ssd1331_spi.cpp +1 -1
- esphome/components/ssd1351_base/ssd1351_base.cpp +1 -1
- esphome/components/ssd1351_spi/ssd1351_spi.cpp +1 -1
- esphome/components/st7567_base/st7567_base.cpp +3 -3
- esphome/components/st7567_i2c/st7567_i2c.cpp +7 -5
- esphome/components/st7567_spi/st7567_spi.cpp +1 -1
- esphome/components/st7701s/st7701s.cpp +4 -2
- esphome/components/st7735/st7735.cpp +3 -3
- esphome/components/st7789v/st7789v.cpp +10 -7
- esphome/components/st7920/st7920.cpp +6 -4
- esphome/components/statsd/statsd.cpp +9 -5
- esphome/components/status_led/light/status_led_light.cpp +1 -1
- esphome/components/status_led/status_led.cpp +1 -1
- esphome/components/stepper/stepper.h +5 -3
- esphome/components/sts3x/sts3x.cpp +2 -2
- esphome/components/switch/__init__.py +1 -0
- esphome/components/switch/switch.cpp +18 -12
- esphome/components/switch/switch.h +1 -1
- esphome/components/sx1509/__init__.py +53 -20
- esphome/components/sx1509/sx1509.cpp +29 -5
- esphome/components/sx1509/sx1509.h +9 -1
- esphome/components/t6615/t6615.cpp +1 -0
- esphome/components/tc74/tc74.cpp +1 -1
- esphome/components/tca9548a/tca9548a.cpp +1 -1
- esphome/components/tca9555/tca9555.cpp +2 -2
- esphome/components/tcs34725/tcs34725.cpp +4 -4
- esphome/components/tee501/tee501.cpp +3 -2
- esphome/components/tem3200/tem3200.cpp +5 -6
- esphome/components/template/alarm_control_panel/__init__.py +6 -0
- esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp +38 -12
- esphome/components/template/alarm_control_panel/template_alarm_control_panel.h +3 -1
- esphome/components/template/cover/template_cover.cpp +1 -1
- esphome/components/template/select/template_select.cpp +6 -4
- esphome/components/template/text/template_text.cpp +2 -3
- esphome/components/template/valve/template_valve.cpp +5 -3
- esphome/components/text/__init__.py +10 -11
- esphome/components/text_sensor/__init__.py +1 -0
- esphome/components/thermostat/thermostat_climate.cpp +67 -43
- esphome/components/time/__init__.py +1 -2
- esphome/components/time_based/time_based_cover.cpp +4 -2
- esphome/components/tlc59208f/tlc59208f_output.cpp +8 -6
- esphome/components/tm1621/tm1621.cpp +3 -3
- esphome/components/tm1637/tm1637.cpp +9 -7
- esphome/components/tm1638/tm1638.cpp +7 -5
- esphome/components/tm1651/tm1651.cpp +2 -2
- esphome/components/tmp102/tmp102.cpp +1 -3
- esphome/components/tmp102/tmp102.h +0 -3
- esphome/components/tmp1075/tmp1075.cpp +12 -9
- esphome/components/tmp117/tmp117.cpp +2 -2
- esphome/components/tof10120/tof10120_sensor.cpp +2 -2
- esphome/components/tormatic/tormatic_cover.cpp +4 -2
- esphome/components/tsl2561/tsl2561.cpp +7 -5
- esphome/components/tsl2591/tsl2591.cpp +25 -27
- esphome/components/tt21100/touchscreen/tt21100.cpp +1 -1
- esphome/components/ttp229_bsf/ttp229_bsf.cpp +1 -1
- esphome/components/ttp229_lsf/ttp229_lsf.cpp +2 -2
- esphome/components/tuya/select/tuya_select.cpp +5 -3
- esphome/components/tx20/tx20.cpp +3 -3
- esphome/components/uart/__init__.py +4 -5
- esphome/components/uart/button/uart_button.cpp +1 -1
- esphome/components/uart/switch/uart_switch.cpp +2 -2
- esphome/components/uart/uart.cpp +2 -2
- esphome/components/uart/uart_component_esp32_arduino.cpp +8 -6
- esphome/components/uart/uart_component_esp8266.cpp +9 -7
- esphome/components/uart/uart_component_esp_idf.cpp +9 -7
- esphome/components/uart/uart_component_host.cpp +11 -8
- esphome/components/uart/uart_component_libretiny.cpp +8 -6
- esphome/components/uart/uart_component_rp2040.cpp +8 -6
- esphome/components/udp/udp_component.cpp +9 -5
- esphome/components/ufire_ec/ufire_ec.cpp +5 -3
- esphome/components/ufire_ise/ufire_ise.cpp +1 -1
- esphome/components/ultrasonic/ultrasonic_sensor.cpp +5 -3
- esphome/components/update/__init__.py +1 -0
- esphome/components/uponor_smatrix/climate/uponor_smatrix_climate.cpp +1 -1
- esphome/components/uponor_smatrix/sensor/uponor_smatrix_sensor.cpp +4 -2
- esphome/components/uponor_smatrix/uponor_smatrix.cpp +2 -1
- esphome/components/usb_host/__init__.py +64 -0
- esphome/components/usb_host/usb_host.h +116 -0
- esphome/components/usb_host/usb_host_client.cpp +394 -0
- esphome/components/usb_host/usb_host_component.cpp +35 -0
- esphome/components/usb_uart/__init__.py +134 -0
- esphome/components/usb_uart/ch34x.cpp +80 -0
- esphome/components/usb_uart/cp210x.cpp +126 -0
- esphome/components/usb_uart/usb_uart.cpp +328 -0
- esphome/components/usb_uart/usb_uart.h +151 -0
- esphome/components/valve/__init__.py +1 -0
- esphome/components/veml3235/veml3235.cpp +13 -9
- esphome/components/veml7700/veml7700.cpp +10 -6
- esphome/components/voice_assistant/voice_assistant.cpp +7 -7
- esphome/components/wake_on_lan/wake_on_lan.cpp +1 -1
- esphome/components/waveshare_epaper/waveshare_epaper.cpp +1 -1
- esphome/components/web_server/server_index_v2.h +632 -630
- esphome/components/web_server/server_index_v3.h +411 -409
- esphome/components/web_server/web_server.cpp +5 -3
- esphome/components/web_server_base/web_server_base.cpp +1 -1
- esphome/components/web_server_idf/utils.cpp +1 -1
- esphome/components/web_server_idf/web_server_idf.cpp +1 -1
- esphome/components/weikai/__init__.py +2 -0
- esphome/components/weikai/weikai.cpp +23 -21
- esphome/components/weikai_i2c/weikai_i2c.cpp +14 -9
- esphome/components/weikai_spi/weikai_spi.cpp +11 -6
- esphome/components/wiegand/wiegand.cpp +1 -1
- esphome/components/wifi/wifi_component.cpp +50 -37
- esphome/components/wifi/wifi_component.h +7 -4
- esphome/components/wifi/wifi_component_esp32_arduino.cpp +2 -2
- esphome/components/wifi/wifi_component_esp8266.cpp +3 -3
- esphome/components/wifi/wifi_component_libretiny.cpp +4 -4
- esphome/components/wireguard/wireguard.cpp +21 -21
- esphome/components/wl_134/text_sensor.py +1 -2
- esphome/components/wled/wled_light_effect.cpp +1 -1
- esphome/components/x9c/x9c.cpp +5 -3
- esphome/components/xgzp68xx/xgzp68xx.cpp +8 -6
- esphome/components/xiaomi_cgd1/xiaomi_cgd1.cpp +4 -2
- esphome/components/xiaomi_cgdk2/xiaomi_cgdk2.cpp +4 -2
- esphome/components/xiaomi_cgg1/xiaomi_cgg1.cpp +4 -2
- esphome/components/xiaomi_hhccjcy10/xiaomi_hhccjcy10.cpp +1 -1
- esphome/components/xiaomi_lywsd02mmc/xiaomi_lywsd02mmc.cpp +4 -2
- esphome/components/xiaomi_lywsd03mmc/xiaomi_lywsd03mmc.cpp +4 -2
- esphome/components/xiaomi_mhoc401/xiaomi_mhoc401.cpp +4 -2
- esphome/components/xl9535/xl9535.cpp +2 -2
- esphome/components/xpt2046/touchscreen/xpt2046.cpp +12 -11
- esphome/components/xpt2046/touchscreen/xpt2046.h +2 -2
- esphome/config.py +3 -2
- esphome/config_validation.py +46 -17
- esphome/const.py +10 -1
- esphome/core/__init__.py +37 -18
- esphome/core/application.cpp +188 -5
- esphome/core/application.h +110 -0
- esphome/core/component.h +13 -0
- esphome/core/config.py +12 -0
- esphome/core/defines.h +10 -2
- esphome/core/hal.h +5 -0
- esphome/core/helpers.cpp +1 -1
- esphome/core/helpers.h +4 -4
- esphome/core/log.h +2 -0
- esphome/core/log_const_en.h +4 -0
- esphome/core/scheduler.cpp +2 -2
- esphome/coroutine.py +3 -4
- esphome/cpp_generator.py +32 -32
- esphome/dashboard/core.py +2 -2
- esphome/dashboard/web_server.py +2 -2
- esphome/git.py +4 -4
- esphome/helpers.py +5 -6
- esphome/loader.py +8 -7
- esphome/log.py +7 -1
- esphome/platformio_api.py +2 -3
- esphome/storage_json.py +13 -5
- esphome/types.py +12 -13
- esphome/util.py +1 -2
- esphome/writer.py +5 -3
- esphome/yaml_util.py +6 -1
- esphome/zeroconf.py +1 -1
- {esphome-2025.5.1.dist-info → esphome-2025.6.0b1.dist-info}/METADATA +12 -11
- {esphome-2025.5.1.dist-info → esphome-2025.6.0b1.dist-info}/RECORD +720 -667
- {esphome-2025.5.1.dist-info → esphome-2025.6.0b1.dist-info}/WHEEL +1 -1
- {esphome-2025.5.1.dist-info → esphome-2025.6.0b1.dist-info}/entry_points.txt +0 -0
- {esphome-2025.5.1.dist-info → esphome-2025.6.0b1.dist-info}/licenses/LICENSE +0 -0
- {esphome-2025.5.1.dist-info → esphome-2025.6.0b1.dist-info}/top_level.txt +0 -0
@@ -324,10 +324,10 @@ void ESP32ImprovComponent::process_incoming_data_() {
|
|
324
324
|
this->incoming_data_.clear();
|
325
325
|
}
|
326
326
|
} else if (this->incoming_data_.size() - 2 > length) {
|
327
|
-
ESP_LOGV(TAG, "Too much data received or data malformed; resetting buffer
|
327
|
+
ESP_LOGV(TAG, "Too much data received or data malformed; resetting buffer");
|
328
328
|
this->incoming_data_.clear();
|
329
329
|
} else {
|
330
|
-
ESP_LOGV(TAG, "Waiting for split data packets
|
330
|
+
ESP_LOGV(TAG, "Waiting for split data packets");
|
331
331
|
}
|
332
332
|
}
|
333
333
|
|
@@ -22,7 +22,7 @@ static const uint8_t RMT_CLK_DIV = 2;
|
|
22
22
|
#endif
|
23
23
|
|
24
24
|
void ESP32RMTLEDStripLightOutput::setup() {
|
25
|
-
ESP_LOGCONFIG(TAG, "
|
25
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
26
26
|
|
27
27
|
size_t buffer_size = this->get_buffer_size_();
|
28
28
|
|
@@ -143,7 +143,7 @@ void ESP32RMTLEDStripLightOutput::write_state(light::LightState *state) {
|
|
143
143
|
this->last_refresh_ = now;
|
144
144
|
this->mark_shown_();
|
145
145
|
|
146
|
-
ESP_LOGVV(TAG, "Writing RGB values to bus
|
146
|
+
ESP_LOGVV(TAG, "Writing RGB values to bus");
|
147
147
|
|
148
148
|
#if ESP_IDF_VERSION_MAJOR >= 5
|
149
149
|
esp_err_t error = rmt_tx_wait_all_done(this->channel_, 1000);
|
@@ -247,8 +247,10 @@ light::ESPColorView ESP32RMTLEDStripLightOutput::get_view_internal(int32_t index
|
|
247
247
|
}
|
248
248
|
|
249
249
|
void ESP32RMTLEDStripLightOutput::dump_config() {
|
250
|
-
ESP_LOGCONFIG(TAG,
|
251
|
-
|
250
|
+
ESP_LOGCONFIG(TAG,
|
251
|
+
"ESP32 RMT LED Strip:\n"
|
252
|
+
" Pin: %u",
|
253
|
+
this->pin_);
|
252
254
|
#if ESP_IDF_VERSION_MAJOR >= 5
|
253
255
|
ESP_LOGCONFIG(TAG, " RMT Symbols: %" PRIu32, this->rmt_symbols_);
|
254
256
|
#else
|
@@ -278,9 +280,11 @@ void ESP32RMTLEDStripLightOutput::dump_config() {
|
|
278
280
|
rgb_order = "UNKNOWN";
|
279
281
|
break;
|
280
282
|
}
|
281
|
-
ESP_LOGCONFIG(TAG,
|
282
|
-
|
283
|
-
|
283
|
+
ESP_LOGCONFIG(TAG,
|
284
|
+
" RGB Order: %s\n"
|
285
|
+
" Max refresh rate: %" PRIu32 "\n"
|
286
|
+
" Number of LEDs: %u",
|
287
|
+
rgb_order, *this->max_refresh_rate_, this->num_leds_);
|
284
288
|
}
|
285
289
|
|
286
290
|
float ESP32RMTLEDStripLightOutput::get_setup_priority() const { return setup_priority::HARDWARE; }
|
@@ -131,7 +131,9 @@ CONFIG_SCHEMA = cv.All(
|
|
131
131
|
esp32_idf=192,
|
132
132
|
esp32_s2_idf=192,
|
133
133
|
esp32_s3_idf=192,
|
134
|
+
esp32_p4_idf=192,
|
134
135
|
esp32_c3_idf=96,
|
136
|
+
esp32_c5_idf=96,
|
135
137
|
esp32_c6_idf=96,
|
136
138
|
esp32_h2_idf=96,
|
137
139
|
): cv.All(only_with_new_rmt_driver, cv.int_range(min=2)),
|
@@ -140,7 +142,9 @@ CONFIG_SCHEMA = cv.All(
|
|
140
142
|
cv.Optional(CONF_IS_RGBW, default=False): cv.boolean,
|
141
143
|
cv.Optional(CONF_IS_WRGB, default=False): cv.boolean,
|
142
144
|
cv.Optional(CONF_USE_DMA): cv.All(
|
143
|
-
esp32.only_on_variant(
|
145
|
+
esp32.only_on_variant(
|
146
|
+
supported=[esp32.const.VARIANT_ESP32S3, esp32.const.VARIANT_ESP32P4]
|
147
|
+
),
|
144
148
|
cv.only_with_esp_idf,
|
145
149
|
cv.boolean,
|
146
150
|
),
|
@@ -13,7 +13,7 @@ namespace esp32_touch {
|
|
13
13
|
static const char *const TAG = "esp32_touch";
|
14
14
|
|
15
15
|
void ESP32TouchComponent::setup() {
|
16
|
-
ESP_LOGCONFIG(TAG, "
|
16
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
17
17
|
touch_pad_init();
|
18
18
|
// set up and enable/start filtering based on ESP32 variant
|
19
19
|
#if defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3)
|
@@ -75,9 +75,11 @@ void ESP32TouchComponent::setup() {
|
|
75
75
|
}
|
76
76
|
|
77
77
|
void ESP32TouchComponent::dump_config() {
|
78
|
-
ESP_LOGCONFIG(TAG,
|
79
|
-
|
80
|
-
|
78
|
+
ESP_LOGCONFIG(TAG,
|
79
|
+
"Config for ESP32 Touch Hub:\n"
|
80
|
+
" Meas cycle: %.2fms\n"
|
81
|
+
" Sleep cycle: %.2fms",
|
82
|
+
this->meas_cycle_ / (8000000.0f / 1000.0f), this->sleep_cycle_ / (150000.0f / 1000.0f));
|
81
83
|
|
82
84
|
const char *lv_s;
|
83
85
|
switch (this->low_voltage_reference_) {
|
@@ -171,10 +173,12 @@ void ESP32TouchComponent::dump_config() {
|
|
171
173
|
filter_mode_s = "UNKNOWN";
|
172
174
|
break;
|
173
175
|
}
|
174
|
-
ESP_LOGCONFIG(TAG,
|
175
|
-
|
176
|
-
|
177
|
-
|
176
|
+
ESP_LOGCONFIG(TAG,
|
177
|
+
" Filter mode: %s\n"
|
178
|
+
" Debounce count: %" PRIu32 "\n"
|
179
|
+
" Noise threshold coefficient: %" PRIu32 "\n"
|
180
|
+
" Jitter filter step size: %" PRIu32,
|
181
|
+
filter_mode_s, this->debounce_count_, this->noise_threshold_, this->jitter_step_);
|
178
182
|
const char *smooth_level_s;
|
179
183
|
switch (this->smooth_level_) {
|
180
184
|
case TOUCH_PAD_SMOOTH_OFF:
|
@@ -40,6 +40,7 @@ struct ISRPinArg {
|
|
40
40
|
volatile uint32_t *mode_set_reg;
|
41
41
|
volatile uint32_t *mode_clr_reg;
|
42
42
|
volatile uint32_t *func_reg;
|
43
|
+
volatile uint32_t *control_reg;
|
43
44
|
uint32_t mask;
|
44
45
|
};
|
45
46
|
|
@@ -54,6 +55,7 @@ ISRInternalGPIOPin ESP8266GPIOPin::to_isr() const {
|
|
54
55
|
arg->mode_set_reg = &GPES;
|
55
56
|
arg->mode_clr_reg = &GPEC;
|
56
57
|
arg->func_reg = &GPF(this->pin_);
|
58
|
+
arg->control_reg = &GPC(this->pin_);
|
57
59
|
arg->mask = 1 << this->pin_;
|
58
60
|
} else {
|
59
61
|
arg->in_reg = &GP16I;
|
@@ -62,6 +64,7 @@ ISRInternalGPIOPin ESP8266GPIOPin::to_isr() const {
|
|
62
64
|
arg->mode_set_reg = &GP16E;
|
63
65
|
arg->mode_clr_reg = nullptr;
|
64
66
|
arg->func_reg = &GPF16;
|
67
|
+
arg->control_reg = nullptr;
|
65
68
|
arg->mask = 1;
|
66
69
|
}
|
67
70
|
return ISRInternalGPIOPin((void *) arg);
|
@@ -143,11 +146,17 @@ void IRAM_ATTR ISRInternalGPIOPin::pin_mode(gpio::Flags flags) {
|
|
143
146
|
if (arg->pin < 16) {
|
144
147
|
if (flags & gpio::FLAG_OUTPUT) {
|
145
148
|
*arg->mode_set_reg = arg->mask;
|
146
|
-
|
149
|
+
if (flags & gpio::FLAG_OPEN_DRAIN) {
|
150
|
+
*arg->control_reg |= 1 << GPCD;
|
151
|
+
} else {
|
152
|
+
*arg->control_reg &= ~(1 << GPCD);
|
153
|
+
}
|
154
|
+
} else if (flags & gpio::FLAG_INPUT) {
|
147
155
|
*arg->mode_clr_reg = arg->mask;
|
148
156
|
}
|
149
157
|
if (flags & gpio::FLAG_PULLUP) {
|
150
158
|
*arg->func_reg |= 1 << GPFPU;
|
159
|
+
*arg->control_reg |= 1 << GPCD;
|
151
160
|
} else {
|
152
161
|
*arg->func_reg &= ~(1 << GPFPU);
|
153
162
|
}
|
@@ -169,7 +169,7 @@ class ESP8266Preferences : public ESPPreferences {
|
|
169
169
|
|
170
170
|
void setup() {
|
171
171
|
s_flash_storage = new uint32_t[ESP8266_FLASH_STORAGE_SIZE]; // NOLINT
|
172
|
-
ESP_LOGVV(TAG, "Loading preferences from flash
|
172
|
+
ESP_LOGVV(TAG, "Loading preferences from flash");
|
173
173
|
|
174
174
|
{
|
175
175
|
InterruptLock lock;
|
@@ -235,7 +235,7 @@ class ESP8266Preferences : public ESPPreferences {
|
|
235
235
|
if (s_prevent_write)
|
236
236
|
return false;
|
237
237
|
|
238
|
-
ESP_LOGD(TAG, "Saving
|
238
|
+
ESP_LOGD(TAG, "Saving");
|
239
239
|
SpiFlashOpResult erase_res, write_res = SPI_FLASH_RESULT_OK;
|
240
240
|
{
|
241
241
|
InterruptLock lock;
|
@@ -245,11 +245,11 @@ class ESP8266Preferences : public ESPPreferences {
|
|
245
245
|
}
|
246
246
|
}
|
247
247
|
if (erase_res != SPI_FLASH_RESULT_OK) {
|
248
|
-
ESP_LOGE(TAG, "
|
248
|
+
ESP_LOGE(TAG, "Erasing failed");
|
249
249
|
return false;
|
250
250
|
}
|
251
251
|
if (write_res != SPI_FLASH_RESULT_OK) {
|
252
|
-
ESP_LOGE(TAG, "
|
252
|
+
ESP_LOGE(TAG, "Writing failed");
|
253
253
|
return false;
|
254
254
|
}
|
255
255
|
|
@@ -258,14 +258,14 @@ class ESP8266Preferences : public ESPPreferences {
|
|
258
258
|
}
|
259
259
|
|
260
260
|
bool reset() override {
|
261
|
-
ESP_LOGD(TAG, "
|
261
|
+
ESP_LOGD(TAG, "Erasing storage");
|
262
262
|
SpiFlashOpResult erase_res;
|
263
263
|
{
|
264
264
|
InterruptLock lock;
|
265
265
|
erase_res = spi_flash_erase_sector(get_esp8266_flash_sector());
|
266
266
|
}
|
267
267
|
if (erase_res != SPI_FLASH_RESULT_OK) {
|
268
|
-
ESP_LOGE(TAG, "
|
268
|
+
ESP_LOGE(TAG, "Erasing failed");
|
269
269
|
return false;
|
270
270
|
}
|
271
271
|
|
@@ -1,10 +1,10 @@
|
|
1
1
|
#ifdef USE_ESP8266
|
2
2
|
|
3
3
|
#include "esp8266_pwm.h"
|
4
|
-
#include "esphome/core/macros.h"
|
5
4
|
#include "esphome/core/defines.h"
|
6
|
-
#include "esphome/core/log.h"
|
7
5
|
#include "esphome/core/helpers.h"
|
6
|
+
#include "esphome/core/log.h"
|
7
|
+
#include "esphome/core/macros.h"
|
8
8
|
|
9
9
|
#include <core_esp8266_waveform.h>
|
10
10
|
|
@@ -14,7 +14,7 @@ namespace esp8266_pwm {
|
|
14
14
|
static const char *const TAG = "esp8266_pwm";
|
15
15
|
|
16
16
|
void ESP8266PWM::setup() {
|
17
|
-
ESP_LOGCONFIG(TAG, "
|
17
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
18
18
|
this->pin_->setup();
|
19
19
|
this->turn_off();
|
20
20
|
}
|
@@ -0,0 +1,91 @@
|
|
1
|
+
from esphome.automation import Action, register_action
|
2
|
+
import esphome.codegen as cg
|
3
|
+
from esphome.components.esp32 import VARIANT_ESP32P4, only_on_variant
|
4
|
+
import esphome.config_validation as cv
|
5
|
+
from esphome.const import CONF_CHANNEL, CONF_ID, CONF_VOLTAGE
|
6
|
+
from esphome.final_validate import full_config
|
7
|
+
|
8
|
+
CODEOWNERS = ["@clydebarrow"]
|
9
|
+
|
10
|
+
DOMAIN = "esp_ldo"
|
11
|
+
|
12
|
+
esp_ldo_ns = cg.esphome_ns.namespace("esp_ldo")
|
13
|
+
EspLdo = esp_ldo_ns.class_("EspLdo", cg.Component)
|
14
|
+
AdjustAction = esp_ldo_ns.class_("AdjustAction", Action)
|
15
|
+
|
16
|
+
CHANNELS = (3, 4)
|
17
|
+
CONF_ADJUSTABLE = "adjustable"
|
18
|
+
|
19
|
+
adjusted_ids = set()
|
20
|
+
|
21
|
+
CONFIG_SCHEMA = cv.All(
|
22
|
+
cv.ensure_list(
|
23
|
+
{
|
24
|
+
cv.GenerateID(): cv.declare_id(EspLdo),
|
25
|
+
cv.Required(CONF_VOLTAGE): cv.All(
|
26
|
+
cv.voltage, cv.float_range(min=0.5, max=2.7)
|
27
|
+
),
|
28
|
+
cv.Required(CONF_CHANNEL): cv.one_of(*CHANNELS, int=True),
|
29
|
+
cv.Optional(CONF_ADJUSTABLE, default=False): cv.boolean,
|
30
|
+
}
|
31
|
+
),
|
32
|
+
cv.only_with_esp_idf,
|
33
|
+
only_on_variant(supported=[VARIANT_ESP32P4]),
|
34
|
+
)
|
35
|
+
|
36
|
+
|
37
|
+
async def to_code(configs):
|
38
|
+
for config in configs:
|
39
|
+
var = cg.new_Pvariable(config[CONF_ID], config[CONF_CHANNEL])
|
40
|
+
await cg.register_component(var, config)
|
41
|
+
cg.add(var.set_voltage(config[CONF_VOLTAGE]))
|
42
|
+
cg.add(var.set_adjustable(config[CONF_ADJUSTABLE]))
|
43
|
+
|
44
|
+
|
45
|
+
def final_validate(configs):
|
46
|
+
for channel in CHANNELS:
|
47
|
+
used = [config for config in configs if config[CONF_CHANNEL] == channel]
|
48
|
+
if len(used) > 1:
|
49
|
+
raise cv.Invalid(
|
50
|
+
f"Multiple LDOs configured for channel {channel}. Each channel must be unique.",
|
51
|
+
path=[CONF_CHANNEL, channel],
|
52
|
+
)
|
53
|
+
|
54
|
+
global_config = full_config.get()
|
55
|
+
for w in adjusted_ids:
|
56
|
+
path = global_config.get_path_for_id(w)
|
57
|
+
ldo_conf = global_config.get_config_for_path(path[:-1])
|
58
|
+
if not ldo_conf[CONF_ADJUSTABLE]:
|
59
|
+
raise cv.Invalid(
|
60
|
+
"A non adjustable LDO may not be adjusted.",
|
61
|
+
path,
|
62
|
+
)
|
63
|
+
|
64
|
+
|
65
|
+
FINAL_VALIDATE_SCHEMA = final_validate
|
66
|
+
|
67
|
+
|
68
|
+
def adjusted_ldo_id(value):
|
69
|
+
value = cv.use_id(EspLdo)(value)
|
70
|
+
adjusted_ids.add(value)
|
71
|
+
return value
|
72
|
+
|
73
|
+
|
74
|
+
@register_action(
|
75
|
+
"esp_ldo.voltage.adjust",
|
76
|
+
AdjustAction,
|
77
|
+
cv.Schema(
|
78
|
+
{
|
79
|
+
cv.GenerateID(CONF_ID): adjusted_ldo_id,
|
80
|
+
cv.Required(CONF_VOLTAGE): cv.templatable(
|
81
|
+
cv.All(cv.voltage, cv.float_range(min=0.5, max=2.7))
|
82
|
+
),
|
83
|
+
}
|
84
|
+
),
|
85
|
+
)
|
86
|
+
async def ldo_voltage_adjust_to_code(config, action_id, template_arg, args):
|
87
|
+
parent = await cg.get_variable(config[CONF_ID])
|
88
|
+
var = cg.new_Pvariable(action_id, template_arg, parent)
|
89
|
+
template_ = await cg.templatable(config[CONF_VOLTAGE], args, cg.float_)
|
90
|
+
cg.add(var.set_voltage(template_))
|
91
|
+
return var
|
@@ -0,0 +1,43 @@
|
|
1
|
+
#ifdef USE_ESP32_VARIANT_ESP32P4
|
2
|
+
#include "esp_ldo.h"
|
3
|
+
#include "esphome/core/log.h"
|
4
|
+
#include "esphome/core/helpers.h"
|
5
|
+
|
6
|
+
namespace esphome {
|
7
|
+
namespace esp_ldo {
|
8
|
+
|
9
|
+
static const char *const TAG = "esp_ldo";
|
10
|
+
void EspLdo::setup() {
|
11
|
+
esp_ldo_channel_config_t config{};
|
12
|
+
config.chan_id = this->channel_;
|
13
|
+
config.voltage_mv = (int) (this->voltage_ * 1000.0f);
|
14
|
+
config.flags.adjustable = this->adjustable_;
|
15
|
+
auto err = esp_ldo_acquire_channel(&config, &this->handle_);
|
16
|
+
if (err != ESP_OK) {
|
17
|
+
auto msg = str_sprintf("Failed to acquire LDO channel %d with voltage %fV", this->channel_, this->voltage_);
|
18
|
+
this->mark_failed(msg.c_str());
|
19
|
+
} else {
|
20
|
+
ESP_LOGD(TAG, "Acquired LDO channel %d with voltage %fV", this->channel_, this->voltage_);
|
21
|
+
}
|
22
|
+
}
|
23
|
+
void EspLdo::dump_config() {
|
24
|
+
ESP_LOGCONFIG(TAG, "ESP LDO Channel %d:", this->channel_);
|
25
|
+
ESP_LOGCONFIG(TAG, " Voltage: %fV", this->voltage_);
|
26
|
+
ESP_LOGCONFIG(TAG, " Adjustable: %s", YESNO(this->adjustable_));
|
27
|
+
}
|
28
|
+
|
29
|
+
void EspLdo::adjust_voltage(float voltage) {
|
30
|
+
if (!std::isfinite(voltage) || voltage < 0.5f || voltage > 2.7f) {
|
31
|
+
ESP_LOGE(TAG, "Invalid voltage %fV for LDO channel %d", voltage, this->channel_);
|
32
|
+
return;
|
33
|
+
}
|
34
|
+
auto erro = esp_ldo_channel_adjust_voltage(this->handle_, (int) (voltage * 1000.0f));
|
35
|
+
if (erro != ESP_OK) {
|
36
|
+
ESP_LOGE(TAG, "Failed to adjust LDO channel %d to voltage %fV: %s", this->channel_, voltage, esp_err_to_name(erro));
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
} // namespace esp_ldo
|
41
|
+
} // namespace esphome
|
42
|
+
|
43
|
+
#endif // USE_ESP32_VARIANT_ESP32P4
|
@@ -0,0 +1,43 @@
|
|
1
|
+
#pragma once
|
2
|
+
#ifdef USE_ESP32_VARIANT_ESP32P4
|
3
|
+
#include "esphome/core/component.h"
|
4
|
+
#include "esphome/core/automation.h"
|
5
|
+
#include "esp_ldo_regulator.h"
|
6
|
+
|
7
|
+
namespace esphome {
|
8
|
+
namespace esp_ldo {
|
9
|
+
|
10
|
+
class EspLdo : public Component {
|
11
|
+
public:
|
12
|
+
EspLdo(int channel) : channel_(channel) {}
|
13
|
+
|
14
|
+
void setup() override;
|
15
|
+
void dump_config() override;
|
16
|
+
|
17
|
+
void set_adjustable(bool adjustable) { this->adjustable_ = adjustable; }
|
18
|
+
void set_voltage(float voltage) { this->voltage_ = voltage; }
|
19
|
+
void adjust_voltage(float voltage);
|
20
|
+
|
21
|
+
protected:
|
22
|
+
int channel_;
|
23
|
+
float voltage_{2.7};
|
24
|
+
bool adjustable_{false};
|
25
|
+
esp_ldo_channel_handle_t handle_{};
|
26
|
+
};
|
27
|
+
|
28
|
+
template<typename... Ts> class AdjustAction : public Action<Ts...> {
|
29
|
+
public:
|
30
|
+
explicit AdjustAction(EspLdo *ldo) : ldo_(ldo) {}
|
31
|
+
|
32
|
+
TEMPLATABLE_VALUE(float, voltage)
|
33
|
+
|
34
|
+
void play(Ts... x) override { this->ldo_->adjust_voltage(this->voltage_.value(x...)); }
|
35
|
+
|
36
|
+
protected:
|
37
|
+
EspLdo *ldo_;
|
38
|
+
};
|
39
|
+
|
40
|
+
} // namespace esp_ldo
|
41
|
+
} // namespace esphome
|
42
|
+
|
43
|
+
#endif // USE_ESP32_VARIANT_ESP32P4
|
@@ -26,7 +26,7 @@ void ESPHomeOTAComponent::setup() {
|
|
26
26
|
ota::register_ota_platform(this);
|
27
27
|
#endif
|
28
28
|
|
29
|
-
server_ = socket::
|
29
|
+
server_ = socket::socket_ip_loop_monitored(SOCK_STREAM, 0); // monitored for incoming connections
|
30
30
|
if (server_ == nullptr) {
|
31
31
|
ESP_LOGW(TAG, "Could not create socket");
|
32
32
|
this->mark_failed();
|
@@ -70,9 +70,11 @@ void ESPHomeOTAComponent::setup() {
|
|
70
70
|
}
|
71
71
|
|
72
72
|
void ESPHomeOTAComponent::dump_config() {
|
73
|
-
ESP_LOGCONFIG(TAG,
|
74
|
-
|
75
|
-
|
73
|
+
ESP_LOGCONFIG(TAG,
|
74
|
+
"Over-The-Air updates:\n"
|
75
|
+
" Address: %s:%u\n"
|
76
|
+
" Version: %d",
|
77
|
+
network::get_use_address().c_str(), this->port_, USE_OTA_VERSION);
|
76
78
|
#ifdef USE_OTA_PASSWORD
|
77
79
|
if (!this->password_.empty()) {
|
78
80
|
ESP_LOGCONFIG(TAG, " Password configured");
|
@@ -100,9 +102,12 @@ void ESPHomeOTAComponent::handle_() {
|
|
100
102
|
#endif
|
101
103
|
|
102
104
|
if (client_ == nullptr) {
|
103
|
-
|
104
|
-
|
105
|
-
|
105
|
+
// Check if the server socket is ready before accepting
|
106
|
+
if (this->server_->ready()) {
|
107
|
+
struct sockaddr_storage source_addr;
|
108
|
+
socklen_t addr_len = sizeof(source_addr);
|
109
|
+
client_ = server_->accept((struct sockaddr *) &source_addr, &addr_len);
|
110
|
+
}
|
106
111
|
}
|
107
112
|
if (client_ == nullptr)
|
108
113
|
return;
|
@@ -111,10 +116,12 @@ void ESPHomeOTAComponent::handle_() {
|
|
111
116
|
int err = client_->setsockopt(IPPROTO_TCP, TCP_NODELAY, &enable, sizeof(int));
|
112
117
|
if (err != 0) {
|
113
118
|
ESP_LOGW(TAG, "Socket could not enable TCP nodelay, errno %d", errno);
|
119
|
+
client_->close();
|
120
|
+
client_ = nullptr;
|
114
121
|
return;
|
115
122
|
}
|
116
123
|
|
117
|
-
ESP_LOGD(TAG, "Starting update from %s
|
124
|
+
ESP_LOGD(TAG, "Starting update from %s", this->client_->getpeername().c_str());
|
118
125
|
this->status_set_warning();
|
119
126
|
#ifdef USE_OTA_STATE_CALLBACK
|
120
127
|
this->state_callback_.call(ota::OTA_STARTED, 0.0f, 0);
|
@@ -38,7 +38,7 @@ EthernetComponent *global_eth_component; // NOLINT(cppcoreguidelines-avoid-non-
|
|
38
38
|
EthernetComponent::EthernetComponent() { global_eth_component = this; }
|
39
39
|
|
40
40
|
void EthernetComponent::setup() {
|
41
|
-
ESP_LOGCONFIG(TAG, "
|
41
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
42
42
|
if (esp_reset_reason() != ESP_RST_DEEPSLEEP) {
|
43
43
|
// Delay here to allow power to stabilise before Ethernet is initialized.
|
44
44
|
delay(300); // NOLINT
|
@@ -245,33 +245,33 @@ void EthernetComponent::loop() {
|
|
245
245
|
switch (this->state_) {
|
246
246
|
case EthernetComponentState::STOPPED:
|
247
247
|
if (this->started_) {
|
248
|
-
ESP_LOGI(TAG, "Starting
|
248
|
+
ESP_LOGI(TAG, "Starting connection");
|
249
249
|
this->state_ = EthernetComponentState::CONNECTING;
|
250
250
|
this->start_connect_();
|
251
251
|
}
|
252
252
|
break;
|
253
253
|
case EthernetComponentState::CONNECTING:
|
254
254
|
if (!this->started_) {
|
255
|
-
ESP_LOGI(TAG, "Stopped
|
255
|
+
ESP_LOGI(TAG, "Stopped connection");
|
256
256
|
this->state_ = EthernetComponentState::STOPPED;
|
257
257
|
} else if (this->connected_) {
|
258
258
|
// connection established
|
259
|
-
ESP_LOGI(TAG, "Connected
|
259
|
+
ESP_LOGI(TAG, "Connected");
|
260
260
|
this->state_ = EthernetComponentState::CONNECTED;
|
261
261
|
|
262
262
|
this->dump_connect_params_();
|
263
263
|
this->status_clear_warning();
|
264
264
|
} else if (now - this->connect_begin_ > 15000) {
|
265
|
-
ESP_LOGW(TAG, "Connecting
|
265
|
+
ESP_LOGW(TAG, "Connecting failed; reconnecting");
|
266
266
|
this->start_connect_();
|
267
267
|
}
|
268
268
|
break;
|
269
269
|
case EthernetComponentState::CONNECTED:
|
270
270
|
if (!this->started_) {
|
271
|
-
ESP_LOGI(TAG, "Stopped
|
271
|
+
ESP_LOGI(TAG, "Stopped connection");
|
272
272
|
this->state_ = EthernetComponentState::STOPPED;
|
273
273
|
} else if (!this->connected_) {
|
274
|
-
ESP_LOGW(TAG, "Connection
|
274
|
+
ESP_LOGW(TAG, "Connection lost; reconnecting");
|
275
275
|
this->state_ = EthernetComponentState::CONNECTING;
|
276
276
|
this->start_connect_();
|
277
277
|
}
|
@@ -326,10 +326,12 @@ void EthernetComponent::dump_config() {
|
|
326
326
|
ESP_LOGCONFIG(TAG, "Ethernet:");
|
327
327
|
this->dump_connect_params_();
|
328
328
|
#ifdef USE_ETHERNET_SPI
|
329
|
-
ESP_LOGCONFIG(TAG,
|
330
|
-
|
331
|
-
|
332
|
-
|
329
|
+
ESP_LOGCONFIG(TAG,
|
330
|
+
" CLK Pin: %u\n"
|
331
|
+
" MISO Pin: %u\n"
|
332
|
+
" MOSI Pin: %u\n"
|
333
|
+
" CS Pin: %u",
|
334
|
+
this->clk_pin_, this->miso_pin_, this->mosi_pin_, this->cs_pin_);
|
333
335
|
#ifdef USE_ETHERNET_SPI_POLLING_SUPPORT
|
334
336
|
if (this->polling_interval_ != 0) {
|
335
337
|
ESP_LOGCONFIG(TAG, " Polling Interval: %lu ms", this->polling_interval_);
|
@@ -338,15 +340,19 @@ void EthernetComponent::dump_config() {
|
|
338
340
|
{
|
339
341
|
ESP_LOGCONFIG(TAG, " IRQ Pin: %d", this->interrupt_pin_);
|
340
342
|
}
|
341
|
-
ESP_LOGCONFIG(TAG,
|
342
|
-
|
343
|
+
ESP_LOGCONFIG(TAG,
|
344
|
+
" Reset Pin: %d\n"
|
345
|
+
" Clock Speed: %d MHz",
|
346
|
+
this->reset_pin_, this->clock_speed_ / 1000000);
|
343
347
|
#else
|
344
348
|
if (this->power_pin_ != -1) {
|
345
349
|
ESP_LOGCONFIG(TAG, " Power Pin: %u", this->power_pin_);
|
346
350
|
}
|
347
|
-
ESP_LOGCONFIG(TAG,
|
348
|
-
|
349
|
-
|
351
|
+
ESP_LOGCONFIG(TAG,
|
352
|
+
" MDC Pin: %u\n"
|
353
|
+
" MDIO Pin: %u\n"
|
354
|
+
" PHY addr: %u",
|
355
|
+
this->mdc_pin_, this->mdio_pin_, this->phy_addr_);
|
350
356
|
#endif
|
351
357
|
ESP_LOGCONFIG(TAG, " Type: %s", eth_type);
|
352
358
|
}
|
@@ -512,16 +518,19 @@ bool EthernetComponent::is_connected() { return this->state_ == EthernetComponen
|
|
512
518
|
void EthernetComponent::dump_connect_params_() {
|
513
519
|
esp_netif_ip_info_t ip;
|
514
520
|
esp_netif_get_ip_info(this->eth_netif_, &ip);
|
515
|
-
ESP_LOGCONFIG(TAG, " IP Address: %s", network::IPAddress(&ip.ip).str().c_str());
|
516
|
-
ESP_LOGCONFIG(TAG, " Hostname: '%s'", App.get_name().c_str());
|
517
|
-
ESP_LOGCONFIG(TAG, " Subnet: %s", network::IPAddress(&ip.netmask).str().c_str());
|
518
|
-
ESP_LOGCONFIG(TAG, " Gateway: %s", network::IPAddress(&ip.gw).str().c_str());
|
519
|
-
|
520
521
|
const ip_addr_t *dns_ip1 = dns_getserver(0);
|
521
522
|
const ip_addr_t *dns_ip2 = dns_getserver(1);
|
522
523
|
|
523
|
-
ESP_LOGCONFIG(TAG,
|
524
|
-
|
524
|
+
ESP_LOGCONFIG(TAG,
|
525
|
+
" IP Address: %s\n"
|
526
|
+
" Hostname: '%s'\n"
|
527
|
+
" Subnet: %s\n"
|
528
|
+
" Gateway: %s\n"
|
529
|
+
" DNS1: %s\n"
|
530
|
+
" DNS2: %s",
|
531
|
+
network::IPAddress(&ip.ip).str().c_str(), App.get_name().c_str(),
|
532
|
+
network::IPAddress(&ip.netmask).str().c_str(), network::IPAddress(&ip.gw).str().c_str(),
|
533
|
+
network::IPAddress(dns_ip1).str().c_str(), network::IPAddress(dns_ip2).str().c_str());
|
525
534
|
|
526
535
|
#if USE_NETWORK_IPV6
|
527
536
|
struct esp_ip6_addr if_ip6s[CONFIG_LWIP_IPV6_NUM_ADDRESSES];
|
@@ -533,9 +542,12 @@ void EthernetComponent::dump_connect_params_() {
|
|
533
542
|
}
|
534
543
|
#endif /* USE_NETWORK_IPV6 */
|
535
544
|
|
536
|
-
ESP_LOGCONFIG(TAG,
|
537
|
-
|
538
|
-
|
545
|
+
ESP_LOGCONFIG(TAG,
|
546
|
+
" MAC Address: %s\n"
|
547
|
+
" Is Full Duplex: %s\n"
|
548
|
+
" Link Speed: %u",
|
549
|
+
this->get_eth_mac_address_pretty().c_str(), YESNO(this->get_duplex_mode() == ETH_DUPLEX_FULL),
|
550
|
+
this->get_link_speed() == ETH_SPEED_100M ? 100 : 10);
|
539
551
|
}
|
540
552
|
|
541
553
|
#ifdef USE_ETHERNET_SPI
|
@@ -56,7 +56,7 @@ class EthernetComponent : public Component {
|
|
56
56
|
void dump_config() override;
|
57
57
|
float get_setup_priority() const override;
|
58
58
|
bool can_proceed() override;
|
59
|
-
void
|
59
|
+
void on_powerdown() override { powerdown(); }
|
60
60
|
bool is_connected();
|
61
61
|
|
62
62
|
#ifdef USE_ETHERNET_SPI
|
@@ -113,6 +113,7 @@ async def register_event(var, config, *, event_types: list[str]):
|
|
113
113
|
if not CORE.has_id(config[CONF_ID]):
|
114
114
|
var = cg.Pvariable(config[CONF_ID], var)
|
115
115
|
cg.add(cg.App.register_event(var))
|
116
|
+
CORE.register_platform_component("event", var)
|
116
117
|
await setup_event_core_(var, config, event_types=event_types)
|
117
118
|
|
118
119
|
|
esphome/components/ezo/ezo.cpp
CHANGED
@@ -41,7 +41,7 @@ static const std::string DOSING_MODE_CONTINUOUS = "Continuous";
|
|
41
41
|
void EzoPMP::dump_config() {
|
42
42
|
LOG_I2C_DEVICE(this);
|
43
43
|
if (this->is_failed()) {
|
44
|
-
ESP_LOGE(TAG,
|
44
|
+
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
|
45
45
|
}
|
46
46
|
LOG_UPDATE_INTERVAL(this);
|
47
47
|
}
|
@@ -10,7 +10,7 @@ static const char *const TAG = "factory_reset.button";
|
|
10
10
|
|
11
11
|
void FactoryResetButton::dump_config() { LOG_BUTTON("", "Factory Reset Button", this); }
|
12
12
|
void FactoryResetButton::press_action() {
|
13
|
-
ESP_LOGI(TAG, "Resetting
|
13
|
+
ESP_LOGI(TAG, "Resetting");
|
14
14
|
// Let MQTT settle a bit
|
15
15
|
delay(100); // NOLINT
|
16
16
|
global_preferences->reset();
|