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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. esphome/__main__.py +177 -105
  2. esphome/components/absolute_humidity/absolute_humidity.cpp +3 -5
  3. esphome/components/adc/__init__.py +1 -26
  4. esphome/components/adc/adc_sensor_esp32.cpp +29 -6
  5. esphome/components/adc/sensor.py +20 -0
  6. esphome/components/ags10/ags10.cpp +3 -18
  7. esphome/components/ags10/ags10.h +2 -12
  8. esphome/components/aht10/aht10.cpp +3 -3
  9. esphome/components/airthings_ble/__init__.py +2 -2
  10. esphome/components/alarm_control_panel/__init__.py +2 -2
  11. esphome/components/am2315c/am2315c.cpp +1 -17
  12. esphome/components/am2315c/am2315c.h +2 -3
  13. esphome/components/api/__init__.py +2 -2
  14. esphome/components/api/api_connection.cpp +38 -34
  15. esphome/components/api/api_connection.h +20 -40
  16. esphome/components/api/api_frame_helper.cpp +25 -25
  17. esphome/components/api/api_frame_helper.h +3 -3
  18. esphome/components/api/api_frame_helper_noise.cpp +75 -40
  19. esphome/components/api/api_frame_helper_noise.h +3 -7
  20. esphome/components/api/api_frame_helper_plaintext.cpp +17 -4
  21. esphome/components/api/api_frame_helper_plaintext.h +1 -4
  22. esphome/components/api/api_pb2.cpp +12 -2
  23. esphome/components/api/api_pb2.h +144 -143
  24. esphome/components/api/api_pb2_dump.cpp +6 -1
  25. esphome/components/api/api_pb2_service.cpp +0 -14
  26. esphome/components/api/api_pb2_service.h +1 -3
  27. esphome/components/api/client.py +5 -3
  28. esphome/components/api/proto.cpp +33 -37
  29. esphome/components/async_tcp/__init__.py +2 -2
  30. esphome/components/atm90e26/sensor.py +2 -0
  31. esphome/components/atm90e32/sensor.py +4 -2
  32. esphome/components/audio_adc/__init__.py +2 -2
  33. esphome/components/audio_dac/__init__.py +2 -2
  34. esphome/components/axs15231/touchscreen/axs15231_touchscreen.cpp +1 -1
  35. esphome/components/bedjet/bedjet_hub.cpp +1 -1
  36. esphome/components/binary_sensor/__init__.py +2 -2
  37. esphome/components/binary_sensor/binary_sensor.cpp +13 -0
  38. esphome/components/binary_sensor/binary_sensor.h +4 -7
  39. esphome/components/bl0940/__init__.py +6 -1
  40. esphome/components/bl0940/bl0940.cpp +178 -41
  41. esphome/components/bl0940/bl0940.h +121 -76
  42. esphome/components/bl0940/button/__init__.py +27 -0
  43. esphome/components/bl0940/button/calibration_reset_button.cpp +20 -0
  44. esphome/components/bl0940/button/calibration_reset_button.h +19 -0
  45. esphome/components/bl0940/number/__init__.py +94 -0
  46. esphome/components/bl0940/number/calibration_number.cpp +29 -0
  47. esphome/components/bl0940/number/calibration_number.h +26 -0
  48. esphome/components/bl0940/sensor.py +151 -2
  49. esphome/components/bl0942/bl0942.cpp +1 -1
  50. esphome/components/ble_client/output/__init__.py +4 -4
  51. esphome/components/bluetooth_proxy/__init__.py +1 -1
  52. esphome/components/bluetooth_proxy/bluetooth_connection.h +1 -1
  53. esphome/components/bluetooth_proxy/bluetooth_proxy.cpp +15 -7
  54. esphome/components/bluetooth_proxy/bluetooth_proxy.h +6 -3
  55. esphome/components/button/__init__.py +2 -2
  56. esphome/components/button/button.cpp +13 -0
  57. esphome/components/button/button.h +4 -7
  58. esphome/components/camera/buffer.h +18 -0
  59. esphome/components/camera/buffer_impl.cpp +20 -0
  60. esphome/components/camera/buffer_impl.h +26 -0
  61. esphome/components/camera/camera.h +43 -0
  62. esphome/components/camera/encoder.h +69 -0
  63. esphome/components/camera_encoder/__init__.py +62 -0
  64. esphome/components/camera_encoder/encoder_buffer_impl.cpp +23 -0
  65. esphome/components/camera_encoder/encoder_buffer_impl.h +25 -0
  66. esphome/components/camera_encoder/esp32_camera_jpeg_encoder.cpp +82 -0
  67. esphome/components/camera_encoder/esp32_camera_jpeg_encoder.h +39 -0
  68. esphome/components/captive_portal/__init__.py +2 -2
  69. esphome/components/captive_portal/captive_index.h +77 -97
  70. esphome/components/captive_portal/captive_portal.cpp +35 -12
  71. esphome/components/captive_portal/captive_portal.h +3 -3
  72. esphome/components/ccs811/ccs811.cpp +3 -3
  73. esphome/components/climate/__init__.py +2 -2
  74. esphome/components/climate/climate.cpp +1 -1
  75. esphome/components/cover/__init__.py +5 -5
  76. esphome/components/cover/cover.cpp +1 -1
  77. esphome/components/cover/cover.h +2 -2
  78. esphome/components/dallas_temp/dallas_temp.cpp +2 -2
  79. esphome/components/datetime/__init__.py +2 -2
  80. esphome/components/datetime/date_entity.h +2 -2
  81. esphome/components/datetime/datetime_entity.h +2 -2
  82. esphome/components/datetime/time_entity.h +2 -2
  83. esphome/components/debug/debug_esp32.cpp +1 -1
  84. esphome/components/display/__init__.py +4 -4
  85. esphome/components/duty_time/duty_time_sensor.cpp +1 -1
  86. esphome/components/esp32/__init__.py +0 -5
  87. esphome/components/esp32/gpio.cpp +27 -23
  88. esphome/components/esp32/gpio.h +26 -11
  89. esphome/components/esp32/preferences.cpp +8 -4
  90. esphome/components/esp32_ble/__init__.py +7 -2
  91. esphome/components/esp32_ble/ble_uuid.cpp +30 -9
  92. esphome/components/esp32_ble_beacon/esp32_ble_beacon.cpp +4 -3
  93. esphome/components/esp32_ble_client/ble_client_base.cpp +7 -3
  94. esphome/components/esp32_ble_client/ble_client_base.h +8 -5
  95. esphome/components/esp32_ble_tracker/__init__.py +2 -2
  96. esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +11 -47
  97. esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +2 -14
  98. esphome/components/esp8266/__init__.py +2 -2
  99. esphome/components/esp8266/core.cpp +2 -2
  100. esphome/components/esp8266/gpio.py +4 -4
  101. esphome/components/esp8266/preferences.cpp +30 -28
  102. esphome/components/esphome/ota/__init__.py +2 -2
  103. esphome/components/esphome/ota/ota_esphome.cpp +21 -19
  104. esphome/components/esphome/ota/ota_esphome.h +6 -5
  105. esphome/components/ethernet/__init__.py +7 -2
  106. esphome/components/ethernet/ethernet_component.cpp +49 -3
  107. esphome/components/ethernet/ethernet_component.h +2 -0
  108. esphome/components/event/__init__.py +2 -2
  109. esphome/components/event/event.h +4 -4
  110. esphome/components/factory_reset/button/factory_reset_button.cpp +18 -1
  111. esphome/components/factory_reset/button/factory_reset_button.h +6 -1
  112. esphome/components/factory_reset/switch/factory_reset_switch.cpp +18 -1
  113. esphome/components/factory_reset/switch/factory_reset_switch.h +5 -1
  114. esphome/components/fan/__init__.py +2 -2
  115. esphome/components/fan/fan.cpp +2 -1
  116. esphome/components/gdk101/gdk101.cpp +4 -4
  117. esphome/components/globals/__init__.py +2 -2
  118. esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp +19 -18
  119. esphome/components/gpio_expander/cached_gpio.h +36 -16
  120. esphome/components/grove_gas_mc_v2/grove_gas_mc_v2.cpp +5 -5
  121. esphome/components/gt911/touchscreen/gt911_touchscreen.cpp +1 -1
  122. esphome/components/haier/haier_base.cpp +1 -1
  123. esphome/components/haier/hon_climate.cpp +1 -1
  124. esphome/components/hlw8012/hlw8012.cpp +5 -5
  125. esphome/components/honeywellabp2_i2c/honeywellabp2.cpp +4 -4
  126. esphome/components/host/preferences.h +3 -2
  127. esphome/components/hte501/hte501.cpp +3 -21
  128. esphome/components/hte501/hte501.h +2 -3
  129. esphome/components/http_request/ota/__init__.py +2 -2
  130. esphome/components/i2c/__init__.py +2 -2
  131. esphome/components/i2c/i2c.cpp +13 -9
  132. esphome/components/i2c/i2c_bus.h +36 -6
  133. esphome/components/i2s_audio/__init__.py +8 -2
  134. esphome/components/i2s_audio/media_player/__init__.py +1 -1
  135. esphome/components/i2s_audio/microphone/__init__.py +1 -1
  136. esphome/components/i2s_audio/speaker/__init__.py +1 -1
  137. esphome/components/ina2xx_base/__init__.py +4 -2
  138. esphome/components/inkplate/__init__.py +1 -0
  139. esphome/components/inkplate/const.py +105 -0
  140. esphome/components/inkplate/display.py +238 -0
  141. esphome/components/{inkplate6 → inkplate}/inkplate.cpp +156 -74
  142. esphome/components/{inkplate6 → inkplate}/inkplate.h +28 -68
  143. esphome/components/inkplate6/__init__.py +0 -1
  144. esphome/components/inkplate6/display.py +2 -211
  145. esphome/components/integration/integration_sensor.cpp +1 -1
  146. esphome/components/json/__init__.py +2 -2
  147. esphome/components/lc709203f/lc709203f.cpp +4 -17
  148. esphome/components/lc709203f/lc709203f.h +2 -3
  149. esphome/components/ld2420/text_sensor/{text_sensor.cpp → ld2420_text_sensor.cpp} +1 -1
  150. esphome/components/ld2450/ld2450.cpp +1 -1
  151. esphome/components/libretiny/preferences.cpp +13 -5
  152. esphome/components/light/__init__.py +2 -2
  153. esphome/components/light/addressable_light_effect.h +7 -0
  154. esphome/components/light/base_light_effects.h +8 -0
  155. esphome/components/light/light_call.cpp +22 -20
  156. esphome/components/light/light_effect.cpp +36 -0
  157. esphome/components/light/light_effect.h +14 -0
  158. esphome/components/light/light_json_schema.cpp +9 -1
  159. esphome/components/light/light_state.cpp +2 -2
  160. esphome/components/light/light_state.h +38 -0
  161. esphome/components/lock/__init__.py +2 -2
  162. esphome/components/lock/lock.h +2 -2
  163. esphome/components/logger/__init__.py +2 -2
  164. esphome/components/logger/logger.cpp +25 -4
  165. esphome/components/logger/logger.h +1 -1
  166. esphome/components/logger/logger_esp32.cpp +16 -8
  167. esphome/components/logger/logger_esp8266.cpp +11 -3
  168. esphome/components/logger/logger_libretiny.cpp +13 -3
  169. esphome/components/logger/logger_rp2040.cpp +14 -3
  170. esphome/components/logger/logger_zephyr.cpp +15 -4
  171. esphome/components/lvgl/defines.py +1 -0
  172. esphome/components/lvgl/hello_world.py +96 -33
  173. esphome/components/lvgl/number/lvgl_number.h +1 -1
  174. esphome/components/lvgl/select/lvgl_select.h +1 -1
  175. esphome/components/lvgl/widgets/__init__.py +0 -1
  176. esphome/components/lvgl/widgets/spinbox.py +20 -11
  177. esphome/components/m5stack_8angle/binary_sensor/m5stack_8angle_binary_sensor.cpp +1 -1
  178. esphome/components/m5stack_8angle/sensor/m5stack_8angle_sensor.cpp +1 -1
  179. esphome/components/mapping/__init__.py +13 -5
  180. esphome/components/mapping/mapping.h +69 -0
  181. esphome/components/max17043/max17043.cpp +2 -2
  182. esphome/components/mcp23016/__init__.py +1 -0
  183. esphome/components/mcp23016/mcp23016.cpp +20 -5
  184. esphome/components/mcp23016/mcp23016.h +10 -4
  185. esphome/components/mcp23x08_base/mcp23x08_base.cpp +1 -1
  186. esphome/components/mcp23x17_base/mcp23x17_base.cpp +2 -2
  187. esphome/components/md5/md5.cpp +3 -2
  188. esphome/components/mdns/__init__.py +2 -2
  189. esphome/components/mdns/mdns_component.cpp +145 -54
  190. esphome/components/media_player/__init__.py +2 -2
  191. esphome/components/micro_wake_word/__init__.py +2 -2
  192. esphome/components/microphone/__init__.py +2 -2
  193. esphome/components/mipi/__init__.py +77 -33
  194. esphome/components/mipi_rgb/__init__.py +2 -0
  195. esphome/components/mipi_rgb/display.py +321 -0
  196. esphome/components/mipi_rgb/mipi_rgb.cpp +388 -0
  197. esphome/components/mipi_rgb/mipi_rgb.h +127 -0
  198. esphome/components/mipi_rgb/models/guition.py +24 -0
  199. esphome/components/mipi_rgb/models/lilygo.py +228 -0
  200. esphome/components/mipi_rgb/models/rpi.py +9 -0
  201. esphome/components/mipi_rgb/models/st7701s.py +214 -0
  202. esphome/components/mipi_rgb/models/waveshare.py +64 -0
  203. esphome/components/mipi_spi/models/jc.py +229 -0
  204. esphome/components/mlx90614/mlx90614.cpp +1 -16
  205. esphome/components/mlx90614/mlx90614.h +0 -1
  206. esphome/components/mqtt/__init__.py +2 -2
  207. esphome/components/mqtt/mqtt_sensor.cpp +7 -2
  208. esphome/components/ms5611/ms5611.cpp +7 -6
  209. esphome/components/network/__init__.py +2 -2
  210. esphome/components/nextion/nextion_upload.cpp +4 -1
  211. esphome/components/nrf52/__init__.py +49 -6
  212. esphome/components/nrf52/const.py +1 -0
  213. esphome/components/nrf52/dfu.cpp +51 -0
  214. esphome/components/nrf52/dfu.h +24 -0
  215. esphome/components/ntc/ntc.cpp +1 -1
  216. esphome/components/number/__init__.py +2 -2
  217. esphome/components/number/automation.cpp +1 -1
  218. esphome/components/number/number.cpp +21 -0
  219. esphome/components/number/number.h +4 -13
  220. esphome/components/opentherm/hub.h +6 -6
  221. esphome/components/opentherm/number/{number.cpp → opentherm_number.cpp} +2 -2
  222. esphome/components/opentherm/output/{output.cpp → opentherm_output.cpp} +1 -1
  223. esphome/components/opentherm/switch/{switch.cpp → opentherm_switch.cpp} +1 -1
  224. esphome/components/openthread/openthread.cpp +41 -7
  225. esphome/components/openthread/openthread.h +11 -0
  226. esphome/components/ota/__init__.py +2 -2
  227. esphome/components/pca6416a/__init__.py +1 -0
  228. esphome/components/pca6416a/pca6416a.cpp +20 -5
  229. esphome/components/pca6416a/pca6416a.h +12 -5
  230. esphome/components/pca9554/__init__.py +2 -1
  231. esphome/components/pca9554/pca9554.cpp +12 -18
  232. esphome/components/pca9554/pca9554.h +10 -9
  233. esphome/components/pcf8574/__init__.py +1 -0
  234. esphome/components/pcf8574/pcf8574.cpp +14 -5
  235. esphome/components/pcf8574/pcf8574.h +13 -6
  236. esphome/components/pi4ioe5v6408/pi4ioe5v6408.cpp +7 -7
  237. esphome/components/pipsolar/__init__.py +3 -3
  238. esphome/components/pipsolar/output/__init__.py +4 -4
  239. esphome/components/pulse_width/pulse_width.cpp +2 -2
  240. esphome/components/qmp6988/qmp6988.cpp +81 -126
  241. esphome/components/qmp6988/qmp6988.h +31 -37
  242. esphome/components/radon_eye_ble/__init__.py +2 -2
  243. esphome/components/remote_base/__init__.py +6 -8
  244. esphome/components/rotary_encoder/rotary_encoder.cpp +1 -1
  245. esphome/components/rp2040/__init__.py +2 -2
  246. esphome/components/runtime_stats/runtime_stats.cpp +10 -23
  247. esphome/components/runtime_stats/runtime_stats.h +4 -10
  248. esphome/components/safe_mode/__init__.py +2 -2
  249. esphome/components/safe_mode/safe_mode.cpp +33 -31
  250. esphome/components/script/script.cpp +6 -0
  251. esphome/components/script/script.h +19 -5
  252. esphome/components/sdm_meter/sensor.py +3 -1
  253. esphome/components/select/__init__.py +2 -2
  254. esphome/components/select/select.h +2 -2
  255. esphome/components/sen5x/sen5x.cpp +57 -55
  256. esphome/components/sen5x/sen5x.h +21 -15
  257. esphome/components/sen5x/sensor.py +67 -44
  258. esphome/components/sensirion_common/i2c_sensirion.cpp +18 -47
  259. esphome/components/sensirion_common/i2c_sensirion.h +39 -55
  260. esphome/components/sensor/__init__.py +2 -2
  261. esphome/components/sensor/automation.h +1 -1
  262. esphome/components/sensor/sensor.cpp +34 -6
  263. esphome/components/sensor/sensor.h +4 -21
  264. esphome/components/sgp30/sgp30.cpp +34 -35
  265. esphome/components/sgp30/sgp30.h +11 -10
  266. esphome/components/sgp4x/sgp4x.cpp +2 -2
  267. esphome/components/shelly_dimmer/light.py +7 -7
  268. esphome/components/sht4x/sht4x.cpp +1 -1
  269. esphome/components/sntp/sntp_component.cpp +36 -9
  270. esphome/components/sntp/sntp_component.h +7 -0
  271. esphome/components/sound_level/sound_level.cpp +1 -1
  272. esphome/components/speaker/__init__.py +2 -2
  273. esphome/components/speaker/media_player/__init__.py +2 -2
  274. esphome/components/speaker/media_player/speaker_media_player.cpp +1 -1
  275. esphome/components/spi/__init__.py +2 -2
  276. esphome/components/sprinkler/sprinkler.cpp +1 -1
  277. esphome/components/sps30/sps30.cpp +18 -23
  278. esphome/components/sps30/sps30.h +3 -3
  279. esphome/components/status_led/__init__.py +2 -2
  280. esphome/components/stepper/__init__.py +2 -2
  281. esphome/components/switch/__init__.py +2 -2
  282. esphome/components/switch/switch.cpp +5 -5
  283. esphome/components/sx1509/__init__.py +1 -1
  284. esphome/components/sx1509/sx1509.cpp +12 -7
  285. esphome/components/sx1509/sx1509.h +11 -4
  286. esphome/components/tca9555/tca9555.cpp +5 -5
  287. esphome/components/tee501/tee501.cpp +2 -21
  288. esphome/components/tee501/tee501.h +2 -4
  289. esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp +1 -1
  290. esphome/components/template/datetime/template_date.cpp +1 -1
  291. esphome/components/template/datetime/template_datetime.cpp +2 -2
  292. esphome/components/template/datetime/template_time.cpp +1 -1
  293. esphome/components/template/number/template_number.cpp +1 -1
  294. esphome/components/template/select/template_select.cpp +1 -1
  295. esphome/components/template/text/template_text.cpp +1 -1
  296. esphome/components/text/__init__.py +2 -2
  297. esphome/components/text/text.h +2 -2
  298. esphome/components/text_sensor/__init__.py +2 -2
  299. esphome/components/text_sensor/text_sensor.h +4 -4
  300. esphome/components/thermostat/climate.py +11 -7
  301. esphome/components/thermostat/thermostat_climate.cpp +237 -206
  302. esphome/components/thermostat/thermostat_climate.h +52 -41
  303. esphome/components/time/__init__.py +2 -2
  304. esphome/components/tmp1075/tmp1075.cpp +1 -1
  305. esphome/components/total_daily_energy/total_daily_energy.cpp +1 -1
  306. esphome/components/touchscreen/__init__.py +2 -2
  307. esphome/components/tuya/number/tuya_number.cpp +1 -1
  308. esphome/components/udp/udp_component.cpp +3 -3
  309. esphome/components/ufire_ec/ufire_ec.cpp +4 -4
  310. esphome/components/ufire_ise/ufire_ise.cpp +4 -4
  311. esphome/components/update/__init__.py +2 -2
  312. esphome/components/usb_uart/usb_uart.cpp +1 -1
  313. esphome/components/valve/__init__.py +5 -5
  314. esphome/components/valve/valve.cpp +1 -1
  315. esphome/components/valve/valve.h +2 -2
  316. esphome/components/wake_on_lan/wake_on_lan.cpp +2 -2
  317. esphome/components/waveshare_epaper/waveshare_213v3.cpp +1 -1
  318. esphome/components/web_server/__init__.py +2 -2
  319. esphome/components/web_server/ota/__init__.py +2 -2
  320. esphome/components/web_server/ota/ota_web_server.cpp +11 -0
  321. esphome/components/web_server/server_index_v2.h +149 -149
  322. esphome/components/web_server/web_server.cpp +58 -12
  323. esphome/components/web_server_base/__init__.py +2 -2
  324. esphome/components/wifi/__init__.py +5 -5
  325. esphome/components/wifi/wifi_component.cpp +4 -4
  326. esphome/components/wifi/wifi_component_esp_idf.cpp +2 -0
  327. esphome/components/wifi_info/wifi_info_text_sensor.h +3 -2
  328. esphome/config_validation.py +2 -2
  329. esphome/const.py +3 -1
  330. esphome/core/__init__.py +1 -0
  331. esphome/core/application.cpp +89 -51
  332. esphome/core/application.h +1 -0
  333. esphome/core/component.cpp +41 -19
  334. esphome/core/component.h +17 -13
  335. esphome/core/config.py +7 -7
  336. esphome/core/defines.h +4 -0
  337. esphome/core/entity_base.cpp +22 -8
  338. esphome/core/entity_base.h +43 -0
  339. esphome/core/helpers.cpp +34 -20
  340. esphome/core/helpers.h +33 -3
  341. esphome/core/ring_buffer.cpp +6 -2
  342. esphome/core/ring_buffer.h +2 -1
  343. esphome/core/scheduler.cpp +178 -97
  344. esphome/core/scheduler.h +67 -36
  345. esphome/core/time.cpp +6 -20
  346. esphome/coroutine.py +80 -3
  347. esphome/cpp_generator.py +13 -0
  348. esphome/cpp_helpers.py +2 -2
  349. esphome/dashboard/web_server.py +67 -10
  350. esphome/espota2.py +13 -6
  351. esphome/helpers.py +68 -83
  352. esphome/resolver.py +67 -0
  353. esphome/util.py +9 -6
  354. esphome/wizard.py +39 -26
  355. {esphome-2025.8.4.dist-info → esphome-2025.9.0b2.dist-info}/METADATA +9 -9
  356. {esphome-2025.8.4.dist-info → esphome-2025.9.0b2.dist-info}/RECORD +364 -333
  357. /esphome/components/ld2420/text_sensor/{text_sensor.h → ld2420_text_sensor.h} +0 -0
  358. /esphome/components/opentherm/number/{number.h → opentherm_number.h} +0 -0
  359. /esphome/components/opentherm/output/{output.h → opentherm_output.h} +0 -0
  360. /esphome/components/opentherm/switch/{switch.h → opentherm_switch.h} +0 -0
  361. {esphome-2025.8.4.dist-info → esphome-2025.9.0b2.dist-info}/WHEEL +0 -0
  362. {esphome-2025.8.4.dist-info → esphome-2025.9.0b2.dist-info}/entry_points.txt +0 -0
  363. {esphome-2025.8.4.dist-info → esphome-2025.9.0b2.dist-info}/licenses/LICENSE +0 -0
  364. {esphome-2025.8.4.dist-info → esphome-2025.9.0b2.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,25 +1171,25 @@ 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
- void encode(ProtoWriteBuffer buffer) const override;
1183
- void calculate_size(ProtoSize &size) const override;
1182
+ std::string timezone{};
1184
1183
  #ifdef HAS_PROTO_MESSAGE_DUMP
1185
1184
  void dump_to(std::string &out) const override;
1186
1185
  #endif
1187
1186
 
1188
1187
  protected:
1189
1188
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1189
+ bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1190
1190
  };
1191
1191
  #ifdef USE_API_SERVICES
1192
- class ListEntitiesServicesArgument : public ProtoMessage {
1192
+ class ListEntitiesServicesArgument final : public ProtoMessage {
1193
1193
  public:
1194
1194
  StringRef name_ref_{};
1195
1195
  void set_name(const StringRef &ref) { this->name_ref_ = ref; }
@@ -1202,7 +1202,7 @@ class ListEntitiesServicesArgument : public ProtoMessage {
1202
1202
 
1203
1203
  protected:
1204
1204
  };
1205
- class ListEntitiesServicesResponse : public ProtoMessage {
1205
+ class ListEntitiesServicesResponse final : public ProtoMessage {
1206
1206
  public:
1207
1207
  static constexpr uint8_t MESSAGE_TYPE = 41;
1208
1208
  static constexpr uint8_t ESTIMATED_SIZE = 48;
@@ -1221,7 +1221,7 @@ class ListEntitiesServicesResponse : public ProtoMessage {
1221
1221
 
1222
1222
  protected:
1223
1223
  };
1224
- class ExecuteServiceArgument : public ProtoDecodableMessage {
1224
+ class ExecuteServiceArgument final : public ProtoDecodableMessage {
1225
1225
  public:
1226
1226
  bool bool_{false};
1227
1227
  int32_t legacy_int{0};
@@ -1241,7 +1241,7 @@ class ExecuteServiceArgument : public ProtoDecodableMessage {
1241
1241
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1242
1242
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1243
1243
  };
1244
- class ExecuteServiceRequest : public ProtoDecodableMessage {
1244
+ class ExecuteServiceRequest final : public ProtoDecodableMessage {
1245
1245
  public:
1246
1246
  static constexpr uint8_t MESSAGE_TYPE = 42;
1247
1247
  static constexpr uint8_t ESTIMATED_SIZE = 39;
@@ -1260,7 +1260,7 @@ class ExecuteServiceRequest : public ProtoDecodableMessage {
1260
1260
  };
1261
1261
  #endif
1262
1262
  #ifdef USE_CAMERA
1263
- class ListEntitiesCameraResponse : public InfoResponseProtoMessage {
1263
+ class ListEntitiesCameraResponse final : public InfoResponseProtoMessage {
1264
1264
  public:
1265
1265
  static constexpr uint8_t MESSAGE_TYPE = 43;
1266
1266
  static constexpr uint8_t ESTIMATED_SIZE = 40;
@@ -1275,7 +1275,7 @@ class ListEntitiesCameraResponse : public InfoResponseProtoMessage {
1275
1275
 
1276
1276
  protected:
1277
1277
  };
1278
- class CameraImageResponse : public StateResponseProtoMessage {
1278
+ class CameraImageResponse final : public StateResponseProtoMessage {
1279
1279
  public:
1280
1280
  static constexpr uint8_t MESSAGE_TYPE = 44;
1281
1281
  static constexpr uint8_t ESTIMATED_SIZE = 20;
@@ -1297,7 +1297,7 @@ class CameraImageResponse : public StateResponseProtoMessage {
1297
1297
 
1298
1298
  protected:
1299
1299
  };
1300
- class CameraImageRequest : public ProtoDecodableMessage {
1300
+ class CameraImageRequest final : public ProtoDecodableMessage {
1301
1301
  public:
1302
1302
  static constexpr uint8_t MESSAGE_TYPE = 45;
1303
1303
  static constexpr uint8_t ESTIMATED_SIZE = 4;
@@ -1315,7 +1315,7 @@ class CameraImageRequest : public ProtoDecodableMessage {
1315
1315
  };
1316
1316
  #endif
1317
1317
  #ifdef USE_CLIMATE
1318
- class ListEntitiesClimateResponse : public InfoResponseProtoMessage {
1318
+ class ListEntitiesClimateResponse final : public InfoResponseProtoMessage {
1319
1319
  public:
1320
1320
  static constexpr uint8_t MESSAGE_TYPE = 46;
1321
1321
  static constexpr uint8_t ESTIMATED_SIZE = 145;
@@ -1347,7 +1347,7 @@ class ListEntitiesClimateResponse : public InfoResponseProtoMessage {
1347
1347
 
1348
1348
  protected:
1349
1349
  };
1350
- class ClimateStateResponse : public StateResponseProtoMessage {
1350
+ class ClimateStateResponse final : public StateResponseProtoMessage {
1351
1351
  public:
1352
1352
  static constexpr uint8_t MESSAGE_TYPE = 47;
1353
1353
  static constexpr uint8_t ESTIMATED_SIZE = 68;
@@ -1377,7 +1377,7 @@ class ClimateStateResponse : public StateResponseProtoMessage {
1377
1377
 
1378
1378
  protected:
1379
1379
  };
1380
- class ClimateCommandRequest : public CommandProtoMessage {
1380
+ class ClimateCommandRequest final : public CommandProtoMessage {
1381
1381
  public:
1382
1382
  static constexpr uint8_t MESSAGE_TYPE = 48;
1383
1383
  static constexpr uint8_t ESTIMATED_SIZE = 84;
@@ -1415,7 +1415,7 @@ class ClimateCommandRequest : public CommandProtoMessage {
1415
1415
  };
1416
1416
  #endif
1417
1417
  #ifdef USE_NUMBER
1418
- class ListEntitiesNumberResponse : public InfoResponseProtoMessage {
1418
+ class ListEntitiesNumberResponse final : public InfoResponseProtoMessage {
1419
1419
  public:
1420
1420
  static constexpr uint8_t MESSAGE_TYPE = 49;
1421
1421
  static constexpr uint8_t ESTIMATED_SIZE = 75;
@@ -1438,7 +1438,7 @@ class ListEntitiesNumberResponse : public InfoResponseProtoMessage {
1438
1438
 
1439
1439
  protected:
1440
1440
  };
1441
- class NumberStateResponse : public StateResponseProtoMessage {
1441
+ class NumberStateResponse final : public StateResponseProtoMessage {
1442
1442
  public:
1443
1443
  static constexpr uint8_t MESSAGE_TYPE = 50;
1444
1444
  static constexpr uint8_t ESTIMATED_SIZE = 16;
@@ -1455,7 +1455,7 @@ class NumberStateResponse : public StateResponseProtoMessage {
1455
1455
 
1456
1456
  protected:
1457
1457
  };
1458
- class NumberCommandRequest : public CommandProtoMessage {
1458
+ class NumberCommandRequest final : public CommandProtoMessage {
1459
1459
  public:
1460
1460
  static constexpr uint8_t MESSAGE_TYPE = 51;
1461
1461
  static constexpr uint8_t ESTIMATED_SIZE = 14;
@@ -1473,7 +1473,7 @@ class NumberCommandRequest : public CommandProtoMessage {
1473
1473
  };
1474
1474
  #endif
1475
1475
  #ifdef USE_SELECT
1476
- class ListEntitiesSelectResponse : public InfoResponseProtoMessage {
1476
+ class ListEntitiesSelectResponse final : public InfoResponseProtoMessage {
1477
1477
  public:
1478
1478
  static constexpr uint8_t MESSAGE_TYPE = 52;
1479
1479
  static constexpr uint8_t ESTIMATED_SIZE = 58;
@@ -1489,7 +1489,7 @@ class ListEntitiesSelectResponse : public InfoResponseProtoMessage {
1489
1489
 
1490
1490
  protected:
1491
1491
  };
1492
- class SelectStateResponse : public StateResponseProtoMessage {
1492
+ class SelectStateResponse final : public StateResponseProtoMessage {
1493
1493
  public:
1494
1494
  static constexpr uint8_t MESSAGE_TYPE = 53;
1495
1495
  static constexpr uint8_t ESTIMATED_SIZE = 20;
@@ -1507,7 +1507,7 @@ class SelectStateResponse : public StateResponseProtoMessage {
1507
1507
 
1508
1508
  protected:
1509
1509
  };
1510
- class SelectCommandRequest : public CommandProtoMessage {
1510
+ class SelectCommandRequest final : public CommandProtoMessage {
1511
1511
  public:
1512
1512
  static constexpr uint8_t MESSAGE_TYPE = 54;
1513
1513
  static constexpr uint8_t ESTIMATED_SIZE = 18;
@@ -1526,7 +1526,7 @@ class SelectCommandRequest : public CommandProtoMessage {
1526
1526
  };
1527
1527
  #endif
1528
1528
  #ifdef USE_SIREN
1529
- class ListEntitiesSirenResponse : public InfoResponseProtoMessage {
1529
+ class ListEntitiesSirenResponse final : public InfoResponseProtoMessage {
1530
1530
  public:
1531
1531
  static constexpr uint8_t MESSAGE_TYPE = 55;
1532
1532
  static constexpr uint8_t ESTIMATED_SIZE = 62;
@@ -1544,7 +1544,7 @@ class ListEntitiesSirenResponse : public InfoResponseProtoMessage {
1544
1544
 
1545
1545
  protected:
1546
1546
  };
1547
- class SirenStateResponse : public StateResponseProtoMessage {
1547
+ class SirenStateResponse final : public StateResponseProtoMessage {
1548
1548
  public:
1549
1549
  static constexpr uint8_t MESSAGE_TYPE = 56;
1550
1550
  static constexpr uint8_t ESTIMATED_SIZE = 11;
@@ -1560,7 +1560,7 @@ class SirenStateResponse : public StateResponseProtoMessage {
1560
1560
 
1561
1561
  protected:
1562
1562
  };
1563
- class SirenCommandRequest : public CommandProtoMessage {
1563
+ class SirenCommandRequest final : public CommandProtoMessage {
1564
1564
  public:
1565
1565
  static constexpr uint8_t MESSAGE_TYPE = 57;
1566
1566
  static constexpr uint8_t ESTIMATED_SIZE = 37;
@@ -1586,7 +1586,7 @@ class SirenCommandRequest : public CommandProtoMessage {
1586
1586
  };
1587
1587
  #endif
1588
1588
  #ifdef USE_LOCK
1589
- class ListEntitiesLockResponse : public InfoResponseProtoMessage {
1589
+ class ListEntitiesLockResponse final : public InfoResponseProtoMessage {
1590
1590
  public:
1591
1591
  static constexpr uint8_t MESSAGE_TYPE = 58;
1592
1592
  static constexpr uint8_t ESTIMATED_SIZE = 55;
@@ -1606,7 +1606,7 @@ class ListEntitiesLockResponse : public InfoResponseProtoMessage {
1606
1606
 
1607
1607
  protected:
1608
1608
  };
1609
- class LockStateResponse : public StateResponseProtoMessage {
1609
+ class LockStateResponse final : public StateResponseProtoMessage {
1610
1610
  public:
1611
1611
  static constexpr uint8_t MESSAGE_TYPE = 59;
1612
1612
  static constexpr uint8_t ESTIMATED_SIZE = 11;
@@ -1622,7 +1622,7 @@ class LockStateResponse : public StateResponseProtoMessage {
1622
1622
 
1623
1623
  protected:
1624
1624
  };
1625
- class LockCommandRequest : public CommandProtoMessage {
1625
+ class LockCommandRequest final : public CommandProtoMessage {
1626
1626
  public:
1627
1627
  static constexpr uint8_t MESSAGE_TYPE = 60;
1628
1628
  static constexpr uint8_t ESTIMATED_SIZE = 22;
@@ -1643,7 +1643,7 @@ class LockCommandRequest : public CommandProtoMessage {
1643
1643
  };
1644
1644
  #endif
1645
1645
  #ifdef USE_BUTTON
1646
- class ListEntitiesButtonResponse : public InfoResponseProtoMessage {
1646
+ class ListEntitiesButtonResponse final : public InfoResponseProtoMessage {
1647
1647
  public:
1648
1648
  static constexpr uint8_t MESSAGE_TYPE = 61;
1649
1649
  static constexpr uint8_t ESTIMATED_SIZE = 49;
@@ -1660,7 +1660,7 @@ class ListEntitiesButtonResponse : public InfoResponseProtoMessage {
1660
1660
 
1661
1661
  protected:
1662
1662
  };
1663
- class ButtonCommandRequest : public CommandProtoMessage {
1663
+ class ButtonCommandRequest final : public CommandProtoMessage {
1664
1664
  public:
1665
1665
  static constexpr uint8_t MESSAGE_TYPE = 62;
1666
1666
  static constexpr uint8_t ESTIMATED_SIZE = 9;
@@ -1677,7 +1677,7 @@ class ButtonCommandRequest : public CommandProtoMessage {
1677
1677
  };
1678
1678
  #endif
1679
1679
  #ifdef USE_MEDIA_PLAYER
1680
- class MediaPlayerSupportedFormat : public ProtoMessage {
1680
+ class MediaPlayerSupportedFormat final : public ProtoMessage {
1681
1681
  public:
1682
1682
  StringRef format_ref_{};
1683
1683
  void set_format(const StringRef &ref) { this->format_ref_ = ref; }
@@ -1693,7 +1693,7 @@ class MediaPlayerSupportedFormat : public ProtoMessage {
1693
1693
 
1694
1694
  protected:
1695
1695
  };
1696
- class ListEntitiesMediaPlayerResponse : public InfoResponseProtoMessage {
1696
+ class ListEntitiesMediaPlayerResponse final : public InfoResponseProtoMessage {
1697
1697
  public:
1698
1698
  static constexpr uint8_t MESSAGE_TYPE = 63;
1699
1699
  static constexpr uint8_t ESTIMATED_SIZE = 80;
@@ -1711,7 +1711,7 @@ class ListEntitiesMediaPlayerResponse : public InfoResponseProtoMessage {
1711
1711
 
1712
1712
  protected:
1713
1713
  };
1714
- class MediaPlayerStateResponse : public StateResponseProtoMessage {
1714
+ class MediaPlayerStateResponse final : public StateResponseProtoMessage {
1715
1715
  public:
1716
1716
  static constexpr uint8_t MESSAGE_TYPE = 64;
1717
1717
  static constexpr uint8_t ESTIMATED_SIZE = 18;
@@ -1729,7 +1729,7 @@ class MediaPlayerStateResponse : public StateResponseProtoMessage {
1729
1729
 
1730
1730
  protected:
1731
1731
  };
1732
- class MediaPlayerCommandRequest : public CommandProtoMessage {
1732
+ class MediaPlayerCommandRequest final : public CommandProtoMessage {
1733
1733
  public:
1734
1734
  static constexpr uint8_t MESSAGE_TYPE = 65;
1735
1735
  static constexpr uint8_t ESTIMATED_SIZE = 35;
@@ -1755,7 +1755,7 @@ class MediaPlayerCommandRequest : public CommandProtoMessage {
1755
1755
  };
1756
1756
  #endif
1757
1757
  #ifdef USE_BLUETOOTH_PROXY
1758
- class SubscribeBluetoothLEAdvertisementsRequest : public ProtoDecodableMessage {
1758
+ class SubscribeBluetoothLEAdvertisementsRequest final : public ProtoDecodableMessage {
1759
1759
  public:
1760
1760
  static constexpr uint8_t MESSAGE_TYPE = 66;
1761
1761
  static constexpr uint8_t ESTIMATED_SIZE = 4;
@@ -1770,7 +1770,7 @@ class SubscribeBluetoothLEAdvertisementsRequest : public ProtoDecodableMessage {
1770
1770
  protected:
1771
1771
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1772
1772
  };
1773
- class BluetoothLERawAdvertisement : public ProtoMessage {
1773
+ class BluetoothLERawAdvertisement final : public ProtoMessage {
1774
1774
  public:
1775
1775
  uint64_t address{0};
1776
1776
  int32_t rssi{0};
@@ -1785,7 +1785,7 @@ class BluetoothLERawAdvertisement : public ProtoMessage {
1785
1785
 
1786
1786
  protected:
1787
1787
  };
1788
- class BluetoothLERawAdvertisementsResponse : public ProtoMessage {
1788
+ class BluetoothLERawAdvertisementsResponse final : public ProtoMessage {
1789
1789
  public:
1790
1790
  static constexpr uint8_t MESSAGE_TYPE = 93;
1791
1791
  static constexpr uint8_t ESTIMATED_SIZE = 136;
@@ -1802,7 +1802,7 @@ class BluetoothLERawAdvertisementsResponse : public ProtoMessage {
1802
1802
 
1803
1803
  protected:
1804
1804
  };
1805
- class BluetoothDeviceRequest : public ProtoDecodableMessage {
1805
+ class BluetoothDeviceRequest final : public ProtoDecodableMessage {
1806
1806
  public:
1807
1807
  static constexpr uint8_t MESSAGE_TYPE = 68;
1808
1808
  static constexpr uint8_t ESTIMATED_SIZE = 12;
@@ -1820,7 +1820,7 @@ class BluetoothDeviceRequest : public ProtoDecodableMessage {
1820
1820
  protected:
1821
1821
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1822
1822
  };
1823
- class BluetoothDeviceConnectionResponse : public ProtoMessage {
1823
+ class BluetoothDeviceConnectionResponse final : public ProtoMessage {
1824
1824
  public:
1825
1825
  static constexpr uint8_t MESSAGE_TYPE = 69;
1826
1826
  static constexpr uint8_t ESTIMATED_SIZE = 14;
@@ -1839,7 +1839,7 @@ class BluetoothDeviceConnectionResponse : public ProtoMessage {
1839
1839
 
1840
1840
  protected:
1841
1841
  };
1842
- class BluetoothGATTGetServicesRequest : public ProtoDecodableMessage {
1842
+ class BluetoothGATTGetServicesRequest final : public ProtoDecodableMessage {
1843
1843
  public:
1844
1844
  static constexpr uint8_t MESSAGE_TYPE = 70;
1845
1845
  static constexpr uint8_t ESTIMATED_SIZE = 4;
@@ -1854,7 +1854,7 @@ class BluetoothGATTGetServicesRequest : public ProtoDecodableMessage {
1854
1854
  protected:
1855
1855
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1856
1856
  };
1857
- class BluetoothGATTDescriptor : public ProtoMessage {
1857
+ class BluetoothGATTDescriptor final : public ProtoMessage {
1858
1858
  public:
1859
1859
  std::array<uint64_t, 2> uuid{};
1860
1860
  uint32_t handle{0};
@@ -1867,7 +1867,7 @@ class BluetoothGATTDescriptor : public ProtoMessage {
1867
1867
 
1868
1868
  protected:
1869
1869
  };
1870
- class BluetoothGATTCharacteristic : public ProtoMessage {
1870
+ class BluetoothGATTCharacteristic final : public ProtoMessage {
1871
1871
  public:
1872
1872
  std::array<uint64_t, 2> uuid{};
1873
1873
  uint32_t handle{0};
@@ -1882,7 +1882,7 @@ class BluetoothGATTCharacteristic : public ProtoMessage {
1882
1882
 
1883
1883
  protected:
1884
1884
  };
1885
- class BluetoothGATTService : public ProtoMessage {
1885
+ class BluetoothGATTService final : public ProtoMessage {
1886
1886
  public:
1887
1887
  std::array<uint64_t, 2> uuid{};
1888
1888
  uint32_t handle{0};
@@ -1896,7 +1896,7 @@ class BluetoothGATTService : public ProtoMessage {
1896
1896
 
1897
1897
  protected:
1898
1898
  };
1899
- class BluetoothGATTGetServicesResponse : public ProtoMessage {
1899
+ class BluetoothGATTGetServicesResponse final : public ProtoMessage {
1900
1900
  public:
1901
1901
  static constexpr uint8_t MESSAGE_TYPE = 71;
1902
1902
  static constexpr uint8_t ESTIMATED_SIZE = 38;
@@ -1913,7 +1913,7 @@ class BluetoothGATTGetServicesResponse : public ProtoMessage {
1913
1913
 
1914
1914
  protected:
1915
1915
  };
1916
- class BluetoothGATTGetServicesDoneResponse : public ProtoMessage {
1916
+ class BluetoothGATTGetServicesDoneResponse final : public ProtoMessage {
1917
1917
  public:
1918
1918
  static constexpr uint8_t MESSAGE_TYPE = 72;
1919
1919
  static constexpr uint8_t ESTIMATED_SIZE = 4;
@@ -1929,7 +1929,7 @@ class BluetoothGATTGetServicesDoneResponse : public ProtoMessage {
1929
1929
 
1930
1930
  protected:
1931
1931
  };
1932
- class BluetoothGATTReadRequest : public ProtoDecodableMessage {
1932
+ class BluetoothGATTReadRequest final : public ProtoDecodableMessage {
1933
1933
  public:
1934
1934
  static constexpr uint8_t MESSAGE_TYPE = 73;
1935
1935
  static constexpr uint8_t ESTIMATED_SIZE = 8;
@@ -1945,7 +1945,7 @@ class BluetoothGATTReadRequest : public ProtoDecodableMessage {
1945
1945
  protected:
1946
1946
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1947
1947
  };
1948
- class BluetoothGATTReadResponse : public ProtoMessage {
1948
+ class BluetoothGATTReadResponse final : public ProtoMessage {
1949
1949
  public:
1950
1950
  static constexpr uint8_t MESSAGE_TYPE = 74;
1951
1951
  static constexpr uint8_t ESTIMATED_SIZE = 17;
@@ -1968,7 +1968,7 @@ class BluetoothGATTReadResponse : public ProtoMessage {
1968
1968
 
1969
1969
  protected:
1970
1970
  };
1971
- class BluetoothGATTWriteRequest : public ProtoDecodableMessage {
1971
+ class BluetoothGATTWriteRequest final : public ProtoDecodableMessage {
1972
1972
  public:
1973
1973
  static constexpr uint8_t MESSAGE_TYPE = 75;
1974
1974
  static constexpr uint8_t ESTIMATED_SIZE = 19;
@@ -1987,7 +1987,7 @@ class BluetoothGATTWriteRequest : public ProtoDecodableMessage {
1987
1987
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1988
1988
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1989
1989
  };
1990
- class BluetoothGATTReadDescriptorRequest : public ProtoDecodableMessage {
1990
+ class BluetoothGATTReadDescriptorRequest final : public ProtoDecodableMessage {
1991
1991
  public:
1992
1992
  static constexpr uint8_t MESSAGE_TYPE = 76;
1993
1993
  static constexpr uint8_t ESTIMATED_SIZE = 8;
@@ -2003,7 +2003,7 @@ class BluetoothGATTReadDescriptorRequest : public ProtoDecodableMessage {
2003
2003
  protected:
2004
2004
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2005
2005
  };
2006
- class BluetoothGATTWriteDescriptorRequest : public ProtoDecodableMessage {
2006
+ class BluetoothGATTWriteDescriptorRequest final : public ProtoDecodableMessage {
2007
2007
  public:
2008
2008
  static constexpr uint8_t MESSAGE_TYPE = 77;
2009
2009
  static constexpr uint8_t ESTIMATED_SIZE = 17;
@@ -2021,7 +2021,7 @@ class BluetoothGATTWriteDescriptorRequest : public ProtoDecodableMessage {
2021
2021
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2022
2022
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2023
2023
  };
2024
- class BluetoothGATTNotifyRequest : public ProtoDecodableMessage {
2024
+ class BluetoothGATTNotifyRequest final : public ProtoDecodableMessage {
2025
2025
  public:
2026
2026
  static constexpr uint8_t MESSAGE_TYPE = 78;
2027
2027
  static constexpr uint8_t ESTIMATED_SIZE = 10;
@@ -2038,7 +2038,7 @@ class BluetoothGATTNotifyRequest : public ProtoDecodableMessage {
2038
2038
  protected:
2039
2039
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2040
2040
  };
2041
- class BluetoothGATTNotifyDataResponse : public ProtoMessage {
2041
+ class BluetoothGATTNotifyDataResponse final : public ProtoMessage {
2042
2042
  public:
2043
2043
  static constexpr uint8_t MESSAGE_TYPE = 79;
2044
2044
  static constexpr uint8_t ESTIMATED_SIZE = 17;
@@ -2061,7 +2061,7 @@ class BluetoothGATTNotifyDataResponse : public ProtoMessage {
2061
2061
 
2062
2062
  protected:
2063
2063
  };
2064
- class SubscribeBluetoothConnectionsFreeRequest : public ProtoMessage {
2064
+ class SubscribeBluetoothConnectionsFreeRequest final : public ProtoMessage {
2065
2065
  public:
2066
2066
  static constexpr uint8_t MESSAGE_TYPE = 80;
2067
2067
  static constexpr uint8_t ESTIMATED_SIZE = 0;
@@ -2074,7 +2074,7 @@ class SubscribeBluetoothConnectionsFreeRequest : public ProtoMessage {
2074
2074
 
2075
2075
  protected:
2076
2076
  };
2077
- class BluetoothConnectionsFreeResponse : public ProtoMessage {
2077
+ class BluetoothConnectionsFreeResponse final : public ProtoMessage {
2078
2078
  public:
2079
2079
  static constexpr uint8_t MESSAGE_TYPE = 81;
2080
2080
  static constexpr uint8_t ESTIMATED_SIZE = 20;
@@ -2092,7 +2092,7 @@ class BluetoothConnectionsFreeResponse : public ProtoMessage {
2092
2092
 
2093
2093
  protected:
2094
2094
  };
2095
- class BluetoothGATTErrorResponse : public ProtoMessage {
2095
+ class BluetoothGATTErrorResponse final : public ProtoMessage {
2096
2096
  public:
2097
2097
  static constexpr uint8_t MESSAGE_TYPE = 82;
2098
2098
  static constexpr uint8_t ESTIMATED_SIZE = 12;
@@ -2110,7 +2110,7 @@ class BluetoothGATTErrorResponse : public ProtoMessage {
2110
2110
 
2111
2111
  protected:
2112
2112
  };
2113
- class BluetoothGATTWriteResponse : public ProtoMessage {
2113
+ class BluetoothGATTWriteResponse final : public ProtoMessage {
2114
2114
  public:
2115
2115
  static constexpr uint8_t MESSAGE_TYPE = 83;
2116
2116
  static constexpr uint8_t ESTIMATED_SIZE = 8;
@@ -2127,7 +2127,7 @@ class BluetoothGATTWriteResponse : public ProtoMessage {
2127
2127
 
2128
2128
  protected:
2129
2129
  };
2130
- class BluetoothGATTNotifyResponse : public ProtoMessage {
2130
+ class BluetoothGATTNotifyResponse final : public ProtoMessage {
2131
2131
  public:
2132
2132
  static constexpr uint8_t MESSAGE_TYPE = 84;
2133
2133
  static constexpr uint8_t ESTIMATED_SIZE = 8;
@@ -2144,7 +2144,7 @@ class BluetoothGATTNotifyResponse : public ProtoMessage {
2144
2144
 
2145
2145
  protected:
2146
2146
  };
2147
- class BluetoothDevicePairingResponse : public ProtoMessage {
2147
+ class BluetoothDevicePairingResponse final : public ProtoMessage {
2148
2148
  public:
2149
2149
  static constexpr uint8_t MESSAGE_TYPE = 85;
2150
2150
  static constexpr uint8_t ESTIMATED_SIZE = 10;
@@ -2162,7 +2162,7 @@ class BluetoothDevicePairingResponse : public ProtoMessage {
2162
2162
 
2163
2163
  protected:
2164
2164
  };
2165
- class BluetoothDeviceUnpairingResponse : public ProtoMessage {
2165
+ class BluetoothDeviceUnpairingResponse final : public ProtoMessage {
2166
2166
  public:
2167
2167
  static constexpr uint8_t MESSAGE_TYPE = 86;
2168
2168
  static constexpr uint8_t ESTIMATED_SIZE = 10;
@@ -2180,7 +2180,7 @@ class BluetoothDeviceUnpairingResponse : public ProtoMessage {
2180
2180
 
2181
2181
  protected:
2182
2182
  };
2183
- class UnsubscribeBluetoothLEAdvertisementsRequest : public ProtoMessage {
2183
+ class UnsubscribeBluetoothLEAdvertisementsRequest final : public ProtoMessage {
2184
2184
  public:
2185
2185
  static constexpr uint8_t MESSAGE_TYPE = 87;
2186
2186
  static constexpr uint8_t ESTIMATED_SIZE = 0;
@@ -2193,7 +2193,7 @@ class UnsubscribeBluetoothLEAdvertisementsRequest : public ProtoMessage {
2193
2193
 
2194
2194
  protected:
2195
2195
  };
2196
- class BluetoothDeviceClearCacheResponse : public ProtoMessage {
2196
+ class BluetoothDeviceClearCacheResponse final : public ProtoMessage {
2197
2197
  public:
2198
2198
  static constexpr uint8_t MESSAGE_TYPE = 88;
2199
2199
  static constexpr uint8_t ESTIMATED_SIZE = 10;
@@ -2211,15 +2211,16 @@ class BluetoothDeviceClearCacheResponse : public ProtoMessage {
2211
2211
 
2212
2212
  protected:
2213
2213
  };
2214
- class BluetoothScannerStateResponse : public ProtoMessage {
2214
+ class BluetoothScannerStateResponse final : public ProtoMessage {
2215
2215
  public:
2216
2216
  static constexpr uint8_t MESSAGE_TYPE = 126;
2217
- static constexpr uint8_t ESTIMATED_SIZE = 4;
2217
+ static constexpr uint8_t ESTIMATED_SIZE = 6;
2218
2218
  #ifdef HAS_PROTO_MESSAGE_DUMP
2219
2219
  const char *message_name() const override { return "bluetooth_scanner_state_response"; }
2220
2220
  #endif
2221
2221
  enums::BluetoothScannerState state{};
2222
2222
  enums::BluetoothScannerMode mode{};
2223
+ enums::BluetoothScannerMode configured_mode{};
2223
2224
  void encode(ProtoWriteBuffer buffer) const override;
2224
2225
  void calculate_size(ProtoSize &size) const override;
2225
2226
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -2228,7 +2229,7 @@ class BluetoothScannerStateResponse : public ProtoMessage {
2228
2229
 
2229
2230
  protected:
2230
2231
  };
2231
- class BluetoothScannerSetModeRequest : public ProtoDecodableMessage {
2232
+ class BluetoothScannerSetModeRequest final : public ProtoDecodableMessage {
2232
2233
  public:
2233
2234
  static constexpr uint8_t MESSAGE_TYPE = 127;
2234
2235
  static constexpr uint8_t ESTIMATED_SIZE = 2;
@@ -2245,7 +2246,7 @@ class BluetoothScannerSetModeRequest : public ProtoDecodableMessage {
2245
2246
  };
2246
2247
  #endif
2247
2248
  #ifdef USE_VOICE_ASSISTANT
2248
- class SubscribeVoiceAssistantRequest : public ProtoDecodableMessage {
2249
+ class SubscribeVoiceAssistantRequest final : public ProtoDecodableMessage {
2249
2250
  public:
2250
2251
  static constexpr uint8_t MESSAGE_TYPE = 89;
2251
2252
  static constexpr uint8_t ESTIMATED_SIZE = 6;
@@ -2261,7 +2262,7 @@ class SubscribeVoiceAssistantRequest : public ProtoDecodableMessage {
2261
2262
  protected:
2262
2263
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2263
2264
  };
2264
- class VoiceAssistantAudioSettings : public ProtoMessage {
2265
+ class VoiceAssistantAudioSettings final : public ProtoMessage {
2265
2266
  public:
2266
2267
  uint32_t noise_suppression_level{0};
2267
2268
  uint32_t auto_gain{0};
@@ -2274,7 +2275,7 @@ class VoiceAssistantAudioSettings : public ProtoMessage {
2274
2275
 
2275
2276
  protected:
2276
2277
  };
2277
- class VoiceAssistantRequest : public ProtoMessage {
2278
+ class VoiceAssistantRequest final : public ProtoMessage {
2278
2279
  public:
2279
2280
  static constexpr uint8_t MESSAGE_TYPE = 90;
2280
2281
  static constexpr uint8_t ESTIMATED_SIZE = 41;
@@ -2296,7 +2297,7 @@ class VoiceAssistantRequest : public ProtoMessage {
2296
2297
 
2297
2298
  protected:
2298
2299
  };
2299
- class VoiceAssistantResponse : public ProtoDecodableMessage {
2300
+ class VoiceAssistantResponse final : public ProtoDecodableMessage {
2300
2301
  public:
2301
2302
  static constexpr uint8_t MESSAGE_TYPE = 91;
2302
2303
  static constexpr uint8_t ESTIMATED_SIZE = 6;
@@ -2312,7 +2313,7 @@ class VoiceAssistantResponse : public ProtoDecodableMessage {
2312
2313
  protected:
2313
2314
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2314
2315
  };
2315
- class VoiceAssistantEventData : public ProtoDecodableMessage {
2316
+ class VoiceAssistantEventData final : public ProtoDecodableMessage {
2316
2317
  public:
2317
2318
  std::string name{};
2318
2319
  std::string value{};
@@ -2323,7 +2324,7 @@ class VoiceAssistantEventData : public ProtoDecodableMessage {
2323
2324
  protected:
2324
2325
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2325
2326
  };
2326
- class VoiceAssistantEventResponse : public ProtoDecodableMessage {
2327
+ class VoiceAssistantEventResponse final : public ProtoDecodableMessage {
2327
2328
  public:
2328
2329
  static constexpr uint8_t MESSAGE_TYPE = 92;
2329
2330
  static constexpr uint8_t ESTIMATED_SIZE = 36;
@@ -2340,7 +2341,7 @@ class VoiceAssistantEventResponse : public ProtoDecodableMessage {
2340
2341
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2341
2342
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2342
2343
  };
2343
- class VoiceAssistantAudio : public ProtoDecodableMessage {
2344
+ class VoiceAssistantAudio final : public ProtoDecodableMessage {
2344
2345
  public:
2345
2346
  static constexpr uint8_t MESSAGE_TYPE = 106;
2346
2347
  static constexpr uint8_t ESTIMATED_SIZE = 11;
@@ -2365,7 +2366,7 @@ class VoiceAssistantAudio : public ProtoDecodableMessage {
2365
2366
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2366
2367
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2367
2368
  };
2368
- class VoiceAssistantTimerEventResponse : public ProtoDecodableMessage {
2369
+ class VoiceAssistantTimerEventResponse final : public ProtoDecodableMessage {
2369
2370
  public:
2370
2371
  static constexpr uint8_t MESSAGE_TYPE = 115;
2371
2372
  static constexpr uint8_t ESTIMATED_SIZE = 30;
@@ -2386,7 +2387,7 @@ class VoiceAssistantTimerEventResponse : public ProtoDecodableMessage {
2386
2387
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2387
2388
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2388
2389
  };
2389
- class VoiceAssistantAnnounceRequest : public ProtoDecodableMessage {
2390
+ class VoiceAssistantAnnounceRequest final : public ProtoDecodableMessage {
2390
2391
  public:
2391
2392
  static constexpr uint8_t MESSAGE_TYPE = 119;
2392
2393
  static constexpr uint8_t ESTIMATED_SIZE = 29;
@@ -2405,7 +2406,7 @@ class VoiceAssistantAnnounceRequest : public ProtoDecodableMessage {
2405
2406
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2406
2407
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2407
2408
  };
2408
- class VoiceAssistantAnnounceFinished : public ProtoMessage {
2409
+ class VoiceAssistantAnnounceFinished final : public ProtoMessage {
2409
2410
  public:
2410
2411
  static constexpr uint8_t MESSAGE_TYPE = 120;
2411
2412
  static constexpr uint8_t ESTIMATED_SIZE = 2;
@@ -2421,7 +2422,7 @@ class VoiceAssistantAnnounceFinished : public ProtoMessage {
2421
2422
 
2422
2423
  protected:
2423
2424
  };
2424
- class VoiceAssistantWakeWord : public ProtoMessage {
2425
+ class VoiceAssistantWakeWord final : public ProtoMessage {
2425
2426
  public:
2426
2427
  StringRef id_ref_{};
2427
2428
  void set_id(const StringRef &ref) { this->id_ref_ = ref; }
@@ -2436,7 +2437,7 @@ class VoiceAssistantWakeWord : public ProtoMessage {
2436
2437
 
2437
2438
  protected:
2438
2439
  };
2439
- class VoiceAssistantConfigurationRequest : public ProtoMessage {
2440
+ class VoiceAssistantConfigurationRequest final : public ProtoMessage {
2440
2441
  public:
2441
2442
  static constexpr uint8_t MESSAGE_TYPE = 121;
2442
2443
  static constexpr uint8_t ESTIMATED_SIZE = 0;
@@ -2449,7 +2450,7 @@ class VoiceAssistantConfigurationRequest : public ProtoMessage {
2449
2450
 
2450
2451
  protected:
2451
2452
  };
2452
- class VoiceAssistantConfigurationResponse : public ProtoMessage {
2453
+ class VoiceAssistantConfigurationResponse final : public ProtoMessage {
2453
2454
  public:
2454
2455
  static constexpr uint8_t MESSAGE_TYPE = 122;
2455
2456
  static constexpr uint8_t ESTIMATED_SIZE = 56;
@@ -2467,7 +2468,7 @@ class VoiceAssistantConfigurationResponse : public ProtoMessage {
2467
2468
 
2468
2469
  protected:
2469
2470
  };
2470
- class VoiceAssistantSetConfiguration : public ProtoDecodableMessage {
2471
+ class VoiceAssistantSetConfiguration final : public ProtoDecodableMessage {
2471
2472
  public:
2472
2473
  static constexpr uint8_t MESSAGE_TYPE = 123;
2473
2474
  static constexpr uint8_t ESTIMATED_SIZE = 18;
@@ -2484,7 +2485,7 @@ class VoiceAssistantSetConfiguration : public ProtoDecodableMessage {
2484
2485
  };
2485
2486
  #endif
2486
2487
  #ifdef USE_ALARM_CONTROL_PANEL
2487
- class ListEntitiesAlarmControlPanelResponse : public InfoResponseProtoMessage {
2488
+ class ListEntitiesAlarmControlPanelResponse final : public InfoResponseProtoMessage {
2488
2489
  public:
2489
2490
  static constexpr uint8_t MESSAGE_TYPE = 94;
2490
2491
  static constexpr uint8_t ESTIMATED_SIZE = 48;
@@ -2502,7 +2503,7 @@ class ListEntitiesAlarmControlPanelResponse : public InfoResponseProtoMessage {
2502
2503
 
2503
2504
  protected:
2504
2505
  };
2505
- class AlarmControlPanelStateResponse : public StateResponseProtoMessage {
2506
+ class AlarmControlPanelStateResponse final : public StateResponseProtoMessage {
2506
2507
  public:
2507
2508
  static constexpr uint8_t MESSAGE_TYPE = 95;
2508
2509
  static constexpr uint8_t ESTIMATED_SIZE = 11;
@@ -2518,7 +2519,7 @@ class AlarmControlPanelStateResponse : public StateResponseProtoMessage {
2518
2519
 
2519
2520
  protected:
2520
2521
  };
2521
- class AlarmControlPanelCommandRequest : public CommandProtoMessage {
2522
+ class AlarmControlPanelCommandRequest final : public CommandProtoMessage {
2522
2523
  public:
2523
2524
  static constexpr uint8_t MESSAGE_TYPE = 96;
2524
2525
  static constexpr uint8_t ESTIMATED_SIZE = 20;
@@ -2538,7 +2539,7 @@ class AlarmControlPanelCommandRequest : public CommandProtoMessage {
2538
2539
  };
2539
2540
  #endif
2540
2541
  #ifdef USE_TEXT
2541
- class ListEntitiesTextResponse : public InfoResponseProtoMessage {
2542
+ class ListEntitiesTextResponse final : public InfoResponseProtoMessage {
2542
2543
  public:
2543
2544
  static constexpr uint8_t MESSAGE_TYPE = 97;
2544
2545
  static constexpr uint8_t ESTIMATED_SIZE = 59;
@@ -2558,7 +2559,7 @@ class ListEntitiesTextResponse : public InfoResponseProtoMessage {
2558
2559
 
2559
2560
  protected:
2560
2561
  };
2561
- class TextStateResponse : public StateResponseProtoMessage {
2562
+ class TextStateResponse final : public StateResponseProtoMessage {
2562
2563
  public:
2563
2564
  static constexpr uint8_t MESSAGE_TYPE = 98;
2564
2565
  static constexpr uint8_t ESTIMATED_SIZE = 20;
@@ -2576,7 +2577,7 @@ class TextStateResponse : public StateResponseProtoMessage {
2576
2577
 
2577
2578
  protected:
2578
2579
  };
2579
- class TextCommandRequest : public CommandProtoMessage {
2580
+ class TextCommandRequest final : public CommandProtoMessage {
2580
2581
  public:
2581
2582
  static constexpr uint8_t MESSAGE_TYPE = 99;
2582
2583
  static constexpr uint8_t ESTIMATED_SIZE = 18;
@@ -2595,7 +2596,7 @@ class TextCommandRequest : public CommandProtoMessage {
2595
2596
  };
2596
2597
  #endif
2597
2598
  #ifdef USE_DATETIME_DATE
2598
- class ListEntitiesDateResponse : public InfoResponseProtoMessage {
2599
+ class ListEntitiesDateResponse final : public InfoResponseProtoMessage {
2599
2600
  public:
2600
2601
  static constexpr uint8_t MESSAGE_TYPE = 100;
2601
2602
  static constexpr uint8_t ESTIMATED_SIZE = 40;
@@ -2610,7 +2611,7 @@ class ListEntitiesDateResponse : public InfoResponseProtoMessage {
2610
2611
 
2611
2612
  protected:
2612
2613
  };
2613
- class DateStateResponse : public StateResponseProtoMessage {
2614
+ class DateStateResponse final : public StateResponseProtoMessage {
2614
2615
  public:
2615
2616
  static constexpr uint8_t MESSAGE_TYPE = 101;
2616
2617
  static constexpr uint8_t ESTIMATED_SIZE = 23;
@@ -2629,7 +2630,7 @@ class DateStateResponse : public StateResponseProtoMessage {
2629
2630
 
2630
2631
  protected:
2631
2632
  };
2632
- class DateCommandRequest : public CommandProtoMessage {
2633
+ class DateCommandRequest final : public CommandProtoMessage {
2633
2634
  public:
2634
2635
  static constexpr uint8_t MESSAGE_TYPE = 102;
2635
2636
  static constexpr uint8_t ESTIMATED_SIZE = 21;
@@ -2649,7 +2650,7 @@ class DateCommandRequest : public CommandProtoMessage {
2649
2650
  };
2650
2651
  #endif
2651
2652
  #ifdef USE_DATETIME_TIME
2652
- class ListEntitiesTimeResponse : public InfoResponseProtoMessage {
2653
+ class ListEntitiesTimeResponse final : public InfoResponseProtoMessage {
2653
2654
  public:
2654
2655
  static constexpr uint8_t MESSAGE_TYPE = 103;
2655
2656
  static constexpr uint8_t ESTIMATED_SIZE = 40;
@@ -2664,7 +2665,7 @@ class ListEntitiesTimeResponse : public InfoResponseProtoMessage {
2664
2665
 
2665
2666
  protected:
2666
2667
  };
2667
- class TimeStateResponse : public StateResponseProtoMessage {
2668
+ class TimeStateResponse final : public StateResponseProtoMessage {
2668
2669
  public:
2669
2670
  static constexpr uint8_t MESSAGE_TYPE = 104;
2670
2671
  static constexpr uint8_t ESTIMATED_SIZE = 23;
@@ -2683,7 +2684,7 @@ class TimeStateResponse : public StateResponseProtoMessage {
2683
2684
 
2684
2685
  protected:
2685
2686
  };
2686
- class TimeCommandRequest : public CommandProtoMessage {
2687
+ class TimeCommandRequest final : public CommandProtoMessage {
2687
2688
  public:
2688
2689
  static constexpr uint8_t MESSAGE_TYPE = 105;
2689
2690
  static constexpr uint8_t ESTIMATED_SIZE = 21;
@@ -2703,7 +2704,7 @@ class TimeCommandRequest : public CommandProtoMessage {
2703
2704
  };
2704
2705
  #endif
2705
2706
  #ifdef USE_EVENT
2706
- class ListEntitiesEventResponse : public InfoResponseProtoMessage {
2707
+ class ListEntitiesEventResponse final : public InfoResponseProtoMessage {
2707
2708
  public:
2708
2709
  static constexpr uint8_t MESSAGE_TYPE = 107;
2709
2710
  static constexpr uint8_t ESTIMATED_SIZE = 67;
@@ -2721,7 +2722,7 @@ class ListEntitiesEventResponse : public InfoResponseProtoMessage {
2721
2722
 
2722
2723
  protected:
2723
2724
  };
2724
- class EventResponse : public StateResponseProtoMessage {
2725
+ class EventResponse final : public StateResponseProtoMessage {
2725
2726
  public:
2726
2727
  static constexpr uint8_t MESSAGE_TYPE = 108;
2727
2728
  static constexpr uint8_t ESTIMATED_SIZE = 18;
@@ -2740,7 +2741,7 @@ class EventResponse : public StateResponseProtoMessage {
2740
2741
  };
2741
2742
  #endif
2742
2743
  #ifdef USE_VALVE
2743
- class ListEntitiesValveResponse : public InfoResponseProtoMessage {
2744
+ class ListEntitiesValveResponse final : public InfoResponseProtoMessage {
2744
2745
  public:
2745
2746
  static constexpr uint8_t MESSAGE_TYPE = 109;
2746
2747
  static constexpr uint8_t ESTIMATED_SIZE = 55;
@@ -2760,7 +2761,7 @@ class ListEntitiesValveResponse : public InfoResponseProtoMessage {
2760
2761
 
2761
2762
  protected:
2762
2763
  };
2763
- class ValveStateResponse : public StateResponseProtoMessage {
2764
+ class ValveStateResponse final : public StateResponseProtoMessage {
2764
2765
  public:
2765
2766
  static constexpr uint8_t MESSAGE_TYPE = 110;
2766
2767
  static constexpr uint8_t ESTIMATED_SIZE = 16;
@@ -2777,7 +2778,7 @@ class ValveStateResponse : public StateResponseProtoMessage {
2777
2778
 
2778
2779
  protected:
2779
2780
  };
2780
- class ValveCommandRequest : public CommandProtoMessage {
2781
+ class ValveCommandRequest final : public CommandProtoMessage {
2781
2782
  public:
2782
2783
  static constexpr uint8_t MESSAGE_TYPE = 111;
2783
2784
  static constexpr uint8_t ESTIMATED_SIZE = 18;
@@ -2797,7 +2798,7 @@ class ValveCommandRequest : public CommandProtoMessage {
2797
2798
  };
2798
2799
  #endif
2799
2800
  #ifdef USE_DATETIME_DATETIME
2800
- class ListEntitiesDateTimeResponse : public InfoResponseProtoMessage {
2801
+ class ListEntitiesDateTimeResponse final : public InfoResponseProtoMessage {
2801
2802
  public:
2802
2803
  static constexpr uint8_t MESSAGE_TYPE = 112;
2803
2804
  static constexpr uint8_t ESTIMATED_SIZE = 40;
@@ -2812,7 +2813,7 @@ class ListEntitiesDateTimeResponse : public InfoResponseProtoMessage {
2812
2813
 
2813
2814
  protected:
2814
2815
  };
2815
- class DateTimeStateResponse : public StateResponseProtoMessage {
2816
+ class DateTimeStateResponse final : public StateResponseProtoMessage {
2816
2817
  public:
2817
2818
  static constexpr uint8_t MESSAGE_TYPE = 113;
2818
2819
  static constexpr uint8_t ESTIMATED_SIZE = 16;
@@ -2829,7 +2830,7 @@ class DateTimeStateResponse : public StateResponseProtoMessage {
2829
2830
 
2830
2831
  protected:
2831
2832
  };
2832
- class DateTimeCommandRequest : public CommandProtoMessage {
2833
+ class DateTimeCommandRequest final : public CommandProtoMessage {
2833
2834
  public:
2834
2835
  static constexpr uint8_t MESSAGE_TYPE = 114;
2835
2836
  static constexpr uint8_t ESTIMATED_SIZE = 14;
@@ -2847,7 +2848,7 @@ class DateTimeCommandRequest : public CommandProtoMessage {
2847
2848
  };
2848
2849
  #endif
2849
2850
  #ifdef USE_UPDATE
2850
- class ListEntitiesUpdateResponse : public InfoResponseProtoMessage {
2851
+ class ListEntitiesUpdateResponse final : public InfoResponseProtoMessage {
2851
2852
  public:
2852
2853
  static constexpr uint8_t MESSAGE_TYPE = 116;
2853
2854
  static constexpr uint8_t ESTIMATED_SIZE = 49;
@@ -2864,7 +2865,7 @@ class ListEntitiesUpdateResponse : public InfoResponseProtoMessage {
2864
2865
 
2865
2866
  protected:
2866
2867
  };
2867
- class UpdateStateResponse : public StateResponseProtoMessage {
2868
+ class UpdateStateResponse final : public StateResponseProtoMessage {
2868
2869
  public:
2869
2870
  static constexpr uint8_t MESSAGE_TYPE = 117;
2870
2871
  static constexpr uint8_t ESTIMATED_SIZE = 65;
@@ -2893,7 +2894,7 @@ class UpdateStateResponse : public StateResponseProtoMessage {
2893
2894
 
2894
2895
  protected:
2895
2896
  };
2896
- class UpdateCommandRequest : public CommandProtoMessage {
2897
+ class UpdateCommandRequest final : public CommandProtoMessage {
2897
2898
  public:
2898
2899
  static constexpr uint8_t MESSAGE_TYPE = 118;
2899
2900
  static constexpr uint8_t ESTIMATED_SIZE = 11;