esphome 2025.5.2__py3-none-any.whl → 2025.6.0b2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- esphome/__main__.py +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 +753 -379
- esphome/components/api/api_connection.h +341 -283
- esphome/components/api/api_frame_helper.cpp +349 -344
- esphome/components/api/api_frame_helper.h +121 -94
- esphome/components/api/api_pb2.cpp +3 -0
- esphome/components/api/api_pb2.h +702 -227
- 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 -4
- 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 +5 -4
- 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 +18 -16
- esphome/components/bluetooth_proxy/bluetooth_proxy.h +1 -1
- esphome/components/bme280_base/bme280_base.cpp +5 -6
- 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/datetime/date_entity.cpp +5 -5
- esphome/components/datetime/datetime_base.h +0 -5
- esphome/components/datetime/datetime_entity.cpp +8 -8
- esphome/components/datetime/time_entity.cpp +4 -4
- esphome/components/debug/debug_component.cpp +1 -1
- 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 +118 -23
- 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 +101 -54
- esphome/components/esp32_ble/ble.h +24 -5
- esphome/components/esp32_ble/ble_event.h +172 -32
- esphome/components/esp32_ble/ble_scan_result.h +24 -0
- esphome/components/esp32_ble/ble_uuid.h +1 -1
- esphome/components/esp32_ble/queue.h +53 -27
- 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 +7 -2
- esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +107 -75
- esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +16 -16
- 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/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 +30 -19
- 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 +13 -10
- 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 +4 -4
- 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 +11 -20
- esphome/components/logger/logger.h +1 -2
- 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 +3 -3
- 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 +3 -4
- 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 +69 -69
- esphome/components/nextion/nextion_upload_idf.cpp +79 -80
- esphome/components/nextion/sensor/nextion_sensor.cpp +5 -5
- esphome/components/nextion/switch/nextion_switch.cpp +2 -2
- esphome/components/nextion/text_sensor/nextion_textsensor.cpp +3 -3
- 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/number/number.cpp +1 -1
- esphome/components/number/number.h +0 -4
- 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/prometheus/__init__.py +0 -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/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/select/select.cpp +1 -1
- esphome/components/select/select.h +0 -4
- 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.cpp +8 -4
- esphome/components/sensor/sensor.h +12 -11
- 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 +3 -3
- esphome/components/status_led/light/status_led_light.h +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 +43 -12
- esphome/components/template/alarm_control_panel/template_alarm_control_panel.h +4 -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/text.cpp +1 -1
- esphome/components/text/text.h +0 -4
- esphome/components/text_sensor/__init__.py +1 -0
- esphome/components/text_sensor/text_sensor.cpp +8 -4
- esphome/components/text_sensor/text_sensor.h +6 -6
- 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/update/update_entity.cpp +1 -1
- esphome/components/update/update_entity.h +0 -3
- 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/uptime/sensor/uptime_timestamp_sensor.cpp +1 -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/__init__.py +0 -2
- esphome/components/web_server_idf/utils.cpp +1 -1
- esphome/components/web_server_idf/web_server_idf.cpp +7 -3
- esphome/components/web_server_idf/web_server_idf.h +7 -0
- esphome/components/weikai/__init__.py +2 -0
- esphome/components/weikai/weikai.cpp +24 -22
- 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 +197 -8
- esphome/core/application.h +116 -6
- esphome/core/component.cpp +36 -15
- esphome/core/component.h +43 -13
- esphome/core/config.py +12 -0
- esphome/core/defines.h +10 -2
- esphome/core/entity_base.cpp +4 -16
- esphome/core/entity_base.h +27 -13
- esphome/core/helpers.cpp +1 -1
- esphome/core/helpers.h +5 -5
- 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/wizard.py +0 -16
- esphome/writer.py +5 -3
- esphome/yaml_util.py +6 -1
- esphome/zeroconf.py +1 -1
- {esphome-2025.5.2.dist-info → esphome-2025.6.0b2.dist-info}/METADATA +12 -11
- {esphome-2025.5.2.dist-info → esphome-2025.6.0b2.dist-info}/RECORD +746 -692
- {esphome-2025.5.2.dist-info → esphome-2025.6.0b2.dist-info}/WHEEL +1 -1
- {esphome-2025.5.2.dist-info → esphome-2025.6.0b2.dist-info}/entry_points.txt +0 -0
- {esphome-2025.5.2.dist-info → esphome-2025.6.0b2.dist-info}/licenses/LICENSE +0 -0
- {esphome-2025.5.2.dist-info → esphome-2025.6.0b2.dist-info}/top_level.txt +0 -0
@@ -46,11 +46,13 @@ inline ledc_mode_t get_speed_mode(uint8_t) { return LEDC_LOW_SPEED_MODE; }
|
|
46
46
|
#endif
|
47
47
|
#endif
|
48
48
|
|
49
|
-
float ledc_max_frequency_for_bit_depth(uint8_t bit_depth) {
|
49
|
+
float ledc_max_frequency_for_bit_depth(uint8_t bit_depth) {
|
50
|
+
return static_cast<float>(CLOCK_FREQUENCY) / static_cast<float>(1 << bit_depth);
|
51
|
+
}
|
50
52
|
|
51
53
|
float ledc_min_frequency_for_bit_depth(uint8_t bit_depth, bool low_frequency) {
|
52
54
|
const float max_div_num = ((1 << MAX_RES_BITS) - 1) / (low_frequency ? 32.0f : 256.0f);
|
53
|
-
return CLOCK_FREQUENCY / (max_div_num * float(1 << bit_depth));
|
55
|
+
return static_cast<float>(CLOCK_FREQUENCY) / (max_div_num * static_cast<float>(1 << bit_depth));
|
54
56
|
}
|
55
57
|
|
56
58
|
optional<uint8_t> ledc_bit_depth_for_frequency(float frequency) {
|
@@ -100,13 +102,13 @@ esp_err_t configure_timer_frequency(ledc_mode_t speed_mode, ledc_timer_t timer_n
|
|
100
102
|
|
101
103
|
#ifdef USE_ESP_IDF
|
102
104
|
constexpr int ledc_angle_to_htop(float angle, uint8_t bit_depth) {
|
103
|
-
return static_cast<int>(angle * ((1U << bit_depth) - 1) / 360.);
|
105
|
+
return static_cast<int>(angle * ((1U << bit_depth) - 1) / 360.0f);
|
104
106
|
}
|
105
107
|
#endif // USE_ESP_IDF
|
106
108
|
|
107
109
|
void LEDCOutput::write_state(float state) {
|
108
|
-
if (!initialized_) {
|
109
|
-
ESP_LOGW(TAG, "
|
110
|
+
if (!this->initialized_) {
|
111
|
+
ESP_LOGW(TAG, "Not yet initialized");
|
110
112
|
return;
|
111
113
|
}
|
112
114
|
|
@@ -122,8 +124,8 @@ void LEDCOutput::write_state(float state) {
|
|
122
124
|
ledcWrite(this->channel_, duty);
|
123
125
|
#endif
|
124
126
|
#ifdef USE_ESP_IDF
|
125
|
-
auto speed_mode = get_speed_mode(channel_);
|
126
|
-
auto chan_num = static_cast<ledc_channel_t>(channel_ % 8);
|
127
|
+
auto speed_mode = get_speed_mode(this->channel_);
|
128
|
+
auto chan_num = static_cast<ledc_channel_t>(this->channel_ % 8);
|
127
129
|
int hpoint = ledc_angle_to_htop(this->phase_angle_, this->bit_depth_);
|
128
130
|
if (duty == max_duty) {
|
129
131
|
ledc_stop(speed_mode, chan_num, 1);
|
@@ -137,7 +139,7 @@ void LEDCOutput::write_state(float state) {
|
|
137
139
|
}
|
138
140
|
|
139
141
|
void LEDCOutput::setup() {
|
140
|
-
|
142
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
141
143
|
#ifdef USE_ARDUINO
|
142
144
|
this->update_frequency(this->frequency_);
|
143
145
|
this->turn_off();
|
@@ -145,9 +147,9 @@ void LEDCOutput::setup() {
|
|
145
147
|
ledcAttachPin(this->pin_->get_pin(), this->channel_);
|
146
148
|
#endif
|
147
149
|
#ifdef USE_ESP_IDF
|
148
|
-
auto speed_mode = get_speed_mode(channel_);
|
149
|
-
auto timer_num = static_cast<ledc_timer_t>((channel_ % 8) / 2);
|
150
|
-
auto chan_num = static_cast<ledc_channel_t>(channel_ % 8);
|
150
|
+
auto speed_mode = get_speed_mode(this->channel_);
|
151
|
+
auto timer_num = static_cast<ledc_timer_t>((this->channel_ % 8) / 2);
|
152
|
+
auto chan_num = static_cast<ledc_channel_t>(this->channel_ % 8);
|
151
153
|
|
152
154
|
esp_err_t timer_init_result =
|
153
155
|
configure_timer_frequency(speed_mode, timer_num, chan_num, this->channel_, this->bit_depth_, this->frequency_);
|
@@ -163,26 +165,28 @@ void LEDCOutput::setup() {
|
|
163
165
|
ESP_LOGV(TAG, "Angle of %.1f° results in hpoint %u", this->phase_angle_, hpoint);
|
164
166
|
|
165
167
|
ledc_channel_config_t chan_conf{};
|
166
|
-
chan_conf.gpio_num = pin_->get_pin();
|
168
|
+
chan_conf.gpio_num = this->pin_->get_pin();
|
167
169
|
chan_conf.speed_mode = speed_mode;
|
168
170
|
chan_conf.channel = chan_num;
|
169
171
|
chan_conf.intr_type = LEDC_INTR_DISABLE;
|
170
172
|
chan_conf.timer_sel = timer_num;
|
171
|
-
chan_conf.duty = inverted_ == pin_->is_inverted() ? 0 : (1U << bit_depth_);
|
173
|
+
chan_conf.duty = this->inverted_ == this->pin_->is_inverted() ? 0 : (1U << this->bit_depth_);
|
172
174
|
chan_conf.hpoint = hpoint;
|
173
175
|
ledc_channel_config(&chan_conf);
|
174
|
-
initialized_ = true;
|
176
|
+
this->initialized_ = true;
|
175
177
|
this->status_clear_error();
|
176
178
|
#endif
|
177
179
|
}
|
178
180
|
|
179
181
|
void LEDCOutput::dump_config() {
|
180
|
-
ESP_LOGCONFIG(TAG, "
|
182
|
+
ESP_LOGCONFIG(TAG, "Output:");
|
181
183
|
LOG_PIN(" Pin ", this->pin_);
|
182
|
-
ESP_LOGCONFIG(TAG,
|
183
|
-
|
184
|
-
|
185
|
-
|
184
|
+
ESP_LOGCONFIG(TAG,
|
185
|
+
" Channel: %u\n"
|
186
|
+
" PWM Frequency: %.1f Hz\n"
|
187
|
+
" Phase angle: %.1f°\n"
|
188
|
+
" Bit depth: %u",
|
189
|
+
this->channel_, this->frequency_, this->phase_angle_, this->bit_depth_);
|
186
190
|
ESP_LOGV(TAG, " Max frequency for bit depth: %f", ledc_max_frequency_for_bit_depth(this->bit_depth_));
|
187
191
|
ESP_LOGV(TAG, " Min frequency for bit depth: %f",
|
188
192
|
ledc_min_frequency_for_bit_depth(this->bit_depth_, (this->frequency_ < 100)));
|
@@ -205,17 +209,17 @@ void LEDCOutput::update_frequency(float frequency) {
|
|
205
209
|
this->bit_depth_ = bit_depth_opt.value_or(8);
|
206
210
|
this->frequency_ = frequency;
|
207
211
|
#ifdef USE_ARDUINO
|
208
|
-
ESP_LOGV(TAG, "Using Arduino API - Trying to define channel, frequency and bit depth
|
212
|
+
ESP_LOGV(TAG, "Using Arduino API - Trying to define channel, frequency and bit depth");
|
209
213
|
u_int32_t configured_frequency = 0;
|
210
214
|
|
211
215
|
// Configure LEDC channel, frequency and bit depth with fallback
|
212
216
|
int attempt_count_max = SETUP_ATTEMPT_COUNT_MAX;
|
213
217
|
while (attempt_count_max > 0 && configured_frequency == 0) {
|
214
|
-
ESP_LOGV(TAG, "
|
215
|
-
this->
|
218
|
+
ESP_LOGV(TAG, "Initializing channel %u with frequency %.1f and bit depth of %u", this->channel_, this->frequency_,
|
219
|
+
this->bit_depth_);
|
216
220
|
configured_frequency = ledcSetup(this->channel_, frequency, this->bit_depth_);
|
217
221
|
if (configured_frequency != 0) {
|
218
|
-
initialized_ = true;
|
222
|
+
this->initialized_ = true;
|
219
223
|
this->status_clear_error();
|
220
224
|
ESP_LOGV(TAG, "Configured frequency: %u with bit depth: %u", configured_frequency, this->bit_depth_);
|
221
225
|
} else {
|
@@ -236,14 +240,14 @@ void LEDCOutput::update_frequency(float frequency) {
|
|
236
240
|
|
237
241
|
#endif // USE_ARDUINO
|
238
242
|
#ifdef USE_ESP_IDF
|
239
|
-
if (!initialized_) {
|
240
|
-
ESP_LOGW(TAG, "
|
243
|
+
if (!this->initialized_) {
|
244
|
+
ESP_LOGW(TAG, "Not yet initialized");
|
241
245
|
return;
|
242
246
|
}
|
243
247
|
|
244
|
-
auto speed_mode = get_speed_mode(channel_);
|
245
|
-
auto timer_num = static_cast<ledc_timer_t>((channel_ % 8) / 2);
|
246
|
-
auto chan_num = static_cast<ledc_channel_t>(channel_ % 8);
|
248
|
+
auto speed_mode = get_speed_mode(this->channel_);
|
249
|
+
auto timer_num = static_cast<ledc_timer_t>((this->channel_ % 8) / 2);
|
250
|
+
auto chan_num = static_cast<ledc_channel_t>(this->channel_ % 8);
|
247
251
|
|
248
252
|
esp_err_t timer_init_result =
|
249
253
|
configure_timer_frequency(speed_mode, timer_num, chan_num, this->channel_, this->bit_depth_, this->frequency_);
|
@@ -1,8 +1,8 @@
|
|
1
1
|
#ifdef USE_LIBRETINY
|
2
2
|
|
3
|
-
#include "esphome/core/preferences.h"
|
4
3
|
#include "esphome/core/helpers.h"
|
5
4
|
#include "esphome/core/log.h"
|
5
|
+
#include "esphome/core/preferences.h"
|
6
6
|
#include <flashdb.h>
|
7
7
|
#include <cstring>
|
8
8
|
#include <vector>
|
@@ -101,7 +101,7 @@ class LibreTinyPreferences : public ESPPreferences {
|
|
101
101
|
if (s_pending_save.empty())
|
102
102
|
return true;
|
103
103
|
|
104
|
-
|
104
|
+
ESP_LOGV(TAG, "Saving %d items...", s_pending_save.size());
|
105
105
|
// goal try write all pending saves even if one fails
|
106
106
|
int cached = 0, written = 0, failed = 0;
|
107
107
|
fdb_err_t last_err = FDB_NO_ERR;
|
@@ -129,11 +129,10 @@ class LibreTinyPreferences : public ESPPreferences {
|
|
129
129
|
}
|
130
130
|
s_pending_save.erase(s_pending_save.begin() + i);
|
131
131
|
}
|
132
|
-
ESP_LOGD(TAG, "
|
133
|
-
|
132
|
+
ESP_LOGD(TAG, "Writing %d items: %d cached, %d written, %d failed", cached + written + failed, cached, written,
|
133
|
+
failed);
|
134
134
|
if (failed > 0) {
|
135
|
-
ESP_LOGE(TAG, "
|
136
|
-
last_key.c_str());
|
135
|
+
ESP_LOGE(TAG, "Writing %d items failed. Last error=%d for key=%s", failed, last_err, last_key.c_str());
|
137
136
|
}
|
138
137
|
|
139
138
|
return failed == 0;
|
@@ -158,7 +157,7 @@ class LibreTinyPreferences : public ESPPreferences {
|
|
158
157
|
}
|
159
158
|
|
160
159
|
bool reset() override {
|
161
|
-
ESP_LOGD(TAG, "
|
160
|
+
ESP_LOGD(TAG, "Erasing storage");
|
162
161
|
s_pending_save.clear();
|
163
162
|
|
164
163
|
fdb_kv_set_default(&db);
|
@@ -37,7 +37,7 @@ from esphome.const import (
|
|
37
37
|
CONF_WEB_SERVER,
|
38
38
|
CONF_WHITE,
|
39
39
|
)
|
40
|
-
from esphome.core import coroutine_with_priority
|
40
|
+
from esphome.core import CORE, coroutine_with_priority
|
41
41
|
from esphome.cpp_generator import MockObjClass
|
42
42
|
from esphome.cpp_helpers import setup_entity
|
43
43
|
|
@@ -270,6 +270,7 @@ async def setup_light_core_(light_var, output_var, config):
|
|
270
270
|
async def register_light(output_var, config):
|
271
271
|
light_var = cg.new_Pvariable(config[CONF_ID], output_var)
|
272
272
|
cg.add(cg.App.register_light(light_var))
|
273
|
+
CORE.register_platform_component("light", light_var)
|
273
274
|
await cg.register_component(light_var, config)
|
274
275
|
await setup_light_core_(light_var, output_var, config)
|
275
276
|
|
@@ -18,7 +18,7 @@ LightCall LightState::toggle() { return this->make_call().set_state(!this->remot
|
|
18
18
|
LightCall LightState::make_call() { return LightCall(this); }
|
19
19
|
|
20
20
|
void LightState::setup() {
|
21
|
-
ESP_LOGCONFIG(TAG, "
|
21
|
+
ESP_LOGCONFIG(TAG, "Running setup for '%s'", this->get_name().c_str());
|
22
22
|
|
23
23
|
this->output_->setup_state(this);
|
24
24
|
for (auto *effect : this->effects_) {
|
@@ -91,12 +91,16 @@ void LightState::setup() {
|
|
91
91
|
void LightState::dump_config() {
|
92
92
|
ESP_LOGCONFIG(TAG, "Light '%s'", this->get_name().c_str());
|
93
93
|
if (this->get_traits().supports_color_capability(ColorCapability::BRIGHTNESS)) {
|
94
|
-
ESP_LOGCONFIG(TAG,
|
95
|
-
|
94
|
+
ESP_LOGCONFIG(TAG,
|
95
|
+
" Default Transition Length: %.1fs\n"
|
96
|
+
" Gamma Correct: %.2f",
|
97
|
+
this->default_transition_length_ / 1e3f, this->gamma_correct_);
|
96
98
|
}
|
97
99
|
if (this->get_traits().supports_color_capability(ColorCapability::COLOR_TEMPERATURE)) {
|
98
|
-
ESP_LOGCONFIG(TAG,
|
99
|
-
|
100
|
+
ESP_LOGCONFIG(TAG,
|
101
|
+
" Min Mireds: %.1f\n"
|
102
|
+
" Max Mireds: %.1f",
|
103
|
+
this->get_traits().get_min_mireds(), this->get_traits().get_max_mireds());
|
100
104
|
}
|
101
105
|
}
|
102
106
|
void LightState::loop() {
|
@@ -14,7 +14,7 @@ static const bool DEFAULT_INVERT = false;
|
|
14
14
|
static const uint32_t DEFAULT_TICK = 330;
|
15
15
|
|
16
16
|
void LightWaveRF::setup() {
|
17
|
-
ESP_LOGCONFIG(TAG, "
|
17
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
18
18
|
|
19
19
|
this->lwtx_.lwtx_setup(pin_tx_, DEFAULT_REPEAT, DEFAULT_INVERT, DEFAULT_TICK);
|
20
20
|
this->lwrx_.lwrx_setup(pin_rx_);
|
@@ -24,7 +24,7 @@ static const uint8_t READ_TOUCH[1] = {0x07};
|
|
24
24
|
}
|
25
25
|
|
26
26
|
void LilygoT547Touchscreen::setup() {
|
27
|
-
ESP_LOGCONFIG(TAG, "
|
27
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
28
28
|
this->interrupt_pin_->pin_mode(gpio::FLAG_INPUT | gpio::FLAG_PULLUP);
|
29
29
|
this->interrupt_pin_->setup();
|
30
30
|
|
@@ -115,6 +115,7 @@ async def register_lock(var, config):
|
|
115
115
|
if not CORE.has_id(config[CONF_ID]):
|
116
116
|
var = cg.Pvariable(config[CONF_ID], var)
|
117
117
|
cg.add(cg.App.register_lock(var))
|
118
|
+
CORE.register_platform_component("lock", var)
|
118
119
|
await _setup_lock_core(var, config)
|
119
120
|
|
120
121
|
|
esphome/components/lock/lock.h
CHANGED
@@ -2,9 +2,9 @@
|
|
2
2
|
|
3
3
|
#include "esphome/core/component.h"
|
4
4
|
#include "esphome/core/entity_base.h"
|
5
|
-
#include "esphome/core/preferences.h"
|
6
5
|
#include "esphome/core/helpers.h"
|
7
6
|
#include "esphome/core/log.h"
|
7
|
+
#include "esphome/core/preferences.h"
|
8
8
|
#include <set>
|
9
9
|
|
10
10
|
namespace esphome {
|
@@ -8,8 +8,10 @@ from esphome.components.esp32.const import (
|
|
8
8
|
VARIANT_ESP32,
|
9
9
|
VARIANT_ESP32C2,
|
10
10
|
VARIANT_ESP32C3,
|
11
|
+
VARIANT_ESP32C5,
|
11
12
|
VARIANT_ESP32C6,
|
12
13
|
VARIANT_ESP32H2,
|
14
|
+
VARIANT_ESP32P4,
|
13
15
|
VARIANT_ESP32S2,
|
14
16
|
VARIANT_ESP32S3,
|
15
17
|
)
|
@@ -88,8 +90,10 @@ UART_SELECTION_ESP32 = {
|
|
88
90
|
VARIANT_ESP32S3: [UART0, UART1, USB_CDC, USB_SERIAL_JTAG],
|
89
91
|
VARIANT_ESP32C3: [UART0, UART1, USB_CDC, USB_SERIAL_JTAG],
|
90
92
|
VARIANT_ESP32C2: [UART0, UART1],
|
93
|
+
VARIANT_ESP32C5: [UART0, UART1, USB_CDC, USB_SERIAL_JTAG],
|
91
94
|
VARIANT_ESP32C6: [UART0, UART1, USB_CDC, USB_SERIAL_JTAG],
|
92
95
|
VARIANT_ESP32H2: [UART0, UART1, USB_CDC, USB_SERIAL_JTAG],
|
96
|
+
VARIANT_ESP32P4: [UART0, UART1, USB_CDC, USB_SERIAL_JTAG],
|
93
97
|
}
|
94
98
|
|
95
99
|
UART_SELECTION_ESP8266 = [UART0, UART0_SWAP, UART1]
|
@@ -205,8 +209,10 @@ CONFIG_SCHEMA = cv.All(
|
|
205
209
|
esp32_s3_idf=USB_SERIAL_JTAG,
|
206
210
|
esp32_c3_arduino=USB_CDC,
|
207
211
|
esp32_c3_idf=USB_SERIAL_JTAG,
|
212
|
+
esp32_c5_idf=USB_SERIAL_JTAG,
|
208
213
|
esp32_c6_arduino=USB_CDC,
|
209
214
|
esp32_c6_idf=USB_SERIAL_JTAG,
|
215
|
+
esp32_p4_idf=USB_SERIAL_JTAG,
|
210
216
|
rp2040=USB_CDC,
|
211
217
|
bk72xx=DEFAULT,
|
212
218
|
rtl87xx=DEFAULT,
|
@@ -116,7 +116,7 @@ void Logger::log_vprintf_(int level, const char *tag, int line, const __FlashStr
|
|
116
116
|
if (this->baud_rate_ > 0) {
|
117
117
|
this->write_msg_(this->tx_buffer_ + msg_start);
|
118
118
|
}
|
119
|
-
this->
|
119
|
+
this->log_callback_.call(level, tag, this->tx_buffer_ + msg_start);
|
120
120
|
|
121
121
|
global_recursion_guard_ = false;
|
122
122
|
}
|
@@ -129,19 +129,6 @@ inline int Logger::level_for(const char *tag) {
|
|
129
129
|
return this->current_level_;
|
130
130
|
}
|
131
131
|
|
132
|
-
void HOT Logger::call_log_callbacks_(int level, const char *tag, const char *msg) {
|
133
|
-
#ifdef USE_ESP32
|
134
|
-
// Suppress network-logging if memory constrained
|
135
|
-
// In some configurations (eg BLE enabled) there may be some transient
|
136
|
-
// memory exhaustion, and trying to log when OOM can lead to a crash. Skipping
|
137
|
-
// here usually allows the stack to recover instead.
|
138
|
-
// See issue #1234 for analysis.
|
139
|
-
if (xPortGetFreeHeapSize() < 2048)
|
140
|
-
return;
|
141
|
-
#endif
|
142
|
-
this->log_callback_.call(level, tag, msg);
|
143
|
-
}
|
144
|
-
|
145
132
|
Logger::Logger(uint32_t baud_rate, size_t tx_buffer_size) : baud_rate_(baud_rate), tx_buffer_size_(tx_buffer_size) {
|
146
133
|
// add 1 to buffer size for null terminator
|
147
134
|
this->tx_buffer_ = new char[this->tx_buffer_size_ + 1]; // NOLINT
|
@@ -189,7 +176,7 @@ void Logger::loop() {
|
|
189
176
|
this->tx_buffer_size_);
|
190
177
|
this->write_footer_to_buffer_(this->tx_buffer_, &this->tx_buffer_at_, this->tx_buffer_size_);
|
191
178
|
this->tx_buffer_[this->tx_buffer_at_] = '\0';
|
192
|
-
this->
|
179
|
+
this->log_callback_.call(message->level, message->tag, this->tx_buffer_);
|
193
180
|
// At this point all the data we need from message has been transferred to the tx_buffer
|
194
181
|
// so we can release the message to allow other tasks to use it as soon as possible.
|
195
182
|
this->log_buffer_->release_message_main_loop(received_token);
|
@@ -221,12 +208,16 @@ float Logger::get_setup_priority() const { return setup_priority::BUS + 500.0f;
|
|
221
208
|
static const char *const LOG_LEVELS[] = {"NONE", "ERROR", "WARN", "INFO", "CONFIG", "DEBUG", "VERBOSE", "VERY_VERBOSE"};
|
222
209
|
|
223
210
|
void Logger::dump_config() {
|
224
|
-
ESP_LOGCONFIG(TAG,
|
225
|
-
|
226
|
-
|
211
|
+
ESP_LOGCONFIG(TAG,
|
212
|
+
"Logger:\n"
|
213
|
+
" Max Level: %s\n"
|
214
|
+
" Initial Level: %s",
|
215
|
+
LOG_LEVELS[ESPHOME_LOG_LEVEL], LOG_LEVELS[this->current_level_]);
|
227
216
|
#ifndef USE_HOST
|
228
|
-
ESP_LOGCONFIG(TAG,
|
229
|
-
|
217
|
+
ESP_LOGCONFIG(TAG,
|
218
|
+
" Log Baud Rate: %" PRIu32 "\n"
|
219
|
+
" Hardware UART: %s",
|
220
|
+
this->baud_rate_, get_uart_selection_());
|
230
221
|
#endif
|
231
222
|
#ifdef USE_ESPHOME_TASK_LOG_BUFFER
|
232
223
|
if (this->log_buffer_) {
|
@@ -156,7 +156,6 @@ class Logger : public Component {
|
|
156
156
|
#endif
|
157
157
|
|
158
158
|
protected:
|
159
|
-
void call_log_callbacks_(int level, const char *tag, const char *msg);
|
160
159
|
void write_msg_(const char *msg);
|
161
160
|
|
162
161
|
// Format a log message with printf-style arguments and write it to a buffer with header, footer, and null terminator
|
@@ -191,7 +190,7 @@ class Logger : public Component {
|
|
191
190
|
if (this->baud_rate_ > 0) {
|
192
191
|
this->write_msg_(this->tx_buffer_); // If logging is enabled, write to console
|
193
192
|
}
|
194
|
-
this->
|
193
|
+
this->log_callback_.call(level, tag, this->tx_buffer_);
|
195
194
|
}
|
196
195
|
|
197
196
|
// Write the body of the log message to the buffer
|
@@ -18,12 +18,12 @@
|
|
18
18
|
#endif
|
19
19
|
#endif
|
20
20
|
|
21
|
-
#include "freertos/FreeRTOS.h"
|
22
21
|
#include "esp_idf_version.h"
|
22
|
+
#include "freertos/FreeRTOS.h"
|
23
23
|
|
24
|
+
#include <fcntl.h>
|
24
25
|
#include <cstdint>
|
25
26
|
#include <cstdio>
|
26
|
-
#include <fcntl.h>
|
27
27
|
|
28
28
|
#endif // USE_ESP_IDF
|
29
29
|
|
@@ -174,11 +174,11 @@ void Logger::pre_setup() {
|
|
174
174
|
#ifdef USE_ESP_IDF
|
175
175
|
void HOT Logger::write_msg_(const char *msg) {
|
176
176
|
if (
|
177
|
-
#if defined(
|
177
|
+
#if defined(USE_LOGGER_USB_CDC) && !defined(USE_LOGGER_USB_SERIAL_JTAG)
|
178
178
|
this->uart_ == UART_SELECTION_USB_CDC
|
179
|
-
#elif defined(
|
179
|
+
#elif defined(USE_LOGGER_USB_SERIAL_JTAG) && !defined(USE_LOGGER_USB_CDC)
|
180
180
|
this->uart_ == UART_SELECTION_USB_SERIAL_JTAG
|
181
|
-
#elif defined(
|
181
|
+
#elif defined(USE_LOGGER_USB_CDC) && defined(USE_LOGGER_USB_SERIAL_JTAG)
|
182
182
|
this->uart_ == UART_SELECTION_USB_CDC || this->uart_ == UART_SELECTION_USB_SERIAL_JTAG
|
183
183
|
#else
|
184
184
|
/* DISABLES CODE */ (false) // NOLINT
|
@@ -148,7 +148,7 @@ void LTR390Component::read_mode_(int mode_index) {
|
|
148
148
|
}
|
149
149
|
|
150
150
|
void LTR390Component::setup() {
|
151
|
-
ESP_LOGCONFIG(TAG, "
|
151
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
152
152
|
|
153
153
|
// reset
|
154
154
|
std::bitset<8> ctrl = this->reg(LTR390_MAIN_CTRL).get();
|
@@ -187,10 +187,13 @@ void LTR390Component::setup() {
|
|
187
187
|
|
188
188
|
void LTR390Component::dump_config() {
|
189
189
|
LOG_I2C_DEVICE(this);
|
190
|
-
ESP_LOGCONFIG(TAG,
|
191
|
-
|
192
|
-
|
193
|
-
|
190
|
+
ESP_LOGCONFIG(TAG,
|
191
|
+
" ALS Gain: X%.0f\n"
|
192
|
+
" ALS Resolution: %u-bit\n"
|
193
|
+
" UV Gain: X%.0f\n"
|
194
|
+
" UV Resolution: %u-bit",
|
195
|
+
GAINVALUES[this->gain_als_], RESOLUTION_BITS[this->res_als_], GAINVALUES[this->gain_uv_],
|
196
|
+
RESOLUTION_BITS[this->res_uv_]);
|
194
197
|
}
|
195
198
|
|
196
199
|
void LTR390Component::update() {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#include "ltr501.h"
|
2
2
|
#include "esphome/core/application.h"
|
3
|
-
#include "esphome/core/log.h"
|
4
3
|
#include "esphome/core/helpers.h"
|
4
|
+
#include "esphome/core/log.h"
|
5
5
|
|
6
6
|
using esphome::i2c::ErrorCode;
|
7
7
|
|
@@ -74,7 +74,7 @@ static float get_ps_gain_coeff(PsGain501 gain) {
|
|
74
74
|
}
|
75
75
|
|
76
76
|
void LTRAlsPs501Component::setup() {
|
77
|
-
ESP_LOGCONFIG(TAG, "
|
77
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
78
78
|
// As per datasheet we need to wait at least 100ms after power on to get ALS chip responsive
|
79
79
|
this->set_timeout(100, [this]() { this->state_ = State::DELAYED_SETUP; });
|
80
80
|
}
|
@@ -94,16 +94,21 @@ void LTRAlsPs501Component::dump_config() {
|
|
94
94
|
};
|
95
95
|
|
96
96
|
LOG_I2C_DEVICE(this);
|
97
|
-
ESP_LOGCONFIG(TAG,
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
97
|
+
ESP_LOGCONFIG(TAG,
|
98
|
+
" Device type: %s\n"
|
99
|
+
" Automatic mode: %s\n"
|
100
|
+
" Gain: %.0fx\n"
|
101
|
+
" Integration time: %d ms\n"
|
102
|
+
" Measurement repeat rate: %d ms\n"
|
103
|
+
" Glass attenuation factor: %f\n"
|
104
|
+
" Proximity gain: %.0fx\n"
|
105
|
+
" Proximity cooldown time: %d s\n"
|
106
|
+
" Proximity high threshold: %d\n"
|
107
|
+
" Proximity low threshold: %d",
|
108
|
+
get_device_type(this->ltr_type_), ONOFF(this->automatic_mode_enabled_), get_gain_coeff(this->gain_),
|
109
|
+
get_itime_ms(this->integration_time_), get_meas_time_ms(this->repeat_rate_),
|
110
|
+
this->glass_attenuation_factor_, get_ps_gain_coeff(this->ps_gain_), this->ps_cooldown_time_s_,
|
111
|
+
this->ps_threshold_high_, this->ps_threshold_low_);
|
107
112
|
|
108
113
|
LOG_UPDATE_INTERVAL(this);
|
109
114
|
|
@@ -113,7 +118,7 @@ void LTRAlsPs501Component::dump_config() {
|
|
113
118
|
LOG_SENSOR(" ", "Actual gain", this->actual_gain_sensor_);
|
114
119
|
|
115
120
|
if (this->is_failed()) {
|
116
|
-
ESP_LOGE(TAG,
|
121
|
+
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
|
117
122
|
}
|
118
123
|
}
|
119
124
|
|
@@ -306,7 +311,7 @@ void LTRAlsPs501Component::configure_als_() {
|
|
306
311
|
|
307
312
|
uint8_t tries = MAX_TRIES;
|
308
313
|
do {
|
309
|
-
ESP_LOGV(TAG, "Waiting for ALS device to become active
|
314
|
+
ESP_LOGV(TAG, "Waiting for ALS device to become active");
|
310
315
|
delay(2);
|
311
316
|
als_ctrl.raw = this->reg((uint8_t) CommandRegisters::ALS_CONTR).get();
|
312
317
|
} while (!als_ctrl.als_mode_active && tries--); // while active mode is not set - keep waiting
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#include "ltr_als_ps.h"
|
2
2
|
#include "esphome/core/application.h"
|
3
|
-
#include "esphome/core/log.h"
|
4
3
|
#include "esphome/core/helpers.h"
|
4
|
+
#include "esphome/core/log.h"
|
5
5
|
|
6
6
|
using esphome::i2c::ErrorCode;
|
7
7
|
|
@@ -63,7 +63,7 @@ static float get_ps_gain_coeff(PsGain gain) {
|
|
63
63
|
}
|
64
64
|
|
65
65
|
void LTRAlsPsComponent::setup() {
|
66
|
-
ESP_LOGCONFIG(TAG, "
|
66
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
67
67
|
// As per datasheet we need to wait at least 100ms after power on to get ALS chip responsive
|
68
68
|
this->set_timeout(100, [this]() { this->state_ = State::DELAYED_SETUP; });
|
69
69
|
}
|
@@ -85,27 +85,34 @@ void LTRAlsPsComponent::dump_config() {
|
|
85
85
|
LOG_I2C_DEVICE(this);
|
86
86
|
ESP_LOGCONFIG(TAG, " Device type: %s", get_device_type(this->ltr_type_));
|
87
87
|
if (this->is_als_()) {
|
88
|
-
ESP_LOGCONFIG(TAG,
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
88
|
+
ESP_LOGCONFIG(TAG,
|
89
|
+
" Automatic mode: %s\n"
|
90
|
+
" Gain: %.0fx\n"
|
91
|
+
" Integration time: %d ms\n"
|
92
|
+
" Measurement repeat rate: %d ms\n"
|
93
|
+
" Glass attenuation factor: %f",
|
94
|
+
ONOFF(this->automatic_mode_enabled_), get_gain_coeff(this->gain_),
|
95
|
+
get_itime_ms(this->integration_time_), get_meas_time_ms(this->repeat_rate_),
|
96
|
+
this->glass_attenuation_factor_);
|
93
97
|
LOG_SENSOR(" ", "ALS calculated lux", this->ambient_light_sensor_);
|
94
98
|
LOG_SENSOR(" ", "CH1 Infrared counts", this->infrared_counts_sensor_);
|
95
99
|
LOG_SENSOR(" ", "CH0 Visible+IR counts", this->full_spectrum_counts_sensor_);
|
96
100
|
LOG_SENSOR(" ", "Actual gain", this->actual_gain_sensor_);
|
97
101
|
}
|
98
102
|
if (this->is_ps_()) {
|
99
|
-
ESP_LOGCONFIG(TAG,
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
+
ESP_LOGCONFIG(TAG,
|
104
|
+
" Proximity gain: %.0fx\n"
|
105
|
+
" Proximity cooldown time: %d s\n"
|
106
|
+
" Proximity high threshold: %d\n"
|
107
|
+
" Proximity low threshold: %d",
|
108
|
+
get_ps_gain_coeff(this->ps_gain_), this->ps_cooldown_time_s_, this->ps_threshold_high_,
|
109
|
+
this->ps_threshold_low_);
|
103
110
|
LOG_SENSOR(" ", "Proximity counts", this->proximity_counts_sensor_);
|
104
111
|
}
|
105
112
|
LOG_UPDATE_INTERVAL(this);
|
106
113
|
|
107
114
|
if (this->is_failed()) {
|
108
|
-
ESP_LOGE(TAG,
|
115
|
+
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
|
109
116
|
}
|
110
117
|
}
|
111
118
|
|
@@ -298,7 +305,7 @@ void LTRAlsPsComponent::configure_als_() {
|
|
298
305
|
|
299
306
|
uint8_t tries = MAX_TRIES;
|
300
307
|
do {
|
301
|
-
ESP_LOGV(TAG, "Waiting for device to become active
|
308
|
+
ESP_LOGV(TAG, "Waiting for device to become active");
|
302
309
|
delay(2);
|
303
310
|
als_ctrl.raw = this->reg((uint8_t) CommandRegisters::ALS_CONTR).get();
|
304
311
|
} while (!als_ctrl.active_mode && tries--); // while active mode is not set - keep waiting
|
@@ -321,7 +321,7 @@ async def to_code(configs):
|
|
321
321
|
frac = 2
|
322
322
|
elif frac > 0.19:
|
323
323
|
frac = 4
|
324
|
-
|
324
|
+
elif frac != 0:
|
325
325
|
frac = 8
|
326
326
|
displays = [
|
327
327
|
await cg.get_variable(display) for display in config[df.CONF_DISPLAYS]
|
@@ -422,7 +422,7 @@ LVGL_SCHEMA = cv.All(
|
|
422
422
|
): lvalid.lv_font,
|
423
423
|
cv.Optional(df.CONF_FULL_REFRESH, default=False): cv.boolean,
|
424
424
|
cv.Optional(CONF_DRAW_ROUNDING, default=2): cv.positive_int,
|
425
|
-
cv.Optional(CONF_BUFFER_SIZE, default=
|
425
|
+
cv.Optional(CONF_BUFFER_SIZE, default=0): cv.percentage,
|
426
426
|
cv.Optional(df.CONF_LOG_LEVEL, default="WARN"): cv.one_of(
|
427
427
|
*df.LV_LOG_LEVELS, upper=True
|
428
428
|
),
|