esphome 2025.7.4__py3-none-any.whl → 2025.8.0b1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of esphome might be problematic. Click here for more details.

Files changed (754) hide show
  1. esphome/__main__.py +189 -82
  2. esphome/automation.py +2 -4
  3. esphome/build_gen/__init__.py +0 -0
  4. esphome/build_gen/platformio.py +102 -0
  5. esphome/components/a4988/a4988.cpp +0 -1
  6. esphome/components/absolute_humidity/absolute_humidity.cpp +0 -2
  7. esphome/components/absolute_humidity/sensor.py +2 -2
  8. esphome/components/adc/__init__.py +123 -85
  9. esphome/components/adc/adc_sensor.h +98 -35
  10. esphome/components/adc/adc_sensor_common.cpp +10 -4
  11. esphome/components/adc/adc_sensor_esp32.cpp +291 -123
  12. esphome/components/adc/adc_sensor_esp8266.cpp +1 -4
  13. esphome/components/adc/adc_sensor_libretiny.cpp +1 -2
  14. esphome/components/adc/adc_sensor_rp2040.cpp +1 -2
  15. esphome/components/adc/adc_sensor_zephyr.cpp +207 -0
  16. esphome/components/adc/sensor.py +61 -27
  17. esphome/components/adc128s102/adc128s102.cpp +1 -4
  18. esphome/components/ade7880/sensor.py +75 -49
  19. esphome/components/ads1115/ads1115.cpp +0 -1
  20. esphome/components/ads1118/ads1118.cpp +0 -1
  21. esphome/components/ags10/ags10.cpp +0 -4
  22. esphome/components/aht10/aht10.cpp +0 -4
  23. esphome/components/aic3204/aic3204.cpp +0 -2
  24. esphome/components/airthings_wave_plus/__init__.py +1 -1
  25. esphome/components/airthings_wave_plus/airthings_wave_plus.cpp +22 -4
  26. esphome/components/airthings_wave_plus/airthings_wave_plus.h +10 -1
  27. esphome/components/airthings_wave_plus/sensor.py +55 -28
  28. esphome/components/alarm_control_panel/__init__.py +4 -9
  29. esphome/components/am2315c/am2315c.cpp +0 -2
  30. esphome/components/am2320/am2320.cpp +0 -1
  31. esphome/components/animation/__init__.py +14 -11
  32. esphome/components/apds9306/apds9306.cpp +0 -4
  33. esphome/components/apds9960/apds9960.cpp +0 -1
  34. esphome/components/api/__init__.py +29 -4
  35. esphome/components/api/api_connection.cpp +378 -401
  36. esphome/components/api/api_connection.h +112 -56
  37. esphome/components/api/api_frame_helper.cpp +69 -896
  38. esphome/components/api/api_frame_helper.h +31 -126
  39. esphome/components/api/api_frame_helper_noise.cpp +583 -0
  40. esphome/components/api/api_frame_helper_noise.h +68 -0
  41. esphome/components/api/api_frame_helper_plaintext.cpp +290 -0
  42. esphome/components/api/api_frame_helper_plaintext.h +53 -0
  43. esphome/components/api/api_noise_context.h +2 -4
  44. esphome/components/api/api_pb2.cpp +1601 -1808
  45. esphome/components/api/api_pb2.h +367 -323
  46. esphome/components/api/api_pb2_dump.cpp +1137 -3466
  47. esphome/components/api/api_pb2_includes.h +34 -0
  48. esphome/components/api/api_pb2_service.cpp +94 -105
  49. esphome/components/api/api_pb2_service.h +27 -16
  50. esphome/components/api/api_server.cpp +18 -17
  51. esphome/components/api/api_server.h +8 -5
  52. esphome/components/api/client.py +16 -8
  53. esphome/components/api/custom_api_device.h +68 -14
  54. esphome/components/api/homeassistant_service.h +24 -19
  55. esphome/components/api/list_entities.cpp +3 -5
  56. esphome/components/api/list_entities.h +2 -4
  57. esphome/components/api/proto.cpp +3 -5
  58. esphome/components/api/proto.h +239 -274
  59. esphome/components/api/subscribe_state.cpp +2 -4
  60. esphome/components/api/subscribe_state.h +2 -4
  61. esphome/components/api/user_services.cpp +2 -4
  62. esphome/components/api/user_services.h +8 -8
  63. esphome/components/as3935/as3935.cpp +0 -2
  64. esphome/components/as3935_spi/as3935_spi.cpp +0 -2
  65. esphome/components/as5600/__init__.py +1 -1
  66. esphome/components/as5600/as5600.cpp +0 -2
  67. esphome/components/as5600/sensor/__init__.py +0 -1
  68. esphome/components/as7341/as7341.cpp +0 -1
  69. esphome/components/async_tcp/__init__.py +1 -1
  70. esphome/components/at581x/at581x.cpp +1 -1
  71. esphome/components/atm90e26/atm90e26.cpp +0 -1
  72. esphome/components/atm90e32/atm90e32.cpp +488 -118
  73. esphome/components/atm90e32/atm90e32.h +44 -5
  74. esphome/components/audio/audio.h +2 -2
  75. esphome/components/axs15231/touchscreen/axs15231_touchscreen.cpp +0 -2
  76. esphome/components/beken_spi_led_strip/led_strip.cpp +0 -2
  77. esphome/components/bh1750/bh1750.cpp +0 -1
  78. esphome/components/binary_sensor/__init__.py +14 -12
  79. esphome/components/ble_client/__init__.py +4 -7
  80. esphome/components/bluetooth_proxy/__init__.py +40 -3
  81. esphome/components/bluetooth_proxy/bluetooth_connection.cpp +387 -82
  82. esphome/components/bluetooth_proxy/bluetooth_connection.h +16 -5
  83. esphome/components/bluetooth_proxy/bluetooth_proxy.cpp +102 -311
  84. esphome/components/bluetooth_proxy/bluetooth_proxy.h +30 -14
  85. esphome/components/bme280_base/bme280_base.cpp +15 -16
  86. esphome/components/bme680/bme680.cpp +2 -3
  87. esphome/components/bme680_bsec/bme680_bsec.cpp +0 -2
  88. esphome/components/bme68x_bsec2/bme68x_bsec2.cpp +0 -2
  89. esphome/components/bmi160/bmi160.cpp +0 -1
  90. esphome/components/bmp085/bmp085.cpp +0 -1
  91. esphome/components/bmp280_base/bmp280_base.cpp +13 -14
  92. esphome/components/bmp3xx_base/bmp3xx_base.cpp +0 -1
  93. esphome/components/bmp581/bmp581.cpp +0 -2
  94. esphome/components/bp1658cj/bp1658cj.cpp +0 -1
  95. esphome/components/bp5758d/bp5758d.cpp +0 -1
  96. esphome/components/button/__init__.py +0 -1
  97. esphome/components/canbus/__init__.py +2 -3
  98. esphome/components/canbus/canbus.cpp +0 -1
  99. esphome/components/cap1188/cap1188.cpp +0 -2
  100. esphome/components/captive_portal/__init__.py +1 -1
  101. esphome/components/cd74hc4067/cd74hc4067.cpp +0 -2
  102. esphome/components/ch422g/ch422g.cpp +0 -1
  103. esphome/components/chsc6x/chsc6x_touchscreen.cpp +0 -3
  104. esphome/components/climate/__init__.py +0 -1
  105. esphome/components/climate/climate_traits.h +24 -0
  106. esphome/components/cm1106/cm1106.cpp +0 -1
  107. esphome/components/const/__init__.py +6 -0
  108. esphome/components/cover/__init__.py +0 -1
  109. esphome/components/cover/cover.cpp +9 -13
  110. esphome/components/cs5460a/cs5460a.cpp +0 -2
  111. esphome/components/cse7761/cse7761.cpp +0 -1
  112. esphome/components/cst226/touchscreen/cst226_touchscreen.cpp +0 -2
  113. esphome/components/cst816/touchscreen/cst816_touchscreen.cpp +0 -2
  114. esphome/components/dac7678/dac7678_output.cpp +0 -2
  115. esphome/components/dallas_temp/dallas_temp.cpp +0 -1
  116. esphome/components/datetime/__init__.py +0 -2
  117. esphome/components/debug/__init__.py +15 -1
  118. esphome/components/debug/debug_zephyr.cpp +281 -0
  119. esphome/components/debug/sensor.py +2 -1
  120. esphome/components/deep_sleep/deep_sleep_component.cpp +0 -1
  121. esphome/components/deep_sleep/deep_sleep_esp32.cpp +20 -1
  122. esphome/components/dfrobot_sen0395/__init__.py +1 -2
  123. esphome/components/dht/dht.cpp +0 -1
  124. esphome/components/dht12/dht12.cpp +0 -1
  125. esphome/components/display/__init__.py +16 -3
  126. esphome/components/display_menu_base/__init__.py +1 -1
  127. esphome/components/dps310/dps310.cpp +0 -2
  128. esphome/components/ds1307/ds1307.cpp +0 -1
  129. esphome/components/ds2484/ds2484.cpp +0 -1
  130. esphome/components/duty_cycle/duty_cycle_sensor.cpp +0 -1
  131. esphome/components/ee895/ee895.cpp +0 -1
  132. esphome/components/ektf2232/touchscreen/ektf2232.cpp +0 -1
  133. esphome/components/emc2101/emc2101.cpp +0 -2
  134. esphome/components/ens160_base/ens160_base.cpp +0 -2
  135. esphome/components/ens210/ens210.cpp +0 -1
  136. esphome/components/es7210/es7210.cpp +0 -2
  137. esphome/components/es7243e/es7243e.cpp +0 -2
  138. esphome/components/es8156/es8156.cpp +0 -2
  139. esphome/components/es8311/es8311.cpp +0 -2
  140. esphome/components/es8388/es8388.cpp +0 -2
  141. esphome/components/esp32/__init__.py +199 -58
  142. esphome/components/esp32/boards.py +17 -0
  143. esphome/components/esp32/gpio.cpp +0 -1
  144. esphome/components/esp32/gpio.py +1 -2
  145. esphome/components/esp32/gpio_esp32_h2.py +2 -7
  146. esphome/components/esp32/gpio_esp32_p4.py +2 -7
  147. esphome/components/esp32/post_build.py.script +112 -61
  148. esphome/components/esp32_ble/__init__.py +40 -2
  149. esphome/components/esp32_ble/ble.cpp +12 -8
  150. esphome/components/esp32_ble/ble.h +18 -18
  151. esphome/components/esp32_ble/ble_advertising.cpp +5 -5
  152. esphome/components/esp32_ble/ble_advertising.h +7 -5
  153. esphome/components/esp32_ble/ble_event.h +2 -4
  154. esphome/components/esp32_ble/ble_scan_result.h +2 -4
  155. esphome/components/esp32_ble/ble_uuid.cpp +5 -5
  156. esphome/components/esp32_ble/ble_uuid.h +6 -5
  157. esphome/components/esp32_ble_beacon/__init__.py +4 -0
  158. esphome/components/esp32_ble_client/__init__.py +1 -1
  159. esphome/components/esp32_ble_client/ble_characteristic.cpp +4 -4
  160. esphome/components/esp32_ble_client/ble_characteristic.h +6 -4
  161. esphome/components/esp32_ble_client/ble_client_base.cpp +155 -104
  162. esphome/components/esp32_ble_client/ble_client_base.h +17 -6
  163. esphome/components/esp32_ble_client/ble_descriptor.h +6 -4
  164. esphome/components/esp32_ble_client/ble_service.cpp +4 -4
  165. esphome/components/esp32_ble_client/ble_service.h +6 -4
  166. esphome/components/esp32_ble_server/__init__.py +15 -12
  167. esphome/components/esp32_ble_tracker/__init__.py +79 -11
  168. esphome/components/esp32_ble_tracker/automation.h +4 -4
  169. esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +264 -261
  170. esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +103 -37
  171. esphome/components/esp32_camera/__init__.py +13 -1
  172. esphome/components/esp32_camera/esp32_camera.cpp +7 -2
  173. esphome/components/esp32_camera/esp32_camera.h +1 -0
  174. esphome/components/esp32_dac/esp32_dac.cpp +3 -19
  175. esphome/components/esp32_dac/esp32_dac.h +4 -8
  176. esphome/components/esp32_rmt_led_strip/led_strip.cpp +1 -6
  177. esphome/components/esp32_rmt_led_strip/light.py +1 -1
  178. esphome/components/esp32_touch/__init__.py +2 -3
  179. esphome/components/esp32_touch/esp32_touch.h +9 -6
  180. esphome/components/esp32_touch/esp32_touch_common.cpp +2 -0
  181. esphome/components/esp32_touch/esp32_touch_v1.cpp +7 -9
  182. esphome/components/esp32_touch/esp32_touch_v2.cpp +10 -6
  183. esphome/components/esp8266/__init__.py +3 -1
  184. esphome/components/esp8266_pwm/esp8266_pwm.cpp +0 -1
  185. esphome/components/esphome/ota/__init__.py +1 -2
  186. esphome/components/esphome/ota/ota_esphome.cpp +150 -77
  187. esphome/components/esphome/ota/ota_esphome.h +8 -1
  188. esphome/components/espnow/__init__.py +309 -0
  189. esphome/components/espnow/automation.h +175 -0
  190. esphome/components/espnow/espnow_component.cpp +468 -0
  191. esphome/components/espnow/espnow_component.h +183 -0
  192. esphome/components/espnow/espnow_err.h +19 -0
  193. esphome/components/espnow/espnow_packet.h +166 -0
  194. esphome/components/ethernet/__init__.py +7 -1
  195. esphome/components/ethernet/esp_eth_phy_jl1101.c +5 -0
  196. esphome/components/ethernet/ethernet_component.cpp +0 -1
  197. esphome/components/ethernet/ethernet_component.h +4 -0
  198. esphome/components/ethernet_info/ethernet_info_text_sensor.h +0 -3
  199. esphome/components/event/__init__.py +0 -1
  200. esphome/components/factory_reset/__init__.py +92 -0
  201. esphome/components/factory_reset/factory_reset.cpp +76 -0
  202. esphome/components/factory_reset/factory_reset.h +43 -0
  203. esphome/components/fan/__init__.py +0 -1
  204. esphome/components/fan/fan_traits.h +16 -0
  205. esphome/components/fastled_base/fastled_light.cpp +0 -1
  206. esphome/components/fastled_spi/light.py +1 -3
  207. esphome/components/fingerprint_grow/fingerprint_grow.cpp +0 -2
  208. esphome/components/font/__init__.py +9 -1
  209. esphome/components/fs3000/fs3000.cpp +0 -2
  210. esphome/components/ft5x06/touchscreen/ft5x06_touchscreen.cpp +0 -2
  211. esphome/components/ft63x6/ft63x6.cpp +0 -1
  212. esphome/components/gdk101/gdk101.cpp +0 -1
  213. esphome/components/gl_r01_i2c/gl_r01_i2c.cpp +0 -1
  214. esphome/components/gl_r01_i2c/sensor.py +1 -1
  215. esphome/components/gpio/one_wire/gpio_one_wire.cpp +0 -1
  216. esphome/components/gpio/switch/gpio_switch.cpp +0 -2
  217. esphome/components/gpio_expander/cached_gpio.h +24 -15
  218. esphome/components/gps/__init__.py +6 -2
  219. esphome/components/gps/gps.cpp +50 -49
  220. esphome/components/gps/gps.h +4 -8
  221. esphome/components/gps/time/gps_time.cpp +3 -9
  222. esphome/components/gps/time/gps_time.h +4 -7
  223. esphome/components/graph/__init__.py +1 -1
  224. esphome/components/grove_gas_mc_v2/grove_gas_mc_v2.cpp +0 -1
  225. esphome/components/grove_tb6612fng/grove_tb6612fng.cpp +0 -1
  226. esphome/components/gt911/touchscreen/gt911_touchscreen.cpp +21 -12
  227. esphome/components/gt911/touchscreen/gt911_touchscreen.h +26 -2
  228. esphome/components/haier/climate.py +5 -10
  229. esphome/components/haier/haier_base.cpp +0 -1
  230. esphome/components/hbridge/switch/hbridge_switch.cpp +0 -2
  231. esphome/components/hdc1080/hdc1080.cpp +0 -2
  232. esphome/components/heatpumpir/climate.py +2 -2
  233. esphome/components/hlw8012/hlw8012.cpp +0 -1
  234. esphome/components/hm3301/hm3301.cpp +0 -1
  235. esphome/components/hmc5883l/hmc5883l.cpp +0 -1
  236. esphome/components/homeassistant/__init__.py +1 -0
  237. esphome/components/homeassistant/number/__init__.py +1 -0
  238. esphome/components/homeassistant/number/homeassistant_number.cpp +11 -7
  239. esphome/components/homeassistant/switch/__init__.py +1 -0
  240. esphome/components/homeassistant/switch/homeassistant_switch.cpp +9 -5
  241. esphome/components/honeywellabp/honeywellabp.cpp +1 -4
  242. esphome/components/host/__init__.py +2 -0
  243. esphome/components/hte501/hte501.cpp +0 -1
  244. esphome/components/http_request/__init__.py +2 -3
  245. esphome/components/http_request/http_request_idf.cpp +2 -2
  246. esphome/components/htu21d/htu21d.cpp +0 -2
  247. esphome/components/htu31d/htu31d.cpp +0 -2
  248. esphome/components/hx711/hx711.cpp +0 -1
  249. esphome/components/hydreon_rgxx/hydreon_rgxx.cpp +0 -1
  250. esphome/components/hydreon_rgxx/sensor.py +4 -5
  251. esphome/components/i2c/i2c_bus.h +1 -1
  252. esphome/components/i2c/i2c_bus_arduino.cpp +1 -2
  253. esphome/components/i2c/i2c_bus_esp_idf.cpp +192 -17
  254. esphome/components/i2c/i2c_bus_esp_idf.h +11 -1
  255. esphome/components/i2s_audio/__init__.py +6 -5
  256. esphome/components/i2s_audio/i2s_audio.cpp +0 -2
  257. esphome/components/i2s_audio/media_player/i2s_audio_media_player.cpp +1 -4
  258. esphome/components/i2s_audio/microphone/__init__.py +4 -6
  259. esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp +46 -19
  260. esphome/components/i2s_audio/microphone/i2s_audio_microphone.h +4 -3
  261. esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +273 -269
  262. esphome/components/i2s_audio/speaker/i2s_audio_speaker.h +19 -34
  263. esphome/components/ili9xxx/display.py +4 -3
  264. esphome/components/ili9xxx/ili9xxx_display.cpp +0 -2
  265. esphome/components/image/__init__.py +123 -92
  266. esphome/components/improv_serial/__init__.py +7 -8
  267. esphome/components/ina219/ina219.cpp +0 -1
  268. esphome/components/ina226/ina226.cpp +0 -2
  269. esphome/components/ina260/ina260.cpp +0 -2
  270. esphome/components/ina2xx_base/__init__.py +2 -5
  271. esphome/components/ina2xx_base/ina2xx_base.cpp +0 -2
  272. esphome/components/ina3221/ina3221.cpp +0 -1
  273. esphome/components/internal_temperature/internal_temperature.cpp +0 -2
  274. esphome/components/interval/interval.h +5 -9
  275. esphome/components/json/__init__.py +1 -1
  276. esphome/components/kmeteriso/kmeteriso.cpp +0 -2
  277. esphome/components/lc709203f/lc709203f.cpp +0 -2
  278. esphome/components/lcd_gpio/display.py +1 -3
  279. esphome/components/lcd_gpio/gpio_lcd_display.cpp +0 -1
  280. esphome/components/lcd_pcf8574/pcf8574_display.cpp +0 -1
  281. esphome/components/ld2410/__init__.py +4 -6
  282. esphome/components/ld2410/binary_sensor.py +4 -0
  283. esphome/components/ld2410/ld2410.cpp +56 -100
  284. esphome/components/ld2410/ld2410.h +17 -15
  285. esphome/components/ld2410/sensor.py +24 -10
  286. esphome/components/ld2412/__init__.py +46 -0
  287. esphome/components/ld2412/binary_sensor.py +70 -0
  288. esphome/components/ld2412/button/__init__.py +74 -0
  289. esphome/components/ld2412/button/factory_reset_button.cpp +9 -0
  290. esphome/components/ld2412/button/factory_reset_button.h +18 -0
  291. esphome/components/ld2412/button/query_button.cpp +9 -0
  292. esphome/components/ld2412/button/query_button.h +18 -0
  293. esphome/components/ld2412/button/restart_button.cpp +9 -0
  294. esphome/components/ld2412/button/restart_button.h +18 -0
  295. esphome/components/ld2412/button/start_dynamic_background_correction_button.cpp +11 -0
  296. esphome/components/ld2412/button/start_dynamic_background_correction_button.h +18 -0
  297. esphome/components/ld2412/ld2412.cpp +861 -0
  298. esphome/components/ld2412/ld2412.h +141 -0
  299. esphome/components/ld2412/number/__init__.py +126 -0
  300. esphome/components/ld2412/number/gate_threshold_number.cpp +14 -0
  301. esphome/components/ld2412/number/gate_threshold_number.h +19 -0
  302. esphome/components/ld2412/number/light_threshold_number.cpp +12 -0
  303. esphome/components/ld2412/number/light_threshold_number.h +18 -0
  304. esphome/components/ld2412/number/max_distance_timeout_number.cpp +12 -0
  305. esphome/components/ld2412/number/max_distance_timeout_number.h +18 -0
  306. esphome/components/ld2412/select/__init__.py +82 -0
  307. esphome/components/ld2412/select/baud_rate_select.cpp +12 -0
  308. esphome/components/ld2412/select/baud_rate_select.h +18 -0
  309. esphome/components/ld2412/select/distance_resolution_select.cpp +12 -0
  310. esphome/components/ld2412/select/distance_resolution_select.h +18 -0
  311. esphome/components/ld2412/select/light_out_control_select.cpp +12 -0
  312. esphome/components/ld2412/select/light_out_control_select.h +18 -0
  313. esphome/components/ld2412/sensor.py +124 -0
  314. esphome/components/ld2412/switch/__init__.py +45 -0
  315. esphome/components/ld2412/switch/bluetooth_switch.cpp +12 -0
  316. esphome/components/ld2412/switch/bluetooth_switch.h +18 -0
  317. esphome/components/ld2412/switch/engineering_mode_switch.cpp +12 -0
  318. esphome/components/ld2412/switch/engineering_mode_switch.h +18 -0
  319. esphome/components/ld2412/text_sensor.py +34 -0
  320. esphome/components/ld2420/ld2420.cpp +0 -1
  321. esphome/components/ld2450/__init__.py +3 -4
  322. esphome/components/ld2450/binary_sensor.py +3 -0
  323. esphome/components/ld2450/ld2450.cpp +77 -165
  324. esphome/components/ld2450/ld2450.h +26 -54
  325. esphome/components/ld2450/sensor.py +120 -6
  326. esphome/components/ld2450/text_sensor.py +5 -4
  327. esphome/components/ld24xx/__init__.py +1 -0
  328. esphome/components/ld24xx/ld24xx.h +65 -0
  329. esphome/components/ledc/ledc_output.cpp +0 -1
  330. esphome/components/libretiny/__init__.py +2 -0
  331. esphome/components/light/__init__.py +0 -1
  332. esphome/components/light/effects.py +70 -45
  333. esphome/components/light/light_call.cpp +101 -66
  334. esphome/components/light/light_color_values.h +16 -11
  335. esphome/components/light/light_json_schema.cpp +46 -44
  336. esphome/components/light/light_state.cpp +8 -11
  337. esphome/components/light/light_traits.h +17 -0
  338. esphome/components/lightwaverf/lightwaverf.cpp +0 -2
  339. esphome/components/lilygo_t5_47/touchscreen/lilygo_t5_47_touchscreen.cpp +0 -1
  340. esphome/components/lock/__init__.py +0 -1
  341. esphome/components/logger/__init__.py +31 -9
  342. esphome/components/logger/logger.cpp +12 -7
  343. esphome/components/logger/logger.h +25 -14
  344. esphome/components/logger/logger_esp32.cpp +2 -7
  345. esphome/components/logger/logger_esp8266.cpp +2 -4
  346. esphome/components/logger/logger_host.cpp +2 -4
  347. esphome/components/logger/logger_libretiny.cpp +2 -4
  348. esphome/components/logger/logger_rp2040.cpp +2 -4
  349. esphome/components/logger/logger_zephyr.cpp +86 -0
  350. esphome/components/logger/select/logger_level_select.cpp +2 -4
  351. esphome/components/logger/select/logger_level_select.h +2 -4
  352. esphome/components/logger/task_log_buffer.cpp +2 -4
  353. esphome/components/logger/task_log_buffer.h +2 -4
  354. esphome/components/lps22/sensor.py +5 -5
  355. esphome/components/ltr390/ltr390.cpp +0 -2
  356. esphome/components/ltr501/ltr501.cpp +0 -1
  357. esphome/components/ltr_als_ps/ltr_als_ps.cpp +0 -1
  358. esphome/components/lvgl/__init__.py +14 -13
  359. esphome/components/lvgl/automation.py +2 -4
  360. esphome/components/lvgl/defines.py +0 -2
  361. esphome/components/lvgl/helpers.py +1 -1
  362. esphome/components/lvgl/lv_validation.py +7 -4
  363. esphome/components/lvgl/lvgl_esphome.cpp +2 -3
  364. esphome/components/lvgl/styles.py +2 -2
  365. esphome/components/lvgl/types.py +1 -1
  366. esphome/components/lvgl/widgets/__init__.py +2 -2
  367. esphome/components/lvgl/widgets/arc.py +14 -11
  368. esphome/components/lvgl/widgets/buttonmatrix.py +1 -1
  369. esphome/components/lvgl/widgets/qrcode.py +7 -7
  370. esphome/components/lvgl/widgets/spinner.py +6 -6
  371. esphome/components/lvgl/widgets/switch.py +2 -2
  372. esphome/components/lvgl/widgets/tabview.py +3 -3
  373. esphome/components/lvgl/widgets/tileview.py +15 -7
  374. esphome/components/m5stack_8angle/m5stack_8angle.cpp +0 -1
  375. esphome/components/matrix_keypad/__init__.py +4 -3
  376. esphome/components/max17043/max17043.cpp +0 -2
  377. esphome/components/max31855/max31855.cpp +1 -4
  378. esphome/components/max31856/max31856.cpp +0 -4
  379. esphome/components/max31865/max31865.cpp +0 -1
  380. esphome/components/max44009/max44009.cpp +0 -1
  381. esphome/components/max6675/max6675.cpp +1 -4
  382. esphome/components/max6956/max6956.cpp +0 -1
  383. esphome/components/max7219/max7219.cpp +0 -1
  384. esphome/components/max7219digit/display.py +1 -1
  385. esphome/components/max7219digit/max7219digit.cpp +0 -1
  386. esphome/components/max9611/max9611.cpp +0 -1
  387. esphome/components/mcp23008/__init__.py +1 -1
  388. esphome/components/mcp23008/mcp23008.cpp +0 -1
  389. esphome/components/mcp23016/mcp23016.cpp +0 -1
  390. esphome/components/mcp23017/__init__.py +1 -1
  391. esphome/components/mcp23017/mcp23017.cpp +0 -1
  392. esphome/components/mcp23s08/__init__.py +1 -1
  393. esphome/components/mcp23s08/mcp23s08.cpp +0 -1
  394. esphome/components/mcp23s17/__init__.py +1 -1
  395. esphome/components/mcp23s17/mcp23s17.cpp +0 -1
  396. esphome/components/mcp23x08_base/__init__.py +2 -0
  397. esphome/components/mcp23x08_base/mcp23x08_base.cpp +9 -7
  398. esphome/components/mcp23x08_base/mcp23x08_base.h +9 -4
  399. esphome/components/mcp23x17_base/__init__.py +2 -0
  400. esphome/components/mcp23x17_base/mcp23x17_base.cpp +20 -7
  401. esphome/components/mcp23x17_base/mcp23x17_base.h +9 -4
  402. esphome/components/mcp23xxx_base/__init__.py +11 -5
  403. esphome/components/mcp23xxx_base/mcp23xxx_base.cpp +15 -12
  404. esphome/components/mcp23xxx_base/mcp23xxx_base.h +8 -7
  405. esphome/components/mcp3008/mcp3008.cpp +1 -4
  406. esphome/components/mcp3204/mcp3204.cpp +1 -4
  407. esphome/components/mcp4461/mcp4461.cpp +0 -1
  408. esphome/components/mcp4725/mcp4725.cpp +0 -1
  409. esphome/components/mcp4728/mcp4728.cpp +0 -1
  410. esphome/components/mcp9600/mcp9600.cpp +0 -2
  411. esphome/components/mcp9808/mcp9808.cpp +0 -2
  412. esphome/components/mdns/__init__.py +3 -0
  413. esphome/components/mdns/mdns_component.cpp +2 -0
  414. esphome/components/mdns/mdns_component.h +4 -0
  415. esphome/components/media_player/__init__.py +40 -0
  416. esphome/components/media_player/automation.h +16 -0
  417. esphome/components/media_player/media_player.cpp +13 -0
  418. esphome/components/media_player/media_player.h +50 -3
  419. esphome/components/micro_wake_word/micro_wake_word.cpp +0 -3
  420. esphome/components/mics_4514/mics_4514.cpp +1 -6
  421. esphome/components/midea/ir_transmitter.h +4 -4
  422. esphome/components/mipi/__init__.py +416 -0
  423. esphome/components/mipi_dsi/__init__.py +5 -0
  424. esphome/components/mipi_dsi/display.py +233 -0
  425. esphome/components/mipi_dsi/mipi_dsi.cpp +379 -0
  426. esphome/components/mipi_dsi/mipi_dsi.h +123 -0
  427. esphome/components/mipi_dsi/models/__init__.py +0 -0
  428. esphome/components/mipi_dsi/models/guition.py +38 -0
  429. esphome/components/mipi_dsi/models/m5stack.py +57 -0
  430. esphome/components/mipi_dsi/models/waveshare.py +105 -0
  431. esphome/components/mipi_rgb/models/lilygo.py +0 -0
  432. esphome/components/mipi_spi/__init__.py +0 -9
  433. esphome/components/mipi_spi/display.py +220 -256
  434. esphome/components/mipi_spi/mipi_spi.cpp +1 -485
  435. esphome/components/mipi_spi/mipi_spi.h +556 -108
  436. esphome/components/mipi_spi/models/__init__.py +0 -65
  437. esphome/components/mipi_spi/models/adafruit.py +30 -0
  438. esphome/components/mipi_spi/models/amoled.py +41 -5
  439. esphome/components/mipi_spi/models/ili.py +5 -5
  440. esphome/components/mipi_spi/models/jc.py +1 -3
  441. esphome/components/mipi_spi/models/lilygo.py +1 -1
  442. esphome/components/mipi_spi/models/waveshare.py +16 -1
  443. esphome/components/mixer/speaker/__init__.py +4 -5
  444. esphome/components/mlx90393/sensor.py +7 -5
  445. esphome/components/mlx90393/sensor_mlx90393.cpp +0 -1
  446. esphome/components/mlx90614/mlx90614.cpp +0 -1
  447. esphome/components/mmc5603/mmc5603.cpp +0 -1
  448. esphome/components/mmc5983/mmc5983.cpp +0 -2
  449. esphome/components/mpl3115a2/mpl3115a2.cpp +0 -2
  450. esphome/components/mpr121/__init__.py +7 -6
  451. esphome/components/mpr121/mpr121.cpp +0 -1
  452. esphome/components/mpu6050/mpu6050.cpp +0 -1
  453. esphome/components/mpu6886/mpu6886.cpp +0 -1
  454. esphome/components/mqtt/__init__.py +1 -2
  455. esphome/components/mqtt/mqtt_button.cpp +1 -1
  456. esphome/components/mqtt/mqtt_client.cpp +0 -1
  457. esphome/components/mqtt/mqtt_component.cpp +8 -14
  458. esphome/components/mqtt/mqtt_component.h +0 -7
  459. esphome/components/mqtt/mqtt_sensor.cpp +0 -1
  460. esphome/components/mqtt/mqtt_sensor.h +0 -1
  461. esphome/components/mqtt/mqtt_text_sensor.cpp +0 -1
  462. esphome/components/mqtt/mqtt_text_sensor.h +0 -1
  463. esphome/components/ms5611/ms5611.cpp +0 -1
  464. esphome/components/ms8607/ms8607.cpp +0 -1
  465. esphome/components/msa3xx/msa3xx.cpp +0 -2
  466. esphome/components/my9231/my9231.cpp +0 -2
  467. esphome/components/nau7802/nau7802.cpp +0 -1
  468. esphome/components/neopixelbus/light.py +3 -0
  469. esphome/components/network/util.cpp +29 -0
  470. esphome/components/nextion/nextion.cpp +0 -1
  471. esphome/components/nfc/binary_sensor/{binary_sensor.cpp → nfc_binary_sensor.cpp} +1 -1
  472. esphome/components/npi19/npi19.cpp +0 -2
  473. esphome/components/nrf52/__init__.py +223 -0
  474. esphome/components/nrf52/boards.py +34 -0
  475. esphome/components/nrf52/const.py +18 -0
  476. esphome/components/nrf52/gpio.py +79 -0
  477. esphome/components/number/__init__.py +2 -1
  478. esphome/components/one_wire/__init__.py +1 -2
  479. esphome/components/one_wire/one_wire.cpp +0 -2
  480. esphome/components/one_wire/one_wire.h +0 -2
  481. esphome/components/opentherm/hub.cpp +0 -1
  482. esphome/components/opentherm/number/__init__.py +2 -2
  483. esphome/components/openthread/__init__.py +2 -3
  484. esphome/components/openthread/openthread.cpp +30 -13
  485. esphome/components/openthread/openthread.h +3 -0
  486. esphome/components/openthread/openthread_esp.cpp +3 -1
  487. esphome/components/opt3001/sensor.py +2 -6
  488. esphome/components/output/__init__.py +38 -0
  489. esphome/components/output/automation.h +24 -0
  490. esphome/components/output/switch/output_switch.cpp +0 -2
  491. esphome/components/packages/__init__.py +1 -2
  492. esphome/components/packet_transport/__init__.py +4 -3
  493. esphome/components/pca6416a/pca6416a.cpp +0 -1
  494. esphome/components/pca9554/pca9554.cpp +0 -1
  495. esphome/components/pca9685/pca9685_output.cpp +0 -2
  496. esphome/components/pcf85063/pcf85063.cpp +0 -1
  497. esphome/components/pcf8563/pcf8563.cpp +0 -1
  498. esphome/components/pcf8574/pcf8574.cpp +0 -1
  499. esphome/components/pi4ioe5v6408/pi4ioe5v6408.cpp +0 -1
  500. esphome/components/pipsolar/sensor/__init__.py +1 -1
  501. esphome/components/pm2005/pm2005.cpp +0 -1
  502. esphome/components/pmsa003i/pmsa003i.cpp +0 -2
  503. esphome/components/pmwcs3/sensor.py +1 -2
  504. esphome/components/pn532/pn532.cpp +0 -2
  505. esphome/components/pn532_spi/pn532_spi.cpp +0 -2
  506. esphome/components/power_supply/power_supply.cpp +7 -10
  507. esphome/components/power_supply/power_supply.h +1 -1
  508. esphome/components/psram/__init__.py +2 -1
  509. esphome/components/pulse_counter/pulse_counter_sensor.cpp +0 -1
  510. esphome/components/pulse_counter/sensor.py +9 -6
  511. esphome/components/pylontech/pylontech.cpp +0 -1
  512. esphome/components/qmc5883l/qmc5883l.cpp +0 -1
  513. esphome/components/qmp6988/qmp6988.cpp +0 -2
  514. esphome/components/qspi_dbi/display.py +2 -3
  515. esphome/components/qspi_dbi/qspi_dbi.cpp +0 -2
  516. esphome/components/qwiic_pir/binary_sensor.py +2 -3
  517. esphome/components/qwiic_pir/qwiic_pir.cpp +0 -2
  518. esphome/components/rc522/rc522.cpp +9 -31
  519. esphome/components/rc522_spi/rc522_spi.cpp +0 -1
  520. esphome/components/remote_base/__init__.py +5 -6
  521. esphome/components/remote_receiver/remote_receiver_esp32.cpp +0 -1
  522. esphome/components/remote_receiver/remote_receiver_esp8266.cpp +0 -1
  523. esphome/components/remote_receiver/remote_receiver_libretiny.cpp +0 -1
  524. esphome/components/remote_transmitter/__init__.py +26 -0
  525. esphome/components/remote_transmitter/automation.h +18 -0
  526. esphome/components/remote_transmitter/remote_transmitter.h +2 -1
  527. esphome/components/remote_transmitter/remote_transmitter_esp32.cpp +0 -1
  528. esphome/components/remote_transmitter/remote_transmitter_esp8266.cpp +2 -0
  529. esphome/components/remote_transmitter/remote_transmitter_libretiny.cpp +2 -0
  530. esphome/components/resampler/speaker/__init__.py +4 -5
  531. esphome/components/rf_bridge/__init__.py +4 -8
  532. esphome/components/rotary_encoder/rotary_encoder.cpp +0 -2
  533. esphome/components/rp2040/__init__.py +3 -1
  534. esphome/components/rp2040_pio_led_strip/led_strip.cpp +0 -2
  535. esphome/components/rp2040_pio_led_strip/light.py +1 -2
  536. esphome/components/rp2040_pwm/rp2040_pwm.cpp +1 -5
  537. esphome/components/rpi_dpi_rgb/display.py +13 -15
  538. esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.cpp +0 -3
  539. esphome/components/runtime_stats/__init__.py +34 -0
  540. esphome/components/runtime_stats/runtime_stats.cpp +102 -0
  541. esphome/components/runtime_stats/runtime_stats.h +132 -0
  542. esphome/components/scd30/scd30.cpp +0 -2
  543. esphome/components/scd30/sensor.py +1 -2
  544. esphome/components/scd4x/scd4x.cpp +0 -1
  545. esphome/components/scd4x/sensor.py +1 -3
  546. esphome/components/sdl/display.py +3 -1
  547. esphome/components/sdl/sdl_esphome.cpp +0 -2
  548. esphome/components/sdp3x/sdp3x.cpp +0 -2
  549. esphome/components/seeed_mr24hpc1/seeed_mr24hpc1.cpp +0 -2
  550. esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp +0 -3
  551. esphome/components/select/__init__.py +2 -3
  552. esphome/components/select/select_traits.cpp +1 -1
  553. esphome/components/select/select_traits.h +1 -1
  554. esphome/components/sen0321/sen0321.cpp +0 -1
  555. esphome/components/sen5x/sen5x.cpp +0 -2
  556. esphome/components/sensor/__init__.py +36 -4
  557. esphome/components/sensor/filter.cpp +49 -10
  558. esphome/components/sensor/filter.h +22 -7
  559. esphome/components/sensor/sensor.cpp +0 -1
  560. esphome/components/sensor/sensor.h +0 -9
  561. esphome/components/sfa30/sfa30.cpp +0 -4
  562. esphome/components/sgp30/sgp30.cpp +0 -2
  563. esphome/components/sgp4x/sensor.py +1 -1
  564. esphome/components/sgp4x/sgp4x.cpp +0 -2
  565. esphome/components/shelly_dimmer/shelly_dimmer.cpp +0 -2
  566. esphome/components/sht3xd/sht3xd.cpp +0 -2
  567. esphome/components/sht4x/sht4x.cpp +0 -2
  568. esphome/components/shtcx/shtcx.cpp +0 -1
  569. esphome/components/sim800l/__init__.py +2 -4
  570. esphome/components/sm16716/sm16716.cpp +0 -1
  571. esphome/components/sm2135/sm2135.cpp +0 -1
  572. esphome/components/sm2235/sm2235.cpp +0 -1
  573. esphome/components/sm2335/sm2335.cpp +0 -1
  574. esphome/components/sn74hc165/sn74hc165.cpp +0 -1
  575. esphome/components/sn74hc595/sn74hc595.cpp +0 -1
  576. esphome/components/sntp/sntp_component.cpp +0 -1
  577. esphome/components/sound_level/sensor.py +1 -1
  578. esphome/components/speaker/media_player/__init__.py +21 -33
  579. esphome/components/speaker/media_player/audio_pipeline.cpp +4 -7
  580. esphome/components/spi/__init__.py +29 -13
  581. esphome/components/spi/spi.cpp +0 -2
  582. esphome/components/spi_device/spi_device.cpp +1 -4
  583. esphome/components/sprinkler/__init__.py +4 -4
  584. esphome/components/sps30/sps30.cpp +0 -1
  585. esphome/components/ssd1306_base/__init__.py +11 -11
  586. esphome/components/ssd1306_base/ssd1306_base.cpp +1 -1
  587. esphome/components/ssd1306_i2c/ssd1306_i2c.cpp +0 -1
  588. esphome/components/ssd1306_spi/ssd1306_spi.cpp +0 -1
  589. esphome/components/ssd1322_spi/ssd1322_spi.cpp +0 -1
  590. esphome/components/ssd1325_spi/ssd1325_spi.cpp +0 -1
  591. esphome/components/ssd1327_i2c/ssd1327_i2c.cpp +0 -1
  592. esphome/components/ssd1327_spi/ssd1327_spi.cpp +0 -1
  593. esphome/components/ssd1331_spi/ssd1331_spi.cpp +0 -1
  594. esphome/components/ssd1351_spi/ssd1351_spi.cpp +0 -1
  595. esphome/components/st7567_i2c/st7567_i2c.cpp +0 -1
  596. esphome/components/st7567_spi/st7567_spi.cpp +0 -1
  597. esphome/components/st7701s/display.py +10 -14
  598. esphome/components/st7701s/st7701s.cpp +0 -3
  599. esphome/components/st7735/st7735.cpp +0 -1
  600. esphome/components/st7789v/st7789v.cpp +0 -1
  601. esphome/components/st7920/st7920.cpp +0 -1
  602. esphome/components/status_led/light/status_led_light.cpp +0 -2
  603. esphome/components/status_led/status_led.cpp +0 -1
  604. esphome/components/stepper/__init__.py +2 -4
  605. esphome/components/sts3x/sts3x.cpp +0 -1
  606. esphome/components/substitutions/__init__.py +10 -16
  607. esphome/components/substitutions/jinja.py +24 -1
  608. esphome/components/sun/__init__.py +2 -3
  609. esphome/components/switch/__init__.py +31 -1
  610. esphome/components/switch/automation.h +24 -0
  611. esphome/components/switch/switch.cpp +8 -0
  612. esphome/components/switch/switch.h +8 -0
  613. esphome/components/sx126x/sx126x.cpp +0 -2
  614. esphome/components/sx127x/sx127x.cpp +0 -2
  615. esphome/components/sx1509/__init__.py +7 -5
  616. esphome/components/sx1509/output/sx1509_float_output.cpp +1 -1
  617. esphome/components/sx1509/sx1509.cpp +0 -2
  618. esphome/components/syslog/esphome_syslog.cpp +1 -1
  619. esphome/components/tc74/tc74.cpp +0 -1
  620. esphome/components/tca9548a/tca9548a.cpp +0 -1
  621. esphome/components/tca9555/tca9555.cpp +0 -1
  622. esphome/components/tcs34725/tcs34725.cpp +0 -1
  623. esphome/components/tee501/tee501.cpp +0 -1
  624. esphome/components/tem3200/tem3200.cpp +0 -2
  625. esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp +0 -1
  626. esphome/components/template/cover/template_cover.cpp +0 -1
  627. esphome/components/template/select/template_select.cpp +0 -1
  628. esphome/components/template/text/template_text.cpp +0 -2
  629. esphome/components/template/valve/template_valve.cpp +0 -1
  630. esphome/components/text/__init__.py +0 -1
  631. esphome/components/text/text_traits.h +2 -0
  632. esphome/components/text_sensor/__init__.py +2 -1
  633. esphome/components/text_sensor/text_sensor.cpp +0 -2
  634. esphome/components/text_sensor/text_sensor.h +0 -8
  635. esphome/components/thermostat/climate.py +4 -4
  636. esphome/components/time/__init__.py +7 -4
  637. esphome/components/time/real_time_clock.cpp +16 -3
  638. esphome/components/tlc59208f/tlc59208f_output.cpp +0 -2
  639. esphome/components/tlc5947/tlc5947.cpp +0 -2
  640. esphome/components/tlc5971/tlc5971.cpp +0 -2
  641. esphome/components/tm1621/tm1621.cpp +0 -2
  642. esphome/components/tm1637/tm1637.cpp +0 -2
  643. esphome/components/tm1638/tm1638.cpp +0 -2
  644. esphome/components/tm1651/__init__.py +45 -48
  645. esphome/components/tm1651/tm1651.cpp +213 -47
  646. esphome/components/tm1651/tm1651.h +37 -32
  647. esphome/components/tmp117/tmp117.cpp +0 -2
  648. esphome/components/tsl2561/tsl2561.cpp +0 -1
  649. esphome/components/tsl2591/tsl2591.cpp +0 -1
  650. esphome/components/tt21100/touchscreen/tt21100.cpp +0 -2
  651. esphome/components/ttp229_bsf/ttp229_bsf.cpp +0 -1
  652. esphome/components/ttp229_lsf/ttp229_lsf.cpp +0 -1
  653. esphome/components/tuya/climate/__init__.py +9 -10
  654. esphome/components/tuya/number/__init__.py +8 -6
  655. esphome/components/tx20/tx20.cpp +0 -1
  656. esphome/components/uart/uart_component_esp32_arduino.cpp +0 -1
  657. esphome/components/uart/uart_component_esp8266.cpp +0 -1
  658. esphome/components/uart/uart_component_esp_idf.cpp +0 -2
  659. esphome/components/uart/uart_component_libretiny.cpp +0 -2
  660. esphome/components/uart/uart_component_rp2040.cpp +0 -2
  661. esphome/components/udp/__init__.py +1 -1
  662. esphome/components/ufire_ec/sensor.py +1 -2
  663. esphome/components/ufire_ec/ufire_ec.cpp +0 -2
  664. esphome/components/ufire_ise/sensor.py +1 -2
  665. esphome/components/ufire_ise/ufire_ise.cpp +0 -2
  666. esphome/components/ultrasonic/ultrasonic_sensor.cpp +0 -1
  667. esphome/components/update/__init__.py +0 -1
  668. esphome/components/uptime/sensor/uptime_seconds_sensor.cpp +0 -1
  669. esphome/components/uptime/sensor/uptime_seconds_sensor.h +0 -2
  670. esphome/components/usb_host/usb_host_client.cpp +0 -1
  671. esphome/components/usb_host/usb_host_component.cpp +0 -1
  672. esphome/components/valve/__init__.py +0 -1
  673. esphome/components/veml3235/veml3235.cpp +0 -3
  674. esphome/components/veml7700/veml7700.cpp +0 -2
  675. esphome/components/version/version_text_sensor.cpp +0 -1
  676. esphome/components/version/version_text_sensor.h +0 -1
  677. esphome/components/vl53l0x/vl53l0x_sensor.cpp +0 -4
  678. esphome/components/voice_assistant/voice_assistant.cpp +9 -8
  679. esphome/components/web_server/__init__.py +13 -0
  680. esphome/components/web_server/web_server.cpp +187 -352
  681. esphome/components/web_server/web_server.h +61 -1
  682. esphome/components/web_server_base/__init__.py +1 -1
  683. esphome/components/web_server_base/web_server_base.cpp +2 -0
  684. esphome/components/web_server_base/web_server_base.h +6 -0
  685. esphome/components/web_server_idf/web_server_idf.cpp +10 -8
  686. esphome/components/web_server_idf/web_server_idf.h +2 -0
  687. esphome/components/weikai_i2c/weikai_i2c.cpp +1 -2
  688. esphome/components/weikai_spi/weikai_spi.cpp +1 -1
  689. esphome/components/wifi/__init__.py +8 -43
  690. esphome/components/wifi/wifi_component.cpp +100 -36
  691. esphome/components/wifi/wifi_component.h +5 -1
  692. esphome/components/wifi/wifi_component_esp32_arduino.cpp +30 -0
  693. esphome/components/wifi/wifi_component_esp_idf.cpp +30 -0
  694. esphome/components/wifi_info/wifi_info_text_sensor.h +0 -6
  695. esphome/components/wifi_signal/wifi_signal_sensor.h +0 -1
  696. esphome/components/wireguard/wireguard.cpp +0 -2
  697. esphome/components/x9c/x9c.cpp +0 -2
  698. esphome/components/xgzp68xx/xgzp68xx.cpp +0 -1
  699. esphome/components/xl9535/xl9535.cpp +0 -2
  700. esphome/components/zephyr/__init__.py +252 -0
  701. esphome/components/zephyr/const.py +16 -0
  702. esphome/components/zephyr/core.cpp +90 -0
  703. esphome/components/zephyr/gpio.cpp +120 -0
  704. esphome/components/zephyr/gpio.h +38 -0
  705. esphome/components/zephyr/pre_build.py.script +4 -0
  706. esphome/components/zephyr/preferences.cpp +156 -0
  707. esphome/components/zephyr/preferences.h +13 -0
  708. esphome/config.py +38 -16
  709. esphome/config_helpers.py +1 -2
  710. esphome/config_validation.py +8 -15
  711. esphome/const.py +26 -1
  712. esphome/core/__init__.py +88 -51
  713. esphome/core/application.cpp +75 -21
  714. esphome/core/application.h +106 -171
  715. esphome/core/color.h +10 -0
  716. esphome/core/component.cpp +41 -25
  717. esphome/core/component.h +9 -6
  718. esphome/core/component_iterator.cpp +61 -261
  719. esphome/core/component_iterator.h +15 -0
  720. esphome/core/config.py +26 -11
  721. esphome/core/defines.h +40 -2
  722. esphome/core/entity_base.h +18 -0
  723. esphome/core/entity_helpers.py +41 -6
  724. esphome/core/helpers.cpp +8 -15
  725. esphome/core/helpers.h +60 -6
  726. esphome/core/lock_free_queue.h +1 -1
  727. esphome/core/scheduler.cpp +277 -74
  728. esphome/core/scheduler.h +89 -27
  729. esphome/cpp_generator.py +2 -6
  730. esphome/cpp_helpers.py +1 -1
  731. esphome/dashboard/dashboard.py +2 -3
  732. esphome/dashboard/dns.py +2 -8
  733. esphome/dashboard/web_server.py +34 -19
  734. esphome/espota2.py +1 -4
  735. esphome/git.py +3 -1
  736. esphome/helpers.py +23 -4
  737. esphome/log.py +3 -1
  738. esphome/mqtt.py +3 -5
  739. esphome/platformio_api.py +7 -4
  740. esphome/types.py +12 -0
  741. esphome/util.py +20 -8
  742. esphome/voluptuous_schema.py +4 -3
  743. esphome/vscode.py +1 -2
  744. esphome/wizard.py +1 -4
  745. esphome/writer.py +5 -107
  746. esphome/yaml_util.py +7 -5
  747. {esphome-2025.7.4.dist-info → esphome-2025.8.0b1.dist-info}/METADATA +12 -13
  748. {esphome-2025.7.4.dist-info → esphome-2025.8.0b1.dist-info}/RECORD +753 -673
  749. esphome/components/mipi_spi/models/commands.py +0 -82
  750. /esphome/components/nfc/binary_sensor/{binary_sensor.h → nfc_binary_sensor.h} +0 -0
  751. {esphome-2025.7.4.dist-info → esphome-2025.8.0b1.dist-info}/WHEEL +0 -0
  752. {esphome-2025.7.4.dist-info → esphome-2025.8.0b1.dist-info}/entry_points.txt +0 -0
  753. {esphome-2025.7.4.dist-info → esphome-2025.8.0b1.dist-info}/licenses/LICENSE +0 -0
  754. {esphome-2025.7.4.dist-info → esphome-2025.8.0b1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,34 @@
1
+ #pragma once
2
+
3
+ #include "esphome/core/defines.h"
4
+
5
+ // This file provides includes needed by the generated protobuf code
6
+ // when using pointer optimizations for component-specific types
7
+
8
+ #ifdef USE_CLIMATE
9
+ #include "esphome/components/climate/climate_mode.h"
10
+ #include "esphome/components/climate/climate_traits.h"
11
+ #endif
12
+
13
+ #ifdef USE_LIGHT
14
+ #include "esphome/components/light/light_traits.h"
15
+ #endif
16
+
17
+ #ifdef USE_FAN
18
+ #include "esphome/components/fan/fan_traits.h"
19
+ #endif
20
+
21
+ #ifdef USE_SELECT
22
+ #include "esphome/components/select/select_traits.h"
23
+ #endif
24
+
25
+ // Standard library includes that might be needed
26
+ #include <set>
27
+ #include <vector>
28
+ #include <string>
29
+
30
+ namespace esphome::api {
31
+
32
+ // This file only provides includes, no actual code
33
+
34
+ } // namespace esphome::api
@@ -3,8 +3,7 @@
3
3
  #include "api_pb2_service.h"
4
4
  #include "esphome/core/log.h"
5
5
 
6
- namespace esphome {
7
- namespace api {
6
+ namespace esphome::api {
8
7
 
9
8
  static const char *const TAG = "api.service";
10
9
 
@@ -16,7 +15,7 @@ void APIServerConnectionBase::log_send_message_(const char *name, const std::str
16
15
 
17
16
  void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type, uint8_t *msg_data) {
18
17
  switch (msg_type) {
19
- case 1: {
18
+ case HelloRequest::MESSAGE_TYPE: {
20
19
  HelloRequest msg;
21
20
  msg.decode(msg_data, msg_size);
22
21
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -25,7 +24,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
25
24
  this->on_hello_request(msg);
26
25
  break;
27
26
  }
28
- case 3: {
27
+ case ConnectRequest::MESSAGE_TYPE: {
29
28
  ConnectRequest msg;
30
29
  msg.decode(msg_data, msg_size);
31
30
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -34,70 +33,70 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
34
33
  this->on_connect_request(msg);
35
34
  break;
36
35
  }
37
- case 5: {
36
+ case DisconnectRequest::MESSAGE_TYPE: {
38
37
  DisconnectRequest msg;
39
- msg.decode(msg_data, msg_size);
38
+ // Empty message: no decode needed
40
39
  #ifdef HAS_PROTO_MESSAGE_DUMP
41
40
  ESP_LOGVV(TAG, "on_disconnect_request: %s", msg.dump().c_str());
42
41
  #endif
43
42
  this->on_disconnect_request(msg);
44
43
  break;
45
44
  }
46
- case 6: {
45
+ case DisconnectResponse::MESSAGE_TYPE: {
47
46
  DisconnectResponse msg;
48
- msg.decode(msg_data, msg_size);
47
+ // Empty message: no decode needed
49
48
  #ifdef HAS_PROTO_MESSAGE_DUMP
50
49
  ESP_LOGVV(TAG, "on_disconnect_response: %s", msg.dump().c_str());
51
50
  #endif
52
51
  this->on_disconnect_response(msg);
53
52
  break;
54
53
  }
55
- case 7: {
54
+ case PingRequest::MESSAGE_TYPE: {
56
55
  PingRequest msg;
57
- msg.decode(msg_data, msg_size);
56
+ // Empty message: no decode needed
58
57
  #ifdef HAS_PROTO_MESSAGE_DUMP
59
58
  ESP_LOGVV(TAG, "on_ping_request: %s", msg.dump().c_str());
60
59
  #endif
61
60
  this->on_ping_request(msg);
62
61
  break;
63
62
  }
64
- case 8: {
63
+ case PingResponse::MESSAGE_TYPE: {
65
64
  PingResponse msg;
66
- msg.decode(msg_data, msg_size);
65
+ // Empty message: no decode needed
67
66
  #ifdef HAS_PROTO_MESSAGE_DUMP
68
67
  ESP_LOGVV(TAG, "on_ping_response: %s", msg.dump().c_str());
69
68
  #endif
70
69
  this->on_ping_response(msg);
71
70
  break;
72
71
  }
73
- case 9: {
72
+ case DeviceInfoRequest::MESSAGE_TYPE: {
74
73
  DeviceInfoRequest msg;
75
- msg.decode(msg_data, msg_size);
74
+ // Empty message: no decode needed
76
75
  #ifdef HAS_PROTO_MESSAGE_DUMP
77
76
  ESP_LOGVV(TAG, "on_device_info_request: %s", msg.dump().c_str());
78
77
  #endif
79
78
  this->on_device_info_request(msg);
80
79
  break;
81
80
  }
82
- case 11: {
81
+ case ListEntitiesRequest::MESSAGE_TYPE: {
83
82
  ListEntitiesRequest msg;
84
- msg.decode(msg_data, msg_size);
83
+ // Empty message: no decode needed
85
84
  #ifdef HAS_PROTO_MESSAGE_DUMP
86
85
  ESP_LOGVV(TAG, "on_list_entities_request: %s", msg.dump().c_str());
87
86
  #endif
88
87
  this->on_list_entities_request(msg);
89
88
  break;
90
89
  }
91
- case 20: {
90
+ case SubscribeStatesRequest::MESSAGE_TYPE: {
92
91
  SubscribeStatesRequest msg;
93
- msg.decode(msg_data, msg_size);
92
+ // Empty message: no decode needed
94
93
  #ifdef HAS_PROTO_MESSAGE_DUMP
95
94
  ESP_LOGVV(TAG, "on_subscribe_states_request: %s", msg.dump().c_str());
96
95
  #endif
97
96
  this->on_subscribe_states_request(msg);
98
97
  break;
99
98
  }
100
- case 28: {
99
+ case SubscribeLogsRequest::MESSAGE_TYPE: {
101
100
  SubscribeLogsRequest msg;
102
101
  msg.decode(msg_data, msg_size);
103
102
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -107,7 +106,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
107
106
  break;
108
107
  }
109
108
  #ifdef USE_COVER
110
- case 30: {
109
+ case CoverCommandRequest::MESSAGE_TYPE: {
111
110
  CoverCommandRequest msg;
112
111
  msg.decode(msg_data, msg_size);
113
112
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -118,7 +117,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
118
117
  }
119
118
  #endif
120
119
  #ifdef USE_FAN
121
- case 31: {
120
+ case FanCommandRequest::MESSAGE_TYPE: {
122
121
  FanCommandRequest msg;
123
122
  msg.decode(msg_data, msg_size);
124
123
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -129,7 +128,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
129
128
  }
130
129
  #endif
131
130
  #ifdef USE_LIGHT
132
- case 32: {
131
+ case LightCommandRequest::MESSAGE_TYPE: {
133
132
  LightCommandRequest msg;
134
133
  msg.decode(msg_data, msg_size);
135
134
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -140,7 +139,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
140
139
  }
141
140
  #endif
142
141
  #ifdef USE_SWITCH
143
- case 33: {
142
+ case SwitchCommandRequest::MESSAGE_TYPE: {
144
143
  SwitchCommandRequest msg;
145
144
  msg.decode(msg_data, msg_size);
146
145
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -150,25 +149,27 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
150
149
  break;
151
150
  }
152
151
  #endif
153
- case 34: {
152
+ #ifdef USE_API_HOMEASSISTANT_SERVICES
153
+ case SubscribeHomeassistantServicesRequest::MESSAGE_TYPE: {
154
154
  SubscribeHomeassistantServicesRequest msg;
155
- msg.decode(msg_data, msg_size);
155
+ // Empty message: no decode needed
156
156
  #ifdef HAS_PROTO_MESSAGE_DUMP
157
157
  ESP_LOGVV(TAG, "on_subscribe_homeassistant_services_request: %s", msg.dump().c_str());
158
158
  #endif
159
159
  this->on_subscribe_homeassistant_services_request(msg);
160
160
  break;
161
161
  }
162
- case 36: {
162
+ #endif
163
+ case GetTimeRequest::MESSAGE_TYPE: {
163
164
  GetTimeRequest msg;
164
- msg.decode(msg_data, msg_size);
165
+ // Empty message: no decode needed
165
166
  #ifdef HAS_PROTO_MESSAGE_DUMP
166
167
  ESP_LOGVV(TAG, "on_get_time_request: %s", msg.dump().c_str());
167
168
  #endif
168
169
  this->on_get_time_request(msg);
169
170
  break;
170
171
  }
171
- case 37: {
172
+ case GetTimeResponse::MESSAGE_TYPE: {
172
173
  GetTimeResponse msg;
173
174
  msg.decode(msg_data, msg_size);
174
175
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -177,16 +178,19 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
177
178
  this->on_get_time_response(msg);
178
179
  break;
179
180
  }
180
- case 38: {
181
+ #ifdef USE_API_HOMEASSISTANT_STATES
182
+ case SubscribeHomeAssistantStatesRequest::MESSAGE_TYPE: {
181
183
  SubscribeHomeAssistantStatesRequest msg;
182
- msg.decode(msg_data, msg_size);
184
+ // Empty message: no decode needed
183
185
  #ifdef HAS_PROTO_MESSAGE_DUMP
184
186
  ESP_LOGVV(TAG, "on_subscribe_home_assistant_states_request: %s", msg.dump().c_str());
185
187
  #endif
186
188
  this->on_subscribe_home_assistant_states_request(msg);
187
189
  break;
188
190
  }
189
- case 40: {
191
+ #endif
192
+ #ifdef USE_API_HOMEASSISTANT_STATES
193
+ case HomeAssistantStateResponse::MESSAGE_TYPE: {
190
194
  HomeAssistantStateResponse msg;
191
195
  msg.decode(msg_data, msg_size);
192
196
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -195,8 +199,9 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
195
199
  this->on_home_assistant_state_response(msg);
196
200
  break;
197
201
  }
202
+ #endif
198
203
  #ifdef USE_API_SERVICES
199
- case 42: {
204
+ case ExecuteServiceRequest::MESSAGE_TYPE: {
200
205
  ExecuteServiceRequest msg;
201
206
  msg.decode(msg_data, msg_size);
202
207
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -207,7 +212,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
207
212
  }
208
213
  #endif
209
214
  #ifdef USE_CAMERA
210
- case 45: {
215
+ case CameraImageRequest::MESSAGE_TYPE: {
211
216
  CameraImageRequest msg;
212
217
  msg.decode(msg_data, msg_size);
213
218
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -218,7 +223,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
218
223
  }
219
224
  #endif
220
225
  #ifdef USE_CLIMATE
221
- case 48: {
226
+ case ClimateCommandRequest::MESSAGE_TYPE: {
222
227
  ClimateCommandRequest msg;
223
228
  msg.decode(msg_data, msg_size);
224
229
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -229,7 +234,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
229
234
  }
230
235
  #endif
231
236
  #ifdef USE_NUMBER
232
- case 51: {
237
+ case NumberCommandRequest::MESSAGE_TYPE: {
233
238
  NumberCommandRequest msg;
234
239
  msg.decode(msg_data, msg_size);
235
240
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -240,7 +245,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
240
245
  }
241
246
  #endif
242
247
  #ifdef USE_SELECT
243
- case 54: {
248
+ case SelectCommandRequest::MESSAGE_TYPE: {
244
249
  SelectCommandRequest msg;
245
250
  msg.decode(msg_data, msg_size);
246
251
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -251,7 +256,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
251
256
  }
252
257
  #endif
253
258
  #ifdef USE_SIREN
254
- case 57: {
259
+ case SirenCommandRequest::MESSAGE_TYPE: {
255
260
  SirenCommandRequest msg;
256
261
  msg.decode(msg_data, msg_size);
257
262
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -262,7 +267,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
262
267
  }
263
268
  #endif
264
269
  #ifdef USE_LOCK
265
- case 60: {
270
+ case LockCommandRequest::MESSAGE_TYPE: {
266
271
  LockCommandRequest msg;
267
272
  msg.decode(msg_data, msg_size);
268
273
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -273,7 +278,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
273
278
  }
274
279
  #endif
275
280
  #ifdef USE_BUTTON
276
- case 62: {
281
+ case ButtonCommandRequest::MESSAGE_TYPE: {
277
282
  ButtonCommandRequest msg;
278
283
  msg.decode(msg_data, msg_size);
279
284
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -284,7 +289,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
284
289
  }
285
290
  #endif
286
291
  #ifdef USE_MEDIA_PLAYER
287
- case 65: {
292
+ case MediaPlayerCommandRequest::MESSAGE_TYPE: {
288
293
  MediaPlayerCommandRequest msg;
289
294
  msg.decode(msg_data, msg_size);
290
295
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -295,7 +300,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
295
300
  }
296
301
  #endif
297
302
  #ifdef USE_BLUETOOTH_PROXY
298
- case 66: {
303
+ case SubscribeBluetoothLEAdvertisementsRequest::MESSAGE_TYPE: {
299
304
  SubscribeBluetoothLEAdvertisementsRequest msg;
300
305
  msg.decode(msg_data, msg_size);
301
306
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -306,7 +311,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
306
311
  }
307
312
  #endif
308
313
  #ifdef USE_BLUETOOTH_PROXY
309
- case 68: {
314
+ case BluetoothDeviceRequest::MESSAGE_TYPE: {
310
315
  BluetoothDeviceRequest msg;
311
316
  msg.decode(msg_data, msg_size);
312
317
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -317,7 +322,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
317
322
  }
318
323
  #endif
319
324
  #ifdef USE_BLUETOOTH_PROXY
320
- case 70: {
325
+ case BluetoothGATTGetServicesRequest::MESSAGE_TYPE: {
321
326
  BluetoothGATTGetServicesRequest msg;
322
327
  msg.decode(msg_data, msg_size);
323
328
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -328,7 +333,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
328
333
  }
329
334
  #endif
330
335
  #ifdef USE_BLUETOOTH_PROXY
331
- case 73: {
336
+ case BluetoothGATTReadRequest::MESSAGE_TYPE: {
332
337
  BluetoothGATTReadRequest msg;
333
338
  msg.decode(msg_data, msg_size);
334
339
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -339,7 +344,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
339
344
  }
340
345
  #endif
341
346
  #ifdef USE_BLUETOOTH_PROXY
342
- case 75: {
347
+ case BluetoothGATTWriteRequest::MESSAGE_TYPE: {
343
348
  BluetoothGATTWriteRequest msg;
344
349
  msg.decode(msg_data, msg_size);
345
350
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -350,7 +355,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
350
355
  }
351
356
  #endif
352
357
  #ifdef USE_BLUETOOTH_PROXY
353
- case 76: {
358
+ case BluetoothGATTReadDescriptorRequest::MESSAGE_TYPE: {
354
359
  BluetoothGATTReadDescriptorRequest msg;
355
360
  msg.decode(msg_data, msg_size);
356
361
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -361,7 +366,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
361
366
  }
362
367
  #endif
363
368
  #ifdef USE_BLUETOOTH_PROXY
364
- case 77: {
369
+ case BluetoothGATTWriteDescriptorRequest::MESSAGE_TYPE: {
365
370
  BluetoothGATTWriteDescriptorRequest msg;
366
371
  msg.decode(msg_data, msg_size);
367
372
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -372,7 +377,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
372
377
  }
373
378
  #endif
374
379
  #ifdef USE_BLUETOOTH_PROXY
375
- case 78: {
380
+ case BluetoothGATTNotifyRequest::MESSAGE_TYPE: {
376
381
  BluetoothGATTNotifyRequest msg;
377
382
  msg.decode(msg_data, msg_size);
378
383
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -383,9 +388,9 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
383
388
  }
384
389
  #endif
385
390
  #ifdef USE_BLUETOOTH_PROXY
386
- case 80: {
391
+ case SubscribeBluetoothConnectionsFreeRequest::MESSAGE_TYPE: {
387
392
  SubscribeBluetoothConnectionsFreeRequest msg;
388
- msg.decode(msg_data, msg_size);
393
+ // Empty message: no decode needed
389
394
  #ifdef HAS_PROTO_MESSAGE_DUMP
390
395
  ESP_LOGVV(TAG, "on_subscribe_bluetooth_connections_free_request: %s", msg.dump().c_str());
391
396
  #endif
@@ -394,9 +399,9 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
394
399
  }
395
400
  #endif
396
401
  #ifdef USE_BLUETOOTH_PROXY
397
- case 87: {
402
+ case UnsubscribeBluetoothLEAdvertisementsRequest::MESSAGE_TYPE: {
398
403
  UnsubscribeBluetoothLEAdvertisementsRequest msg;
399
- msg.decode(msg_data, msg_size);
404
+ // Empty message: no decode needed
400
405
  #ifdef HAS_PROTO_MESSAGE_DUMP
401
406
  ESP_LOGVV(TAG, "on_unsubscribe_bluetooth_le_advertisements_request: %s", msg.dump().c_str());
402
407
  #endif
@@ -405,7 +410,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
405
410
  }
406
411
  #endif
407
412
  #ifdef USE_VOICE_ASSISTANT
408
- case 89: {
413
+ case SubscribeVoiceAssistantRequest::MESSAGE_TYPE: {
409
414
  SubscribeVoiceAssistantRequest msg;
410
415
  msg.decode(msg_data, msg_size);
411
416
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -416,7 +421,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
416
421
  }
417
422
  #endif
418
423
  #ifdef USE_VOICE_ASSISTANT
419
- case 91: {
424
+ case VoiceAssistantResponse::MESSAGE_TYPE: {
420
425
  VoiceAssistantResponse msg;
421
426
  msg.decode(msg_data, msg_size);
422
427
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -427,7 +432,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
427
432
  }
428
433
  #endif
429
434
  #ifdef USE_VOICE_ASSISTANT
430
- case 92: {
435
+ case VoiceAssistantEventResponse::MESSAGE_TYPE: {
431
436
  VoiceAssistantEventResponse msg;
432
437
  msg.decode(msg_data, msg_size);
433
438
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -438,7 +443,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
438
443
  }
439
444
  #endif
440
445
  #ifdef USE_ALARM_CONTROL_PANEL
441
- case 96: {
446
+ case AlarmControlPanelCommandRequest::MESSAGE_TYPE: {
442
447
  AlarmControlPanelCommandRequest msg;
443
448
  msg.decode(msg_data, msg_size);
444
449
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -449,7 +454,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
449
454
  }
450
455
  #endif
451
456
  #ifdef USE_TEXT
452
- case 99: {
457
+ case TextCommandRequest::MESSAGE_TYPE: {
453
458
  TextCommandRequest msg;
454
459
  msg.decode(msg_data, msg_size);
455
460
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -460,7 +465,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
460
465
  }
461
466
  #endif
462
467
  #ifdef USE_DATETIME_DATE
463
- case 102: {
468
+ case DateCommandRequest::MESSAGE_TYPE: {
464
469
  DateCommandRequest msg;
465
470
  msg.decode(msg_data, msg_size);
466
471
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -471,7 +476,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
471
476
  }
472
477
  #endif
473
478
  #ifdef USE_DATETIME_TIME
474
- case 105: {
479
+ case TimeCommandRequest::MESSAGE_TYPE: {
475
480
  TimeCommandRequest msg;
476
481
  msg.decode(msg_data, msg_size);
477
482
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -482,7 +487,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
482
487
  }
483
488
  #endif
484
489
  #ifdef USE_VOICE_ASSISTANT
485
- case 106: {
490
+ case VoiceAssistantAudio::MESSAGE_TYPE: {
486
491
  VoiceAssistantAudio msg;
487
492
  msg.decode(msg_data, msg_size);
488
493
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -493,7 +498,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
493
498
  }
494
499
  #endif
495
500
  #ifdef USE_VALVE
496
- case 111: {
501
+ case ValveCommandRequest::MESSAGE_TYPE: {
497
502
  ValveCommandRequest msg;
498
503
  msg.decode(msg_data, msg_size);
499
504
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -504,7 +509,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
504
509
  }
505
510
  #endif
506
511
  #ifdef USE_DATETIME_DATETIME
507
- case 114: {
512
+ case DateTimeCommandRequest::MESSAGE_TYPE: {
508
513
  DateTimeCommandRequest msg;
509
514
  msg.decode(msg_data, msg_size);
510
515
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -515,7 +520,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
515
520
  }
516
521
  #endif
517
522
  #ifdef USE_VOICE_ASSISTANT
518
- case 115: {
523
+ case VoiceAssistantTimerEventResponse::MESSAGE_TYPE: {
519
524
  VoiceAssistantTimerEventResponse msg;
520
525
  msg.decode(msg_data, msg_size);
521
526
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -526,7 +531,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
526
531
  }
527
532
  #endif
528
533
  #ifdef USE_UPDATE
529
- case 118: {
534
+ case UpdateCommandRequest::MESSAGE_TYPE: {
530
535
  UpdateCommandRequest msg;
531
536
  msg.decode(msg_data, msg_size);
532
537
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -537,7 +542,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
537
542
  }
538
543
  #endif
539
544
  #ifdef USE_VOICE_ASSISTANT
540
- case 119: {
545
+ case VoiceAssistantAnnounceRequest::MESSAGE_TYPE: {
541
546
  VoiceAssistantAnnounceRequest msg;
542
547
  msg.decode(msg_data, msg_size);
543
548
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -548,9 +553,9 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
548
553
  }
549
554
  #endif
550
555
  #ifdef USE_VOICE_ASSISTANT
551
- case 121: {
556
+ case VoiceAssistantConfigurationRequest::MESSAGE_TYPE: {
552
557
  VoiceAssistantConfigurationRequest msg;
553
- msg.decode(msg_data, msg_size);
558
+ // Empty message: no decode needed
554
559
  #ifdef HAS_PROTO_MESSAGE_DUMP
555
560
  ESP_LOGVV(TAG, "on_voice_assistant_configuration_request: %s", msg.dump().c_str());
556
561
  #endif
@@ -559,7 +564,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
559
564
  }
560
565
  #endif
561
566
  #ifdef USE_VOICE_ASSISTANT
562
- case 123: {
567
+ case VoiceAssistantSetConfiguration::MESSAGE_TYPE: {
563
568
  VoiceAssistantSetConfiguration msg;
564
569
  msg.decode(msg_data, msg_size);
565
570
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -570,7 +575,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
570
575
  }
571
576
  #endif
572
577
  #ifdef USE_API_NOISE
573
- case 124: {
578
+ case NoiseEncryptionSetKeyRequest::MESSAGE_TYPE: {
574
579
  NoiseEncryptionSetKeyRequest msg;
575
580
  msg.decode(msg_data, msg_size);
576
581
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -581,7 +586,7 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
581
586
  }
582
587
  #endif
583
588
  #ifdef USE_BLUETOOTH_PROXY
584
- case 127: {
589
+ case BluetoothScannerSetModeRequest::MESSAGE_TYPE: {
585
590
  BluetoothScannerSetModeRequest msg;
586
591
  msg.decode(msg_data, msg_size);
587
592
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -597,35 +602,28 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
597
602
  }
598
603
 
599
604
  void APIServerConnection::on_hello_request(const HelloRequest &msg) {
600
- HelloResponse ret = this->hello(msg);
601
- if (!this->send_message(ret)) {
605
+ if (!this->send_hello_response(msg)) {
602
606
  this->on_fatal_error();
603
607
  }
604
608
  }
605
609
  void APIServerConnection::on_connect_request(const ConnectRequest &msg) {
606
- ConnectResponse ret = this->connect(msg);
607
- if (!this->send_message(ret)) {
610
+ if (!this->send_connect_response(msg)) {
608
611
  this->on_fatal_error();
609
612
  }
610
613
  }
611
614
  void APIServerConnection::on_disconnect_request(const DisconnectRequest &msg) {
612
- DisconnectResponse ret = this->disconnect(msg);
613
- if (!this->send_message(ret)) {
615
+ if (!this->send_disconnect_response(msg)) {
614
616
  this->on_fatal_error();
615
617
  }
616
618
  }
617
619
  void APIServerConnection::on_ping_request(const PingRequest &msg) {
618
- PingResponse ret = this->ping(msg);
619
- if (!this->send_message(ret)) {
620
+ if (!this->send_ping_response(msg)) {
620
621
  this->on_fatal_error();
621
622
  }
622
623
  }
623
624
  void APIServerConnection::on_device_info_request(const DeviceInfoRequest &msg) {
624
- if (this->check_connection_setup_()) {
625
- DeviceInfoResponse ret = this->device_info(msg);
626
- if (!this->send_message(ret)) {
627
- this->on_fatal_error();
628
- }
625
+ if (this->check_connection_setup_() && !this->send_device_info_response(msg)) {
626
+ this->on_fatal_error();
629
627
  }
630
628
  }
631
629
  void APIServerConnection::on_list_entities_request(const ListEntitiesRequest &msg) {
@@ -643,23 +641,24 @@ void APIServerConnection::on_subscribe_logs_request(const SubscribeLogsRequest &
643
641
  this->subscribe_logs(msg);
644
642
  }
645
643
  }
644
+ #ifdef USE_API_HOMEASSISTANT_SERVICES
646
645
  void APIServerConnection::on_subscribe_homeassistant_services_request(
647
646
  const SubscribeHomeassistantServicesRequest &msg) {
648
647
  if (this->check_authenticated_()) {
649
648
  this->subscribe_homeassistant_services(msg);
650
649
  }
651
650
  }
651
+ #endif
652
+ #ifdef USE_API_HOMEASSISTANT_STATES
652
653
  void APIServerConnection::on_subscribe_home_assistant_states_request(const SubscribeHomeAssistantStatesRequest &msg) {
653
654
  if (this->check_authenticated_()) {
654
655
  this->subscribe_home_assistant_states(msg);
655
656
  }
656
657
  }
658
+ #endif
657
659
  void APIServerConnection::on_get_time_request(const GetTimeRequest &msg) {
658
- if (this->check_connection_setup_()) {
659
- GetTimeResponse ret = this->get_time(msg);
660
- if (!this->send_message(ret)) {
661
- this->on_fatal_error();
662
- }
660
+ if (this->check_connection_setup_() && !this->send_get_time_response(msg)) {
661
+ this->on_fatal_error();
663
662
  }
664
663
  }
665
664
  #ifdef USE_API_SERVICES
@@ -671,11 +670,8 @@ void APIServerConnection::on_execute_service_request(const ExecuteServiceRequest
671
670
  #endif
672
671
  #ifdef USE_API_NOISE
673
672
  void APIServerConnection::on_noise_encryption_set_key_request(const NoiseEncryptionSetKeyRequest &msg) {
674
- if (this->check_authenticated_()) {
675
- NoiseEncryptionSetKeyResponse ret = this->noise_encryption_set_key(msg);
676
- if (!this->send_message(ret)) {
677
- this->on_fatal_error();
678
- }
673
+ if (this->check_authenticated_() && !this->send_noise_encryption_set_key_response(msg)) {
674
+ this->on_fatal_error();
679
675
  }
680
676
  }
681
677
  #endif
@@ -865,11 +861,8 @@ void APIServerConnection::on_bluetooth_gatt_notify_request(const BluetoothGATTNo
865
861
  #ifdef USE_BLUETOOTH_PROXY
866
862
  void APIServerConnection::on_subscribe_bluetooth_connections_free_request(
867
863
  const SubscribeBluetoothConnectionsFreeRequest &msg) {
868
- if (this->check_authenticated_()) {
869
- BluetoothConnectionsFreeResponse ret = this->subscribe_bluetooth_connections_free(msg);
870
- if (!this->send_message(ret)) {
871
- this->on_fatal_error();
872
- }
864
+ if (this->check_authenticated_() && !this->send_subscribe_bluetooth_connections_free_response(msg)) {
865
+ this->on_fatal_error();
873
866
  }
874
867
  }
875
868
  #endif
@@ -897,11 +890,8 @@ void APIServerConnection::on_subscribe_voice_assistant_request(const SubscribeVo
897
890
  #endif
898
891
  #ifdef USE_VOICE_ASSISTANT
899
892
  void APIServerConnection::on_voice_assistant_configuration_request(const VoiceAssistantConfigurationRequest &msg) {
900
- if (this->check_authenticated_()) {
901
- VoiceAssistantConfigurationResponse ret = this->voice_assistant_get_configuration(msg);
902
- if (!this->send_message(ret)) {
903
- this->on_fatal_error();
904
- }
893
+ if (this->check_authenticated_() && !this->send_voice_assistant_get_configuration_response(msg)) {
894
+ this->on_fatal_error();
905
895
  }
906
896
  }
907
897
  #endif
@@ -920,5 +910,4 @@ void APIServerConnection::on_alarm_control_panel_command_request(const AlarmCont
920
910
  }
921
911
  #endif
922
912
 
923
- } // namespace api
924
- } // namespace esphome
913
+ } // namespace esphome::api