esphome 2025.4.1__py3-none-any.whl → 2025.5.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 (412) hide show
  1. esphome/components/ac_dimmer/ac_dimmer.cpp +3 -2
  2. esphome/components/adc/__init__.py +51 -34
  3. esphome/components/airthings_wave_base/__init__.py +1 -1
  4. esphome/components/alarm_control_panel/__init__.py +37 -2
  5. esphome/components/am43/cover/__init__.py +4 -5
  6. esphome/components/analog_threshold/analog_threshold_binary_sensor.cpp +6 -4
  7. esphome/components/analog_threshold/analog_threshold_binary_sensor.h +4 -5
  8. esphome/components/analog_threshold/binary_sensor.py +10 -8
  9. esphome/components/anova/climate.py +4 -5
  10. esphome/components/api/__init__.py +25 -8
  11. esphome/components/api/api_connection.cpp +77 -10
  12. esphome/components/api/api_connection.h +6 -1
  13. esphome/components/api/api_frame_helper.cpp +98 -130
  14. esphome/components/api/api_frame_helper.h +12 -2
  15. esphome/components/api/api_noise_context.h +13 -4
  16. esphome/components/api/api_pb2.cpp +1422 -1
  17. esphome/components/api/api_pb2.h +255 -1
  18. esphome/components/api/api_pb2_service.cpp +162 -49
  19. esphome/components/api/api_pb2_service.h +90 -51
  20. esphome/components/api/api_pb2_size.h +361 -0
  21. esphome/components/api/api_server.cpp +110 -34
  22. esphome/components/api/api_server.h +8 -0
  23. esphome/components/api/proto.h +38 -9
  24. esphome/components/as3935_i2c/as3935_i2c.h +0 -3
  25. esphome/components/as7341/as7341.h +1 -1
  26. esphome/components/atm90e32/__init__.py +1 -0
  27. esphome/components/atm90e32/atm90e32.cpp +576 -199
  28. esphome/components/atm90e32/atm90e32.h +128 -31
  29. esphome/components/atm90e32/atm90e32_reg.h +4 -2
  30. esphome/components/atm90e32/button/__init__.py +62 -10
  31. esphome/components/atm90e32/button/atm90e32_button.cpp +63 -4
  32. esphome/components/atm90e32/button/atm90e32_button.h +36 -4
  33. esphome/components/atm90e32/number/__init__.py +130 -0
  34. esphome/components/atm90e32/number/atm90e32_number.h +16 -0
  35. esphome/components/atm90e32/sensor.py +21 -4
  36. esphome/components/atm90e32/text_sensor/__init__.py +48 -0
  37. esphome/components/audio/__init__.py +96 -49
  38. esphome/components/audio/audio.h +48 -0
  39. esphome/components/audio/audio_decoder.cpp +1 -1
  40. esphome/components/audio/audio_resampler.cpp +2 -0
  41. esphome/components/audio/audio_resampler.h +1 -0
  42. esphome/components/ballu/climate.py +2 -9
  43. esphome/components/bang_bang/climate.py +5 -6
  44. esphome/components/bedjet/climate/__init__.py +3 -8
  45. esphome/components/bedjet/fan/__init__.py +2 -11
  46. esphome/components/binary/fan/__init__.py +13 -16
  47. esphome/components/binary_sensor/__init__.py +13 -10
  48. esphome/components/binary_sensor/binary_sensor.cpp +6 -10
  49. esphome/components/binary_sensor/binary_sensor.h +1 -1
  50. esphome/components/binary_sensor/filter.cpp +21 -21
  51. esphome/components/binary_sensor/filter.h +10 -10
  52. esphome/components/bl0906/constants.h +16 -16
  53. esphome/components/ble_client/text_sensor/__init__.py +3 -5
  54. esphome/components/bluetooth_proxy/bluetooth_connection.cpp +4 -6
  55. esphome/components/bluetooth_proxy/bluetooth_proxy.cpp +135 -21
  56. esphome/components/bluetooth_proxy/bluetooth_proxy.h +7 -0
  57. esphome/components/button/__init__.py +11 -8
  58. esphome/components/canbus/canbus.cpp +3 -0
  59. esphome/components/canbus/canbus.h +16 -0
  60. esphome/components/climate/__init__.py +35 -2
  61. esphome/components/climate/climate_mode.h +1 -1
  62. esphome/components/climate/climate_traits.h +63 -57
  63. esphome/components/climate_ir/__init__.py +57 -17
  64. esphome/components/climate_ir_lg/climate.py +2 -5
  65. esphome/components/climate_ir_lg/climate_ir_lg.cpp +7 -7
  66. esphome/components/climate_ir_lg/climate_ir_lg.h +1 -1
  67. esphome/components/color/__init__.py +2 -0
  68. esphome/components/const/__init__.py +5 -0
  69. esphome/components/coolix/climate.py +2 -9
  70. esphome/components/copy/cover/__init__.py +10 -9
  71. esphome/components/copy/fan/__init__.py +11 -9
  72. esphome/components/copy/lock/__init__.py +11 -9
  73. esphome/components/copy/text/__init__.py +9 -6
  74. esphome/components/cover/__init__.py +37 -2
  75. esphome/components/cst226/binary_sensor/__init__.py +28 -0
  76. esphome/components/cst226/binary_sensor/cs226_button.h +22 -0
  77. esphome/components/cst226/binary_sensor/cstt6_button.cpp +19 -0
  78. esphome/components/cst226/touchscreen/cst226_touchscreen.cpp +27 -5
  79. esphome/components/cst226/touchscreen/cst226_touchscreen.h +10 -10
  80. esphome/components/current_based/cover.py +37 -36
  81. esphome/components/daikin/climate.py +2 -9
  82. esphome/components/daikin/daikin.cpp +15 -9
  83. esphome/components/daikin/daikin.h +5 -5
  84. esphome/components/daikin_arc/climate.py +2 -7
  85. esphome/components/daikin_brc/climate.py +3 -5
  86. esphome/components/dallas_temp/dallas_temp.cpp +17 -24
  87. esphome/components/dallas_temp/dallas_temp.h +0 -1
  88. esphome/components/debug/debug_component.cpp +5 -0
  89. esphome/components/debug/debug_component.h +6 -0
  90. esphome/components/debug/debug_esp32.cpp +109 -254
  91. esphome/components/debug/sensor.py +14 -0
  92. esphome/components/deep_sleep/deep_sleep_esp32.cpp +13 -1
  93. esphome/components/delonghi/climate.py +2 -9
  94. esphome/components/demo/__init__.py +18 -20
  95. esphome/components/dfrobot_sen0395/switch/__init__.py +21 -22
  96. esphome/components/display/rect.cpp +4 -9
  97. esphome/components/display/rect.h +1 -1
  98. esphome/components/emmeti/climate.py +2 -9
  99. esphome/components/endstop/cover.py +17 -16
  100. esphome/components/esp32/__init__.py +60 -3
  101. esphome/components/esp32/core.cpp +11 -5
  102. esphome/components/esp32/gpio.cpp +86 -24
  103. esphome/components/esp32/gpio.py +15 -16
  104. esphome/components/esp32/gpio_esp32.py +1 -2
  105. esphome/components/esp32/gpio_esp32_c2.py +1 -1
  106. esphome/components/esp32/gpio_esp32_c3.py +1 -1
  107. esphome/components/esp32/gpio_esp32_c6.py +1 -1
  108. esphome/components/esp32/gpio_esp32_h2.py +1 -1
  109. esphome/components/esp32_ble/ble.cpp +1 -8
  110. esphome/components/esp32_ble/ble.h +5 -3
  111. esphome/components/esp32_ble/ble_advertising.h +1 -0
  112. esphome/components/esp32_ble_server/__init__.py +3 -0
  113. esphome/components/esp32_ble_tracker/__init__.py +7 -1
  114. esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +192 -118
  115. esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +29 -3
  116. esphome/components/esp32_can/esp32_can.cpp +1 -1
  117. esphome/components/esp32_rmt_led_strip/led_strip.cpp +1 -1
  118. esphome/components/esp32_rmt_led_strip/led_strip.h +7 -5
  119. esphome/components/esp32_rmt_led_strip/light.py +9 -1
  120. esphome/components/esp8266/gpio.cpp +69 -8
  121. esphome/components/event/__init__.py +13 -10
  122. esphome/components/factory_reset/switch/__init__.py +7 -21
  123. esphome/components/fan/__init__.py +52 -5
  124. esphome/components/fastled_base/__init__.py +1 -4
  125. esphome/components/fastled_base/fastled_light.cpp +1 -1
  126. esphome/components/feedback/cover.py +38 -33
  127. esphome/components/fujitsu_general/climate.py +2 -9
  128. esphome/components/gpio/one_wire/gpio_one_wire.cpp +45 -43
  129. esphome/components/gpio/one_wire/gpio_one_wire.h +2 -1
  130. esphome/components/gpio_expander/cached_gpio.h +22 -7
  131. esphome/components/gps/__init__.py +11 -2
  132. esphome/components/gps/gps.cpp +11 -8
  133. esphome/components/gps/gps.h +9 -6
  134. esphome/components/graph/__init__.py +1 -2
  135. esphome/components/gree/climate.py +4 -6
  136. esphome/components/gree/gree.cpp +16 -2
  137. esphome/components/gree/gree.h +2 -2
  138. esphome/components/haier/climate.py +37 -34
  139. esphome/components/hbridge/fan/__init__.py +19 -17
  140. esphome/components/he60r/cover.py +4 -5
  141. esphome/components/heatpumpir/climate.py +3 -6
  142. esphome/components/hitachi_ac344/climate.py +2 -9
  143. esphome/components/hitachi_ac424/climate.py +2 -9
  144. esphome/components/hlw8012/hlw8012.cpp +1 -1
  145. esphome/components/hm3301/hm3301.h +1 -1
  146. esphome/components/http_request/__init__.py +39 -6
  147. esphome/components/http_request/http_request.cpp +20 -0
  148. esphome/components/http_request/http_request.h +57 -15
  149. esphome/components/http_request/http_request_arduino.cpp +22 -6
  150. esphome/components/http_request/http_request_arduino.h +4 -3
  151. esphome/components/http_request/http_request_host.cpp +141 -0
  152. esphome/components/http_request/http_request_host.h +37 -0
  153. esphome/components/http_request/http_request_idf.cpp +35 -3
  154. esphome/components/http_request/http_request_idf.h +10 -3
  155. esphome/components/http_request/httplib.h +9691 -0
  156. esphome/components/http_request/update/__init__.py +11 -8
  157. esphome/components/i2c/i2c.h +4 -0
  158. esphome/components/i2c/i2c_bus_esp_idf.cpp +1 -1
  159. esphome/components/i2s_audio/__init__.py +131 -22
  160. esphome/components/i2s_audio/i2s_audio.h +44 -4
  161. esphome/components/i2s_audio/media_player/__init__.py +19 -9
  162. esphome/components/i2s_audio/microphone/__init__.py +63 -5
  163. esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp +351 -61
  164. esphome/components/i2s_audio/microphone/i2s_audio_microphone.h +40 -6
  165. esphome/components/i2s_audio/speaker/__init__.py +31 -5
  166. esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +155 -19
  167. esphome/components/i2s_audio/speaker/i2s_audio_speaker.h +17 -4
  168. esphome/components/ili9xxx/ili9xxx_init.h +1 -1
  169. esphome/components/image/__init__.py +37 -17
  170. esphome/components/image/image.cpp +25 -8
  171. esphome/components/internal_temperature/internal_temperature.cpp +6 -4
  172. esphome/components/key_collector/__init__.py +35 -0
  173. esphome/components/key_collector/key_collector.cpp +8 -0
  174. esphome/components/key_collector/key_collector.h +10 -0
  175. esphome/components/ld2410/ld2410.h +1 -1
  176. esphome/components/ld2450/ld2450.h +1 -1
  177. esphome/components/light/__init__.py +57 -0
  178. esphome/components/lock/__init__.py +51 -4
  179. esphome/components/lock/automation.h +2 -13
  180. esphome/components/logger/__init__.py +21 -0
  181. esphome/components/logger/logger.cpp +125 -95
  182. esphome/components/logger/logger.h +160 -35
  183. esphome/components/logger/task_log_buffer.cpp +138 -0
  184. esphome/components/logger/task_log_buffer.h +69 -0
  185. esphome/components/lvgl/__init__.py +13 -5
  186. esphome/components/lvgl/automation.py +50 -1
  187. esphome/components/lvgl/defines.py +0 -1
  188. esphome/components/lvgl/lv_validation.py +10 -1
  189. esphome/components/lvgl/lvgl_esphome.cpp +5 -1
  190. esphome/components/lvgl/schemas.py +14 -14
  191. esphome/components/lvgl/text/__init__.py +1 -2
  192. esphome/components/lvgl/widgets/arc.py +7 -6
  193. esphome/components/lvgl/widgets/buttonmatrix.py +3 -3
  194. esphome/components/lvgl/widgets/checkbox.py +2 -2
  195. esphome/components/lvgl/widgets/dropdown.py +2 -1
  196. esphome/components/lvgl/widgets/img.py +15 -12
  197. esphome/components/mapping/__init__.py +134 -0
  198. esphome/components/max7219digit/max7219digit.cpp +27 -27
  199. esphome/components/mdns/__init__.py +11 -5
  200. esphome/components/mdns/mdns_component.cpp +11 -5
  201. esphome/components/mdns/mdns_component.h +3 -2
  202. esphome/components/mdns/mdns_esp32.cpp +4 -3
  203. esphome/components/mdns/mdns_esp8266.cpp +4 -2
  204. esphome/components/mdns/mdns_libretiny.cpp +4 -2
  205. esphome/components/mdns/mdns_rp2040.cpp +4 -2
  206. esphome/components/media_player/__init__.py +40 -6
  207. esphome/components/micro_wake_word/__init__.py +99 -31
  208. esphome/components/micro_wake_word/automation.h +54 -0
  209. esphome/components/micro_wake_word/micro_wake_word.cpp +331 -319
  210. esphome/components/micro_wake_word/micro_wake_word.h +58 -105
  211. esphome/components/micro_wake_word/preprocessor_settings.h +19 -2
  212. esphome/components/micro_wake_word/streaming_model.cpp +158 -41
  213. esphome/components/micro_wake_word/streaming_model.h +85 -13
  214. esphome/components/microphone/__init__.py +139 -9
  215. esphome/components/microphone/automation.h +14 -2
  216. esphome/components/microphone/microphone.cpp +21 -0
  217. esphome/components/microphone/microphone.h +14 -5
  218. esphome/components/microphone/microphone_source.cpp +95 -0
  219. esphome/components/microphone/microphone_source.h +80 -0
  220. esphome/components/mics_4514/sensor.py +25 -14
  221. esphome/components/midea/climate.py +3 -4
  222. esphome/components/midea_ir/climate.py +3 -5
  223. esphome/components/mipi_spi/__init__.py +15 -0
  224. esphome/components/mipi_spi/display.py +474 -0
  225. esphome/components/mipi_spi/mipi_spi.cpp +481 -0
  226. esphome/components/mipi_spi/mipi_spi.h +171 -0
  227. esphome/components/mipi_spi/models/__init__.py +65 -0
  228. esphome/components/mipi_spi/models/amoled.py +72 -0
  229. esphome/components/mipi_spi/models/commands.py +82 -0
  230. esphome/components/mipi_spi/models/cyd.py +10 -0
  231. esphome/components/mipi_spi/models/ili.py +749 -0
  232. esphome/components/mipi_spi/models/jc.py +260 -0
  233. esphome/components/mipi_spi/models/lanbon.py +15 -0
  234. esphome/components/mipi_spi/models/lilygo.py +60 -0
  235. esphome/components/mipi_spi/models/waveshare.py +139 -0
  236. esphome/components/mitsubishi/climate.py +2 -5
  237. esphome/components/mitsubishi/mitsubishi.cpp +9 -9
  238. esphome/components/mixer/speaker/mixer_speaker.cpp +12 -22
  239. esphome/components/mixer/speaker/mixer_speaker.h +1 -3
  240. esphome/components/mlx90393/sensor.py +5 -0
  241. esphome/components/mlx90393/sensor_mlx90393.cpp +195 -13
  242. esphome/components/mlx90393/sensor_mlx90393.h +21 -4
  243. esphome/components/mqtt/__init__.py +1 -1
  244. esphome/components/mqtt/mqtt_client.cpp +5 -1
  245. esphome/components/mqtt/mqtt_const.h +4 -0
  246. esphome/components/mqtt/mqtt_fan.cpp +39 -0
  247. esphome/components/mqtt/mqtt_fan.h +2 -0
  248. esphome/components/network/__init__.py +1 -1
  249. esphome/components/nextion/base_component.py +17 -16
  250. esphome/components/nextion/display.py +11 -2
  251. esphome/components/nextion/nextion.cpp +39 -1
  252. esphome/components/nextion/nextion.h +50 -0
  253. esphome/components/noblex/climate.py +2 -9
  254. esphome/components/number/__init__.py +12 -9
  255. esphome/components/one_wire/one_wire_bus.cpp +14 -10
  256. esphome/components/one_wire/one_wire_bus.h +14 -8
  257. esphome/components/online_image/bmp_image.cpp +48 -11
  258. esphome/components/online_image/bmp_image.h +2 -0
  259. esphome/components/opentherm/binary_sensor/__init__.py +2 -4
  260. esphome/components/opentherm/number/__init__.py +11 -20
  261. esphome/components/opentherm/sensor/__init__.py +3 -3
  262. esphome/components/opentherm/switch/__init__.py +3 -5
  263. esphome/components/output/lock/__init__.py +11 -9
  264. esphome/components/packages/__init__.py +33 -31
  265. esphome/components/packet_transport/__init__.py +201 -0
  266. esphome/components/packet_transport/binary_sensor.py +19 -0
  267. esphome/components/packet_transport/packet_transport.cpp +534 -0
  268. esphome/components/packet_transport/packet_transport.h +154 -0
  269. esphome/components/packet_transport/sensor.py +19 -0
  270. esphome/components/pca9685/pca9685_output.cpp +2 -1
  271. esphome/components/pid/climate.py +2 -4
  272. esphome/components/pm2005/__init__.py +1 -0
  273. esphome/components/pm2005/pm2005.cpp +123 -0
  274. esphome/components/pm2005/pm2005.h +46 -0
  275. esphome/components/pm2005/sensor.py +86 -0
  276. esphome/components/pmsa003i/pmsa003i.cpp +43 -16
  277. esphome/components/pmsa003i/pmsa003i.h +25 -25
  278. esphome/components/pmsx003/pmsx003.cpp +193 -229
  279. esphome/components/pmsx003/pmsx003.h +51 -33
  280. esphome/components/pmsx003/sensor.py +21 -11
  281. esphome/components/pn7150/pn7150.h +2 -2
  282. esphome/components/pn7160/pn7160.h +2 -2
  283. esphome/components/prometheus/prometheus_handler.cpp +174 -0
  284. esphome/components/prometheus/prometheus_handler.h +17 -0
  285. esphome/components/psram/__init__.py +7 -5
  286. esphome/components/pulse_meter/pulse_meter_sensor.cpp +32 -12
  287. esphome/components/pulse_meter/pulse_meter_sensor.h +5 -5
  288. esphome/components/qspi_dbi/__init__.py +0 -1
  289. esphome/components/qspi_dbi/display.py +2 -1
  290. esphome/components/qspi_dbi/models.py +1 -2
  291. esphome/components/remote_base/__init__.py +91 -0
  292. esphome/components/remote_base/beo4_protocol.cpp +153 -0
  293. esphome/components/remote_base/beo4_protocol.h +43 -0
  294. esphome/components/remote_base/gobox_protocol.cpp +131 -0
  295. esphome/components/remote_base/gobox_protocol.h +54 -0
  296. esphome/components/remote_receiver/remote_receiver_esp32.cpp +16 -9
  297. esphome/components/resampler/speaker/resampler_speaker.cpp +12 -10
  298. esphome/components/resampler/speaker/resampler_speaker.h +1 -1
  299. esphome/components/scd30/sensor.py +2 -3
  300. esphome/components/scd4x/sensor.py +4 -5
  301. esphome/components/sdp3x/sensor.py +2 -1
  302. esphome/components/select/__init__.py +19 -20
  303. esphome/components/sen5x/sensor.py +1 -1
  304. esphome/components/sensor/__init__.py +158 -14
  305. esphome/components/sensor/filter.cpp +23 -0
  306. esphome/components/sensor/filter.h +22 -0
  307. esphome/components/sgp4x/sensor.py +1 -1
  308. esphome/components/sht4x/sht4x.cpp +43 -22
  309. esphome/components/sht4x/sht4x.h +1 -1
  310. esphome/components/sml/text_sensor/__init__.py +4 -6
  311. esphome/components/sound_level/__init__.py +0 -0
  312. esphome/components/sound_level/sensor.py +97 -0
  313. esphome/components/sound_level/sound_level.cpp +194 -0
  314. esphome/components/sound_level/sound_level.h +73 -0
  315. esphome/components/speaker/media_player/__init__.py +4 -8
  316. esphome/components/speaker/media_player/speaker_media_player.cpp +0 -18
  317. esphome/components/speaker/media_player/speaker_media_player.h +0 -11
  318. esphome/components/speaker/speaker.h +4 -7
  319. esphome/components/speed/fan/__init__.py +17 -16
  320. esphome/components/spi/spi.h +11 -1
  321. esphome/components/sprinkler/__init__.py +18 -19
  322. esphome/components/switch/__init__.py +32 -42
  323. esphome/components/syslog/__init__.py +41 -0
  324. esphome/components/syslog/esphome_syslog.cpp +49 -0
  325. esphome/components/syslog/esphome_syslog.h +27 -0
  326. esphome/components/tca9555/tca9555.cpp +11 -6
  327. esphome/components/tcl112/climate.py +2 -9
  328. esphome/components/template/alarm_control_panel/__init__.py +7 -6
  329. esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp +21 -17
  330. esphome/components/template/alarm_control_panel/template_alarm_control_panel.h +2 -1
  331. esphome/components/template/cover/__init__.py +27 -21
  332. esphome/components/template/fan/__init__.py +14 -12
  333. esphome/components/template/lock/__init__.py +20 -25
  334. esphome/components/template/lock/automation.h +18 -0
  335. esphome/components/template/text/__init__.py +4 -3
  336. esphome/components/template/valve/__init__.py +32 -21
  337. esphome/components/template/valve/automation.h +24 -0
  338. esphome/components/text/__init__.py +32 -1
  339. esphome/components/text_sensor/__init__.py +24 -29
  340. esphome/components/thermostat/climate.py +5 -5
  341. esphome/components/time_based/cover.py +17 -16
  342. esphome/components/tm1638/switch/__init__.py +10 -7
  343. esphome/components/tormatic/cover.py +4 -5
  344. esphome/components/toshiba/climate.py +3 -5
  345. esphome/components/touchscreen/touchscreen.cpp +3 -1
  346. esphome/components/tt21100/touchscreen/tt21100.cpp +1 -1
  347. esphome/components/tuya/climate/__init__.py +5 -6
  348. esphome/components/tuya/cover/__init__.py +6 -11
  349. esphome/components/tuya/select/__init__.py +15 -5
  350. esphome/components/tuya/select/tuya_select.cpp +6 -1
  351. esphome/components/tuya/select/tuya_select.h +5 -1
  352. esphome/components/uart/packet_transport/__init__.py +20 -0
  353. esphome/components/uart/packet_transport/uart_transport.cpp +88 -0
  354. esphome/components/uart/packet_transport/uart_transport.h +41 -0
  355. esphome/components/udp/__init__.py +126 -128
  356. esphome/components/udp/automation.h +40 -0
  357. esphome/components/udp/binary_sensor.py +3 -25
  358. esphome/components/udp/packet_transport/__init__.py +29 -0
  359. esphome/components/udp/packet_transport/udp_transport.cpp +36 -0
  360. esphome/components/udp/packet_transport/udp_transport.h +28 -0
  361. esphome/components/udp/sensor.py +3 -25
  362. esphome/components/udp/udp_component.cpp +26 -470
  363. esphome/components/udp/udp_component.h +21 -128
  364. esphome/components/update/__init__.py +31 -1
  365. esphome/components/uponor_smatrix/climate/__init__.py +4 -9
  366. esphome/components/uptime/text_sensor/__init__.py +47 -7
  367. esphome/components/uptime/text_sensor/uptime_text_sensor.cpp +12 -7
  368. esphome/components/uptime/text_sensor/uptime_text_sensor.h +19 -0
  369. esphome/components/valve/__init__.py +34 -3
  370. esphome/components/valve/automation.h +1 -19
  371. esphome/components/vl53l0x/sensor.py +11 -0
  372. esphome/components/vl53l0x/vl53l0x_sensor.cpp +5 -1
  373. esphome/components/vl53l0x/vl53l0x_sensor.h +2 -1
  374. esphome/components/voice_assistant/__init__.py +36 -10
  375. esphome/components/voice_assistant/voice_assistant.cpp +170 -144
  376. esphome/components/voice_assistant/voice_assistant.h +26 -25
  377. esphome/components/waveshare_epaper/display.py +6 -0
  378. esphome/components/waveshare_epaper/waveshare_epaper.cpp +439 -37
  379. esphome/components/waveshare_epaper/waveshare_epaper.h +60 -11
  380. esphome/components/whirlpool/climate.py +3 -5
  381. esphome/components/whynter/climate.py +3 -5
  382. esphome/components/xpt2046/touchscreen/xpt2046.cpp +1 -1
  383. esphome/components/yashima/climate.py +6 -6
  384. esphome/components/zhlt01/climate.py +2 -7
  385. esphome/config_validation.py +38 -58
  386. esphome/const.py +15 -1
  387. esphome/core/__init__.py +2 -0
  388. esphome/core/application.cpp +1 -0
  389. esphome/core/application.h +4 -0
  390. esphome/core/automation.h +4 -3
  391. esphome/core/component.cpp +19 -3
  392. esphome/core/component.h +5 -0
  393. esphome/core/defines.h +23 -17
  394. esphome/core/macros.h +4 -0
  395. esphome/core/scheduler.cpp +3 -0
  396. esphome/cpp_generator.py +6 -2
  397. esphome/dashboard/web_server.py +3 -3
  398. esphome/helpers.py +39 -0
  399. esphome/loader.py +4 -0
  400. esphome/mqtt.py +21 -8
  401. esphome/platformio_api.py +1 -1
  402. esphome/schema_extractors.py +0 -1
  403. esphome/vscode.py +15 -0
  404. esphome/wizard.py +2 -2
  405. esphome/zeroconf.py +7 -3
  406. {esphome-2025.4.1.dist-info → esphome-2025.5.0b2.dist-info}/METADATA +10 -11
  407. {esphome-2025.4.1.dist-info → esphome-2025.5.0b2.dist-info}/RECORD +411 -352
  408. {esphome-2025.4.1.dist-info → esphome-2025.5.0b2.dist-info}/WHEEL +1 -1
  409. esphome/components/esp32_ble/const_esp32c6.h +0 -74
  410. {esphome-2025.4.1.dist-info → esphome-2025.5.0b2.dist-info}/entry_points.txt +0 -0
  411. {esphome-2025.4.1.dist-info → esphome-2025.5.0b2.dist-info}/licenses/LICENSE +0 -0
  412. {esphome-2025.4.1.dist-info → esphome-2025.5.0b2.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,5 @@
1
1
  // This file was automatically generated with a tool.
2
- // See scripts/api_protobuf/api_protobuf.py
2
+ // See script/api_protobuf/api_protobuf.py
3
3
  #include "api_pb2_service.h"
4
4
  #include "esphome/core/log.h"
5
5
 
@@ -179,6 +179,16 @@ bool APIServerConnectionBase::send_text_sensor_state_response(const TextSensorSt
179
179
  bool APIServerConnectionBase::send_subscribe_logs_response(const SubscribeLogsResponse &msg) {
180
180
  return this->send_message_<SubscribeLogsResponse>(msg, 29);
181
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
182
192
  bool APIServerConnectionBase::send_homeassistant_service_response(const HomeassistantServiceResponse &msg) {
183
193
  #ifdef HAS_PROTO_MESSAGE_DUMP
184
194
  ESP_LOGVV(TAG, "send_homeassistant_service_response: %s", msg.dump().c_str());
@@ -282,6 +292,24 @@ bool APIServerConnectionBase::send_select_state_response(const SelectStateRespon
282
292
  #endif
283
293
  #ifdef USE_SELECT
284
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
285
313
  #ifdef USE_LOCK
286
314
  bool APIServerConnectionBase::send_list_entities_lock_response(const ListEntitiesLockResponse &msg) {
287
315
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -462,6 +490,16 @@ bool APIServerConnectionBase::send_bluetooth_device_clear_cache_response(const B
462
490
  return this->send_message_<BluetoothDeviceClearCacheResponse>(msg, 88);
463
491
  }
464
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
465
503
  #ifdef USE_VOICE_ASSISTANT
466
504
  #endif
467
505
  #ifdef USE_VOICE_ASSISTANT
@@ -883,6 +921,17 @@ bool APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
883
921
  ESP_LOGVV(TAG, "on_select_command_request: %s", msg.dump().c_str());
884
922
  #endif
885
923
  this->on_select_command_request(msg);
924
+ #endif
925
+ break;
926
+ }
927
+ case 57: {
928
+ #ifdef USE_SIREN
929
+ SirenCommandRequest msg;
930
+ msg.decode(msg_data, msg_size);
931
+ #ifdef HAS_PROTO_MESSAGE_DUMP
932
+ ESP_LOGVV(TAG, "on_siren_command_request: %s", msg.dump().c_str());
933
+ #endif
934
+ this->on_siren_command_request(msg);
886
935
  #endif
887
936
  break;
888
937
  }
@@ -1191,6 +1240,28 @@ bool APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
1191
1240
  ESP_LOGVV(TAG, "on_voice_assistant_set_configuration: %s", msg.dump().c_str());
1192
1241
  #endif
1193
1242
  this->on_voice_assistant_set_configuration(msg);
1243
+ #endif
1244
+ break;
1245
+ }
1246
+ case 124: {
1247
+ #ifdef USE_API_NOISE
1248
+ NoiseEncryptionSetKeyRequest msg;
1249
+ msg.decode(msg_data, msg_size);
1250
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1251
+ ESP_LOGVV(TAG, "on_noise_encryption_set_key_request: %s", msg.dump().c_str());
1252
+ #endif
1253
+ this->on_noise_encryption_set_key_request(msg);
1254
+ #endif
1255
+ break;
1256
+ }
1257
+ case 127: {
1258
+ #ifdef USE_BLUETOOTH_PROXY
1259
+ BluetoothScannerSetModeRequest msg;
1260
+ msg.decode(msg_data, msg_size);
1261
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1262
+ ESP_LOGVV(TAG, "on_bluetooth_scanner_set_mode_request: %s", msg.dump().c_str());
1263
+ #endif
1264
+ this->on_bluetooth_scanner_set_mode_request(msg);
1194
1265
  #endif
1195
1266
  break;
1196
1267
  }
@@ -1311,8 +1382,8 @@ void APIServerConnection::on_execute_service_request(const ExecuteServiceRequest
1311
1382
  }
1312
1383
  this->execute_service(msg);
1313
1384
  }
1314
- #ifdef USE_COVER
1315
- void APIServerConnection::on_cover_command_request(const CoverCommandRequest &msg) {
1385
+ #ifdef USE_API_NOISE
1386
+ void APIServerConnection::on_noise_encryption_set_key_request(const NoiseEncryptionSetKeyRequest &msg) {
1316
1387
  if (!this->is_connection_setup()) {
1317
1388
  this->on_no_setup_connection();
1318
1389
  return;
@@ -1321,11 +1392,14 @@ void APIServerConnection::on_cover_command_request(const CoverCommandRequest &ms
1321
1392
  this->on_unauthenticated_access();
1322
1393
  return;
1323
1394
  }
1324
- this->cover_command(msg);
1395
+ NoiseEncryptionSetKeyResponse ret = this->noise_encryption_set_key(msg);
1396
+ if (!this->send_noise_encryption_set_key_response(ret)) {
1397
+ this->on_fatal_error();
1398
+ }
1325
1399
  }
1326
1400
  #endif
1327
- #ifdef USE_FAN
1328
- void APIServerConnection::on_fan_command_request(const FanCommandRequest &msg) {
1401
+ #ifdef USE_BUTTON
1402
+ void APIServerConnection::on_button_command_request(const ButtonCommandRequest &msg) {
1329
1403
  if (!this->is_connection_setup()) {
1330
1404
  this->on_no_setup_connection();
1331
1405
  return;
@@ -1334,11 +1408,11 @@ void APIServerConnection::on_fan_command_request(const FanCommandRequest &msg) {
1334
1408
  this->on_unauthenticated_access();
1335
1409
  return;
1336
1410
  }
1337
- this->fan_command(msg);
1411
+ this->button_command(msg);
1338
1412
  }
1339
1413
  #endif
1340
- #ifdef USE_LIGHT
1341
- void APIServerConnection::on_light_command_request(const LightCommandRequest &msg) {
1414
+ #ifdef USE_ESP32_CAMERA
1415
+ void APIServerConnection::on_camera_image_request(const CameraImageRequest &msg) {
1342
1416
  if (!this->is_connection_setup()) {
1343
1417
  this->on_no_setup_connection();
1344
1418
  return;
@@ -1347,11 +1421,11 @@ void APIServerConnection::on_light_command_request(const LightCommandRequest &ms
1347
1421
  this->on_unauthenticated_access();
1348
1422
  return;
1349
1423
  }
1350
- this->light_command(msg);
1424
+ this->camera_image(msg);
1351
1425
  }
1352
1426
  #endif
1353
- #ifdef USE_SWITCH
1354
- void APIServerConnection::on_switch_command_request(const SwitchCommandRequest &msg) {
1427
+ #ifdef USE_CLIMATE
1428
+ void APIServerConnection::on_climate_command_request(const ClimateCommandRequest &msg) {
1355
1429
  if (!this->is_connection_setup()) {
1356
1430
  this->on_no_setup_connection();
1357
1431
  return;
@@ -1360,11 +1434,11 @@ void APIServerConnection::on_switch_command_request(const SwitchCommandRequest &
1360
1434
  this->on_unauthenticated_access();
1361
1435
  return;
1362
1436
  }
1363
- this->switch_command(msg);
1437
+ this->climate_command(msg);
1364
1438
  }
1365
1439
  #endif
1366
- #ifdef USE_ESP32_CAMERA
1367
- void APIServerConnection::on_camera_image_request(const CameraImageRequest &msg) {
1440
+ #ifdef USE_COVER
1441
+ void APIServerConnection::on_cover_command_request(const CoverCommandRequest &msg) {
1368
1442
  if (!this->is_connection_setup()) {
1369
1443
  this->on_no_setup_connection();
1370
1444
  return;
@@ -1373,11 +1447,11 @@ void APIServerConnection::on_camera_image_request(const CameraImageRequest &msg)
1373
1447
  this->on_unauthenticated_access();
1374
1448
  return;
1375
1449
  }
1376
- this->camera_image(msg);
1450
+ this->cover_command(msg);
1377
1451
  }
1378
1452
  #endif
1379
- #ifdef USE_CLIMATE
1380
- void APIServerConnection::on_climate_command_request(const ClimateCommandRequest &msg) {
1453
+ #ifdef USE_DATETIME_DATE
1454
+ void APIServerConnection::on_date_command_request(const DateCommandRequest &msg) {
1381
1455
  if (!this->is_connection_setup()) {
1382
1456
  this->on_no_setup_connection();
1383
1457
  return;
@@ -1386,11 +1460,11 @@ void APIServerConnection::on_climate_command_request(const ClimateCommandRequest
1386
1460
  this->on_unauthenticated_access();
1387
1461
  return;
1388
1462
  }
1389
- this->climate_command(msg);
1463
+ this->date_command(msg);
1390
1464
  }
1391
1465
  #endif
1392
- #ifdef USE_NUMBER
1393
- void APIServerConnection::on_number_command_request(const NumberCommandRequest &msg) {
1466
+ #ifdef USE_DATETIME_DATETIME
1467
+ void APIServerConnection::on_date_time_command_request(const DateTimeCommandRequest &msg) {
1394
1468
  if (!this->is_connection_setup()) {
1395
1469
  this->on_no_setup_connection();
1396
1470
  return;
@@ -1399,11 +1473,11 @@ void APIServerConnection::on_number_command_request(const NumberCommandRequest &
1399
1473
  this->on_unauthenticated_access();
1400
1474
  return;
1401
1475
  }
1402
- this->number_command(msg);
1476
+ this->datetime_command(msg);
1403
1477
  }
1404
1478
  #endif
1405
- #ifdef USE_TEXT
1406
- void APIServerConnection::on_text_command_request(const TextCommandRequest &msg) {
1479
+ #ifdef USE_FAN
1480
+ void APIServerConnection::on_fan_command_request(const FanCommandRequest &msg) {
1407
1481
  if (!this->is_connection_setup()) {
1408
1482
  this->on_no_setup_connection();
1409
1483
  return;
@@ -1412,11 +1486,11 @@ void APIServerConnection::on_text_command_request(const TextCommandRequest &msg)
1412
1486
  this->on_unauthenticated_access();
1413
1487
  return;
1414
1488
  }
1415
- this->text_command(msg);
1489
+ this->fan_command(msg);
1416
1490
  }
1417
1491
  #endif
1418
- #ifdef USE_SELECT
1419
- void APIServerConnection::on_select_command_request(const SelectCommandRequest &msg) {
1492
+ #ifdef USE_LIGHT
1493
+ void APIServerConnection::on_light_command_request(const LightCommandRequest &msg) {
1420
1494
  if (!this->is_connection_setup()) {
1421
1495
  this->on_no_setup_connection();
1422
1496
  return;
@@ -1425,11 +1499,11 @@ void APIServerConnection::on_select_command_request(const SelectCommandRequest &
1425
1499
  this->on_unauthenticated_access();
1426
1500
  return;
1427
1501
  }
1428
- this->select_command(msg);
1502
+ this->light_command(msg);
1429
1503
  }
1430
1504
  #endif
1431
- #ifdef USE_BUTTON
1432
- void APIServerConnection::on_button_command_request(const ButtonCommandRequest &msg) {
1505
+ #ifdef USE_LOCK
1506
+ void APIServerConnection::on_lock_command_request(const LockCommandRequest &msg) {
1433
1507
  if (!this->is_connection_setup()) {
1434
1508
  this->on_no_setup_connection();
1435
1509
  return;
@@ -1438,11 +1512,11 @@ void APIServerConnection::on_button_command_request(const ButtonCommandRequest &
1438
1512
  this->on_unauthenticated_access();
1439
1513
  return;
1440
1514
  }
1441
- this->button_command(msg);
1515
+ this->lock_command(msg);
1442
1516
  }
1443
1517
  #endif
1444
- #ifdef USE_LOCK
1445
- void APIServerConnection::on_lock_command_request(const LockCommandRequest &msg) {
1518
+ #ifdef USE_MEDIA_PLAYER
1519
+ void APIServerConnection::on_media_player_command_request(const MediaPlayerCommandRequest &msg) {
1446
1520
  if (!this->is_connection_setup()) {
1447
1521
  this->on_no_setup_connection();
1448
1522
  return;
@@ -1451,11 +1525,11 @@ void APIServerConnection::on_lock_command_request(const LockCommandRequest &msg)
1451
1525
  this->on_unauthenticated_access();
1452
1526
  return;
1453
1527
  }
1454
- this->lock_command(msg);
1528
+ this->media_player_command(msg);
1455
1529
  }
1456
1530
  #endif
1457
- #ifdef USE_VALVE
1458
- void APIServerConnection::on_valve_command_request(const ValveCommandRequest &msg) {
1531
+ #ifdef USE_NUMBER
1532
+ void APIServerConnection::on_number_command_request(const NumberCommandRequest &msg) {
1459
1533
  if (!this->is_connection_setup()) {
1460
1534
  this->on_no_setup_connection();
1461
1535
  return;
@@ -1464,11 +1538,11 @@ void APIServerConnection::on_valve_command_request(const ValveCommandRequest &ms
1464
1538
  this->on_unauthenticated_access();
1465
1539
  return;
1466
1540
  }
1467
- this->valve_command(msg);
1541
+ this->number_command(msg);
1468
1542
  }
1469
1543
  #endif
1470
- #ifdef USE_MEDIA_PLAYER
1471
- void APIServerConnection::on_media_player_command_request(const MediaPlayerCommandRequest &msg) {
1544
+ #ifdef USE_SELECT
1545
+ void APIServerConnection::on_select_command_request(const SelectCommandRequest &msg) {
1472
1546
  if (!this->is_connection_setup()) {
1473
1547
  this->on_no_setup_connection();
1474
1548
  return;
@@ -1477,11 +1551,11 @@ void APIServerConnection::on_media_player_command_request(const MediaPlayerComma
1477
1551
  this->on_unauthenticated_access();
1478
1552
  return;
1479
1553
  }
1480
- this->media_player_command(msg);
1554
+ this->select_command(msg);
1481
1555
  }
1482
1556
  #endif
1483
- #ifdef USE_DATETIME_DATE
1484
- void APIServerConnection::on_date_command_request(const DateCommandRequest &msg) {
1557
+ #ifdef USE_SIREN
1558
+ void APIServerConnection::on_siren_command_request(const SirenCommandRequest &msg) {
1485
1559
  if (!this->is_connection_setup()) {
1486
1560
  this->on_no_setup_connection();
1487
1561
  return;
@@ -1490,11 +1564,11 @@ void APIServerConnection::on_date_command_request(const DateCommandRequest &msg)
1490
1564
  this->on_unauthenticated_access();
1491
1565
  return;
1492
1566
  }
1493
- this->date_command(msg);
1567
+ this->siren_command(msg);
1494
1568
  }
1495
1569
  #endif
1496
- #ifdef USE_DATETIME_TIME
1497
- void APIServerConnection::on_time_command_request(const TimeCommandRequest &msg) {
1570
+ #ifdef USE_SWITCH
1571
+ void APIServerConnection::on_switch_command_request(const SwitchCommandRequest &msg) {
1498
1572
  if (!this->is_connection_setup()) {
1499
1573
  this->on_no_setup_connection();
1500
1574
  return;
@@ -1503,11 +1577,11 @@ void APIServerConnection::on_time_command_request(const TimeCommandRequest &msg)
1503
1577
  this->on_unauthenticated_access();
1504
1578
  return;
1505
1579
  }
1506
- this->time_command(msg);
1580
+ this->switch_command(msg);
1507
1581
  }
1508
1582
  #endif
1509
- #ifdef USE_DATETIME_DATETIME
1510
- void APIServerConnection::on_date_time_command_request(const DateTimeCommandRequest &msg) {
1583
+ #ifdef USE_TEXT
1584
+ void APIServerConnection::on_text_command_request(const TextCommandRequest &msg) {
1511
1585
  if (!this->is_connection_setup()) {
1512
1586
  this->on_no_setup_connection();
1513
1587
  return;
@@ -1516,7 +1590,20 @@ void APIServerConnection::on_date_time_command_request(const DateTimeCommandRequ
1516
1590
  this->on_unauthenticated_access();
1517
1591
  return;
1518
1592
  }
1519
- this->datetime_command(msg);
1593
+ this->text_command(msg);
1594
+ }
1595
+ #endif
1596
+ #ifdef USE_DATETIME_TIME
1597
+ void APIServerConnection::on_time_command_request(const TimeCommandRequest &msg) {
1598
+ if (!this->is_connection_setup()) {
1599
+ this->on_no_setup_connection();
1600
+ return;
1601
+ }
1602
+ if (!this->is_authenticated()) {
1603
+ this->on_unauthenticated_access();
1604
+ return;
1605
+ }
1606
+ this->time_command(msg);
1520
1607
  }
1521
1608
  #endif
1522
1609
  #ifdef USE_UPDATE
@@ -1532,6 +1619,19 @@ void APIServerConnection::on_update_command_request(const UpdateCommandRequest &
1532
1619
  this->update_command(msg);
1533
1620
  }
1534
1621
  #endif
1622
+ #ifdef USE_VALVE
1623
+ void APIServerConnection::on_valve_command_request(const ValveCommandRequest &msg) {
1624
+ if (!this->is_connection_setup()) {
1625
+ this->on_no_setup_connection();
1626
+ return;
1627
+ }
1628
+ if (!this->is_authenticated()) {
1629
+ this->on_unauthenticated_access();
1630
+ return;
1631
+ }
1632
+ this->valve_command(msg);
1633
+ }
1634
+ #endif
1535
1635
  #ifdef USE_BLUETOOTH_PROXY
1536
1636
  void APIServerConnection::on_subscribe_bluetooth_le_advertisements_request(
1537
1637
  const SubscribeBluetoothLEAdvertisementsRequest &msg) {
@@ -1668,6 +1768,19 @@ void APIServerConnection::on_unsubscribe_bluetooth_le_advertisements_request(
1668
1768
  this->unsubscribe_bluetooth_le_advertisements(msg);
1669
1769
  }
1670
1770
  #endif
1771
+ #ifdef USE_BLUETOOTH_PROXY
1772
+ void APIServerConnection::on_bluetooth_scanner_set_mode_request(const BluetoothScannerSetModeRequest &msg) {
1773
+ if (!this->is_connection_setup()) {
1774
+ this->on_no_setup_connection();
1775
+ return;
1776
+ }
1777
+ if (!this->is_authenticated()) {
1778
+ this->on_unauthenticated_access();
1779
+ return;
1780
+ }
1781
+ this->bluetooth_scanner_set_mode(msg);
1782
+ }
1783
+ #endif
1671
1784
  #ifdef USE_VOICE_ASSISTANT
1672
1785
  void APIServerConnection::on_subscribe_voice_assistant_request(const SubscribeVoiceAssistantRequest &msg) {
1673
1786
  if (!this->is_connection_setup()) {
@@ -1,5 +1,5 @@
1
1
  // This file was automatically generated with a tool.
2
- // See scripts/api_protobuf/api_protobuf.py
2
+ // See script/api_protobuf/api_protobuf.py
3
3
  #pragma once
4
4
 
5
5
  #include "api_pb2.h"
@@ -83,6 +83,12 @@ class APIServerConnectionBase : public ProtoService {
83
83
  #endif
84
84
  virtual void on_subscribe_logs_request(const SubscribeLogsRequest &value){};
85
85
  bool send_subscribe_logs_response(const SubscribeLogsResponse &msg);
86
+ #ifdef USE_API_NOISE
87
+ virtual void on_noise_encryption_set_key_request(const NoiseEncryptionSetKeyRequest &value){};
88
+ #endif
89
+ #ifdef USE_API_NOISE
90
+ bool send_noise_encryption_set_key_response(const NoiseEncryptionSetKeyResponse &msg);
91
+ #endif
86
92
  virtual void on_subscribe_homeassistant_services_request(const SubscribeHomeassistantServicesRequest &value){};
87
93
  bool send_homeassistant_service_response(const HomeassistantServiceResponse &msg);
88
94
  virtual void on_subscribe_home_assistant_states_request(const SubscribeHomeAssistantStatesRequest &value){};
@@ -130,6 +136,15 @@ class APIServerConnectionBase : public ProtoService {
130
136
  #ifdef USE_SELECT
131
137
  virtual void on_select_command_request(const SelectCommandRequest &value){};
132
138
  #endif
139
+ #ifdef USE_SIREN
140
+ bool send_list_entities_siren_response(const ListEntitiesSirenResponse &msg);
141
+ #endif
142
+ #ifdef USE_SIREN
143
+ bool send_siren_state_response(const SirenStateResponse &msg);
144
+ #endif
145
+ #ifdef USE_SIREN
146
+ virtual void on_siren_command_request(const SirenCommandRequest &value){};
147
+ #endif
133
148
  #ifdef USE_LOCK
134
149
  bool send_list_entities_lock_response(const ListEntitiesLockResponse &msg);
135
150
  #endif
@@ -228,6 +243,12 @@ class APIServerConnectionBase : public ProtoService {
228
243
  #ifdef USE_BLUETOOTH_PROXY
229
244
  bool send_bluetooth_device_clear_cache_response(const BluetoothDeviceClearCacheResponse &msg);
230
245
  #endif
246
+ #ifdef USE_BLUETOOTH_PROXY
247
+ bool send_bluetooth_scanner_state_response(const BluetoothScannerStateResponse &msg);
248
+ #endif
249
+ #ifdef USE_BLUETOOTH_PROXY
250
+ virtual void on_bluetooth_scanner_set_mode_request(const BluetoothScannerSetModeRequest &value){};
251
+ #endif
231
252
  #ifdef USE_VOICE_ASSISTANT
232
253
  virtual void on_subscribe_voice_assistant_request(const SubscribeVoiceAssistantRequest &value){};
233
254
  #endif
@@ -349,57 +370,63 @@ class APIServerConnection : public APIServerConnectionBase {
349
370
  virtual void subscribe_home_assistant_states(const SubscribeHomeAssistantStatesRequest &msg) = 0;
350
371
  virtual GetTimeResponse get_time(const GetTimeRequest &msg) = 0;
351
372
  virtual void execute_service(const ExecuteServiceRequest &msg) = 0;
373
+ #ifdef USE_API_NOISE
374
+ virtual NoiseEncryptionSetKeyResponse noise_encryption_set_key(const NoiseEncryptionSetKeyRequest &msg) = 0;
375
+ #endif
376
+ #ifdef USE_BUTTON
377
+ virtual void button_command(const ButtonCommandRequest &msg) = 0;
378
+ #endif
379
+ #ifdef USE_ESP32_CAMERA
380
+ virtual void camera_image(const CameraImageRequest &msg) = 0;
381
+ #endif
382
+ #ifdef USE_CLIMATE
383
+ virtual void climate_command(const ClimateCommandRequest &msg) = 0;
384
+ #endif
352
385
  #ifdef USE_COVER
353
386
  virtual void cover_command(const CoverCommandRequest &msg) = 0;
354
387
  #endif
388
+ #ifdef USE_DATETIME_DATE
389
+ virtual void date_command(const DateCommandRequest &msg) = 0;
390
+ #endif
391
+ #ifdef USE_DATETIME_DATETIME
392
+ virtual void datetime_command(const DateTimeCommandRequest &msg) = 0;
393
+ #endif
355
394
  #ifdef USE_FAN
356
395
  virtual void fan_command(const FanCommandRequest &msg) = 0;
357
396
  #endif
358
397
  #ifdef USE_LIGHT
359
398
  virtual void light_command(const LightCommandRequest &msg) = 0;
360
399
  #endif
361
- #ifdef USE_SWITCH
362
- virtual void switch_command(const SwitchCommandRequest &msg) = 0;
363
- #endif
364
- #ifdef USE_ESP32_CAMERA
365
- virtual void camera_image(const CameraImageRequest &msg) = 0;
400
+ #ifdef USE_LOCK
401
+ virtual void lock_command(const LockCommandRequest &msg) = 0;
366
402
  #endif
367
- #ifdef USE_CLIMATE
368
- virtual void climate_command(const ClimateCommandRequest &msg) = 0;
403
+ #ifdef USE_MEDIA_PLAYER
404
+ virtual void media_player_command(const MediaPlayerCommandRequest &msg) = 0;
369
405
  #endif
370
406
  #ifdef USE_NUMBER
371
407
  virtual void number_command(const NumberCommandRequest &msg) = 0;
372
408
  #endif
373
- #ifdef USE_TEXT
374
- virtual void text_command(const TextCommandRequest &msg) = 0;
375
- #endif
376
409
  #ifdef USE_SELECT
377
410
  virtual void select_command(const SelectCommandRequest &msg) = 0;
378
411
  #endif
379
- #ifdef USE_BUTTON
380
- virtual void button_command(const ButtonCommandRequest &msg) = 0;
412
+ #ifdef USE_SIREN
413
+ virtual void siren_command(const SirenCommandRequest &msg) = 0;
381
414
  #endif
382
- #ifdef USE_LOCK
383
- virtual void lock_command(const LockCommandRequest &msg) = 0;
384
- #endif
385
- #ifdef USE_VALVE
386
- virtual void valve_command(const ValveCommandRequest &msg) = 0;
387
- #endif
388
- #ifdef USE_MEDIA_PLAYER
389
- virtual void media_player_command(const MediaPlayerCommandRequest &msg) = 0;
415
+ #ifdef USE_SWITCH
416
+ virtual void switch_command(const SwitchCommandRequest &msg) = 0;
390
417
  #endif
391
- #ifdef USE_DATETIME_DATE
392
- virtual void date_command(const DateCommandRequest &msg) = 0;
418
+ #ifdef USE_TEXT
419
+ virtual void text_command(const TextCommandRequest &msg) = 0;
393
420
  #endif
394
421
  #ifdef USE_DATETIME_TIME
395
422
  virtual void time_command(const TimeCommandRequest &msg) = 0;
396
423
  #endif
397
- #ifdef USE_DATETIME_DATETIME
398
- virtual void datetime_command(const DateTimeCommandRequest &msg) = 0;
399
- #endif
400
424
  #ifdef USE_UPDATE
401
425
  virtual void update_command(const UpdateCommandRequest &msg) = 0;
402
426
  #endif
427
+ #ifdef USE_VALVE
428
+ virtual void valve_command(const ValveCommandRequest &msg) = 0;
429
+ #endif
403
430
  #ifdef USE_BLUETOOTH_PROXY
404
431
  virtual void subscribe_bluetooth_le_advertisements(const SubscribeBluetoothLEAdvertisementsRequest &msg) = 0;
405
432
  #endif
@@ -431,6 +458,9 @@ class APIServerConnection : public APIServerConnectionBase {
431
458
  #ifdef USE_BLUETOOTH_PROXY
432
459
  virtual void unsubscribe_bluetooth_le_advertisements(const UnsubscribeBluetoothLEAdvertisementsRequest &msg) = 0;
433
460
  #endif
461
+ #ifdef USE_BLUETOOTH_PROXY
462
+ virtual void bluetooth_scanner_set_mode(const BluetoothScannerSetModeRequest &msg) = 0;
463
+ #endif
434
464
  #ifdef USE_VOICE_ASSISTANT
435
465
  virtual void subscribe_voice_assistant(const SubscribeVoiceAssistantRequest &msg) = 0;
436
466
  #endif
@@ -457,57 +487,63 @@ class APIServerConnection : public APIServerConnectionBase {
457
487
  void on_subscribe_home_assistant_states_request(const SubscribeHomeAssistantStatesRequest &msg) override;
458
488
  void on_get_time_request(const GetTimeRequest &msg) override;
459
489
  void on_execute_service_request(const ExecuteServiceRequest &msg) override;
490
+ #ifdef USE_API_NOISE
491
+ void on_noise_encryption_set_key_request(const NoiseEncryptionSetKeyRequest &msg) override;
492
+ #endif
493
+ #ifdef USE_BUTTON
494
+ void on_button_command_request(const ButtonCommandRequest &msg) override;
495
+ #endif
496
+ #ifdef USE_ESP32_CAMERA
497
+ void on_camera_image_request(const CameraImageRequest &msg) override;
498
+ #endif
499
+ #ifdef USE_CLIMATE
500
+ void on_climate_command_request(const ClimateCommandRequest &msg) override;
501
+ #endif
460
502
  #ifdef USE_COVER
461
503
  void on_cover_command_request(const CoverCommandRequest &msg) override;
462
504
  #endif
505
+ #ifdef USE_DATETIME_DATE
506
+ void on_date_command_request(const DateCommandRequest &msg) override;
507
+ #endif
508
+ #ifdef USE_DATETIME_DATETIME
509
+ void on_date_time_command_request(const DateTimeCommandRequest &msg) override;
510
+ #endif
463
511
  #ifdef USE_FAN
464
512
  void on_fan_command_request(const FanCommandRequest &msg) override;
465
513
  #endif
466
514
  #ifdef USE_LIGHT
467
515
  void on_light_command_request(const LightCommandRequest &msg) override;
468
516
  #endif
469
- #ifdef USE_SWITCH
470
- void on_switch_command_request(const SwitchCommandRequest &msg) override;
471
- #endif
472
- #ifdef USE_ESP32_CAMERA
473
- void on_camera_image_request(const CameraImageRequest &msg) override;
517
+ #ifdef USE_LOCK
518
+ void on_lock_command_request(const LockCommandRequest &msg) override;
474
519
  #endif
475
- #ifdef USE_CLIMATE
476
- void on_climate_command_request(const ClimateCommandRequest &msg) override;
520
+ #ifdef USE_MEDIA_PLAYER
521
+ void on_media_player_command_request(const MediaPlayerCommandRequest &msg) override;
477
522
  #endif
478
523
  #ifdef USE_NUMBER
479
524
  void on_number_command_request(const NumberCommandRequest &msg) override;
480
525
  #endif
481
- #ifdef USE_TEXT
482
- void on_text_command_request(const TextCommandRequest &msg) override;
483
- #endif
484
526
  #ifdef USE_SELECT
485
527
  void on_select_command_request(const SelectCommandRequest &msg) override;
486
528
  #endif
487
- #ifdef USE_BUTTON
488
- void on_button_command_request(const ButtonCommandRequest &msg) override;
529
+ #ifdef USE_SIREN
530
+ void on_siren_command_request(const SirenCommandRequest &msg) override;
489
531
  #endif
490
- #ifdef USE_LOCK
491
- void on_lock_command_request(const LockCommandRequest &msg) override;
492
- #endif
493
- #ifdef USE_VALVE
494
- void on_valve_command_request(const ValveCommandRequest &msg) override;
495
- #endif
496
- #ifdef USE_MEDIA_PLAYER
497
- void on_media_player_command_request(const MediaPlayerCommandRequest &msg) override;
532
+ #ifdef USE_SWITCH
533
+ void on_switch_command_request(const SwitchCommandRequest &msg) override;
498
534
  #endif
499
- #ifdef USE_DATETIME_DATE
500
- void on_date_command_request(const DateCommandRequest &msg) override;
535
+ #ifdef USE_TEXT
536
+ void on_text_command_request(const TextCommandRequest &msg) override;
501
537
  #endif
502
538
  #ifdef USE_DATETIME_TIME
503
539
  void on_time_command_request(const TimeCommandRequest &msg) override;
504
540
  #endif
505
- #ifdef USE_DATETIME_DATETIME
506
- void on_date_time_command_request(const DateTimeCommandRequest &msg) override;
507
- #endif
508
541
  #ifdef USE_UPDATE
509
542
  void on_update_command_request(const UpdateCommandRequest &msg) override;
510
543
  #endif
544
+ #ifdef USE_VALVE
545
+ void on_valve_command_request(const ValveCommandRequest &msg) override;
546
+ #endif
511
547
  #ifdef USE_BLUETOOTH_PROXY
512
548
  void on_subscribe_bluetooth_le_advertisements_request(const SubscribeBluetoothLEAdvertisementsRequest &msg) override;
513
549
  #endif
@@ -539,6 +575,9 @@ class APIServerConnection : public APIServerConnectionBase {
539
575
  void on_unsubscribe_bluetooth_le_advertisements_request(
540
576
  const UnsubscribeBluetoothLEAdvertisementsRequest &msg) override;
541
577
  #endif
578
+ #ifdef USE_BLUETOOTH_PROXY
579
+ void on_bluetooth_scanner_set_mode_request(const BluetoothScannerSetModeRequest &msg) override;
580
+ #endif
542
581
  #ifdef USE_VOICE_ASSISTANT
543
582
  void on_subscribe_voice_assistant_request(const SubscribeVoiceAssistantRequest &msg) override;
544
583
  #endif