esphome 2025.5.2__py3-none-any.whl → 2025.6.0b2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (746) 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 +3 -0
  33. esphome/components/api/api_pb2.h +702 -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 +13 -10
  258. esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +1 -1
  259. esphome/components/iaqcore/iaqcore.cpp +3 -3
  260. esphome/components/ili9xxx/ili9xxx_display.cpp +12 -7
  261. esphome/components/ili9xxx/ili9xxx_display.h +1 -1
  262. esphome/components/image/image.cpp +1 -0
  263. esphome/components/ina219/ina219.cpp +2 -2
  264. esphome/components/ina226/ina226.cpp +8 -5
  265. esphome/components/ina260/ina260.cpp +1 -1
  266. esphome/components/ina2xx_base/ina2xx_base.cpp +13 -9
  267. esphome/components/ina3221/ina3221.cpp +2 -2
  268. esphome/components/inkplate6/display.py +12 -2
  269. esphome/components/inkplate6/inkplate.cpp +13 -9
  270. esphome/components/inkplate6/inkplate.h +7 -6
  271. esphome/components/integration/integration_sensor.cpp +1 -1
  272. esphome/components/internal_temperature/internal_temperature.cpp +4 -4
  273. esphome/components/json/json_util.cpp +4 -5
  274. esphome/components/kamstrup_kmp/kamstrup_kmp.cpp +1 -1
  275. esphome/components/key_collector/key_collector.cpp +4 -2
  276. esphome/components/kmeteriso/kmeteriso.cpp +4 -4
  277. esphome/components/kuntze/kuntze.cpp +4 -2
  278. esphome/components/lc709203f/__init__.py +1 -0
  279. esphome/components/lc709203f/lc709203f.cpp +299 -0
  280. esphome/components/lc709203f/lc709203f.h +55 -0
  281. esphome/components/lc709203f/sensor.py +93 -0
  282. esphome/components/lcd_base/lcd_display.cpp +2 -2
  283. esphome/components/lcd_gpio/gpio_lcd_display.cpp +5 -3
  284. esphome/components/lcd_menu/lcd_menu.cpp +6 -4
  285. esphome/components/lcd_pcf8574/pcf8574_display.cpp +6 -4
  286. esphome/components/ld2410/ld2410.cpp +6 -7
  287. esphome/components/ld2420/ld2420.cpp +9 -7
  288. esphome/components/ld2450/ld2450.cpp +6 -4
  289. esphome/components/ld2450/sensor.py +2 -2
  290. esphome/components/ledc/ledc_output.cpp +32 -28
  291. esphome/components/libretiny/const.py +1 -1
  292. esphome/components/libretiny/preferences.cpp +6 -7
  293. esphome/components/light/__init__.py +2 -1
  294. esphome/components/light/esp_hsv_color.h +1 -1
  295. esphome/components/light/light_state.cpp +9 -5
  296. esphome/components/light/light_transformer.h +1 -1
  297. esphome/components/lightwaverf/LwTx.cpp +1 -1
  298. esphome/components/lightwaverf/lightwaverf.cpp +1 -1
  299. esphome/components/lilygo_t5_47/touchscreen/lilygo_t5_47_touchscreen.cpp +1 -1
  300. esphome/components/lock/__init__.py +1 -0
  301. esphome/components/lock/lock.h +1 -1
  302. esphome/components/logger/__init__.py +6 -0
  303. esphome/components/logger/logger.cpp +11 -20
  304. esphome/components/logger/logger.h +1 -2
  305. esphome/components/logger/logger_esp32.cpp +5 -5
  306. esphome/components/ltr390/ltr390.cpp +8 -5
  307. esphome/components/ltr501/ltr501.cpp +19 -14
  308. esphome/components/ltr_als_ps/ltr_als_ps.cpp +20 -13
  309. esphome/components/lvgl/__init__.py +2 -2
  310. esphome/components/lvgl/automation.py +5 -4
  311. esphome/components/lvgl/defines.py +0 -2
  312. esphome/components/lvgl/lv_validation.py +1 -3
  313. esphome/components/lvgl/lvcode.py +7 -8
  314. esphome/components/lvgl/lvgl_esphome.cpp +26 -10
  315. esphome/components/lvgl/schemas.py +22 -23
  316. esphome/components/lvgl/trigger.py +8 -3
  317. esphome/components/lvgl/widgets/__init__.py +2 -2
  318. esphome/components/lvgl/widgets/canvas.py +9 -3
  319. esphome/components/lvgl/widgets/line.py +2 -1
  320. esphome/components/lvgl/widgets/tabview.py +7 -0
  321. esphome/components/m5stack_8angle/m5stack_8angle.cpp +3 -3
  322. esphome/components/matrix_keypad/matrix_keypad.cpp +2 -2
  323. esphome/components/max17043/max17043.cpp +2 -2
  324. esphome/components/max31855/max31855.cpp +2 -1
  325. esphome/components/max31856/max31856.cpp +9 -11
  326. esphome/components/max31865/max31865.cpp +6 -4
  327. esphome/components/max44009/max44009.cpp +2 -2
  328. esphome/components/max6675/max6675.cpp +1 -1
  329. esphome/components/max6956/max6956.cpp +5 -3
  330. esphome/components/max7219/max7219.cpp +8 -6
  331. esphome/components/max7219digit/automation.h +52 -0
  332. esphome/components/max7219digit/display.py +93 -1
  333. esphome/components/max7219digit/max7219digit.cpp +16 -13
  334. esphome/components/max9611/max9611.cpp +9 -6
  335. esphome/components/mcp23008/mcp23008.cpp +1 -1
  336. esphome/components/mcp23016/mcp23016.cpp +1 -1
  337. esphome/components/mcp23017/mcp23017.cpp +1 -1
  338. esphome/components/mcp23s08/mcp23s08.cpp +1 -1
  339. esphome/components/mcp23s17/mcp23s17.cpp +1 -1
  340. esphome/components/mcp3008/mcp3008.cpp +1 -1
  341. esphome/components/mcp3008/sensor/mcp3008_sensor.cpp +5 -3
  342. esphome/components/mcp3204/mcp3204.cpp +1 -1
  343. esphome/components/mcp4461/mcp4461.cpp +2 -2
  344. esphome/components/mcp4725/mcp4725.cpp +2 -2
  345. esphome/components/mcp4728/mcp4728.cpp +2 -2
  346. esphome/components/mcp9600/mcp9600.cpp +1 -1
  347. esphome/components/mcp9808/mcp9808.cpp +4 -4
  348. esphome/components/mdns/mdns_component.cpp +8 -2
  349. esphome/components/mdns/mdns_component.h +3 -1
  350. esphome/components/mdns/mdns_esp32.cpp +2 -2
  351. esphome/components/media_player/__init__.py +1 -0
  352. esphome/components/micro_wake_word/micro_wake_word.cpp +1 -1
  353. esphome/components/micro_wake_word/streaming_model.cpp +10 -6
  354. esphome/components/micronova/micronova.h +2 -2
  355. esphome/components/mics_4514/mics_4514.cpp +2 -2
  356. esphome/components/midea/air_conditioner.cpp +7 -5
  357. esphome/components/midea_ir/midea_ir.cpp +1 -1
  358. esphome/components/mipi_spi/mipi_spi.cpp +24 -15
  359. esphome/components/mixer/speaker/mixer_speaker.cpp +8 -4
  360. esphome/components/mlx90393/sensor_mlx90393.cpp +2 -2
  361. esphome/components/mlx90614/mlx90614.cpp +4 -3
  362. esphome/components/mmc5603/mmc5603.cpp +2 -2
  363. esphome/components/mmc5983/mmc5983.cpp +1 -1
  364. esphome/components/modbus/modbus.cpp +7 -5
  365. esphome/components/modbus_controller/modbus_controller.cpp +6 -4
  366. esphome/components/modbus_controller/output/modbus_output.cpp +10 -6
  367. esphome/components/modbus_controller/switch/__init__.py +6 -2
  368. esphome/components/modbus_controller/switch/modbus_switch.cpp +4 -0
  369. esphome/components/modbus_controller/switch/modbus_switch.h +3 -0
  370. esphome/components/mpl3115a2/mpl3115a2.cpp +3 -2
  371. esphome/components/mpr121/mpr121.cpp +2 -2
  372. esphome/components/mpu6050/mpu6050.cpp +6 -6
  373. esphome/components/mpu6886/mpu6886.cpp +6 -6
  374. esphome/components/mqtt/mqtt_alarm_control_panel.cpp +7 -3
  375. esphome/components/mqtt/mqtt_backend_esp32.cpp +1 -1
  376. esphome/components/mqtt/mqtt_client.cpp +31 -24
  377. esphome/components/mqtt/mqtt_component.cpp +3 -3
  378. esphome/components/mqtt/mqtt_cover.cpp +8 -4
  379. esphome/components/mqtt/mqtt_fan.cpp +12 -6
  380. esphome/components/mqtt/mqtt_valve.cpp +4 -2
  381. esphome/components/ms5611/ms5611.cpp +2 -2
  382. esphome/components/ms8607/ms8607.cpp +2 -2
  383. esphome/components/msa3xx/msa3xx.cpp +16 -12
  384. esphome/components/my9231/my9231.cpp +7 -5
  385. esphome/components/nau7802/nau7802.cpp +6 -4
  386. esphome/components/neopixelbus/neopixelbus_light.h +2 -2
  387. esphome/components/network/ip_address.h +1 -1
  388. esphome/components/network/util.cpp +13 -0
  389. esphome/components/nextion/base_component.py +2 -0
  390. esphome/components/nextion/binary_sensor/nextion_binarysensor.cpp +3 -4
  391. esphome/components/nextion/display.py +34 -22
  392. esphome/components/nextion/nextion.cpp +182 -143
  393. esphome/components/nextion/nextion.h +36 -0
  394. esphome/components/nextion/nextion_commands.cpp +3 -3
  395. esphome/components/nextion/nextion_upload_arduino.cpp +69 -69
  396. esphome/components/nextion/nextion_upload_idf.cpp +79 -80
  397. esphome/components/nextion/sensor/nextion_sensor.cpp +5 -5
  398. esphome/components/nextion/switch/nextion_switch.cpp +2 -2
  399. esphome/components/nextion/text_sensor/nextion_textsensor.cpp +3 -3
  400. esphome/components/nfc/nci_message.h +1 -1
  401. esphome/components/nfc/ndef_record.h +1 -1
  402. esphome/components/nfc/ndef_record_text.h +1 -1
  403. esphome/components/nfc/ndef_record_uri.h +1 -1
  404. esphome/components/nfc/nfc.h +1 -1
  405. esphome/components/nfc/nfc_tag.h +1 -1
  406. esphome/components/noblex/noblex.cpp +1 -1
  407. esphome/components/npi19/npi19.cpp +5 -7
  408. esphome/components/number/__init__.py +11 -0
  409. esphome/components/number/number.cpp +1 -1
  410. esphome/components/number/number.h +0 -4
  411. esphome/components/online_image/__init__.py +13 -1
  412. esphome/components/online_image/online_image.cpp +26 -4
  413. esphome/components/online_image/online_image.h +21 -4
  414. esphome/components/opentherm/generate.py +3 -3
  415. esphome/components/opentherm/hub.cpp +11 -7
  416. esphome/components/opentherm/number/number.cpp +5 -3
  417. esphome/components/opentherm/opentherm.h +1 -1
  418. esphome/components/opentherm/schema.py +13 -13
  419. esphome/components/opentherm/validate.py +1 -1
  420. esphome/components/openthread/__init__.py +146 -0
  421. esphome/components/openthread/const.py +10 -0
  422. esphome/components/openthread/openthread.cpp +206 -0
  423. esphome/components/openthread/openthread.h +68 -0
  424. esphome/components/openthread/openthread_esp.cpp +164 -0
  425. esphome/components/openthread/tlv.py +58 -0
  426. esphome/components/openthread_info/__init__.py +0 -0
  427. esphome/components/openthread_info/openthread_info_text_sensor.cpp +24 -0
  428. esphome/components/openthread_info/openthread_info_text_sensor.h +218 -0
  429. esphome/components/openthread_info/text_sensor.py +105 -0
  430. esphome/components/output/float_output.cpp +1 -1
  431. esphome/components/output/switch/output_switch.cpp +1 -1
  432. esphome/components/packet_transport/packet_transport.cpp +6 -4
  433. esphome/components/pca6416a/pca6416a.cpp +2 -2
  434. esphome/components/pca9554/pca9554.cpp +6 -4
  435. esphome/components/pca9685/pca9685_output.cpp +12 -8
  436. esphome/components/pcd8544/pcd_8544.cpp +1 -1
  437. esphome/components/pcf85063/pcf85063.cpp +2 -2
  438. esphome/components/pcf8563/pcf8563.cpp +2 -2
  439. esphome/components/pcf8574/pcf8574.cpp +2 -2
  440. esphome/components/pid/pid_climate.cpp +8 -5
  441. esphome/components/pid/pid_climate.h +1 -1
  442. esphome/components/pid/sensor/pid_climate_sensor.cpp +1 -1
  443. esphome/components/pipsolar/output/pipsolar_output.cpp +1 -1
  444. esphome/components/pipsolar/pipsolar.cpp +3 -3
  445. esphome/components/pm1006/pm1006.cpp +3 -7
  446. esphome/components/pm1006/pm1006.h +4 -1
  447. esphome/components/pm2005/pm2005.cpp +12 -13
  448. esphome/components/pm2005/sensor.py +1 -1
  449. esphome/components/pmsa003i/pmsa003i.cpp +2 -2
  450. esphome/components/pmsx003/pmsx003.cpp +0 -4
  451. esphome/components/pmsx003/pmsx003.h +5 -2
  452. esphome/components/pmwcs3/pmwcs3.cpp +9 -13
  453. esphome/components/pmwcs3/pmwcs3.h +0 -1
  454. esphome/components/pn532/pn532.cpp +7 -7
  455. esphome/components/pn532/pn532.h +1 -1
  456. esphome/components/pn532_spi/pn532_spi.cpp +1 -1
  457. esphome/components/pn7150/pn7150.cpp +4 -4
  458. esphome/components/pn7160/pn7160.cpp +4 -4
  459. esphome/components/power_supply/power_supply.cpp +6 -4
  460. esphome/components/power_supply/power_supply.h +1 -1
  461. esphome/components/prometheus/__init__.py +0 -1
  462. esphome/components/psram/__init__.py +59 -35
  463. esphome/components/pulse_counter/pulse_counter_sensor.cpp +7 -4
  464. esphome/components/pvvx_mithermometer/display/pvvx_display.cpp +8 -5
  465. esphome/components/pylontech/pylontech.cpp +2 -2
  466. esphome/components/pylontech/sensor/pylontech_sensor.cpp +4 -2
  467. esphome/components/pylontech/text_sensor/pylontech_text_sensor.cpp +4 -2
  468. esphome/components/pzemac/pzemac.cpp +4 -2
  469. esphome/components/pzemdc/pzemdc.cpp +4 -2
  470. esphome/components/qmc5883l/qmc5883l.cpp +2 -2
  471. esphome/components/qmp6988/qmp6988.cpp +2 -2
  472. esphome/components/qmp6988/qmp6988.h +1 -1
  473. esphome/components/qr_code/qr_code.cpp +5 -3
  474. esphome/components/qspi_dbi/qspi_dbi.cpp +1 -1
  475. esphome/components/qwiic_pir/qwiic_pir.cpp +26 -28
  476. esphome/components/rc522/rc522.cpp +5 -5
  477. esphome/components/rdm6300/rdm6300.cpp +1 -0
  478. esphome/components/remote_receiver/__init__.py +10 -2
  479. esphome/components/remote_receiver/remote_receiver_esp32.cpp +22 -12
  480. esphome/components/remote_receiver/remote_receiver_esp8266.cpp +10 -7
  481. esphome/components/remote_receiver/remote_receiver_libretiny.cpp +10 -7
  482. esphome/components/remote_transmitter/__init__.py +10 -2
  483. esphome/components/remote_transmitter/remote_transmitter_esp32.cpp +10 -6
  484. esphome/components/remote_transmitter/remote_transmitter_esp8266.cpp +5 -3
  485. esphome/components/remote_transmitter/remote_transmitter_libretiny.cpp +5 -3
  486. esphome/components/resistance/resistance_sensor.cpp +6 -3
  487. esphome/components/restart/button/restart_button.cpp +1 -1
  488. esphome/components/restart/switch/restart_switch.cpp +1 -1
  489. esphome/components/rotary_encoder/rotary_encoder.cpp +2 -2
  490. esphome/components/rp2040/__init__.py +7 -0
  491. esphome/components/rp2040/core.cpp +8 -1
  492. esphome/components/rp2040/preferences.cpp +3 -3
  493. esphome/components/rp2040_pio_led_strip/led_strip.cpp +11 -8
  494. esphome/components/rp2040_pio_led_strip/light.py +1 -1
  495. esphome/components/rp2040_pwm/rp2040_pwm.cpp +1 -1
  496. esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.cpp +1 -1
  497. esphome/components/rtttl/rtttl.cpp +11 -9
  498. esphome/components/safe_mode/button/safe_mode_button.cpp +1 -1
  499. esphome/components/safe_mode/safe_mode.cpp +9 -8
  500. esphome/components/safe_mode/switch/safe_mode_switch.cpp +1 -1
  501. esphome/components/scd30/scd30.cpp +11 -8
  502. esphome/components/scd4x/scd4x.cpp +12 -8
  503. esphome/components/sdl/display.py +40 -0
  504. esphome/components/sdl/sdl_esphome.cpp +2 -2
  505. esphome/components/sdl/sdl_esphome.h +8 -0
  506. esphome/components/sdm_meter/sdm_meter.cpp +5 -2
  507. esphome/components/sdp3x/sdp3x.cpp +11 -11
  508. esphome/components/sds011/sds011.cpp +5 -6
  509. esphome/components/sds011/sds011.h +4 -1
  510. esphome/components/seeed_mr24hpc1/seeed_mr24hpc1.cpp +3 -2
  511. esphome/components/seeed_mr60bha2/seeed_mr60bha2.cpp +1 -0
  512. esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp +3 -2
  513. esphome/components/selec_meter/selec_meter.cpp +5 -2
  514. esphome/components/select/__init__.py +1 -0
  515. esphome/components/select/select.cpp +1 -1
  516. esphome/components/select/select.h +0 -4
  517. esphome/components/sen0321/sen0321.cpp +2 -2
  518. esphome/components/sen21231/sen21231.cpp +1 -1
  519. esphome/components/sen5x/sen5x.cpp +10 -7
  520. esphome/components/sensirion_common/i2c_sensirion.cpp +2 -1
  521. esphome/components/sensirion_common/i2c_sensirion.h +1 -0
  522. esphome/components/sensor/__init__.py +11 -1
  523. esphome/components/sensor/filter.h +1 -1
  524. esphome/components/sensor/sensor.cpp +8 -4
  525. esphome/components/sensor/sensor.h +12 -11
  526. esphome/components/servo/servo.cpp +12 -9
  527. esphome/components/servo/servo.h +1 -1
  528. esphome/components/sfa30/sfa30.cpp +1 -1
  529. esphome/components/sgp30/sgp30.cpp +10 -8
  530. esphome/components/sgp4x/sgp4x.cpp +49 -61
  531. esphome/components/sgp4x/sgp4x.h +0 -1
  532. esphome/components/shelly_dimmer/shelly_dimmer.cpp +11 -7
  533. esphome/components/sht3xd/sht3xd.cpp +1 -1
  534. esphome/components/sht4x/sht4x.cpp +2 -2
  535. esphome/components/shtcx/shtcx.cpp +13 -16
  536. esphome/components/shutdown/button/shutdown_button.cpp +1 -1
  537. esphome/components/shutdown/switch/shutdown_switch.cpp +1 -1
  538. esphome/components/sim800l/sim800l.cpp +2 -2
  539. esphome/components/slow_pwm/slow_pwm_output.cpp +4 -2
  540. esphome/components/sm16716/sm16716.cpp +1 -1
  541. esphome/components/sm2135/sm2135.cpp +1 -1
  542. esphome/components/sm2235/sm2235.cpp +5 -3
  543. esphome/components/sm2335/sm2335.cpp +5 -3
  544. esphome/components/sml/sml.cpp +1 -1
  545. esphome/components/sn74hc165/sn74hc165.cpp +1 -2
  546. esphome/components/sn74hc595/sn74hc595.cpp +1 -2
  547. esphome/components/sntp/sntp_component.cpp +1 -1
  548. esphome/components/socket/__init__.py +2 -0
  549. esphome/components/socket/bsd_sockets_impl.cpp +51 -7
  550. esphome/components/socket/lwip_raw_tcp_impl.cpp +5 -0
  551. esphome/components/socket/lwip_sockets_impl.cpp +51 -7
  552. esphome/components/socket/socket.cpp +31 -0
  553. esphome/components/socket/socket.h +27 -1
  554. esphome/components/sonoff_d1/sonoff_d1.cpp +7 -4
  555. esphome/components/sonoff_d1/sonoff_d1.h +2 -2
  556. esphome/components/sound_level/sound_level.cpp +4 -2
  557. esphome/components/speaker/media_player/__init__.py +3 -0
  558. esphome/components/speaker/media_player/speaker_media_player.cpp +1 -3
  559. esphome/components/speaker/media_player/speaker_media_player.h +6 -0
  560. esphome/components/spi/__init__.py +10 -2
  561. esphome/components/spi/spi.cpp +4 -4
  562. esphome/components/spi_device/spi_device.cpp +1 -2
  563. esphome/components/sprinkler/sprinkler.cpp +9 -6
  564. esphome/components/sps30/sps30.cpp +16 -15
  565. esphome/components/ssd1306_base/ssd1306_base.cpp +1 -1
  566. esphome/components/ssd1306_i2c/ssd1306_i2c.cpp +11 -8
  567. esphome/components/ssd1306_spi/ssd1306_spi.cpp +10 -7
  568. esphome/components/ssd1322_base/ssd1322_base.cpp +1 -1
  569. esphome/components/ssd1322_spi/ssd1322_spi.cpp +1 -1
  570. esphome/components/ssd1325_base/ssd1325_base.cpp +1 -1
  571. esphome/components/ssd1325_spi/ssd1325_spi.cpp +1 -1
  572. esphome/components/ssd1327_base/ssd1327_base.cpp +1 -1
  573. esphome/components/ssd1327_i2c/ssd1327_i2c.cpp +2 -2
  574. esphome/components/ssd1327_spi/ssd1327_spi.cpp +1 -1
  575. esphome/components/ssd1331_base/ssd1331_base.cpp +1 -1
  576. esphome/components/ssd1331_spi/ssd1331_spi.cpp +1 -1
  577. esphome/components/ssd1351_base/ssd1351_base.cpp +1 -1
  578. esphome/components/ssd1351_spi/ssd1351_spi.cpp +1 -1
  579. esphome/components/st7567_base/st7567_base.cpp +3 -3
  580. esphome/components/st7567_i2c/st7567_i2c.cpp +7 -5
  581. esphome/components/st7567_spi/st7567_spi.cpp +1 -1
  582. esphome/components/st7701s/st7701s.cpp +4 -2
  583. esphome/components/st7735/st7735.cpp +3 -3
  584. esphome/components/st7789v/st7789v.cpp +10 -7
  585. esphome/components/st7920/st7920.cpp +6 -4
  586. esphome/components/statsd/statsd.cpp +9 -5
  587. esphome/components/status_led/light/status_led_light.cpp +3 -3
  588. esphome/components/status_led/light/status_led_light.h +1 -1
  589. esphome/components/status_led/status_led.cpp +1 -1
  590. esphome/components/stepper/stepper.h +5 -3
  591. esphome/components/sts3x/sts3x.cpp +2 -2
  592. esphome/components/switch/__init__.py +1 -0
  593. esphome/components/switch/switch.cpp +18 -12
  594. esphome/components/switch/switch.h +1 -1
  595. esphome/components/sx1509/__init__.py +53 -20
  596. esphome/components/sx1509/sx1509.cpp +29 -5
  597. esphome/components/sx1509/sx1509.h +9 -1
  598. esphome/components/t6615/t6615.cpp +1 -0
  599. esphome/components/tc74/tc74.cpp +1 -1
  600. esphome/components/tca9548a/tca9548a.cpp +1 -1
  601. esphome/components/tca9555/tca9555.cpp +2 -2
  602. esphome/components/tcs34725/tcs34725.cpp +4 -4
  603. esphome/components/tee501/tee501.cpp +3 -2
  604. esphome/components/tem3200/tem3200.cpp +5 -6
  605. esphome/components/template/alarm_control_panel/__init__.py +6 -0
  606. esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp +43 -12
  607. esphome/components/template/alarm_control_panel/template_alarm_control_panel.h +4 -1
  608. esphome/components/template/cover/template_cover.cpp +1 -1
  609. esphome/components/template/select/template_select.cpp +6 -4
  610. esphome/components/template/text/template_text.cpp +2 -3
  611. esphome/components/template/valve/template_valve.cpp +5 -3
  612. esphome/components/text/__init__.py +10 -11
  613. esphome/components/text/text.cpp +1 -1
  614. esphome/components/text/text.h +0 -4
  615. esphome/components/text_sensor/__init__.py +1 -0
  616. esphome/components/text_sensor/text_sensor.cpp +8 -4
  617. esphome/components/text_sensor/text_sensor.h +6 -6
  618. esphome/components/thermostat/thermostat_climate.cpp +67 -43
  619. esphome/components/time/__init__.py +1 -2
  620. esphome/components/time_based/time_based_cover.cpp +4 -2
  621. esphome/components/tlc59208f/tlc59208f_output.cpp +8 -6
  622. esphome/components/tm1621/tm1621.cpp +3 -3
  623. esphome/components/tm1637/tm1637.cpp +9 -7
  624. esphome/components/tm1638/tm1638.cpp +7 -5
  625. esphome/components/tm1651/tm1651.cpp +2 -2
  626. esphome/components/tmp102/tmp102.cpp +1 -3
  627. esphome/components/tmp102/tmp102.h +0 -3
  628. esphome/components/tmp1075/tmp1075.cpp +12 -9
  629. esphome/components/tmp117/tmp117.cpp +2 -2
  630. esphome/components/tof10120/tof10120_sensor.cpp +2 -2
  631. esphome/components/tormatic/tormatic_cover.cpp +4 -2
  632. esphome/components/tsl2561/tsl2561.cpp +7 -5
  633. esphome/components/tsl2591/tsl2591.cpp +25 -27
  634. esphome/components/tt21100/touchscreen/tt21100.cpp +1 -1
  635. esphome/components/ttp229_bsf/ttp229_bsf.cpp +1 -1
  636. esphome/components/ttp229_lsf/ttp229_lsf.cpp +2 -2
  637. esphome/components/tuya/select/tuya_select.cpp +5 -3
  638. esphome/components/tx20/tx20.cpp +3 -3
  639. esphome/components/uart/__init__.py +4 -5
  640. esphome/components/uart/button/uart_button.cpp +1 -1
  641. esphome/components/uart/switch/uart_switch.cpp +2 -2
  642. esphome/components/uart/uart.cpp +2 -2
  643. esphome/components/uart/uart_component_esp32_arduino.cpp +8 -6
  644. esphome/components/uart/uart_component_esp8266.cpp +9 -7
  645. esphome/components/uart/uart_component_esp_idf.cpp +9 -7
  646. esphome/components/uart/uart_component_host.cpp +11 -8
  647. esphome/components/uart/uart_component_libretiny.cpp +8 -6
  648. esphome/components/uart/uart_component_rp2040.cpp +8 -6
  649. esphome/components/udp/udp_component.cpp +9 -5
  650. esphome/components/ufire_ec/ufire_ec.cpp +5 -3
  651. esphome/components/ufire_ise/ufire_ise.cpp +1 -1
  652. esphome/components/ultrasonic/ultrasonic_sensor.cpp +5 -3
  653. esphome/components/update/__init__.py +1 -0
  654. esphome/components/update/update_entity.cpp +1 -1
  655. esphome/components/update/update_entity.h +0 -3
  656. esphome/components/uponor_smatrix/climate/uponor_smatrix_climate.cpp +1 -1
  657. esphome/components/uponor_smatrix/sensor/uponor_smatrix_sensor.cpp +4 -2
  658. esphome/components/uponor_smatrix/uponor_smatrix.cpp +2 -1
  659. esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp +1 -1
  660. esphome/components/usb_host/__init__.py +64 -0
  661. esphome/components/usb_host/usb_host.h +116 -0
  662. esphome/components/usb_host/usb_host_client.cpp +394 -0
  663. esphome/components/usb_host/usb_host_component.cpp +35 -0
  664. esphome/components/usb_uart/__init__.py +134 -0
  665. esphome/components/usb_uart/ch34x.cpp +80 -0
  666. esphome/components/usb_uart/cp210x.cpp +126 -0
  667. esphome/components/usb_uart/usb_uart.cpp +328 -0
  668. esphome/components/usb_uart/usb_uart.h +151 -0
  669. esphome/components/valve/__init__.py +1 -0
  670. esphome/components/veml3235/veml3235.cpp +13 -9
  671. esphome/components/veml7700/veml7700.cpp +10 -6
  672. esphome/components/voice_assistant/voice_assistant.cpp +7 -7
  673. esphome/components/wake_on_lan/wake_on_lan.cpp +1 -1
  674. esphome/components/waveshare_epaper/waveshare_epaper.cpp +1 -1
  675. esphome/components/web_server/server_index_v2.h +632 -630
  676. esphome/components/web_server/server_index_v3.h +411 -409
  677. esphome/components/web_server/web_server.cpp +5 -3
  678. esphome/components/web_server_base/web_server_base.cpp +1 -1
  679. esphome/components/web_server_idf/__init__.py +0 -2
  680. esphome/components/web_server_idf/utils.cpp +1 -1
  681. esphome/components/web_server_idf/web_server_idf.cpp +7 -3
  682. esphome/components/web_server_idf/web_server_idf.h +7 -0
  683. esphome/components/weikai/__init__.py +2 -0
  684. esphome/components/weikai/weikai.cpp +24 -22
  685. esphome/components/weikai_i2c/weikai_i2c.cpp +14 -9
  686. esphome/components/weikai_spi/weikai_spi.cpp +11 -6
  687. esphome/components/wiegand/wiegand.cpp +1 -1
  688. esphome/components/wifi/wifi_component.cpp +50 -37
  689. esphome/components/wifi/wifi_component.h +7 -4
  690. esphome/components/wifi/wifi_component_esp32_arduino.cpp +2 -2
  691. esphome/components/wifi/wifi_component_esp8266.cpp +3 -3
  692. esphome/components/wifi/wifi_component_libretiny.cpp +4 -4
  693. esphome/components/wireguard/wireguard.cpp +21 -21
  694. esphome/components/wl_134/text_sensor.py +1 -2
  695. esphome/components/wled/wled_light_effect.cpp +1 -1
  696. esphome/components/x9c/x9c.cpp +5 -3
  697. esphome/components/xgzp68xx/xgzp68xx.cpp +8 -6
  698. esphome/components/xiaomi_cgd1/xiaomi_cgd1.cpp +4 -2
  699. esphome/components/xiaomi_cgdk2/xiaomi_cgdk2.cpp +4 -2
  700. esphome/components/xiaomi_cgg1/xiaomi_cgg1.cpp +4 -2
  701. esphome/components/xiaomi_hhccjcy10/xiaomi_hhccjcy10.cpp +1 -1
  702. esphome/components/xiaomi_lywsd02mmc/xiaomi_lywsd02mmc.cpp +4 -2
  703. esphome/components/xiaomi_lywsd03mmc/xiaomi_lywsd03mmc.cpp +4 -2
  704. esphome/components/xiaomi_mhoc401/xiaomi_mhoc401.cpp +4 -2
  705. esphome/components/xl9535/xl9535.cpp +2 -2
  706. esphome/components/xpt2046/touchscreen/xpt2046.cpp +12 -11
  707. esphome/components/xpt2046/touchscreen/xpt2046.h +2 -2
  708. esphome/config.py +3 -2
  709. esphome/config_validation.py +46 -17
  710. esphome/const.py +10 -1
  711. esphome/core/__init__.py +37 -18
  712. esphome/core/application.cpp +197 -8
  713. esphome/core/application.h +116 -6
  714. esphome/core/component.cpp +36 -15
  715. esphome/core/component.h +43 -13
  716. esphome/core/config.py +12 -0
  717. esphome/core/defines.h +10 -2
  718. esphome/core/entity_base.cpp +4 -16
  719. esphome/core/entity_base.h +27 -13
  720. esphome/core/helpers.cpp +1 -1
  721. esphome/core/helpers.h +5 -5
  722. esphome/core/log.h +2 -0
  723. esphome/core/log_const_en.h +4 -0
  724. esphome/core/scheduler.cpp +2 -2
  725. esphome/coroutine.py +3 -4
  726. esphome/cpp_generator.py +32 -32
  727. esphome/dashboard/core.py +2 -2
  728. esphome/dashboard/web_server.py +2 -2
  729. esphome/git.py +4 -4
  730. esphome/helpers.py +5 -6
  731. esphome/loader.py +8 -7
  732. esphome/log.py +7 -1
  733. esphome/platformio_api.py +2 -3
  734. esphome/storage_json.py +13 -5
  735. esphome/types.py +12 -13
  736. esphome/util.py +1 -2
  737. esphome/wizard.py +0 -16
  738. esphome/writer.py +5 -3
  739. esphome/yaml_util.py +6 -1
  740. esphome/zeroconf.py +1 -1
  741. {esphome-2025.5.2.dist-info → esphome-2025.6.0b2.dist-info}/METADATA +12 -11
  742. {esphome-2025.5.2.dist-info → esphome-2025.6.0b2.dist-info}/RECORD +746 -692
  743. {esphome-2025.5.2.dist-info → esphome-2025.6.0b2.dist-info}/WHEEL +1 -1
  744. {esphome-2025.5.2.dist-info → esphome-2025.6.0b2.dist-info}/entry_points.txt +0 -0
  745. {esphome-2025.5.2.dist-info → esphome-2025.6.0b2.dist-info}/licenses/LICENSE +0 -0
  746. {esphome-2025.5.2.dist-info → esphome-2025.6.0b2.dist-info}/top_level.txt +0 -0
@@ -8,688 +8,12 @@ namespace api {
8
8
 
9
9
  static const char *const TAG = "api.service";
10
10
 
11
- bool APIServerConnectionBase::send_hello_response(const HelloResponse &msg) {
12
11
  #ifdef HAS_PROTO_MESSAGE_DUMP
13
- ESP_LOGVV(TAG, "send_hello_response: %s", msg.dump().c_str());
14
- #endif
15
- return this->send_message_<HelloResponse>(msg, 2);
16
- }
17
- bool APIServerConnectionBase::send_connect_response(const ConnectResponse &msg) {
18
- #ifdef HAS_PROTO_MESSAGE_DUMP
19
- ESP_LOGVV(TAG, "send_connect_response: %s", msg.dump().c_str());
20
- #endif
21
- return this->send_message_<ConnectResponse>(msg, 4);
22
- }
23
- bool APIServerConnectionBase::send_disconnect_request(const DisconnectRequest &msg) {
24
- #ifdef HAS_PROTO_MESSAGE_DUMP
25
- ESP_LOGVV(TAG, "send_disconnect_request: %s", msg.dump().c_str());
26
- #endif
27
- return this->send_message_<DisconnectRequest>(msg, 5);
28
- }
29
- bool APIServerConnectionBase::send_disconnect_response(const DisconnectResponse &msg) {
30
- #ifdef HAS_PROTO_MESSAGE_DUMP
31
- ESP_LOGVV(TAG, "send_disconnect_response: %s", msg.dump().c_str());
32
- #endif
33
- return this->send_message_<DisconnectResponse>(msg, 6);
34
- }
35
- bool APIServerConnectionBase::send_ping_request(const PingRequest &msg) {
36
- #ifdef HAS_PROTO_MESSAGE_DUMP
37
- ESP_LOGVV(TAG, "send_ping_request: %s", msg.dump().c_str());
38
- #endif
39
- return this->send_message_<PingRequest>(msg, 7);
40
- }
41
- bool APIServerConnectionBase::send_ping_response(const PingResponse &msg) {
42
- #ifdef HAS_PROTO_MESSAGE_DUMP
43
- ESP_LOGVV(TAG, "send_ping_response: %s", msg.dump().c_str());
44
- #endif
45
- return this->send_message_<PingResponse>(msg, 8);
46
- }
47
- bool APIServerConnectionBase::send_device_info_response(const DeviceInfoResponse &msg) {
48
- #ifdef HAS_PROTO_MESSAGE_DUMP
49
- ESP_LOGVV(TAG, "send_device_info_response: %s", msg.dump().c_str());
50
- #endif
51
- return this->send_message_<DeviceInfoResponse>(msg, 10);
52
- }
53
- bool APIServerConnectionBase::send_list_entities_done_response(const ListEntitiesDoneResponse &msg) {
54
- #ifdef HAS_PROTO_MESSAGE_DUMP
55
- ESP_LOGVV(TAG, "send_list_entities_done_response: %s", msg.dump().c_str());
56
- #endif
57
- return this->send_message_<ListEntitiesDoneResponse>(msg, 19);
58
- }
59
- #ifdef USE_BINARY_SENSOR
60
- bool APIServerConnectionBase::send_list_entities_binary_sensor_response(const ListEntitiesBinarySensorResponse &msg) {
61
- #ifdef HAS_PROTO_MESSAGE_DUMP
62
- ESP_LOGVV(TAG, "send_list_entities_binary_sensor_response: %s", msg.dump().c_str());
63
- #endif
64
- return this->send_message_<ListEntitiesBinarySensorResponse>(msg, 12);
65
- }
66
- #endif
67
- #ifdef USE_BINARY_SENSOR
68
- bool APIServerConnectionBase::send_binary_sensor_state_response(const BinarySensorStateResponse &msg) {
69
- #ifdef HAS_PROTO_MESSAGE_DUMP
70
- ESP_LOGVV(TAG, "send_binary_sensor_state_response: %s", msg.dump().c_str());
71
- #endif
72
- return this->send_message_<BinarySensorStateResponse>(msg, 21);
73
- }
74
- #endif
75
- #ifdef USE_COVER
76
- bool APIServerConnectionBase::send_list_entities_cover_response(const ListEntitiesCoverResponse &msg) {
77
- #ifdef HAS_PROTO_MESSAGE_DUMP
78
- ESP_LOGVV(TAG, "send_list_entities_cover_response: %s", msg.dump().c_str());
79
- #endif
80
- return this->send_message_<ListEntitiesCoverResponse>(msg, 13);
81
- }
82
- #endif
83
- #ifdef USE_COVER
84
- bool APIServerConnectionBase::send_cover_state_response(const CoverStateResponse &msg) {
85
- #ifdef HAS_PROTO_MESSAGE_DUMP
86
- ESP_LOGVV(TAG, "send_cover_state_response: %s", msg.dump().c_str());
87
- #endif
88
- return this->send_message_<CoverStateResponse>(msg, 22);
89
- }
90
- #endif
91
- #ifdef USE_COVER
92
- #endif
93
- #ifdef USE_FAN
94
- bool APIServerConnectionBase::send_list_entities_fan_response(const ListEntitiesFanResponse &msg) {
95
- #ifdef HAS_PROTO_MESSAGE_DUMP
96
- ESP_LOGVV(TAG, "send_list_entities_fan_response: %s", msg.dump().c_str());
97
- #endif
98
- return this->send_message_<ListEntitiesFanResponse>(msg, 14);
99
- }
100
- #endif
101
- #ifdef USE_FAN
102
- bool APIServerConnectionBase::send_fan_state_response(const FanStateResponse &msg) {
103
- #ifdef HAS_PROTO_MESSAGE_DUMP
104
- ESP_LOGVV(TAG, "send_fan_state_response: %s", msg.dump().c_str());
105
- #endif
106
- return this->send_message_<FanStateResponse>(msg, 23);
107
- }
108
- #endif
109
- #ifdef USE_FAN
110
- #endif
111
- #ifdef USE_LIGHT
112
- bool APIServerConnectionBase::send_list_entities_light_response(const ListEntitiesLightResponse &msg) {
113
- #ifdef HAS_PROTO_MESSAGE_DUMP
114
- ESP_LOGVV(TAG, "send_list_entities_light_response: %s", msg.dump().c_str());
115
- #endif
116
- return this->send_message_<ListEntitiesLightResponse>(msg, 15);
117
- }
118
- #endif
119
- #ifdef USE_LIGHT
120
- bool APIServerConnectionBase::send_light_state_response(const LightStateResponse &msg) {
121
- #ifdef HAS_PROTO_MESSAGE_DUMP
122
- ESP_LOGVV(TAG, "send_light_state_response: %s", msg.dump().c_str());
123
- #endif
124
- return this->send_message_<LightStateResponse>(msg, 24);
125
- }
126
- #endif
127
- #ifdef USE_LIGHT
128
- #endif
129
- #ifdef USE_SENSOR
130
- bool APIServerConnectionBase::send_list_entities_sensor_response(const ListEntitiesSensorResponse &msg) {
131
- #ifdef HAS_PROTO_MESSAGE_DUMP
132
- ESP_LOGVV(TAG, "send_list_entities_sensor_response: %s", msg.dump().c_str());
133
- #endif
134
- return this->send_message_<ListEntitiesSensorResponse>(msg, 16);
135
- }
136
- #endif
137
- #ifdef USE_SENSOR
138
- bool APIServerConnectionBase::send_sensor_state_response(const SensorStateResponse &msg) {
139
- #ifdef HAS_PROTO_MESSAGE_DUMP
140
- ESP_LOGVV(TAG, "send_sensor_state_response: %s", msg.dump().c_str());
141
- #endif
142
- return this->send_message_<SensorStateResponse>(msg, 25);
143
- }
144
- #endif
145
- #ifdef USE_SWITCH
146
- bool APIServerConnectionBase::send_list_entities_switch_response(const ListEntitiesSwitchResponse &msg) {
147
- #ifdef HAS_PROTO_MESSAGE_DUMP
148
- ESP_LOGVV(TAG, "send_list_entities_switch_response: %s", msg.dump().c_str());
149
- #endif
150
- return this->send_message_<ListEntitiesSwitchResponse>(msg, 17);
151
- }
152
- #endif
153
- #ifdef USE_SWITCH
154
- bool APIServerConnectionBase::send_switch_state_response(const SwitchStateResponse &msg) {
155
- #ifdef HAS_PROTO_MESSAGE_DUMP
156
- ESP_LOGVV(TAG, "send_switch_state_response: %s", msg.dump().c_str());
157
- #endif
158
- return this->send_message_<SwitchStateResponse>(msg, 26);
159
- }
160
- #endif
161
- #ifdef USE_SWITCH
162
- #endif
163
- #ifdef USE_TEXT_SENSOR
164
- bool APIServerConnectionBase::send_list_entities_text_sensor_response(const ListEntitiesTextSensorResponse &msg) {
165
- #ifdef HAS_PROTO_MESSAGE_DUMP
166
- ESP_LOGVV(TAG, "send_list_entities_text_sensor_response: %s", msg.dump().c_str());
167
- #endif
168
- return this->send_message_<ListEntitiesTextSensorResponse>(msg, 18);
169
- }
170
- #endif
171
- #ifdef USE_TEXT_SENSOR
172
- bool APIServerConnectionBase::send_text_sensor_state_response(const TextSensorStateResponse &msg) {
173
- #ifdef HAS_PROTO_MESSAGE_DUMP
174
- ESP_LOGVV(TAG, "send_text_sensor_state_response: %s", msg.dump().c_str());
175
- #endif
176
- return this->send_message_<TextSensorStateResponse>(msg, 27);
177
- }
178
- #endif
179
- bool APIServerConnectionBase::send_subscribe_logs_response(const SubscribeLogsResponse &msg) {
180
- return this->send_message_<SubscribeLogsResponse>(msg, 29);
181
- }
182
- #ifdef USE_API_NOISE
183
- #endif
184
- #ifdef USE_API_NOISE
185
- bool APIServerConnectionBase::send_noise_encryption_set_key_response(const NoiseEncryptionSetKeyResponse &msg) {
186
- #ifdef HAS_PROTO_MESSAGE_DUMP
187
- ESP_LOGVV(TAG, "send_noise_encryption_set_key_response: %s", msg.dump().c_str());
188
- #endif
189
- return this->send_message_<NoiseEncryptionSetKeyResponse>(msg, 125);
190
- }
191
- #endif
192
- bool APIServerConnectionBase::send_homeassistant_service_response(const HomeassistantServiceResponse &msg) {
193
- #ifdef HAS_PROTO_MESSAGE_DUMP
194
- ESP_LOGVV(TAG, "send_homeassistant_service_response: %s", msg.dump().c_str());
195
- #endif
196
- return this->send_message_<HomeassistantServiceResponse>(msg, 35);
197
- }
198
- bool APIServerConnectionBase::send_subscribe_home_assistant_state_response(
199
- const SubscribeHomeAssistantStateResponse &msg) {
200
- #ifdef HAS_PROTO_MESSAGE_DUMP
201
- ESP_LOGVV(TAG, "send_subscribe_home_assistant_state_response: %s", msg.dump().c_str());
202
- #endif
203
- return this->send_message_<SubscribeHomeAssistantStateResponse>(msg, 39);
204
- }
205
- bool APIServerConnectionBase::send_get_time_request(const GetTimeRequest &msg) {
206
- #ifdef HAS_PROTO_MESSAGE_DUMP
207
- ESP_LOGVV(TAG, "send_get_time_request: %s", msg.dump().c_str());
208
- #endif
209
- return this->send_message_<GetTimeRequest>(msg, 36);
210
- }
211
- bool APIServerConnectionBase::send_get_time_response(const GetTimeResponse &msg) {
212
- #ifdef HAS_PROTO_MESSAGE_DUMP
213
- ESP_LOGVV(TAG, "send_get_time_response: %s", msg.dump().c_str());
214
- #endif
215
- return this->send_message_<GetTimeResponse>(msg, 37);
216
- }
217
- bool APIServerConnectionBase::send_list_entities_services_response(const ListEntitiesServicesResponse &msg) {
218
- #ifdef HAS_PROTO_MESSAGE_DUMP
219
- ESP_LOGVV(TAG, "send_list_entities_services_response: %s", msg.dump().c_str());
220
- #endif
221
- return this->send_message_<ListEntitiesServicesResponse>(msg, 41);
222
- }
223
- #ifdef USE_ESP32_CAMERA
224
- bool APIServerConnectionBase::send_list_entities_camera_response(const ListEntitiesCameraResponse &msg) {
225
- #ifdef HAS_PROTO_MESSAGE_DUMP
226
- ESP_LOGVV(TAG, "send_list_entities_camera_response: %s", msg.dump().c_str());
227
- #endif
228
- return this->send_message_<ListEntitiesCameraResponse>(msg, 43);
229
- }
230
- #endif
231
- #ifdef USE_ESP32_CAMERA
232
- bool APIServerConnectionBase::send_camera_image_response(const CameraImageResponse &msg) {
233
- #ifdef HAS_PROTO_MESSAGE_DUMP
234
- ESP_LOGVV(TAG, "send_camera_image_response: %s", msg.dump().c_str());
235
- #endif
236
- return this->send_message_<CameraImageResponse>(msg, 44);
237
- }
238
- #endif
239
- #ifdef USE_ESP32_CAMERA
240
- #endif
241
- #ifdef USE_CLIMATE
242
- bool APIServerConnectionBase::send_list_entities_climate_response(const ListEntitiesClimateResponse &msg) {
243
- #ifdef HAS_PROTO_MESSAGE_DUMP
244
- ESP_LOGVV(TAG, "send_list_entities_climate_response: %s", msg.dump().c_str());
245
- #endif
246
- return this->send_message_<ListEntitiesClimateResponse>(msg, 46);
247
- }
248
- #endif
249
- #ifdef USE_CLIMATE
250
- bool APIServerConnectionBase::send_climate_state_response(const ClimateStateResponse &msg) {
251
- #ifdef HAS_PROTO_MESSAGE_DUMP
252
- ESP_LOGVV(TAG, "send_climate_state_response: %s", msg.dump().c_str());
253
- #endif
254
- return this->send_message_<ClimateStateResponse>(msg, 47);
255
- }
256
- #endif
257
- #ifdef USE_CLIMATE
258
- #endif
259
- #ifdef USE_NUMBER
260
- bool APIServerConnectionBase::send_list_entities_number_response(const ListEntitiesNumberResponse &msg) {
261
- #ifdef HAS_PROTO_MESSAGE_DUMP
262
- ESP_LOGVV(TAG, "send_list_entities_number_response: %s", msg.dump().c_str());
263
- #endif
264
- return this->send_message_<ListEntitiesNumberResponse>(msg, 49);
265
- }
266
- #endif
267
- #ifdef USE_NUMBER
268
- bool APIServerConnectionBase::send_number_state_response(const NumberStateResponse &msg) {
269
- #ifdef HAS_PROTO_MESSAGE_DUMP
270
- ESP_LOGVV(TAG, "send_number_state_response: %s", msg.dump().c_str());
271
- #endif
272
- return this->send_message_<NumberStateResponse>(msg, 50);
273
- }
274
- #endif
275
- #ifdef USE_NUMBER
276
- #endif
277
- #ifdef USE_SELECT
278
- bool APIServerConnectionBase::send_list_entities_select_response(const ListEntitiesSelectResponse &msg) {
279
- #ifdef HAS_PROTO_MESSAGE_DUMP
280
- ESP_LOGVV(TAG, "send_list_entities_select_response: %s", msg.dump().c_str());
281
- #endif
282
- return this->send_message_<ListEntitiesSelectResponse>(msg, 52);
283
- }
284
- #endif
285
- #ifdef USE_SELECT
286
- bool APIServerConnectionBase::send_select_state_response(const SelectStateResponse &msg) {
287
- #ifdef HAS_PROTO_MESSAGE_DUMP
288
- ESP_LOGVV(TAG, "send_select_state_response: %s", msg.dump().c_str());
289
- #endif
290
- return this->send_message_<SelectStateResponse>(msg, 53);
12
+ void APIServerConnectionBase::log_send_message_(const char *name, const std::string &dump) {
13
+ ESP_LOGVV(TAG, "send_message %s: %s", name, dump.c_str());
291
14
  }
292
15
  #endif
293
- #ifdef USE_SELECT
294
- #endif
295
- #ifdef USE_SIREN
296
- bool APIServerConnectionBase::send_list_entities_siren_response(const ListEntitiesSirenResponse &msg) {
297
- #ifdef HAS_PROTO_MESSAGE_DUMP
298
- ESP_LOGVV(TAG, "send_list_entities_siren_response: %s", msg.dump().c_str());
299
- #endif
300
- return this->send_message_<ListEntitiesSirenResponse>(msg, 55);
301
- }
302
- #endif
303
- #ifdef USE_SIREN
304
- bool APIServerConnectionBase::send_siren_state_response(const SirenStateResponse &msg) {
305
- #ifdef HAS_PROTO_MESSAGE_DUMP
306
- ESP_LOGVV(TAG, "send_siren_state_response: %s", msg.dump().c_str());
307
- #endif
308
- return this->send_message_<SirenStateResponse>(msg, 56);
309
- }
310
- #endif
311
- #ifdef USE_SIREN
312
- #endif
313
- #ifdef USE_LOCK
314
- bool APIServerConnectionBase::send_list_entities_lock_response(const ListEntitiesLockResponse &msg) {
315
- #ifdef HAS_PROTO_MESSAGE_DUMP
316
- ESP_LOGVV(TAG, "send_list_entities_lock_response: %s", msg.dump().c_str());
317
- #endif
318
- return this->send_message_<ListEntitiesLockResponse>(msg, 58);
319
- }
320
- #endif
321
- #ifdef USE_LOCK
322
- bool APIServerConnectionBase::send_lock_state_response(const LockStateResponse &msg) {
323
- #ifdef HAS_PROTO_MESSAGE_DUMP
324
- ESP_LOGVV(TAG, "send_lock_state_response: %s", msg.dump().c_str());
325
- #endif
326
- return this->send_message_<LockStateResponse>(msg, 59);
327
- }
328
- #endif
329
- #ifdef USE_LOCK
330
- #endif
331
- #ifdef USE_BUTTON
332
- bool APIServerConnectionBase::send_list_entities_button_response(const ListEntitiesButtonResponse &msg) {
333
- #ifdef HAS_PROTO_MESSAGE_DUMP
334
- ESP_LOGVV(TAG, "send_list_entities_button_response: %s", msg.dump().c_str());
335
- #endif
336
- return this->send_message_<ListEntitiesButtonResponse>(msg, 61);
337
- }
338
- #endif
339
- #ifdef USE_BUTTON
340
- #endif
341
- #ifdef USE_MEDIA_PLAYER
342
- bool APIServerConnectionBase::send_list_entities_media_player_response(const ListEntitiesMediaPlayerResponse &msg) {
343
- #ifdef HAS_PROTO_MESSAGE_DUMP
344
- ESP_LOGVV(TAG, "send_list_entities_media_player_response: %s", msg.dump().c_str());
345
- #endif
346
- return this->send_message_<ListEntitiesMediaPlayerResponse>(msg, 63);
347
- }
348
- #endif
349
- #ifdef USE_MEDIA_PLAYER
350
- bool APIServerConnectionBase::send_media_player_state_response(const MediaPlayerStateResponse &msg) {
351
- #ifdef HAS_PROTO_MESSAGE_DUMP
352
- ESP_LOGVV(TAG, "send_media_player_state_response: %s", msg.dump().c_str());
353
- #endif
354
- return this->send_message_<MediaPlayerStateResponse>(msg, 64);
355
- }
356
- #endif
357
- #ifdef USE_MEDIA_PLAYER
358
- #endif
359
- #ifdef USE_BLUETOOTH_PROXY
360
- #endif
361
- #ifdef USE_BLUETOOTH_PROXY
362
- bool APIServerConnectionBase::send_bluetooth_le_advertisement_response(const BluetoothLEAdvertisementResponse &msg) {
363
- #ifdef HAS_PROTO_MESSAGE_DUMP
364
- ESP_LOGVV(TAG, "send_bluetooth_le_advertisement_response: %s", msg.dump().c_str());
365
- #endif
366
- return this->send_message_<BluetoothLEAdvertisementResponse>(msg, 67);
367
- }
368
- #endif
369
- #ifdef USE_BLUETOOTH_PROXY
370
- bool APIServerConnectionBase::send_bluetooth_le_raw_advertisements_response(
371
- const BluetoothLERawAdvertisementsResponse &msg) {
372
- #ifdef HAS_PROTO_MESSAGE_DUMP
373
- ESP_LOGVV(TAG, "send_bluetooth_le_raw_advertisements_response: %s", msg.dump().c_str());
374
- #endif
375
- return this->send_message_<BluetoothLERawAdvertisementsResponse>(msg, 93);
376
- }
377
- #endif
378
- #ifdef USE_BLUETOOTH_PROXY
379
- #endif
380
- #ifdef USE_BLUETOOTH_PROXY
381
- bool APIServerConnectionBase::send_bluetooth_device_connection_response(const BluetoothDeviceConnectionResponse &msg) {
382
- #ifdef HAS_PROTO_MESSAGE_DUMP
383
- ESP_LOGVV(TAG, "send_bluetooth_device_connection_response: %s", msg.dump().c_str());
384
- #endif
385
- return this->send_message_<BluetoothDeviceConnectionResponse>(msg, 69);
386
- }
387
- #endif
388
- #ifdef USE_BLUETOOTH_PROXY
389
- #endif
390
- #ifdef USE_BLUETOOTH_PROXY
391
- bool APIServerConnectionBase::send_bluetooth_gatt_get_services_response(const BluetoothGATTGetServicesResponse &msg) {
392
- #ifdef HAS_PROTO_MESSAGE_DUMP
393
- ESP_LOGVV(TAG, "send_bluetooth_gatt_get_services_response: %s", msg.dump().c_str());
394
- #endif
395
- return this->send_message_<BluetoothGATTGetServicesResponse>(msg, 71);
396
- }
397
- #endif
398
- #ifdef USE_BLUETOOTH_PROXY
399
- bool APIServerConnectionBase::send_bluetooth_gatt_get_services_done_response(
400
- const BluetoothGATTGetServicesDoneResponse &msg) {
401
- #ifdef HAS_PROTO_MESSAGE_DUMP
402
- ESP_LOGVV(TAG, "send_bluetooth_gatt_get_services_done_response: %s", msg.dump().c_str());
403
- #endif
404
- return this->send_message_<BluetoothGATTGetServicesDoneResponse>(msg, 72);
405
- }
406
- #endif
407
- #ifdef USE_BLUETOOTH_PROXY
408
- #endif
409
- #ifdef USE_BLUETOOTH_PROXY
410
- bool APIServerConnectionBase::send_bluetooth_gatt_read_response(const BluetoothGATTReadResponse &msg) {
411
- #ifdef HAS_PROTO_MESSAGE_DUMP
412
- ESP_LOGVV(TAG, "send_bluetooth_gatt_read_response: %s", msg.dump().c_str());
413
- #endif
414
- return this->send_message_<BluetoothGATTReadResponse>(msg, 74);
415
- }
416
- #endif
417
- #ifdef USE_BLUETOOTH_PROXY
418
- #endif
419
- #ifdef USE_BLUETOOTH_PROXY
420
- #endif
421
- #ifdef USE_BLUETOOTH_PROXY
422
- #endif
423
- #ifdef USE_BLUETOOTH_PROXY
424
- #endif
425
- #ifdef USE_BLUETOOTH_PROXY
426
- bool APIServerConnectionBase::send_bluetooth_gatt_notify_data_response(const BluetoothGATTNotifyDataResponse &msg) {
427
- #ifdef HAS_PROTO_MESSAGE_DUMP
428
- ESP_LOGVV(TAG, "send_bluetooth_gatt_notify_data_response: %s", msg.dump().c_str());
429
- #endif
430
- return this->send_message_<BluetoothGATTNotifyDataResponse>(msg, 79);
431
- }
432
- #endif
433
- #ifdef USE_BLUETOOTH_PROXY
434
- #endif
435
- #ifdef USE_BLUETOOTH_PROXY
436
- bool APIServerConnectionBase::send_bluetooth_connections_free_response(const BluetoothConnectionsFreeResponse &msg) {
437
- #ifdef HAS_PROTO_MESSAGE_DUMP
438
- ESP_LOGVV(TAG, "send_bluetooth_connections_free_response: %s", msg.dump().c_str());
439
- #endif
440
- return this->send_message_<BluetoothConnectionsFreeResponse>(msg, 81);
441
- }
442
- #endif
443
- #ifdef USE_BLUETOOTH_PROXY
444
- bool APIServerConnectionBase::send_bluetooth_gatt_error_response(const BluetoothGATTErrorResponse &msg) {
445
- #ifdef HAS_PROTO_MESSAGE_DUMP
446
- ESP_LOGVV(TAG, "send_bluetooth_gatt_error_response: %s", msg.dump().c_str());
447
- #endif
448
- return this->send_message_<BluetoothGATTErrorResponse>(msg, 82);
449
- }
450
- #endif
451
- #ifdef USE_BLUETOOTH_PROXY
452
- bool APIServerConnectionBase::send_bluetooth_gatt_write_response(const BluetoothGATTWriteResponse &msg) {
453
- #ifdef HAS_PROTO_MESSAGE_DUMP
454
- ESP_LOGVV(TAG, "send_bluetooth_gatt_write_response: %s", msg.dump().c_str());
455
- #endif
456
- return this->send_message_<BluetoothGATTWriteResponse>(msg, 83);
457
- }
458
- #endif
459
- #ifdef USE_BLUETOOTH_PROXY
460
- bool APIServerConnectionBase::send_bluetooth_gatt_notify_response(const BluetoothGATTNotifyResponse &msg) {
461
- #ifdef HAS_PROTO_MESSAGE_DUMP
462
- ESP_LOGVV(TAG, "send_bluetooth_gatt_notify_response: %s", msg.dump().c_str());
463
- #endif
464
- return this->send_message_<BluetoothGATTNotifyResponse>(msg, 84);
465
- }
466
- #endif
467
- #ifdef USE_BLUETOOTH_PROXY
468
- bool APIServerConnectionBase::send_bluetooth_device_pairing_response(const BluetoothDevicePairingResponse &msg) {
469
- #ifdef HAS_PROTO_MESSAGE_DUMP
470
- ESP_LOGVV(TAG, "send_bluetooth_device_pairing_response: %s", msg.dump().c_str());
471
- #endif
472
- return this->send_message_<BluetoothDevicePairingResponse>(msg, 85);
473
- }
474
- #endif
475
- #ifdef USE_BLUETOOTH_PROXY
476
- bool APIServerConnectionBase::send_bluetooth_device_unpairing_response(const BluetoothDeviceUnpairingResponse &msg) {
477
- #ifdef HAS_PROTO_MESSAGE_DUMP
478
- ESP_LOGVV(TAG, "send_bluetooth_device_unpairing_response: %s", msg.dump().c_str());
479
- #endif
480
- return this->send_message_<BluetoothDeviceUnpairingResponse>(msg, 86);
481
- }
482
- #endif
483
- #ifdef USE_BLUETOOTH_PROXY
484
- #endif
485
- #ifdef USE_BLUETOOTH_PROXY
486
- bool APIServerConnectionBase::send_bluetooth_device_clear_cache_response(const BluetoothDeviceClearCacheResponse &msg) {
487
- #ifdef HAS_PROTO_MESSAGE_DUMP
488
- ESP_LOGVV(TAG, "send_bluetooth_device_clear_cache_response: %s", msg.dump().c_str());
489
- #endif
490
- return this->send_message_<BluetoothDeviceClearCacheResponse>(msg, 88);
491
- }
492
- #endif
493
- #ifdef USE_BLUETOOTH_PROXY
494
- bool APIServerConnectionBase::send_bluetooth_scanner_state_response(const BluetoothScannerStateResponse &msg) {
495
- #ifdef HAS_PROTO_MESSAGE_DUMP
496
- ESP_LOGVV(TAG, "send_bluetooth_scanner_state_response: %s", msg.dump().c_str());
497
- #endif
498
- return this->send_message_<BluetoothScannerStateResponse>(msg, 126);
499
- }
500
- #endif
501
- #ifdef USE_BLUETOOTH_PROXY
502
- #endif
503
- #ifdef USE_VOICE_ASSISTANT
504
- #endif
505
- #ifdef USE_VOICE_ASSISTANT
506
- bool APIServerConnectionBase::send_voice_assistant_request(const VoiceAssistantRequest &msg) {
507
- #ifdef HAS_PROTO_MESSAGE_DUMP
508
- ESP_LOGVV(TAG, "send_voice_assistant_request: %s", msg.dump().c_str());
509
- #endif
510
- return this->send_message_<VoiceAssistantRequest>(msg, 90);
511
- }
512
- #endif
513
- #ifdef USE_VOICE_ASSISTANT
514
- #endif
515
- #ifdef USE_VOICE_ASSISTANT
516
- #endif
517
- #ifdef USE_VOICE_ASSISTANT
518
- bool APIServerConnectionBase::send_voice_assistant_audio(const VoiceAssistantAudio &msg) {
519
- #ifdef HAS_PROTO_MESSAGE_DUMP
520
- ESP_LOGVV(TAG, "send_voice_assistant_audio: %s", msg.dump().c_str());
521
- #endif
522
- return this->send_message_<VoiceAssistantAudio>(msg, 106);
523
- }
524
- #endif
525
- #ifdef USE_VOICE_ASSISTANT
526
- #endif
527
- #ifdef USE_VOICE_ASSISTANT
528
- #endif
529
- #ifdef USE_VOICE_ASSISTANT
530
- bool APIServerConnectionBase::send_voice_assistant_announce_finished(const VoiceAssistantAnnounceFinished &msg) {
531
- #ifdef HAS_PROTO_MESSAGE_DUMP
532
- ESP_LOGVV(TAG, "send_voice_assistant_announce_finished: %s", msg.dump().c_str());
533
- #endif
534
- return this->send_message_<VoiceAssistantAnnounceFinished>(msg, 120);
535
- }
536
- #endif
537
- #ifdef USE_VOICE_ASSISTANT
538
- #endif
539
- #ifdef USE_VOICE_ASSISTANT
540
- bool APIServerConnectionBase::send_voice_assistant_configuration_response(
541
- const VoiceAssistantConfigurationResponse &msg) {
542
- #ifdef HAS_PROTO_MESSAGE_DUMP
543
- ESP_LOGVV(TAG, "send_voice_assistant_configuration_response: %s", msg.dump().c_str());
544
- #endif
545
- return this->send_message_<VoiceAssistantConfigurationResponse>(msg, 122);
546
- }
547
- #endif
548
- #ifdef USE_VOICE_ASSISTANT
549
- #endif
550
- #ifdef USE_ALARM_CONTROL_PANEL
551
- bool APIServerConnectionBase::send_list_entities_alarm_control_panel_response(
552
- const ListEntitiesAlarmControlPanelResponse &msg) {
553
- #ifdef HAS_PROTO_MESSAGE_DUMP
554
- ESP_LOGVV(TAG, "send_list_entities_alarm_control_panel_response: %s", msg.dump().c_str());
555
- #endif
556
- return this->send_message_<ListEntitiesAlarmControlPanelResponse>(msg, 94);
557
- }
558
- #endif
559
- #ifdef USE_ALARM_CONTROL_PANEL
560
- bool APIServerConnectionBase::send_alarm_control_panel_state_response(const AlarmControlPanelStateResponse &msg) {
561
- #ifdef HAS_PROTO_MESSAGE_DUMP
562
- ESP_LOGVV(TAG, "send_alarm_control_panel_state_response: %s", msg.dump().c_str());
563
- #endif
564
- return this->send_message_<AlarmControlPanelStateResponse>(msg, 95);
565
- }
566
- #endif
567
- #ifdef USE_ALARM_CONTROL_PANEL
568
- #endif
569
- #ifdef USE_TEXT
570
- bool APIServerConnectionBase::send_list_entities_text_response(const ListEntitiesTextResponse &msg) {
571
- #ifdef HAS_PROTO_MESSAGE_DUMP
572
- ESP_LOGVV(TAG, "send_list_entities_text_response: %s", msg.dump().c_str());
573
- #endif
574
- return this->send_message_<ListEntitiesTextResponse>(msg, 97);
575
- }
576
- #endif
577
- #ifdef USE_TEXT
578
- bool APIServerConnectionBase::send_text_state_response(const TextStateResponse &msg) {
579
- #ifdef HAS_PROTO_MESSAGE_DUMP
580
- ESP_LOGVV(TAG, "send_text_state_response: %s", msg.dump().c_str());
581
- #endif
582
- return this->send_message_<TextStateResponse>(msg, 98);
583
- }
584
- #endif
585
- #ifdef USE_TEXT
586
- #endif
587
- #ifdef USE_DATETIME_DATE
588
- bool APIServerConnectionBase::send_list_entities_date_response(const ListEntitiesDateResponse &msg) {
589
- #ifdef HAS_PROTO_MESSAGE_DUMP
590
- ESP_LOGVV(TAG, "send_list_entities_date_response: %s", msg.dump().c_str());
591
- #endif
592
- return this->send_message_<ListEntitiesDateResponse>(msg, 100);
593
- }
594
- #endif
595
- #ifdef USE_DATETIME_DATE
596
- bool APIServerConnectionBase::send_date_state_response(const DateStateResponse &msg) {
597
- #ifdef HAS_PROTO_MESSAGE_DUMP
598
- ESP_LOGVV(TAG, "send_date_state_response: %s", msg.dump().c_str());
599
- #endif
600
- return this->send_message_<DateStateResponse>(msg, 101);
601
- }
602
- #endif
603
- #ifdef USE_DATETIME_DATE
604
- #endif
605
- #ifdef USE_DATETIME_TIME
606
- bool APIServerConnectionBase::send_list_entities_time_response(const ListEntitiesTimeResponse &msg) {
607
- #ifdef HAS_PROTO_MESSAGE_DUMP
608
- ESP_LOGVV(TAG, "send_list_entities_time_response: %s", msg.dump().c_str());
609
- #endif
610
- return this->send_message_<ListEntitiesTimeResponse>(msg, 103);
611
- }
612
- #endif
613
- #ifdef USE_DATETIME_TIME
614
- bool APIServerConnectionBase::send_time_state_response(const TimeStateResponse &msg) {
615
- #ifdef HAS_PROTO_MESSAGE_DUMP
616
- ESP_LOGVV(TAG, "send_time_state_response: %s", msg.dump().c_str());
617
- #endif
618
- return this->send_message_<TimeStateResponse>(msg, 104);
619
- }
620
- #endif
621
- #ifdef USE_DATETIME_TIME
622
- #endif
623
- #ifdef USE_EVENT
624
- bool APIServerConnectionBase::send_list_entities_event_response(const ListEntitiesEventResponse &msg) {
625
- #ifdef HAS_PROTO_MESSAGE_DUMP
626
- ESP_LOGVV(TAG, "send_list_entities_event_response: %s", msg.dump().c_str());
627
- #endif
628
- return this->send_message_<ListEntitiesEventResponse>(msg, 107);
629
- }
630
- #endif
631
- #ifdef USE_EVENT
632
- bool APIServerConnectionBase::send_event_response(const EventResponse &msg) {
633
- #ifdef HAS_PROTO_MESSAGE_DUMP
634
- ESP_LOGVV(TAG, "send_event_response: %s", msg.dump().c_str());
635
- #endif
636
- return this->send_message_<EventResponse>(msg, 108);
637
- }
638
- #endif
639
- #ifdef USE_VALVE
640
- bool APIServerConnectionBase::send_list_entities_valve_response(const ListEntitiesValveResponse &msg) {
641
- #ifdef HAS_PROTO_MESSAGE_DUMP
642
- ESP_LOGVV(TAG, "send_list_entities_valve_response: %s", msg.dump().c_str());
643
- #endif
644
- return this->send_message_<ListEntitiesValveResponse>(msg, 109);
645
- }
646
- #endif
647
- #ifdef USE_VALVE
648
- bool APIServerConnectionBase::send_valve_state_response(const ValveStateResponse &msg) {
649
- #ifdef HAS_PROTO_MESSAGE_DUMP
650
- ESP_LOGVV(TAG, "send_valve_state_response: %s", msg.dump().c_str());
651
- #endif
652
- return this->send_message_<ValveStateResponse>(msg, 110);
653
- }
654
- #endif
655
- #ifdef USE_VALVE
656
- #endif
657
- #ifdef USE_DATETIME_DATETIME
658
- bool APIServerConnectionBase::send_list_entities_date_time_response(const ListEntitiesDateTimeResponse &msg) {
659
- #ifdef HAS_PROTO_MESSAGE_DUMP
660
- ESP_LOGVV(TAG, "send_list_entities_date_time_response: %s", msg.dump().c_str());
661
- #endif
662
- return this->send_message_<ListEntitiesDateTimeResponse>(msg, 112);
663
- }
664
- #endif
665
- #ifdef USE_DATETIME_DATETIME
666
- bool APIServerConnectionBase::send_date_time_state_response(const DateTimeStateResponse &msg) {
667
- #ifdef HAS_PROTO_MESSAGE_DUMP
668
- ESP_LOGVV(TAG, "send_date_time_state_response: %s", msg.dump().c_str());
669
- #endif
670
- return this->send_message_<DateTimeStateResponse>(msg, 113);
671
- }
672
- #endif
673
- #ifdef USE_DATETIME_DATETIME
674
- #endif
675
- #ifdef USE_UPDATE
676
- bool APIServerConnectionBase::send_list_entities_update_response(const ListEntitiesUpdateResponse &msg) {
677
- #ifdef HAS_PROTO_MESSAGE_DUMP
678
- ESP_LOGVV(TAG, "send_list_entities_update_response: %s", msg.dump().c_str());
679
- #endif
680
- return this->send_message_<ListEntitiesUpdateResponse>(msg, 116);
681
- }
682
- #endif
683
- #ifdef USE_UPDATE
684
- bool APIServerConnectionBase::send_update_state_response(const UpdateStateResponse &msg) {
685
- #ifdef HAS_PROTO_MESSAGE_DUMP
686
- ESP_LOGVV(TAG, "send_update_state_response: %s", msg.dump().c_str());
687
- #endif
688
- return this->send_message_<UpdateStateResponse>(msg, 117);
689
- }
690
- #endif
691
- #ifdef USE_UPDATE
692
- #endif
16
+
693
17
  bool APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type, uint8_t *msg_data) {
694
18
  switch (msg_type) {
695
19
  case 1: {
@@ -1273,25 +597,25 @@ bool APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
1273
597
 
1274
598
  void APIServerConnection::on_hello_request(const HelloRequest &msg) {
1275
599
  HelloResponse ret = this->hello(msg);
1276
- if (!this->send_hello_response(ret)) {
600
+ if (!this->send_message(ret)) {
1277
601
  this->on_fatal_error();
1278
602
  }
1279
603
  }
1280
604
  void APIServerConnection::on_connect_request(const ConnectRequest &msg) {
1281
605
  ConnectResponse ret = this->connect(msg);
1282
- if (!this->send_connect_response(ret)) {
606
+ if (!this->send_message(ret)) {
1283
607
  this->on_fatal_error();
1284
608
  }
1285
609
  }
1286
610
  void APIServerConnection::on_disconnect_request(const DisconnectRequest &msg) {
1287
611
  DisconnectResponse ret = this->disconnect(msg);
1288
- if (!this->send_disconnect_response(ret)) {
612
+ if (!this->send_message(ret)) {
1289
613
  this->on_fatal_error();
1290
614
  }
1291
615
  }
1292
616
  void APIServerConnection::on_ping_request(const PingRequest &msg) {
1293
617
  PingResponse ret = this->ping(msg);
1294
- if (!this->send_ping_response(ret)) {
618
+ if (!this->send_message(ret)) {
1295
619
  this->on_fatal_error();
1296
620
  }
1297
621
  }
@@ -1301,7 +625,7 @@ void APIServerConnection::on_device_info_request(const DeviceInfoRequest &msg) {
1301
625
  return;
1302
626
  }
1303
627
  DeviceInfoResponse ret = this->device_info(msg);
1304
- if (!this->send_device_info_response(ret)) {
628
+ if (!this->send_message(ret)) {
1305
629
  this->on_fatal_error();
1306
630
  }
1307
631
  }
@@ -1367,7 +691,7 @@ void APIServerConnection::on_get_time_request(const GetTimeRequest &msg) {
1367
691
  return;
1368
692
  }
1369
693
  GetTimeResponse ret = this->get_time(msg);
1370
- if (!this->send_get_time_response(ret)) {
694
+ if (!this->send_message(ret)) {
1371
695
  this->on_fatal_error();
1372
696
  }
1373
697
  }
@@ -1393,7 +717,7 @@ void APIServerConnection::on_noise_encryption_set_key_request(const NoiseEncrypt
1393
717
  return;
1394
718
  }
1395
719
  NoiseEncryptionSetKeyResponse ret = this->noise_encryption_set_key(msg);
1396
- if (!this->send_noise_encryption_set_key_response(ret)) {
720
+ if (!this->send_message(ret)) {
1397
721
  this->on_fatal_error();
1398
722
  }
1399
723
  }
@@ -1749,7 +1073,7 @@ void APIServerConnection::on_subscribe_bluetooth_connections_free_request(
1749
1073
  return;
1750
1074
  }
1751
1075
  BluetoothConnectionsFreeResponse ret = this->subscribe_bluetooth_connections_free(msg);
1752
- if (!this->send_bluetooth_connections_free_response(ret)) {
1076
+ if (!this->send_message(ret)) {
1753
1077
  this->on_fatal_error();
1754
1078
  }
1755
1079
  }
@@ -1805,7 +1129,7 @@ void APIServerConnection::on_voice_assistant_configuration_request(const VoiceAs
1805
1129
  return;
1806
1130
  }
1807
1131
  VoiceAssistantConfigurationResponse ret = this->voice_assistant_get_configuration(msg);
1808
- if (!this->send_voice_assistant_configuration_response(ret)) {
1132
+ if (!this->send_message(ret)) {
1809
1133
  this->on_fatal_error();
1810
1134
  }
1811
1135
  }