esphome 2025.8.4__py3-none-any.whl → 2025.9.0b1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. esphome/__main__.py +36 -42
  2. esphome/components/absolute_humidity/absolute_humidity.cpp +3 -5
  3. esphome/components/adc/adc_sensor_esp32.cpp +29 -6
  4. esphome/components/ags10/ags10.cpp +3 -18
  5. esphome/components/ags10/ags10.h +2 -12
  6. esphome/components/aht10/aht10.cpp +3 -3
  7. esphome/components/airthings_ble/__init__.py +2 -2
  8. esphome/components/alarm_control_panel/__init__.py +2 -2
  9. esphome/components/am2315c/am2315c.cpp +1 -17
  10. esphome/components/am2315c/am2315c.h +2 -3
  11. esphome/components/api/__init__.py +2 -2
  12. esphome/components/api/api_connection.cpp +34 -23
  13. esphome/components/api/api_connection.h +20 -39
  14. esphome/components/api/api_frame_helper.cpp +25 -25
  15. esphome/components/api/api_frame_helper.h +3 -3
  16. esphome/components/api/api_frame_helper_noise.cpp +75 -40
  17. esphome/components/api/api_frame_helper_noise.h +3 -7
  18. esphome/components/api/api_frame_helper_plaintext.cpp +17 -4
  19. esphome/components/api/api_frame_helper_plaintext.h +1 -4
  20. esphome/components/api/api_pb2.cpp +20 -2
  21. esphome/components/api/api_pb2.h +146 -141
  22. esphome/components/api/api_pb2_dump.cpp +12 -1
  23. esphome/components/api/proto.cpp +33 -37
  24. esphome/components/async_tcp/__init__.py +2 -2
  25. esphome/components/atm90e26/sensor.py +2 -0
  26. esphome/components/atm90e32/sensor.py +4 -2
  27. esphome/components/audio_adc/__init__.py +2 -2
  28. esphome/components/audio_dac/__init__.py +2 -2
  29. esphome/components/axs15231/touchscreen/axs15231_touchscreen.cpp +1 -1
  30. esphome/components/bedjet/bedjet_hub.cpp +1 -1
  31. esphome/components/binary_sensor/__init__.py +2 -2
  32. esphome/components/binary_sensor/binary_sensor.cpp +13 -0
  33. esphome/components/binary_sensor/binary_sensor.h +4 -7
  34. esphome/components/bl0940/__init__.py +6 -1
  35. esphome/components/bl0940/bl0940.cpp +178 -41
  36. esphome/components/bl0940/bl0940.h +121 -76
  37. esphome/components/bl0940/button/__init__.py +27 -0
  38. esphome/components/bl0940/button/calibration_reset_button.cpp +20 -0
  39. esphome/components/bl0940/button/calibration_reset_button.h +19 -0
  40. esphome/components/bl0940/number/__init__.py +94 -0
  41. esphome/components/bl0940/number/calibration_number.cpp +29 -0
  42. esphome/components/bl0940/number/calibration_number.h +26 -0
  43. esphome/components/bl0940/sensor.py +151 -2
  44. esphome/components/bl0942/bl0942.cpp +1 -1
  45. esphome/components/ble_client/output/__init__.py +4 -4
  46. esphome/components/bluetooth_proxy/__init__.py +1 -1
  47. esphome/components/bluetooth_proxy/bluetooth_connection.h +1 -1
  48. esphome/components/bluetooth_proxy/bluetooth_proxy.cpp +15 -7
  49. esphome/components/bluetooth_proxy/bluetooth_proxy.h +3 -2
  50. esphome/components/button/__init__.py +2 -2
  51. esphome/components/button/button.cpp +13 -0
  52. esphome/components/button/button.h +4 -7
  53. esphome/components/camera/buffer.h +18 -0
  54. esphome/components/camera/buffer_impl.cpp +20 -0
  55. esphome/components/camera/buffer_impl.h +26 -0
  56. esphome/components/camera/camera.h +43 -0
  57. esphome/components/camera/encoder.h +69 -0
  58. esphome/components/camera_encoder/__init__.py +62 -0
  59. esphome/components/camera_encoder/encoder_buffer_impl.cpp +23 -0
  60. esphome/components/camera_encoder/encoder_buffer_impl.h +25 -0
  61. esphome/components/camera_encoder/esp32_camera_jpeg_encoder.cpp +82 -0
  62. esphome/components/camera_encoder/esp32_camera_jpeg_encoder.h +39 -0
  63. esphome/components/captive_portal/__init__.py +2 -2
  64. esphome/components/captive_portal/captive_portal.cpp +35 -12
  65. esphome/components/captive_portal/captive_portal.h +3 -3
  66. esphome/components/ccs811/ccs811.cpp +3 -3
  67. esphome/components/climate/__init__.py +2 -2
  68. esphome/components/climate/climate.cpp +1 -1
  69. esphome/components/cover/__init__.py +5 -5
  70. esphome/components/cover/cover.cpp +1 -1
  71. esphome/components/cover/cover.h +2 -2
  72. esphome/components/dallas_temp/dallas_temp.cpp +2 -2
  73. esphome/components/datetime/__init__.py +2 -2
  74. esphome/components/datetime/date_entity.h +2 -2
  75. esphome/components/datetime/datetime_entity.h +2 -2
  76. esphome/components/datetime/time_entity.h +2 -2
  77. esphome/components/debug/debug_esp32.cpp +1 -1
  78. esphome/components/display/__init__.py +4 -4
  79. esphome/components/duty_time/duty_time_sensor.cpp +1 -1
  80. esphome/components/esp32/__init__.py +0 -5
  81. esphome/components/esp32/gpio.cpp +27 -23
  82. esphome/components/esp32/gpio.h +26 -11
  83. esphome/components/esp32/preferences.cpp +8 -4
  84. esphome/components/esp32_ble/__init__.py +7 -2
  85. esphome/components/esp32_ble_client/ble_client_base.cpp +7 -3
  86. esphome/components/esp32_ble_tracker/__init__.py +2 -2
  87. esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +9 -44
  88. esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +2 -14
  89. esphome/components/esp8266/__init__.py +2 -2
  90. esphome/components/esp8266/core.cpp +2 -2
  91. esphome/components/esp8266/gpio.py +4 -4
  92. esphome/components/esp8266/preferences.cpp +30 -28
  93. esphome/components/esphome/ota/__init__.py +2 -2
  94. esphome/components/esphome/ota/ota_esphome.cpp +21 -19
  95. esphome/components/esphome/ota/ota_esphome.h +6 -5
  96. esphome/components/ethernet/__init__.py +7 -2
  97. esphome/components/ethernet/ethernet_component.cpp +1 -1
  98. esphome/components/event/__init__.py +2 -2
  99. esphome/components/event/event.h +4 -4
  100. esphome/components/fan/__init__.py +2 -2
  101. esphome/components/fan/fan.cpp +2 -1
  102. esphome/components/gdk101/gdk101.cpp +4 -4
  103. esphome/components/globals/__init__.py +2 -2
  104. esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp +19 -18
  105. esphome/components/gpio_expander/cached_gpio.h +36 -16
  106. esphome/components/grove_gas_mc_v2/grove_gas_mc_v2.cpp +5 -5
  107. esphome/components/gt911/touchscreen/gt911_touchscreen.cpp +1 -1
  108. esphome/components/haier/haier_base.cpp +1 -1
  109. esphome/components/haier/hon_climate.cpp +1 -1
  110. esphome/components/hlw8012/hlw8012.cpp +5 -5
  111. esphome/components/honeywellabp2_i2c/honeywellabp2.cpp +4 -4
  112. esphome/components/host/preferences.h +3 -2
  113. esphome/components/hte501/hte501.cpp +3 -21
  114. esphome/components/hte501/hte501.h +2 -3
  115. esphome/components/http_request/ota/__init__.py +2 -2
  116. esphome/components/i2c/__init__.py +2 -2
  117. esphome/components/i2c/i2c.cpp +13 -9
  118. esphome/components/i2c/i2c_bus.h +36 -6
  119. esphome/components/i2s_audio/__init__.py +8 -2
  120. esphome/components/i2s_audio/media_player/__init__.py +1 -1
  121. esphome/components/i2s_audio/microphone/__init__.py +1 -1
  122. esphome/components/i2s_audio/speaker/__init__.py +1 -1
  123. esphome/components/inkplate/__init__.py +1 -0
  124. esphome/components/inkplate/const.py +105 -0
  125. esphome/components/inkplate/display.py +238 -0
  126. esphome/components/{inkplate6 → inkplate}/inkplate.cpp +156 -74
  127. esphome/components/{inkplate6 → inkplate}/inkplate.h +28 -68
  128. esphome/components/inkplate6/__init__.py +0 -1
  129. esphome/components/inkplate6/display.py +2 -211
  130. esphome/components/integration/integration_sensor.cpp +1 -1
  131. esphome/components/json/__init__.py +2 -2
  132. esphome/components/lc709203f/lc709203f.cpp +4 -17
  133. esphome/components/lc709203f/lc709203f.h +2 -3
  134. esphome/components/ld2420/text_sensor/{text_sensor.cpp → ld2420_text_sensor.cpp} +1 -1
  135. esphome/components/ld2450/ld2450.cpp +1 -1
  136. esphome/components/libretiny/preferences.cpp +13 -5
  137. esphome/components/light/__init__.py +2 -2
  138. esphome/components/light/addressable_light_effect.h +7 -0
  139. esphome/components/light/base_light_effects.h +8 -0
  140. esphome/components/light/light_call.cpp +22 -20
  141. esphome/components/light/light_effect.cpp +36 -0
  142. esphome/components/light/light_effect.h +14 -0
  143. esphome/components/light/light_json_schema.cpp +9 -1
  144. esphome/components/light/light_state.cpp +2 -2
  145. esphome/components/light/light_state.h +38 -0
  146. esphome/components/lock/__init__.py +2 -2
  147. esphome/components/lock/lock.h +2 -2
  148. esphome/components/logger/__init__.py +2 -2
  149. esphome/components/logger/logger.cpp +25 -4
  150. esphome/components/logger/logger.h +1 -1
  151. esphome/components/logger/logger_esp32.cpp +16 -8
  152. esphome/components/logger/logger_esp8266.cpp +11 -3
  153. esphome/components/logger/logger_libretiny.cpp +13 -3
  154. esphome/components/logger/logger_rp2040.cpp +14 -3
  155. esphome/components/logger/logger_zephyr.cpp +15 -4
  156. esphome/components/lvgl/defines.py +1 -0
  157. esphome/components/lvgl/hello_world.py +96 -33
  158. esphome/components/lvgl/number/lvgl_number.h +1 -1
  159. esphome/components/lvgl/select/lvgl_select.h +1 -1
  160. esphome/components/lvgl/widgets/__init__.py +0 -1
  161. esphome/components/lvgl/widgets/spinbox.py +20 -11
  162. esphome/components/m5stack_8angle/binary_sensor/m5stack_8angle_binary_sensor.cpp +1 -1
  163. esphome/components/m5stack_8angle/sensor/m5stack_8angle_sensor.cpp +1 -1
  164. esphome/components/mapping/__init__.py +13 -5
  165. esphome/components/mapping/mapping.h +69 -0
  166. esphome/components/max17043/max17043.cpp +2 -2
  167. esphome/components/mcp23016/__init__.py +1 -0
  168. esphome/components/mcp23016/mcp23016.cpp +20 -5
  169. esphome/components/mcp23016/mcp23016.h +10 -4
  170. esphome/components/mcp23x08_base/mcp23x08_base.cpp +1 -1
  171. esphome/components/mcp23x17_base/mcp23x17_base.cpp +2 -2
  172. esphome/components/mdns/__init__.py +2 -2
  173. esphome/components/mdns/mdns_component.cpp +145 -54
  174. esphome/components/media_player/__init__.py +2 -2
  175. esphome/components/micro_wake_word/__init__.py +2 -2
  176. esphome/components/microphone/__init__.py +2 -2
  177. esphome/components/mipi/__init__.py +77 -33
  178. esphome/components/mipi_rgb/__init__.py +2 -0
  179. esphome/components/mipi_rgb/display.py +321 -0
  180. esphome/components/mipi_rgb/mipi_rgb.cpp +388 -0
  181. esphome/components/mipi_rgb/mipi_rgb.h +127 -0
  182. esphome/components/mipi_rgb/models/guition.py +24 -0
  183. esphome/components/mipi_rgb/models/lilygo.py +228 -0
  184. esphome/components/mipi_rgb/models/rpi.py +9 -0
  185. esphome/components/mipi_rgb/models/st7701s.py +214 -0
  186. esphome/components/mipi_rgb/models/waveshare.py +64 -0
  187. esphome/components/mipi_spi/models/jc.py +229 -0
  188. esphome/components/mlx90614/mlx90614.cpp +1 -16
  189. esphome/components/mlx90614/mlx90614.h +0 -1
  190. esphome/components/mqtt/__init__.py +2 -2
  191. esphome/components/mqtt/mqtt_sensor.cpp +7 -2
  192. esphome/components/ms5611/ms5611.cpp +7 -6
  193. esphome/components/network/__init__.py +2 -2
  194. esphome/components/nextion/nextion_upload.cpp +4 -1
  195. esphome/components/nrf52/__init__.py +49 -6
  196. esphome/components/nrf52/const.py +1 -0
  197. esphome/components/nrf52/dfu.cpp +51 -0
  198. esphome/components/nrf52/dfu.h +24 -0
  199. esphome/components/ntc/ntc.cpp +1 -1
  200. esphome/components/number/__init__.py +2 -2
  201. esphome/components/number/automation.cpp +1 -1
  202. esphome/components/number/number.cpp +21 -0
  203. esphome/components/number/number.h +4 -13
  204. esphome/components/opentherm/hub.h +6 -6
  205. esphome/components/opentherm/number/{number.cpp → opentherm_number.cpp} +2 -2
  206. esphome/components/opentherm/output/{output.cpp → opentherm_output.cpp} +1 -1
  207. esphome/components/opentherm/switch/{switch.cpp → opentherm_switch.cpp} +1 -1
  208. esphome/components/ota/__init__.py +2 -2
  209. esphome/components/pca6416a/__init__.py +1 -0
  210. esphome/components/pca6416a/pca6416a.cpp +20 -5
  211. esphome/components/pca6416a/pca6416a.h +12 -5
  212. esphome/components/pca9554/__init__.py +2 -1
  213. esphome/components/pca9554/pca9554.cpp +12 -18
  214. esphome/components/pca9554/pca9554.h +10 -9
  215. esphome/components/pcf8574/__init__.py +1 -0
  216. esphome/components/pcf8574/pcf8574.cpp +14 -5
  217. esphome/components/pcf8574/pcf8574.h +13 -6
  218. esphome/components/pi4ioe5v6408/pi4ioe5v6408.cpp +7 -7
  219. esphome/components/pipsolar/__init__.py +3 -3
  220. esphome/components/pipsolar/output/__init__.py +4 -4
  221. esphome/components/pulse_width/pulse_width.cpp +2 -2
  222. esphome/components/qmp6988/qmp6988.cpp +81 -126
  223. esphome/components/qmp6988/qmp6988.h +31 -37
  224. esphome/components/radon_eye_ble/__init__.py +2 -2
  225. esphome/components/remote_base/__init__.py +6 -8
  226. esphome/components/rotary_encoder/rotary_encoder.cpp +1 -1
  227. esphome/components/rp2040/__init__.py +2 -2
  228. esphome/components/runtime_stats/runtime_stats.cpp +10 -23
  229. esphome/components/runtime_stats/runtime_stats.h +4 -10
  230. esphome/components/safe_mode/__init__.py +2 -2
  231. esphome/components/safe_mode/safe_mode.cpp +33 -31
  232. esphome/components/script/script.cpp +6 -0
  233. esphome/components/script/script.h +19 -5
  234. esphome/components/sdm_meter/sensor.py +3 -1
  235. esphome/components/select/__init__.py +2 -2
  236. esphome/components/select/select.h +2 -2
  237. esphome/components/sen5x/sen5x.cpp +57 -55
  238. esphome/components/sen5x/sen5x.h +21 -15
  239. esphome/components/sen5x/sensor.py +67 -44
  240. esphome/components/sensirion_common/i2c_sensirion.cpp +18 -47
  241. esphome/components/sensirion_common/i2c_sensirion.h +39 -55
  242. esphome/components/sensor/__init__.py +2 -2
  243. esphome/components/sensor/automation.h +1 -1
  244. esphome/components/sensor/sensor.cpp +34 -6
  245. esphome/components/sensor/sensor.h +4 -21
  246. esphome/components/sgp30/sgp30.cpp +34 -35
  247. esphome/components/sgp30/sgp30.h +11 -10
  248. esphome/components/sgp4x/sgp4x.cpp +2 -2
  249. esphome/components/shelly_dimmer/light.py +7 -7
  250. esphome/components/sht4x/sht4x.cpp +1 -1
  251. esphome/components/sntp/sntp_component.cpp +36 -9
  252. esphome/components/sntp/sntp_component.h +7 -0
  253. esphome/components/sound_level/sound_level.cpp +1 -1
  254. esphome/components/speaker/__init__.py +2 -2
  255. esphome/components/speaker/media_player/__init__.py +2 -2
  256. esphome/components/speaker/media_player/speaker_media_player.cpp +1 -1
  257. esphome/components/spi/__init__.py +2 -2
  258. esphome/components/sprinkler/sprinkler.cpp +1 -1
  259. esphome/components/sps30/sps30.cpp +18 -23
  260. esphome/components/sps30/sps30.h +3 -3
  261. esphome/components/status_led/__init__.py +2 -2
  262. esphome/components/stepper/__init__.py +2 -2
  263. esphome/components/switch/__init__.py +2 -2
  264. esphome/components/switch/switch.cpp +5 -5
  265. esphome/components/sx1509/__init__.py +1 -1
  266. esphome/components/sx1509/sx1509.cpp +12 -7
  267. esphome/components/sx1509/sx1509.h +11 -4
  268. esphome/components/tca9555/tca9555.cpp +5 -5
  269. esphome/components/tee501/tee501.cpp +2 -21
  270. esphome/components/tee501/tee501.h +2 -4
  271. esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp +1 -1
  272. esphome/components/template/datetime/template_date.cpp +1 -1
  273. esphome/components/template/datetime/template_datetime.cpp +2 -2
  274. esphome/components/template/datetime/template_time.cpp +1 -1
  275. esphome/components/template/number/template_number.cpp +1 -1
  276. esphome/components/template/select/template_select.cpp +1 -1
  277. esphome/components/template/text/template_text.cpp +1 -1
  278. esphome/components/text/__init__.py +2 -2
  279. esphome/components/text/text.h +2 -2
  280. esphome/components/text_sensor/__init__.py +2 -2
  281. esphome/components/text_sensor/text_sensor.h +4 -4
  282. esphome/components/thermostat/climate.py +11 -7
  283. esphome/components/thermostat/thermostat_climate.cpp +237 -206
  284. esphome/components/thermostat/thermostat_climate.h +52 -41
  285. esphome/components/time/__init__.py +2 -2
  286. esphome/components/tmp1075/tmp1075.cpp +1 -1
  287. esphome/components/total_daily_energy/total_daily_energy.cpp +1 -1
  288. esphome/components/touchscreen/__init__.py +2 -2
  289. esphome/components/tuya/number/tuya_number.cpp +1 -1
  290. esphome/components/udp/udp_component.cpp +3 -3
  291. esphome/components/ufire_ec/ufire_ec.cpp +4 -4
  292. esphome/components/ufire_ise/ufire_ise.cpp +4 -4
  293. esphome/components/update/__init__.py +2 -2
  294. esphome/components/usb_uart/usb_uart.cpp +1 -1
  295. esphome/components/valve/__init__.py +5 -5
  296. esphome/components/valve/valve.cpp +1 -1
  297. esphome/components/valve/valve.h +2 -2
  298. esphome/components/wake_on_lan/wake_on_lan.cpp +2 -2
  299. esphome/components/waveshare_epaper/waveshare_213v3.cpp +1 -1
  300. esphome/components/web_server/__init__.py +2 -2
  301. esphome/components/web_server/ota/__init__.py +2 -2
  302. esphome/components/web_server/ota/ota_web_server.cpp +11 -0
  303. esphome/components/web_server/web_server.cpp +58 -12
  304. esphome/components/web_server_base/__init__.py +2 -2
  305. esphome/components/wifi/__init__.py +5 -5
  306. esphome/components/wifi/wifi_component.cpp +3 -3
  307. esphome/components/wifi/wifi_component_esp_idf.cpp +2 -0
  308. esphome/config_validation.py +2 -2
  309. esphome/const.py +2 -1
  310. esphome/core/__init__.py +1 -0
  311. esphome/core/application.cpp +89 -51
  312. esphome/core/application.h +1 -0
  313. esphome/core/component.cpp +41 -19
  314. esphome/core/component.h +17 -13
  315. esphome/core/config.py +7 -7
  316. esphome/core/defines.h +4 -0
  317. esphome/core/entity_base.cpp +22 -8
  318. esphome/core/entity_base.h +43 -0
  319. esphome/core/helpers.cpp +26 -13
  320. esphome/core/helpers.h +4 -3
  321. esphome/core/ring_buffer.cpp +6 -2
  322. esphome/core/ring_buffer.h +2 -1
  323. esphome/core/scheduler.cpp +175 -94
  324. esphome/core/scheduler.h +66 -35
  325. esphome/core/time.cpp +6 -20
  326. esphome/coroutine.py +80 -3
  327. esphome/cpp_generator.py +13 -0
  328. esphome/cpp_helpers.py +2 -2
  329. esphome/dashboard/web_server.py +67 -10
  330. esphome/espota2.py +13 -6
  331. esphome/helpers.py +68 -83
  332. esphome/resolver.py +67 -0
  333. esphome/util.py +9 -6
  334. esphome/wizard.py +39 -26
  335. {esphome-2025.8.4.dist-info → esphome-2025.9.0b1.dist-info}/METADATA +9 -9
  336. {esphome-2025.8.4.dist-info → esphome-2025.9.0b1.dist-info}/RECORD +344 -313
  337. /esphome/components/ld2420/text_sensor/{text_sensor.h → ld2420_text_sensor.h} +0 -0
  338. /esphome/components/opentherm/number/{number.h → opentherm_number.h} +0 -0
  339. /esphome/components/opentherm/output/{output.h → opentherm_output.h} +0 -0
  340. /esphome/components/opentherm/switch/{switch.h → opentherm_switch.h} +0 -0
  341. {esphome-2025.8.4.dist-info → esphome-2025.9.0b1.dist-info}/WHEEL +0 -0
  342. {esphome-2025.8.4.dist-info → esphome-2025.9.0b1.dist-info}/entry_points.txt +0 -0
  343. {esphome-2025.8.4.dist-info → esphome-2025.9.0b1.dist-info}/licenses/LICENSE +0 -0
  344. {esphome-2025.8.4.dist-info → esphome-2025.9.0b1.dist-info}/top_level.txt +0 -0
@@ -321,7 +321,7 @@ class CommandProtoMessage : public ProtoDecodableMessage {
321
321
 
322
322
  protected:
323
323
  };
324
- class HelloRequest : public ProtoDecodableMessage {
324
+ class HelloRequest final : public ProtoDecodableMessage {
325
325
  public:
326
326
  static constexpr uint8_t MESSAGE_TYPE = 1;
327
327
  static constexpr uint8_t ESTIMATED_SIZE = 17;
@@ -339,7 +339,7 @@ class HelloRequest : public ProtoDecodableMessage {
339
339
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
340
340
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
341
341
  };
342
- class HelloResponse : public ProtoMessage {
342
+ class HelloResponse final : public ProtoMessage {
343
343
  public:
344
344
  static constexpr uint8_t MESSAGE_TYPE = 2;
345
345
  static constexpr uint8_t ESTIMATED_SIZE = 26;
@@ -360,7 +360,7 @@ class HelloResponse : public ProtoMessage {
360
360
 
361
361
  protected:
362
362
  };
363
- class ConnectRequest : public ProtoDecodableMessage {
363
+ class ConnectRequest final : public ProtoDecodableMessage {
364
364
  public:
365
365
  static constexpr uint8_t MESSAGE_TYPE = 3;
366
366
  static constexpr uint8_t ESTIMATED_SIZE = 9;
@@ -375,7 +375,7 @@ class ConnectRequest : public ProtoDecodableMessage {
375
375
  protected:
376
376
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
377
377
  };
378
- class ConnectResponse : public ProtoMessage {
378
+ class ConnectResponse final : public ProtoMessage {
379
379
  public:
380
380
  static constexpr uint8_t MESSAGE_TYPE = 4;
381
381
  static constexpr uint8_t ESTIMATED_SIZE = 2;
@@ -391,7 +391,7 @@ class ConnectResponse : public ProtoMessage {
391
391
 
392
392
  protected:
393
393
  };
394
- class DisconnectRequest : public ProtoMessage {
394
+ class DisconnectRequest final : public ProtoMessage {
395
395
  public:
396
396
  static constexpr uint8_t MESSAGE_TYPE = 5;
397
397
  static constexpr uint8_t ESTIMATED_SIZE = 0;
@@ -404,7 +404,7 @@ class DisconnectRequest : public ProtoMessage {
404
404
 
405
405
  protected:
406
406
  };
407
- class DisconnectResponse : public ProtoMessage {
407
+ class DisconnectResponse final : public ProtoMessage {
408
408
  public:
409
409
  static constexpr uint8_t MESSAGE_TYPE = 6;
410
410
  static constexpr uint8_t ESTIMATED_SIZE = 0;
@@ -417,7 +417,7 @@ class DisconnectResponse : public ProtoMessage {
417
417
 
418
418
  protected:
419
419
  };
420
- class PingRequest : public ProtoMessage {
420
+ class PingRequest final : public ProtoMessage {
421
421
  public:
422
422
  static constexpr uint8_t MESSAGE_TYPE = 7;
423
423
  static constexpr uint8_t ESTIMATED_SIZE = 0;
@@ -430,7 +430,7 @@ class PingRequest : public ProtoMessage {
430
430
 
431
431
  protected:
432
432
  };
433
- class PingResponse : public ProtoMessage {
433
+ class PingResponse final : public ProtoMessage {
434
434
  public:
435
435
  static constexpr uint8_t MESSAGE_TYPE = 8;
436
436
  static constexpr uint8_t ESTIMATED_SIZE = 0;
@@ -443,7 +443,7 @@ class PingResponse : public ProtoMessage {
443
443
 
444
444
  protected:
445
445
  };
446
- class DeviceInfoRequest : public ProtoMessage {
446
+ class DeviceInfoRequest final : public ProtoMessage {
447
447
  public:
448
448
  static constexpr uint8_t MESSAGE_TYPE = 9;
449
449
  static constexpr uint8_t ESTIMATED_SIZE = 0;
@@ -457,7 +457,7 @@ class DeviceInfoRequest : public ProtoMessage {
457
457
  protected:
458
458
  };
459
459
  #ifdef USE_AREAS
460
- class AreaInfo : public ProtoMessage {
460
+ class AreaInfo final : public ProtoMessage {
461
461
  public:
462
462
  uint32_t area_id{0};
463
463
  StringRef name_ref_{};
@@ -472,7 +472,7 @@ class AreaInfo : public ProtoMessage {
472
472
  };
473
473
  #endif
474
474
  #ifdef USE_DEVICES
475
- class DeviceInfo : public ProtoMessage {
475
+ class DeviceInfo final : public ProtoMessage {
476
476
  public:
477
477
  uint32_t device_id{0};
478
478
  StringRef name_ref_{};
@@ -487,7 +487,7 @@ class DeviceInfo : public ProtoMessage {
487
487
  protected:
488
488
  };
489
489
  #endif
490
- class DeviceInfoResponse : public ProtoMessage {
490
+ class DeviceInfoResponse final : public ProtoMessage {
491
491
  public:
492
492
  static constexpr uint8_t MESSAGE_TYPE = 10;
493
493
  static constexpr uint8_t ESTIMATED_SIZE = 247;
@@ -559,7 +559,7 @@ class DeviceInfoResponse : public ProtoMessage {
559
559
 
560
560
  protected:
561
561
  };
562
- class ListEntitiesRequest : public ProtoMessage {
562
+ class ListEntitiesRequest final : public ProtoMessage {
563
563
  public:
564
564
  static constexpr uint8_t MESSAGE_TYPE = 11;
565
565
  static constexpr uint8_t ESTIMATED_SIZE = 0;
@@ -572,7 +572,7 @@ class ListEntitiesRequest : public ProtoMessage {
572
572
 
573
573
  protected:
574
574
  };
575
- class ListEntitiesDoneResponse : public ProtoMessage {
575
+ class ListEntitiesDoneResponse final : public ProtoMessage {
576
576
  public:
577
577
  static constexpr uint8_t MESSAGE_TYPE = 19;
578
578
  static constexpr uint8_t ESTIMATED_SIZE = 0;
@@ -585,7 +585,7 @@ class ListEntitiesDoneResponse : public ProtoMessage {
585
585
 
586
586
  protected:
587
587
  };
588
- class SubscribeStatesRequest : public ProtoMessage {
588
+ class SubscribeStatesRequest final : public ProtoMessage {
589
589
  public:
590
590
  static constexpr uint8_t MESSAGE_TYPE = 20;
591
591
  static constexpr uint8_t ESTIMATED_SIZE = 0;
@@ -599,7 +599,7 @@ class SubscribeStatesRequest : public ProtoMessage {
599
599
  protected:
600
600
  };
601
601
  #ifdef USE_BINARY_SENSOR
602
- class ListEntitiesBinarySensorResponse : public InfoResponseProtoMessage {
602
+ class ListEntitiesBinarySensorResponse final : public InfoResponseProtoMessage {
603
603
  public:
604
604
  static constexpr uint8_t MESSAGE_TYPE = 12;
605
605
  static constexpr uint8_t ESTIMATED_SIZE = 51;
@@ -617,7 +617,7 @@ class ListEntitiesBinarySensorResponse : public InfoResponseProtoMessage {
617
617
 
618
618
  protected:
619
619
  };
620
- class BinarySensorStateResponse : public StateResponseProtoMessage {
620
+ class BinarySensorStateResponse final : public StateResponseProtoMessage {
621
621
  public:
622
622
  static constexpr uint8_t MESSAGE_TYPE = 21;
623
623
  static constexpr uint8_t ESTIMATED_SIZE = 13;
@@ -636,7 +636,7 @@ class BinarySensorStateResponse : public StateResponseProtoMessage {
636
636
  };
637
637
  #endif
638
638
  #ifdef USE_COVER
639
- class ListEntitiesCoverResponse : public InfoResponseProtoMessage {
639
+ class ListEntitiesCoverResponse final : public InfoResponseProtoMessage {
640
640
  public:
641
641
  static constexpr uint8_t MESSAGE_TYPE = 13;
642
642
  static constexpr uint8_t ESTIMATED_SIZE = 57;
@@ -657,7 +657,7 @@ class ListEntitiesCoverResponse : public InfoResponseProtoMessage {
657
657
 
658
658
  protected:
659
659
  };
660
- class CoverStateResponse : public StateResponseProtoMessage {
660
+ class CoverStateResponse final : public StateResponseProtoMessage {
661
661
  public:
662
662
  static constexpr uint8_t MESSAGE_TYPE = 22;
663
663
  static constexpr uint8_t ESTIMATED_SIZE = 21;
@@ -675,7 +675,7 @@ class CoverStateResponse : public StateResponseProtoMessage {
675
675
 
676
676
  protected:
677
677
  };
678
- class CoverCommandRequest : public CommandProtoMessage {
678
+ class CoverCommandRequest final : public CommandProtoMessage {
679
679
  public:
680
680
  static constexpr uint8_t MESSAGE_TYPE = 30;
681
681
  static constexpr uint8_t ESTIMATED_SIZE = 25;
@@ -697,7 +697,7 @@ class CoverCommandRequest : public CommandProtoMessage {
697
697
  };
698
698
  #endif
699
699
  #ifdef USE_FAN
700
- class ListEntitiesFanResponse : public InfoResponseProtoMessage {
700
+ class ListEntitiesFanResponse final : public InfoResponseProtoMessage {
701
701
  public:
702
702
  static constexpr uint8_t MESSAGE_TYPE = 14;
703
703
  static constexpr uint8_t ESTIMATED_SIZE = 68;
@@ -717,7 +717,7 @@ class ListEntitiesFanResponse : public InfoResponseProtoMessage {
717
717
 
718
718
  protected:
719
719
  };
720
- class FanStateResponse : public StateResponseProtoMessage {
720
+ class FanStateResponse final : public StateResponseProtoMessage {
721
721
  public:
722
722
  static constexpr uint8_t MESSAGE_TYPE = 23;
723
723
  static constexpr uint8_t ESTIMATED_SIZE = 28;
@@ -738,7 +738,7 @@ class FanStateResponse : public StateResponseProtoMessage {
738
738
 
739
739
  protected:
740
740
  };
741
- class FanCommandRequest : public CommandProtoMessage {
741
+ class FanCommandRequest final : public CommandProtoMessage {
742
742
  public:
743
743
  static constexpr uint8_t MESSAGE_TYPE = 31;
744
744
  static constexpr uint8_t ESTIMATED_SIZE = 38;
@@ -766,7 +766,7 @@ class FanCommandRequest : public CommandProtoMessage {
766
766
  };
767
767
  #endif
768
768
  #ifdef USE_LIGHT
769
- class ListEntitiesLightResponse : public InfoResponseProtoMessage {
769
+ class ListEntitiesLightResponse final : public InfoResponseProtoMessage {
770
770
  public:
771
771
  static constexpr uint8_t MESSAGE_TYPE = 15;
772
772
  static constexpr uint8_t ESTIMATED_SIZE = 73;
@@ -785,7 +785,7 @@ class ListEntitiesLightResponse : public InfoResponseProtoMessage {
785
785
 
786
786
  protected:
787
787
  };
788
- class LightStateResponse : public StateResponseProtoMessage {
788
+ class LightStateResponse final : public StateResponseProtoMessage {
789
789
  public:
790
790
  static constexpr uint8_t MESSAGE_TYPE = 24;
791
791
  static constexpr uint8_t ESTIMATED_SIZE = 67;
@@ -813,7 +813,7 @@ class LightStateResponse : public StateResponseProtoMessage {
813
813
 
814
814
  protected:
815
815
  };
816
- class LightCommandRequest : public CommandProtoMessage {
816
+ class LightCommandRequest final : public CommandProtoMessage {
817
817
  public:
818
818
  static constexpr uint8_t MESSAGE_TYPE = 32;
819
819
  static constexpr uint8_t ESTIMATED_SIZE = 112;
@@ -857,7 +857,7 @@ class LightCommandRequest : public CommandProtoMessage {
857
857
  };
858
858
  #endif
859
859
  #ifdef USE_SENSOR
860
- class ListEntitiesSensorResponse : public InfoResponseProtoMessage {
860
+ class ListEntitiesSensorResponse final : public InfoResponseProtoMessage {
861
861
  public:
862
862
  static constexpr uint8_t MESSAGE_TYPE = 16;
863
863
  static constexpr uint8_t ESTIMATED_SIZE = 66;
@@ -879,7 +879,7 @@ class ListEntitiesSensorResponse : public InfoResponseProtoMessage {
879
879
 
880
880
  protected:
881
881
  };
882
- class SensorStateResponse : public StateResponseProtoMessage {
882
+ class SensorStateResponse final : public StateResponseProtoMessage {
883
883
  public:
884
884
  static constexpr uint8_t MESSAGE_TYPE = 25;
885
885
  static constexpr uint8_t ESTIMATED_SIZE = 16;
@@ -898,7 +898,7 @@ class SensorStateResponse : public StateResponseProtoMessage {
898
898
  };
899
899
  #endif
900
900
  #ifdef USE_SWITCH
901
- class ListEntitiesSwitchResponse : public InfoResponseProtoMessage {
901
+ class ListEntitiesSwitchResponse final : public InfoResponseProtoMessage {
902
902
  public:
903
903
  static constexpr uint8_t MESSAGE_TYPE = 17;
904
904
  static constexpr uint8_t ESTIMATED_SIZE = 51;
@@ -916,7 +916,7 @@ class ListEntitiesSwitchResponse : public InfoResponseProtoMessage {
916
916
 
917
917
  protected:
918
918
  };
919
- class SwitchStateResponse : public StateResponseProtoMessage {
919
+ class SwitchStateResponse final : public StateResponseProtoMessage {
920
920
  public:
921
921
  static constexpr uint8_t MESSAGE_TYPE = 26;
922
922
  static constexpr uint8_t ESTIMATED_SIZE = 11;
@@ -932,7 +932,7 @@ class SwitchStateResponse : public StateResponseProtoMessage {
932
932
 
933
933
  protected:
934
934
  };
935
- class SwitchCommandRequest : public CommandProtoMessage {
935
+ class SwitchCommandRequest final : public CommandProtoMessage {
936
936
  public:
937
937
  static constexpr uint8_t MESSAGE_TYPE = 33;
938
938
  static constexpr uint8_t ESTIMATED_SIZE = 11;
@@ -950,7 +950,7 @@ class SwitchCommandRequest : public CommandProtoMessage {
950
950
  };
951
951
  #endif
952
952
  #ifdef USE_TEXT_SENSOR
953
- class ListEntitiesTextSensorResponse : public InfoResponseProtoMessage {
953
+ class ListEntitiesTextSensorResponse final : public InfoResponseProtoMessage {
954
954
  public:
955
955
  static constexpr uint8_t MESSAGE_TYPE = 18;
956
956
  static constexpr uint8_t ESTIMATED_SIZE = 49;
@@ -967,7 +967,7 @@ class ListEntitiesTextSensorResponse : public InfoResponseProtoMessage {
967
967
 
968
968
  protected:
969
969
  };
970
- class TextSensorStateResponse : public StateResponseProtoMessage {
970
+ class TextSensorStateResponse final : public StateResponseProtoMessage {
971
971
  public:
972
972
  static constexpr uint8_t MESSAGE_TYPE = 27;
973
973
  static constexpr uint8_t ESTIMATED_SIZE = 20;
@@ -986,7 +986,7 @@ class TextSensorStateResponse : public StateResponseProtoMessage {
986
986
  protected:
987
987
  };
988
988
  #endif
989
- class SubscribeLogsRequest : public ProtoDecodableMessage {
989
+ class SubscribeLogsRequest final : public ProtoDecodableMessage {
990
990
  public:
991
991
  static constexpr uint8_t MESSAGE_TYPE = 28;
992
992
  static constexpr uint8_t ESTIMATED_SIZE = 4;
@@ -1002,7 +1002,7 @@ class SubscribeLogsRequest : public ProtoDecodableMessage {
1002
1002
  protected:
1003
1003
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1004
1004
  };
1005
- class SubscribeLogsResponse : public ProtoMessage {
1005
+ class SubscribeLogsResponse final : public ProtoMessage {
1006
1006
  public:
1007
1007
  static constexpr uint8_t MESSAGE_TYPE = 29;
1008
1008
  static constexpr uint8_t ESTIMATED_SIZE = 11;
@@ -1025,7 +1025,7 @@ class SubscribeLogsResponse : public ProtoMessage {
1025
1025
  protected:
1026
1026
  };
1027
1027
  #ifdef USE_API_NOISE
1028
- class NoiseEncryptionSetKeyRequest : public ProtoDecodableMessage {
1028
+ class NoiseEncryptionSetKeyRequest final : public ProtoDecodableMessage {
1029
1029
  public:
1030
1030
  static constexpr uint8_t MESSAGE_TYPE = 124;
1031
1031
  static constexpr uint8_t ESTIMATED_SIZE = 9;
@@ -1040,7 +1040,7 @@ class NoiseEncryptionSetKeyRequest : public ProtoDecodableMessage {
1040
1040
  protected:
1041
1041
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1042
1042
  };
1043
- class NoiseEncryptionSetKeyResponse : public ProtoMessage {
1043
+ class NoiseEncryptionSetKeyResponse final : public ProtoMessage {
1044
1044
  public:
1045
1045
  static constexpr uint8_t MESSAGE_TYPE = 125;
1046
1046
  static constexpr uint8_t ESTIMATED_SIZE = 2;
@@ -1058,7 +1058,7 @@ class NoiseEncryptionSetKeyResponse : public ProtoMessage {
1058
1058
  };
1059
1059
  #endif
1060
1060
  #ifdef USE_API_HOMEASSISTANT_SERVICES
1061
- class SubscribeHomeassistantServicesRequest : public ProtoMessage {
1061
+ class SubscribeHomeassistantServicesRequest final : public ProtoMessage {
1062
1062
  public:
1063
1063
  static constexpr uint8_t MESSAGE_TYPE = 34;
1064
1064
  static constexpr uint8_t ESTIMATED_SIZE = 0;
@@ -1071,7 +1071,7 @@ class SubscribeHomeassistantServicesRequest : public ProtoMessage {
1071
1071
 
1072
1072
  protected:
1073
1073
  };
1074
- class HomeassistantServiceMap : public ProtoMessage {
1074
+ class HomeassistantServiceMap final : public ProtoMessage {
1075
1075
  public:
1076
1076
  StringRef key_ref_{};
1077
1077
  void set_key(const StringRef &ref) { this->key_ref_ = ref; }
@@ -1084,7 +1084,7 @@ class HomeassistantServiceMap : public ProtoMessage {
1084
1084
 
1085
1085
  protected:
1086
1086
  };
1087
- class HomeassistantServiceResponse : public ProtoMessage {
1087
+ class HomeassistantServiceResponse final : public ProtoMessage {
1088
1088
  public:
1089
1089
  static constexpr uint8_t MESSAGE_TYPE = 35;
1090
1090
  static constexpr uint8_t ESTIMATED_SIZE = 113;
@@ -1107,7 +1107,7 @@ class HomeassistantServiceResponse : public ProtoMessage {
1107
1107
  };
1108
1108
  #endif
1109
1109
  #ifdef USE_API_HOMEASSISTANT_STATES
1110
- class SubscribeHomeAssistantStatesRequest : public ProtoMessage {
1110
+ class SubscribeHomeAssistantStatesRequest final : public ProtoMessage {
1111
1111
  public:
1112
1112
  static constexpr uint8_t MESSAGE_TYPE = 38;
1113
1113
  static constexpr uint8_t ESTIMATED_SIZE = 0;
@@ -1120,7 +1120,7 @@ class SubscribeHomeAssistantStatesRequest : public ProtoMessage {
1120
1120
 
1121
1121
  protected:
1122
1122
  };
1123
- class SubscribeHomeAssistantStateResponse : public ProtoMessage {
1123
+ class SubscribeHomeAssistantStateResponse final : public ProtoMessage {
1124
1124
  public:
1125
1125
  static constexpr uint8_t MESSAGE_TYPE = 39;
1126
1126
  static constexpr uint8_t ESTIMATED_SIZE = 20;
@@ -1140,7 +1140,7 @@ class SubscribeHomeAssistantStateResponse : public ProtoMessage {
1140
1140
 
1141
1141
  protected:
1142
1142
  };
1143
- class HomeAssistantStateResponse : public ProtoDecodableMessage {
1143
+ class HomeAssistantStateResponse final : public ProtoDecodableMessage {
1144
1144
  public:
1145
1145
  static constexpr uint8_t MESSAGE_TYPE = 40;
1146
1146
  static constexpr uint8_t ESTIMATED_SIZE = 27;
@@ -1158,7 +1158,7 @@ class HomeAssistantStateResponse : public ProtoDecodableMessage {
1158
1158
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1159
1159
  };
1160
1160
  #endif
1161
- class GetTimeRequest : public ProtoMessage {
1161
+ class GetTimeRequest final : public ProtoMessage {
1162
1162
  public:
1163
1163
  static constexpr uint8_t MESSAGE_TYPE = 36;
1164
1164
  static constexpr uint8_t ESTIMATED_SIZE = 0;
@@ -1171,14 +1171,17 @@ class GetTimeRequest : public ProtoMessage {
1171
1171
 
1172
1172
  protected:
1173
1173
  };
1174
- class GetTimeResponse : public ProtoDecodableMessage {
1174
+ class GetTimeResponse final : public ProtoDecodableMessage {
1175
1175
  public:
1176
1176
  static constexpr uint8_t MESSAGE_TYPE = 37;
1177
- static constexpr uint8_t ESTIMATED_SIZE = 5;
1177
+ static constexpr uint8_t ESTIMATED_SIZE = 14;
1178
1178
  #ifdef HAS_PROTO_MESSAGE_DUMP
1179
1179
  const char *message_name() const override { return "get_time_response"; }
1180
1180
  #endif
1181
1181
  uint32_t epoch_seconds{0};
1182
+ std::string timezone{};
1183
+ StringRef timezone_ref_{};
1184
+ void set_timezone(const StringRef &ref) { this->timezone_ref_ = ref; }
1182
1185
  void encode(ProtoWriteBuffer buffer) const override;
1183
1186
  void calculate_size(ProtoSize &size) const override;
1184
1187
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -1187,9 +1190,10 @@ class GetTimeResponse : public ProtoDecodableMessage {
1187
1190
 
1188
1191
  protected:
1189
1192
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1193
+ bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1190
1194
  };
1191
1195
  #ifdef USE_API_SERVICES
1192
- class ListEntitiesServicesArgument : public ProtoMessage {
1196
+ class ListEntitiesServicesArgument final : public ProtoMessage {
1193
1197
  public:
1194
1198
  StringRef name_ref_{};
1195
1199
  void set_name(const StringRef &ref) { this->name_ref_ = ref; }
@@ -1202,7 +1206,7 @@ class ListEntitiesServicesArgument : public ProtoMessage {
1202
1206
 
1203
1207
  protected:
1204
1208
  };
1205
- class ListEntitiesServicesResponse : public ProtoMessage {
1209
+ class ListEntitiesServicesResponse final : public ProtoMessage {
1206
1210
  public:
1207
1211
  static constexpr uint8_t MESSAGE_TYPE = 41;
1208
1212
  static constexpr uint8_t ESTIMATED_SIZE = 48;
@@ -1221,7 +1225,7 @@ class ListEntitiesServicesResponse : public ProtoMessage {
1221
1225
 
1222
1226
  protected:
1223
1227
  };
1224
- class ExecuteServiceArgument : public ProtoDecodableMessage {
1228
+ class ExecuteServiceArgument final : public ProtoDecodableMessage {
1225
1229
  public:
1226
1230
  bool bool_{false};
1227
1231
  int32_t legacy_int{0};
@@ -1241,7 +1245,7 @@ class ExecuteServiceArgument : public ProtoDecodableMessage {
1241
1245
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1242
1246
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1243
1247
  };
1244
- class ExecuteServiceRequest : public ProtoDecodableMessage {
1248
+ class ExecuteServiceRequest final : public ProtoDecodableMessage {
1245
1249
  public:
1246
1250
  static constexpr uint8_t MESSAGE_TYPE = 42;
1247
1251
  static constexpr uint8_t ESTIMATED_SIZE = 39;
@@ -1260,7 +1264,7 @@ class ExecuteServiceRequest : public ProtoDecodableMessage {
1260
1264
  };
1261
1265
  #endif
1262
1266
  #ifdef USE_CAMERA
1263
- class ListEntitiesCameraResponse : public InfoResponseProtoMessage {
1267
+ class ListEntitiesCameraResponse final : public InfoResponseProtoMessage {
1264
1268
  public:
1265
1269
  static constexpr uint8_t MESSAGE_TYPE = 43;
1266
1270
  static constexpr uint8_t ESTIMATED_SIZE = 40;
@@ -1275,7 +1279,7 @@ class ListEntitiesCameraResponse : public InfoResponseProtoMessage {
1275
1279
 
1276
1280
  protected:
1277
1281
  };
1278
- class CameraImageResponse : public StateResponseProtoMessage {
1282
+ class CameraImageResponse final : public StateResponseProtoMessage {
1279
1283
  public:
1280
1284
  static constexpr uint8_t MESSAGE_TYPE = 44;
1281
1285
  static constexpr uint8_t ESTIMATED_SIZE = 20;
@@ -1297,7 +1301,7 @@ class CameraImageResponse : public StateResponseProtoMessage {
1297
1301
 
1298
1302
  protected:
1299
1303
  };
1300
- class CameraImageRequest : public ProtoDecodableMessage {
1304
+ class CameraImageRequest final : public ProtoDecodableMessage {
1301
1305
  public:
1302
1306
  static constexpr uint8_t MESSAGE_TYPE = 45;
1303
1307
  static constexpr uint8_t ESTIMATED_SIZE = 4;
@@ -1315,7 +1319,7 @@ class CameraImageRequest : public ProtoDecodableMessage {
1315
1319
  };
1316
1320
  #endif
1317
1321
  #ifdef USE_CLIMATE
1318
- class ListEntitiesClimateResponse : public InfoResponseProtoMessage {
1322
+ class ListEntitiesClimateResponse final : public InfoResponseProtoMessage {
1319
1323
  public:
1320
1324
  static constexpr uint8_t MESSAGE_TYPE = 46;
1321
1325
  static constexpr uint8_t ESTIMATED_SIZE = 145;
@@ -1347,7 +1351,7 @@ class ListEntitiesClimateResponse : public InfoResponseProtoMessage {
1347
1351
 
1348
1352
  protected:
1349
1353
  };
1350
- class ClimateStateResponse : public StateResponseProtoMessage {
1354
+ class ClimateStateResponse final : public StateResponseProtoMessage {
1351
1355
  public:
1352
1356
  static constexpr uint8_t MESSAGE_TYPE = 47;
1353
1357
  static constexpr uint8_t ESTIMATED_SIZE = 68;
@@ -1377,7 +1381,7 @@ class ClimateStateResponse : public StateResponseProtoMessage {
1377
1381
 
1378
1382
  protected:
1379
1383
  };
1380
- class ClimateCommandRequest : public CommandProtoMessage {
1384
+ class ClimateCommandRequest final : public CommandProtoMessage {
1381
1385
  public:
1382
1386
  static constexpr uint8_t MESSAGE_TYPE = 48;
1383
1387
  static constexpr uint8_t ESTIMATED_SIZE = 84;
@@ -1415,7 +1419,7 @@ class ClimateCommandRequest : public CommandProtoMessage {
1415
1419
  };
1416
1420
  #endif
1417
1421
  #ifdef USE_NUMBER
1418
- class ListEntitiesNumberResponse : public InfoResponseProtoMessage {
1422
+ class ListEntitiesNumberResponse final : public InfoResponseProtoMessage {
1419
1423
  public:
1420
1424
  static constexpr uint8_t MESSAGE_TYPE = 49;
1421
1425
  static constexpr uint8_t ESTIMATED_SIZE = 75;
@@ -1438,7 +1442,7 @@ class ListEntitiesNumberResponse : public InfoResponseProtoMessage {
1438
1442
 
1439
1443
  protected:
1440
1444
  };
1441
- class NumberStateResponse : public StateResponseProtoMessage {
1445
+ class NumberStateResponse final : public StateResponseProtoMessage {
1442
1446
  public:
1443
1447
  static constexpr uint8_t MESSAGE_TYPE = 50;
1444
1448
  static constexpr uint8_t ESTIMATED_SIZE = 16;
@@ -1455,7 +1459,7 @@ class NumberStateResponse : public StateResponseProtoMessage {
1455
1459
 
1456
1460
  protected:
1457
1461
  };
1458
- class NumberCommandRequest : public CommandProtoMessage {
1462
+ class NumberCommandRequest final : public CommandProtoMessage {
1459
1463
  public:
1460
1464
  static constexpr uint8_t MESSAGE_TYPE = 51;
1461
1465
  static constexpr uint8_t ESTIMATED_SIZE = 14;
@@ -1473,7 +1477,7 @@ class NumberCommandRequest : public CommandProtoMessage {
1473
1477
  };
1474
1478
  #endif
1475
1479
  #ifdef USE_SELECT
1476
- class ListEntitiesSelectResponse : public InfoResponseProtoMessage {
1480
+ class ListEntitiesSelectResponse final : public InfoResponseProtoMessage {
1477
1481
  public:
1478
1482
  static constexpr uint8_t MESSAGE_TYPE = 52;
1479
1483
  static constexpr uint8_t ESTIMATED_SIZE = 58;
@@ -1489,7 +1493,7 @@ class ListEntitiesSelectResponse : public InfoResponseProtoMessage {
1489
1493
 
1490
1494
  protected:
1491
1495
  };
1492
- class SelectStateResponse : public StateResponseProtoMessage {
1496
+ class SelectStateResponse final : public StateResponseProtoMessage {
1493
1497
  public:
1494
1498
  static constexpr uint8_t MESSAGE_TYPE = 53;
1495
1499
  static constexpr uint8_t ESTIMATED_SIZE = 20;
@@ -1507,7 +1511,7 @@ class SelectStateResponse : public StateResponseProtoMessage {
1507
1511
 
1508
1512
  protected:
1509
1513
  };
1510
- class SelectCommandRequest : public CommandProtoMessage {
1514
+ class SelectCommandRequest final : public CommandProtoMessage {
1511
1515
  public:
1512
1516
  static constexpr uint8_t MESSAGE_TYPE = 54;
1513
1517
  static constexpr uint8_t ESTIMATED_SIZE = 18;
@@ -1526,7 +1530,7 @@ class SelectCommandRequest : public CommandProtoMessage {
1526
1530
  };
1527
1531
  #endif
1528
1532
  #ifdef USE_SIREN
1529
- class ListEntitiesSirenResponse : public InfoResponseProtoMessage {
1533
+ class ListEntitiesSirenResponse final : public InfoResponseProtoMessage {
1530
1534
  public:
1531
1535
  static constexpr uint8_t MESSAGE_TYPE = 55;
1532
1536
  static constexpr uint8_t ESTIMATED_SIZE = 62;
@@ -1544,7 +1548,7 @@ class ListEntitiesSirenResponse : public InfoResponseProtoMessage {
1544
1548
 
1545
1549
  protected:
1546
1550
  };
1547
- class SirenStateResponse : public StateResponseProtoMessage {
1551
+ class SirenStateResponse final : public StateResponseProtoMessage {
1548
1552
  public:
1549
1553
  static constexpr uint8_t MESSAGE_TYPE = 56;
1550
1554
  static constexpr uint8_t ESTIMATED_SIZE = 11;
@@ -1560,7 +1564,7 @@ class SirenStateResponse : public StateResponseProtoMessage {
1560
1564
 
1561
1565
  protected:
1562
1566
  };
1563
- class SirenCommandRequest : public CommandProtoMessage {
1567
+ class SirenCommandRequest final : public CommandProtoMessage {
1564
1568
  public:
1565
1569
  static constexpr uint8_t MESSAGE_TYPE = 57;
1566
1570
  static constexpr uint8_t ESTIMATED_SIZE = 37;
@@ -1586,7 +1590,7 @@ class SirenCommandRequest : public CommandProtoMessage {
1586
1590
  };
1587
1591
  #endif
1588
1592
  #ifdef USE_LOCK
1589
- class ListEntitiesLockResponse : public InfoResponseProtoMessage {
1593
+ class ListEntitiesLockResponse final : public InfoResponseProtoMessage {
1590
1594
  public:
1591
1595
  static constexpr uint8_t MESSAGE_TYPE = 58;
1592
1596
  static constexpr uint8_t ESTIMATED_SIZE = 55;
@@ -1606,7 +1610,7 @@ class ListEntitiesLockResponse : public InfoResponseProtoMessage {
1606
1610
 
1607
1611
  protected:
1608
1612
  };
1609
- class LockStateResponse : public StateResponseProtoMessage {
1613
+ class LockStateResponse final : public StateResponseProtoMessage {
1610
1614
  public:
1611
1615
  static constexpr uint8_t MESSAGE_TYPE = 59;
1612
1616
  static constexpr uint8_t ESTIMATED_SIZE = 11;
@@ -1622,7 +1626,7 @@ class LockStateResponse : public StateResponseProtoMessage {
1622
1626
 
1623
1627
  protected:
1624
1628
  };
1625
- class LockCommandRequest : public CommandProtoMessage {
1629
+ class LockCommandRequest final : public CommandProtoMessage {
1626
1630
  public:
1627
1631
  static constexpr uint8_t MESSAGE_TYPE = 60;
1628
1632
  static constexpr uint8_t ESTIMATED_SIZE = 22;
@@ -1643,7 +1647,7 @@ class LockCommandRequest : public CommandProtoMessage {
1643
1647
  };
1644
1648
  #endif
1645
1649
  #ifdef USE_BUTTON
1646
- class ListEntitiesButtonResponse : public InfoResponseProtoMessage {
1650
+ class ListEntitiesButtonResponse final : public InfoResponseProtoMessage {
1647
1651
  public:
1648
1652
  static constexpr uint8_t MESSAGE_TYPE = 61;
1649
1653
  static constexpr uint8_t ESTIMATED_SIZE = 49;
@@ -1660,7 +1664,7 @@ class ListEntitiesButtonResponse : public InfoResponseProtoMessage {
1660
1664
 
1661
1665
  protected:
1662
1666
  };
1663
- class ButtonCommandRequest : public CommandProtoMessage {
1667
+ class ButtonCommandRequest final : public CommandProtoMessage {
1664
1668
  public:
1665
1669
  static constexpr uint8_t MESSAGE_TYPE = 62;
1666
1670
  static constexpr uint8_t ESTIMATED_SIZE = 9;
@@ -1677,7 +1681,7 @@ class ButtonCommandRequest : public CommandProtoMessage {
1677
1681
  };
1678
1682
  #endif
1679
1683
  #ifdef USE_MEDIA_PLAYER
1680
- class MediaPlayerSupportedFormat : public ProtoMessage {
1684
+ class MediaPlayerSupportedFormat final : public ProtoMessage {
1681
1685
  public:
1682
1686
  StringRef format_ref_{};
1683
1687
  void set_format(const StringRef &ref) { this->format_ref_ = ref; }
@@ -1693,7 +1697,7 @@ class MediaPlayerSupportedFormat : public ProtoMessage {
1693
1697
 
1694
1698
  protected:
1695
1699
  };
1696
- class ListEntitiesMediaPlayerResponse : public InfoResponseProtoMessage {
1700
+ class ListEntitiesMediaPlayerResponse final : public InfoResponseProtoMessage {
1697
1701
  public:
1698
1702
  static constexpr uint8_t MESSAGE_TYPE = 63;
1699
1703
  static constexpr uint8_t ESTIMATED_SIZE = 80;
@@ -1711,7 +1715,7 @@ class ListEntitiesMediaPlayerResponse : public InfoResponseProtoMessage {
1711
1715
 
1712
1716
  protected:
1713
1717
  };
1714
- class MediaPlayerStateResponse : public StateResponseProtoMessage {
1718
+ class MediaPlayerStateResponse final : public StateResponseProtoMessage {
1715
1719
  public:
1716
1720
  static constexpr uint8_t MESSAGE_TYPE = 64;
1717
1721
  static constexpr uint8_t ESTIMATED_SIZE = 18;
@@ -1729,7 +1733,7 @@ class MediaPlayerStateResponse : public StateResponseProtoMessage {
1729
1733
 
1730
1734
  protected:
1731
1735
  };
1732
- class MediaPlayerCommandRequest : public CommandProtoMessage {
1736
+ class MediaPlayerCommandRequest final : public CommandProtoMessage {
1733
1737
  public:
1734
1738
  static constexpr uint8_t MESSAGE_TYPE = 65;
1735
1739
  static constexpr uint8_t ESTIMATED_SIZE = 35;
@@ -1755,7 +1759,7 @@ class MediaPlayerCommandRequest : public CommandProtoMessage {
1755
1759
  };
1756
1760
  #endif
1757
1761
  #ifdef USE_BLUETOOTH_PROXY
1758
- class SubscribeBluetoothLEAdvertisementsRequest : public ProtoDecodableMessage {
1762
+ class SubscribeBluetoothLEAdvertisementsRequest final : public ProtoDecodableMessage {
1759
1763
  public:
1760
1764
  static constexpr uint8_t MESSAGE_TYPE = 66;
1761
1765
  static constexpr uint8_t ESTIMATED_SIZE = 4;
@@ -1770,7 +1774,7 @@ class SubscribeBluetoothLEAdvertisementsRequest : public ProtoDecodableMessage {
1770
1774
  protected:
1771
1775
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1772
1776
  };
1773
- class BluetoothLERawAdvertisement : public ProtoMessage {
1777
+ class BluetoothLERawAdvertisement final : public ProtoMessage {
1774
1778
  public:
1775
1779
  uint64_t address{0};
1776
1780
  int32_t rssi{0};
@@ -1785,7 +1789,7 @@ class BluetoothLERawAdvertisement : public ProtoMessage {
1785
1789
 
1786
1790
  protected:
1787
1791
  };
1788
- class BluetoothLERawAdvertisementsResponse : public ProtoMessage {
1792
+ class BluetoothLERawAdvertisementsResponse final : public ProtoMessage {
1789
1793
  public:
1790
1794
  static constexpr uint8_t MESSAGE_TYPE = 93;
1791
1795
  static constexpr uint8_t ESTIMATED_SIZE = 136;
@@ -1802,7 +1806,7 @@ class BluetoothLERawAdvertisementsResponse : public ProtoMessage {
1802
1806
 
1803
1807
  protected:
1804
1808
  };
1805
- class BluetoothDeviceRequest : public ProtoDecodableMessage {
1809
+ class BluetoothDeviceRequest final : public ProtoDecodableMessage {
1806
1810
  public:
1807
1811
  static constexpr uint8_t MESSAGE_TYPE = 68;
1808
1812
  static constexpr uint8_t ESTIMATED_SIZE = 12;
@@ -1820,7 +1824,7 @@ class BluetoothDeviceRequest : public ProtoDecodableMessage {
1820
1824
  protected:
1821
1825
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1822
1826
  };
1823
- class BluetoothDeviceConnectionResponse : public ProtoMessage {
1827
+ class BluetoothDeviceConnectionResponse final : public ProtoMessage {
1824
1828
  public:
1825
1829
  static constexpr uint8_t MESSAGE_TYPE = 69;
1826
1830
  static constexpr uint8_t ESTIMATED_SIZE = 14;
@@ -1839,7 +1843,7 @@ class BluetoothDeviceConnectionResponse : public ProtoMessage {
1839
1843
 
1840
1844
  protected:
1841
1845
  };
1842
- class BluetoothGATTGetServicesRequest : public ProtoDecodableMessage {
1846
+ class BluetoothGATTGetServicesRequest final : public ProtoDecodableMessage {
1843
1847
  public:
1844
1848
  static constexpr uint8_t MESSAGE_TYPE = 70;
1845
1849
  static constexpr uint8_t ESTIMATED_SIZE = 4;
@@ -1854,7 +1858,7 @@ class BluetoothGATTGetServicesRequest : public ProtoDecodableMessage {
1854
1858
  protected:
1855
1859
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1856
1860
  };
1857
- class BluetoothGATTDescriptor : public ProtoMessage {
1861
+ class BluetoothGATTDescriptor final : public ProtoMessage {
1858
1862
  public:
1859
1863
  std::array<uint64_t, 2> uuid{};
1860
1864
  uint32_t handle{0};
@@ -1867,7 +1871,7 @@ class BluetoothGATTDescriptor : public ProtoMessage {
1867
1871
 
1868
1872
  protected:
1869
1873
  };
1870
- class BluetoothGATTCharacteristic : public ProtoMessage {
1874
+ class BluetoothGATTCharacteristic final : public ProtoMessage {
1871
1875
  public:
1872
1876
  std::array<uint64_t, 2> uuid{};
1873
1877
  uint32_t handle{0};
@@ -1882,7 +1886,7 @@ class BluetoothGATTCharacteristic : public ProtoMessage {
1882
1886
 
1883
1887
  protected:
1884
1888
  };
1885
- class BluetoothGATTService : public ProtoMessage {
1889
+ class BluetoothGATTService final : public ProtoMessage {
1886
1890
  public:
1887
1891
  std::array<uint64_t, 2> uuid{};
1888
1892
  uint32_t handle{0};
@@ -1896,7 +1900,7 @@ class BluetoothGATTService : public ProtoMessage {
1896
1900
 
1897
1901
  protected:
1898
1902
  };
1899
- class BluetoothGATTGetServicesResponse : public ProtoMessage {
1903
+ class BluetoothGATTGetServicesResponse final : public ProtoMessage {
1900
1904
  public:
1901
1905
  static constexpr uint8_t MESSAGE_TYPE = 71;
1902
1906
  static constexpr uint8_t ESTIMATED_SIZE = 38;
@@ -1913,7 +1917,7 @@ class BluetoothGATTGetServicesResponse : public ProtoMessage {
1913
1917
 
1914
1918
  protected:
1915
1919
  };
1916
- class BluetoothGATTGetServicesDoneResponse : public ProtoMessage {
1920
+ class BluetoothGATTGetServicesDoneResponse final : public ProtoMessage {
1917
1921
  public:
1918
1922
  static constexpr uint8_t MESSAGE_TYPE = 72;
1919
1923
  static constexpr uint8_t ESTIMATED_SIZE = 4;
@@ -1929,7 +1933,7 @@ class BluetoothGATTGetServicesDoneResponse : public ProtoMessage {
1929
1933
 
1930
1934
  protected:
1931
1935
  };
1932
- class BluetoothGATTReadRequest : public ProtoDecodableMessage {
1936
+ class BluetoothGATTReadRequest final : public ProtoDecodableMessage {
1933
1937
  public:
1934
1938
  static constexpr uint8_t MESSAGE_TYPE = 73;
1935
1939
  static constexpr uint8_t ESTIMATED_SIZE = 8;
@@ -1945,7 +1949,7 @@ class BluetoothGATTReadRequest : public ProtoDecodableMessage {
1945
1949
  protected:
1946
1950
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1947
1951
  };
1948
- class BluetoothGATTReadResponse : public ProtoMessage {
1952
+ class BluetoothGATTReadResponse final : public ProtoMessage {
1949
1953
  public:
1950
1954
  static constexpr uint8_t MESSAGE_TYPE = 74;
1951
1955
  static constexpr uint8_t ESTIMATED_SIZE = 17;
@@ -1968,7 +1972,7 @@ class BluetoothGATTReadResponse : public ProtoMessage {
1968
1972
 
1969
1973
  protected:
1970
1974
  };
1971
- class BluetoothGATTWriteRequest : public ProtoDecodableMessage {
1975
+ class BluetoothGATTWriteRequest final : public ProtoDecodableMessage {
1972
1976
  public:
1973
1977
  static constexpr uint8_t MESSAGE_TYPE = 75;
1974
1978
  static constexpr uint8_t ESTIMATED_SIZE = 19;
@@ -1987,7 +1991,7 @@ class BluetoothGATTWriteRequest : public ProtoDecodableMessage {
1987
1991
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1988
1992
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1989
1993
  };
1990
- class BluetoothGATTReadDescriptorRequest : public ProtoDecodableMessage {
1994
+ class BluetoothGATTReadDescriptorRequest final : public ProtoDecodableMessage {
1991
1995
  public:
1992
1996
  static constexpr uint8_t MESSAGE_TYPE = 76;
1993
1997
  static constexpr uint8_t ESTIMATED_SIZE = 8;
@@ -2003,7 +2007,7 @@ class BluetoothGATTReadDescriptorRequest : public ProtoDecodableMessage {
2003
2007
  protected:
2004
2008
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2005
2009
  };
2006
- class BluetoothGATTWriteDescriptorRequest : public ProtoDecodableMessage {
2010
+ class BluetoothGATTWriteDescriptorRequest final : public ProtoDecodableMessage {
2007
2011
  public:
2008
2012
  static constexpr uint8_t MESSAGE_TYPE = 77;
2009
2013
  static constexpr uint8_t ESTIMATED_SIZE = 17;
@@ -2021,7 +2025,7 @@ class BluetoothGATTWriteDescriptorRequest : public ProtoDecodableMessage {
2021
2025
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2022
2026
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2023
2027
  };
2024
- class BluetoothGATTNotifyRequest : public ProtoDecodableMessage {
2028
+ class BluetoothGATTNotifyRequest final : public ProtoDecodableMessage {
2025
2029
  public:
2026
2030
  static constexpr uint8_t MESSAGE_TYPE = 78;
2027
2031
  static constexpr uint8_t ESTIMATED_SIZE = 10;
@@ -2038,7 +2042,7 @@ class BluetoothGATTNotifyRequest : public ProtoDecodableMessage {
2038
2042
  protected:
2039
2043
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2040
2044
  };
2041
- class BluetoothGATTNotifyDataResponse : public ProtoMessage {
2045
+ class BluetoothGATTNotifyDataResponse final : public ProtoMessage {
2042
2046
  public:
2043
2047
  static constexpr uint8_t MESSAGE_TYPE = 79;
2044
2048
  static constexpr uint8_t ESTIMATED_SIZE = 17;
@@ -2061,7 +2065,7 @@ class BluetoothGATTNotifyDataResponse : public ProtoMessage {
2061
2065
 
2062
2066
  protected:
2063
2067
  };
2064
- class SubscribeBluetoothConnectionsFreeRequest : public ProtoMessage {
2068
+ class SubscribeBluetoothConnectionsFreeRequest final : public ProtoMessage {
2065
2069
  public:
2066
2070
  static constexpr uint8_t MESSAGE_TYPE = 80;
2067
2071
  static constexpr uint8_t ESTIMATED_SIZE = 0;
@@ -2074,7 +2078,7 @@ class SubscribeBluetoothConnectionsFreeRequest : public ProtoMessage {
2074
2078
 
2075
2079
  protected:
2076
2080
  };
2077
- class BluetoothConnectionsFreeResponse : public ProtoMessage {
2081
+ class BluetoothConnectionsFreeResponse final : public ProtoMessage {
2078
2082
  public:
2079
2083
  static constexpr uint8_t MESSAGE_TYPE = 81;
2080
2084
  static constexpr uint8_t ESTIMATED_SIZE = 20;
@@ -2092,7 +2096,7 @@ class BluetoothConnectionsFreeResponse : public ProtoMessage {
2092
2096
 
2093
2097
  protected:
2094
2098
  };
2095
- class BluetoothGATTErrorResponse : public ProtoMessage {
2099
+ class BluetoothGATTErrorResponse final : public ProtoMessage {
2096
2100
  public:
2097
2101
  static constexpr uint8_t MESSAGE_TYPE = 82;
2098
2102
  static constexpr uint8_t ESTIMATED_SIZE = 12;
@@ -2110,7 +2114,7 @@ class BluetoothGATTErrorResponse : public ProtoMessage {
2110
2114
 
2111
2115
  protected:
2112
2116
  };
2113
- class BluetoothGATTWriteResponse : public ProtoMessage {
2117
+ class BluetoothGATTWriteResponse final : public ProtoMessage {
2114
2118
  public:
2115
2119
  static constexpr uint8_t MESSAGE_TYPE = 83;
2116
2120
  static constexpr uint8_t ESTIMATED_SIZE = 8;
@@ -2127,7 +2131,7 @@ class BluetoothGATTWriteResponse : public ProtoMessage {
2127
2131
 
2128
2132
  protected:
2129
2133
  };
2130
- class BluetoothGATTNotifyResponse : public ProtoMessage {
2134
+ class BluetoothGATTNotifyResponse final : public ProtoMessage {
2131
2135
  public:
2132
2136
  static constexpr uint8_t MESSAGE_TYPE = 84;
2133
2137
  static constexpr uint8_t ESTIMATED_SIZE = 8;
@@ -2144,7 +2148,7 @@ class BluetoothGATTNotifyResponse : public ProtoMessage {
2144
2148
 
2145
2149
  protected:
2146
2150
  };
2147
- class BluetoothDevicePairingResponse : public ProtoMessage {
2151
+ class BluetoothDevicePairingResponse final : public ProtoMessage {
2148
2152
  public:
2149
2153
  static constexpr uint8_t MESSAGE_TYPE = 85;
2150
2154
  static constexpr uint8_t ESTIMATED_SIZE = 10;
@@ -2162,7 +2166,7 @@ class BluetoothDevicePairingResponse : public ProtoMessage {
2162
2166
 
2163
2167
  protected:
2164
2168
  };
2165
- class BluetoothDeviceUnpairingResponse : public ProtoMessage {
2169
+ class BluetoothDeviceUnpairingResponse final : public ProtoMessage {
2166
2170
  public:
2167
2171
  static constexpr uint8_t MESSAGE_TYPE = 86;
2168
2172
  static constexpr uint8_t ESTIMATED_SIZE = 10;
@@ -2180,7 +2184,7 @@ class BluetoothDeviceUnpairingResponse : public ProtoMessage {
2180
2184
 
2181
2185
  protected:
2182
2186
  };
2183
- class UnsubscribeBluetoothLEAdvertisementsRequest : public ProtoMessage {
2187
+ class UnsubscribeBluetoothLEAdvertisementsRequest final : public ProtoMessage {
2184
2188
  public:
2185
2189
  static constexpr uint8_t MESSAGE_TYPE = 87;
2186
2190
  static constexpr uint8_t ESTIMATED_SIZE = 0;
@@ -2193,7 +2197,7 @@ class UnsubscribeBluetoothLEAdvertisementsRequest : public ProtoMessage {
2193
2197
 
2194
2198
  protected:
2195
2199
  };
2196
- class BluetoothDeviceClearCacheResponse : public ProtoMessage {
2200
+ class BluetoothDeviceClearCacheResponse final : public ProtoMessage {
2197
2201
  public:
2198
2202
  static constexpr uint8_t MESSAGE_TYPE = 88;
2199
2203
  static constexpr uint8_t ESTIMATED_SIZE = 10;
@@ -2211,15 +2215,16 @@ class BluetoothDeviceClearCacheResponse : public ProtoMessage {
2211
2215
 
2212
2216
  protected:
2213
2217
  };
2214
- class BluetoothScannerStateResponse : public ProtoMessage {
2218
+ class BluetoothScannerStateResponse final : public ProtoMessage {
2215
2219
  public:
2216
2220
  static constexpr uint8_t MESSAGE_TYPE = 126;
2217
- static constexpr uint8_t ESTIMATED_SIZE = 4;
2221
+ static constexpr uint8_t ESTIMATED_SIZE = 6;
2218
2222
  #ifdef HAS_PROTO_MESSAGE_DUMP
2219
2223
  const char *message_name() const override { return "bluetooth_scanner_state_response"; }
2220
2224
  #endif
2221
2225
  enums::BluetoothScannerState state{};
2222
2226
  enums::BluetoothScannerMode mode{};
2227
+ enums::BluetoothScannerMode configured_mode{};
2223
2228
  void encode(ProtoWriteBuffer buffer) const override;
2224
2229
  void calculate_size(ProtoSize &size) const override;
2225
2230
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -2228,7 +2233,7 @@ class BluetoothScannerStateResponse : public ProtoMessage {
2228
2233
 
2229
2234
  protected:
2230
2235
  };
2231
- class BluetoothScannerSetModeRequest : public ProtoDecodableMessage {
2236
+ class BluetoothScannerSetModeRequest final : public ProtoDecodableMessage {
2232
2237
  public:
2233
2238
  static constexpr uint8_t MESSAGE_TYPE = 127;
2234
2239
  static constexpr uint8_t ESTIMATED_SIZE = 2;
@@ -2245,7 +2250,7 @@ class BluetoothScannerSetModeRequest : public ProtoDecodableMessage {
2245
2250
  };
2246
2251
  #endif
2247
2252
  #ifdef USE_VOICE_ASSISTANT
2248
- class SubscribeVoiceAssistantRequest : public ProtoDecodableMessage {
2253
+ class SubscribeVoiceAssistantRequest final : public ProtoDecodableMessage {
2249
2254
  public:
2250
2255
  static constexpr uint8_t MESSAGE_TYPE = 89;
2251
2256
  static constexpr uint8_t ESTIMATED_SIZE = 6;
@@ -2261,7 +2266,7 @@ class SubscribeVoiceAssistantRequest : public ProtoDecodableMessage {
2261
2266
  protected:
2262
2267
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2263
2268
  };
2264
- class VoiceAssistantAudioSettings : public ProtoMessage {
2269
+ class VoiceAssistantAudioSettings final : public ProtoMessage {
2265
2270
  public:
2266
2271
  uint32_t noise_suppression_level{0};
2267
2272
  uint32_t auto_gain{0};
@@ -2274,7 +2279,7 @@ class VoiceAssistantAudioSettings : public ProtoMessage {
2274
2279
 
2275
2280
  protected:
2276
2281
  };
2277
- class VoiceAssistantRequest : public ProtoMessage {
2282
+ class VoiceAssistantRequest final : public ProtoMessage {
2278
2283
  public:
2279
2284
  static constexpr uint8_t MESSAGE_TYPE = 90;
2280
2285
  static constexpr uint8_t ESTIMATED_SIZE = 41;
@@ -2296,7 +2301,7 @@ class VoiceAssistantRequest : public ProtoMessage {
2296
2301
 
2297
2302
  protected:
2298
2303
  };
2299
- class VoiceAssistantResponse : public ProtoDecodableMessage {
2304
+ class VoiceAssistantResponse final : public ProtoDecodableMessage {
2300
2305
  public:
2301
2306
  static constexpr uint8_t MESSAGE_TYPE = 91;
2302
2307
  static constexpr uint8_t ESTIMATED_SIZE = 6;
@@ -2312,7 +2317,7 @@ class VoiceAssistantResponse : public ProtoDecodableMessage {
2312
2317
  protected:
2313
2318
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2314
2319
  };
2315
- class VoiceAssistantEventData : public ProtoDecodableMessage {
2320
+ class VoiceAssistantEventData final : public ProtoDecodableMessage {
2316
2321
  public:
2317
2322
  std::string name{};
2318
2323
  std::string value{};
@@ -2323,7 +2328,7 @@ class VoiceAssistantEventData : public ProtoDecodableMessage {
2323
2328
  protected:
2324
2329
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2325
2330
  };
2326
- class VoiceAssistantEventResponse : public ProtoDecodableMessage {
2331
+ class VoiceAssistantEventResponse final : public ProtoDecodableMessage {
2327
2332
  public:
2328
2333
  static constexpr uint8_t MESSAGE_TYPE = 92;
2329
2334
  static constexpr uint8_t ESTIMATED_SIZE = 36;
@@ -2340,7 +2345,7 @@ class VoiceAssistantEventResponse : public ProtoDecodableMessage {
2340
2345
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2341
2346
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2342
2347
  };
2343
- class VoiceAssistantAudio : public ProtoDecodableMessage {
2348
+ class VoiceAssistantAudio final : public ProtoDecodableMessage {
2344
2349
  public:
2345
2350
  static constexpr uint8_t MESSAGE_TYPE = 106;
2346
2351
  static constexpr uint8_t ESTIMATED_SIZE = 11;
@@ -2365,7 +2370,7 @@ class VoiceAssistantAudio : public ProtoDecodableMessage {
2365
2370
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2366
2371
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2367
2372
  };
2368
- class VoiceAssistantTimerEventResponse : public ProtoDecodableMessage {
2373
+ class VoiceAssistantTimerEventResponse final : public ProtoDecodableMessage {
2369
2374
  public:
2370
2375
  static constexpr uint8_t MESSAGE_TYPE = 115;
2371
2376
  static constexpr uint8_t ESTIMATED_SIZE = 30;
@@ -2386,7 +2391,7 @@ class VoiceAssistantTimerEventResponse : public ProtoDecodableMessage {
2386
2391
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2387
2392
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2388
2393
  };
2389
- class VoiceAssistantAnnounceRequest : public ProtoDecodableMessage {
2394
+ class VoiceAssistantAnnounceRequest final : public ProtoDecodableMessage {
2390
2395
  public:
2391
2396
  static constexpr uint8_t MESSAGE_TYPE = 119;
2392
2397
  static constexpr uint8_t ESTIMATED_SIZE = 29;
@@ -2405,7 +2410,7 @@ class VoiceAssistantAnnounceRequest : public ProtoDecodableMessage {
2405
2410
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2406
2411
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2407
2412
  };
2408
- class VoiceAssistantAnnounceFinished : public ProtoMessage {
2413
+ class VoiceAssistantAnnounceFinished final : public ProtoMessage {
2409
2414
  public:
2410
2415
  static constexpr uint8_t MESSAGE_TYPE = 120;
2411
2416
  static constexpr uint8_t ESTIMATED_SIZE = 2;
@@ -2421,7 +2426,7 @@ class VoiceAssistantAnnounceFinished : public ProtoMessage {
2421
2426
 
2422
2427
  protected:
2423
2428
  };
2424
- class VoiceAssistantWakeWord : public ProtoMessage {
2429
+ class VoiceAssistantWakeWord final : public ProtoMessage {
2425
2430
  public:
2426
2431
  StringRef id_ref_{};
2427
2432
  void set_id(const StringRef &ref) { this->id_ref_ = ref; }
@@ -2436,7 +2441,7 @@ class VoiceAssistantWakeWord : public ProtoMessage {
2436
2441
 
2437
2442
  protected:
2438
2443
  };
2439
- class VoiceAssistantConfigurationRequest : public ProtoMessage {
2444
+ class VoiceAssistantConfigurationRequest final : public ProtoMessage {
2440
2445
  public:
2441
2446
  static constexpr uint8_t MESSAGE_TYPE = 121;
2442
2447
  static constexpr uint8_t ESTIMATED_SIZE = 0;
@@ -2449,7 +2454,7 @@ class VoiceAssistantConfigurationRequest : public ProtoMessage {
2449
2454
 
2450
2455
  protected:
2451
2456
  };
2452
- class VoiceAssistantConfigurationResponse : public ProtoMessage {
2457
+ class VoiceAssistantConfigurationResponse final : public ProtoMessage {
2453
2458
  public:
2454
2459
  static constexpr uint8_t MESSAGE_TYPE = 122;
2455
2460
  static constexpr uint8_t ESTIMATED_SIZE = 56;
@@ -2467,7 +2472,7 @@ class VoiceAssistantConfigurationResponse : public ProtoMessage {
2467
2472
 
2468
2473
  protected:
2469
2474
  };
2470
- class VoiceAssistantSetConfiguration : public ProtoDecodableMessage {
2475
+ class VoiceAssistantSetConfiguration final : public ProtoDecodableMessage {
2471
2476
  public:
2472
2477
  static constexpr uint8_t MESSAGE_TYPE = 123;
2473
2478
  static constexpr uint8_t ESTIMATED_SIZE = 18;
@@ -2484,7 +2489,7 @@ class VoiceAssistantSetConfiguration : public ProtoDecodableMessage {
2484
2489
  };
2485
2490
  #endif
2486
2491
  #ifdef USE_ALARM_CONTROL_PANEL
2487
- class ListEntitiesAlarmControlPanelResponse : public InfoResponseProtoMessage {
2492
+ class ListEntitiesAlarmControlPanelResponse final : public InfoResponseProtoMessage {
2488
2493
  public:
2489
2494
  static constexpr uint8_t MESSAGE_TYPE = 94;
2490
2495
  static constexpr uint8_t ESTIMATED_SIZE = 48;
@@ -2502,7 +2507,7 @@ class ListEntitiesAlarmControlPanelResponse : public InfoResponseProtoMessage {
2502
2507
 
2503
2508
  protected:
2504
2509
  };
2505
- class AlarmControlPanelStateResponse : public StateResponseProtoMessage {
2510
+ class AlarmControlPanelStateResponse final : public StateResponseProtoMessage {
2506
2511
  public:
2507
2512
  static constexpr uint8_t MESSAGE_TYPE = 95;
2508
2513
  static constexpr uint8_t ESTIMATED_SIZE = 11;
@@ -2518,7 +2523,7 @@ class AlarmControlPanelStateResponse : public StateResponseProtoMessage {
2518
2523
 
2519
2524
  protected:
2520
2525
  };
2521
- class AlarmControlPanelCommandRequest : public CommandProtoMessage {
2526
+ class AlarmControlPanelCommandRequest final : public CommandProtoMessage {
2522
2527
  public:
2523
2528
  static constexpr uint8_t MESSAGE_TYPE = 96;
2524
2529
  static constexpr uint8_t ESTIMATED_SIZE = 20;
@@ -2538,7 +2543,7 @@ class AlarmControlPanelCommandRequest : public CommandProtoMessage {
2538
2543
  };
2539
2544
  #endif
2540
2545
  #ifdef USE_TEXT
2541
- class ListEntitiesTextResponse : public InfoResponseProtoMessage {
2546
+ class ListEntitiesTextResponse final : public InfoResponseProtoMessage {
2542
2547
  public:
2543
2548
  static constexpr uint8_t MESSAGE_TYPE = 97;
2544
2549
  static constexpr uint8_t ESTIMATED_SIZE = 59;
@@ -2558,7 +2563,7 @@ class ListEntitiesTextResponse : public InfoResponseProtoMessage {
2558
2563
 
2559
2564
  protected:
2560
2565
  };
2561
- class TextStateResponse : public StateResponseProtoMessage {
2566
+ class TextStateResponse final : public StateResponseProtoMessage {
2562
2567
  public:
2563
2568
  static constexpr uint8_t MESSAGE_TYPE = 98;
2564
2569
  static constexpr uint8_t ESTIMATED_SIZE = 20;
@@ -2576,7 +2581,7 @@ class TextStateResponse : public StateResponseProtoMessage {
2576
2581
 
2577
2582
  protected:
2578
2583
  };
2579
- class TextCommandRequest : public CommandProtoMessage {
2584
+ class TextCommandRequest final : public CommandProtoMessage {
2580
2585
  public:
2581
2586
  static constexpr uint8_t MESSAGE_TYPE = 99;
2582
2587
  static constexpr uint8_t ESTIMATED_SIZE = 18;
@@ -2595,7 +2600,7 @@ class TextCommandRequest : public CommandProtoMessage {
2595
2600
  };
2596
2601
  #endif
2597
2602
  #ifdef USE_DATETIME_DATE
2598
- class ListEntitiesDateResponse : public InfoResponseProtoMessage {
2603
+ class ListEntitiesDateResponse final : public InfoResponseProtoMessage {
2599
2604
  public:
2600
2605
  static constexpr uint8_t MESSAGE_TYPE = 100;
2601
2606
  static constexpr uint8_t ESTIMATED_SIZE = 40;
@@ -2610,7 +2615,7 @@ class ListEntitiesDateResponse : public InfoResponseProtoMessage {
2610
2615
 
2611
2616
  protected:
2612
2617
  };
2613
- class DateStateResponse : public StateResponseProtoMessage {
2618
+ class DateStateResponse final : public StateResponseProtoMessage {
2614
2619
  public:
2615
2620
  static constexpr uint8_t MESSAGE_TYPE = 101;
2616
2621
  static constexpr uint8_t ESTIMATED_SIZE = 23;
@@ -2629,7 +2634,7 @@ class DateStateResponse : public StateResponseProtoMessage {
2629
2634
 
2630
2635
  protected:
2631
2636
  };
2632
- class DateCommandRequest : public CommandProtoMessage {
2637
+ class DateCommandRequest final : public CommandProtoMessage {
2633
2638
  public:
2634
2639
  static constexpr uint8_t MESSAGE_TYPE = 102;
2635
2640
  static constexpr uint8_t ESTIMATED_SIZE = 21;
@@ -2649,7 +2654,7 @@ class DateCommandRequest : public CommandProtoMessage {
2649
2654
  };
2650
2655
  #endif
2651
2656
  #ifdef USE_DATETIME_TIME
2652
- class ListEntitiesTimeResponse : public InfoResponseProtoMessage {
2657
+ class ListEntitiesTimeResponse final : public InfoResponseProtoMessage {
2653
2658
  public:
2654
2659
  static constexpr uint8_t MESSAGE_TYPE = 103;
2655
2660
  static constexpr uint8_t ESTIMATED_SIZE = 40;
@@ -2664,7 +2669,7 @@ class ListEntitiesTimeResponse : public InfoResponseProtoMessage {
2664
2669
 
2665
2670
  protected:
2666
2671
  };
2667
- class TimeStateResponse : public StateResponseProtoMessage {
2672
+ class TimeStateResponse final : public StateResponseProtoMessage {
2668
2673
  public:
2669
2674
  static constexpr uint8_t MESSAGE_TYPE = 104;
2670
2675
  static constexpr uint8_t ESTIMATED_SIZE = 23;
@@ -2683,7 +2688,7 @@ class TimeStateResponse : public StateResponseProtoMessage {
2683
2688
 
2684
2689
  protected:
2685
2690
  };
2686
- class TimeCommandRequest : public CommandProtoMessage {
2691
+ class TimeCommandRequest final : public CommandProtoMessage {
2687
2692
  public:
2688
2693
  static constexpr uint8_t MESSAGE_TYPE = 105;
2689
2694
  static constexpr uint8_t ESTIMATED_SIZE = 21;
@@ -2703,7 +2708,7 @@ class TimeCommandRequest : public CommandProtoMessage {
2703
2708
  };
2704
2709
  #endif
2705
2710
  #ifdef USE_EVENT
2706
- class ListEntitiesEventResponse : public InfoResponseProtoMessage {
2711
+ class ListEntitiesEventResponse final : public InfoResponseProtoMessage {
2707
2712
  public:
2708
2713
  static constexpr uint8_t MESSAGE_TYPE = 107;
2709
2714
  static constexpr uint8_t ESTIMATED_SIZE = 67;
@@ -2721,7 +2726,7 @@ class ListEntitiesEventResponse : public InfoResponseProtoMessage {
2721
2726
 
2722
2727
  protected:
2723
2728
  };
2724
- class EventResponse : public StateResponseProtoMessage {
2729
+ class EventResponse final : public StateResponseProtoMessage {
2725
2730
  public:
2726
2731
  static constexpr uint8_t MESSAGE_TYPE = 108;
2727
2732
  static constexpr uint8_t ESTIMATED_SIZE = 18;
@@ -2740,7 +2745,7 @@ class EventResponse : public StateResponseProtoMessage {
2740
2745
  };
2741
2746
  #endif
2742
2747
  #ifdef USE_VALVE
2743
- class ListEntitiesValveResponse : public InfoResponseProtoMessage {
2748
+ class ListEntitiesValveResponse final : public InfoResponseProtoMessage {
2744
2749
  public:
2745
2750
  static constexpr uint8_t MESSAGE_TYPE = 109;
2746
2751
  static constexpr uint8_t ESTIMATED_SIZE = 55;
@@ -2760,7 +2765,7 @@ class ListEntitiesValveResponse : public InfoResponseProtoMessage {
2760
2765
 
2761
2766
  protected:
2762
2767
  };
2763
- class ValveStateResponse : public StateResponseProtoMessage {
2768
+ class ValveStateResponse final : public StateResponseProtoMessage {
2764
2769
  public:
2765
2770
  static constexpr uint8_t MESSAGE_TYPE = 110;
2766
2771
  static constexpr uint8_t ESTIMATED_SIZE = 16;
@@ -2777,7 +2782,7 @@ class ValveStateResponse : public StateResponseProtoMessage {
2777
2782
 
2778
2783
  protected:
2779
2784
  };
2780
- class ValveCommandRequest : public CommandProtoMessage {
2785
+ class ValveCommandRequest final : public CommandProtoMessage {
2781
2786
  public:
2782
2787
  static constexpr uint8_t MESSAGE_TYPE = 111;
2783
2788
  static constexpr uint8_t ESTIMATED_SIZE = 18;
@@ -2797,7 +2802,7 @@ class ValveCommandRequest : public CommandProtoMessage {
2797
2802
  };
2798
2803
  #endif
2799
2804
  #ifdef USE_DATETIME_DATETIME
2800
- class ListEntitiesDateTimeResponse : public InfoResponseProtoMessage {
2805
+ class ListEntitiesDateTimeResponse final : public InfoResponseProtoMessage {
2801
2806
  public:
2802
2807
  static constexpr uint8_t MESSAGE_TYPE = 112;
2803
2808
  static constexpr uint8_t ESTIMATED_SIZE = 40;
@@ -2812,7 +2817,7 @@ class ListEntitiesDateTimeResponse : public InfoResponseProtoMessage {
2812
2817
 
2813
2818
  protected:
2814
2819
  };
2815
- class DateTimeStateResponse : public StateResponseProtoMessage {
2820
+ class DateTimeStateResponse final : public StateResponseProtoMessage {
2816
2821
  public:
2817
2822
  static constexpr uint8_t MESSAGE_TYPE = 113;
2818
2823
  static constexpr uint8_t ESTIMATED_SIZE = 16;
@@ -2829,7 +2834,7 @@ class DateTimeStateResponse : public StateResponseProtoMessage {
2829
2834
 
2830
2835
  protected:
2831
2836
  };
2832
- class DateTimeCommandRequest : public CommandProtoMessage {
2837
+ class DateTimeCommandRequest final : public CommandProtoMessage {
2833
2838
  public:
2834
2839
  static constexpr uint8_t MESSAGE_TYPE = 114;
2835
2840
  static constexpr uint8_t ESTIMATED_SIZE = 14;
@@ -2847,7 +2852,7 @@ class DateTimeCommandRequest : public CommandProtoMessage {
2847
2852
  };
2848
2853
  #endif
2849
2854
  #ifdef USE_UPDATE
2850
- class ListEntitiesUpdateResponse : public InfoResponseProtoMessage {
2855
+ class ListEntitiesUpdateResponse final : public InfoResponseProtoMessage {
2851
2856
  public:
2852
2857
  static constexpr uint8_t MESSAGE_TYPE = 116;
2853
2858
  static constexpr uint8_t ESTIMATED_SIZE = 49;
@@ -2864,7 +2869,7 @@ class ListEntitiesUpdateResponse : public InfoResponseProtoMessage {
2864
2869
 
2865
2870
  protected:
2866
2871
  };
2867
- class UpdateStateResponse : public StateResponseProtoMessage {
2872
+ class UpdateStateResponse final : public StateResponseProtoMessage {
2868
2873
  public:
2869
2874
  static constexpr uint8_t MESSAGE_TYPE = 117;
2870
2875
  static constexpr uint8_t ESTIMATED_SIZE = 65;
@@ -2893,7 +2898,7 @@ class UpdateStateResponse : public StateResponseProtoMessage {
2893
2898
 
2894
2899
  protected:
2895
2900
  };
2896
- class UpdateCommandRequest : public CommandProtoMessage {
2901
+ class UpdateCommandRequest final : public CommandProtoMessage {
2897
2902
  public:
2898
2903
  static constexpr uint8_t MESSAGE_TYPE = 118;
2899
2904
  static constexpr uint8_t ESTIMATED_SIZE = 11;