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
@@ -41,7 +41,7 @@ void MAX17043Component::update() {
41
41
  }
42
42
 
43
43
  void MAX17043Component::setup() {
44
- ESP_LOGCONFIG(TAG, "Setting up MAX17043...");
44
+ ESP_LOGCONFIG(TAG, "Running setup");
45
45
 
46
46
  uint16_t config_reg;
47
47
  if (this->write(&MAX17043_CONFIG, 1) != i2c::ERROR_OK) {
@@ -76,7 +76,7 @@ void MAX17043Component::dump_config() {
76
76
  ESP_LOGCONFIG(TAG, "MAX17043:");
77
77
  LOG_I2C_DEVICE(this);
78
78
  if (this->is_failed()) {
79
- ESP_LOGE(TAG, "Communication with MAX17043 failed");
79
+ ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
80
80
  }
81
81
  LOG_UPDATE_INTERVAL(this);
82
82
  LOG_SENSOR(" ", "Battery Voltage", this->voltage_sensor_);
@@ -1,5 +1,6 @@
1
1
  #include "max31855.h"
2
2
 
3
+ #include "esphome/core/helpers.h"
3
4
  #include "esphome/core/log.h"
4
5
 
5
6
  namespace esphome {
@@ -19,7 +20,7 @@ void MAX31855Sensor::update() {
19
20
  }
20
21
 
21
22
  void MAX31855Sensor::setup() {
22
- ESP_LOGCONFIG(TAG, "Setting up MAX31855Sensor '%s'...", this->name_.c_str());
23
+ ESP_LOGCONFIG(TAG, "Running setup for '%s'", this->name_.c_str());
23
24
  this->spi_setup();
24
25
  }
25
26
  void MAX31855Sensor::dump_config() {
@@ -11,7 +11,7 @@ static const char *const TAG = "max31856";
11
11
  // Based on Adafruit's library: https://github.com/adafruit/Adafruit_MAX31856
12
12
 
13
13
  void MAX31856Sensor::setup() {
14
- ESP_LOGCONFIG(TAG, "Setting up MAX31856Sensor '%s'...", this->name_.c_str());
14
+ ESP_LOGCONFIG(TAG, "Running setup for '%s'", this->name_.c_str());
15
15
  this->spi_setup();
16
16
 
17
17
  // assert on any fault
@@ -23,8 +23,6 @@ void MAX31856Sensor::setup() {
23
23
 
24
24
  this->set_thermocouple_type_();
25
25
  this->set_noise_filter_();
26
-
27
- ESP_LOGCONFIG(TAG, "Completed setting up MAX31856Sensor '%s'...", this->name_.c_str());
28
26
  }
29
27
 
30
28
  void MAX31856Sensor::dump_config() {
@@ -97,28 +95,28 @@ bool MAX31856Sensor::has_fault_() {
97
95
  this->status_set_warning();
98
96
 
99
97
  if ((faults & MAX31856_FAULT_CJRANGE) == MAX31856_FAULT_CJRANGE) {
100
- ESP_LOGW(TAG, "Cold Junction Out-of-Range: '%s'...", this->name_.c_str());
98
+ ESP_LOGW(TAG, "Cold Junction Out-of-Range: '%s'", this->name_.c_str());
101
99
  }
102
100
  if ((faults & MAX31856_FAULT_TCRANGE) == MAX31856_FAULT_TCRANGE) {
103
- ESP_LOGW(TAG, "Thermocouple Out-of-Range: '%s'...", this->name_.c_str());
101
+ ESP_LOGW(TAG, "Thermocouple Out-of-Range: '%s'", this->name_.c_str());
104
102
  }
105
103
  if ((faults & MAX31856_FAULT_CJHIGH) == MAX31856_FAULT_CJHIGH) {
106
- ESP_LOGW(TAG, "Cold-Junction High Fault: '%s'...", this->name_.c_str());
104
+ ESP_LOGW(TAG, "Cold-Junction High Fault: '%s'", this->name_.c_str());
107
105
  }
108
106
  if ((faults & MAX31856_FAULT_CJLOW) == MAX31856_FAULT_CJLOW) {
109
- ESP_LOGW(TAG, "Cold-Junction Low Fault: '%s'...", this->name_.c_str());
107
+ ESP_LOGW(TAG, "Cold-Junction Low Fault: '%s'", this->name_.c_str());
110
108
  }
111
109
  if ((faults & MAX31856_FAULT_TCHIGH) == MAX31856_FAULT_TCHIGH) {
112
- ESP_LOGW(TAG, "Thermocouple Temperature High Fault: '%s'...", this->name_.c_str());
110
+ ESP_LOGW(TAG, "Thermocouple Temperature High Fault: '%s'", this->name_.c_str());
113
111
  }
114
112
  if ((faults & MAX31856_FAULT_TCLOW) == MAX31856_FAULT_TCLOW) {
115
- ESP_LOGW(TAG, "Thermocouple Temperature Low Fault: '%s'...", this->name_.c_str());
113
+ ESP_LOGW(TAG, "Thermocouple Temperature Low Fault: '%s'", this->name_.c_str());
116
114
  }
117
115
  if ((faults & MAX31856_FAULT_OVUV) == MAX31856_FAULT_OVUV) {
118
- ESP_LOGW(TAG, "Overvoltage or Undervoltage Input Fault: '%s'...", this->name_.c_str());
116
+ ESP_LOGW(TAG, "Overvoltage or Undervoltage Input Fault: '%s'", this->name_.c_str());
119
117
  }
120
118
  if ((faults & MAX31856_FAULT_OPEN) == MAX31856_FAULT_OPEN) {
121
- ESP_LOGW(TAG, "Thermocouple Open-Circuit Fault (possibly not connected): '%s'...", this->name_.c_str());
119
+ ESP_LOGW(TAG, "Thermocouple Open-Circuit Fault (possibly not connected): '%s'", this->name_.c_str());
122
120
  }
123
121
 
124
122
  return true;
@@ -65,7 +65,7 @@ void MAX31865Sensor::update() {
65
65
  }
66
66
 
67
67
  void MAX31865Sensor::setup() {
68
- ESP_LOGCONFIG(TAG, "Setting up MAX31865Sensor '%s'...", this->name_.c_str());
68
+ ESP_LOGCONFIG(TAG, "Running setup for '%s'", this->name_.c_str());
69
69
  this->spi_setup();
70
70
 
71
71
  // Build base configuration
@@ -83,9 +83,11 @@ void MAX31865Sensor::dump_config() {
83
83
  LOG_SENSOR("", "MAX31865", this);
84
84
  LOG_PIN(" CS Pin: ", this->cs_);
85
85
  LOG_UPDATE_INTERVAL(this);
86
- ESP_LOGCONFIG(TAG, " Reference Resistance: %.2fΩ", reference_resistance_);
87
- ESP_LOGCONFIG(TAG, " RTD: %u-wire %.2fΩ", rtd_wires_, rtd_nominal_resistance_);
88
- ESP_LOGCONFIG(TAG, " Mains Filter: %s",
86
+ ESP_LOGCONFIG(TAG,
87
+ " Reference Resistance: %.2fΩ\n"
88
+ " RTD: %u-wire %.2fΩ\n"
89
+ " Mains Filter: %s",
90
+ reference_resistance_, rtd_wires_, rtd_nominal_resistance_,
89
91
  (filter_ == FILTER_60HZ ? "60 Hz" : (filter_ == FILTER_50HZ ? "50 Hz" : "Unknown!")));
90
92
  }
91
93
 
@@ -21,7 +21,7 @@ static const uint8_t MAX44009_ERROR_HIGH_BYTE = -30;
21
21
  static const uint8_t MAX44009_ERROR_LOW_BYTE = -31;
22
22
 
23
23
  void MAX44009Sensor::setup() {
24
- ESP_LOGCONFIG(TAG, "Setting up MAX44009...");
24
+ ESP_LOGCONFIG(TAG, "Running setup");
25
25
  bool state_ok = false;
26
26
  if (this->mode_ == MAX44009Mode::MAX44009_MODE_LOW_POWER) {
27
27
  state_ok = this->set_low_power_mode();
@@ -48,7 +48,7 @@ void MAX44009Sensor::dump_config() {
48
48
  ESP_LOGCONFIG(TAG, "MAX44009:");
49
49
  LOG_I2C_DEVICE(this);
50
50
  if (this->is_failed()) {
51
- ESP_LOGE(TAG, "Communication with MAX44009 failed!");
51
+ ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
52
52
  }
53
53
  }
54
54
 
@@ -18,7 +18,7 @@ void MAX6675Sensor::update() {
18
18
  }
19
19
 
20
20
  void MAX6675Sensor::setup() {
21
- ESP_LOGCONFIG(TAG, "Setting up MAX6675Sensor '%s'...", this->name_.c_str());
21
+ ESP_LOGCONFIG(TAG, "Running setup for '%s'", this->name_.c_str());
22
22
  this->spi_setup();
23
23
  }
24
24
  void MAX6675Sensor::dump_config() {
@@ -20,7 +20,7 @@ const uint8_t MASK_CURRENT_PIN = 0x0F;
20
20
  * MAX6956 *
21
21
  **************************************/
22
22
  void MAX6956::setup() {
23
- ESP_LOGCONFIG(TAG, "Setting up MAX6956...");
23
+ ESP_LOGCONFIG(TAG, "Running setup");
24
24
  uint8_t configuration;
25
25
  if (!this->read_reg_(MAX6956_CONFIGURATION, &configuration)) {
26
26
  this->mark_failed();
@@ -146,8 +146,10 @@ void MAX6956::dump_config() {
146
146
  ESP_LOGCONFIG(TAG, "MAX6956");
147
147
 
148
148
  if (brightness_mode_ == MAX6956CURRENTMODE::GLOBAL) {
149
- ESP_LOGCONFIG(TAG, "current mode: global");
150
- ESP_LOGCONFIG(TAG, "global brightness: %u", global_brightness_);
149
+ ESP_LOGCONFIG(TAG,
150
+ "current mode: global\n"
151
+ "global brightness: %u",
152
+ global_brightness_);
151
153
  } else {
152
154
  ESP_LOGCONFIG(TAG, "current mode: segment");
153
155
  }
@@ -1,7 +1,7 @@
1
1
  #include "max7219.h"
2
- #include "esphome/core/log.h"
3
- #include "esphome/core/helpers.h"
4
2
  #include "esphome/core/hal.h"
3
+ #include "esphome/core/helpers.h"
4
+ #include "esphome/core/log.h"
5
5
 
6
6
  namespace esphome {
7
7
  namespace max7219 {
@@ -116,7 +116,7 @@ const uint8_t MAX7219_ASCII_TO_RAW[95] PROGMEM = {
116
116
 
117
117
  float MAX7219Component::get_setup_priority() const { return setup_priority::PROCESSOR; }
118
118
  void MAX7219Component::setup() {
119
- ESP_LOGCONFIG(TAG, "Setting up MAX7219...");
119
+ ESP_LOGCONFIG(TAG, "Running setup");
120
120
  this->spi_setup();
121
121
  this->buffer_ = new uint8_t[this->num_chips_ * 8]; // NOLINT
122
122
  for (uint8_t i = 0; i < this->num_chips_ * 8; i++)
@@ -133,9 +133,11 @@ void MAX7219Component::setup() {
133
133
  this->send_to_all_(MAX7219_REGISTER_SHUTDOWN, 1);
134
134
  }
135
135
  void MAX7219Component::dump_config() {
136
- ESP_LOGCONFIG(TAG, "MAX7219:");
137
- ESP_LOGCONFIG(TAG, " Number of Chips: %u", this->num_chips_);
138
- ESP_LOGCONFIG(TAG, " Intensity: %u", this->intensity_);
136
+ ESP_LOGCONFIG(TAG,
137
+ "MAX7219:\n"
138
+ " Number of Chips: %u\n"
139
+ " Intensity: %u",
140
+ this->num_chips_, this->intensity_);
139
141
  LOG_PIN(" CS Pin: ", this->cs_);
140
142
  LOG_UPDATE_INTERVAL(this);
141
143
  }
@@ -0,0 +1,52 @@
1
+ #pragma once
2
+
3
+ #include "esphome/core/automation.h"
4
+ #include "esphome/core/helpers.h"
5
+
6
+ #include "max7219digit.h"
7
+
8
+ namespace esphome {
9
+ namespace max7219digit {
10
+
11
+ template<typename... Ts> class DisplayInvertAction : public Action<Ts...>, public Parented<MAX7219Component> {
12
+ public:
13
+ TEMPLATABLE_VALUE(bool, state)
14
+
15
+ void play(Ts... x) override {
16
+ bool state = this->state_.value(x...);
17
+ this->parent_->invert_on_off(state);
18
+ }
19
+ };
20
+
21
+ template<typename... Ts> class DisplayVisibilityAction : public Action<Ts...>, public Parented<MAX7219Component> {
22
+ public:
23
+ TEMPLATABLE_VALUE(bool, state)
24
+
25
+ void play(Ts... x) override {
26
+ bool state = this->state_.value(x...);
27
+ this->parent_->turn_on_off(state);
28
+ }
29
+ };
30
+
31
+ template<typename... Ts> class DisplayReverseAction : public Action<Ts...>, public Parented<MAX7219Component> {
32
+ public:
33
+ TEMPLATABLE_VALUE(bool, state)
34
+
35
+ void play(Ts... x) override {
36
+ bool state = this->state_.value(x...);
37
+ this->parent_->set_reverse(state);
38
+ }
39
+ };
40
+
41
+ template<typename... Ts> class DisplayIntensityAction : public Action<Ts...>, public Parented<MAX7219Component> {
42
+ public:
43
+ TEMPLATABLE_VALUE(uint8_t, state)
44
+
45
+ void play(Ts... x) override {
46
+ uint8_t state = this->state_.value(x...);
47
+ this->parent_->set_intensity(state);
48
+ }
49
+ };
50
+
51
+ } // namespace max7219digit
52
+ } // namespace esphome
@@ -1,7 +1,14 @@
1
+ from esphome import automation
1
2
  import esphome.codegen as cg
2
3
  from esphome.components import display, spi
3
4
  import esphome.config_validation as cv
4
- from esphome.const import CONF_ID, CONF_INTENSITY, CONF_LAMBDA, CONF_NUM_CHIPS
5
+ from esphome.const import (
6
+ CONF_ID,
7
+ CONF_INTENSITY,
8
+ CONF_LAMBDA,
9
+ CONF_NUM_CHIPS,
10
+ CONF_STATE,
11
+ )
5
12
 
6
13
  CODEOWNERS = ["@rspaargaren"]
7
14
  DEPENDENCIES = ["spi"]
@@ -17,6 +24,7 @@ CONF_REVERSE_ENABLE = "reverse_enable"
17
24
  CONF_NUM_CHIP_LINES = "num_chip_lines"
18
25
  CONF_CHIP_LINES_STYLE = "chip_lines_style"
19
26
 
27
+
20
28
  integration_ns = cg.esphome_ns.namespace("max7219digit")
21
29
  ChipLinesStyle = integration_ns.enum("ChipLinesStyle")
22
30
  CHIP_LINES_STYLE = {
@@ -99,3 +107,87 @@ async def to_code(config):
99
107
  config[CONF_LAMBDA], [(MAX7219ComponentRef, "it")], return_type=cg.void
100
108
  )
101
109
  cg.add(var.set_writer(lambda_))
110
+
111
+
112
+ DisplayInvertAction = max7219_ns.class_("DisplayInvertAction", automation.Action)
113
+ DisplayVisibilityAction = max7219_ns.class_(
114
+ "DisplayVisibilityAction", automation.Action
115
+ )
116
+ DisplayReverseAction = max7219_ns.class_("DisplayReverseAction", automation.Action)
117
+ DisplayIntensityAction = max7219_ns.class_("DisplayIntensityAction", automation.Action)
118
+
119
+
120
+ MAX7219_OFF_ACTION_SCHEMA = automation.maybe_simple_id(
121
+ {
122
+ cv.GenerateID(): cv.use_id(MAX7219Component),
123
+ cv.Optional(CONF_STATE, default=False): False,
124
+ }
125
+ )
126
+
127
+ MAX7219_ON_ACTION_SCHEMA = automation.maybe_simple_id(
128
+ {
129
+ cv.GenerateID(): cv.use_id(MAX7219Component),
130
+ cv.Optional(CONF_STATE, default=True): True,
131
+ }
132
+ )
133
+
134
+
135
+ @automation.register_action(
136
+ "max7129digit.invert_off", DisplayInvertAction, MAX7219_OFF_ACTION_SCHEMA
137
+ )
138
+ @automation.register_action(
139
+ "max7129digit.invert_on", DisplayInvertAction, MAX7219_ON_ACTION_SCHEMA
140
+ )
141
+ async def max7129digit_invert_to_code(config, action_id, template_arg, args):
142
+ var = cg.new_Pvariable(action_id, template_arg)
143
+ await cg.register_parented(var, config[CONF_ID])
144
+ cg.add(var.set_state(config[CONF_STATE]))
145
+ return var
146
+
147
+
148
+ @automation.register_action(
149
+ "max7129digit.turn_off", DisplayVisibilityAction, MAX7219_OFF_ACTION_SCHEMA
150
+ )
151
+ @automation.register_action(
152
+ "max7129digit.turn_on", DisplayVisibilityAction, MAX7219_ON_ACTION_SCHEMA
153
+ )
154
+ async def max7129digit_visible_to_code(config, action_id, template_arg, args):
155
+ var = cg.new_Pvariable(action_id, template_arg)
156
+ await cg.register_parented(var, config[CONF_ID])
157
+ cg.add(var.set_state(config[CONF_STATE]))
158
+ return var
159
+
160
+
161
+ @automation.register_action(
162
+ "max7129digit.reverse_off", DisplayReverseAction, MAX7219_OFF_ACTION_SCHEMA
163
+ )
164
+ @automation.register_action(
165
+ "max7129digit.reverse_on", DisplayReverseAction, MAX7219_ON_ACTION_SCHEMA
166
+ )
167
+ async def max7129digit_reverse_to_code(config, action_id, template_arg, args):
168
+ var = cg.new_Pvariable(action_id, template_arg)
169
+ await cg.register_parented(var, config[CONF_ID])
170
+ cg.add(var.set_state(config[CONF_STATE]))
171
+ return var
172
+
173
+
174
+ MAX7219_INTENSITY_SCHEMA = cv.maybe_simple_value(
175
+ {
176
+ cv.GenerateID(): cv.use_id(MAX7219Component),
177
+ cv.Optional(CONF_INTENSITY, default=15): cv.templatable(
178
+ cv.int_range(min=0, max=15)
179
+ ),
180
+ },
181
+ key=CONF_INTENSITY,
182
+ )
183
+
184
+
185
+ @automation.register_action(
186
+ "max7129digit.intensity", DisplayIntensityAction, MAX7219_INTENSITY_SCHEMA
187
+ )
188
+ async def max7129digit_intensity_to_code(config, action_id, template_arg, args):
189
+ var = cg.new_Pvariable(action_id, template_arg)
190
+ await cg.register_parented(var, config[CONF_ID])
191
+ template_ = await cg.templatable(config[CONF_INTENSITY], args, cg.uint8)
192
+ cg.add(var.set_state(template_))
193
+ return var
@@ -1,8 +1,8 @@
1
1
  #include "max7219digit.h"
2
- #include "esphome/core/log.h"
3
- #include "esphome/core/helpers.h"
4
- #include "esphome/core/hal.h"
5
2
  #include "esphome/core/application.h"
3
+ #include "esphome/core/hal.h"
4
+ #include "esphome/core/helpers.h"
5
+ #include "esphome/core/log.h"
6
6
  #include "max7219font.h"
7
7
 
8
8
  #include <algorithm>
@@ -26,7 +26,7 @@ constexpr uint8_t MAX7219_DISPLAY_TEST = 0x01;
26
26
  float MAX7219Component::get_setup_priority() const { return setup_priority::PROCESSOR; }
27
27
 
28
28
  void MAX7219Component::setup() {
29
- ESP_LOGCONFIG(TAG, "Setting up MAX7219_DIGITS...");
29
+ ESP_LOGCONFIG(TAG, "Running setup");
30
30
  this->spi_setup();
31
31
  this->stepsleft_ = 0;
32
32
  for (int chip_line = 0; chip_line < this->num_chip_lines_; chip_line++) {
@@ -50,15 +50,18 @@ void MAX7219Component::setup() {
50
50
  }
51
51
 
52
52
  void MAX7219Component::dump_config() {
53
- ESP_LOGCONFIG(TAG, "MAX7219DIGIT:");
54
- ESP_LOGCONFIG(TAG, " Number of Chips: %u", this->num_chips_);
55
- ESP_LOGCONFIG(TAG, " Number of Chips Lines: %u", this->num_chip_lines_);
56
- ESP_LOGCONFIG(TAG, " Chips Lines Style : %u", this->chip_lines_style_);
57
- ESP_LOGCONFIG(TAG, " Intensity: %u", this->intensity_);
58
- ESP_LOGCONFIG(TAG, " Scroll Mode: %u", this->scroll_mode_);
59
- ESP_LOGCONFIG(TAG, " Scroll Speed: %u", this->scroll_speed_);
60
- ESP_LOGCONFIG(TAG, " Scroll Dwell: %u", this->scroll_dwell_);
61
- ESP_LOGCONFIG(TAG, " Scroll Delay: %u", this->scroll_delay_);
53
+ ESP_LOGCONFIG(TAG,
54
+ "MAX7219DIGIT:\n"
55
+ " Number of Chips: %u\n"
56
+ " Number of Chips Lines: %u\n"
57
+ " Chips Lines Style : %u\n"
58
+ " Intensity: %u\n"
59
+ " Scroll Mode: %u\n"
60
+ " Scroll Speed: %u\n"
61
+ " Scroll Dwell: %u\n"
62
+ " Scroll Delay: %u",
63
+ this->num_chips_, this->num_chip_lines_, this->chip_lines_style_, this->intensity_, this->scroll_mode_,
64
+ this->scroll_speed_, this->scroll_dwell_, this->scroll_delay_);
62
65
  LOG_PIN(" CS Pin: ", this->cs_);
63
66
  LOG_UPDATE_INTERVAL(this);
64
67
  }
@@ -29,8 +29,9 @@ static const uint8_t SETUP_DELAY = 4; // Wait 2 integration periods.
29
29
  static const float VOUT_LSB = 14.0 / 1000.0; // 14mV/LSB
30
30
  static const float TEMP_LSB = 0.48; // 0.48C/LSB
31
31
  static const float MICRO_VOLTS_PER_VOLT = 1000000.0;
32
+
32
33
  void MAX9611Component::setup() {
33
- ESP_LOGCONFIG(TAG, "Setting up max9611...");
34
+ ESP_LOGCONFIG(TAG, "Running setup");
34
35
  // Perform dummy-read
35
36
  uint8_t value;
36
37
  this->read(&value, 1);
@@ -41,18 +42,20 @@ void MAX9611Component::setup() {
41
42
  const uint8_t fast_mode_dat[] = {CONTROL_REGISTER_1_ADRR, MAX9611Multiplexer::MAX9611_MULTIPLEXER_FAST_MODE};
42
43
 
43
44
  if (this->write(reinterpret_cast<const uint8_t *>(&setup_dat), sizeof(setup_dat)) != ErrorCode::ERROR_OK) {
44
- ESP_LOGE(TAG, "Failed to setup Max9611 during GAIN SET");
45
+ ESP_LOGE(TAG, "GAIN SET failed");
45
46
  return;
46
47
  }
47
48
  delay(SETUP_DELAY);
48
49
  if (this->write(reinterpret_cast<const uint8_t *>(&fast_mode_dat), sizeof(fast_mode_dat)) != ErrorCode::ERROR_OK) {
49
- ESP_LOGE(TAG, "Failed to setup Max9611 during FAST MODE SET");
50
+ ESP_LOGE(TAG, "FAST MODE SET failed");
50
51
  return;
51
52
  }
52
53
  }
53
54
  void MAX9611Component::dump_config() {
54
- ESP_LOGCONFIG(TAG, "Dump Config max9611...");
55
- ESP_LOGCONFIG(TAG, " CSA Gain Register: %x", gain_);
55
+ ESP_LOGCONFIG(TAG,
56
+ "MAX9611:\n"
57
+ " CSA Gain Register: %x",
58
+ gain_);
56
59
  LOG_I2C_DEVICE(this);
57
60
  }
58
61
  void MAX9611Component::update() {
@@ -62,7 +65,7 @@ void MAX9611Component::update() {
62
65
  // Just read the entire register map in a bulk read, faster than individually querying register.
63
66
  const ErrorCode read_result = this->read(register_map_, sizeof(register_map_));
64
67
  if (write_result != ErrorCode::ERROR_OK || read_result != ErrorCode::ERROR_OK) {
65
- ESP_LOGW(TAG, "MAX9611 Update FAILED!");
68
+ ESP_LOGW(TAG, "Update failed");
66
69
  return;
67
70
  }
68
71
  uint16_t csa_register = ((register_map_[CSA_DATA_BYTE_MSB_ADRR] << 8) | (register_map_[CSA_DATA_BYTE_LSB_ADRR])) >> 4;
@@ -7,7 +7,7 @@ namespace mcp23008 {
7
7
  static const char *const TAG = "mcp23008";
8
8
 
9
9
  void MCP23008::setup() {
10
- ESP_LOGCONFIG(TAG, "Setting up MCP23008...");
10
+ ESP_LOGCONFIG(TAG, "Running setup");
11
11
  uint8_t iocon;
12
12
  if (!this->read_reg(mcp23x08_base::MCP23X08_IOCON, &iocon)) {
13
13
  this->mark_failed();
@@ -8,7 +8,7 @@ namespace mcp23016 {
8
8
  static const char *const TAG = "mcp23016";
9
9
 
10
10
  void MCP23016::setup() {
11
- ESP_LOGCONFIG(TAG, "Setting up MCP23016...");
11
+ ESP_LOGCONFIG(TAG, "Running setup");
12
12
  uint8_t iocon;
13
13
  if (!this->read_reg_(MCP23016_IOCON0, &iocon)) {
14
14
  this->mark_failed();
@@ -7,7 +7,7 @@ namespace mcp23017 {
7
7
  static const char *const TAG = "mcp23017";
8
8
 
9
9
  void MCP23017::setup() {
10
- ESP_LOGCONFIG(TAG, "Setting up MCP23017...");
10
+ ESP_LOGCONFIG(TAG, "Running setup");
11
11
  uint8_t iocon;
12
12
  if (!this->read_reg(mcp23x17_base::MCP23X17_IOCONA, &iocon)) {
13
13
  this->mark_failed();
@@ -13,7 +13,7 @@ void MCP23S08::set_device_address(uint8_t device_addr) {
13
13
  }
14
14
 
15
15
  void MCP23S08::setup() {
16
- ESP_LOGCONFIG(TAG, "Setting up MCP23S08...");
16
+ ESP_LOGCONFIG(TAG, "Running setup");
17
17
  this->spi_setup();
18
18
 
19
19
  this->enable();
@@ -13,7 +13,7 @@ void MCP23S17::set_device_address(uint8_t device_addr) {
13
13
  }
14
14
 
15
15
  void MCP23S17::setup() {
16
- ESP_LOGCONFIG(TAG, "Setting up MCP23S17...");
16
+ ESP_LOGCONFIG(TAG, "Running setup");
17
17
  this->spi_setup();
18
18
 
19
19
  this->enable();
@@ -11,7 +11,7 @@ static const char *const TAG = "mcp3008";
11
11
  float MCP3008::get_setup_priority() const { return setup_priority::HARDWARE; }
12
12
 
13
13
  void MCP3008::setup() {
14
- ESP_LOGCONFIG(TAG, "Setting up mcp3008");
14
+ ESP_LOGCONFIG(TAG, "Running setup");
15
15
  this->spi_setup();
16
16
  }
17
17
 
@@ -10,9 +10,11 @@ static const char *const TAG = "mcp3008.sensor";
10
10
  float MCP3008Sensor::get_setup_priority() const { return setup_priority::DATA; }
11
11
 
12
12
  void MCP3008Sensor::dump_config() {
13
- ESP_LOGCONFIG(TAG, "MCP3008Sensor:");
14
- ESP_LOGCONFIG(TAG, " Pin: %u", this->pin_);
15
- ESP_LOGCONFIG(TAG, " Reference Voltage: %.2fV", this->reference_voltage_);
13
+ ESP_LOGCONFIG(TAG,
14
+ "MCP3008Sensor:\n"
15
+ " Pin: %u\n"
16
+ " Reference Voltage: %.2fV",
17
+ this->pin_, this->reference_voltage_);
16
18
  }
17
19
 
18
20
  float MCP3008Sensor::sample() {
@@ -9,7 +9,7 @@ static const char *const TAG = "mcp3204";
9
9
  float MCP3204::get_setup_priority() const { return setup_priority::HARDWARE; }
10
10
 
11
11
  void MCP3204::setup() {
12
- ESP_LOGCONFIG(TAG, "Setting up mcp3204");
12
+ ESP_LOGCONFIG(TAG, "Running setup");
13
13
  this->spi_setup();
14
14
  }
15
15
 
@@ -1,7 +1,7 @@
1
1
  #include "mcp4461.h"
2
2
 
3
- #include "esphome/core/helpers.h"
4
3
  #include "esphome/core/hal.h"
4
+ #include "esphome/core/helpers.h"
5
5
 
6
6
  namespace esphome {
7
7
  namespace mcp4461 {
@@ -10,7 +10,7 @@ static const char *const TAG = "mcp4461";
10
10
  constexpr uint8_t EEPROM_WRITE_TIMEOUT_MS = 10;
11
11
 
12
12
  void Mcp4461Component::setup() {
13
- ESP_LOGCONFIG(TAG, "Setting up mcp4461 using address (0x%02X)...", this->address_);
13
+ ESP_LOGCONFIG(TAG, "Running setup for address 0x%02X", this->address_);
14
14
  auto err = this->write(nullptr, 0);
15
15
  if (err != i2c::ERROR_OK) {
16
16
  this->error_code_ = MCP4461_STATUS_I2C_ERROR;
@@ -7,7 +7,7 @@ namespace mcp4725 {
7
7
  static const char *const TAG = "mcp4725";
8
8
 
9
9
  void MCP4725::setup() {
10
- ESP_LOGCONFIG(TAG, "Setting up MCP4725 (0x%02X)...", this->address_);
10
+ ESP_LOGCONFIG(TAG, "Running setup for address 0x%02X", this->address_);
11
11
  auto err = this->write(nullptr, 0);
12
12
  if (err != i2c::ERROR_OK) {
13
13
  this->error_code_ = COMMUNICATION_FAILED;
@@ -20,7 +20,7 @@ void MCP4725::dump_config() {
20
20
  LOG_I2C_DEVICE(this);
21
21
 
22
22
  if (this->error_code_ == COMMUNICATION_FAILED) {
23
- ESP_LOGE(TAG, "Communication with MCP4725 failed!");
23
+ ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
24
24
  }
25
25
  }
26
26
 
@@ -9,7 +9,7 @@ namespace mcp4728 {
9
9
  static const char *const TAG = "mcp4728";
10
10
 
11
11
  void MCP4728Component::setup() {
12
- ESP_LOGCONFIG(TAG, "Setting up MCP4728 (0x%02X)...", this->address_);
12
+ ESP_LOGCONFIG(TAG, "Running setup for address 0x%02X", this->address_);
13
13
  auto err = this->write(nullptr, 0);
14
14
  if (err != i2c::ERROR_OK) {
15
15
  this->mark_failed();
@@ -21,7 +21,7 @@ void MCP4728Component::dump_config() {
21
21
  ESP_LOGCONFIG(TAG, "MCP4728:");
22
22
  LOG_I2C_DEVICE(this);
23
23
  if (this->is_failed()) {
24
- ESP_LOGE(TAG, "Communication with MCP4728 failed!");
24
+ ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
25
25
  }
26
26
  }
27
27
 
@@ -28,7 +28,7 @@ static const uint8_t MCP9600_REGISTER_ALERT4_LIMIT = 0x13;
28
28
  static const uint8_t MCP9600_REGISTER_DEVICE_ID = 0x20;
29
29
 
30
30
  void MCP9600Component::setup() {
31
- ESP_LOGCONFIG(TAG, "Setting up MCP9600...");
31
+ ESP_LOGCONFIG(TAG, "Running setup");
32
32
 
33
33
  uint16_t dev_id = 0;
34
34
  this->read_byte_16(MCP9600_REGISTER_DEVICE_ID, &dev_id);
@@ -18,18 +18,18 @@ static const uint8_t MCP9808_AMBIENT_TEMP_NEGATIVE = 0x10;
18
18
  static const char *const TAG = "mcp9808";
19
19
 
20
20
  void MCP9808Sensor::setup() {
21
- ESP_LOGCONFIG(TAG, "Setting up %s...", this->name_.c_str());
21
+ ESP_LOGCONFIG(TAG, "Running setup for '%s'", this->name_.c_str());
22
22
 
23
23
  uint16_t manu = 0;
24
24
  if (!this->read_byte_16(MCP9808_REG_MANUF_ID, &manu) || manu != MCP9808_MANUF_ID) {
25
25
  this->mark_failed();
26
- ESP_LOGE(TAG, "%s manufacuturer id failed, device returned %X", this->name_.c_str(), manu);
26
+ ESP_LOGE(TAG, "Incorrect manufacturer ID (%X) for '%s'", manu, this->name_.c_str());
27
27
  return;
28
28
  }
29
29
  uint16_t dev_id = 0;
30
30
  if (!this->read_byte_16(MCP9808_REG_DEVICE_ID, &dev_id) || dev_id != MCP9808_DEV_ID) {
31
31
  this->mark_failed();
32
- ESP_LOGE(TAG, "%s device id failed, device returned %X", this->name_.c_str(), dev_id);
32
+ ESP_LOGE(TAG, "Incorrect device ID (%X) for '%s'", dev_id, this->name_.c_str());
33
33
  return;
34
34
  }
35
35
  }
@@ -37,7 +37,7 @@ void MCP9808Sensor::dump_config() {
37
37
  ESP_LOGCONFIG(TAG, "%s:", this->name_.c_str());
38
38
  LOG_I2C_DEVICE(this);
39
39
  if (this->is_failed()) {
40
- ESP_LOGE(TAG, "Communication with %s failed!", this->name_.c_str());
40
+ ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL_FOR, this->name_.c_str());
41
41
  }
42
42
  LOG_UPDATE_INTERVAL(this);
43
43
  LOG_SENSOR(" ", "Temperature", this);