esphome 2025.5.2__py3-none-any.whl → 2025.6.0__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 (750) 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 +753 -379
  29. esphome/components/api/api_connection.h +341 -283
  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 +5 -0
  33. esphome/components/api/api_pb2.h +703 -227
  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 -4
  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 +5 -4
  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 +18 -16
  67. esphome/components/bluetooth_proxy/bluetooth_proxy.h +1 -1
  68. esphome/components/bme280_base/bme280_base.cpp +5 -6
  69. esphome/components/bme680/bme680.cpp +3 -3
  70. esphome/components/bme680/sensor.py +2 -2
  71. esphome/components/bme680_bsec/bme680_bsec.cpp +11 -7
  72. esphome/components/bme680_bsec/sensor.py +7 -3
  73. esphome/components/bme68x_bsec2/__init__.py +6 -5
  74. esphome/components/bme68x_bsec2/bme68x_bsec2.cpp +17 -13
  75. esphome/components/bme68x_bsec2/sensor.py +4 -4
  76. esphome/components/bme68x_bsec2_i2c/bme68x_bsec2_i2c.cpp +1 -0
  77. esphome/components/bmi160/bmi160.cpp +11 -11
  78. esphome/components/bmp085/bmp085.cpp +2 -2
  79. esphome/components/bmp280_base/bmp280_base.cpp +3 -3
  80. esphome/components/bmp3xx_base/bmp3xx_base.cpp +13 -13
  81. esphome/components/bmp581/bmp581.cpp +33 -27
  82. esphome/components/bp1658cj/bp1658cj.cpp +5 -3
  83. esphome/components/bp5758d/bp5758d.cpp +1 -1
  84. esphome/components/button/__init__.py +1 -0
  85. esphome/components/canbus/canbus.cpp +1 -1
  86. esphome/components/cap1188/cap1188.cpp +6 -4
  87. esphome/components/captive_portal/captive_portal.cpp +1 -1
  88. esphome/components/ccs811/ccs811.cpp +3 -2
  89. esphome/components/cd74hc4067/cd74hc4067.cpp +1 -1
  90. esphome/components/ch422g/ch422g.cpp +2 -2
  91. esphome/components/chsc6x/chsc6x_touchscreen.cpp +6 -4
  92. esphome/components/climate/__init__.py +1 -0
  93. esphome/components/climate/climate.cpp +12 -7
  94. esphome/components/climate/climate.h +1 -1
  95. esphome/components/climate_ir/climate_ir.cpp +7 -4
  96. esphome/components/cm1106/__init__.py +1 -0
  97. esphome/components/cm1106/cm1106.cpp +112 -0
  98. esphome/components/cm1106/cm1106.h +40 -0
  99. esphome/components/cm1106/sensor.py +72 -0
  100. esphome/components/const/__init__.py +1 -0
  101. esphome/components/cover/__init__.py +1 -0
  102. esphome/components/cs5460a/cs5460a.cpp +16 -11
  103. esphome/components/cse7761/cse7761.cpp +2 -2
  104. esphome/components/cse7766/cse7766.cpp +0 -5
  105. esphome/components/cse7766/cse7766.h +5 -1
  106. esphome/components/cst226/touchscreen/cst226_touchscreen.cpp +1 -1
  107. esphome/components/cst816/touchscreen/cst816_touchscreen.cpp +6 -3
  108. esphome/components/current_based/current_based_cover.cpp +4 -2
  109. esphome/components/dac7678/dac7678_output.cpp +4 -4
  110. esphome/components/dallas_temp/dallas_temp.cpp +2 -3
  111. esphome/components/daly_bms/daly_bms.cpp +2 -1
  112. esphome/components/dashboard_import/__init__.py +1 -2
  113. esphome/components/datetime/__init__.py +3 -1
  114. esphome/components/datetime/date_entity.cpp +5 -5
  115. esphome/components/datetime/datetime_base.h +0 -5
  116. esphome/components/datetime/datetime_entity.cpp +8 -8
  117. esphome/components/datetime/time_entity.cpp +4 -4
  118. esphome/components/debug/debug_component.cpp +1 -1
  119. esphome/components/debug/debug_component.h +1 -1
  120. esphome/components/debug/debug_esp32.cpp +4 -2
  121. esphome/components/deep_sleep/deep_sleep_component.cpp +11 -5
  122. esphome/components/deep_sleep/deep_sleep_esp32.cpp +7 -5
  123. esphome/components/demo/__init__.py +206 -0
  124. esphome/components/demo/demo_alarm_control_panel.h +65 -0
  125. esphome/components/demo/demo_button.h +15 -0
  126. esphome/components/demo/demo_date.h +34 -0
  127. esphome/components/demo/demo_datetime.h +40 -0
  128. esphome/components/demo/demo_lock.h +17 -0
  129. esphome/components/demo/demo_select.h +15 -0
  130. esphome/components/demo/demo_text.h +18 -0
  131. esphome/components/demo/demo_time.h +34 -0
  132. esphome/components/demo/demo_valve.h +54 -0
  133. esphome/components/dfrobot_sen0395/commands.cpp +3 -3
  134. esphome/components/dht/dht.cpp +29 -50
  135. esphome/components/dht12/dht12.cpp +2 -2
  136. esphome/components/display/display.h +5 -3
  137. esphome/components/dps310/dps310.cpp +7 -5
  138. esphome/components/ds1307/ds1307.cpp +2 -2
  139. esphome/components/dsmr/dsmr.cpp +5 -3
  140. esphome/components/duty_cycle/duty_cycle_sensor.cpp +2 -2
  141. esphome/components/duty_time/duty_time_sensor.cpp +5 -3
  142. esphome/components/ee895/ee895.cpp +3 -3
  143. esphome/components/ektf2232/touchscreen/ektf2232.cpp +1 -1
  144. esphome/components/emc2101/emc2101.cpp +11 -9
  145. esphome/components/ens160_base/ens160_base.cpp +2 -2
  146. esphome/components/ens210/ens210.cpp +2 -2
  147. esphome/components/es7210/es7210.cpp +6 -4
  148. esphome/components/es7243e/es7243e.cpp +1 -1
  149. esphome/components/es8156/es8156.cpp +1 -1
  150. esphome/components/es8311/es8311.cpp +8 -6
  151. esphome/components/es8388/__init__.py +0 -0
  152. esphome/components/es8388/audio_dac.py +26 -0
  153. esphome/components/es8388/es8388.cpp +289 -0
  154. esphome/components/es8388/es8388.h +81 -0
  155. esphome/components/es8388/es8388_const.h +83 -0
  156. esphome/components/es8388/select/__init__.py +47 -0
  157. esphome/components/es8388/select/adc_input_mic_select.cpp +12 -0
  158. esphome/components/es8388/select/adc_input_mic_select.h +15 -0
  159. esphome/components/es8388/select/dac_output_select.cpp +12 -0
  160. esphome/components/es8388/select/dac_output_select.h +15 -0
  161. esphome/components/esp32/__init__.py +118 -23
  162. esphome/components/esp32/boards.py +208 -125
  163. esphome/components/esp32/const.py +6 -0
  164. esphome/components/esp32/gpio.py +14 -1
  165. esphome/components/esp32/gpio_esp32_c5.py +45 -0
  166. esphome/components/esp32/gpio_esp32_p4.py +43 -0
  167. esphome/components/esp32/preferences.cpp +7 -7
  168. esphome/components/esp32_ble/__init__.py +115 -0
  169. esphome/components/esp32_ble/ble.cpp +101 -54
  170. esphome/components/esp32_ble/ble.h +24 -5
  171. esphome/components/esp32_ble/ble_event.h +172 -32
  172. esphome/components/esp32_ble/ble_scan_result.h +24 -0
  173. esphome/components/esp32_ble/ble_uuid.h +1 -1
  174. esphome/components/esp32_ble/queue.h +53 -27
  175. esphome/components/esp32_ble_client/ble_client_base.cpp +4 -2
  176. esphome/components/esp32_ble_server/__init__.py +4 -1
  177. esphome/components/esp32_ble_server/ble_characteristic.cpp +1 -0
  178. esphome/components/esp32_ble_server/ble_server.h +0 -1
  179. esphome/components/esp32_ble_tracker/__init__.py +7 -2
  180. esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +107 -75
  181. esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +16 -16
  182. esphome/components/esp32_camera/esp32_camera.cpp +35 -27
  183. esphome/components/esp32_camera_web_server/camera_web_server.cpp +4 -2
  184. esphome/components/esp32_dac/esp32_dac.cpp +2 -2
  185. esphome/components/esp32_improv/__init__.py +5 -1
  186. esphome/components/esp32_improv/esp32_improv_component.cpp +2 -2
  187. esphome/components/esp32_rmt_led_strip/led_strip.cpp +11 -7
  188. esphome/components/esp32_rmt_led_strip/light.py +5 -1
  189. esphome/components/esp32_touch/esp32_touch.cpp +12 -8
  190. esphome/components/esp8266/preferences.cpp +6 -6
  191. esphome/components/esp8266_pwm/esp8266_pwm.cpp +3 -3
  192. esphome/components/esp_ldo/__init__.py +91 -0
  193. esphome/components/esp_ldo/esp_ldo.cpp +43 -0
  194. esphome/components/esp_ldo/esp_ldo.h +43 -0
  195. esphome/components/esphome/ota/ota_esphome.cpp +15 -8
  196. esphome/components/ethernet/ethernet_component.cpp +38 -26
  197. esphome/components/ethernet/ethernet_component.h +1 -1
  198. esphome/components/event/__init__.py +1 -0
  199. esphome/components/exposure_notifications/exposure_notifications.cpp +1 -1
  200. esphome/components/ezo/ezo.cpp +1 -1
  201. esphome/components/ezo_pmp/ezo_pmp.cpp +1 -1
  202. esphome/components/factory_reset/button/factory_reset_button.cpp +1 -1
  203. esphome/components/factory_reset/switch/factory_reset_switch.cpp +1 -1
  204. esphome/components/fan/__init__.py +1 -0
  205. esphome/components/fan/fan.cpp +30 -19
  206. esphome/components/fastled_base/fastled_light.cpp +7 -5
  207. esphome/components/fingerprint_grow/fingerprint_grow.cpp +8 -6
  208. esphome/components/fs3000/fs3000.cpp +1 -1
  209. esphome/components/ft5x06/touchscreen/ft5x06_touchscreen.cpp +7 -4
  210. esphome/components/ft63x6/ft63x6.cpp +5 -3
  211. esphome/components/gcja5/gcja5.cpp +0 -12
  212. esphome/components/gcja5/gcja5.h +8 -3
  213. esphome/components/gdk101/gdk101.cpp +2 -2
  214. esphome/components/globals/globals_component.h +13 -10
  215. esphome/components/gp2y1010au0f/gp2y1010au0f.cpp +4 -2
  216. esphome/components/gp8403/gp8403.cpp +4 -2
  217. esphome/components/gp8403/output/gp8403_output.cpp +4 -2
  218. esphome/components/gpio/one_wire/gpio_one_wire.cpp +2 -2
  219. esphome/components/gpio/output/gpio_binary_output.cpp +1 -1
  220. esphome/components/gpio/switch/gpio_switch.cpp +1 -1
  221. esphome/components/graphical_display_menu/graphical_display_menu.cpp +12 -8
  222. esphome/components/grove_gas_mc_v2/grove_gas_mc_v2.cpp +5 -6
  223. esphome/components/grove_tb6612fng/grove_tb6612fng.cpp +1 -1
  224. esphome/components/grove_tb6612fng/grove_tb6612fng.h +1 -1
  225. esphome/components/growatt_solar/growatt_solar.cpp +6 -3
  226. esphome/components/gt911/touchscreen/gt911_touchscreen.cpp +1 -1
  227. esphome/components/haier/haier_base.cpp +2 -2
  228. esphome/components/haier/hon_climate.cpp +13 -6
  229. esphome/components/havells_solar/havells_solar.cpp +5 -2
  230. esphome/components/hbridge/switch/hbridge_switch.cpp +1 -1
  231. esphome/components/hdc1080/hdc1080.cpp +2 -2
  232. esphome/components/he60r/he60r.cpp +4 -2
  233. esphome/components/hlw8012/hlw8012.cpp +6 -4
  234. esphome/components/hm3301/hm3301.cpp +2 -2
  235. esphome/components/hmc5883l/hmc5883l.cpp +2 -2
  236. esphome/components/homeassistant/time/homeassistant_time.cpp +4 -2
  237. esphome/components/honeywell_hih_i2c/honeywell_hih.cpp +4 -4
  238. esphome/components/honeywellabp/honeywellabp.cpp +4 -2
  239. esphome/components/honeywellabp2_i2c/honeywellabp2.cpp +8 -6
  240. esphome/components/hte501/hte501.cpp +3 -2
  241. esphome/components/http_request/__init__.py +2 -2
  242. esphome/components/http_request/http_request.cpp +7 -5
  243. esphome/components/http_request/http_request_idf.cpp +4 -2
  244. esphome/components/http_request/ota/ota_http_request.cpp +1 -1
  245. esphome/components/htu21d/htu21d.cpp +2 -2
  246. esphome/components/htu31d/htu31d.cpp +2 -2
  247. esphome/components/hx711/hx711.cpp +2 -2
  248. esphome/components/hydreon_rgxx/hydreon_rgxx.cpp +5 -3
  249. esphome/components/hyt271/hyt271.cpp +2 -2
  250. esphome/components/i2c/i2c_bus_arduino.cpp +14 -11
  251. esphome/components/i2c/i2c_bus_esp_idf.cpp +13 -11
  252. esphome/components/i2s_audio/__init__.py +2 -0
  253. esphome/components/i2s_audio/i2s_audio.cpp +3 -4
  254. esphome/components/i2s_audio/i2s_audio.h +1 -1
  255. esphome/components/i2s_audio/media_player/__init__.py +1 -1
  256. esphome/components/i2s_audio/media_player/i2s_audio_media_player.cpp +5 -3
  257. esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp +48 -30
  258. esphome/components/i2s_audio/microphone/i2s_audio_microphone.h +2 -0
  259. esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +29 -11
  260. esphome/components/i2s_audio/speaker/i2s_audio_speaker.h +1 -0
  261. esphome/components/iaqcore/iaqcore.cpp +3 -3
  262. esphome/components/ili9xxx/ili9xxx_display.cpp +12 -7
  263. esphome/components/ili9xxx/ili9xxx_display.h +1 -1
  264. esphome/components/image/image.cpp +1 -0
  265. esphome/components/ina219/ina219.cpp +2 -2
  266. esphome/components/ina226/ina226.cpp +8 -5
  267. esphome/components/ina260/ina260.cpp +1 -1
  268. esphome/components/ina2xx_base/ina2xx_base.cpp +13 -9
  269. esphome/components/ina3221/ina3221.cpp +2 -2
  270. esphome/components/inkplate6/display.py +12 -2
  271. esphome/components/inkplate6/inkplate.cpp +13 -9
  272. esphome/components/inkplate6/inkplate.h +7 -6
  273. esphome/components/integration/integration_sensor.cpp +1 -1
  274. esphome/components/internal_temperature/internal_temperature.cpp +4 -4
  275. esphome/components/json/json_util.cpp +4 -5
  276. esphome/components/kamstrup_kmp/kamstrup_kmp.cpp +1 -1
  277. esphome/components/key_collector/key_collector.cpp +4 -2
  278. esphome/components/kmeteriso/kmeteriso.cpp +4 -4
  279. esphome/components/kuntze/kuntze.cpp +4 -2
  280. esphome/components/lc709203f/__init__.py +1 -0
  281. esphome/components/lc709203f/lc709203f.cpp +299 -0
  282. esphome/components/lc709203f/lc709203f.h +55 -0
  283. esphome/components/lc709203f/sensor.py +93 -0
  284. esphome/components/lcd_base/lcd_display.cpp +2 -2
  285. esphome/components/lcd_gpio/gpio_lcd_display.cpp +5 -3
  286. esphome/components/lcd_menu/lcd_menu.cpp +6 -4
  287. esphome/components/lcd_pcf8574/pcf8574_display.cpp +6 -4
  288. esphome/components/ld2410/ld2410.cpp +6 -7
  289. esphome/components/ld2420/ld2420.cpp +9 -7
  290. esphome/components/ld2450/ld2450.cpp +6 -4
  291. esphome/components/ld2450/sensor.py +2 -2
  292. esphome/components/ledc/ledc_output.cpp +32 -28
  293. esphome/components/libretiny/const.py +1 -1
  294. esphome/components/libretiny/preferences.cpp +6 -7
  295. esphome/components/light/__init__.py +2 -1
  296. esphome/components/light/esp_hsv_color.h +1 -1
  297. esphome/components/light/light_state.cpp +9 -5
  298. esphome/components/light/light_state.h +15 -15
  299. esphome/components/light/light_transformer.h +1 -1
  300. esphome/components/lightwaverf/LwTx.cpp +1 -1
  301. esphome/components/lightwaverf/lightwaverf.cpp +1 -1
  302. esphome/components/lilygo_t5_47/touchscreen/lilygo_t5_47_touchscreen.cpp +1 -1
  303. esphome/components/lock/__init__.py +1 -0
  304. esphome/components/lock/lock.h +1 -1
  305. esphome/components/logger/__init__.py +6 -0
  306. esphome/components/logger/logger.cpp +11 -20
  307. esphome/components/logger/logger.h +1 -2
  308. esphome/components/logger/logger_esp32.cpp +5 -5
  309. esphome/components/ltr390/ltr390.cpp +8 -5
  310. esphome/components/ltr501/ltr501.cpp +19 -14
  311. esphome/components/ltr_als_ps/ltr_als_ps.cpp +20 -13
  312. esphome/components/lvgl/__init__.py +2 -2
  313. esphome/components/lvgl/automation.py +5 -4
  314. esphome/components/lvgl/defines.py +0 -2
  315. esphome/components/lvgl/lv_validation.py +1 -3
  316. esphome/components/lvgl/lvcode.py +7 -8
  317. esphome/components/lvgl/lvgl_esphome.cpp +26 -10
  318. esphome/components/lvgl/schemas.py +22 -23
  319. esphome/components/lvgl/trigger.py +8 -3
  320. esphome/components/lvgl/widgets/__init__.py +2 -2
  321. esphome/components/lvgl/widgets/canvas.py +9 -3
  322. esphome/components/lvgl/widgets/line.py +2 -1
  323. esphome/components/lvgl/widgets/tabview.py +7 -0
  324. esphome/components/m5stack_8angle/m5stack_8angle.cpp +3 -3
  325. esphome/components/matrix_keypad/matrix_keypad.cpp +2 -2
  326. esphome/components/max17043/max17043.cpp +2 -2
  327. esphome/components/max31855/max31855.cpp +2 -1
  328. esphome/components/max31856/max31856.cpp +9 -11
  329. esphome/components/max31865/max31865.cpp +6 -4
  330. esphome/components/max44009/max44009.cpp +2 -2
  331. esphome/components/max6675/max6675.cpp +1 -1
  332. esphome/components/max6956/max6956.cpp +5 -3
  333. esphome/components/max7219/max7219.cpp +8 -6
  334. esphome/components/max7219digit/automation.h +52 -0
  335. esphome/components/max7219digit/display.py +93 -1
  336. esphome/components/max7219digit/max7219digit.cpp +16 -13
  337. esphome/components/max9611/max9611.cpp +9 -6
  338. esphome/components/mcp23008/mcp23008.cpp +1 -1
  339. esphome/components/mcp23016/mcp23016.cpp +1 -1
  340. esphome/components/mcp23017/mcp23017.cpp +1 -1
  341. esphome/components/mcp23s08/mcp23s08.cpp +1 -1
  342. esphome/components/mcp23s17/mcp23s17.cpp +1 -1
  343. esphome/components/mcp3008/mcp3008.cpp +1 -1
  344. esphome/components/mcp3008/sensor/mcp3008_sensor.cpp +5 -3
  345. esphome/components/mcp3204/mcp3204.cpp +1 -1
  346. esphome/components/mcp4461/mcp4461.cpp +2 -2
  347. esphome/components/mcp4725/mcp4725.cpp +2 -2
  348. esphome/components/mcp4728/mcp4728.cpp +2 -2
  349. esphome/components/mcp9600/mcp9600.cpp +1 -1
  350. esphome/components/mcp9808/mcp9808.cpp +4 -4
  351. esphome/components/mdns/mdns_component.cpp +8 -2
  352. esphome/components/mdns/mdns_component.h +3 -1
  353. esphome/components/mdns/mdns_esp32.cpp +2 -2
  354. esphome/components/media_player/__init__.py +1 -0
  355. esphome/components/micro_wake_word/micro_wake_word.cpp +1 -1
  356. esphome/components/micro_wake_word/streaming_model.cpp +10 -6
  357. esphome/components/micronova/micronova.h +2 -2
  358. esphome/components/mics_4514/mics_4514.cpp +2 -2
  359. esphome/components/midea/air_conditioner.cpp +7 -5
  360. esphome/components/midea_ir/midea_ir.cpp +1 -1
  361. esphome/components/mipi_spi/mipi_spi.cpp +24 -15
  362. esphome/components/mixer/speaker/mixer_speaker.cpp +8 -4
  363. esphome/components/mlx90393/sensor_mlx90393.cpp +2 -2
  364. esphome/components/mlx90614/mlx90614.cpp +4 -3
  365. esphome/components/mmc5603/mmc5603.cpp +2 -2
  366. esphome/components/mmc5983/mmc5983.cpp +1 -1
  367. esphome/components/modbus/modbus.cpp +7 -5
  368. esphome/components/modbus_controller/modbus_controller.cpp +6 -4
  369. esphome/components/modbus_controller/output/modbus_output.cpp +10 -6
  370. esphome/components/modbus_controller/switch/__init__.py +6 -2
  371. esphome/components/modbus_controller/switch/modbus_switch.cpp +4 -0
  372. esphome/components/modbus_controller/switch/modbus_switch.h +3 -0
  373. esphome/components/mpl3115a2/mpl3115a2.cpp +3 -2
  374. esphome/components/mpr121/mpr121.cpp +2 -2
  375. esphome/components/mpu6050/mpu6050.cpp +6 -6
  376. esphome/components/mpu6886/mpu6886.cpp +6 -6
  377. esphome/components/mqtt/mqtt_alarm_control_panel.cpp +7 -3
  378. esphome/components/mqtt/mqtt_backend_esp32.cpp +1 -1
  379. esphome/components/mqtt/mqtt_client.cpp +31 -24
  380. esphome/components/mqtt/mqtt_component.cpp +3 -3
  381. esphome/components/mqtt/mqtt_cover.cpp +8 -4
  382. esphome/components/mqtt/mqtt_fan.cpp +12 -6
  383. esphome/components/mqtt/mqtt_valve.cpp +4 -2
  384. esphome/components/ms5611/ms5611.cpp +2 -2
  385. esphome/components/ms8607/ms8607.cpp +2 -2
  386. esphome/components/msa3xx/msa3xx.cpp +16 -12
  387. esphome/components/my9231/my9231.cpp +7 -5
  388. esphome/components/nau7802/nau7802.cpp +6 -4
  389. esphome/components/neopixelbus/neopixelbus_light.h +2 -2
  390. esphome/components/network/ip_address.h +1 -1
  391. esphome/components/network/util.cpp +13 -0
  392. esphome/components/nextion/base_component.py +2 -0
  393. esphome/components/nextion/binary_sensor/nextion_binarysensor.cpp +3 -4
  394. esphome/components/nextion/display.py +34 -22
  395. esphome/components/nextion/nextion.cpp +182 -143
  396. esphome/components/nextion/nextion.h +36 -0
  397. esphome/components/nextion/nextion_commands.cpp +3 -3
  398. esphome/components/nextion/nextion_upload_arduino.cpp +69 -69
  399. esphome/components/nextion/nextion_upload_idf.cpp +79 -80
  400. esphome/components/nextion/sensor/nextion_sensor.cpp +5 -5
  401. esphome/components/nextion/switch/nextion_switch.cpp +2 -2
  402. esphome/components/nextion/text_sensor/nextion_textsensor.cpp +3 -3
  403. esphome/components/nfc/nci_message.h +1 -1
  404. esphome/components/nfc/ndef_record.h +1 -1
  405. esphome/components/nfc/ndef_record_text.h +1 -1
  406. esphome/components/nfc/ndef_record_uri.h +1 -1
  407. esphome/components/nfc/nfc.h +1 -1
  408. esphome/components/nfc/nfc_tag.h +1 -1
  409. esphome/components/noblex/noblex.cpp +1 -1
  410. esphome/components/npi19/npi19.cpp +5 -7
  411. esphome/components/number/__init__.py +11 -0
  412. esphome/components/number/number.cpp +1 -1
  413. esphome/components/number/number.h +0 -4
  414. esphome/components/online_image/__init__.py +13 -1
  415. esphome/components/online_image/online_image.cpp +26 -4
  416. esphome/components/online_image/online_image.h +21 -4
  417. esphome/components/opentherm/generate.py +3 -3
  418. esphome/components/opentherm/hub.cpp +11 -7
  419. esphome/components/opentherm/number/number.cpp +5 -3
  420. esphome/components/opentherm/opentherm.h +1 -1
  421. esphome/components/opentherm/schema.py +13 -13
  422. esphome/components/opentherm/validate.py +1 -1
  423. esphome/components/openthread/__init__.py +146 -0
  424. esphome/components/openthread/const.py +10 -0
  425. esphome/components/openthread/openthread.cpp +206 -0
  426. esphome/components/openthread/openthread.h +68 -0
  427. esphome/components/openthread/openthread_esp.cpp +164 -0
  428. esphome/components/openthread/tlv.py +58 -0
  429. esphome/components/openthread_info/__init__.py +0 -0
  430. esphome/components/openthread_info/openthread_info_text_sensor.cpp +24 -0
  431. esphome/components/openthread_info/openthread_info_text_sensor.h +218 -0
  432. esphome/components/openthread_info/text_sensor.py +105 -0
  433. esphome/components/output/float_output.cpp +1 -1
  434. esphome/components/output/switch/output_switch.cpp +1 -1
  435. esphome/components/packet_transport/packet_transport.cpp +6 -4
  436. esphome/components/pca6416a/pca6416a.cpp +2 -2
  437. esphome/components/pca9554/pca9554.cpp +6 -4
  438. esphome/components/pca9685/pca9685_output.cpp +12 -8
  439. esphome/components/pcd8544/pcd_8544.cpp +1 -1
  440. esphome/components/pcf85063/pcf85063.cpp +2 -2
  441. esphome/components/pcf8563/pcf8563.cpp +2 -2
  442. esphome/components/pcf8574/pcf8574.cpp +2 -2
  443. esphome/components/pid/pid_climate.cpp +8 -5
  444. esphome/components/pid/pid_climate.h +1 -1
  445. esphome/components/pid/sensor/pid_climate_sensor.cpp +1 -1
  446. esphome/components/pipsolar/output/pipsolar_output.cpp +1 -1
  447. esphome/components/pipsolar/pipsolar.cpp +3 -3
  448. esphome/components/pm1006/pm1006.cpp +3 -7
  449. esphome/components/pm1006/pm1006.h +4 -1
  450. esphome/components/pm2005/pm2005.cpp +12 -13
  451. esphome/components/pm2005/sensor.py +1 -1
  452. esphome/components/pmsa003i/pmsa003i.cpp +2 -2
  453. esphome/components/pmsx003/pmsx003.cpp +0 -4
  454. esphome/components/pmsx003/pmsx003.h +5 -2
  455. esphome/components/pmwcs3/pmwcs3.cpp +9 -13
  456. esphome/components/pmwcs3/pmwcs3.h +0 -1
  457. esphome/components/pn532/pn532.cpp +7 -7
  458. esphome/components/pn532/pn532.h +1 -1
  459. esphome/components/pn532_spi/pn532_spi.cpp +1 -1
  460. esphome/components/pn7150/pn7150.cpp +4 -4
  461. esphome/components/pn7160/pn7160.cpp +4 -4
  462. esphome/components/power_supply/power_supply.cpp +6 -4
  463. esphome/components/power_supply/power_supply.h +1 -1
  464. esphome/components/prometheus/__init__.py +0 -1
  465. esphome/components/psram/__init__.py +59 -35
  466. esphome/components/pulse_counter/pulse_counter_sensor.cpp +7 -4
  467. esphome/components/pvvx_mithermometer/display/pvvx_display.cpp +8 -5
  468. esphome/components/pylontech/pylontech.cpp +2 -2
  469. esphome/components/pylontech/sensor/pylontech_sensor.cpp +4 -2
  470. esphome/components/pylontech/text_sensor/pylontech_text_sensor.cpp +4 -2
  471. esphome/components/pzemac/pzemac.cpp +4 -2
  472. esphome/components/pzemdc/pzemdc.cpp +4 -2
  473. esphome/components/qmc5883l/qmc5883l.cpp +2 -2
  474. esphome/components/qmp6988/qmp6988.cpp +2 -2
  475. esphome/components/qmp6988/qmp6988.h +1 -1
  476. esphome/components/qr_code/qr_code.cpp +5 -3
  477. esphome/components/qspi_dbi/qspi_dbi.cpp +1 -1
  478. esphome/components/qwiic_pir/qwiic_pir.cpp +26 -28
  479. esphome/components/rc522/rc522.cpp +5 -5
  480. esphome/components/rdm6300/rdm6300.cpp +1 -0
  481. esphome/components/remote_receiver/__init__.py +10 -2
  482. esphome/components/remote_receiver/remote_receiver_esp32.cpp +22 -12
  483. esphome/components/remote_receiver/remote_receiver_esp8266.cpp +10 -7
  484. esphome/components/remote_receiver/remote_receiver_libretiny.cpp +10 -7
  485. esphome/components/remote_transmitter/__init__.py +10 -2
  486. esphome/components/remote_transmitter/remote_transmitter_esp32.cpp +10 -6
  487. esphome/components/remote_transmitter/remote_transmitter_esp8266.cpp +5 -3
  488. esphome/components/remote_transmitter/remote_transmitter_libretiny.cpp +5 -3
  489. esphome/components/resistance/resistance_sensor.cpp +6 -3
  490. esphome/components/restart/button/restart_button.cpp +1 -1
  491. esphome/components/restart/switch/restart_switch.cpp +1 -1
  492. esphome/components/rotary_encoder/rotary_encoder.cpp +2 -2
  493. esphome/components/rp2040/__init__.py +7 -0
  494. esphome/components/rp2040/core.cpp +8 -1
  495. esphome/components/rp2040/preferences.cpp +3 -3
  496. esphome/components/rp2040_pio_led_strip/led_strip.cpp +11 -8
  497. esphome/components/rp2040_pio_led_strip/light.py +1 -1
  498. esphome/components/rp2040_pwm/rp2040_pwm.cpp +1 -1
  499. esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.cpp +1 -1
  500. esphome/components/rtttl/rtttl.cpp +11 -9
  501. esphome/components/safe_mode/button/safe_mode_button.cpp +1 -1
  502. esphome/components/safe_mode/safe_mode.cpp +9 -8
  503. esphome/components/safe_mode/switch/safe_mode_switch.cpp +1 -1
  504. esphome/components/scd30/scd30.cpp +11 -8
  505. esphome/components/scd4x/scd4x.cpp +12 -8
  506. esphome/components/sdl/display.py +40 -0
  507. esphome/components/sdl/sdl_esphome.cpp +2 -2
  508. esphome/components/sdl/sdl_esphome.h +8 -0
  509. esphome/components/sdm_meter/sdm_meter.cpp +5 -2
  510. esphome/components/sdp3x/sdp3x.cpp +11 -11
  511. esphome/components/sds011/sds011.cpp +5 -6
  512. esphome/components/sds011/sds011.h +4 -1
  513. esphome/components/seeed_mr24hpc1/seeed_mr24hpc1.cpp +3 -2
  514. esphome/components/seeed_mr60bha2/seeed_mr60bha2.cpp +1 -0
  515. esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp +3 -2
  516. esphome/components/selec_meter/selec_meter.cpp +5 -2
  517. esphome/components/select/__init__.py +1 -0
  518. esphome/components/select/select.cpp +1 -1
  519. esphome/components/select/select.h +0 -4
  520. esphome/components/sen0321/sen0321.cpp +2 -2
  521. esphome/components/sen21231/sen21231.cpp +1 -1
  522. esphome/components/sen5x/sen5x.cpp +10 -7
  523. esphome/components/sensirion_common/i2c_sensirion.cpp +2 -1
  524. esphome/components/sensirion_common/i2c_sensirion.h +1 -0
  525. esphome/components/sensor/__init__.py +11 -1
  526. esphome/components/sensor/filter.h +1 -1
  527. esphome/components/sensor/sensor.cpp +8 -4
  528. esphome/components/sensor/sensor.h +12 -11
  529. esphome/components/servo/servo.cpp +12 -9
  530. esphome/components/servo/servo.h +1 -1
  531. esphome/components/sfa30/sfa30.cpp +1 -1
  532. esphome/components/sgp30/sgp30.cpp +10 -8
  533. esphome/components/sgp4x/sgp4x.cpp +49 -61
  534. esphome/components/sgp4x/sgp4x.h +0 -1
  535. esphome/components/shelly_dimmer/shelly_dimmer.cpp +11 -7
  536. esphome/components/sht3xd/sht3xd.cpp +1 -1
  537. esphome/components/sht4x/sht4x.cpp +2 -2
  538. esphome/components/shtcx/shtcx.cpp +13 -16
  539. esphome/components/shutdown/button/shutdown_button.cpp +1 -1
  540. esphome/components/shutdown/switch/shutdown_switch.cpp +1 -1
  541. esphome/components/sim800l/sim800l.cpp +2 -2
  542. esphome/components/slow_pwm/slow_pwm_output.cpp +4 -2
  543. esphome/components/sm16716/sm16716.cpp +1 -1
  544. esphome/components/sm2135/sm2135.cpp +1 -1
  545. esphome/components/sm2235/sm2235.cpp +5 -3
  546. esphome/components/sm2335/sm2335.cpp +5 -3
  547. esphome/components/sml/sml.cpp +1 -1
  548. esphome/components/sn74hc165/sn74hc165.cpp +1 -2
  549. esphome/components/sn74hc595/sn74hc595.cpp +1 -2
  550. esphome/components/sntp/sntp_component.cpp +1 -1
  551. esphome/components/socket/__init__.py +2 -0
  552. esphome/components/socket/bsd_sockets_impl.cpp +51 -7
  553. esphome/components/socket/lwip_raw_tcp_impl.cpp +5 -0
  554. esphome/components/socket/lwip_sockets_impl.cpp +51 -7
  555. esphome/components/socket/socket.cpp +31 -0
  556. esphome/components/socket/socket.h +27 -1
  557. esphome/components/sonoff_d1/sonoff_d1.cpp +7 -4
  558. esphome/components/sonoff_d1/sonoff_d1.h +2 -2
  559. esphome/components/sound_level/sound_level.cpp +4 -2
  560. esphome/components/speaker/media_player/__init__.py +3 -0
  561. esphome/components/speaker/media_player/speaker_media_player.cpp +1 -3
  562. esphome/components/speaker/media_player/speaker_media_player.h +6 -0
  563. esphome/components/spi/__init__.py +10 -2
  564. esphome/components/spi/spi.cpp +4 -4
  565. esphome/components/spi/spi_arduino.cpp +22 -9
  566. esphome/components/spi_device/spi_device.cpp +1 -2
  567. esphome/components/sprinkler/sprinkler.cpp +9 -6
  568. esphome/components/sps30/sps30.cpp +16 -15
  569. esphome/components/ssd1306_base/ssd1306_base.cpp +1 -1
  570. esphome/components/ssd1306_i2c/ssd1306_i2c.cpp +11 -8
  571. esphome/components/ssd1306_spi/ssd1306_spi.cpp +10 -7
  572. esphome/components/ssd1322_base/ssd1322_base.cpp +1 -1
  573. esphome/components/ssd1322_spi/ssd1322_spi.cpp +1 -1
  574. esphome/components/ssd1325_base/ssd1325_base.cpp +1 -1
  575. esphome/components/ssd1325_spi/ssd1325_spi.cpp +1 -1
  576. esphome/components/ssd1327_base/ssd1327_base.cpp +1 -1
  577. esphome/components/ssd1327_i2c/ssd1327_i2c.cpp +2 -2
  578. esphome/components/ssd1327_spi/ssd1327_spi.cpp +1 -1
  579. esphome/components/ssd1331_base/ssd1331_base.cpp +1 -1
  580. esphome/components/ssd1331_spi/ssd1331_spi.cpp +1 -1
  581. esphome/components/ssd1351_base/ssd1351_base.cpp +1 -1
  582. esphome/components/ssd1351_spi/ssd1351_spi.cpp +1 -1
  583. esphome/components/st7567_base/st7567_base.cpp +3 -3
  584. esphome/components/st7567_i2c/st7567_i2c.cpp +7 -5
  585. esphome/components/st7567_spi/st7567_spi.cpp +1 -1
  586. esphome/components/st7701s/st7701s.cpp +4 -2
  587. esphome/components/st7735/st7735.cpp +3 -3
  588. esphome/components/st7789v/st7789v.cpp +10 -7
  589. esphome/components/st7920/st7920.cpp +6 -4
  590. esphome/components/statsd/statsd.cpp +9 -5
  591. esphome/components/status_led/light/status_led_light.cpp +3 -3
  592. esphome/components/status_led/light/status_led_light.h +1 -1
  593. esphome/components/status_led/status_led.cpp +1 -1
  594. esphome/components/stepper/stepper.h +5 -3
  595. esphome/components/sts3x/sts3x.cpp +2 -2
  596. esphome/components/switch/__init__.py +1 -0
  597. esphome/components/switch/switch.cpp +18 -12
  598. esphome/components/switch/switch.h +14 -8
  599. esphome/components/sx1509/__init__.py +53 -20
  600. esphome/components/sx1509/sx1509.cpp +29 -5
  601. esphome/components/sx1509/sx1509.h +9 -1
  602. esphome/components/t6615/t6615.cpp +1 -0
  603. esphome/components/tc74/tc74.cpp +1 -1
  604. esphome/components/tca9548a/tca9548a.cpp +1 -1
  605. esphome/components/tca9555/tca9555.cpp +2 -2
  606. esphome/components/tcs34725/tcs34725.cpp +4 -4
  607. esphome/components/tee501/tee501.cpp +3 -2
  608. esphome/components/tem3200/tem3200.cpp +5 -6
  609. esphome/components/template/alarm_control_panel/__init__.py +6 -0
  610. esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp +43 -12
  611. esphome/components/template/alarm_control_panel/template_alarm_control_panel.h +4 -1
  612. esphome/components/template/cover/template_cover.cpp +1 -1
  613. esphome/components/template/select/template_select.cpp +6 -4
  614. esphome/components/template/text/template_text.cpp +2 -3
  615. esphome/components/template/valve/template_valve.cpp +5 -3
  616. esphome/components/text/__init__.py +10 -11
  617. esphome/components/text/text.cpp +1 -1
  618. esphome/components/text/text.h +0 -4
  619. esphome/components/text_sensor/__init__.py +1 -0
  620. esphome/components/text_sensor/text_sensor.cpp +8 -4
  621. esphome/components/text_sensor/text_sensor.h +6 -6
  622. esphome/components/thermostat/thermostat_climate.cpp +67 -43
  623. esphome/components/time/__init__.py +1 -2
  624. esphome/components/time_based/time_based_cover.cpp +4 -2
  625. esphome/components/tlc59208f/tlc59208f_output.cpp +8 -6
  626. esphome/components/tm1621/tm1621.cpp +3 -3
  627. esphome/components/tm1637/tm1637.cpp +9 -7
  628. esphome/components/tm1638/tm1638.cpp +7 -5
  629. esphome/components/tm1651/tm1651.cpp +2 -2
  630. esphome/components/tmp102/tmp102.cpp +1 -3
  631. esphome/components/tmp102/tmp102.h +0 -3
  632. esphome/components/tmp1075/tmp1075.cpp +12 -9
  633. esphome/components/tmp117/tmp117.cpp +2 -2
  634. esphome/components/tof10120/tof10120_sensor.cpp +2 -2
  635. esphome/components/tormatic/tormatic_cover.cpp +4 -2
  636. esphome/components/tsl2561/tsl2561.cpp +7 -5
  637. esphome/components/tsl2591/tsl2591.cpp +25 -27
  638. esphome/components/tt21100/touchscreen/tt21100.cpp +1 -1
  639. esphome/components/ttp229_bsf/ttp229_bsf.cpp +1 -1
  640. esphome/components/ttp229_lsf/ttp229_lsf.cpp +2 -2
  641. esphome/components/tuya/select/tuya_select.cpp +5 -3
  642. esphome/components/tx20/tx20.cpp +3 -3
  643. esphome/components/uart/__init__.py +4 -5
  644. esphome/components/uart/button/uart_button.cpp +1 -1
  645. esphome/components/uart/switch/uart_switch.cpp +2 -2
  646. esphome/components/uart/uart.cpp +2 -2
  647. esphome/components/uart/uart_component_esp32_arduino.cpp +8 -6
  648. esphome/components/uart/uart_component_esp8266.cpp +9 -7
  649. esphome/components/uart/uart_component_esp_idf.cpp +9 -7
  650. esphome/components/uart/uart_component_host.cpp +11 -8
  651. esphome/components/uart/uart_component_libretiny.cpp +8 -6
  652. esphome/components/uart/uart_component_rp2040.cpp +8 -6
  653. esphome/components/udp/udp_component.cpp +9 -5
  654. esphome/components/ufire_ec/ufire_ec.cpp +5 -3
  655. esphome/components/ufire_ise/ufire_ise.cpp +1 -1
  656. esphome/components/ultrasonic/ultrasonic_sensor.cpp +5 -3
  657. esphome/components/update/__init__.py +1 -0
  658. esphome/components/update/update_entity.cpp +1 -1
  659. esphome/components/update/update_entity.h +0 -3
  660. esphome/components/uponor_smatrix/climate/uponor_smatrix_climate.cpp +1 -1
  661. esphome/components/uponor_smatrix/sensor/uponor_smatrix_sensor.cpp +4 -2
  662. esphome/components/uponor_smatrix/uponor_smatrix.cpp +2 -1
  663. esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp +1 -1
  664. esphome/components/usb_host/__init__.py +64 -0
  665. esphome/components/usb_host/usb_host.h +116 -0
  666. esphome/components/usb_host/usb_host_client.cpp +394 -0
  667. esphome/components/usb_host/usb_host_component.cpp +35 -0
  668. esphome/components/usb_uart/__init__.py +134 -0
  669. esphome/components/usb_uart/ch34x.cpp +80 -0
  670. esphome/components/usb_uart/cp210x.cpp +126 -0
  671. esphome/components/usb_uart/usb_uart.cpp +328 -0
  672. esphome/components/usb_uart/usb_uart.h +151 -0
  673. esphome/components/valve/__init__.py +1 -0
  674. esphome/components/veml3235/veml3235.cpp +13 -9
  675. esphome/components/veml7700/veml7700.cpp +10 -6
  676. esphome/components/voice_assistant/voice_assistant.cpp +7 -7
  677. esphome/components/wake_on_lan/wake_on_lan.cpp +1 -1
  678. esphome/components/waveshare_epaper/waveshare_epaper.cpp +1 -1
  679. esphome/components/web_server/server_index_v2.h +632 -630
  680. esphome/components/web_server/server_index_v3.h +411 -409
  681. esphome/components/web_server/web_server.cpp +5 -3
  682. esphome/components/web_server_base/web_server_base.cpp +1 -1
  683. esphome/components/web_server_idf/__init__.py +0 -2
  684. esphome/components/web_server_idf/utils.cpp +1 -1
  685. esphome/components/web_server_idf/web_server_idf.cpp +7 -3
  686. esphome/components/web_server_idf/web_server_idf.h +7 -0
  687. esphome/components/weikai/__init__.py +2 -0
  688. esphome/components/weikai/weikai.cpp +24 -22
  689. esphome/components/weikai_i2c/weikai_i2c.cpp +14 -9
  690. esphome/components/weikai_spi/weikai_spi.cpp +11 -6
  691. esphome/components/wiegand/wiegand.cpp +1 -1
  692. esphome/components/wifi/wifi_component.cpp +50 -37
  693. esphome/components/wifi/wifi_component.h +7 -4
  694. esphome/components/wifi/wifi_component_esp32_arduino.cpp +2 -2
  695. esphome/components/wifi/wifi_component_esp8266.cpp +3 -3
  696. esphome/components/wifi/wifi_component_libretiny.cpp +4 -4
  697. esphome/components/wireguard/wireguard.cpp +21 -21
  698. esphome/components/wl_134/text_sensor.py +1 -2
  699. esphome/components/wled/wled_light_effect.cpp +1 -1
  700. esphome/components/x9c/x9c.cpp +5 -3
  701. esphome/components/xgzp68xx/xgzp68xx.cpp +8 -6
  702. esphome/components/xiaomi_cgd1/xiaomi_cgd1.cpp +4 -2
  703. esphome/components/xiaomi_cgdk2/xiaomi_cgdk2.cpp +4 -2
  704. esphome/components/xiaomi_cgg1/xiaomi_cgg1.cpp +4 -2
  705. esphome/components/xiaomi_hhccjcy10/xiaomi_hhccjcy10.cpp +1 -1
  706. esphome/components/xiaomi_lywsd02mmc/xiaomi_lywsd02mmc.cpp +4 -2
  707. esphome/components/xiaomi_lywsd03mmc/xiaomi_lywsd03mmc.cpp +4 -2
  708. esphome/components/xiaomi_mhoc401/xiaomi_mhoc401.cpp +4 -2
  709. esphome/components/xl9535/xl9535.cpp +2 -2
  710. esphome/components/xpt2046/touchscreen/xpt2046.cpp +12 -11
  711. esphome/components/xpt2046/touchscreen/xpt2046.h +2 -2
  712. esphome/config.py +3 -2
  713. esphome/config_validation.py +46 -17
  714. esphome/const.py +10 -1
  715. esphome/core/__init__.py +37 -18
  716. esphome/core/application.cpp +197 -8
  717. esphome/core/application.h +116 -6
  718. esphome/core/component.cpp +36 -15
  719. esphome/core/component.h +43 -13
  720. esphome/core/config.py +12 -0
  721. esphome/core/defines.h +10 -2
  722. esphome/core/entity_base.cpp +4 -16
  723. esphome/core/entity_base.h +27 -13
  724. esphome/core/helpers.cpp +1 -1
  725. esphome/core/helpers.h +5 -5
  726. esphome/core/log.h +2 -0
  727. esphome/core/log_const_en.h +4 -0
  728. esphome/core/scheduler.cpp +2 -2
  729. esphome/coroutine.py +3 -4
  730. esphome/cpp_generator.py +32 -32
  731. esphome/dashboard/core.py +2 -2
  732. esphome/dashboard/web_server.py +2 -2
  733. esphome/git.py +4 -4
  734. esphome/helpers.py +5 -6
  735. esphome/loader.py +8 -7
  736. esphome/log.py +7 -1
  737. esphome/platformio_api.py +2 -3
  738. esphome/storage_json.py +13 -5
  739. esphome/types.py +12 -13
  740. esphome/util.py +1 -2
  741. esphome/wizard.py +0 -16
  742. esphome/writer.py +5 -3
  743. esphome/yaml_util.py +6 -1
  744. esphome/zeroconf.py +1 -1
  745. {esphome-2025.5.2.dist-info → esphome-2025.6.0.dist-info}/METADATA +12 -11
  746. {esphome-2025.5.2.dist-info → esphome-2025.6.0.dist-info}/RECORD +750 -696
  747. {esphome-2025.5.2.dist-info → esphome-2025.6.0.dist-info}/WHEEL +1 -1
  748. {esphome-2025.5.2.dist-info → esphome-2025.6.0.dist-info}/entry_points.txt +0 -0
  749. {esphome-2025.5.2.dist-info → esphome-2025.6.0.dist-info}/licenses/LICENSE +0 -0
  750. {esphome-2025.5.2.dist-info → esphome-2025.6.0.dist-info}/top_level.txt +0 -0
@@ -9,34 +9,34 @@ namespace sgp4x {
9
9
  static const char *const TAG = "sgp4x";
10
10
 
11
11
  void SGP4xComponent::setup() {
12
- ESP_LOGCONFIG(TAG, "Setting up SGP4x...");
12
+ ESP_LOGCONFIG(TAG, "Running setup");
13
13
 
14
14
  // Serial Number identification
15
15
  uint16_t raw_serial_number[3];
16
16
  if (!this->get_register(SGP4X_CMD_GET_SERIAL_ID, raw_serial_number, 3, 1)) {
17
- ESP_LOGE(TAG, "Failed to read serial number");
17
+ ESP_LOGE(TAG, "Get serial number failed");
18
18
  this->error_code_ = SERIAL_NUMBER_IDENTIFICATION_FAILED;
19
19
  this->mark_failed();
20
20
  return;
21
21
  }
22
22
  this->serial_number_ = (uint64_t(raw_serial_number[0]) << 24) | (uint64_t(raw_serial_number[1]) << 16) |
23
23
  (uint64_t(raw_serial_number[2]));
24
- ESP_LOGD(TAG, "Serial Number: %" PRIu64, this->serial_number_);
24
+ ESP_LOGD(TAG, "Serial number: %" PRIu64, this->serial_number_);
25
25
 
26
26
  // Featureset identification for future use
27
- uint16_t raw_featureset;
28
- if (!this->get_register(SGP4X_CMD_GET_FEATURESET, raw_featureset, 1)) {
29
- ESP_LOGD(TAG, "raw_featureset write_command_ failed");
27
+ uint16_t featureset;
28
+ if (!this->get_register(SGP4X_CMD_GET_FEATURESET, featureset, 1)) {
29
+ ESP_LOGD(TAG, "Get feature set failed");
30
30
  this->mark_failed();
31
31
  return;
32
32
  }
33
- this->featureset_ = raw_featureset;
34
- if ((this->featureset_ & 0x1FF) == SGP40_FEATURESET) {
35
- sgp_type_ = SGP40;
36
- self_test_time_ = SPG40_SELFTEST_TIME;
37
- measure_time_ = SGP40_MEASURE_TIME;
33
+ featureset &= 0x1FF;
34
+ if (featureset == SGP40_FEATURESET) {
35
+ this->sgp_type_ = SGP40;
36
+ this->self_test_time_ = SPG40_SELFTEST_TIME;
37
+ this->measure_time_ = SGP40_MEASURE_TIME;
38
38
  if (this->nox_sensor_) {
39
- ESP_LOGE(TAG, "Measuring NOx requires a SGP41 sensor but a SGP40 sensor is detected");
39
+ ESP_LOGE(TAG, "SGP41 required for NOx");
40
40
  // disable the sensor
41
41
  this->nox_sensor_->set_disabled_by_default(true);
42
42
  // make sure it's not visible in HA
@@ -45,20 +45,17 @@ void SGP4xComponent::setup() {
45
45
  // remove pointer to sensor
46
46
  this->nox_sensor_ = nullptr;
47
47
  }
48
+ } else if (featureset == SGP41_FEATURESET) {
49
+ this->sgp_type_ = SGP41;
50
+ this->self_test_time_ = SPG41_SELFTEST_TIME;
51
+ this->measure_time_ = SGP41_MEASURE_TIME;
48
52
  } else {
49
- if ((this->featureset_ & 0x1FF) == SGP41_FEATURESET) {
50
- sgp_type_ = SGP41;
51
- self_test_time_ = SPG41_SELFTEST_TIME;
52
- measure_time_ = SGP41_MEASURE_TIME;
53
- } else {
54
- ESP_LOGD(TAG, "Product feature set failed 0x%0X , expecting 0x%0X", uint16_t(this->featureset_ & 0x1FF),
55
- SGP40_FEATURESET);
56
- this->mark_failed();
57
- return;
58
- }
53
+ ESP_LOGD(TAG, "Unknown feature set 0x%0X", featureset);
54
+ this->mark_failed();
55
+ return;
59
56
  }
60
57
 
61
- ESP_LOGD(TAG, "Product version: 0x%0X", uint16_t(this->featureset_ & 0x1FF));
58
+ ESP_LOGD(TAG, "Version 0x%0X", featureset);
62
59
 
63
60
  if (this->store_baseline_) {
64
61
  // Hash with compilation time and serial number
@@ -70,7 +67,7 @@ void SGP4xComponent::setup() {
70
67
  if (this->pref_.load(&this->voc_baselines_storage_)) {
71
68
  this->voc_state0_ = this->voc_baselines_storage_.state0;
72
69
  this->voc_state1_ = this->voc_baselines_storage_.state1;
73
- ESP_LOGI(TAG, "Loaded VOC baseline state0: 0x%04" PRIX32 ", state1: 0x%04" PRIX32,
70
+ ESP_LOGV(TAG, "Loaded VOC baseline state0: 0x%04" PRIX32 ", state1: 0x%04" PRIX32,
74
71
  this->voc_baselines_storage_.state0, voc_baselines_storage_.state1);
75
72
  }
76
73
 
@@ -78,7 +75,7 @@ void SGP4xComponent::setup() {
78
75
  this->seconds_since_last_store_ = 0;
79
76
 
80
77
  if (this->voc_baselines_storage_.state0 > 0 && this->voc_baselines_storage_.state1 > 0) {
81
- ESP_LOGI(TAG, "Setting VOC baseline from save state0: 0x%04" PRIX32 ", state1: 0x%04" PRIX32,
78
+ ESP_LOGV(TAG, "Setting VOC baseline from save state0: 0x%04" PRIX32 ", state1: 0x%04" PRIX32,
82
79
  this->voc_baselines_storage_.state0, voc_baselines_storage_.state1);
83
80
  voc_algorithm_.set_states(this->voc_baselines_storage_.state0, this->voc_baselines_storage_.state1);
84
81
  }
@@ -110,39 +107,29 @@ void SGP4xComponent::setup() {
110
107
  limit the amount of communication done over wifi for power consumption or to keep the
111
108
  number of records reported from being overwhelming.
112
109
  */
113
- ESP_LOGD(TAG, "Component requires sampling of 1Hz, setting up background sampler");
110
+ ESP_LOGV(TAG, "Component requires sampling of 1Hz, setting up background sampler");
114
111
  this->set_interval(1000, [this]() { this->take_sample(); });
115
112
  }
116
113
 
117
114
  void SGP4xComponent::self_test_() {
118
- ESP_LOGD(TAG, "Self-test started");
115
+ ESP_LOGD(TAG, "Starting self-test");
119
116
  if (!this->write_command(SGP4X_CMD_SELF_TEST)) {
120
117
  this->error_code_ = COMMUNICATION_FAILED;
121
- ESP_LOGD(TAG, "Self-test communication failed");
118
+ ESP_LOGD(TAG, ESP_LOG_MSG_COMM_FAIL);
122
119
  this->mark_failed();
123
120
  }
124
121
 
125
- this->set_timeout(self_test_time_, [this]() {
126
- uint16_t reply;
127
- if (!this->read_data(reply)) {
122
+ this->set_timeout(this->self_test_time_, [this]() {
123
+ uint16_t reply = 0;
124
+ if (!this->read_data(reply) || (reply != 0xD400)) {
128
125
  this->error_code_ = SELF_TEST_FAILED;
129
- ESP_LOGD(TAG, "Self-test read_data_ failed");
126
+ ESP_LOGW(TAG, "Self-test failed (0x%X)", reply);
130
127
  this->mark_failed();
131
128
  return;
132
129
  }
133
130
 
134
- if (reply == 0xD400) {
135
- this->self_test_complete_ = true;
136
- ESP_LOGD(TAG, "Self-test completed");
137
- return;
138
- } else {
139
- this->error_code_ = SELF_TEST_FAILED;
140
- ESP_LOGD(TAG, "Self-test failed 0x%X", reply);
141
- return;
142
- }
143
-
144
- ESP_LOGD(TAG, "Self-test failed 0x%X", reply);
145
- this->mark_failed();
131
+ this->self_test_complete_ = true;
132
+ ESP_LOGD(TAG, "Self-test complete");
146
133
  });
147
134
  }
148
135
 
@@ -150,7 +137,7 @@ void SGP4xComponent::update_gas_indices_() {
150
137
  this->voc_index_ = this->voc_algorithm_.process(this->voc_sraw_);
151
138
  if (this->nox_sensor_ != nullptr)
152
139
  this->nox_index_ = this->nox_algorithm_.process(this->nox_sraw_);
153
- ESP_LOGV(TAG, "VOC = %" PRId32 ", NOx = %" PRId32, this->voc_index_, this->nox_index_);
140
+ ESP_LOGV(TAG, "VOC: %" PRId32 ", NOx: %" PRId32, this->voc_index_, this->nox_index_);
154
141
  // Store baselines after defined interval or if the difference between current and stored baseline becomes too
155
142
  // much
156
143
  if (this->store_baseline_ && this->seconds_since_last_store_ > SHORTEST_BASELINE_STORE_INTERVAL) {
@@ -162,18 +149,18 @@ void SGP4xComponent::update_gas_indices_() {
162
149
  this->voc_baselines_storage_.state1 = this->voc_state1_;
163
150
 
164
151
  if (this->pref_.save(&this->voc_baselines_storage_)) {
165
- ESP_LOGI(TAG, "Stored VOC baseline state0: 0x%04" PRIX32 " ,state1: 0x%04" PRIX32,
152
+ ESP_LOGV(TAG, "Stored VOC baseline state0: 0x%04" PRIX32 ", state1: 0x%04" PRIX32,
166
153
  this->voc_baselines_storage_.state0, this->voc_baselines_storage_.state1);
167
154
  } else {
168
- ESP_LOGW(TAG, "Could not store VOC baselines");
155
+ ESP_LOGW(TAG, "Storing VOC baselines failed");
169
156
  }
170
157
  }
171
158
  }
172
159
 
173
160
  if (this->samples_read_ < this->samples_to_stabilize_) {
174
161
  this->samples_read_++;
175
- ESP_LOGD(TAG, "Sensor has not collected enough samples yet. (%d/%d) VOC index is: %" PRIu32, this->samples_read_,
176
- this->samples_to_stabilize_, this->voc_index_);
162
+ ESP_LOGD(TAG, "Stabilizing (%d/%d); VOC index: %" PRIu32, this->samples_read_, this->samples_to_stabilize_,
163
+ this->voc_index_);
177
164
  }
178
165
  }
179
166
 
@@ -182,7 +169,7 @@ void SGP4xComponent::measure_raw_() {
182
169
  static uint32_t nox_conditioning_start = millis();
183
170
 
184
171
  if (!this->self_test_complete_) {
185
- ESP_LOGD(TAG, "Self-test not yet complete");
172
+ ESP_LOGW(TAG, "Self-test incomplete");
186
173
  return;
187
174
  }
188
175
  if (this->humidity_sensor_ != nullptr) {
@@ -270,37 +257,38 @@ void SGP4xComponent::update() {
270
257
  void SGP4xComponent::dump_config() {
271
258
  ESP_LOGCONFIG(TAG, "SGP4x:");
272
259
  LOG_I2C_DEVICE(this);
273
- ESP_LOGCONFIG(TAG, " store_baseline: %d", this->store_baseline_);
260
+ ESP_LOGCONFIG(TAG, " Store baseline: %s", YESNO(this->store_baseline_));
274
261
 
275
262
  if (this->is_failed()) {
276
263
  switch (this->error_code_) {
277
264
  case COMMUNICATION_FAILED:
278
- ESP_LOGW(TAG, "Communication failed! Is the sensor connected?");
265
+ ESP_LOGW(TAG, ESP_LOG_MSG_COMM_FAIL);
279
266
  break;
280
267
  case SERIAL_NUMBER_IDENTIFICATION_FAILED:
281
- ESP_LOGW(TAG, "Get Serial number failed.");
268
+ ESP_LOGW(TAG, "Get serial number failed");
282
269
  break;
283
270
  case SELF_TEST_FAILED:
284
- ESP_LOGW(TAG, "Self test failed.");
271
+ ESP_LOGW(TAG, "Self-test failed");
285
272
  break;
286
-
287
273
  default:
288
- ESP_LOGW(TAG, "Unknown setup error!");
274
+ ESP_LOGW(TAG, "Unknown error");
289
275
  break;
290
276
  }
291
277
  } else {
292
- ESP_LOGCONFIG(TAG, " Type: %s", sgp_type_ == SGP41 ? "SGP41" : "SPG40");
293
- ESP_LOGCONFIG(TAG, " Serial number: %" PRIu64, this->serial_number_);
294
- ESP_LOGCONFIG(TAG, " Minimum Samples: %f", GasIndexAlgorithm_INITIAL_BLACKOUT);
278
+ ESP_LOGCONFIG(TAG,
279
+ " Type: %s\n"
280
+ " Serial number: %" PRIu64 "\n"
281
+ " Minimum Samples: %f",
282
+ sgp_type_ == SGP41 ? "SGP41" : "SPG40", this->serial_number_, GasIndexAlgorithm_INITIAL_BLACKOUT);
295
283
  }
296
284
  LOG_UPDATE_INTERVAL(this);
297
285
 
286
+ ESP_LOGCONFIG(TAG, " Compensation:");
298
287
  if (this->humidity_sensor_ != nullptr || this->temperature_sensor_ != nullptr) {
299
- ESP_LOGCONFIG(TAG, " Compensation:");
300
288
  LOG_SENSOR(" ", "Temperature Source:", this->temperature_sensor_);
301
289
  LOG_SENSOR(" ", "Humidity Source:", this->humidity_sensor_);
302
290
  } else {
303
- ESP_LOGCONFIG(TAG, " Compensation: No source configured");
291
+ ESP_LOGCONFIG(TAG, " No source configured");
304
292
  }
305
293
  LOG_SENSOR(" ", "VOC", this->voc_sensor_);
306
294
  LOG_SENSOR(" ", "NOx", this->nox_sensor_);
@@ -115,7 +115,6 @@ class SGP4xComponent : public PollingComponent, public sensor::Sensor, public se
115
115
 
116
116
  SgpType sgp_type_{SGP40};
117
117
  uint64_t serial_number_;
118
- uint16_t featureset_;
119
118
 
120
119
  bool self_test_complete_;
121
120
  uint16_t self_test_time_;
@@ -101,7 +101,7 @@ void ShellyDimmer::setup() {
101
101
  this->pin_nrst_->setup();
102
102
  this->pin_boot0_->setup();
103
103
 
104
- ESP_LOGI(TAG, "Initializing Shelly Dimmer...");
104
+ ESP_LOGI(TAG, "Initializing");
105
105
 
106
106
  this->handle_firmware();
107
107
 
@@ -119,17 +119,21 @@ void ShellyDimmer::dump_config() {
119
119
  LOG_PIN(" NRST Pin: ", this->pin_nrst_);
120
120
  LOG_PIN(" BOOT0 Pin: ", this->pin_boot0_);
121
121
 
122
- ESP_LOGCONFIG(TAG, " Leading Edge: %s", YESNO(this->leading_edge_));
123
- ESP_LOGCONFIG(TAG, " Warmup Brightness: %d", this->warmup_brightness_);
122
+ ESP_LOGCONFIG(TAG,
123
+ " Leading Edge: %s\n"
124
+ " Warmup Brightness: %d\n"
125
+ " Minimum Brightness: %d\n"
126
+ " Maximum Brightness: %d",
127
+ YESNO(this->leading_edge_), this->warmup_brightness_, this->min_brightness_, this->max_brightness_);
124
128
  // ESP_LOGCONFIG(TAG, " Warmup Time: %d", this->warmup_time_);
125
129
  // ESP_LOGCONFIG(TAG, " Fade Rate: %d", this->fade_rate_);
126
- ESP_LOGCONFIG(TAG, " Minimum Brightness: %d", this->min_brightness_);
127
- ESP_LOGCONFIG(TAG, " Maximum Brightness: %d", this->max_brightness_);
128
130
 
129
131
  LOG_UPDATE_INTERVAL(this);
130
132
 
131
- ESP_LOGCONFIG(TAG, " STM32 current firmware version: %d.%d ", this->version_major_, this->version_minor_);
132
- ESP_LOGCONFIG(TAG, " STM32 required firmware version: %d.%d", USE_SHD_FIRMWARE_MAJOR_VERSION,
133
+ ESP_LOGCONFIG(TAG,
134
+ " STM32 current firmware version: %d.%d \n"
135
+ " STM32 required firmware version: %d.%d",
136
+ this->version_major_, this->version_minor_, USE_SHD_FIRMWARE_MAJOR_VERSION,
133
137
  USE_SHD_FIRMWARE_MINOR_VERSION);
134
138
 
135
139
  if (this->version_major_ != USE_SHD_FIRMWARE_MAJOR_VERSION ||
@@ -25,7 +25,7 @@ static const uint16_t SHT3XD_COMMAND_POLLING_H = 0x2400;
25
25
  static const uint16_t SHT3XD_COMMAND_FETCH_DATA = 0xE000;
26
26
 
27
27
  void SHT3XDComponent::setup() {
28
- ESP_LOGCONFIG(TAG, "Setting up SHT3xD...");
28
+ ESP_LOGCONFIG(TAG, "Running setup");
29
29
  uint16_t raw_serial_number[2];
30
30
  if (!this->get_register(SHT3XD_COMMAND_READ_SERIAL_NUMBER_CLOCK_STRETCHING, raw_serial_number, 2)) {
31
31
  this->error_code_ = READ_SERIAL_STRETCHED_FAILED;
@@ -18,7 +18,7 @@ void SHT4XComponent::start_heater_() {
18
18
  }
19
19
 
20
20
  void SHT4XComponent::setup() {
21
- ESP_LOGCONFIG(TAG, "Setting up sht4x...");
21
+ ESP_LOGCONFIG(TAG, "Running setup");
22
22
 
23
23
  auto err = this->write(nullptr, 0);
24
24
  if (err != i2c::ERROR_OK) {
@@ -59,7 +59,7 @@ void SHT4XComponent::dump_config() {
59
59
  ESP_LOGCONFIG(TAG, "SHT4x:");
60
60
  LOG_I2C_DEVICE(this);
61
61
  if (this->is_failed()) {
62
- ESP_LOGE(TAG, "Communication with SHT4x failed!");
62
+ ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
63
63
  }
64
64
  }
65
65
 
@@ -20,24 +20,18 @@ inline const char *to_string(SHTCXType type) {
20
20
  case SHTCX_TYPE_SHTC1:
21
21
  return "SHTC1";
22
22
  default:
23
- return "[Unknown model]";
23
+ return "UNKNOWN";
24
24
  }
25
25
  }
26
26
 
27
27
  void SHTCXComponent::setup() {
28
- ESP_LOGCONFIG(TAG, "Setting up SHTCx...");
28
+ ESP_LOGCONFIG(TAG, "Running setup");
29
29
  this->wake_up();
30
30
  this->soft_reset();
31
31
 
32
- if (!this->write_command(SHTCX_COMMAND_READ_ID_REGISTER)) {
33
- ESP_LOGE(TAG, "Error requesting Device ID");
34
- this->mark_failed();
35
- return;
36
- }
37
-
38
32
  uint16_t device_id_register;
39
- if (!this->read_data(&device_id_register, 1)) {
40
- ESP_LOGE(TAG, "Error reading Device ID");
33
+ if (!this->write_command(SHTCX_COMMAND_READ_ID_REGISTER) || !this->read_data(&device_id_register, 1)) {
34
+ ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
41
35
  this->mark_failed();
42
36
  return;
43
37
  }
@@ -53,31 +47,33 @@ void SHTCXComponent::setup() {
53
47
  } else {
54
48
  this->type_ = SHTCX_TYPE_UNKNOWN;
55
49
  }
56
- ESP_LOGCONFIG(TAG, " Device identified: %s (%04x)", to_string(this->type_), device_id_register);
57
50
  }
51
+
58
52
  void SHTCXComponent::dump_config() {
59
53
  ESP_LOGCONFIG(TAG, "SHTCx:");
60
54
  ESP_LOGCONFIG(TAG, " Model: %s (%04x)", to_string(this->type_), this->sensor_id_);
61
55
  LOG_I2C_DEVICE(this);
62
56
  if (this->is_failed()) {
63
- ESP_LOGE(TAG, "Communication with SHTCx failed!");
57
+ ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
64
58
  }
65
59
  LOG_UPDATE_INTERVAL(this);
66
60
 
67
61
  LOG_SENSOR(" ", "Temperature", this->temperature_sensor_);
68
62
  LOG_SENSOR(" ", "Humidity", this->humidity_sensor_);
69
63
  }
64
+
70
65
  float SHTCXComponent::get_setup_priority() const { return setup_priority::DATA; }
66
+
71
67
  void SHTCXComponent::update() {
72
68
  if (this->status_has_warning()) {
73
- ESP_LOGW(TAG, "Retrying to reconnect the sensor.");
69
+ ESP_LOGW(TAG, "Retrying communication");
74
70
  this->soft_reset();
75
71
  }
76
72
  if (this->type_ != SHTCX_TYPE_SHTC1) {
77
73
  this->wake_up();
78
74
  }
79
75
  if (!this->write_command(SHTCX_COMMAND_POLLING_H)) {
80
- ESP_LOGE(TAG, "sensor polling failed");
76
+ ESP_LOGE(TAG, "Polling failed");
81
77
  if (this->temperature_sensor_ != nullptr)
82
78
  this->temperature_sensor_->publish_state(NAN);
83
79
  if (this->humidity_sensor_ != nullptr)
@@ -91,13 +87,13 @@ void SHTCXComponent::update() {
91
87
  float humidity = NAN;
92
88
  uint16_t raw_data[2];
93
89
  if (!this->read_data(raw_data, 2)) {
94
- ESP_LOGE(TAG, "sensor read failed");
90
+ ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
95
91
  this->status_set_warning();
96
92
  } else {
97
93
  temperature = 175.0f * float(raw_data[0]) / 65536.0f - 45.0f;
98
94
  humidity = 100.0f * float(raw_data[1]) / 65536.0f;
99
95
 
100
- ESP_LOGD(TAG, "Got temperature=%.2f°C humidity=%.2f%%", temperature, humidity);
96
+ ESP_LOGD(TAG, "Temperature=%.2f°C Humidity=%.2f%%", temperature, humidity);
101
97
  }
102
98
  if (this->temperature_sensor_ != nullptr)
103
99
  this->temperature_sensor_->publish_state(temperature);
@@ -114,6 +110,7 @@ void SHTCXComponent::soft_reset() {
114
110
  this->write_command(SHTCX_COMMAND_SOFT_RESET);
115
111
  delayMicroseconds(200);
116
112
  }
113
+
117
114
  void SHTCXComponent::sleep() { this->write_command(SHTCX_COMMAND_SLEEP); }
118
115
 
119
116
  void SHTCXComponent::wake_up() {
@@ -17,7 +17,7 @@ static const char *const TAG = "shutdown.button";
17
17
 
18
18
  void ShutdownButton::dump_config() { LOG_BUTTON("", "Shutdown Button", this); }
19
19
  void ShutdownButton::press_action() {
20
- ESP_LOGI(TAG, "Shutting down...");
20
+ ESP_LOGI(TAG, "Shutting down");
21
21
  // Let MQTT settle a bit
22
22
  delay(100); // NOLINT
23
23
  App.run_safe_shutdown_hooks();
@@ -21,7 +21,7 @@ void ShutdownSwitch::write_state(bool state) {
21
21
  this->publish_state(false);
22
22
 
23
23
  if (state) {
24
- ESP_LOGI(TAG, "Shutting down...");
24
+ ESP_LOGI(TAG, "Shutting down");
25
25
  delay(100); // NOLINT
26
26
 
27
27
  App.run_safe_shutdown_hooks();
@@ -28,7 +28,7 @@ void Sim800LComponent::update() {
28
28
  this->state_ = STATE_DIALING1;
29
29
  } else if (this->registered_ && this->connect_pending_) {
30
30
  this->connect_pending_ = false;
31
- ESP_LOGI(TAG, "Connecting...");
31
+ ESP_LOGI(TAG, "Connecting");
32
32
  this->send_cmd_("ATA");
33
33
  this->state_ = STATE_ATA_SENT;
34
34
  } else if (this->registered_ && this->send_ussd_pending_) {
@@ -36,7 +36,7 @@ void Sim800LComponent::update() {
36
36
  this->state_ = STATE_SEND_USSD1;
37
37
  } else if (this->registered_ && this->disconnect_pending_) {
38
38
  this->disconnect_pending_ = false;
39
- ESP_LOGI(TAG, "Disconnecting...");
39
+ ESP_LOGI(TAG, "Disconnecting");
40
40
  this->send_cmd_("ATH");
41
41
  } else if (this->registered_ && this->call_state_ != 6) {
42
42
  send_cmd_("AT+CLCC");
@@ -63,8 +63,10 @@ void SlowPWMOutput::dump_config() {
63
63
  if (this->turn_off_trigger_) {
64
64
  ESP_LOGCONFIG(TAG, " Turn off automation configured");
65
65
  }
66
- ESP_LOGCONFIG(TAG, " Period: %d ms", this->period_);
67
- ESP_LOGCONFIG(TAG, " Restart cycle on state change: %s", YESNO(this->restart_cycle_on_state_change_));
66
+ ESP_LOGCONFIG(TAG,
67
+ " Period: %d ms\n"
68
+ " Restart cycle on state change: %s",
69
+ this->period_, YESNO(this->restart_cycle_on_state_change_));
68
70
  LOG_FLOAT_OUTPUT(this);
69
71
  }
70
72
 
@@ -7,7 +7,7 @@ namespace sm16716 {
7
7
  static const char *const TAG = "sm16716";
8
8
 
9
9
  void SM16716::setup() {
10
- ESP_LOGCONFIG(TAG, "Setting up SM16716OutputComponent...");
10
+ ESP_LOGCONFIG(TAG, "Running setup");
11
11
  this->data_pin_->setup();
12
12
  this->data_pin_->digital_write(false);
13
13
  this->clock_pin_->setup();
@@ -20,7 +20,7 @@ static const uint8_t SM2135_RGB = 0x00; // RGB channel
20
20
  static const uint8_t SM2135_CW = 0x80; // CW channel (Chip default)
21
21
 
22
22
  void SM2135::setup() {
23
- ESP_LOGCONFIG(TAG, "Setting up SM2135OutputComponent...");
23
+ ESP_LOGCONFIG(TAG, "Running setup");
24
24
  this->data_pin_->setup();
25
25
  this->data_pin_->digital_write(false);
26
26
  this->data_pin_->pin_mode(gpio::FLAG_OUTPUT);
@@ -7,7 +7,7 @@ namespace sm2235 {
7
7
  static const char *const TAG = "sm2235";
8
8
 
9
9
  void SM2235::setup() {
10
- ESP_LOGCONFIG(TAG, "Setting up sm2235 Output Component...");
10
+ ESP_LOGCONFIG(TAG, "Running setup");
11
11
  this->data_pin_->setup();
12
12
  this->data_pin_->digital_write(true);
13
13
  this->clock_pin_->setup();
@@ -19,8 +19,10 @@ void SM2235::dump_config() {
19
19
  ESP_LOGCONFIG(TAG, "sm2235:");
20
20
  LOG_PIN(" Data Pin: ", this->data_pin_);
21
21
  LOG_PIN(" Clock Pin: ", this->clock_pin_);
22
- ESP_LOGCONFIG(TAG, " Color Channels Max Power: %u", this->max_power_color_channels_);
23
- ESP_LOGCONFIG(TAG, " White Channels Max Power: %u", this->max_power_white_channels_);
22
+ ESP_LOGCONFIG(TAG,
23
+ " Color Channels Max Power: %u\n"
24
+ " White Channels Max Power: %u",
25
+ this->max_power_color_channels_, this->max_power_white_channels_);
24
26
  }
25
27
 
26
28
  } // namespace sm2235
@@ -7,7 +7,7 @@ namespace sm2335 {
7
7
  static const char *const TAG = "sm2335";
8
8
 
9
9
  void SM2335::setup() {
10
- ESP_LOGCONFIG(TAG, "Setting up sm2335 Output Component...");
10
+ ESP_LOGCONFIG(TAG, "Running setup");
11
11
  this->data_pin_->setup();
12
12
  this->data_pin_->digital_write(true);
13
13
  this->clock_pin_->setup();
@@ -19,8 +19,10 @@ void SM2335::dump_config() {
19
19
  ESP_LOGCONFIG(TAG, "sm2335:");
20
20
  LOG_PIN(" Data Pin: ", this->data_pin_);
21
21
  LOG_PIN(" Clock Pin: ", this->clock_pin_);
22
- ESP_LOGCONFIG(TAG, " Color Channels Max Power: %u", this->max_power_color_channels_);
23
- ESP_LOGCONFIG(TAG, " White Channels Max Power: %u", this->max_power_white_channels_);
22
+ ESP_LOGCONFIG(TAG,
23
+ " Color Channels Max Power: %u\n"
24
+ " White Channels Max Power: %u",
25
+ this->max_power_color_channels_, this->max_power_white_channels_);
24
26
  }
25
27
 
26
28
  } // namespace sm2335
@@ -1,6 +1,6 @@
1
1
  #include "sml.h"
2
- #include "esphome/core/log.h"
3
2
  #include "esphome/core/helpers.h"
3
+ #include "esphome/core/log.h"
4
4
  #include "sml_parser.h"
5
5
 
6
6
  namespace esphome {
@@ -7,8 +7,7 @@ namespace sn74hc165 {
7
7
  static const char *const TAG = "sn74hc165";
8
8
 
9
9
  void SN74HC165Component::setup() {
10
- ESP_LOGCONFIG(TAG, "Setting up SN74HC165...");
11
-
10
+ ESP_LOGCONFIG(TAG, "Running setup");
12
11
  // initialize pins
13
12
  this->clock_pin_->setup();
14
13
  this->data_pin_->setup();
@@ -7,8 +7,7 @@ namespace sn74hc595 {
7
7
  static const char *const TAG = "sn74hc595";
8
8
 
9
9
  void SN74HC595Component::pre_setup_() {
10
- ESP_LOGCONFIG(TAG, "Setting up SN74HC595...");
11
-
10
+ ESP_LOGCONFIG(TAG, "Running setup");
12
11
  if (this->have_oe_pin_) { // disable output
13
12
  this->oe_pin_->setup();
14
13
  this->oe_pin_->digital_write(true);
@@ -15,7 +15,7 @@ namespace sntp {
15
15
  static const char *const TAG = "sntp";
16
16
 
17
17
  void SNTPComponent::setup() {
18
- ESP_LOGCONFIG(TAG, "Setting up SNTP...");
18
+ ESP_LOGCONFIG(TAG, "Running setup");
19
19
  #if defined(USE_ESP_IDF)
20
20
  if (esp_sntp_enabled()) {
21
21
  esp_sntp_stop();
@@ -35,5 +35,7 @@ async def to_code(config):
35
35
  cg.add_define("USE_SOCKET_IMPL_LWIP_TCP")
36
36
  elif impl == IMPLEMENTATION_LWIP_SOCKETS:
37
37
  cg.add_define("USE_SOCKET_IMPL_LWIP_SOCKETS")
38
+ cg.add_define("USE_SOCKET_SELECT_SUPPORT")
38
39
  elif impl == IMPLEMENTATION_BSD_SOCKETS:
39
40
  cg.add_define("USE_SOCKET_IMPL_BSD_SOCKETS")
41
+ cg.add_define("USE_SOCKET_SELECT_SUPPORT")