esphome 2025.4.2__py3-none-any.whl → 2025.5.0b3__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 (440) hide show
  1. esphome/__main__.py +16 -14
  2. esphome/components/ac_dimmer/ac_dimmer.cpp +3 -2
  3. esphome/components/adc/__init__.py +51 -34
  4. esphome/components/airthings_wave_base/__init__.py +1 -1
  5. esphome/components/alarm_control_panel/__init__.py +37 -2
  6. esphome/components/am43/cover/__init__.py +4 -5
  7. esphome/components/analog_threshold/analog_threshold_binary_sensor.cpp +6 -4
  8. esphome/components/analog_threshold/analog_threshold_binary_sensor.h +4 -5
  9. esphome/components/analog_threshold/binary_sensor.py +10 -8
  10. esphome/components/anova/climate.py +4 -5
  11. esphome/components/api/__init__.py +25 -8
  12. esphome/components/api/api_connection.cpp +81 -13
  13. esphome/components/api/api_connection.h +13 -1
  14. esphome/components/api/api_frame_helper.cpp +232 -177
  15. esphome/components/api/api_frame_helper.h +61 -8
  16. esphome/components/api/api_noise_context.h +13 -4
  17. esphome/components/api/api_pb2.cpp +1422 -1
  18. esphome/components/api/api_pb2.h +255 -1
  19. esphome/components/api/api_pb2_service.cpp +162 -49
  20. esphome/components/api/api_pb2_service.h +90 -51
  21. esphome/components/api/api_pb2_size.h +361 -0
  22. esphome/components/api/api_server.cpp +110 -34
  23. esphome/components/api/api_server.h +8 -0
  24. esphome/components/api/proto.h +86 -17
  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/bedjet_hub.cpp +1 -0
  45. esphome/components/bedjet/climate/__init__.py +3 -8
  46. esphome/components/bedjet/fan/__init__.py +2 -11
  47. esphome/components/binary/fan/__init__.py +13 -16
  48. esphome/components/binary_sensor/__init__.py +13 -10
  49. esphome/components/bl0906/constants.h +16 -16
  50. esphome/components/ble_client/text_sensor/__init__.py +3 -5
  51. esphome/components/bluetooth_proxy/bluetooth_connection.cpp +4 -6
  52. esphome/components/bluetooth_proxy/bluetooth_proxy.cpp +136 -21
  53. esphome/components/bluetooth_proxy/bluetooth_proxy.h +7 -0
  54. esphome/components/button/__init__.py +11 -8
  55. esphome/components/canbus/canbus.cpp +3 -0
  56. esphome/components/canbus/canbus.h +16 -0
  57. esphome/components/ccs811/sensor.py +9 -6
  58. esphome/components/climate/__init__.py +35 -2
  59. esphome/components/climate/climate_mode.h +1 -1
  60. esphome/components/climate/climate_traits.h +63 -57
  61. esphome/components/climate_ir/__init__.py +57 -17
  62. esphome/components/climate_ir_lg/climate.py +2 -5
  63. esphome/components/climate_ir_lg/climate_ir_lg.cpp +7 -7
  64. esphome/components/climate_ir_lg/climate_ir_lg.h +1 -1
  65. esphome/components/color/__init__.py +2 -0
  66. esphome/components/const/__init__.py +5 -0
  67. esphome/components/coolix/climate.py +2 -9
  68. esphome/components/copy/cover/__init__.py +10 -9
  69. esphome/components/copy/fan/__init__.py +11 -9
  70. esphome/components/copy/lock/__init__.py +11 -9
  71. esphome/components/copy/text/__init__.py +9 -6
  72. esphome/components/cover/__init__.py +37 -2
  73. esphome/components/cse7766/cse7766.cpp +2 -1
  74. esphome/components/cst226/binary_sensor/__init__.py +28 -0
  75. esphome/components/cst226/binary_sensor/cs226_button.h +22 -0
  76. esphome/components/cst226/binary_sensor/cstt6_button.cpp +19 -0
  77. esphome/components/cst226/touchscreen/cst226_touchscreen.cpp +27 -5
  78. esphome/components/cst226/touchscreen/cst226_touchscreen.h +10 -10
  79. esphome/components/current_based/cover.py +37 -36
  80. esphome/components/current_based/current_based_cover.cpp +2 -1
  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/daly_bms/daly_bms.cpp +2 -1
  89. esphome/components/debug/debug_component.cpp +6 -1
  90. esphome/components/debug/debug_component.h +6 -0
  91. esphome/components/debug/debug_esp32.cpp +109 -254
  92. esphome/components/debug/sensor.py +14 -0
  93. esphome/components/deep_sleep/deep_sleep_esp32.cpp +13 -1
  94. esphome/components/delonghi/climate.py +2 -9
  95. esphome/components/demo/__init__.py +18 -20
  96. esphome/components/dfrobot_sen0395/switch/__init__.py +21 -22
  97. esphome/components/dps310/sensor.py +6 -6
  98. esphome/components/ee895/sensor.py +9 -9
  99. esphome/components/emmeti/climate.py +2 -9
  100. esphome/components/endstop/cover.py +17 -16
  101. esphome/components/endstop/endstop_cover.cpp +2 -1
  102. esphome/components/ens160_base/__init__.py +12 -9
  103. esphome/components/esp32/__init__.py +60 -3
  104. esphome/components/esp32/core.cpp +11 -5
  105. esphome/components/esp32/gpio.cpp +86 -24
  106. esphome/components/esp32/gpio.py +15 -16
  107. esphome/components/esp32/gpio_esp32.py +1 -2
  108. esphome/components/esp32/gpio_esp32_c2.py +1 -1
  109. esphome/components/esp32/gpio_esp32_c3.py +1 -1
  110. esphome/components/esp32/gpio_esp32_c6.py +1 -1
  111. esphome/components/esp32/gpio_esp32_h2.py +1 -1
  112. esphome/components/esp32_ble/ble.cpp +1 -0
  113. esphome/components/esp32_ble/ble.h +5 -3
  114. esphome/components/esp32_ble/ble_advertising.cpp +2 -1
  115. esphome/components/esp32_ble/ble_advertising.h +1 -0
  116. esphome/components/esp32_ble_server/__init__.py +3 -0
  117. esphome/components/esp32_ble_tracker/__init__.py +7 -1
  118. esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +192 -118
  119. esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +29 -3
  120. esphome/components/esp32_camera/esp32_camera.cpp +2 -1
  121. esphome/components/esp32_camera/esp32_camera.h +1 -1
  122. esphome/components/esp32_can/esp32_can.cpp +1 -1
  123. esphome/components/esp32_improv/esp32_improv_component.cpp +1 -1
  124. esphome/components/esp32_rmt_led_strip/led_strip.cpp +1 -1
  125. esphome/components/esp32_rmt_led_strip/led_strip.h +7 -5
  126. esphome/components/esp32_rmt_led_strip/light.py +9 -1
  127. esphome/components/esp32_touch/esp32_touch.cpp +1 -1
  128. esphome/components/esp8266/gpio.cpp +69 -8
  129. esphome/components/ethernet/ethernet_component.cpp +1 -1
  130. esphome/components/event/__init__.py +13 -10
  131. esphome/components/factory_reset/switch/__init__.py +7 -21
  132. esphome/components/fan/__init__.py +52 -5
  133. esphome/components/fastled_base/__init__.py +1 -4
  134. esphome/components/fastled_base/fastled_light.cpp +1 -1
  135. esphome/components/feedback/cover.py +38 -33
  136. esphome/components/feedback/feedback_cover.cpp +2 -1
  137. esphome/components/fujitsu_general/climate.py +2 -9
  138. esphome/components/gcja5/gcja5.cpp +2 -1
  139. esphome/components/gpio/one_wire/gpio_one_wire.cpp +45 -43
  140. esphome/components/gpio/one_wire/gpio_one_wire.h +2 -1
  141. esphome/components/gpio_expander/cached_gpio.h +22 -7
  142. esphome/components/gps/__init__.py +47 -17
  143. esphome/components/gps/gps.cpp +42 -23
  144. esphome/components/gps/gps.h +17 -13
  145. esphome/components/graph/__init__.py +1 -2
  146. esphome/components/gree/climate.py +4 -6
  147. esphome/components/gree/gree.cpp +16 -2
  148. esphome/components/gree/gree.h +2 -2
  149. esphome/components/growatt_solar/growatt_solar.cpp +2 -1
  150. esphome/components/haier/climate.py +37 -34
  151. esphome/components/hbridge/fan/__init__.py +19 -17
  152. esphome/components/he60r/cover.py +4 -5
  153. esphome/components/heatpumpir/climate.py +3 -6
  154. esphome/components/hitachi_ac344/climate.py +2 -9
  155. esphome/components/hitachi_ac424/climate.py +2 -9
  156. esphome/components/hm3301/hm3301.h +1 -1
  157. esphome/components/hte501/sensor.py +6 -6
  158. esphome/components/http_request/__init__.py +39 -6
  159. esphome/components/http_request/http_request.cpp +20 -0
  160. esphome/components/http_request/http_request.h +57 -15
  161. esphome/components/http_request/http_request_arduino.cpp +22 -6
  162. esphome/components/http_request/http_request_arduino.h +4 -3
  163. esphome/components/http_request/http_request_host.cpp +141 -0
  164. esphome/components/http_request/http_request_host.h +37 -0
  165. esphome/components/http_request/http_request_idf.cpp +35 -3
  166. esphome/components/http_request/http_request_idf.h +10 -3
  167. esphome/components/http_request/httplib.h +9691 -0
  168. esphome/components/http_request/update/__init__.py +11 -8
  169. esphome/components/hyt271/sensor.py +6 -6
  170. esphome/components/i2c/i2c.h +4 -0
  171. esphome/components/i2c/i2c_bus_esp_idf.cpp +1 -1
  172. esphome/components/i2s_audio/__init__.py +131 -22
  173. esphome/components/i2s_audio/i2s_audio.h +44 -4
  174. esphome/components/i2s_audio/media_player/__init__.py +19 -9
  175. esphome/components/i2s_audio/microphone/__init__.py +63 -5
  176. esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp +351 -61
  177. esphome/components/i2s_audio/microphone/i2s_audio_microphone.h +40 -6
  178. esphome/components/i2s_audio/speaker/__init__.py +31 -5
  179. esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +155 -19
  180. esphome/components/i2s_audio/speaker/i2s_audio_speaker.h +17 -4
  181. esphome/components/ili9xxx/ili9xxx_init.h +1 -1
  182. esphome/components/image/__init__.py +37 -17
  183. esphome/components/image/image.cpp +25 -8
  184. esphome/components/internal_temperature/internal_temperature.cpp +6 -4
  185. esphome/components/key_collector/__init__.py +35 -0
  186. esphome/components/key_collector/key_collector.cpp +8 -0
  187. esphome/components/key_collector/key_collector.h +10 -0
  188. esphome/components/kuntze/kuntze.cpp +2 -1
  189. esphome/components/ld2410/ld2410.h +1 -1
  190. esphome/components/ld2450/ld2450.h +1 -1
  191. esphome/components/light/__init__.py +57 -0
  192. esphome/components/lock/__init__.py +51 -4
  193. esphome/components/lock/automation.h +2 -13
  194. esphome/components/logger/__init__.py +22 -0
  195. esphome/components/logger/logger.cpp +154 -103
  196. esphome/components/logger/logger.h +211 -36
  197. esphome/components/logger/task_log_buffer.cpp +138 -0
  198. esphome/components/logger/task_log_buffer.h +69 -0
  199. esphome/components/lvgl/__init__.py +13 -5
  200. esphome/components/lvgl/automation.py +50 -1
  201. esphome/components/lvgl/defines.py +0 -1
  202. esphome/components/lvgl/lvgl_esphome.cpp +5 -1
  203. esphome/components/lvgl/text/__init__.py +1 -2
  204. esphome/components/mapping/__init__.py +134 -0
  205. esphome/components/matrix_keypad/matrix_keypad.cpp +2 -1
  206. esphome/components/max7219digit/max7219digit.cpp +28 -27
  207. esphome/components/mdns/__init__.py +11 -5
  208. esphome/components/mdns/mdns_component.cpp +11 -5
  209. esphome/components/mdns/mdns_component.h +3 -2
  210. esphome/components/mdns/mdns_esp32.cpp +4 -3
  211. esphome/components/mdns/mdns_esp8266.cpp +4 -2
  212. esphome/components/mdns/mdns_libretiny.cpp +4 -2
  213. esphome/components/mdns/mdns_rp2040.cpp +4 -2
  214. esphome/components/media_player/__init__.py +33 -1
  215. esphome/components/mhz19/sensor.py +11 -7
  216. esphome/components/micro_wake_word/__init__.py +99 -31
  217. esphome/components/micro_wake_word/automation.h +54 -0
  218. esphome/components/micro_wake_word/micro_wake_word.cpp +331 -319
  219. esphome/components/micro_wake_word/micro_wake_word.h +58 -105
  220. esphome/components/micro_wake_word/preprocessor_settings.h +19 -2
  221. esphome/components/micro_wake_word/streaming_model.cpp +158 -41
  222. esphome/components/micro_wake_word/streaming_model.h +85 -13
  223. esphome/components/microphone/__init__.py +139 -9
  224. esphome/components/microphone/automation.h +14 -2
  225. esphome/components/microphone/microphone.cpp +21 -0
  226. esphome/components/microphone/microphone.h +14 -5
  227. esphome/components/microphone/microphone_source.cpp +95 -0
  228. esphome/components/microphone/microphone_source.h +80 -0
  229. esphome/components/mics_4514/sensor.py +25 -14
  230. esphome/components/midea/climate.py +3 -4
  231. esphome/components/midea_ir/climate.py +3 -5
  232. esphome/components/mipi_spi/__init__.py +15 -0
  233. esphome/components/mipi_spi/display.py +474 -0
  234. esphome/components/mipi_spi/mipi_spi.cpp +481 -0
  235. esphome/components/mipi_spi/mipi_spi.h +171 -0
  236. esphome/components/mipi_spi/models/__init__.py +65 -0
  237. esphome/components/mipi_spi/models/amoled.py +72 -0
  238. esphome/components/mipi_spi/models/commands.py +82 -0
  239. esphome/components/mipi_spi/models/cyd.py +10 -0
  240. esphome/components/mipi_spi/models/ili.py +749 -0
  241. esphome/components/mipi_spi/models/jc.py +260 -0
  242. esphome/components/mipi_spi/models/lanbon.py +15 -0
  243. esphome/components/mipi_spi/models/lilygo.py +60 -0
  244. esphome/components/mipi_spi/models/waveshare.py +139 -0
  245. esphome/components/mitsubishi/climate.py +2 -5
  246. esphome/components/mitsubishi/mitsubishi.cpp +9 -9
  247. esphome/components/mixer/speaker/mixer_speaker.cpp +12 -22
  248. esphome/components/mixer/speaker/mixer_speaker.h +1 -3
  249. esphome/components/mlx90393/sensor.py +5 -0
  250. esphome/components/mlx90393/sensor_mlx90393.cpp +195 -13
  251. esphome/components/mlx90393/sensor_mlx90393.h +21 -4
  252. esphome/components/modbus/modbus.cpp +2 -1
  253. esphome/components/mqtt/__init__.py +1 -1
  254. esphome/components/mqtt/mqtt_client.cpp +6 -2
  255. esphome/components/mqtt/mqtt_const.h +4 -0
  256. esphome/components/mqtt/mqtt_fan.cpp +39 -0
  257. esphome/components/mqtt/mqtt_fan.h +2 -0
  258. esphome/components/ms5611/sensor.py +6 -6
  259. esphome/components/ms8607/sensor.py +3 -3
  260. esphome/components/network/__init__.py +1 -1
  261. esphome/components/nextion/base_component.py +17 -16
  262. esphome/components/nextion/display.py +11 -2
  263. esphome/components/nextion/nextion.cpp +39 -1
  264. esphome/components/nextion/nextion.h +50 -0
  265. esphome/components/noblex/climate.py +2 -9
  266. esphome/components/number/__init__.py +12 -9
  267. esphome/components/one_wire/one_wire_bus.cpp +14 -10
  268. esphome/components/one_wire/one_wire_bus.h +14 -8
  269. esphome/components/online_image/bmp_image.cpp +48 -11
  270. esphome/components/online_image/bmp_image.h +2 -0
  271. esphome/components/opentherm/binary_sensor/__init__.py +2 -4
  272. esphome/components/opentherm/number/__init__.py +11 -20
  273. esphome/components/opentherm/sensor/__init__.py +3 -3
  274. esphome/components/opentherm/switch/__init__.py +3 -5
  275. esphome/components/output/lock/__init__.py +11 -9
  276. esphome/components/packages/__init__.py +33 -31
  277. esphome/components/packet_transport/__init__.py +201 -0
  278. esphome/components/packet_transport/binary_sensor.py +19 -0
  279. esphome/components/packet_transport/packet_transport.cpp +534 -0
  280. esphome/components/packet_transport/packet_transport.h +154 -0
  281. esphome/components/packet_transport/sensor.py +19 -0
  282. esphome/components/pca9685/pca9685_output.cpp +2 -1
  283. esphome/components/pid/climate.py +2 -4
  284. esphome/components/pm2005/__init__.py +1 -0
  285. esphome/components/pm2005/pm2005.cpp +123 -0
  286. esphome/components/pm2005/pm2005.h +46 -0
  287. esphome/components/pm2005/sensor.py +86 -0
  288. esphome/components/pmsa003i/pmsa003i.cpp +43 -16
  289. esphome/components/pmsa003i/pmsa003i.h +25 -25
  290. esphome/components/pmsx003/pmsx003.cpp +195 -230
  291. esphome/components/pmsx003/pmsx003.h +51 -33
  292. esphome/components/pmsx003/sensor.py +21 -11
  293. esphome/components/pn7150/pn7150.h +2 -2
  294. esphome/components/pn7160/pn7160.h +2 -2
  295. esphome/components/prometheus/prometheus_handler.cpp +174 -0
  296. esphome/components/prometheus/prometheus_handler.h +17 -0
  297. esphome/components/psram/__init__.py +7 -5
  298. esphome/components/pulse_meter/pulse_meter_sensor.cpp +32 -12
  299. esphome/components/pulse_meter/pulse_meter_sensor.h +5 -5
  300. esphome/components/pzem004t/pzem004t.cpp +2 -1
  301. esphome/components/qspi_dbi/__init__.py +0 -1
  302. esphome/components/qspi_dbi/display.py +2 -1
  303. esphome/components/qspi_dbi/models.py +1 -2
  304. esphome/components/remote_base/__init__.py +91 -0
  305. esphome/components/remote_base/beo4_protocol.cpp +153 -0
  306. esphome/components/remote_base/beo4_protocol.h +43 -0
  307. esphome/components/remote_base/gobox_protocol.cpp +131 -0
  308. esphome/components/remote_base/gobox_protocol.h +54 -0
  309. esphome/components/remote_receiver/remote_receiver_esp32.cpp +16 -9
  310. esphome/components/resampler/speaker/resampler_speaker.cpp +12 -10
  311. esphome/components/resampler/speaker/resampler_speaker.h +1 -1
  312. esphome/components/rf_bridge/rf_bridge.cpp +2 -1
  313. esphome/components/scd30/sensor.py +2 -3
  314. esphome/components/scd4x/sensor.py +4 -5
  315. esphome/components/sdp3x/sensor.py +2 -1
  316. esphome/components/sds011/sds011.cpp +2 -1
  317. esphome/components/select/__init__.py +19 -20
  318. esphome/components/sen5x/sen5x.cpp +55 -36
  319. esphome/components/sen5x/sensor.py +1 -1
  320. esphome/components/senseair/sensor.py +3 -3
  321. esphome/components/sensor/__init__.py +158 -14
  322. esphome/components/sensor/filter.cpp +23 -0
  323. esphome/components/sensor/filter.h +22 -0
  324. esphome/components/sgp30/sensor.py +14 -16
  325. esphome/components/sgp4x/sensor.py +1 -1
  326. esphome/components/sht4x/sht4x.cpp +43 -22
  327. esphome/components/sht4x/sht4x.h +1 -1
  328. esphome/components/shtcx/sensor.py +6 -6
  329. esphome/components/slow_pwm/slow_pwm_output.cpp +2 -1
  330. esphome/components/sml/text_sensor/__init__.py +4 -6
  331. esphome/components/sound_level/__init__.py +0 -0
  332. esphome/components/sound_level/sensor.py +97 -0
  333. esphome/components/sound_level/sound_level.cpp +194 -0
  334. esphome/components/sound_level/sound_level.h +73 -0
  335. esphome/components/speaker/media_player/__init__.py +4 -8
  336. esphome/components/speaker/media_player/speaker_media_player.cpp +0 -18
  337. esphome/components/speaker/media_player/speaker_media_player.h +0 -11
  338. esphome/components/speaker/speaker.h +4 -7
  339. esphome/components/speed/fan/__init__.py +17 -16
  340. esphome/components/spi/spi.h +11 -1
  341. esphome/components/sprinkler/__init__.py +18 -19
  342. esphome/components/sprinkler/sprinkler.cpp +6 -5
  343. esphome/components/switch/__init__.py +32 -42
  344. esphome/components/syslog/__init__.py +41 -0
  345. esphome/components/syslog/esphome_syslog.cpp +49 -0
  346. esphome/components/syslog/esphome_syslog.h +27 -0
  347. esphome/components/t6615/sensor.py +3 -3
  348. esphome/components/t6615/t6615.cpp +2 -1
  349. esphome/components/tca9555/tca9555.cpp +11 -6
  350. esphome/components/tcl112/climate.py +2 -9
  351. esphome/components/template/alarm_control_panel/__init__.py +7 -6
  352. esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp +21 -17
  353. esphome/components/template/alarm_control_panel/template_alarm_control_panel.h +2 -1
  354. esphome/components/template/cover/__init__.py +27 -21
  355. esphome/components/template/fan/__init__.py +14 -12
  356. esphome/components/template/lock/__init__.py +20 -25
  357. esphome/components/template/lock/automation.h +18 -0
  358. esphome/components/template/text/__init__.py +4 -3
  359. esphome/components/template/valve/__init__.py +32 -21
  360. esphome/components/template/valve/automation.h +24 -0
  361. esphome/components/text/__init__.py +32 -1
  362. esphome/components/text_sensor/__init__.py +24 -29
  363. esphome/components/thermostat/climate.py +5 -5
  364. esphome/components/time_based/cover.py +17 -16
  365. esphome/components/time_based/time_based_cover.cpp +2 -1
  366. esphome/components/tm1638/switch/__init__.py +10 -7
  367. esphome/components/tormatic/cover.py +4 -5
  368. esphome/components/toshiba/climate.py +3 -5
  369. esphome/components/touchscreen/touchscreen.cpp +3 -1
  370. esphome/components/tuya/climate/__init__.py +5 -6
  371. esphome/components/tuya/cover/__init__.py +6 -11
  372. esphome/components/tuya/select/__init__.py +15 -5
  373. esphome/components/tuya/select/tuya_select.cpp +6 -1
  374. esphome/components/tuya/select/tuya_select.h +5 -1
  375. esphome/components/uart/packet_transport/__init__.py +20 -0
  376. esphome/components/uart/packet_transport/uart_transport.cpp +88 -0
  377. esphome/components/uart/packet_transport/uart_transport.h +41 -0
  378. esphome/components/uart/switch/uart_switch.cpp +2 -1
  379. esphome/components/udp/__init__.py +126 -128
  380. esphome/components/udp/automation.h +40 -0
  381. esphome/components/udp/binary_sensor.py +3 -25
  382. esphome/components/udp/packet_transport/__init__.py +29 -0
  383. esphome/components/udp/packet_transport/udp_transport.cpp +36 -0
  384. esphome/components/udp/packet_transport/udp_transport.h +28 -0
  385. esphome/components/udp/sensor.py +3 -25
  386. esphome/components/udp/udp_component.cpp +26 -470
  387. esphome/components/udp/udp_component.h +21 -128
  388. esphome/components/update/__init__.py +31 -1
  389. esphome/components/uponor_smatrix/climate/__init__.py +4 -9
  390. esphome/components/uponor_smatrix/climate/uponor_smatrix_climate.cpp +2 -1
  391. esphome/components/uponor_smatrix/uponor_smatrix.cpp +2 -1
  392. esphome/components/uptime/text_sensor/__init__.py +47 -7
  393. esphome/components/uptime/text_sensor/uptime_text_sensor.cpp +12 -7
  394. esphome/components/uptime/text_sensor/uptime_text_sensor.h +19 -0
  395. esphome/components/valve/__init__.py +34 -3
  396. esphome/components/valve/automation.h +1 -19
  397. esphome/components/vl53l0x/sensor.py +11 -0
  398. esphome/components/vl53l0x/vl53l0x_sensor.cpp +5 -1
  399. esphome/components/vl53l0x/vl53l0x_sensor.h +2 -1
  400. esphome/components/voice_assistant/__init__.py +36 -10
  401. esphome/components/voice_assistant/voice_assistant.cpp +170 -144
  402. esphome/components/voice_assistant/voice_assistant.h +26 -25
  403. esphome/components/waveshare_epaper/display.py +6 -0
  404. esphome/components/waveshare_epaper/waveshare_epaper.cpp +439 -37
  405. esphome/components/waveshare_epaper/waveshare_epaper.h +60 -11
  406. esphome/components/whirlpool/climate.py +3 -5
  407. esphome/components/whynter/climate.py +3 -5
  408. esphome/components/xpt2046/touchscreen/xpt2046.cpp +1 -1
  409. esphome/components/yashima/climate.py +6 -6
  410. esphome/components/zhlt01/climate.py +2 -7
  411. esphome/config.py +13 -13
  412. esphome/config_validation.py +38 -58
  413. esphome/const.py +15 -1
  414. esphome/core/__init__.py +2 -0
  415. esphome/core/application.cpp +23 -10
  416. esphome/core/application.h +9 -1
  417. esphome/core/automation.h +4 -3
  418. esphome/core/component.cpp +28 -7
  419. esphome/core/component.h +10 -1
  420. esphome/core/defines.h +23 -17
  421. esphome/core/macros.h +4 -0
  422. esphome/core/scheduler.cpp +7 -1
  423. esphome/cpp_generator.py +6 -2
  424. esphome/dashboard/web_server.py +3 -3
  425. esphome/helpers.py +39 -0
  426. esphome/loader.py +4 -0
  427. esphome/log.py +15 -19
  428. esphome/mqtt.py +23 -10
  429. esphome/platformio_api.py +1 -1
  430. esphome/schema_extractors.py +0 -1
  431. esphome/voluptuous_schema.py +3 -1
  432. esphome/vscode.py +15 -0
  433. esphome/wizard.py +47 -37
  434. esphome/zeroconf.py +7 -3
  435. {esphome-2025.4.2.dist-info → esphome-2025.5.0b3.dist-info}/METADATA +10 -11
  436. {esphome-2025.4.2.dist-info → esphome-2025.5.0b3.dist-info}/RECORD +440 -380
  437. {esphome-2025.4.2.dist-info → esphome-2025.5.0b3.dist-info}/WHEEL +1 -1
  438. {esphome-2025.4.2.dist-info → esphome-2025.5.0b3.dist-info}/entry_points.txt +0 -0
  439. {esphome-2025.4.2.dist-info → esphome-2025.5.0b3.dist-info}/licenses/LICENSE +0 -0
  440. {esphome-2025.4.2.dist-info → esphome-2025.5.0b3.dist-info}/top_level.txt +0 -0
@@ -1,8 +1,9 @@
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 "proto.h"
6
+ #include "api_pb2_size.h"
6
7
 
7
8
  namespace esphome {
8
9
  namespace api {
@@ -169,6 +170,18 @@ enum BluetoothDeviceRequestType : uint32_t {
169
170
  BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT_V3_WITHOUT_CACHE = 5,
170
171
  BLUETOOTH_DEVICE_REQUEST_TYPE_CLEAR_CACHE = 6,
171
172
  };
173
+ enum BluetoothScannerState : uint32_t {
174
+ BLUETOOTH_SCANNER_STATE_IDLE = 0,
175
+ BLUETOOTH_SCANNER_STATE_STARTING = 1,
176
+ BLUETOOTH_SCANNER_STATE_RUNNING = 2,
177
+ BLUETOOTH_SCANNER_STATE_FAILED = 3,
178
+ BLUETOOTH_SCANNER_STATE_STOPPING = 4,
179
+ BLUETOOTH_SCANNER_STATE_STOPPED = 5,
180
+ };
181
+ enum BluetoothScannerMode : uint32_t {
182
+ BLUETOOTH_SCANNER_MODE_PASSIVE = 0,
183
+ BLUETOOTH_SCANNER_MODE_ACTIVE = 1,
184
+ };
172
185
  enum VoiceAssistantSubscribeFlag : uint32_t {
173
186
  VOICE_ASSISTANT_SUBSCRIBE_NONE = 0,
174
187
  VOICE_ASSISTANT_SUBSCRIBE_API_AUDIO = 1,
@@ -245,6 +258,7 @@ class HelloRequest : public ProtoMessage {
245
258
  uint32_t api_version_major{0};
246
259
  uint32_t api_version_minor{0};
247
260
  void encode(ProtoWriteBuffer buffer) const override;
261
+ void calculate_size(uint32_t &total_size) const override;
248
262
  #ifdef HAS_PROTO_MESSAGE_DUMP
249
263
  void dump_to(std::string &out) const override;
250
264
  #endif
@@ -260,6 +274,7 @@ class HelloResponse : public ProtoMessage {
260
274
  std::string server_info{};
261
275
  std::string name{};
262
276
  void encode(ProtoWriteBuffer buffer) const override;
277
+ void calculate_size(uint32_t &total_size) const override;
263
278
  #ifdef HAS_PROTO_MESSAGE_DUMP
264
279
  void dump_to(std::string &out) const override;
265
280
  #endif
@@ -272,6 +287,7 @@ class ConnectRequest : public ProtoMessage {
272
287
  public:
273
288
  std::string password{};
274
289
  void encode(ProtoWriteBuffer buffer) const override;
290
+ void calculate_size(uint32_t &total_size) const override;
275
291
  #ifdef HAS_PROTO_MESSAGE_DUMP
276
292
  void dump_to(std::string &out) const override;
277
293
  #endif
@@ -283,6 +299,7 @@ class ConnectResponse : public ProtoMessage {
283
299
  public:
284
300
  bool invalid_password{false};
285
301
  void encode(ProtoWriteBuffer buffer) const override;
302
+ void calculate_size(uint32_t &total_size) const override;
286
303
  #ifdef HAS_PROTO_MESSAGE_DUMP
287
304
  void dump_to(std::string &out) const override;
288
305
  #endif
@@ -293,6 +310,7 @@ class ConnectResponse : public ProtoMessage {
293
310
  class DisconnectRequest : public ProtoMessage {
294
311
  public:
295
312
  void encode(ProtoWriteBuffer buffer) const override;
313
+ void calculate_size(uint32_t &total_size) const override;
296
314
  #ifdef HAS_PROTO_MESSAGE_DUMP
297
315
  void dump_to(std::string &out) const override;
298
316
  #endif
@@ -302,6 +320,7 @@ class DisconnectRequest : public ProtoMessage {
302
320
  class DisconnectResponse : public ProtoMessage {
303
321
  public:
304
322
  void encode(ProtoWriteBuffer buffer) const override;
323
+ void calculate_size(uint32_t &total_size) const override;
305
324
  #ifdef HAS_PROTO_MESSAGE_DUMP
306
325
  void dump_to(std::string &out) const override;
307
326
  #endif
@@ -311,6 +330,7 @@ class DisconnectResponse : public ProtoMessage {
311
330
  class PingRequest : public ProtoMessage {
312
331
  public:
313
332
  void encode(ProtoWriteBuffer buffer) const override;
333
+ void calculate_size(uint32_t &total_size) const override;
314
334
  #ifdef HAS_PROTO_MESSAGE_DUMP
315
335
  void dump_to(std::string &out) const override;
316
336
  #endif
@@ -320,6 +340,7 @@ class PingRequest : public ProtoMessage {
320
340
  class PingResponse : public ProtoMessage {
321
341
  public:
322
342
  void encode(ProtoWriteBuffer buffer) const override;
343
+ void calculate_size(uint32_t &total_size) const override;
323
344
  #ifdef HAS_PROTO_MESSAGE_DUMP
324
345
  void dump_to(std::string &out) const override;
325
346
  #endif
@@ -329,6 +350,7 @@ class PingResponse : public ProtoMessage {
329
350
  class DeviceInfoRequest : public ProtoMessage {
330
351
  public:
331
352
  void encode(ProtoWriteBuffer buffer) const override;
353
+ void calculate_size(uint32_t &total_size) const override;
332
354
  #ifdef HAS_PROTO_MESSAGE_DUMP
333
355
  void dump_to(std::string &out) const override;
334
356
  #endif
@@ -355,7 +377,9 @@ class DeviceInfoResponse : public ProtoMessage {
355
377
  uint32_t voice_assistant_feature_flags{0};
356
378
  std::string suggested_area{};
357
379
  std::string bluetooth_mac_address{};
380
+ bool api_encryption_supported{false};
358
381
  void encode(ProtoWriteBuffer buffer) const override;
382
+ void calculate_size(uint32_t &total_size) const override;
359
383
  #ifdef HAS_PROTO_MESSAGE_DUMP
360
384
  void dump_to(std::string &out) const override;
361
385
  #endif
@@ -367,6 +391,7 @@ class DeviceInfoResponse : public ProtoMessage {
367
391
  class ListEntitiesRequest : public ProtoMessage {
368
392
  public:
369
393
  void encode(ProtoWriteBuffer buffer) const override;
394
+ void calculate_size(uint32_t &total_size) const override;
370
395
  #ifdef HAS_PROTO_MESSAGE_DUMP
371
396
  void dump_to(std::string &out) const override;
372
397
  #endif
@@ -376,6 +401,7 @@ class ListEntitiesRequest : public ProtoMessage {
376
401
  class ListEntitiesDoneResponse : public ProtoMessage {
377
402
  public:
378
403
  void encode(ProtoWriteBuffer buffer) const override;
404
+ void calculate_size(uint32_t &total_size) const override;
379
405
  #ifdef HAS_PROTO_MESSAGE_DUMP
380
406
  void dump_to(std::string &out) const override;
381
407
  #endif
@@ -385,6 +411,7 @@ class ListEntitiesDoneResponse : public ProtoMessage {
385
411
  class SubscribeStatesRequest : public ProtoMessage {
386
412
  public:
387
413
  void encode(ProtoWriteBuffer buffer) const override;
414
+ void calculate_size(uint32_t &total_size) const override;
388
415
  #ifdef HAS_PROTO_MESSAGE_DUMP
389
416
  void dump_to(std::string &out) const override;
390
417
  #endif
@@ -403,6 +430,7 @@ class ListEntitiesBinarySensorResponse : public ProtoMessage {
403
430
  std::string icon{};
404
431
  enums::EntityCategory entity_category{};
405
432
  void encode(ProtoWriteBuffer buffer) const override;
433
+ void calculate_size(uint32_t &total_size) const override;
406
434
  #ifdef HAS_PROTO_MESSAGE_DUMP
407
435
  void dump_to(std::string &out) const override;
408
436
  #endif
@@ -418,6 +446,7 @@ class BinarySensorStateResponse : public ProtoMessage {
418
446
  bool state{false};
419
447
  bool missing_state{false};
420
448
  void encode(ProtoWriteBuffer buffer) const override;
449
+ void calculate_size(uint32_t &total_size) const override;
421
450
  #ifdef HAS_PROTO_MESSAGE_DUMP
422
451
  void dump_to(std::string &out) const override;
423
452
  #endif
@@ -441,6 +470,7 @@ class ListEntitiesCoverResponse : public ProtoMessage {
441
470
  enums::EntityCategory entity_category{};
442
471
  bool supports_stop{false};
443
472
  void encode(ProtoWriteBuffer buffer) const override;
473
+ void calculate_size(uint32_t &total_size) const override;
444
474
  #ifdef HAS_PROTO_MESSAGE_DUMP
445
475
  void dump_to(std::string &out) const override;
446
476
  #endif
@@ -458,6 +488,7 @@ class CoverStateResponse : public ProtoMessage {
458
488
  float tilt{0.0f};
459
489
  enums::CoverOperation current_operation{};
460
490
  void encode(ProtoWriteBuffer buffer) const override;
491
+ void calculate_size(uint32_t &total_size) const override;
461
492
  #ifdef HAS_PROTO_MESSAGE_DUMP
462
493
  void dump_to(std::string &out) const override;
463
494
  #endif
@@ -477,6 +508,7 @@ class CoverCommandRequest : public ProtoMessage {
477
508
  float tilt{0.0f};
478
509
  bool stop{false};
479
510
  void encode(ProtoWriteBuffer buffer) const override;
511
+ void calculate_size(uint32_t &total_size) const override;
480
512
  #ifdef HAS_PROTO_MESSAGE_DUMP
481
513
  void dump_to(std::string &out) const override;
482
514
  #endif
@@ -500,6 +532,7 @@ class ListEntitiesFanResponse : public ProtoMessage {
500
532
  enums::EntityCategory entity_category{};
501
533
  std::vector<std::string> supported_preset_modes{};
502
534
  void encode(ProtoWriteBuffer buffer) const override;
535
+ void calculate_size(uint32_t &total_size) const override;
503
536
  #ifdef HAS_PROTO_MESSAGE_DUMP
504
537
  void dump_to(std::string &out) const override;
505
538
  #endif
@@ -519,6 +552,7 @@ class FanStateResponse : public ProtoMessage {
519
552
  int32_t speed_level{0};
520
553
  std::string preset_mode{};
521
554
  void encode(ProtoWriteBuffer buffer) const override;
555
+ void calculate_size(uint32_t &total_size) const override;
522
556
  #ifdef HAS_PROTO_MESSAGE_DUMP
523
557
  void dump_to(std::string &out) const override;
524
558
  #endif
@@ -544,6 +578,7 @@ class FanCommandRequest : public ProtoMessage {
544
578
  bool has_preset_mode{false};
545
579
  std::string preset_mode{};
546
580
  void encode(ProtoWriteBuffer buffer) const override;
581
+ void calculate_size(uint32_t &total_size) const override;
547
582
  #ifdef HAS_PROTO_MESSAGE_DUMP
548
583
  void dump_to(std::string &out) const override;
549
584
  #endif
@@ -571,6 +606,7 @@ class ListEntitiesLightResponse : public ProtoMessage {
571
606
  std::string icon{};
572
607
  enums::EntityCategory entity_category{};
573
608
  void encode(ProtoWriteBuffer buffer) const override;
609
+ void calculate_size(uint32_t &total_size) const override;
574
610
  #ifdef HAS_PROTO_MESSAGE_DUMP
575
611
  void dump_to(std::string &out) const override;
576
612
  #endif
@@ -596,6 +632,7 @@ class LightStateResponse : public ProtoMessage {
596
632
  float warm_white{0.0f};
597
633
  std::string effect{};
598
634
  void encode(ProtoWriteBuffer buffer) const override;
635
+ void calculate_size(uint32_t &total_size) const override;
599
636
  #ifdef HAS_PROTO_MESSAGE_DUMP
600
637
  void dump_to(std::string &out) const override;
601
638
  #endif
@@ -635,6 +672,7 @@ class LightCommandRequest : public ProtoMessage {
635
672
  bool has_effect{false};
636
673
  std::string effect{};
637
674
  void encode(ProtoWriteBuffer buffer) const override;
675
+ void calculate_size(uint32_t &total_size) const override;
638
676
  #ifdef HAS_PROTO_MESSAGE_DUMP
639
677
  void dump_to(std::string &out) const override;
640
678
  #endif
@@ -660,6 +698,7 @@ class ListEntitiesSensorResponse : public ProtoMessage {
660
698
  bool disabled_by_default{false};
661
699
  enums::EntityCategory entity_category{};
662
700
  void encode(ProtoWriteBuffer buffer) const override;
701
+ void calculate_size(uint32_t &total_size) const override;
663
702
  #ifdef HAS_PROTO_MESSAGE_DUMP
664
703
  void dump_to(std::string &out) const override;
665
704
  #endif
@@ -675,6 +714,7 @@ class SensorStateResponse : public ProtoMessage {
675
714
  float state{0.0f};
676
715
  bool missing_state{false};
677
716
  void encode(ProtoWriteBuffer buffer) const override;
717
+ void calculate_size(uint32_t &total_size) const override;
678
718
  #ifdef HAS_PROTO_MESSAGE_DUMP
679
719
  void dump_to(std::string &out) const override;
680
720
  #endif
@@ -695,6 +735,7 @@ class ListEntitiesSwitchResponse : public ProtoMessage {
695
735
  enums::EntityCategory entity_category{};
696
736
  std::string device_class{};
697
737
  void encode(ProtoWriteBuffer buffer) const override;
738
+ void calculate_size(uint32_t &total_size) const override;
698
739
  #ifdef HAS_PROTO_MESSAGE_DUMP
699
740
  void dump_to(std::string &out) const override;
700
741
  #endif
@@ -709,6 +750,7 @@ class SwitchStateResponse : public ProtoMessage {
709
750
  uint32_t key{0};
710
751
  bool state{false};
711
752
  void encode(ProtoWriteBuffer buffer) const override;
753
+ void calculate_size(uint32_t &total_size) const override;
712
754
  #ifdef HAS_PROTO_MESSAGE_DUMP
713
755
  void dump_to(std::string &out) const override;
714
756
  #endif
@@ -722,6 +764,7 @@ class SwitchCommandRequest : public ProtoMessage {
722
764
  uint32_t key{0};
723
765
  bool state{false};
724
766
  void encode(ProtoWriteBuffer buffer) const override;
767
+ void calculate_size(uint32_t &total_size) const override;
725
768
  #ifdef HAS_PROTO_MESSAGE_DUMP
726
769
  void dump_to(std::string &out) const override;
727
770
  #endif
@@ -741,6 +784,7 @@ class ListEntitiesTextSensorResponse : public ProtoMessage {
741
784
  enums::EntityCategory entity_category{};
742
785
  std::string device_class{};
743
786
  void encode(ProtoWriteBuffer buffer) const override;
787
+ void calculate_size(uint32_t &total_size) const override;
744
788
  #ifdef HAS_PROTO_MESSAGE_DUMP
745
789
  void dump_to(std::string &out) const override;
746
790
  #endif
@@ -756,6 +800,7 @@ class TextSensorStateResponse : public ProtoMessage {
756
800
  std::string state{};
757
801
  bool missing_state{false};
758
802
  void encode(ProtoWriteBuffer buffer) const override;
803
+ void calculate_size(uint32_t &total_size) const override;
759
804
  #ifdef HAS_PROTO_MESSAGE_DUMP
760
805
  void dump_to(std::string &out) const override;
761
806
  #endif
@@ -770,6 +815,7 @@ class SubscribeLogsRequest : public ProtoMessage {
770
815
  enums::LogLevel level{};
771
816
  bool dump_config{false};
772
817
  void encode(ProtoWriteBuffer buffer) const override;
818
+ void calculate_size(uint32_t &total_size) const override;
773
819
  #ifdef HAS_PROTO_MESSAGE_DUMP
774
820
  void dump_to(std::string &out) const override;
775
821
  #endif
@@ -783,17 +829,43 @@ class SubscribeLogsResponse : public ProtoMessage {
783
829
  std::string message{};
784
830
  bool send_failed{false};
785
831
  void encode(ProtoWriteBuffer buffer) const override;
832
+ void calculate_size(uint32_t &total_size) const override;
833
+ #ifdef HAS_PROTO_MESSAGE_DUMP
834
+ void dump_to(std::string &out) const override;
835
+ #endif
836
+
837
+ protected:
838
+ bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
839
+ bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
840
+ };
841
+ class NoiseEncryptionSetKeyRequest : public ProtoMessage {
842
+ public:
843
+ std::string key{};
844
+ void encode(ProtoWriteBuffer buffer) const override;
845
+ void calculate_size(uint32_t &total_size) const override;
786
846
  #ifdef HAS_PROTO_MESSAGE_DUMP
787
847
  void dump_to(std::string &out) const override;
788
848
  #endif
789
849
 
790
850
  protected:
791
851
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
852
+ };
853
+ class NoiseEncryptionSetKeyResponse : public ProtoMessage {
854
+ public:
855
+ bool success{false};
856
+ void encode(ProtoWriteBuffer buffer) const override;
857
+ void calculate_size(uint32_t &total_size) const override;
858
+ #ifdef HAS_PROTO_MESSAGE_DUMP
859
+ void dump_to(std::string &out) const override;
860
+ #endif
861
+
862
+ protected:
792
863
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
793
864
  };
794
865
  class SubscribeHomeassistantServicesRequest : public ProtoMessage {
795
866
  public:
796
867
  void encode(ProtoWriteBuffer buffer) const override;
868
+ void calculate_size(uint32_t &total_size) const override;
797
869
  #ifdef HAS_PROTO_MESSAGE_DUMP
798
870
  void dump_to(std::string &out) const override;
799
871
  #endif
@@ -805,6 +877,7 @@ class HomeassistantServiceMap : public ProtoMessage {
805
877
  std::string key{};
806
878
  std::string value{};
807
879
  void encode(ProtoWriteBuffer buffer) const override;
880
+ void calculate_size(uint32_t &total_size) const override;
808
881
  #ifdef HAS_PROTO_MESSAGE_DUMP
809
882
  void dump_to(std::string &out) const override;
810
883
  #endif
@@ -820,6 +893,7 @@ class HomeassistantServiceResponse : public ProtoMessage {
820
893
  std::vector<HomeassistantServiceMap> variables{};
821
894
  bool is_event{false};
822
895
  void encode(ProtoWriteBuffer buffer) const override;
896
+ void calculate_size(uint32_t &total_size) const override;
823
897
  #ifdef HAS_PROTO_MESSAGE_DUMP
824
898
  void dump_to(std::string &out) const override;
825
899
  #endif
@@ -831,6 +905,7 @@ class HomeassistantServiceResponse : public ProtoMessage {
831
905
  class SubscribeHomeAssistantStatesRequest : public ProtoMessage {
832
906
  public:
833
907
  void encode(ProtoWriteBuffer buffer) const override;
908
+ void calculate_size(uint32_t &total_size) const override;
834
909
  #ifdef HAS_PROTO_MESSAGE_DUMP
835
910
  void dump_to(std::string &out) const override;
836
911
  #endif
@@ -843,6 +918,7 @@ class SubscribeHomeAssistantStateResponse : public ProtoMessage {
843
918
  std::string attribute{};
844
919
  bool once{false};
845
920
  void encode(ProtoWriteBuffer buffer) const override;
921
+ void calculate_size(uint32_t &total_size) const override;
846
922
  #ifdef HAS_PROTO_MESSAGE_DUMP
847
923
  void dump_to(std::string &out) const override;
848
924
  #endif
@@ -857,6 +933,7 @@ class HomeAssistantStateResponse : public ProtoMessage {
857
933
  std::string state{};
858
934
  std::string attribute{};
859
935
  void encode(ProtoWriteBuffer buffer) const override;
936
+ void calculate_size(uint32_t &total_size) const override;
860
937
  #ifdef HAS_PROTO_MESSAGE_DUMP
861
938
  void dump_to(std::string &out) const override;
862
939
  #endif
@@ -867,6 +944,7 @@ class HomeAssistantStateResponse : public ProtoMessage {
867
944
  class GetTimeRequest : public ProtoMessage {
868
945
  public:
869
946
  void encode(ProtoWriteBuffer buffer) const override;
947
+ void calculate_size(uint32_t &total_size) const override;
870
948
  #ifdef HAS_PROTO_MESSAGE_DUMP
871
949
  void dump_to(std::string &out) const override;
872
950
  #endif
@@ -877,6 +955,7 @@ class GetTimeResponse : public ProtoMessage {
877
955
  public:
878
956
  uint32_t epoch_seconds{0};
879
957
  void encode(ProtoWriteBuffer buffer) const override;
958
+ void calculate_size(uint32_t &total_size) const override;
880
959
  #ifdef HAS_PROTO_MESSAGE_DUMP
881
960
  void dump_to(std::string &out) const override;
882
961
  #endif
@@ -889,6 +968,7 @@ class ListEntitiesServicesArgument : public ProtoMessage {
889
968
  std::string name{};
890
969
  enums::ServiceArgType type{};
891
970
  void encode(ProtoWriteBuffer buffer) const override;
971
+ void calculate_size(uint32_t &total_size) const override;
892
972
  #ifdef HAS_PROTO_MESSAGE_DUMP
893
973
  void dump_to(std::string &out) const override;
894
974
  #endif
@@ -903,6 +983,7 @@ class ListEntitiesServicesResponse : public ProtoMessage {
903
983
  uint32_t key{0};
904
984
  std::vector<ListEntitiesServicesArgument> args{};
905
985
  void encode(ProtoWriteBuffer buffer) const override;
986
+ void calculate_size(uint32_t &total_size) const override;
906
987
  #ifdef HAS_PROTO_MESSAGE_DUMP
907
988
  void dump_to(std::string &out) const override;
908
989
  #endif
@@ -923,6 +1004,7 @@ class ExecuteServiceArgument : public ProtoMessage {
923
1004
  std::vector<float> float_array{};
924
1005
  std::vector<std::string> string_array{};
925
1006
  void encode(ProtoWriteBuffer buffer) const override;
1007
+ void calculate_size(uint32_t &total_size) const override;
926
1008
  #ifdef HAS_PROTO_MESSAGE_DUMP
927
1009
  void dump_to(std::string &out) const override;
928
1010
  #endif
@@ -937,6 +1019,7 @@ class ExecuteServiceRequest : public ProtoMessage {
937
1019
  uint32_t key{0};
938
1020
  std::vector<ExecuteServiceArgument> args{};
939
1021
  void encode(ProtoWriteBuffer buffer) const override;
1022
+ void calculate_size(uint32_t &total_size) const override;
940
1023
  #ifdef HAS_PROTO_MESSAGE_DUMP
941
1024
  void dump_to(std::string &out) const override;
942
1025
  #endif
@@ -955,6 +1038,7 @@ class ListEntitiesCameraResponse : public ProtoMessage {
955
1038
  std::string icon{};
956
1039
  enums::EntityCategory entity_category{};
957
1040
  void encode(ProtoWriteBuffer buffer) const override;
1041
+ void calculate_size(uint32_t &total_size) const override;
958
1042
  #ifdef HAS_PROTO_MESSAGE_DUMP
959
1043
  void dump_to(std::string &out) const override;
960
1044
  #endif
@@ -970,6 +1054,7 @@ class CameraImageResponse : public ProtoMessage {
970
1054
  std::string data{};
971
1055
  bool done{false};
972
1056
  void encode(ProtoWriteBuffer buffer) const override;
1057
+ void calculate_size(uint32_t &total_size) const override;
973
1058
  #ifdef HAS_PROTO_MESSAGE_DUMP
974
1059
  void dump_to(std::string &out) const override;
975
1060
  #endif
@@ -984,6 +1069,7 @@ class CameraImageRequest : public ProtoMessage {
984
1069
  bool single{false};
985
1070
  bool stream{false};
986
1071
  void encode(ProtoWriteBuffer buffer) const override;
1072
+ void calculate_size(uint32_t &total_size) const override;
987
1073
  #ifdef HAS_PROTO_MESSAGE_DUMP
988
1074
  void dump_to(std::string &out) const override;
989
1075
  #endif
@@ -1019,6 +1105,7 @@ class ListEntitiesClimateResponse : public ProtoMessage {
1019
1105
  float visual_min_humidity{0.0f};
1020
1106
  float visual_max_humidity{0.0f};
1021
1107
  void encode(ProtoWriteBuffer buffer) const override;
1108
+ void calculate_size(uint32_t &total_size) const override;
1022
1109
  #ifdef HAS_PROTO_MESSAGE_DUMP
1023
1110
  void dump_to(std::string &out) const override;
1024
1111
  #endif
@@ -1046,6 +1133,7 @@ class ClimateStateResponse : public ProtoMessage {
1046
1133
  float current_humidity{0.0f};
1047
1134
  float target_humidity{0.0f};
1048
1135
  void encode(ProtoWriteBuffer buffer) const override;
1136
+ void calculate_size(uint32_t &total_size) const override;
1049
1137
  #ifdef HAS_PROTO_MESSAGE_DUMP
1050
1138
  void dump_to(std::string &out) const override;
1051
1139
  #endif
@@ -1081,6 +1169,7 @@ class ClimateCommandRequest : public ProtoMessage {
1081
1169
  bool has_target_humidity{false};
1082
1170
  float target_humidity{0.0f};
1083
1171
  void encode(ProtoWriteBuffer buffer) const override;
1172
+ void calculate_size(uint32_t &total_size) const override;
1084
1173
  #ifdef HAS_PROTO_MESSAGE_DUMP
1085
1174
  void dump_to(std::string &out) const override;
1086
1175
  #endif
@@ -1106,6 +1195,7 @@ class ListEntitiesNumberResponse : public ProtoMessage {
1106
1195
  enums::NumberMode mode{};
1107
1196
  std::string device_class{};
1108
1197
  void encode(ProtoWriteBuffer buffer) const override;
1198
+ void calculate_size(uint32_t &total_size) const override;
1109
1199
  #ifdef HAS_PROTO_MESSAGE_DUMP
1110
1200
  void dump_to(std::string &out) const override;
1111
1201
  #endif
@@ -1121,6 +1211,7 @@ class NumberStateResponse : public ProtoMessage {
1121
1211
  float state{0.0f};
1122
1212
  bool missing_state{false};
1123
1213
  void encode(ProtoWriteBuffer buffer) const override;
1214
+ void calculate_size(uint32_t &total_size) const override;
1124
1215
  #ifdef HAS_PROTO_MESSAGE_DUMP
1125
1216
  void dump_to(std::string &out) const override;
1126
1217
  #endif
@@ -1134,6 +1225,7 @@ class NumberCommandRequest : public ProtoMessage {
1134
1225
  uint32_t key{0};
1135
1226
  float state{0.0f};
1136
1227
  void encode(ProtoWriteBuffer buffer) const override;
1228
+ void calculate_size(uint32_t &total_size) const override;
1137
1229
  #ifdef HAS_PROTO_MESSAGE_DUMP
1138
1230
  void dump_to(std::string &out) const override;
1139
1231
  #endif
@@ -1152,6 +1244,7 @@ class ListEntitiesSelectResponse : public ProtoMessage {
1152
1244
  bool disabled_by_default{false};
1153
1245
  enums::EntityCategory entity_category{};
1154
1246
  void encode(ProtoWriteBuffer buffer) const override;
1247
+ void calculate_size(uint32_t &total_size) const override;
1155
1248
  #ifdef HAS_PROTO_MESSAGE_DUMP
1156
1249
  void dump_to(std::string &out) const override;
1157
1250
  #endif
@@ -1167,6 +1260,7 @@ class SelectStateResponse : public ProtoMessage {
1167
1260
  std::string state{};
1168
1261
  bool missing_state{false};
1169
1262
  void encode(ProtoWriteBuffer buffer) const override;
1263
+ void calculate_size(uint32_t &total_size) const override;
1170
1264
  #ifdef HAS_PROTO_MESSAGE_DUMP
1171
1265
  void dump_to(std::string &out) const override;
1172
1266
  #endif
@@ -1181,6 +1275,65 @@ class SelectCommandRequest : public ProtoMessage {
1181
1275
  uint32_t key{0};
1182
1276
  std::string state{};
1183
1277
  void encode(ProtoWriteBuffer buffer) const override;
1278
+ void calculate_size(uint32_t &total_size) const override;
1279
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1280
+ void dump_to(std::string &out) const override;
1281
+ #endif
1282
+
1283
+ protected:
1284
+ bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1285
+ bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1286
+ };
1287
+ class ListEntitiesSirenResponse : public ProtoMessage {
1288
+ public:
1289
+ std::string object_id{};
1290
+ uint32_t key{0};
1291
+ std::string name{};
1292
+ std::string unique_id{};
1293
+ std::string icon{};
1294
+ bool disabled_by_default{false};
1295
+ std::vector<std::string> tones{};
1296
+ bool supports_duration{false};
1297
+ bool supports_volume{false};
1298
+ enums::EntityCategory entity_category{};
1299
+ void encode(ProtoWriteBuffer buffer) const override;
1300
+ void calculate_size(uint32_t &total_size) const override;
1301
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1302
+ void dump_to(std::string &out) const override;
1303
+ #endif
1304
+
1305
+ protected:
1306
+ bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1307
+ bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1308
+ bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1309
+ };
1310
+ class SirenStateResponse : public ProtoMessage {
1311
+ public:
1312
+ uint32_t key{0};
1313
+ bool state{false};
1314
+ void encode(ProtoWriteBuffer buffer) const override;
1315
+ void calculate_size(uint32_t &total_size) const override;
1316
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1317
+ void dump_to(std::string &out) const override;
1318
+ #endif
1319
+
1320
+ protected:
1321
+ bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1322
+ bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1323
+ };
1324
+ class SirenCommandRequest : public ProtoMessage {
1325
+ public:
1326
+ uint32_t key{0};
1327
+ bool has_state{false};
1328
+ bool state{false};
1329
+ bool has_tone{false};
1330
+ std::string tone{};
1331
+ bool has_duration{false};
1332
+ uint32_t duration{0};
1333
+ bool has_volume{false};
1334
+ float volume{0.0f};
1335
+ void encode(ProtoWriteBuffer buffer) const override;
1336
+ void calculate_size(uint32_t &total_size) const override;
1184
1337
  #ifdef HAS_PROTO_MESSAGE_DUMP
1185
1338
  void dump_to(std::string &out) const override;
1186
1339
  #endif
@@ -1188,6 +1341,7 @@ class SelectCommandRequest : public ProtoMessage {
1188
1341
  protected:
1189
1342
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1190
1343
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1344
+ bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1191
1345
  };
1192
1346
  class ListEntitiesLockResponse : public ProtoMessage {
1193
1347
  public:
@@ -1203,6 +1357,7 @@ class ListEntitiesLockResponse : public ProtoMessage {
1203
1357
  bool requires_code{false};
1204
1358
  std::string code_format{};
1205
1359
  void encode(ProtoWriteBuffer buffer) const override;
1360
+ void calculate_size(uint32_t &total_size) const override;
1206
1361
  #ifdef HAS_PROTO_MESSAGE_DUMP
1207
1362
  void dump_to(std::string &out) const override;
1208
1363
  #endif
@@ -1217,6 +1372,7 @@ class LockStateResponse : public ProtoMessage {
1217
1372
  uint32_t key{0};
1218
1373
  enums::LockState state{};
1219
1374
  void encode(ProtoWriteBuffer buffer) const override;
1375
+ void calculate_size(uint32_t &total_size) const override;
1220
1376
  #ifdef HAS_PROTO_MESSAGE_DUMP
1221
1377
  void dump_to(std::string &out) const override;
1222
1378
  #endif
@@ -1232,6 +1388,7 @@ class LockCommandRequest : public ProtoMessage {
1232
1388
  bool has_code{false};
1233
1389
  std::string code{};
1234
1390
  void encode(ProtoWriteBuffer buffer) const override;
1391
+ void calculate_size(uint32_t &total_size) const override;
1235
1392
  #ifdef HAS_PROTO_MESSAGE_DUMP
1236
1393
  void dump_to(std::string &out) const override;
1237
1394
  #endif
@@ -1252,6 +1409,7 @@ class ListEntitiesButtonResponse : public ProtoMessage {
1252
1409
  enums::EntityCategory entity_category{};
1253
1410
  std::string device_class{};
1254
1411
  void encode(ProtoWriteBuffer buffer) const override;
1412
+ void calculate_size(uint32_t &total_size) const override;
1255
1413
  #ifdef HAS_PROTO_MESSAGE_DUMP
1256
1414
  void dump_to(std::string &out) const override;
1257
1415
  #endif
@@ -1265,6 +1423,7 @@ class ButtonCommandRequest : public ProtoMessage {
1265
1423
  public:
1266
1424
  uint32_t key{0};
1267
1425
  void encode(ProtoWriteBuffer buffer) const override;
1426
+ void calculate_size(uint32_t &total_size) const override;
1268
1427
  #ifdef HAS_PROTO_MESSAGE_DUMP
1269
1428
  void dump_to(std::string &out) const override;
1270
1429
  #endif
@@ -1280,6 +1439,7 @@ class MediaPlayerSupportedFormat : public ProtoMessage {
1280
1439
  enums::MediaPlayerFormatPurpose purpose{};
1281
1440
  uint32_t sample_bytes{0};
1282
1441
  void encode(ProtoWriteBuffer buffer) const override;
1442
+ void calculate_size(uint32_t &total_size) const override;
1283
1443
  #ifdef HAS_PROTO_MESSAGE_DUMP
1284
1444
  void dump_to(std::string &out) const override;
1285
1445
  #endif
@@ -1300,6 +1460,7 @@ class ListEntitiesMediaPlayerResponse : public ProtoMessage {
1300
1460
  bool supports_pause{false};
1301
1461
  std::vector<MediaPlayerSupportedFormat> supported_formats{};
1302
1462
  void encode(ProtoWriteBuffer buffer) const override;
1463
+ void calculate_size(uint32_t &total_size) const override;
1303
1464
  #ifdef HAS_PROTO_MESSAGE_DUMP
1304
1465
  void dump_to(std::string &out) const override;
1305
1466
  #endif
@@ -1316,6 +1477,7 @@ class MediaPlayerStateResponse : public ProtoMessage {
1316
1477
  float volume{0.0f};
1317
1478
  bool muted{false};
1318
1479
  void encode(ProtoWriteBuffer buffer) const override;
1480
+ void calculate_size(uint32_t &total_size) const override;
1319
1481
  #ifdef HAS_PROTO_MESSAGE_DUMP
1320
1482
  void dump_to(std::string &out) const override;
1321
1483
  #endif
@@ -1336,6 +1498,7 @@ class MediaPlayerCommandRequest : public ProtoMessage {
1336
1498
  bool has_announcement{false};
1337
1499
  bool announcement{false};
1338
1500
  void encode(ProtoWriteBuffer buffer) const override;
1501
+ void calculate_size(uint32_t &total_size) const override;
1339
1502
  #ifdef HAS_PROTO_MESSAGE_DUMP
1340
1503
  void dump_to(std::string &out) const override;
1341
1504
  #endif
@@ -1349,6 +1512,7 @@ class SubscribeBluetoothLEAdvertisementsRequest : public ProtoMessage {
1349
1512
  public:
1350
1513
  uint32_t flags{0};
1351
1514
  void encode(ProtoWriteBuffer buffer) const override;
1515
+ void calculate_size(uint32_t &total_size) const override;
1352
1516
  #ifdef HAS_PROTO_MESSAGE_DUMP
1353
1517
  void dump_to(std::string &out) const override;
1354
1518
  #endif
@@ -1362,6 +1526,7 @@ class BluetoothServiceData : public ProtoMessage {
1362
1526
  std::vector<uint32_t> legacy_data{};
1363
1527
  std::string data{};
1364
1528
  void encode(ProtoWriteBuffer buffer) const override;
1529
+ void calculate_size(uint32_t &total_size) const override;
1365
1530
  #ifdef HAS_PROTO_MESSAGE_DUMP
1366
1531
  void dump_to(std::string &out) const override;
1367
1532
  #endif
@@ -1380,6 +1545,7 @@ class BluetoothLEAdvertisementResponse : public ProtoMessage {
1380
1545
  std::vector<BluetoothServiceData> manufacturer_data{};
1381
1546
  uint32_t address_type{0};
1382
1547
  void encode(ProtoWriteBuffer buffer) const override;
1548
+ void calculate_size(uint32_t &total_size) const override;
1383
1549
  #ifdef HAS_PROTO_MESSAGE_DUMP
1384
1550
  void dump_to(std::string &out) const override;
1385
1551
  #endif
@@ -1395,6 +1561,7 @@ class BluetoothLERawAdvertisement : public ProtoMessage {
1395
1561
  uint32_t address_type{0};
1396
1562
  std::string data{};
1397
1563
  void encode(ProtoWriteBuffer buffer) const override;
1564
+ void calculate_size(uint32_t &total_size) const override;
1398
1565
  #ifdef HAS_PROTO_MESSAGE_DUMP
1399
1566
  void dump_to(std::string &out) const override;
1400
1567
  #endif
@@ -1407,6 +1574,7 @@ class BluetoothLERawAdvertisementsResponse : public ProtoMessage {
1407
1574
  public:
1408
1575
  std::vector<BluetoothLERawAdvertisement> advertisements{};
1409
1576
  void encode(ProtoWriteBuffer buffer) const override;
1577
+ void calculate_size(uint32_t &total_size) const override;
1410
1578
  #ifdef HAS_PROTO_MESSAGE_DUMP
1411
1579
  void dump_to(std::string &out) const override;
1412
1580
  #endif
@@ -1421,6 +1589,7 @@ class BluetoothDeviceRequest : public ProtoMessage {
1421
1589
  bool has_address_type{false};
1422
1590
  uint32_t address_type{0};
1423
1591
  void encode(ProtoWriteBuffer buffer) const override;
1592
+ void calculate_size(uint32_t &total_size) const override;
1424
1593
  #ifdef HAS_PROTO_MESSAGE_DUMP
1425
1594
  void dump_to(std::string &out) const override;
1426
1595
  #endif
@@ -1435,6 +1604,7 @@ class BluetoothDeviceConnectionResponse : public ProtoMessage {
1435
1604
  uint32_t mtu{0};
1436
1605
  int32_t error{0};
1437
1606
  void encode(ProtoWriteBuffer buffer) const override;
1607
+ void calculate_size(uint32_t &total_size) const override;
1438
1608
  #ifdef HAS_PROTO_MESSAGE_DUMP
1439
1609
  void dump_to(std::string &out) const override;
1440
1610
  #endif
@@ -1446,6 +1616,7 @@ class BluetoothGATTGetServicesRequest : public ProtoMessage {
1446
1616
  public:
1447
1617
  uint64_t address{0};
1448
1618
  void encode(ProtoWriteBuffer buffer) const override;
1619
+ void calculate_size(uint32_t &total_size) const override;
1449
1620
  #ifdef HAS_PROTO_MESSAGE_DUMP
1450
1621
  void dump_to(std::string &out) const override;
1451
1622
  #endif
@@ -1458,6 +1629,7 @@ class BluetoothGATTDescriptor : public ProtoMessage {
1458
1629
  std::vector<uint64_t> uuid{};
1459
1630
  uint32_t handle{0};
1460
1631
  void encode(ProtoWriteBuffer buffer) const override;
1632
+ void calculate_size(uint32_t &total_size) const override;
1461
1633
  #ifdef HAS_PROTO_MESSAGE_DUMP
1462
1634
  void dump_to(std::string &out) const override;
1463
1635
  #endif
@@ -1472,6 +1644,7 @@ class BluetoothGATTCharacteristic : public ProtoMessage {
1472
1644
  uint32_t properties{0};
1473
1645
  std::vector<BluetoothGATTDescriptor> descriptors{};
1474
1646
  void encode(ProtoWriteBuffer buffer) const override;
1647
+ void calculate_size(uint32_t &total_size) const override;
1475
1648
  #ifdef HAS_PROTO_MESSAGE_DUMP
1476
1649
  void dump_to(std::string &out) const override;
1477
1650
  #endif
@@ -1486,6 +1659,7 @@ class BluetoothGATTService : public ProtoMessage {
1486
1659
  uint32_t handle{0};
1487
1660
  std::vector<BluetoothGATTCharacteristic> characteristics{};
1488
1661
  void encode(ProtoWriteBuffer buffer) const override;
1662
+ void calculate_size(uint32_t &total_size) const override;
1489
1663
  #ifdef HAS_PROTO_MESSAGE_DUMP
1490
1664
  void dump_to(std::string &out) const override;
1491
1665
  #endif
@@ -1499,6 +1673,7 @@ class BluetoothGATTGetServicesResponse : public ProtoMessage {
1499
1673
  uint64_t address{0};
1500
1674
  std::vector<BluetoothGATTService> services{};
1501
1675
  void encode(ProtoWriteBuffer buffer) const override;
1676
+ void calculate_size(uint32_t &total_size) const override;
1502
1677
  #ifdef HAS_PROTO_MESSAGE_DUMP
1503
1678
  void dump_to(std::string &out) const override;
1504
1679
  #endif
@@ -1511,6 +1686,7 @@ class BluetoothGATTGetServicesDoneResponse : public ProtoMessage {
1511
1686
  public:
1512
1687
  uint64_t address{0};
1513
1688
  void encode(ProtoWriteBuffer buffer) const override;
1689
+ void calculate_size(uint32_t &total_size) const override;
1514
1690
  #ifdef HAS_PROTO_MESSAGE_DUMP
1515
1691
  void dump_to(std::string &out) const override;
1516
1692
  #endif
@@ -1523,6 +1699,7 @@ class BluetoothGATTReadRequest : public ProtoMessage {
1523
1699
  uint64_t address{0};
1524
1700
  uint32_t handle{0};
1525
1701
  void encode(ProtoWriteBuffer buffer) const override;
1702
+ void calculate_size(uint32_t &total_size) const override;
1526
1703
  #ifdef HAS_PROTO_MESSAGE_DUMP
1527
1704
  void dump_to(std::string &out) const override;
1528
1705
  #endif
@@ -1536,6 +1713,7 @@ class BluetoothGATTReadResponse : public ProtoMessage {
1536
1713
  uint32_t handle{0};
1537
1714
  std::string data{};
1538
1715
  void encode(ProtoWriteBuffer buffer) const override;
1716
+ void calculate_size(uint32_t &total_size) const override;
1539
1717
  #ifdef HAS_PROTO_MESSAGE_DUMP
1540
1718
  void dump_to(std::string &out) const override;
1541
1719
  #endif
@@ -1551,6 +1729,7 @@ class BluetoothGATTWriteRequest : public ProtoMessage {
1551
1729
  bool response{false};
1552
1730
  std::string data{};
1553
1731
  void encode(ProtoWriteBuffer buffer) const override;
1732
+ void calculate_size(uint32_t &total_size) const override;
1554
1733
  #ifdef HAS_PROTO_MESSAGE_DUMP
1555
1734
  void dump_to(std::string &out) const override;
1556
1735
  #endif
@@ -1564,6 +1743,7 @@ class BluetoothGATTReadDescriptorRequest : public ProtoMessage {
1564
1743
  uint64_t address{0};
1565
1744
  uint32_t handle{0};
1566
1745
  void encode(ProtoWriteBuffer buffer) const override;
1746
+ void calculate_size(uint32_t &total_size) const override;
1567
1747
  #ifdef HAS_PROTO_MESSAGE_DUMP
1568
1748
  void dump_to(std::string &out) const override;
1569
1749
  #endif
@@ -1577,6 +1757,7 @@ class BluetoothGATTWriteDescriptorRequest : public ProtoMessage {
1577
1757
  uint32_t handle{0};
1578
1758
  std::string data{};
1579
1759
  void encode(ProtoWriteBuffer buffer) const override;
1760
+ void calculate_size(uint32_t &total_size) const override;
1580
1761
  #ifdef HAS_PROTO_MESSAGE_DUMP
1581
1762
  void dump_to(std::string &out) const override;
1582
1763
  #endif
@@ -1591,6 +1772,7 @@ class BluetoothGATTNotifyRequest : public ProtoMessage {
1591
1772
  uint32_t handle{0};
1592
1773
  bool enable{false};
1593
1774
  void encode(ProtoWriteBuffer buffer) const override;
1775
+ void calculate_size(uint32_t &total_size) const override;
1594
1776
  #ifdef HAS_PROTO_MESSAGE_DUMP
1595
1777
  void dump_to(std::string &out) const override;
1596
1778
  #endif
@@ -1604,6 +1786,7 @@ class BluetoothGATTNotifyDataResponse : public ProtoMessage {
1604
1786
  uint32_t handle{0};
1605
1787
  std::string data{};
1606
1788
  void encode(ProtoWriteBuffer buffer) const override;
1789
+ void calculate_size(uint32_t &total_size) const override;
1607
1790
  #ifdef HAS_PROTO_MESSAGE_DUMP
1608
1791
  void dump_to(std::string &out) const override;
1609
1792
  #endif
@@ -1615,6 +1798,7 @@ class BluetoothGATTNotifyDataResponse : public ProtoMessage {
1615
1798
  class SubscribeBluetoothConnectionsFreeRequest : public ProtoMessage {
1616
1799
  public:
1617
1800
  void encode(ProtoWriteBuffer buffer) const override;
1801
+ void calculate_size(uint32_t &total_size) const override;
1618
1802
  #ifdef HAS_PROTO_MESSAGE_DUMP
1619
1803
  void dump_to(std::string &out) const override;
1620
1804
  #endif
@@ -1627,6 +1811,7 @@ class BluetoothConnectionsFreeResponse : public ProtoMessage {
1627
1811
  uint32_t limit{0};
1628
1812
  std::vector<uint64_t> allocated{};
1629
1813
  void encode(ProtoWriteBuffer buffer) const override;
1814
+ void calculate_size(uint32_t &total_size) const override;
1630
1815
  #ifdef HAS_PROTO_MESSAGE_DUMP
1631
1816
  void dump_to(std::string &out) const override;
1632
1817
  #endif
@@ -1640,6 +1825,7 @@ class BluetoothGATTErrorResponse : public ProtoMessage {
1640
1825
  uint32_t handle{0};
1641
1826
  int32_t error{0};
1642
1827
  void encode(ProtoWriteBuffer buffer) const override;
1828
+ void calculate_size(uint32_t &total_size) const override;
1643
1829
  #ifdef HAS_PROTO_MESSAGE_DUMP
1644
1830
  void dump_to(std::string &out) const override;
1645
1831
  #endif
@@ -1652,6 +1838,7 @@ class BluetoothGATTWriteResponse : public ProtoMessage {
1652
1838
  uint64_t address{0};
1653
1839
  uint32_t handle{0};
1654
1840
  void encode(ProtoWriteBuffer buffer) const override;
1841
+ void calculate_size(uint32_t &total_size) const override;
1655
1842
  #ifdef HAS_PROTO_MESSAGE_DUMP
1656
1843
  void dump_to(std::string &out) const override;
1657
1844
  #endif
@@ -1664,6 +1851,7 @@ class BluetoothGATTNotifyResponse : public ProtoMessage {
1664
1851
  uint64_t address{0};
1665
1852
  uint32_t handle{0};
1666
1853
  void encode(ProtoWriteBuffer buffer) const override;
1854
+ void calculate_size(uint32_t &total_size) const override;
1667
1855
  #ifdef HAS_PROTO_MESSAGE_DUMP
1668
1856
  void dump_to(std::string &out) const override;
1669
1857
  #endif
@@ -1677,6 +1865,7 @@ class BluetoothDevicePairingResponse : public ProtoMessage {
1677
1865
  bool paired{false};
1678
1866
  int32_t error{0};
1679
1867
  void encode(ProtoWriteBuffer buffer) const override;
1868
+ void calculate_size(uint32_t &total_size) const override;
1680
1869
  #ifdef HAS_PROTO_MESSAGE_DUMP
1681
1870
  void dump_to(std::string &out) const override;
1682
1871
  #endif
@@ -1690,6 +1879,7 @@ class BluetoothDeviceUnpairingResponse : public ProtoMessage {
1690
1879
  bool success{false};
1691
1880
  int32_t error{0};
1692
1881
  void encode(ProtoWriteBuffer buffer) const override;
1882
+ void calculate_size(uint32_t &total_size) const override;
1693
1883
  #ifdef HAS_PROTO_MESSAGE_DUMP
1694
1884
  void dump_to(std::string &out) const override;
1695
1885
  #endif
@@ -1700,6 +1890,7 @@ class BluetoothDeviceUnpairingResponse : public ProtoMessage {
1700
1890
  class UnsubscribeBluetoothLEAdvertisementsRequest : public ProtoMessage {
1701
1891
  public:
1702
1892
  void encode(ProtoWriteBuffer buffer) const override;
1893
+ void calculate_size(uint32_t &total_size) const override;
1703
1894
  #ifdef HAS_PROTO_MESSAGE_DUMP
1704
1895
  void dump_to(std::string &out) const override;
1705
1896
  #endif
@@ -1712,6 +1903,32 @@ class BluetoothDeviceClearCacheResponse : public ProtoMessage {
1712
1903
  bool success{false};
1713
1904
  int32_t error{0};
1714
1905
  void encode(ProtoWriteBuffer buffer) const override;
1906
+ void calculate_size(uint32_t &total_size) const override;
1907
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1908
+ void dump_to(std::string &out) const override;
1909
+ #endif
1910
+
1911
+ protected:
1912
+ bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1913
+ };
1914
+ class BluetoothScannerStateResponse : public ProtoMessage {
1915
+ public:
1916
+ enums::BluetoothScannerState state{};
1917
+ enums::BluetoothScannerMode mode{};
1918
+ void encode(ProtoWriteBuffer buffer) const override;
1919
+ void calculate_size(uint32_t &total_size) const override;
1920
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1921
+ void dump_to(std::string &out) const override;
1922
+ #endif
1923
+
1924
+ protected:
1925
+ bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1926
+ };
1927
+ class BluetoothScannerSetModeRequest : public ProtoMessage {
1928
+ public:
1929
+ enums::BluetoothScannerMode mode{};
1930
+ void encode(ProtoWriteBuffer buffer) const override;
1931
+ void calculate_size(uint32_t &total_size) const override;
1715
1932
  #ifdef HAS_PROTO_MESSAGE_DUMP
1716
1933
  void dump_to(std::string &out) const override;
1717
1934
  #endif
@@ -1724,6 +1941,7 @@ class SubscribeVoiceAssistantRequest : public ProtoMessage {
1724
1941
  bool subscribe{false};
1725
1942
  uint32_t flags{0};
1726
1943
  void encode(ProtoWriteBuffer buffer) const override;
1944
+ void calculate_size(uint32_t &total_size) const override;
1727
1945
  #ifdef HAS_PROTO_MESSAGE_DUMP
1728
1946
  void dump_to(std::string &out) const override;
1729
1947
  #endif
@@ -1737,6 +1955,7 @@ class VoiceAssistantAudioSettings : public ProtoMessage {
1737
1955
  uint32_t auto_gain{0};
1738
1956
  float volume_multiplier{0.0f};
1739
1957
  void encode(ProtoWriteBuffer buffer) const override;
1958
+ void calculate_size(uint32_t &total_size) const override;
1740
1959
  #ifdef HAS_PROTO_MESSAGE_DUMP
1741
1960
  void dump_to(std::string &out) const override;
1742
1961
  #endif
@@ -1753,6 +1972,7 @@ class VoiceAssistantRequest : public ProtoMessage {
1753
1972
  VoiceAssistantAudioSettings audio_settings{};
1754
1973
  std::string wake_word_phrase{};
1755
1974
  void encode(ProtoWriteBuffer buffer) const override;
1975
+ void calculate_size(uint32_t &total_size) const override;
1756
1976
  #ifdef HAS_PROTO_MESSAGE_DUMP
1757
1977
  void dump_to(std::string &out) const override;
1758
1978
  #endif
@@ -1766,6 +1986,7 @@ class VoiceAssistantResponse : public ProtoMessage {
1766
1986
  uint32_t port{0};
1767
1987
  bool error{false};
1768
1988
  void encode(ProtoWriteBuffer buffer) const override;
1989
+ void calculate_size(uint32_t &total_size) const override;
1769
1990
  #ifdef HAS_PROTO_MESSAGE_DUMP
1770
1991
  void dump_to(std::string &out) const override;
1771
1992
  #endif
@@ -1778,6 +1999,7 @@ class VoiceAssistantEventData : public ProtoMessage {
1778
1999
  std::string name{};
1779
2000
  std::string value{};
1780
2001
  void encode(ProtoWriteBuffer buffer) const override;
2002
+ void calculate_size(uint32_t &total_size) const override;
1781
2003
  #ifdef HAS_PROTO_MESSAGE_DUMP
1782
2004
  void dump_to(std::string &out) const override;
1783
2005
  #endif
@@ -1790,6 +2012,7 @@ class VoiceAssistantEventResponse : public ProtoMessage {
1790
2012
  enums::VoiceAssistantEvent event_type{};
1791
2013
  std::vector<VoiceAssistantEventData> data{};
1792
2014
  void encode(ProtoWriteBuffer buffer) const override;
2015
+ void calculate_size(uint32_t &total_size) const override;
1793
2016
  #ifdef HAS_PROTO_MESSAGE_DUMP
1794
2017
  void dump_to(std::string &out) const override;
1795
2018
  #endif
@@ -1803,6 +2026,7 @@ class VoiceAssistantAudio : public ProtoMessage {
1803
2026
  std::string data{};
1804
2027
  bool end{false};
1805
2028
  void encode(ProtoWriteBuffer buffer) const override;
2029
+ void calculate_size(uint32_t &total_size) const override;
1806
2030
  #ifdef HAS_PROTO_MESSAGE_DUMP
1807
2031
  void dump_to(std::string &out) const override;
1808
2032
  #endif
@@ -1820,6 +2044,7 @@ class VoiceAssistantTimerEventResponse : public ProtoMessage {
1820
2044
  uint32_t seconds_left{0};
1821
2045
  bool is_active{false};
1822
2046
  void encode(ProtoWriteBuffer buffer) const override;
2047
+ void calculate_size(uint32_t &total_size) const override;
1823
2048
  #ifdef HAS_PROTO_MESSAGE_DUMP
1824
2049
  void dump_to(std::string &out) const override;
1825
2050
  #endif
@@ -1835,6 +2060,7 @@ class VoiceAssistantAnnounceRequest : public ProtoMessage {
1835
2060
  std::string preannounce_media_id{};
1836
2061
  bool start_conversation{false};
1837
2062
  void encode(ProtoWriteBuffer buffer) const override;
2063
+ void calculate_size(uint32_t &total_size) const override;
1838
2064
  #ifdef HAS_PROTO_MESSAGE_DUMP
1839
2065
  void dump_to(std::string &out) const override;
1840
2066
  #endif
@@ -1847,6 +2073,7 @@ class VoiceAssistantAnnounceFinished : public ProtoMessage {
1847
2073
  public:
1848
2074
  bool success{false};
1849
2075
  void encode(ProtoWriteBuffer buffer) const override;
2076
+ void calculate_size(uint32_t &total_size) const override;
1850
2077
  #ifdef HAS_PROTO_MESSAGE_DUMP
1851
2078
  void dump_to(std::string &out) const override;
1852
2079
  #endif
@@ -1860,6 +2087,7 @@ class VoiceAssistantWakeWord : public ProtoMessage {
1860
2087
  std::string wake_word{};
1861
2088
  std::vector<std::string> trained_languages{};
1862
2089
  void encode(ProtoWriteBuffer buffer) const override;
2090
+ void calculate_size(uint32_t &total_size) const override;
1863
2091
  #ifdef HAS_PROTO_MESSAGE_DUMP
1864
2092
  void dump_to(std::string &out) const override;
1865
2093
  #endif
@@ -1870,6 +2098,7 @@ class VoiceAssistantWakeWord : public ProtoMessage {
1870
2098
  class VoiceAssistantConfigurationRequest : public ProtoMessage {
1871
2099
  public:
1872
2100
  void encode(ProtoWriteBuffer buffer) const override;
2101
+ void calculate_size(uint32_t &total_size) const override;
1873
2102
  #ifdef HAS_PROTO_MESSAGE_DUMP
1874
2103
  void dump_to(std::string &out) const override;
1875
2104
  #endif
@@ -1882,6 +2111,7 @@ class VoiceAssistantConfigurationResponse : public ProtoMessage {
1882
2111
  std::vector<std::string> active_wake_words{};
1883
2112
  uint32_t max_active_wake_words{0};
1884
2113
  void encode(ProtoWriteBuffer buffer) const override;
2114
+ void calculate_size(uint32_t &total_size) const override;
1885
2115
  #ifdef HAS_PROTO_MESSAGE_DUMP
1886
2116
  void dump_to(std::string &out) const override;
1887
2117
  #endif
@@ -1894,6 +2124,7 @@ class VoiceAssistantSetConfiguration : public ProtoMessage {
1894
2124
  public:
1895
2125
  std::vector<std::string> active_wake_words{};
1896
2126
  void encode(ProtoWriteBuffer buffer) const override;
2127
+ void calculate_size(uint32_t &total_size) const override;
1897
2128
  #ifdef HAS_PROTO_MESSAGE_DUMP
1898
2129
  void dump_to(std::string &out) const override;
1899
2130
  #endif
@@ -1914,6 +2145,7 @@ class ListEntitiesAlarmControlPanelResponse : public ProtoMessage {
1914
2145
  bool requires_code{false};
1915
2146
  bool requires_code_to_arm{false};
1916
2147
  void encode(ProtoWriteBuffer buffer) const override;
2148
+ void calculate_size(uint32_t &total_size) const override;
1917
2149
  #ifdef HAS_PROTO_MESSAGE_DUMP
1918
2150
  void dump_to(std::string &out) const override;
1919
2151
  #endif
@@ -1928,6 +2160,7 @@ class AlarmControlPanelStateResponse : public ProtoMessage {
1928
2160
  uint32_t key{0};
1929
2161
  enums::AlarmControlPanelState state{};
1930
2162
  void encode(ProtoWriteBuffer buffer) const override;
2163
+ void calculate_size(uint32_t &total_size) const override;
1931
2164
  #ifdef HAS_PROTO_MESSAGE_DUMP
1932
2165
  void dump_to(std::string &out) const override;
1933
2166
  #endif
@@ -1942,6 +2175,7 @@ class AlarmControlPanelCommandRequest : public ProtoMessage {
1942
2175
  enums::AlarmControlPanelStateCommand command{};
1943
2176
  std::string code{};
1944
2177
  void encode(ProtoWriteBuffer buffer) const override;
2178
+ void calculate_size(uint32_t &total_size) const override;
1945
2179
  #ifdef HAS_PROTO_MESSAGE_DUMP
1946
2180
  void dump_to(std::string &out) const override;
1947
2181
  #endif
@@ -1965,6 +2199,7 @@ class ListEntitiesTextResponse : public ProtoMessage {
1965
2199
  std::string pattern{};
1966
2200
  enums::TextMode mode{};
1967
2201
  void encode(ProtoWriteBuffer buffer) const override;
2202
+ void calculate_size(uint32_t &total_size) const override;
1968
2203
  #ifdef HAS_PROTO_MESSAGE_DUMP
1969
2204
  void dump_to(std::string &out) const override;
1970
2205
  #endif
@@ -1980,6 +2215,7 @@ class TextStateResponse : public ProtoMessage {
1980
2215
  std::string state{};
1981
2216
  bool missing_state{false};
1982
2217
  void encode(ProtoWriteBuffer buffer) const override;
2218
+ void calculate_size(uint32_t &total_size) const override;
1983
2219
  #ifdef HAS_PROTO_MESSAGE_DUMP
1984
2220
  void dump_to(std::string &out) const override;
1985
2221
  #endif
@@ -1994,6 +2230,7 @@ class TextCommandRequest : public ProtoMessage {
1994
2230
  uint32_t key{0};
1995
2231
  std::string state{};
1996
2232
  void encode(ProtoWriteBuffer buffer) const override;
2233
+ void calculate_size(uint32_t &total_size) const override;
1997
2234
  #ifdef HAS_PROTO_MESSAGE_DUMP
1998
2235
  void dump_to(std::string &out) const override;
1999
2236
  #endif
@@ -2012,6 +2249,7 @@ class ListEntitiesDateResponse : public ProtoMessage {
2012
2249
  bool disabled_by_default{false};
2013
2250
  enums::EntityCategory entity_category{};
2014
2251
  void encode(ProtoWriteBuffer buffer) const override;
2252
+ void calculate_size(uint32_t &total_size) const override;
2015
2253
  #ifdef HAS_PROTO_MESSAGE_DUMP
2016
2254
  void dump_to(std::string &out) const override;
2017
2255
  #endif
@@ -2029,6 +2267,7 @@ class DateStateResponse : public ProtoMessage {
2029
2267
  uint32_t month{0};
2030
2268
  uint32_t day{0};
2031
2269
  void encode(ProtoWriteBuffer buffer) const override;
2270
+ void calculate_size(uint32_t &total_size) const override;
2032
2271
  #ifdef HAS_PROTO_MESSAGE_DUMP
2033
2272
  void dump_to(std::string &out) const override;
2034
2273
  #endif
@@ -2044,6 +2283,7 @@ class DateCommandRequest : public ProtoMessage {
2044
2283
  uint32_t month{0};
2045
2284
  uint32_t day{0};
2046
2285
  void encode(ProtoWriteBuffer buffer) const override;
2286
+ void calculate_size(uint32_t &total_size) const override;
2047
2287
  #ifdef HAS_PROTO_MESSAGE_DUMP
2048
2288
  void dump_to(std::string &out) const override;
2049
2289
  #endif
@@ -2062,6 +2302,7 @@ class ListEntitiesTimeResponse : public ProtoMessage {
2062
2302
  bool disabled_by_default{false};
2063
2303
  enums::EntityCategory entity_category{};
2064
2304
  void encode(ProtoWriteBuffer buffer) const override;
2305
+ void calculate_size(uint32_t &total_size) const override;
2065
2306
  #ifdef HAS_PROTO_MESSAGE_DUMP
2066
2307
  void dump_to(std::string &out) const override;
2067
2308
  #endif
@@ -2079,6 +2320,7 @@ class TimeStateResponse : public ProtoMessage {
2079
2320
  uint32_t minute{0};
2080
2321
  uint32_t second{0};
2081
2322
  void encode(ProtoWriteBuffer buffer) const override;
2323
+ void calculate_size(uint32_t &total_size) const override;
2082
2324
  #ifdef HAS_PROTO_MESSAGE_DUMP
2083
2325
  void dump_to(std::string &out) const override;
2084
2326
  #endif
@@ -2094,6 +2336,7 @@ class TimeCommandRequest : public ProtoMessage {
2094
2336
  uint32_t minute{0};
2095
2337
  uint32_t second{0};
2096
2338
  void encode(ProtoWriteBuffer buffer) const override;
2339
+ void calculate_size(uint32_t &total_size) const override;
2097
2340
  #ifdef HAS_PROTO_MESSAGE_DUMP
2098
2341
  void dump_to(std::string &out) const override;
2099
2342
  #endif
@@ -2114,6 +2357,7 @@ class ListEntitiesEventResponse : public ProtoMessage {
2114
2357
  std::string device_class{};
2115
2358
  std::vector<std::string> event_types{};
2116
2359
  void encode(ProtoWriteBuffer buffer) const override;
2360
+ void calculate_size(uint32_t &total_size) const override;
2117
2361
  #ifdef HAS_PROTO_MESSAGE_DUMP
2118
2362
  void dump_to(std::string &out) const override;
2119
2363
  #endif
@@ -2128,6 +2372,7 @@ class EventResponse : public ProtoMessage {
2128
2372
  uint32_t key{0};
2129
2373
  std::string event_type{};
2130
2374
  void encode(ProtoWriteBuffer buffer) const override;
2375
+ void calculate_size(uint32_t &total_size) const override;
2131
2376
  #ifdef HAS_PROTO_MESSAGE_DUMP
2132
2377
  void dump_to(std::string &out) const override;
2133
2378
  #endif
@@ -2150,6 +2395,7 @@ class ListEntitiesValveResponse : public ProtoMessage {
2150
2395
  bool supports_position{false};
2151
2396
  bool supports_stop{false};
2152
2397
  void encode(ProtoWriteBuffer buffer) const override;
2398
+ void calculate_size(uint32_t &total_size) const override;
2153
2399
  #ifdef HAS_PROTO_MESSAGE_DUMP
2154
2400
  void dump_to(std::string &out) const override;
2155
2401
  #endif
@@ -2165,6 +2411,7 @@ class ValveStateResponse : public ProtoMessage {
2165
2411
  float position{0.0f};
2166
2412
  enums::ValveOperation current_operation{};
2167
2413
  void encode(ProtoWriteBuffer buffer) const override;
2414
+ void calculate_size(uint32_t &total_size) const override;
2168
2415
  #ifdef HAS_PROTO_MESSAGE_DUMP
2169
2416
  void dump_to(std::string &out) const override;
2170
2417
  #endif
@@ -2180,6 +2427,7 @@ class ValveCommandRequest : public ProtoMessage {
2180
2427
  float position{0.0f};
2181
2428
  bool stop{false};
2182
2429
  void encode(ProtoWriteBuffer buffer) const override;
2430
+ void calculate_size(uint32_t &total_size) const override;
2183
2431
  #ifdef HAS_PROTO_MESSAGE_DUMP
2184
2432
  void dump_to(std::string &out) const override;
2185
2433
  #endif
@@ -2198,6 +2446,7 @@ class ListEntitiesDateTimeResponse : public ProtoMessage {
2198
2446
  bool disabled_by_default{false};
2199
2447
  enums::EntityCategory entity_category{};
2200
2448
  void encode(ProtoWriteBuffer buffer) const override;
2449
+ void calculate_size(uint32_t &total_size) const override;
2201
2450
  #ifdef HAS_PROTO_MESSAGE_DUMP
2202
2451
  void dump_to(std::string &out) const override;
2203
2452
  #endif
@@ -2213,6 +2462,7 @@ class DateTimeStateResponse : public ProtoMessage {
2213
2462
  bool missing_state{false};
2214
2463
  uint32_t epoch_seconds{0};
2215
2464
  void encode(ProtoWriteBuffer buffer) const override;
2465
+ void calculate_size(uint32_t &total_size) const override;
2216
2466
  #ifdef HAS_PROTO_MESSAGE_DUMP
2217
2467
  void dump_to(std::string &out) const override;
2218
2468
  #endif
@@ -2226,6 +2476,7 @@ class DateTimeCommandRequest : public ProtoMessage {
2226
2476
  uint32_t key{0};
2227
2477
  uint32_t epoch_seconds{0};
2228
2478
  void encode(ProtoWriteBuffer buffer) const override;
2479
+ void calculate_size(uint32_t &total_size) const override;
2229
2480
  #ifdef HAS_PROTO_MESSAGE_DUMP
2230
2481
  void dump_to(std::string &out) const override;
2231
2482
  #endif
@@ -2244,6 +2495,7 @@ class ListEntitiesUpdateResponse : public ProtoMessage {
2244
2495
  enums::EntityCategory entity_category{};
2245
2496
  std::string device_class{};
2246
2497
  void encode(ProtoWriteBuffer buffer) const override;
2498
+ void calculate_size(uint32_t &total_size) const override;
2247
2499
  #ifdef HAS_PROTO_MESSAGE_DUMP
2248
2500
  void dump_to(std::string &out) const override;
2249
2501
  #endif
@@ -2266,6 +2518,7 @@ class UpdateStateResponse : public ProtoMessage {
2266
2518
  std::string release_summary{};
2267
2519
  std::string release_url{};
2268
2520
  void encode(ProtoWriteBuffer buffer) const override;
2521
+ void calculate_size(uint32_t &total_size) const override;
2269
2522
  #ifdef HAS_PROTO_MESSAGE_DUMP
2270
2523
  void dump_to(std::string &out) const override;
2271
2524
  #endif
@@ -2280,6 +2533,7 @@ class UpdateCommandRequest : public ProtoMessage {
2280
2533
  uint32_t key{0};
2281
2534
  enums::UpdateCommand command{};
2282
2535
  void encode(ProtoWriteBuffer buffer) const override;
2536
+ void calculate_size(uint32_t &total_size) const override;
2283
2537
  #ifdef HAS_PROTO_MESSAGE_DUMP
2284
2538
  void dump_to(std::string &out) const override;
2285
2539
  #endif