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.
Files changed (720) hide show
  1. esphome/__main__.py +20 -14
  2. esphome/components/a4988/a4988.cpp +1 -1
  3. esphome/components/absolute_humidity/absolute_humidity.cpp +6 -4
  4. esphome/components/ac_dimmer/ac_dimmer.cpp +4 -2
  5. esphome/components/adc/adc_sensor_esp32.cpp +5 -3
  6. esphome/components/adc/adc_sensor_esp8266.cpp +5 -3
  7. esphome/components/adc/adc_sensor_libretiny.cpp +5 -3
  8. esphome/components/adc/adc_sensor_rp2040.cpp +5 -3
  9. esphome/components/adc128s102/adc128s102.cpp +1 -1
  10. esphome/components/ade7880/ade7880.cpp +28 -17
  11. esphome/components/ade7953_base/ade7953_base.cpp +12 -9
  12. esphome/components/ade7953_i2c/ade7953_i2c.cpp +1 -1
  13. esphome/components/ade7953_spi/ade7953_spi.cpp +1 -1
  14. esphome/components/ads1115/ads1115.cpp +3 -5
  15. esphome/components/ads1118/ads1118.cpp +2 -1
  16. esphome/components/ags10/ags10.cpp +3 -2
  17. esphome/components/aht10/aht10.cpp +27 -29
  18. esphome/components/aic3204/aic3204.cpp +2 -2
  19. esphome/components/alarm_control_panel/__init__.py +1 -0
  20. esphome/components/am2315c/am2315c.cpp +2 -2
  21. esphome/components/am2320/am2320.cpp +2 -2
  22. esphome/components/am43/am43_base.h +1 -1
  23. esphome/components/am43/cover/am43_cover.cpp +4 -2
  24. esphome/components/analog_threshold/analog_threshold_binary_sensor.cpp +4 -2
  25. esphome/components/apds9306/apds9306.cpp +8 -5
  26. esphome/components/apds9960/apds9960.cpp +2 -2
  27. esphome/components/api/__init__.py +5 -0
  28. esphome/components/api/api_connection.cpp +712 -358
  29. esphome/components/api/api_connection.h +343 -284
  30. esphome/components/api/api_frame_helper.cpp +349 -344
  31. esphome/components/api/api_frame_helper.h +121 -94
  32. esphome/components/api/api_pb2.cpp +2 -0
  33. esphome/components/api/api_pb2.h +637 -1
  34. esphome/components/api/api_pb2_service.cpp +12 -688
  35. esphome/components/api/api_pb2_service.h +53 -207
  36. esphome/components/api/api_server.cpp +71 -29
  37. esphome/components/api/api_server.h +9 -0
  38. esphome/components/api/client.py +5 -2
  39. esphome/components/api/homeassistant_service.h +1 -1
  40. esphome/components/api/list_entities.cpp +1 -1
  41. esphome/components/api/proto.cpp +1 -0
  42. esphome/components/api/proto.h +4 -3
  43. esphome/components/api/subscribe_state.cpp +8 -16
  44. esphome/components/as3935/as3935.cpp +3 -3
  45. esphome/components/as5600/as5600.cpp +9 -7
  46. esphome/components/as7341/as7341.cpp +7 -5
  47. esphome/components/at581x/at581x.cpp +13 -10
  48. esphome/components/atm90e26/atm90e26.cpp +2 -2
  49. esphome/components/atm90e32/atm90e32.cpp +3 -3
  50. esphome/components/axs15231/touchscreen/axs15231_touchscreen.cpp +5 -3
  51. esphome/components/bang_bang/bang_bang_climate.cpp +8 -5
  52. esphome/components/bedjet/bedjet_hub.cpp +6 -4
  53. esphome/components/beken_spi_led_strip/led_strip.cpp +11 -7
  54. esphome/components/bh1750/bh1750.cpp +2 -2
  55. esphome/components/binary_sensor/__init__.py +1 -0
  56. esphome/components/binary_sensor/automation.cpp +1 -2
  57. esphome/components/bl0906/bl0906.cpp +1 -1
  58. esphome/components/bl0942/bl0942.cpp +11 -8
  59. esphome/components/bl0942/sensor.py +1 -1
  60. esphome/components/ble_client/__init__.py +5 -1
  61. esphome/components/ble_client/output/ble_binary_output.cpp +6 -3
  62. esphome/components/ble_client/sensor/ble_sensor.cpp +9 -6
  63. esphome/components/ble_client/text_sensor/ble_text_sensor.cpp +8 -5
  64. esphome/components/bluetooth_proxy/__init__.py +5 -1
  65. esphome/components/bluetooth_proxy/bluetooth_connection.cpp +5 -5
  66. esphome/components/bluetooth_proxy/bluetooth_proxy.cpp +16 -14
  67. esphome/components/bme280_base/bme280_base.cpp +3 -3
  68. esphome/components/bme680/bme680.cpp +3 -3
  69. esphome/components/bme680/sensor.py +2 -2
  70. esphome/components/bme680_bsec/bme680_bsec.cpp +11 -7
  71. esphome/components/bme680_bsec/sensor.py +7 -3
  72. esphome/components/bme68x_bsec2/__init__.py +6 -5
  73. esphome/components/bme68x_bsec2/bme68x_bsec2.cpp +17 -13
  74. esphome/components/bme68x_bsec2/sensor.py +4 -4
  75. esphome/components/bme68x_bsec2_i2c/bme68x_bsec2_i2c.cpp +1 -0
  76. esphome/components/bmi160/bmi160.cpp +11 -11
  77. esphome/components/bmp085/bmp085.cpp +2 -2
  78. esphome/components/bmp280_base/bmp280_base.cpp +3 -3
  79. esphome/components/bmp3xx_base/bmp3xx_base.cpp +13 -13
  80. esphome/components/bmp581/bmp581.cpp +33 -27
  81. esphome/components/bp1658cj/bp1658cj.cpp +5 -3
  82. esphome/components/bp5758d/bp5758d.cpp +1 -1
  83. esphome/components/button/__init__.py +1 -0
  84. esphome/components/canbus/canbus.cpp +1 -1
  85. esphome/components/cap1188/cap1188.cpp +6 -4
  86. esphome/components/captive_portal/captive_portal.cpp +1 -1
  87. esphome/components/ccs811/ccs811.cpp +3 -2
  88. esphome/components/cd74hc4067/cd74hc4067.cpp +1 -1
  89. esphome/components/ch422g/ch422g.cpp +2 -2
  90. esphome/components/chsc6x/chsc6x_touchscreen.cpp +6 -4
  91. esphome/components/climate/__init__.py +1 -0
  92. esphome/components/climate/climate.cpp +12 -7
  93. esphome/components/climate/climate.h +1 -1
  94. esphome/components/climate_ir/climate_ir.cpp +7 -4
  95. esphome/components/cm1106/__init__.py +1 -0
  96. esphome/components/cm1106/cm1106.cpp +112 -0
  97. esphome/components/cm1106/cm1106.h +40 -0
  98. esphome/components/cm1106/sensor.py +72 -0
  99. esphome/components/const/__init__.py +1 -0
  100. esphome/components/cover/__init__.py +1 -0
  101. esphome/components/cs5460a/cs5460a.cpp +16 -11
  102. esphome/components/cse7761/cse7761.cpp +2 -2
  103. esphome/components/cse7766/cse7766.cpp +0 -5
  104. esphome/components/cse7766/cse7766.h +5 -1
  105. esphome/components/cst226/touchscreen/cst226_touchscreen.cpp +1 -1
  106. esphome/components/cst816/touchscreen/cst816_touchscreen.cpp +6 -3
  107. esphome/components/current_based/current_based_cover.cpp +4 -2
  108. esphome/components/dac7678/dac7678_output.cpp +4 -4
  109. esphome/components/dallas_temp/dallas_temp.cpp +2 -3
  110. esphome/components/daly_bms/daly_bms.cpp +2 -1
  111. esphome/components/dashboard_import/__init__.py +1 -2
  112. esphome/components/datetime/__init__.py +3 -1
  113. esphome/components/debug/debug_component.cpp +1 -5
  114. esphome/components/debug/debug_component.h +1 -1
  115. esphome/components/debug/debug_esp32.cpp +4 -2
  116. esphome/components/deep_sleep/deep_sleep_component.cpp +11 -5
  117. esphome/components/deep_sleep/deep_sleep_esp32.cpp +7 -5
  118. esphome/components/demo/__init__.py +206 -0
  119. esphome/components/demo/demo_alarm_control_panel.h +65 -0
  120. esphome/components/demo/demo_button.h +15 -0
  121. esphome/components/demo/demo_date.h +34 -0
  122. esphome/components/demo/demo_datetime.h +40 -0
  123. esphome/components/demo/demo_lock.h +17 -0
  124. esphome/components/demo/demo_select.h +15 -0
  125. esphome/components/demo/demo_text.h +18 -0
  126. esphome/components/demo/demo_time.h +34 -0
  127. esphome/components/demo/demo_valve.h +54 -0
  128. esphome/components/dfrobot_sen0395/commands.cpp +3 -3
  129. esphome/components/dht/dht.cpp +29 -50
  130. esphome/components/dht12/dht12.cpp +2 -2
  131. esphome/components/display/display.h +5 -3
  132. esphome/components/dps310/dps310.cpp +7 -5
  133. esphome/components/ds1307/ds1307.cpp +2 -2
  134. esphome/components/dsmr/dsmr.cpp +5 -3
  135. esphome/components/duty_cycle/duty_cycle_sensor.cpp +2 -2
  136. esphome/components/duty_time/duty_time_sensor.cpp +5 -3
  137. esphome/components/ee895/ee895.cpp +3 -3
  138. esphome/components/ektf2232/touchscreen/ektf2232.cpp +1 -1
  139. esphome/components/emc2101/emc2101.cpp +11 -9
  140. esphome/components/ens160_base/ens160_base.cpp +2 -2
  141. esphome/components/ens210/ens210.cpp +2 -2
  142. esphome/components/es7210/es7210.cpp +6 -4
  143. esphome/components/es7243e/es7243e.cpp +1 -1
  144. esphome/components/es8156/es8156.cpp +1 -1
  145. esphome/components/es8311/es8311.cpp +8 -6
  146. esphome/components/es8388/__init__.py +0 -0
  147. esphome/components/es8388/audio_dac.py +26 -0
  148. esphome/components/es8388/es8388.cpp +289 -0
  149. esphome/components/es8388/es8388.h +81 -0
  150. esphome/components/es8388/es8388_const.h +83 -0
  151. esphome/components/es8388/select/__init__.py +47 -0
  152. esphome/components/es8388/select/adc_input_mic_select.cpp +12 -0
  153. esphome/components/es8388/select/adc_input_mic_select.h +15 -0
  154. esphome/components/es8388/select/dac_output_select.cpp +12 -0
  155. esphome/components/es8388/select/dac_output_select.h +15 -0
  156. esphome/components/esp32/__init__.py +88 -20
  157. esphome/components/esp32/boards.py +208 -125
  158. esphome/components/esp32/const.py +6 -0
  159. esphome/components/esp32/gpio.py +14 -1
  160. esphome/components/esp32/gpio_esp32_c5.py +45 -0
  161. esphome/components/esp32/gpio_esp32_p4.py +43 -0
  162. esphome/components/esp32/preferences.cpp +7 -7
  163. esphome/components/esp32_ble/__init__.py +115 -0
  164. esphome/components/esp32_ble/ble.cpp +11 -9
  165. esphome/components/esp32_ble/ble_uuid.h +1 -1
  166. esphome/components/esp32_ble_client/ble_client_base.cpp +4 -2
  167. esphome/components/esp32_ble_server/__init__.py +4 -1
  168. esphome/components/esp32_ble_server/ble_characteristic.cpp +1 -0
  169. esphome/components/esp32_ble_server/ble_server.h +0 -1
  170. esphome/components/esp32_ble_tracker/__init__.py +6 -2
  171. esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +12 -9
  172. esphome/components/esp32_camera/esp32_camera.cpp +35 -27
  173. esphome/components/esp32_camera_web_server/camera_web_server.cpp +4 -2
  174. esphome/components/esp32_dac/esp32_dac.cpp +2 -2
  175. esphome/components/esp32_improv/__init__.py +5 -1
  176. esphome/components/esp32_improv/esp32_improv_component.cpp +2 -2
  177. esphome/components/esp32_rmt_led_strip/led_strip.cpp +11 -7
  178. esphome/components/esp32_rmt_led_strip/light.py +5 -1
  179. esphome/components/esp32_touch/esp32_touch.cpp +12 -8
  180. esphome/components/esp8266/gpio.cpp +10 -1
  181. esphome/components/esp8266/preferences.cpp +6 -6
  182. esphome/components/esp8266_pwm/esp8266_pwm.cpp +3 -3
  183. esphome/components/esp_ldo/__init__.py +91 -0
  184. esphome/components/esp_ldo/esp_ldo.cpp +43 -0
  185. esphome/components/esp_ldo/esp_ldo.h +43 -0
  186. esphome/components/esphome/ota/ota_esphome.cpp +15 -8
  187. esphome/components/ethernet/ethernet_component.cpp +38 -26
  188. esphome/components/ethernet/ethernet_component.h +1 -1
  189. esphome/components/event/__init__.py +1 -0
  190. esphome/components/exposure_notifications/exposure_notifications.cpp +1 -1
  191. esphome/components/ezo/ezo.cpp +1 -1
  192. esphome/components/ezo_pmp/ezo_pmp.cpp +1 -1
  193. esphome/components/factory_reset/button/factory_reset_button.cpp +1 -1
  194. esphome/components/factory_reset/switch/factory_reset_switch.cpp +1 -1
  195. esphome/components/fan/__init__.py +1 -0
  196. esphome/components/fan/fan.cpp +4 -2
  197. esphome/components/fastled_base/fastled_light.cpp +7 -5
  198. esphome/components/fingerprint_grow/fingerprint_grow.cpp +8 -6
  199. esphome/components/fs3000/fs3000.cpp +1 -1
  200. esphome/components/ft5x06/touchscreen/ft5x06_touchscreen.cpp +7 -4
  201. esphome/components/ft63x6/ft63x6.cpp +5 -3
  202. esphome/components/gcja5/gcja5.cpp +0 -12
  203. esphome/components/gcja5/gcja5.h +8 -3
  204. esphome/components/gdk101/gdk101.cpp +2 -2
  205. esphome/components/globals/globals_component.h +13 -10
  206. esphome/components/gp2y1010au0f/gp2y1010au0f.cpp +4 -2
  207. esphome/components/gp8403/gp8403.cpp +4 -2
  208. esphome/components/gp8403/output/gp8403_output.cpp +4 -2
  209. esphome/components/gpio/one_wire/gpio_one_wire.cpp +2 -2
  210. esphome/components/gpio/output/gpio_binary_output.cpp +1 -1
  211. esphome/components/gpio/switch/gpio_switch.cpp +1 -1
  212. esphome/components/graphical_display_menu/graphical_display_menu.cpp +12 -8
  213. esphome/components/grove_gas_mc_v2/grove_gas_mc_v2.cpp +5 -6
  214. esphome/components/grove_tb6612fng/grove_tb6612fng.cpp +1 -1
  215. esphome/components/grove_tb6612fng/grove_tb6612fng.h +1 -1
  216. esphome/components/growatt_solar/growatt_solar.cpp +6 -3
  217. esphome/components/gt911/touchscreen/gt911_touchscreen.cpp +1 -1
  218. esphome/components/haier/haier_base.cpp +2 -2
  219. esphome/components/haier/hon_climate.cpp +13 -6
  220. esphome/components/havells_solar/havells_solar.cpp +5 -2
  221. esphome/components/hbridge/switch/hbridge_switch.cpp +1 -1
  222. esphome/components/hdc1080/hdc1080.cpp +2 -2
  223. esphome/components/he60r/he60r.cpp +4 -2
  224. esphome/components/hlw8012/hlw8012.cpp +6 -4
  225. esphome/components/hm3301/hm3301.cpp +2 -2
  226. esphome/components/hmc5883l/hmc5883l.cpp +2 -2
  227. esphome/components/homeassistant/time/homeassistant_time.cpp +4 -2
  228. esphome/components/honeywell_hih_i2c/honeywell_hih.cpp +4 -4
  229. esphome/components/honeywellabp/honeywellabp.cpp +4 -2
  230. esphome/components/honeywellabp2_i2c/honeywellabp2.cpp +8 -6
  231. esphome/components/hte501/hte501.cpp +3 -2
  232. esphome/components/http_request/__init__.py +2 -2
  233. esphome/components/http_request/http_request.cpp +7 -5
  234. esphome/components/http_request/http_request_idf.cpp +4 -2
  235. esphome/components/http_request/ota/ota_http_request.cpp +1 -1
  236. esphome/components/htu21d/htu21d.cpp +2 -2
  237. esphome/components/htu31d/htu31d.cpp +2 -2
  238. esphome/components/hx711/hx711.cpp +2 -2
  239. esphome/components/hydreon_rgxx/hydreon_rgxx.cpp +5 -3
  240. esphome/components/hyt271/hyt271.cpp +2 -2
  241. esphome/components/i2c/i2c_bus_arduino.cpp +14 -11
  242. esphome/components/i2c/i2c_bus_esp_idf.cpp +13 -11
  243. esphome/components/i2s_audio/__init__.py +2 -0
  244. esphome/components/i2s_audio/i2s_audio.cpp +3 -4
  245. esphome/components/i2s_audio/i2s_audio.h +1 -1
  246. esphome/components/i2s_audio/media_player/__init__.py +1 -1
  247. esphome/components/i2s_audio/media_player/i2s_audio_media_player.cpp +5 -3
  248. esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp +54 -64
  249. esphome/components/i2s_audio/microphone/i2s_audio_microphone.h +4 -0
  250. esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +1 -1
  251. esphome/components/iaqcore/iaqcore.cpp +3 -3
  252. esphome/components/ili9xxx/ili9xxx_display.cpp +12 -7
  253. esphome/components/ili9xxx/ili9xxx_display.h +1 -1
  254. esphome/components/image/image.cpp +1 -0
  255. esphome/components/ina219/ina219.cpp +2 -2
  256. esphome/components/ina226/ina226.cpp +8 -5
  257. esphome/components/ina260/ina260.cpp +1 -1
  258. esphome/components/ina2xx_base/ina2xx_base.cpp +13 -9
  259. esphome/components/ina3221/ina3221.cpp +2 -2
  260. esphome/components/inkplate6/display.py +12 -2
  261. esphome/components/inkplate6/inkplate.cpp +13 -9
  262. esphome/components/inkplate6/inkplate.h +7 -6
  263. esphome/components/integration/integration_sensor.cpp +1 -1
  264. esphome/components/internal_temperature/internal_temperature.cpp +4 -4
  265. esphome/components/json/json_util.cpp +4 -5
  266. esphome/components/kamstrup_kmp/kamstrup_kmp.cpp +1 -1
  267. esphome/components/key_collector/key_collector.cpp +4 -2
  268. esphome/components/kmeteriso/kmeteriso.cpp +2 -1
  269. esphome/components/kuntze/kuntze.cpp +4 -2
  270. esphome/components/lc709203f/__init__.py +1 -0
  271. esphome/components/lc709203f/lc709203f.cpp +299 -0
  272. esphome/components/lc709203f/lc709203f.h +55 -0
  273. esphome/components/lc709203f/sensor.py +93 -0
  274. esphome/components/lcd_base/lcd_display.cpp +2 -2
  275. esphome/components/lcd_gpio/gpio_lcd_display.cpp +5 -3
  276. esphome/components/lcd_menu/lcd_menu.cpp +6 -4
  277. esphome/components/lcd_pcf8574/pcf8574_display.cpp +6 -4
  278. esphome/components/ld2410/ld2410.cpp +6 -7
  279. esphome/components/ld2420/ld2420.cpp +9 -7
  280. esphome/components/ld2450/ld2450.cpp +6 -4
  281. esphome/components/ld2450/sensor.py +2 -2
  282. esphome/components/ledc/ledc_output.cpp +32 -28
  283. esphome/components/libretiny/const.py +1 -1
  284. esphome/components/libretiny/preferences.cpp +6 -7
  285. esphome/components/light/__init__.py +2 -1
  286. esphome/components/light/esp_hsv_color.h +1 -1
  287. esphome/components/light/light_state.cpp +9 -5
  288. esphome/components/light/light_transformer.h +1 -1
  289. esphome/components/lightwaverf/LwTx.cpp +1 -1
  290. esphome/components/lightwaverf/lightwaverf.cpp +1 -1
  291. esphome/components/lilygo_t5_47/touchscreen/lilygo_t5_47_touchscreen.cpp +1 -1
  292. esphome/components/lock/__init__.py +1 -0
  293. esphome/components/lock/lock.h +1 -1
  294. esphome/components/logger/__init__.py +6 -0
  295. esphome/components/logger/logger.cpp +9 -5
  296. esphome/components/logger/logger.h +4 -4
  297. esphome/components/logger/logger_esp32.cpp +5 -5
  298. esphome/components/ltr390/ltr390.cpp +8 -5
  299. esphome/components/ltr501/ltr501.cpp +19 -14
  300. esphome/components/ltr_als_ps/ltr_als_ps.cpp +20 -13
  301. esphome/components/lvgl/__init__.py +2 -2
  302. esphome/components/lvgl/automation.py +5 -4
  303. esphome/components/lvgl/defines.py +0 -2
  304. esphome/components/lvgl/lv_validation.py +1 -3
  305. esphome/components/lvgl/lvcode.py +7 -8
  306. esphome/components/lvgl/lvgl_esphome.cpp +26 -10
  307. esphome/components/lvgl/schemas.py +22 -23
  308. esphome/components/lvgl/trigger.py +8 -3
  309. esphome/components/lvgl/widgets/__init__.py +2 -2
  310. esphome/components/lvgl/widgets/canvas.py +9 -3
  311. esphome/components/lvgl/widgets/line.py +2 -1
  312. esphome/components/lvgl/widgets/tabview.py +7 -0
  313. esphome/components/m5stack_8angle/m5stack_8angle.cpp +3 -3
  314. esphome/components/matrix_keypad/matrix_keypad.cpp +2 -2
  315. esphome/components/max17043/max17043.cpp +2 -2
  316. esphome/components/max31855/max31855.cpp +2 -1
  317. esphome/components/max31856/max31856.cpp +9 -11
  318. esphome/components/max31865/max31865.cpp +6 -4
  319. esphome/components/max44009/max44009.cpp +2 -2
  320. esphome/components/max6675/max6675.cpp +1 -1
  321. esphome/components/max6956/max6956.cpp +5 -3
  322. esphome/components/max7219/max7219.cpp +8 -6
  323. esphome/components/max7219digit/automation.h +52 -0
  324. esphome/components/max7219digit/display.py +93 -1
  325. esphome/components/max7219digit/max7219digit.cpp +16 -13
  326. esphome/components/max9611/max9611.cpp +9 -6
  327. esphome/components/mcp23008/mcp23008.cpp +1 -1
  328. esphome/components/mcp23016/mcp23016.cpp +1 -1
  329. esphome/components/mcp23017/mcp23017.cpp +1 -1
  330. esphome/components/mcp23s08/mcp23s08.cpp +1 -1
  331. esphome/components/mcp23s17/mcp23s17.cpp +1 -1
  332. esphome/components/mcp3008/mcp3008.cpp +1 -1
  333. esphome/components/mcp3008/sensor/mcp3008_sensor.cpp +5 -3
  334. esphome/components/mcp3204/mcp3204.cpp +1 -1
  335. esphome/components/mcp4461/mcp4461.cpp +2 -2
  336. esphome/components/mcp4725/mcp4725.cpp +2 -2
  337. esphome/components/mcp4728/mcp4728.cpp +2 -2
  338. esphome/components/mcp9600/mcp9600.cpp +1 -1
  339. esphome/components/mcp9808/mcp9808.cpp +4 -4
  340. esphome/components/mdns/mdns_component.cpp +8 -2
  341. esphome/components/mdns/mdns_component.h +3 -1
  342. esphome/components/mdns/mdns_esp32.cpp +2 -2
  343. esphome/components/media_player/__init__.py +1 -0
  344. esphome/components/micro_wake_word/micro_wake_word.cpp +1 -1
  345. esphome/components/micro_wake_word/streaming_model.cpp +10 -6
  346. esphome/components/micronova/micronova.h +2 -2
  347. esphome/components/mics_4514/mics_4514.cpp +2 -2
  348. esphome/components/midea/air_conditioner.cpp +7 -5
  349. esphome/components/midea_ir/midea_ir.cpp +1 -1
  350. esphome/components/mipi_spi/mipi_spi.cpp +24 -15
  351. esphome/components/mixer/speaker/mixer_speaker.cpp +8 -4
  352. esphome/components/mlx90393/sensor_mlx90393.cpp +2 -2
  353. esphome/components/mlx90614/mlx90614.cpp +4 -3
  354. esphome/components/mmc5603/mmc5603.cpp +2 -2
  355. esphome/components/mmc5983/mmc5983.cpp +1 -1
  356. esphome/components/modbus/modbus.cpp +7 -5
  357. esphome/components/modbus_controller/modbus_controller.cpp +6 -4
  358. esphome/components/modbus_controller/output/modbus_output.cpp +10 -6
  359. esphome/components/modbus_controller/switch/__init__.py +6 -2
  360. esphome/components/modbus_controller/switch/modbus_switch.cpp +4 -0
  361. esphome/components/modbus_controller/switch/modbus_switch.h +3 -0
  362. esphome/components/mpl3115a2/mpl3115a2.cpp +3 -2
  363. esphome/components/mpr121/mpr121.cpp +2 -2
  364. esphome/components/mpu6050/mpu6050.cpp +6 -6
  365. esphome/components/mpu6886/mpu6886.cpp +6 -6
  366. esphome/components/mqtt/mqtt_alarm_control_panel.cpp +7 -3
  367. esphome/components/mqtt/mqtt_backend_esp32.cpp +1 -1
  368. esphome/components/mqtt/mqtt_client.cpp +31 -24
  369. esphome/components/mqtt/mqtt_component.cpp +2 -2
  370. esphome/components/mqtt/mqtt_cover.cpp +8 -4
  371. esphome/components/mqtt/mqtt_fan.cpp +12 -6
  372. esphome/components/mqtt/mqtt_valve.cpp +4 -2
  373. esphome/components/ms5611/ms5611.cpp +2 -2
  374. esphome/components/ms8607/ms8607.cpp +2 -2
  375. esphome/components/msa3xx/msa3xx.cpp +16 -12
  376. esphome/components/my9231/my9231.cpp +7 -5
  377. esphome/components/nau7802/nau7802.cpp +6 -4
  378. esphome/components/neopixelbus/neopixelbus_light.h +2 -2
  379. esphome/components/network/ip_address.h +1 -1
  380. esphome/components/network/util.cpp +13 -0
  381. esphome/components/nextion/base_component.py +2 -0
  382. esphome/components/nextion/binary_sensor/nextion_binarysensor.cpp +2 -3
  383. esphome/components/nextion/display.py +34 -22
  384. esphome/components/nextion/nextion.cpp +182 -143
  385. esphome/components/nextion/nextion.h +36 -0
  386. esphome/components/nextion/nextion_commands.cpp +3 -3
  387. esphome/components/nextion/nextion_upload_arduino.cpp +58 -61
  388. esphome/components/nextion/nextion_upload_idf.cpp +69 -72
  389. esphome/components/nextion/sensor/nextion_sensor.cpp +4 -4
  390. esphome/components/nextion/switch/nextion_switch.cpp +2 -2
  391. esphome/components/nextion/text_sensor/nextion_textsensor.cpp +2 -2
  392. esphome/components/nfc/nci_message.h +1 -1
  393. esphome/components/nfc/ndef_record.h +1 -1
  394. esphome/components/nfc/ndef_record_text.h +1 -1
  395. esphome/components/nfc/ndef_record_uri.h +1 -1
  396. esphome/components/nfc/nfc.h +1 -1
  397. esphome/components/nfc/nfc_tag.h +1 -1
  398. esphome/components/noblex/noblex.cpp +1 -1
  399. esphome/components/npi19/npi19.cpp +5 -7
  400. esphome/components/number/__init__.py +11 -0
  401. esphome/components/online_image/__init__.py +13 -1
  402. esphome/components/online_image/online_image.cpp +26 -4
  403. esphome/components/online_image/online_image.h +21 -4
  404. esphome/components/opentherm/generate.py +3 -3
  405. esphome/components/opentherm/hub.cpp +11 -7
  406. esphome/components/opentherm/number/number.cpp +5 -3
  407. esphome/components/opentherm/opentherm.h +1 -1
  408. esphome/components/opentherm/schema.py +13 -13
  409. esphome/components/opentherm/validate.py +1 -1
  410. esphome/components/openthread/__init__.py +146 -0
  411. esphome/components/openthread/const.py +10 -0
  412. esphome/components/openthread/openthread.cpp +206 -0
  413. esphome/components/openthread/openthread.h +68 -0
  414. esphome/components/openthread/openthread_esp.cpp +164 -0
  415. esphome/components/openthread/tlv.py +58 -0
  416. esphome/components/openthread_info/__init__.py +0 -0
  417. esphome/components/openthread_info/openthread_info_text_sensor.cpp +24 -0
  418. esphome/components/openthread_info/openthread_info_text_sensor.h +218 -0
  419. esphome/components/openthread_info/text_sensor.py +105 -0
  420. esphome/components/output/float_output.cpp +1 -1
  421. esphome/components/output/switch/output_switch.cpp +1 -1
  422. esphome/components/packet_transport/packet_transport.cpp +6 -4
  423. esphome/components/pca6416a/pca6416a.cpp +2 -2
  424. esphome/components/pca9554/pca9554.cpp +6 -4
  425. esphome/components/pca9685/pca9685_output.cpp +12 -8
  426. esphome/components/pcd8544/pcd_8544.cpp +1 -1
  427. esphome/components/pcf85063/pcf85063.cpp +2 -2
  428. esphome/components/pcf8563/pcf8563.cpp +2 -2
  429. esphome/components/pcf8574/pcf8574.cpp +2 -2
  430. esphome/components/pid/pid_climate.cpp +8 -5
  431. esphome/components/pid/pid_climate.h +1 -1
  432. esphome/components/pid/sensor/pid_climate_sensor.cpp +1 -1
  433. esphome/components/pipsolar/output/pipsolar_output.cpp +1 -1
  434. esphome/components/pipsolar/pipsolar.cpp +3 -3
  435. esphome/components/pm1006/pm1006.cpp +3 -7
  436. esphome/components/pm1006/pm1006.h +4 -1
  437. esphome/components/pm2005/pm2005.cpp +12 -13
  438. esphome/components/pm2005/sensor.py +1 -1
  439. esphome/components/pmsa003i/pmsa003i.cpp +2 -2
  440. esphome/components/pmsx003/pmsx003.cpp +0 -4
  441. esphome/components/pmsx003/pmsx003.h +5 -2
  442. esphome/components/pmwcs3/pmwcs3.cpp +9 -13
  443. esphome/components/pmwcs3/pmwcs3.h +0 -1
  444. esphome/components/pn532/pn532.cpp +7 -7
  445. esphome/components/pn532/pn532.h +1 -1
  446. esphome/components/pn532_spi/pn532_spi.cpp +1 -1
  447. esphome/components/pn7150/pn7150.cpp +4 -4
  448. esphome/components/pn7160/pn7160.cpp +4 -4
  449. esphome/components/power_supply/power_supply.cpp +6 -4
  450. esphome/components/power_supply/power_supply.h +1 -1
  451. esphome/components/psram/__init__.py +59 -35
  452. esphome/components/pulse_counter/pulse_counter_sensor.cpp +7 -4
  453. esphome/components/pvvx_mithermometer/display/pvvx_display.cpp +8 -5
  454. esphome/components/pylontech/pylontech.cpp +2 -2
  455. esphome/components/pylontech/sensor/pylontech_sensor.cpp +4 -2
  456. esphome/components/pylontech/text_sensor/pylontech_text_sensor.cpp +4 -2
  457. esphome/components/pzemac/pzemac.cpp +4 -2
  458. esphome/components/pzemdc/pzemdc.cpp +4 -2
  459. esphome/components/qmc5883l/qmc5883l.cpp +2 -2
  460. esphome/components/qmp6988/qmp6988.cpp +2 -2
  461. esphome/components/qmp6988/qmp6988.h +1 -1
  462. esphome/components/qr_code/qr_code.cpp +5 -3
  463. esphome/components/qspi_dbi/qspi_dbi.cpp +1 -1
  464. esphome/components/qwiic_pir/qwiic_pir.cpp +26 -28
  465. esphome/components/rc522/rc522.cpp +5 -5
  466. esphome/components/rdm6300/rdm6300.cpp +1 -0
  467. esphome/components/remote_receiver/__init__.py +10 -2
  468. esphome/components/remote_receiver/remote_receiver_esp32.cpp +22 -12
  469. esphome/components/remote_receiver/remote_receiver_esp8266.cpp +10 -7
  470. esphome/components/remote_receiver/remote_receiver_libretiny.cpp +10 -7
  471. esphome/components/remote_transmitter/__init__.py +10 -2
  472. esphome/components/remote_transmitter/remote_transmitter_esp32.cpp +10 -6
  473. esphome/components/remote_transmitter/remote_transmitter_esp8266.cpp +5 -3
  474. esphome/components/remote_transmitter/remote_transmitter_libretiny.cpp +5 -3
  475. esphome/components/resistance/resistance_sensor.cpp +6 -3
  476. esphome/components/restart/button/restart_button.cpp +1 -1
  477. esphome/components/restart/switch/restart_switch.cpp +1 -1
  478. esphome/components/rotary_encoder/rotary_encoder.cpp +2 -2
  479. esphome/components/rp2040/__init__.py +7 -0
  480. esphome/components/rp2040/core.cpp +8 -1
  481. esphome/components/rp2040/gpio.cpp +26 -9
  482. esphome/components/rp2040/preferences.cpp +3 -3
  483. esphome/components/rp2040_pio_led_strip/led_strip.cpp +11 -8
  484. esphome/components/rp2040_pio_led_strip/light.py +1 -1
  485. esphome/components/rp2040_pwm/rp2040_pwm.cpp +1 -1
  486. esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.cpp +1 -1
  487. esphome/components/rtttl/rtttl.cpp +11 -9
  488. esphome/components/safe_mode/button/safe_mode_button.cpp +1 -1
  489. esphome/components/safe_mode/safe_mode.cpp +9 -8
  490. esphome/components/safe_mode/switch/safe_mode_switch.cpp +1 -1
  491. esphome/components/scd30/scd30.cpp +11 -8
  492. esphome/components/scd4x/scd4x.cpp +12 -8
  493. esphome/components/sdl/display.py +40 -0
  494. esphome/components/sdl/sdl_esphome.cpp +2 -2
  495. esphome/components/sdl/sdl_esphome.h +8 -0
  496. esphome/components/sdm_meter/sdm_meter.cpp +5 -2
  497. esphome/components/sdp3x/sdp3x.cpp +11 -11
  498. esphome/components/sds011/sds011.cpp +5 -6
  499. esphome/components/sds011/sds011.h +4 -1
  500. esphome/components/seeed_mr24hpc1/seeed_mr24hpc1.cpp +3 -2
  501. esphome/components/seeed_mr60bha2/seeed_mr60bha2.cpp +1 -0
  502. esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp +3 -2
  503. esphome/components/selec_meter/selec_meter.cpp +5 -2
  504. esphome/components/select/__init__.py +1 -0
  505. esphome/components/sen0321/sen0321.cpp +2 -2
  506. esphome/components/sen21231/sen21231.cpp +1 -1
  507. esphome/components/sen5x/sen5x.cpp +10 -7
  508. esphome/components/sensirion_common/i2c_sensirion.cpp +2 -1
  509. esphome/components/sensirion_common/i2c_sensirion.h +1 -0
  510. esphome/components/sensor/__init__.py +11 -1
  511. esphome/components/sensor/filter.h +1 -1
  512. esphome/components/sensor/sensor.h +9 -5
  513. esphome/components/servo/servo.cpp +12 -9
  514. esphome/components/servo/servo.h +1 -1
  515. esphome/components/sfa30/sfa30.cpp +1 -1
  516. esphome/components/sgp30/sgp30.cpp +10 -8
  517. esphome/components/sgp4x/sgp4x.cpp +49 -61
  518. esphome/components/sgp4x/sgp4x.h +0 -1
  519. esphome/components/shelly_dimmer/shelly_dimmer.cpp +11 -7
  520. esphome/components/sht3xd/sht3xd.cpp +1 -1
  521. esphome/components/sht4x/sht4x.cpp +2 -2
  522. esphome/components/shtcx/shtcx.cpp +13 -16
  523. esphome/components/shutdown/button/shutdown_button.cpp +1 -1
  524. esphome/components/shutdown/switch/shutdown_switch.cpp +1 -1
  525. esphome/components/sim800l/sim800l.cpp +2 -2
  526. esphome/components/slow_pwm/slow_pwm_output.cpp +4 -2
  527. esphome/components/sm16716/sm16716.cpp +1 -1
  528. esphome/components/sm2135/sm2135.cpp +1 -1
  529. esphome/components/sm2235/sm2235.cpp +5 -3
  530. esphome/components/sm2335/sm2335.cpp +5 -3
  531. esphome/components/sml/sml.cpp +1 -1
  532. esphome/components/sn74hc165/sn74hc165.cpp +1 -2
  533. esphome/components/sn74hc595/sn74hc595.cpp +1 -2
  534. esphome/components/sntp/sntp_component.cpp +1 -1
  535. esphome/components/socket/__init__.py +2 -0
  536. esphome/components/socket/bsd_sockets_impl.cpp +51 -7
  537. esphome/components/socket/lwip_raw_tcp_impl.cpp +5 -0
  538. esphome/components/socket/lwip_sockets_impl.cpp +51 -7
  539. esphome/components/socket/socket.cpp +31 -0
  540. esphome/components/socket/socket.h +27 -1
  541. esphome/components/sonoff_d1/sonoff_d1.cpp +7 -4
  542. esphome/components/sonoff_d1/sonoff_d1.h +2 -2
  543. esphome/components/sound_level/sound_level.cpp +4 -2
  544. esphome/components/speaker/media_player/__init__.py +3 -0
  545. esphome/components/speaker/media_player/speaker_media_player.cpp +1 -3
  546. esphome/components/speaker/media_player/speaker_media_player.h +6 -0
  547. esphome/components/spi/__init__.py +10 -2
  548. esphome/components/spi/spi.cpp +4 -4
  549. esphome/components/spi_device/spi_device.cpp +1 -2
  550. esphome/components/sprinkler/sprinkler.cpp +9 -6
  551. esphome/components/sps30/sps30.cpp +16 -15
  552. esphome/components/ssd1306_base/ssd1306_base.cpp +1 -1
  553. esphome/components/ssd1306_i2c/ssd1306_i2c.cpp +11 -8
  554. esphome/components/ssd1306_spi/ssd1306_spi.cpp +10 -7
  555. esphome/components/ssd1322_base/ssd1322_base.cpp +1 -1
  556. esphome/components/ssd1322_spi/ssd1322_spi.cpp +1 -1
  557. esphome/components/ssd1325_base/ssd1325_base.cpp +1 -1
  558. esphome/components/ssd1325_spi/ssd1325_spi.cpp +1 -1
  559. esphome/components/ssd1327_base/ssd1327_base.cpp +1 -1
  560. esphome/components/ssd1327_i2c/ssd1327_i2c.cpp +2 -2
  561. esphome/components/ssd1327_spi/ssd1327_spi.cpp +1 -1
  562. esphome/components/ssd1331_base/ssd1331_base.cpp +1 -1
  563. esphome/components/ssd1331_spi/ssd1331_spi.cpp +1 -1
  564. esphome/components/ssd1351_base/ssd1351_base.cpp +1 -1
  565. esphome/components/ssd1351_spi/ssd1351_spi.cpp +1 -1
  566. esphome/components/st7567_base/st7567_base.cpp +3 -3
  567. esphome/components/st7567_i2c/st7567_i2c.cpp +7 -5
  568. esphome/components/st7567_spi/st7567_spi.cpp +1 -1
  569. esphome/components/st7701s/st7701s.cpp +4 -2
  570. esphome/components/st7735/st7735.cpp +3 -3
  571. esphome/components/st7789v/st7789v.cpp +10 -7
  572. esphome/components/st7920/st7920.cpp +6 -4
  573. esphome/components/statsd/statsd.cpp +9 -5
  574. esphome/components/status_led/light/status_led_light.cpp +1 -1
  575. esphome/components/status_led/status_led.cpp +1 -1
  576. esphome/components/stepper/stepper.h +5 -3
  577. esphome/components/sts3x/sts3x.cpp +2 -2
  578. esphome/components/switch/__init__.py +1 -0
  579. esphome/components/switch/switch.cpp +18 -12
  580. esphome/components/switch/switch.h +1 -1
  581. esphome/components/sx1509/__init__.py +53 -20
  582. esphome/components/sx1509/sx1509.cpp +29 -5
  583. esphome/components/sx1509/sx1509.h +9 -1
  584. esphome/components/t6615/t6615.cpp +1 -0
  585. esphome/components/tc74/tc74.cpp +1 -1
  586. esphome/components/tca9548a/tca9548a.cpp +1 -1
  587. esphome/components/tca9555/tca9555.cpp +2 -2
  588. esphome/components/tcs34725/tcs34725.cpp +4 -4
  589. esphome/components/tee501/tee501.cpp +3 -2
  590. esphome/components/tem3200/tem3200.cpp +5 -6
  591. esphome/components/template/alarm_control_panel/__init__.py +6 -0
  592. esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp +38 -12
  593. esphome/components/template/alarm_control_panel/template_alarm_control_panel.h +3 -1
  594. esphome/components/template/cover/template_cover.cpp +1 -1
  595. esphome/components/template/select/template_select.cpp +6 -4
  596. esphome/components/template/text/template_text.cpp +2 -3
  597. esphome/components/template/valve/template_valve.cpp +5 -3
  598. esphome/components/text/__init__.py +10 -11
  599. esphome/components/text_sensor/__init__.py +1 -0
  600. esphome/components/thermostat/thermostat_climate.cpp +67 -43
  601. esphome/components/time/__init__.py +1 -2
  602. esphome/components/time_based/time_based_cover.cpp +4 -2
  603. esphome/components/tlc59208f/tlc59208f_output.cpp +8 -6
  604. esphome/components/tm1621/tm1621.cpp +3 -3
  605. esphome/components/tm1637/tm1637.cpp +9 -7
  606. esphome/components/tm1638/tm1638.cpp +7 -5
  607. esphome/components/tm1651/tm1651.cpp +2 -2
  608. esphome/components/tmp102/tmp102.cpp +1 -3
  609. esphome/components/tmp102/tmp102.h +0 -3
  610. esphome/components/tmp1075/tmp1075.cpp +12 -9
  611. esphome/components/tmp117/tmp117.cpp +2 -2
  612. esphome/components/tof10120/tof10120_sensor.cpp +2 -2
  613. esphome/components/tormatic/tormatic_cover.cpp +4 -2
  614. esphome/components/tsl2561/tsl2561.cpp +7 -5
  615. esphome/components/tsl2591/tsl2591.cpp +25 -27
  616. esphome/components/tt21100/touchscreen/tt21100.cpp +1 -1
  617. esphome/components/ttp229_bsf/ttp229_bsf.cpp +1 -1
  618. esphome/components/ttp229_lsf/ttp229_lsf.cpp +2 -2
  619. esphome/components/tuya/select/tuya_select.cpp +5 -3
  620. esphome/components/tx20/tx20.cpp +3 -3
  621. esphome/components/uart/__init__.py +4 -5
  622. esphome/components/uart/button/uart_button.cpp +1 -1
  623. esphome/components/uart/switch/uart_switch.cpp +2 -2
  624. esphome/components/uart/uart.cpp +2 -2
  625. esphome/components/uart/uart_component_esp32_arduino.cpp +8 -6
  626. esphome/components/uart/uart_component_esp8266.cpp +9 -7
  627. esphome/components/uart/uart_component_esp_idf.cpp +9 -7
  628. esphome/components/uart/uart_component_host.cpp +11 -8
  629. esphome/components/uart/uart_component_libretiny.cpp +8 -6
  630. esphome/components/uart/uart_component_rp2040.cpp +8 -6
  631. esphome/components/udp/udp_component.cpp +9 -5
  632. esphome/components/ufire_ec/ufire_ec.cpp +5 -3
  633. esphome/components/ufire_ise/ufire_ise.cpp +1 -1
  634. esphome/components/ultrasonic/ultrasonic_sensor.cpp +5 -3
  635. esphome/components/update/__init__.py +1 -0
  636. esphome/components/uponor_smatrix/climate/uponor_smatrix_climate.cpp +1 -1
  637. esphome/components/uponor_smatrix/sensor/uponor_smatrix_sensor.cpp +4 -2
  638. esphome/components/uponor_smatrix/uponor_smatrix.cpp +2 -1
  639. esphome/components/usb_host/__init__.py +64 -0
  640. esphome/components/usb_host/usb_host.h +116 -0
  641. esphome/components/usb_host/usb_host_client.cpp +394 -0
  642. esphome/components/usb_host/usb_host_component.cpp +35 -0
  643. esphome/components/usb_uart/__init__.py +134 -0
  644. esphome/components/usb_uart/ch34x.cpp +80 -0
  645. esphome/components/usb_uart/cp210x.cpp +126 -0
  646. esphome/components/usb_uart/usb_uart.cpp +328 -0
  647. esphome/components/usb_uart/usb_uart.h +151 -0
  648. esphome/components/valve/__init__.py +1 -0
  649. esphome/components/veml3235/veml3235.cpp +13 -9
  650. esphome/components/veml7700/veml7700.cpp +10 -6
  651. esphome/components/voice_assistant/voice_assistant.cpp +7 -7
  652. esphome/components/wake_on_lan/wake_on_lan.cpp +1 -1
  653. esphome/components/waveshare_epaper/waveshare_epaper.cpp +1 -1
  654. esphome/components/web_server/server_index_v2.h +632 -630
  655. esphome/components/web_server/server_index_v3.h +411 -409
  656. esphome/components/web_server/web_server.cpp +5 -3
  657. esphome/components/web_server_base/web_server_base.cpp +1 -1
  658. esphome/components/web_server_idf/utils.cpp +1 -1
  659. esphome/components/web_server_idf/web_server_idf.cpp +1 -1
  660. esphome/components/weikai/__init__.py +2 -0
  661. esphome/components/weikai/weikai.cpp +23 -21
  662. esphome/components/weikai_i2c/weikai_i2c.cpp +14 -9
  663. esphome/components/weikai_spi/weikai_spi.cpp +11 -6
  664. esphome/components/wiegand/wiegand.cpp +1 -1
  665. esphome/components/wifi/wifi_component.cpp +50 -37
  666. esphome/components/wifi/wifi_component.h +7 -4
  667. esphome/components/wifi/wifi_component_esp32_arduino.cpp +2 -2
  668. esphome/components/wifi/wifi_component_esp8266.cpp +3 -3
  669. esphome/components/wifi/wifi_component_libretiny.cpp +4 -4
  670. esphome/components/wireguard/wireguard.cpp +21 -21
  671. esphome/components/wl_134/text_sensor.py +1 -2
  672. esphome/components/wled/wled_light_effect.cpp +1 -1
  673. esphome/components/x9c/x9c.cpp +5 -3
  674. esphome/components/xgzp68xx/xgzp68xx.cpp +8 -6
  675. esphome/components/xiaomi_cgd1/xiaomi_cgd1.cpp +4 -2
  676. esphome/components/xiaomi_cgdk2/xiaomi_cgdk2.cpp +4 -2
  677. esphome/components/xiaomi_cgg1/xiaomi_cgg1.cpp +4 -2
  678. esphome/components/xiaomi_hhccjcy10/xiaomi_hhccjcy10.cpp +1 -1
  679. esphome/components/xiaomi_lywsd02mmc/xiaomi_lywsd02mmc.cpp +4 -2
  680. esphome/components/xiaomi_lywsd03mmc/xiaomi_lywsd03mmc.cpp +4 -2
  681. esphome/components/xiaomi_mhoc401/xiaomi_mhoc401.cpp +4 -2
  682. esphome/components/xl9535/xl9535.cpp +2 -2
  683. esphome/components/xpt2046/touchscreen/xpt2046.cpp +12 -11
  684. esphome/components/xpt2046/touchscreen/xpt2046.h +2 -2
  685. esphome/config.py +3 -2
  686. esphome/config_validation.py +46 -17
  687. esphome/const.py +10 -1
  688. esphome/core/__init__.py +37 -18
  689. esphome/core/application.cpp +188 -5
  690. esphome/core/application.h +110 -0
  691. esphome/core/component.h +13 -0
  692. esphome/core/config.py +12 -0
  693. esphome/core/defines.h +10 -2
  694. esphome/core/hal.h +5 -0
  695. esphome/core/helpers.cpp +1 -1
  696. esphome/core/helpers.h +4 -4
  697. esphome/core/log.h +2 -0
  698. esphome/core/log_const_en.h +4 -0
  699. esphome/core/scheduler.cpp +2 -2
  700. esphome/coroutine.py +3 -4
  701. esphome/cpp_generator.py +32 -32
  702. esphome/dashboard/core.py +2 -2
  703. esphome/dashboard/web_server.py +2 -2
  704. esphome/git.py +4 -4
  705. esphome/helpers.py +5 -6
  706. esphome/loader.py +8 -7
  707. esphome/log.py +7 -1
  708. esphome/platformio_api.py +2 -3
  709. esphome/storage_json.py +13 -5
  710. esphome/types.py +12 -13
  711. esphome/util.py +1 -2
  712. esphome/writer.py +5 -3
  713. esphome/yaml_util.py +6 -1
  714. esphome/zeroconf.py +1 -1
  715. {esphome-2025.5.1.dist-info → esphome-2025.6.0b1.dist-info}/METADATA +12 -11
  716. {esphome-2025.5.1.dist-info → esphome-2025.6.0b1.dist-info}/RECORD +720 -667
  717. {esphome-2025.5.1.dist-info → esphome-2025.6.0b1.dist-info}/WHEEL +1 -1
  718. {esphome-2025.5.1.dist-info → esphome-2025.6.0b1.dist-info}/entry_points.txt +0 -0
  719. {esphome-2025.5.1.dist-info → esphome-2025.6.0b1.dist-info}/licenses/LICENSE +0 -0
  720. {esphome-2025.5.1.dist-info → esphome-2025.6.0b1.dist-info}/top_level.txt +0 -0
@@ -4,6 +4,7 @@ from .const import (
4
4
  VARIANT_ESP32C3,
5
5
  VARIANT_ESP32C6,
6
6
  VARIANT_ESP32H2,
7
+ VARIANT_ESP32P4,
7
8
  VARIANT_ESP32S2,
8
9
  VARIANT_ESP32S3,
9
10
  )
@@ -1338,17 +1339,7 @@ ESP32_BOARD_PINS = {
1338
1339
  }
1339
1340
 
1340
1341
  """
1341
- BOARDS generated with:
1342
-
1343
- git clone https://github.com/platformio/platform-espressif32
1344
- for x in platform-espressif32/boards/*.json; do
1345
- mcu=$(jq -r .build.mcu <"$x");
1346
- name=$(jq -r .name <"$x");
1347
- fname=$(basename "$x")
1348
- board="${fname%.*}"
1349
- variant=$(echo "$mcu" | tr '[:lower:]' '[:upper:]')
1350
- echo " \"$board\": {\"name\": \"$name\", \"variant\": VARIANT_${variant},},"
1351
- done | sort
1342
+ BOARDS generated with script/generate-esp32-boards.py
1352
1343
  """
1353
1344
 
1354
1345
  BOARDS = {
@@ -1360,6 +1351,10 @@ BOARDS = {
1360
1351
  "name": "Adafruit pyCamera S3",
1361
1352
  "variant": VARIANT_ESP32S3,
1362
1353
  },
1354
+ "adafruit_feather_esp32_v2": {
1355
+ "name": "Adafruit Feather ESP32 V2",
1356
+ "variant": VARIANT_ESP32,
1357
+ },
1363
1358
  "adafruit_feather_esp32c6": {
1364
1359
  "name": "Adafruit Feather ESP32-C6",
1365
1360
  "variant": VARIANT_ESP32C6,
@@ -1392,10 +1387,6 @@ BOARDS = {
1392
1387
  "name": "Adafruit Feather ESP32-S3 TFT",
1393
1388
  "variant": VARIANT_ESP32S3,
1394
1389
  },
1395
- "adafruit_feather_esp32_v2": {
1396
- "name": "Adafruit Feather ESP32 V2",
1397
- "variant": VARIANT_ESP32,
1398
- },
1399
1390
  "adafruit_funhouse_esp32s2": {
1400
1391
  "name": "Adafruit FunHouse",
1401
1392
  "variant": VARIANT_ESP32S2,
@@ -1420,14 +1411,14 @@ BOARDS = {
1420
1411
  "name": "Adafruit Metro ESP32-S3",
1421
1412
  "variant": VARIANT_ESP32S3,
1422
1413
  },
1423
- "adafruit_qtpy_esp32c3": {
1424
- "name": "Adafruit QT Py ESP32-C3",
1425
- "variant": VARIANT_ESP32C3,
1426
- },
1427
1414
  "adafruit_qtpy_esp32": {
1428
1415
  "name": "Adafruit QT Py ESP32",
1429
1416
  "variant": VARIANT_ESP32,
1430
1417
  },
1418
+ "adafruit_qtpy_esp32c3": {
1419
+ "name": "Adafruit QT Py ESP32-C3",
1420
+ "variant": VARIANT_ESP32C3,
1421
+ },
1431
1422
  "adafruit_qtpy_esp32s2": {
1432
1423
  "name": "Adafruit QT Py ESP32-S2",
1433
1424
  "variant": VARIANT_ESP32S2,
@@ -1476,14 +1467,14 @@ BOARDS = {
1476
1467
  "name": "Smart Bee Data Logger",
1477
1468
  "variant": VARIANT_ESP32S3,
1478
1469
  },
1479
- "bee_motion_mini": {
1480
- "name": "Smart Bee Motion Mini",
1481
- "variant": VARIANT_ESP32C3,
1482
- },
1483
1470
  "bee_motion": {
1484
1471
  "name": "Smart Bee Motion",
1485
1472
  "variant": VARIANT_ESP32S2,
1486
1473
  },
1474
+ "bee_motion_mini": {
1475
+ "name": "Smart Bee Motion Mini",
1476
+ "variant": VARIANT_ESP32C3,
1477
+ },
1487
1478
  "bee_motion_s3": {
1488
1479
  "name": "Smart Bee Motion S3",
1489
1480
  "variant": VARIANT_ESP32S3,
@@ -1516,6 +1507,10 @@ BOARDS = {
1516
1507
  "name": "D-duino-32",
1517
1508
  "variant": VARIANT_ESP32,
1518
1509
  },
1510
+ "deneyapkart": {
1511
+ "name": "Deneyap Kart",
1512
+ "variant": VARIANT_ESP32,
1513
+ },
1519
1514
  "deneyapkart1A": {
1520
1515
  "name": "Deneyap Kart 1A",
1521
1516
  "variant": VARIANT_ESP32,
@@ -1528,10 +1523,6 @@ BOARDS = {
1528
1523
  "name": "Deneyap Kart G",
1529
1524
  "variant": VARIANT_ESP32C3,
1530
1525
  },
1531
- "deneyapkart": {
1532
- "name": "Deneyap Kart",
1533
- "variant": VARIANT_ESP32,
1534
- },
1535
1526
  "deneyapmini": {
1536
1527
  "name": "Deneyap Mini",
1537
1528
  "variant": VARIANT_ESP32S2,
@@ -1572,8 +1563,8 @@ BOARDS = {
1572
1563
  "name": "Seeed Studio Edgebox-ESP-100",
1573
1564
  "variant": VARIANT_ESP32S3,
1574
1565
  },
1575
- "esp320": {
1576
- "name": "Electronic SweetPeas ESP320",
1566
+ "esp-wrover-kit": {
1567
+ "name": "Espressif ESP-WROVER-KIT",
1577
1568
  "variant": VARIANT_ESP32,
1578
1569
  },
1579
1570
  "esp32-c2-devkitm-1": {
@@ -1600,26 +1591,10 @@ BOARDS = {
1600
1591
  "name": "Espressif ESP32-C6-DevKitM-1",
1601
1592
  "variant": VARIANT_ESP32C6,
1602
1593
  },
1603
- "esp32cam": {
1604
- "name": "AI Thinker ESP32-CAM",
1605
- "variant": VARIANT_ESP32,
1606
- },
1607
1594
  "esp32-devkitlipo": {
1608
1595
  "name": "OLIMEX ESP32-DevKit-LiPo",
1609
1596
  "variant": VARIANT_ESP32,
1610
1597
  },
1611
- "esp32dev": {
1612
- "name": "Espressif ESP32 Dev Module",
1613
- "variant": VARIANT_ESP32,
1614
- },
1615
- "esp32doit-devkit-v1": {
1616
- "name": "DOIT ESP32 DEVKIT V1",
1617
- "variant": VARIANT_ESP32,
1618
- },
1619
- "esp32doit-espduino": {
1620
- "name": "DOIT ESPduino32",
1621
- "variant": VARIANT_ESP32,
1622
- },
1623
1598
  "esp32-evb": {
1624
1599
  "name": "OLIMEX ESP32-EVB",
1625
1600
  "variant": VARIANT_ESP32,
@@ -1632,18 +1607,26 @@ BOARDS = {
1632
1607
  "name": "Espressif ESP32-H2-DevKit",
1633
1608
  "variant": VARIANT_ESP32H2,
1634
1609
  },
1610
+ "esp32-p4": {
1611
+ "name": "Espressif ESP32-P4 generic",
1612
+ "variant": VARIANT_ESP32P4,
1613
+ },
1614
+ "esp32-p4-evboard": {
1615
+ "name": "Espressif ESP32-P4 Function EV Board",
1616
+ "variant": VARIANT_ESP32P4,
1617
+ },
1635
1618
  "esp32-pico-devkitm-2": {
1636
1619
  "name": "Espressif ESP32-PICO-DevKitM-2",
1637
1620
  "variant": VARIANT_ESP32,
1638
1621
  },
1639
- "esp32-poe-iso": {
1640
- "name": "OLIMEX ESP32-PoE-ISO",
1641
- "variant": VARIANT_ESP32,
1642
- },
1643
1622
  "esp32-poe": {
1644
1623
  "name": "OLIMEX ESP32-PoE",
1645
1624
  "variant": VARIANT_ESP32,
1646
1625
  },
1626
+ "esp32-poe-iso": {
1627
+ "name": "OLIMEX ESP32-PoE-ISO",
1628
+ "variant": VARIANT_ESP32,
1629
+ },
1647
1630
  "esp32-pro": {
1648
1631
  "name": "OLIMEX ESP32-PRO",
1649
1632
  "variant": VARIANT_ESP32,
@@ -1660,14 +1643,6 @@ BOARDS = {
1660
1643
  "name": "Espressif ESP32-S2-Saola-1",
1661
1644
  "variant": VARIANT_ESP32S2,
1662
1645
  },
1663
- "esp32s3box": {
1664
- "name": "Espressif ESP32-S3-Box",
1665
- "variant": VARIANT_ESP32S3,
1666
- },
1667
- "esp32s3camlcd": {
1668
- "name": "ESP32S3 CAM LCD",
1669
- "variant": VARIANT_ESP32S3,
1670
- },
1671
1646
  "esp32-s3-devkitc-1": {
1672
1647
  "name": "Espressif ESP32-S3-DevKitC-1-N8 (8 MB QD, No PSRAM)",
1673
1648
  "variant": VARIANT_ESP32S3,
@@ -1676,18 +1651,50 @@ BOARDS = {
1676
1651
  "name": "Espressif ESP32-S3-DevKitM-1",
1677
1652
  "variant": VARIANT_ESP32S3,
1678
1653
  },
1654
+ "esp32-solo1": {
1655
+ "name": "Espressif Generic ESP32-solo1 4M Flash",
1656
+ "variant": VARIANT_ESP32,
1657
+ },
1658
+ "esp320": {
1659
+ "name": "Electronic SweetPeas ESP320",
1660
+ "variant": VARIANT_ESP32,
1661
+ },
1662
+ "esp32cam": {
1663
+ "name": "AI Thinker ESP32-CAM",
1664
+ "variant": VARIANT_ESP32,
1665
+ },
1666
+ "esp32dev": {
1667
+ "name": "Espressif ESP32 Dev Module",
1668
+ "variant": VARIANT_ESP32,
1669
+ },
1670
+ "esp32doit-devkit-v1": {
1671
+ "name": "DOIT ESP32 DEVKIT V1",
1672
+ "variant": VARIANT_ESP32,
1673
+ },
1674
+ "esp32doit-espduino": {
1675
+ "name": "DOIT ESPduino32",
1676
+ "variant": VARIANT_ESP32,
1677
+ },
1678
+ "esp32s3_120_16_8-qio_opi": {
1679
+ "name": "ESP32-S3 16MB QIO, 8MB OPI PSRAM",
1680
+ "variant": VARIANT_ESP32S3,
1681
+ },
1679
1682
  "esp32s3_powerfeather": {
1680
1683
  "name": "ESP32-S3 PowerFeather",
1681
1684
  "variant": VARIANT_ESP32S3,
1682
1685
  },
1686
+ "esp32s3box": {
1687
+ "name": "Espressif ESP32-S3-Box",
1688
+ "variant": VARIANT_ESP32S3,
1689
+ },
1690
+ "esp32s3camlcd": {
1691
+ "name": "ESP32S3 CAM LCD",
1692
+ "variant": VARIANT_ESP32S3,
1693
+ },
1683
1694
  "esp32s3usbotg": {
1684
1695
  "name": "Espressif ESP32-S3-USB-OTG",
1685
1696
  "variant": VARIANT_ESP32S3,
1686
1697
  },
1687
- "esp32-solo1": {
1688
- "name": "Espressif Generic ESP32-solo1 4M Flash",
1689
- "variant": VARIANT_ESP32,
1690
- },
1691
1698
  "esp32thing": {
1692
1699
  "name": "SparkFun ESP32 Thing",
1693
1700
  "variant": VARIANT_ESP32,
@@ -1712,10 +1719,6 @@ BOARDS = {
1712
1719
  "name": "ESPino32",
1713
1720
  "variant": VARIANT_ESP32,
1714
1721
  },
1715
- "esp-wrover-kit": {
1716
- "name": "Espressif ESP-WROVER-KIT",
1717
- "variant": VARIANT_ESP32,
1718
- },
1719
1722
  "etboard": {
1720
1723
  "name": "ETBoard",
1721
1724
  "variant": VARIANT_ESP32,
@@ -1744,6 +1747,14 @@ BOARDS = {
1744
1747
  "name": "Franzininho WiFi MSC",
1745
1748
  "variant": VARIANT_ESP32S2,
1746
1749
  },
1750
+ "freenove_esp32_s3_wroom": {
1751
+ "name": "Freenove ESP32-S3 WROOM N8R8 (8MB Flash / 8MB PSRAM)",
1752
+ "variant": VARIANT_ESP32S3,
1753
+ },
1754
+ "freenove_esp32_wrover": {
1755
+ "name": "Freenove ESP32-Wrover",
1756
+ "variant": VARIANT_ESP32,
1757
+ },
1747
1758
  "frogboard": {
1748
1759
  "name": "Frog Board ESP32",
1749
1760
  "variant": VARIANT_ESP32,
@@ -1760,6 +1771,10 @@ BOARDS = {
1760
1771
  "name": "Heltec WiFi Kit 32 (V3)",
1761
1772
  "variant": VARIANT_ESP32S3,
1762
1773
  },
1774
+ "heltec_wifi_kit_32_v2": {
1775
+ "name": "Heltec WiFi Kit 32 (V2)",
1776
+ "variant": VARIANT_ESP32,
1777
+ },
1763
1778
  "heltec_wifi_lora_32": {
1764
1779
  "name": "Heltec WiFi LoRa 32",
1765
1780
  "variant": VARIANT_ESP32,
@@ -1772,14 +1787,14 @@ BOARDS = {
1772
1787
  "name": "Heltec WiFi LoRa 32 (V3)",
1773
1788
  "variant": VARIANT_ESP32S3,
1774
1789
  },
1775
- "heltec_wireless_stick_lite": {
1776
- "name": "Heltec Wireless Stick Lite",
1777
- "variant": VARIANT_ESP32,
1778
- },
1779
1790
  "heltec_wireless_stick": {
1780
1791
  "name": "Heltec Wireless Stick",
1781
1792
  "variant": VARIANT_ESP32,
1782
1793
  },
1794
+ "heltec_wireless_stick_lite": {
1795
+ "name": "Heltec Wireless Stick Lite",
1796
+ "variant": VARIANT_ESP32,
1797
+ },
1783
1798
  "honeylemon": {
1784
1799
  "name": "HONEYLemon",
1785
1800
  "variant": VARIANT_ESP32,
@@ -1792,6 +1807,14 @@ BOARDS = {
1792
1807
  "name": "Hornbill ESP32 Minima",
1793
1808
  "variant": VARIANT_ESP32,
1794
1809
  },
1810
+ "huidu_hd_wf2": {
1811
+ "name": "Huidu HD-WF2",
1812
+ "variant": VARIANT_ESP32S3,
1813
+ },
1814
+ "huidu_hd_wf4": {
1815
+ "name": "Huidu HD-WF4",
1816
+ "variant": VARIANT_ESP32S3,
1817
+ },
1795
1818
  "imbrios-logsens-v1p1": {
1796
1819
  "name": "Imbrios LogSens V1P1",
1797
1820
  "variant": VARIANT_ESP32,
@@ -1824,6 +1847,10 @@ BOARDS = {
1824
1847
  "name": "ArtronShop IOXESP32PS",
1825
1848
  "variant": VARIANT_ESP32,
1826
1849
  },
1850
+ "jczn_2432s028r": {
1851
+ "name": "ESP32-2432S028R CYD",
1852
+ "variant": VARIANT_ESP32,
1853
+ },
1827
1854
  "kb32-ft": {
1828
1855
  "name": "MakerAsia KB32-FT",
1829
1856
  "variant": VARIANT_ESP32,
@@ -1848,6 +1875,10 @@ BOARDS = {
1848
1875
  "name": "LilyGo T-Display-S3",
1849
1876
  "variant": VARIANT_ESP32S3,
1850
1877
  },
1878
+ "lilygo-t3-s3": {
1879
+ "name": "LilyGo T3-S3",
1880
+ "variant": VARIANT_ESP32S3,
1881
+ },
1851
1882
  "lionbit": {
1852
1883
  "name": "Lion:Bit Dev Board",
1853
1884
  "variant": VARIANT_ESP32,
@@ -1856,14 +1887,14 @@ BOARDS = {
1856
1887
  "name": "Lion:Bit S3 STEM Dev Board",
1857
1888
  "variant": VARIANT_ESP32S3,
1858
1889
  },
1859
- "lolin32_lite": {
1860
- "name": "WEMOS LOLIN32 Lite",
1861
- "variant": VARIANT_ESP32,
1862
- },
1863
1890
  "lolin32": {
1864
1891
  "name": "WEMOS LOLIN32",
1865
1892
  "variant": VARIANT_ESP32,
1866
1893
  },
1894
+ "lolin32_lite": {
1895
+ "name": "WEMOS LOLIN32 Lite",
1896
+ "variant": VARIANT_ESP32,
1897
+ },
1867
1898
  "lolin_c3_mini": {
1868
1899
  "name": "WEMOS LOLIN C3 Mini",
1869
1900
  "variant": VARIANT_ESP32C3,
@@ -1884,26 +1915,30 @@ BOARDS = {
1884
1915
  "name": "WEMOS LOLIN S2 PICO",
1885
1916
  "variant": VARIANT_ESP32S2,
1886
1917
  },
1918
+ "lolin_s3": {
1919
+ "name": "WEMOS LOLIN S3",
1920
+ "variant": VARIANT_ESP32S3,
1921
+ },
1887
1922
  "lolin_s3_mini": {
1888
1923
  "name": "WEMOS LOLIN S3 Mini",
1889
1924
  "variant": VARIANT_ESP32S3,
1890
1925
  },
1891
- "lolin_s3": {
1892
- "name": "WEMOS LOLIN S3",
1926
+ "lolin_s3_mini_pro": {
1927
+ "name": "WEMOS LOLIN S3 Mini Pro",
1893
1928
  "variant": VARIANT_ESP32S3,
1894
1929
  },
1895
1930
  "lolin_s3_pro": {
1896
1931
  "name": "WEMOS LOLIN S3 PRO",
1897
1932
  "variant": VARIANT_ESP32S3,
1898
1933
  },
1899
- "lopy4": {
1900
- "name": "Pycom LoPy4",
1901
- "variant": VARIANT_ESP32,
1902
- },
1903
1934
  "lopy": {
1904
1935
  "name": "Pycom LoPy",
1905
1936
  "variant": VARIANT_ESP32,
1906
1937
  },
1938
+ "lopy4": {
1939
+ "name": "Pycom LoPy4",
1940
+ "variant": VARIANT_ESP32,
1941
+ },
1907
1942
  "m5stack-atom": {
1908
1943
  "name": "M5Stack-ATOM",
1909
1944
  "variant": VARIANT_ESP32,
@@ -1912,16 +1947,16 @@ BOARDS = {
1912
1947
  "name": "M5Stack AtomS3",
1913
1948
  "variant": VARIANT_ESP32S3,
1914
1949
  },
1915
- "m5stack-core2": {
1916
- "name": "M5Stack Core2",
1950
+ "m5stack-core-esp32": {
1951
+ "name": "M5Stack Core ESP32",
1917
1952
  "variant": VARIANT_ESP32,
1918
1953
  },
1919
1954
  "m5stack-core-esp32-16M": {
1920
1955
  "name": "M5Stack Core ESP32 16M",
1921
1956
  "variant": VARIANT_ESP32,
1922
1957
  },
1923
- "m5stack-core-esp32": {
1924
- "name": "M5Stack Core ESP32",
1958
+ "m5stack-core2": {
1959
+ "name": "M5Stack Core2",
1925
1960
  "variant": VARIANT_ESP32,
1926
1961
  },
1927
1962
  "m5stack-coreink": {
@@ -1940,10 +1975,6 @@ BOARDS = {
1940
1975
  "name": "M5Stack GREY ESP32",
1941
1976
  "variant": VARIANT_ESP32,
1942
1977
  },
1943
- "m5stack_paper": {
1944
- "name": "M5Stack Paper",
1945
- "variant": VARIANT_ESP32,
1946
- },
1947
1978
  "m5stack-stamps3": {
1948
1979
  "name": "M5Stack StampS3",
1949
1980
  "variant": VARIANT_ESP32S3,
@@ -1956,6 +1987,10 @@ BOARDS = {
1956
1987
  "name": "M5Stack Timer CAM",
1957
1988
  "variant": VARIANT_ESP32,
1958
1989
  },
1990
+ "m5stack_paper": {
1991
+ "name": "M5Stack Paper",
1992
+ "variant": VARIANT_ESP32,
1993
+ },
1959
1994
  "m5stamp-pico": {
1960
1995
  "name": "M5Stamp-Pico",
1961
1996
  "variant": VARIANT_ESP32,
@@ -2024,14 +2059,14 @@ BOARDS = {
2024
2059
  "name": "Node32s",
2025
2060
  "variant": VARIANT_ESP32,
2026
2061
  },
2027
- "nodemcu-32s2": {
2028
- "name": "Ai-Thinker NodeMCU-32S2 (ESP-12K)",
2029
- "variant": VARIANT_ESP32S2,
2030
- },
2031
2062
  "nodemcu-32s": {
2032
2063
  "name": "NodeMCU-32S",
2033
2064
  "variant": VARIANT_ESP32,
2034
2065
  },
2066
+ "nodemcu-32s2": {
2067
+ "name": "Ai-Thinker NodeMCU-32S2 (ESP-12K)",
2068
+ "variant": VARIANT_ESP32S2,
2069
+ },
2035
2070
  "nscreen-32": {
2036
2071
  "name": "YeaCreate NSCREEN-32",
2037
2072
  "variant": VARIANT_ESP32,
@@ -2080,10 +2115,22 @@ BOARDS = {
2080
2115
  "name": "RoboHeart Hercules",
2081
2116
  "variant": VARIANT_ESP32,
2082
2117
  },
2118
+ "rymcu-esp32-s3-devkitc-1": {
2119
+ "name": "RYMCU ESP32-S3-DevKitC-1-N8R2 (8 MB QD, 2 MB PSRAM)",
2120
+ "variant": VARIANT_ESP32S3,
2121
+ },
2122
+ "s_odi_ultra": {
2123
+ "name": "S.ODI Ultra v1",
2124
+ "variant": VARIANT_ESP32,
2125
+ },
2083
2126
  "seeed_xiao_esp32c3": {
2084
2127
  "name": "Seeed Studio XIAO ESP32C3",
2085
2128
  "variant": VARIANT_ESP32C3,
2086
2129
  },
2130
+ "seeed_xiao_esp32c6": {
2131
+ "name": "Seeed Studio XIAO ESP32C6",
2132
+ "variant": VARIANT_ESP32C6,
2133
+ },
2087
2134
  "seeed_xiao_esp32s3": {
2088
2135
  "name": "Seeed Studio XIAO ESP32S3",
2089
2136
  "variant": VARIANT_ESP32S3,
@@ -2100,34 +2147,38 @@ BOARDS = {
2100
2147
  "name": "SG-O AirMon",
2101
2148
  "variant": VARIANT_ESP32,
2102
2149
  },
2103
- "s_odi_ultra": {
2104
- "name": "S.ODI Ultra v1",
2150
+ "sparkfun_esp32_iot_redboard": {
2151
+ "name": "SparkFun ESP32 IoT RedBoard",
2105
2152
  "variant": VARIANT_ESP32,
2106
2153
  },
2107
2154
  "sparkfun_esp32c6_thing_plus": {
2108
2155
  "name": "Sparkfun ESP32-C6 Thing Plus",
2109
2156
  "variant": VARIANT_ESP32C6,
2110
2157
  },
2111
- "sparkfun_esp32_iot_redboard": {
2112
- "name": "SparkFun ESP32 IoT RedBoard",
2113
- "variant": VARIANT_ESP32,
2114
- },
2115
2158
  "sparkfun_esp32micromod": {
2116
2159
  "name": "SparkFun ESP32 MicroMod",
2117
2160
  "variant": VARIANT_ESP32,
2118
2161
  },
2162
+ "sparkfun_esp32s2_thing_plus": {
2163
+ "name": "SparkFun ESP32-S2 Thing Plus",
2164
+ "variant": VARIANT_ESP32S2,
2165
+ },
2119
2166
  "sparkfun_esp32s2_thing_plus_c": {
2120
2167
  "name": "SparkFun ESP32 Thing Plus C",
2121
2168
  "variant": VARIANT_ESP32,
2122
2169
  },
2123
- "sparkfun_esp32s2_thing_plus": {
2124
- "name": "SparkFun ESP32-S2 Thing Plus",
2125
- "variant": VARIANT_ESP32S2,
2170
+ "sparkfun_esp32s3_thing_plus": {
2171
+ "name": "SPARKFUN_ESP32S3_THING_PLUS",
2172
+ "variant": VARIANT_ESP32S3,
2126
2173
  },
2127
2174
  "sparkfun_lora_gateway_1-channel": {
2128
2175
  "name": "SparkFun LoRa Gateway 1-Channel",
2129
2176
  "variant": VARIANT_ESP32,
2130
2177
  },
2178
+ "sparkfun_qwiic_pocket_esp32c6": {
2179
+ "name": "SparkFun ESP32-C6 Qwiic Pocket",
2180
+ "variant": VARIANT_ESP32C6,
2181
+ },
2131
2182
  "tamc_termod_s3": {
2132
2183
  "name": "TAMC Termod S3",
2133
2184
  "variant": VARIANT_ESP32S3,
@@ -2136,6 +2187,10 @@ BOARDS = {
2136
2187
  "name": "Unexpected Maker TinyPICO",
2137
2188
  "variant": VARIANT_ESP32,
2138
2189
  },
2190
+ "trueverit-iot-driver": {
2191
+ "name": "Trueverit ESP32 Universal IoT Driver",
2192
+ "variant": VARIANT_ESP32,
2193
+ },
2139
2194
  "trueverit-iot-driver-mk2": {
2140
2195
  "name": "Trueverit ESP32 Universal IoT Driver MK II",
2141
2196
  "variant": VARIANT_ESP32,
@@ -2144,32 +2199,16 @@ BOARDS = {
2144
2199
  "name": "Trueverit ESP32 Universal IoT Driver MK III",
2145
2200
  "variant": VARIANT_ESP32,
2146
2201
  },
2147
- "trueverit-iot-driver": {
2148
- "name": "Trueverit ESP32 Universal IoT Driver",
2149
- "variant": VARIANT_ESP32,
2150
- },
2151
2202
  "ttgo-lora32-v1": {
2152
2203
  "name": "TTGO LoRa32-OLED V1",
2153
2204
  "variant": VARIANT_ESP32,
2154
2205
  },
2155
- "ttgo-lora32-v21": {
2156
- "name": "TTGO LoRa32-OLED v2.1.6",
2157
- "variant": VARIANT_ESP32,
2158
- },
2159
2206
  "ttgo-lora32-v2": {
2160
2207
  "name": "TTGO LoRa32-OLED V2",
2161
2208
  "variant": VARIANT_ESP32,
2162
2209
  },
2163
- "ttgo-t1": {
2164
- "name": "TTGO T1",
2165
- "variant": VARIANT_ESP32,
2166
- },
2167
- "ttgo-t7-v13-mini32": {
2168
- "name": "TTGO T7 V1.3 Mini32",
2169
- "variant": VARIANT_ESP32,
2170
- },
2171
- "ttgo-t7-v14-mini32": {
2172
- "name": "TTGO T7 V1.4 Mini32",
2210
+ "ttgo-lora32-v21": {
2211
+ "name": "TTGO LoRa32-OLED v2.1.6",
2173
2212
  "variant": VARIANT_ESP32,
2174
2213
  },
2175
2214
  "ttgo-t-beam": {
@@ -2184,6 +2223,18 @@ BOARDS = {
2184
2223
  "name": "TTGO T-Watch",
2185
2224
  "variant": VARIANT_ESP32,
2186
2225
  },
2226
+ "ttgo-t1": {
2227
+ "name": "TTGO T1",
2228
+ "variant": VARIANT_ESP32,
2229
+ },
2230
+ "ttgo-t7-v13-mini32": {
2231
+ "name": "TTGO T7 V1.3 Mini32",
2232
+ "variant": VARIANT_ESP32,
2233
+ },
2234
+ "ttgo-t7-v14-mini32": {
2235
+ "name": "TTGO T7 V1.4 Mini32",
2236
+ "variant": VARIANT_ESP32,
2237
+ },
2187
2238
  "turta_iot_node": {
2188
2239
  "name": "Turta IoT Node",
2189
2240
  "variant": VARIANT_ESP32,
@@ -2256,9 +2307,17 @@ BOARDS = {
2256
2307
  "name": "SQFMI Watchy v2.0",
2257
2308
  "variant": VARIANT_ESP32,
2258
2309
  },
2259
- "wemosbat": {
2260
- "name": "WeMos WiFi and Bluetooth Battery",
2261
- "variant": VARIANT_ESP32,
2310
+ "waveshare_esp32_s3_zero": {
2311
+ "name": "Waveshare ESP32-S3-Zero",
2312
+ "variant": VARIANT_ESP32S3,
2313
+ },
2314
+ "waveshare_esp32s3_touch_lcd_128": {
2315
+ "name": "Waveshare ESP32-S3-Touch-LCD-1.28 (16 MB QD, 2MB PSRAM)",
2316
+ "variant": VARIANT_ESP32S3,
2317
+ },
2318
+ "weactstudio_esp32c3coreboard": {
2319
+ "name": "WeAct Studio ESP32C3CoreBoard",
2320
+ "variant": VARIANT_ESP32C3,
2262
2321
  },
2263
2322
  "wemos_d1_mini32": {
2264
2323
  "name": "WEMOS D1 MINI ESP32",
@@ -2268,6 +2327,10 @@ BOARDS = {
2268
2327
  "name": "WEMOS D1 R32",
2269
2328
  "variant": VARIANT_ESP32,
2270
2329
  },
2330
+ "wemosbat": {
2331
+ "name": "WeMos WiFi and Bluetooth Battery",
2332
+ "variant": VARIANT_ESP32,
2333
+ },
2271
2334
  "wesp32": {
2272
2335
  "name": "Silicognition wESP32",
2273
2336
  "variant": VARIANT_ESP32,
@@ -2276,14 +2339,14 @@ BOARDS = {
2276
2339
  "name": "Widora AIR",
2277
2340
  "variant": VARIANT_ESP32,
2278
2341
  },
2279
- "wifiduino32c3": {
2280
- "name": "Blinker WiFiduinoV2 (ESP32-C3)",
2281
- "variant": VARIANT_ESP32C3,
2282
- },
2283
2342
  "wifiduino32": {
2284
2343
  "name": "Blinker WiFiduino32",
2285
2344
  "variant": VARIANT_ESP32,
2286
2345
  },
2346
+ "wifiduino32c3": {
2347
+ "name": "Blinker WiFiduinoV2 (ESP32-C3)",
2348
+ "variant": VARIANT_ESP32C3,
2349
+ },
2287
2350
  "wifiduino32s3": {
2288
2351
  "name": "Blinker WiFiduino32S3",
2289
2352
  "variant": VARIANT_ESP32S3,
@@ -2292,12 +2355,32 @@ BOARDS = {
2292
2355
  "name": "Pycom WiPy3",
2293
2356
  "variant": VARIANT_ESP32,
2294
2357
  },
2358
+ "ws_esp32_s3_matrix": {
2359
+ "name": "Waveshare ESP32-S3-Matrix",
2360
+ "variant": VARIANT_ESP32S3,
2361
+ },
2295
2362
  "wt32-eth01": {
2296
2363
  "name": "Wireless-Tag WT32-ETH01 Ethernet Module",
2297
2364
  "variant": VARIANT_ESP32,
2298
2365
  },
2366
+ "wt32-sc01-plus": {
2367
+ "name": "wt32-sc01-plus",
2368
+ "variant": VARIANT_ESP32S3,
2369
+ },
2299
2370
  "xinabox_cw02": {
2300
2371
  "name": "XinaBox CW02",
2301
2372
  "variant": VARIANT_ESP32,
2302
2373
  },
2374
+ "yb_esp32s3_amp_v2": {
2375
+ "name": "YelloByte YB-ESP32-S3-AMP (Rev.2)",
2376
+ "variant": VARIANT_ESP32S3,
2377
+ },
2378
+ "yb_esp32s3_amp_v3": {
2379
+ "name": "YelloByte YB-ESP32-S3-AMP (Rev.3)",
2380
+ "variant": VARIANT_ESP32S3,
2381
+ },
2382
+ "yb_esp32s3_eth": {
2383
+ "name": "YelloByte YB-ESP32-S3-ETH",
2384
+ "variant": VARIANT_ESP32S3,
2385
+ },
2303
2386
  }
@@ -17,16 +17,20 @@ VARIANT_ESP32S2 = "ESP32S2"
17
17
  VARIANT_ESP32S3 = "ESP32S3"
18
18
  VARIANT_ESP32C2 = "ESP32C2"
19
19
  VARIANT_ESP32C3 = "ESP32C3"
20
+ VARIANT_ESP32C5 = "ESP32C5"
20
21
  VARIANT_ESP32C6 = "ESP32C6"
21
22
  VARIANT_ESP32H2 = "ESP32H2"
23
+ VARIANT_ESP32P4 = "ESP32P4"
22
24
  VARIANTS = [
23
25
  VARIANT_ESP32,
24
26
  VARIANT_ESP32S2,
25
27
  VARIANT_ESP32S3,
26
28
  VARIANT_ESP32C2,
27
29
  VARIANT_ESP32C3,
30
+ VARIANT_ESP32C5,
28
31
  VARIANT_ESP32C6,
29
32
  VARIANT_ESP32H2,
33
+ VARIANT_ESP32P4,
30
34
  ]
31
35
 
32
36
  VARIANT_FRIENDLY = {
@@ -35,8 +39,10 @@ VARIANT_FRIENDLY = {
35
39
  VARIANT_ESP32S3: "ESP32-S3",
36
40
  VARIANT_ESP32C2: "ESP32-C2",
37
41
  VARIANT_ESP32C3: "ESP32-C3",
42
+ VARIANT_ESP32C5: "ESP32-C5",
38
43
  VARIANT_ESP32C6: "ESP32-C6",
39
44
  VARIANT_ESP32H2: "ESP32-H2",
45
+ VARIANT_ESP32P4: "ESP32-P4",
40
46
  }
41
47
 
42
48
  esp32_ns = cg.esphome_ns.namespace("esp32")