esphome 2025.6.2__py3-none-any.whl → 2025.7.0__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 (648) hide show
  1. esphome/__main__.py +1 -3
  2. esphome/codegen.py +2 -0
  3. esphome/components/ac_dimmer/ac_dimmer.cpp +6 -6
  4. esphome/components/adc/__init__.py +25 -1
  5. esphome/components/adc/adc_sensor.h +11 -11
  6. esphome/components/adc/adc_sensor_common.cpp +1 -1
  7. esphome/components/adc/adc_sensor_esp32.cpp +16 -8
  8. esphome/components/ade7880/ade7880.h +0 -2
  9. esphome/components/ads1115/ads1115.h +0 -1
  10. esphome/components/ads1118/ads1118.h +0 -1
  11. esphome/components/ags10/ags10.h +0 -2
  12. esphome/components/aic3204/aic3204.h +0 -1
  13. esphome/components/alarm_control_panel/__init__.py +5 -2
  14. esphome/components/alpha3/alpha3.h +0 -1
  15. esphome/components/am43/cover/am43_cover.h +0 -1
  16. esphome/components/am43/sensor/am43_sensor.h +0 -1
  17. esphome/components/analog_threshold/analog_threshold_binary_sensor.h +0 -2
  18. esphome/components/anova/anova.cpp +5 -1
  19. esphome/components/anova/anova.h +0 -1
  20. esphome/components/apds9960/apds9960.cpp +1 -1
  21. esphome/components/api/__init__.py +57 -21
  22. esphome/components/api/api_connection.cpp +344 -539
  23. esphome/components/api/api_connection.h +224 -141
  24. esphome/components/api/api_frame_helper.cpp +91 -127
  25. esphome/components/api/api_frame_helper.h +64 -54
  26. esphome/components/api/api_pb2.cpp +1837 -9044
  27. esphome/components/api/api_pb2.h +532 -685
  28. esphome/components/api/api_pb2_dump.cpp +4432 -0
  29. esphome/components/api/api_pb2_service.cpp +184 -425
  30. esphome/components/api/api_pb2_service.h +13 -6
  31. esphome/components/api/api_server.cpp +131 -167
  32. esphome/components/api/api_server.h +38 -10
  33. esphome/components/api/client.py +10 -4
  34. esphome/components/api/custom_api_device.h +8 -0
  35. esphome/components/api/list_entities.cpp +37 -104
  36. esphome/components/api/list_entities.h +33 -23
  37. esphome/components/api/proto.h +532 -26
  38. esphome/components/api/subscribe_state.cpp +23 -29
  39. esphome/components/api/subscribe_state.h +26 -19
  40. esphome/components/api/user_services.h +2 -0
  41. esphome/components/as3935_spi/as3935_spi.h +0 -2
  42. esphome/components/as5600/as5600.h +0 -1
  43. esphome/components/async_tcp/__init__.py +14 -5
  44. esphome/components/atc_mithermometer/atc_mithermometer.h +0 -1
  45. esphome/components/atm90e32/atm90e32.cpp +2 -1
  46. esphome/components/audio/audio_decoder.cpp +1 -1
  47. esphome/components/audio/audio_transfer_buffer.cpp +2 -2
  48. esphome/components/b_parasite/b_parasite.h +0 -1
  49. esphome/components/bedjet/bedjet_hub.cpp +5 -1
  50. esphome/components/bedjet/climate/bedjet_climate.cpp +5 -1
  51. esphome/components/beken_spi_led_strip/led_strip.cpp +4 -2
  52. esphome/components/bh1750/bh1750.cpp +5 -5
  53. esphome/components/binary_sensor/__init__.py +82 -5
  54. esphome/components/binary_sensor/automation.h +19 -1
  55. esphome/components/binary_sensor/binary_sensor.cpp +12 -30
  56. esphome/components/binary_sensor/binary_sensor.h +11 -25
  57. esphome/components/binary_sensor/filter.cpp +29 -24
  58. esphome/components/binary_sensor/filter.h +20 -10
  59. esphome/components/ble_client/output/ble_binary_output.h +0 -1
  60. esphome/components/ble_client/sensor/ble_rssi_sensor.cpp +5 -1
  61. esphome/components/ble_client/sensor/ble_rssi_sensor.h +0 -1
  62. esphome/components/ble_client/sensor/ble_sensor.cpp +5 -1
  63. esphome/components/ble_client/sensor/ble_sensor.h +0 -1
  64. esphome/components/ble_client/switch/ble_switch.h +0 -1
  65. esphome/components/ble_client/text_sensor/ble_text_sensor.cpp +5 -1
  66. esphome/components/ble_client/text_sensor/ble_text_sensor.h +0 -1
  67. esphome/components/ble_presence/ble_presence_device.h +0 -1
  68. esphome/components/ble_rssi/ble_rssi_sensor.h +0 -1
  69. esphome/components/ble_scanner/ble_scanner.h +0 -1
  70. esphome/components/bluetooth_proxy/bluetooth_connection.h +9 -2
  71. esphome/components/bluetooth_proxy/bluetooth_proxy.cpp +16 -6
  72. esphome/components/bluetooth_proxy/bluetooth_proxy.h +8 -2
  73. esphome/components/bme680/sensor.py +1 -1
  74. esphome/components/bmp581/bmp581.h +0 -2
  75. esphome/components/button/__init__.py +5 -2
  76. esphome/components/camera/__init__.py +1 -0
  77. esphome/components/camera/camera.cpp +22 -0
  78. esphome/components/camera/camera.h +80 -0
  79. esphome/components/canbus/__init__.py +1 -0
  80. esphome/components/cap1188/cap1188.h +0 -1
  81. esphome/components/captive_portal/__init__.py +12 -2
  82. esphome/components/captive_portal/captive_portal.cpp +12 -2
  83. esphome/components/captive_portal/captive_portal.h +5 -2
  84. esphome/components/ccs811/ccs811.h +0 -2
  85. esphome/components/climate/__init__.py +5 -2
  86. esphome/components/cm1106/sensor.py +2 -2
  87. esphome/components/const/__init__.py +2 -0
  88. esphome/components/copy/binary_sensor/copy_binary_sensor.h +0 -1
  89. esphome/components/copy/button/copy_button.h +0 -1
  90. esphome/components/copy/cover/copy_cover.h +0 -1
  91. esphome/components/copy/fan/copy_fan.h +0 -1
  92. esphome/components/copy/lock/copy_lock.h +0 -1
  93. esphome/components/copy/number/copy_number.h +0 -1
  94. esphome/components/copy/select/copy_select.h +0 -1
  95. esphome/components/copy/sensor/copy_sensor.h +0 -1
  96. esphome/components/copy/switch/copy_switch.h +0 -1
  97. esphome/components/copy/text/copy_text.h +0 -1
  98. esphome/components/copy/text_sensor/copy_text_sensor.h +0 -1
  99. esphome/components/cover/__init__.py +5 -2
  100. esphome/components/cs5460a/cs5460a.h +0 -1
  101. esphome/components/datetime/__init__.py +4 -2
  102. esphome/components/debug/__init__.py +20 -0
  103. esphome/components/debug/debug_esp32.cpp +2 -0
  104. esphome/components/deep_sleep/__init__.py +43 -9
  105. esphome/components/demo/__init__.py +2 -2
  106. esphome/components/display/display.cpp +4 -3
  107. esphome/components/display/display.h +0 -2
  108. esphome/components/display/display_buffer.cpp +1 -1
  109. esphome/components/ds2484/__init__.py +1 -0
  110. esphome/components/ds2484/ds2484.cpp +209 -0
  111. esphome/components/ds2484/ds2484.h +43 -0
  112. esphome/components/ds2484/one_wire.py +37 -0
  113. esphome/components/duty_time/duty_time_sensor.h +0 -1
  114. esphome/components/ens160_base/ens160_base.h +0 -1
  115. esphome/components/es7210/es7210.h +0 -1
  116. esphome/components/es7243e/es7243e.h +0 -1
  117. esphome/components/es8156/es8156.h +0 -1
  118. esphome/components/es8311/es8311.h +0 -1
  119. esphome/components/es8388/es8388.h +0 -1
  120. esphome/components/esp32/__init__.py +103 -135
  121. esphome/components/esp32/core.cpp +0 -4
  122. esphome/components/esp32/gpio.h +1 -1
  123. esphome/components/esp32/helpers.cpp +69 -0
  124. esphome/components/esp32_ble/ble.cpp +5 -6
  125. esphome/components/esp32_ble/ble.h +29 -14
  126. esphome/components/esp32_ble/ble_event.h +6 -6
  127. esphome/components/esp32_ble_client/ble_client_base.cpp +21 -6
  128. esphome/components/esp32_ble_client/ble_client_base.h +24 -9
  129. esphome/components/esp32_ble_tracker/__init__.py +2 -8
  130. esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +5 -5
  131. esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +11 -7
  132. esphome/components/esp32_camera/__init__.py +112 -98
  133. esphome/components/esp32_camera/esp32_camera.cpp +41 -31
  134. esphome/components/esp32_camera/esp32_camera.h +35 -30
  135. esphome/components/esp32_camera_web_server/__init__.py +2 -1
  136. esphome/components/esp32_camera_web_server/camera_web_server.cpp +8 -8
  137. esphome/components/esp32_camera_web_server/camera_web_server.h +3 -3
  138. esphome/components/esp32_hall/sensor.py +2 -21
  139. esphome/components/esp32_hosted/__init__.py +101 -0
  140. esphome/components/esp32_hosted/esp32_hosted.py.script +12 -0
  141. esphome/components/esp32_improv/esp32_improv_component.cpp +3 -0
  142. esphome/components/esp32_rmt/__init__.py +0 -58
  143. esphome/components/esp32_rmt_led_strip/led_strip.cpp +77 -63
  144. esphome/components/esp32_rmt_led_strip/led_strip.h +11 -17
  145. esphome/components/esp32_rmt_led_strip/light.py +14 -76
  146. esphome/components/esp32_touch/esp32_touch.h +174 -28
  147. esphome/components/esp32_touch/esp32_touch_common.cpp +162 -0
  148. esphome/components/esp32_touch/esp32_touch_v1.cpp +240 -0
  149. esphome/components/esp32_touch/esp32_touch_v2.cpp +397 -0
  150. esphome/components/esp8266/__init__.py +2 -0
  151. esphome/components/esp8266/gpio.cpp +10 -10
  152. esphome/components/esp8266/helpers.cpp +31 -0
  153. esphome/components/esp_ldo/__init__.py +10 -8
  154. esphome/components/esp_ldo/esp_ldo.h +3 -0
  155. esphome/components/esphome/ota/__init__.py +1 -0
  156. esphome/components/esphome/ota/ota_esphome.cpp +24 -19
  157. esphome/components/ethernet/__init__.py +42 -23
  158. esphome/components/ethernet/esp_eth_phy_jl1101.c +0 -16
  159. esphome/components/ethernet/ethernet_component.cpp +69 -29
  160. esphome/components/ethernet/ethernet_component.h +18 -10
  161. esphome/components/event/__init__.py +5 -2
  162. esphome/components/ezo/ezo.h +0 -1
  163. esphome/components/ezo_pmp/ezo_pmp.h +0 -1
  164. esphome/components/fan/__init__.py +5 -2
  165. esphome/components/fan/fan.cpp +4 -0
  166. esphome/components/feedback/feedback_cover.h +0 -1
  167. esphome/components/font/__init__.py +92 -82
  168. esphome/components/font/font.cpp +9 -2
  169. esphome/components/font/font.h +20 -5
  170. esphome/components/fs3000/fs3000.h +0 -1
  171. esphome/components/gcja5/gcja5.h +0 -1
  172. esphome/components/gl_r01_i2c/__init__.py +0 -0
  173. esphome/components/gl_r01_i2c/gl_r01_i2c.cpp +68 -0
  174. esphome/components/gl_r01_i2c/gl_r01_i2c.h +22 -0
  175. esphome/components/gl_r01_i2c/sensor.py +36 -0
  176. esphome/components/gp8403/gp8403.h +0 -1
  177. esphome/components/gpio/binary_sensor/__init__.py +39 -1
  178. esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp +77 -3
  179. esphome/components/gpio/binary_sensor/gpio_binary_sensor.h +40 -0
  180. esphome/components/grove_gas_mc_v2/grove_gas_mc_v2.h +0 -2
  181. esphome/components/he60r/he60r.h +0 -1
  182. esphome/components/heatpumpir/climate.py +2 -1
  183. esphome/components/heatpumpir/heatpumpir.cpp +1 -0
  184. esphome/components/heatpumpir/heatpumpir.h +1 -0
  185. esphome/components/honeywellabp2_i2c/honeywellabp2.h +0 -1
  186. esphome/components/host/__init__.py +3 -1
  187. esphome/components/host/helpers.cpp +57 -0
  188. esphome/components/http_request/__init__.py +19 -1
  189. esphome/components/http_request/http_request.h +1 -1
  190. esphome/components/http_request/http_request_arduino.cpp +0 -1
  191. esphome/components/http_request/http_request_arduino.h +1 -0
  192. esphome/components/http_request/http_request_idf.cpp +0 -1
  193. esphome/components/http_request/ota/ota_http_request.cpp +1 -1
  194. esphome/components/http_request/update/http_request_update.cpp +35 -16
  195. esphome/components/hydreon_rgxx/hydreon_rgxx.cpp +3 -9
  196. esphome/components/hydreon_rgxx/sensor.py +1 -1
  197. esphome/components/i2c/__init__.py +23 -11
  198. esphome/components/i2c/i2c_bus.h +8 -1
  199. esphome/components/i2c/i2c_bus_arduino.cpp +4 -3
  200. esphome/components/i2c/i2c_bus_arduino.h +6 -3
  201. esphome/components/i2c/i2c_bus_esp_idf.h +5 -3
  202. esphome/components/i2c_device/i2c_device.h +0 -1
  203. esphome/components/i2s_audio/__init__.py +2 -10
  204. esphome/components/i2s_audio/i2s_audio.cpp +1 -5
  205. esphome/components/i2s_audio/media_player/__init__.py +2 -2
  206. esphome/components/i2s_audio/speaker/__init__.py +1 -1
  207. esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +2 -2
  208. esphome/components/iaqcore/iaqcore.h +0 -2
  209. esphome/components/image/__init__.py +123 -24
  210. esphome/components/improv_serial/improv_serial_component.cpp +0 -4
  211. esphome/components/ina219/ina219.cpp +7 -0
  212. esphome/components/ina219/ina219.h +1 -0
  213. esphome/components/ina260/ina260.h +0 -2
  214. esphome/components/inkbird_ibsth1_mini/inkbird_ibsth1_mini.h +0 -1
  215. esphome/components/inkplate6/display.py +15 -0
  216. esphome/components/inkplate6/inkplate.cpp +2 -2
  217. esphome/components/integration/integration_sensor.h +0 -1
  218. esphome/components/internal_temperature/internal_temperature.cpp +8 -27
  219. esphome/components/internal_temperature/sensor.py +0 -26
  220. esphome/components/interval/interval.h +0 -2
  221. esphome/components/json/__init__.py +1 -1
  222. esphome/components/json/json_util.cpp +56 -63
  223. esphome/components/ld2410/button/__init__.py +3 -3
  224. esphome/components/ld2410/button/factory_reset_button.cpp +9 -0
  225. esphome/components/ld2410/button/{reset_button.h → factory_reset_button.h} +2 -2
  226. esphome/components/ld2410/ld2410.cpp +421 -268
  227. esphome/components/ld2410/ld2410.h +44 -146
  228. esphome/components/ld2410/number/__init__.py +2 -2
  229. esphome/components/ld2410/sensor.py +1 -1
  230. esphome/components/ld2410/switch/__init__.py +1 -1
  231. esphome/components/ld2420/binary_sensor/ld2420_binary_sensor.cpp +2 -2
  232. esphome/components/ld2420/button/reconfig_buttons.cpp +1 -1
  233. esphome/components/ld2420/ld2420.cpp +252 -147
  234. esphome/components/ld2420/ld2420.h +52 -126
  235. esphome/components/ld2420/number/__init__.py +2 -2
  236. esphome/components/ld2420/number/gate_config_number.cpp +1 -1
  237. esphome/components/ld2420/select/operating_mode_select.cpp +1 -1
  238. esphome/components/ld2420/sensor/__init__.py +6 -2
  239. esphome/components/ld2420/sensor/ld2420_sensor.cpp +2 -2
  240. esphome/components/ld2420/sensor/ld2420_sensor.h +1 -1
  241. esphome/components/ld2420/text_sensor/text_sensor.cpp +2 -2
  242. esphome/components/ld2450/button/__init__.py +3 -3
  243. esphome/components/ld2450/button/factory_reset_button.cpp +9 -0
  244. esphome/components/ld2450/button/{reset_button.h → factory_reset_button.h} +2 -2
  245. esphome/components/ld2450/ld2450.cpp +384 -232
  246. esphome/components/ld2450/ld2450.h +60 -69
  247. esphome/components/ld2450/switch/__init__.py +1 -1
  248. esphome/components/ledc/ledc_output.cpp +1 -63
  249. esphome/components/libretiny/__init__.py +5 -3
  250. esphome/components/libretiny/const.py +5 -0
  251. esphome/components/libretiny/generate_components.py +1 -0
  252. esphome/components/libretiny/helpers.cpp +35 -0
  253. esphome/components/libretiny/lt_component.cpp +5 -3
  254. esphome/components/light/__init__.py +4 -2
  255. esphome/components/light/addressable_light.h +3 -3
  256. esphome/components/light/light_call.cpp +180 -243
  257. esphome/components/light/light_call.h +72 -20
  258. esphome/components/light/light_color_values.h +14 -14
  259. esphome/components/light/light_json_schema.cpp +17 -16
  260. esphome/components/light/light_state.h +15 -13
  261. esphome/components/light/transformers.h +2 -2
  262. esphome/components/ln882x/__init__.py +52 -0
  263. esphome/components/ln882x/boards.py +285 -0
  264. esphome/components/lock/__init__.py +5 -2
  265. esphome/components/logger/__init__.py +40 -3
  266. esphome/components/logger/logger.cpp +47 -12
  267. esphome/components/logger/logger.h +80 -49
  268. esphome/components/logger/logger_esp32.cpp +3 -3
  269. esphome/components/lps22/__init__.py +0 -0
  270. esphome/components/lps22/lps22.cpp +75 -0
  271. esphome/components/lps22/lps22.h +27 -0
  272. esphome/components/lps22/sensor.py +58 -0
  273. esphome/components/ltr390/ltr390.h +0 -1
  274. esphome/components/ltr501/ltr501.h +0 -1
  275. esphome/components/ltr_als_ps/ltr_als_ps.h +0 -1
  276. esphome/components/lvgl/__init__.py +1 -1
  277. esphome/components/lvgl/schemas.py +66 -6
  278. esphome/components/lvgl/styles.py +24 -16
  279. esphome/components/lvgl/widgets/__init__.py +12 -2
  280. esphome/components/lvgl/widgets/lv_bar.py +40 -19
  281. esphome/components/lvgl/widgets/meter.py +20 -13
  282. esphome/components/m5stack_8angle/light/m5stack_8angle_light.cpp +1 -1
  283. esphome/components/max9611/max9611.h +0 -1
  284. esphome/components/mcp23016/__init__.py +1 -1
  285. esphome/components/mcp23xxx_base/__init__.py +1 -1
  286. esphome/components/mcp4461/__init__.py +1 -1
  287. esphome/components/mcp4461/output/__init__.py +3 -2
  288. esphome/components/mcp9600/mcp9600.h +0 -2
  289. esphome/components/md5/md5.cpp +3 -3
  290. esphome/components/md5/md5.h +1 -6
  291. esphome/components/mdns/__init__.py +22 -11
  292. esphome/components/media_player/__init__.py +4 -3
  293. esphome/components/micro_wake_word/__init__.py +1 -5
  294. esphome/components/micro_wake_word/streaming_model.cpp +2 -2
  295. esphome/components/microphone/microphone.cpp +7 -9
  296. esphome/components/microphone/microphone.h +0 -2
  297. esphome/components/mipi_spi/display.py +1 -0
  298. esphome/components/mmc5603/mmc5603.cpp +1 -1
  299. esphome/components/modbus/modbus.cpp +33 -15
  300. esphome/components/modbus/modbus.h +9 -0
  301. esphome/components/modbus_controller/__init__.py +42 -10
  302. esphome/components/modbus_controller/modbus_controller.cpp +92 -11
  303. esphome/components/modbus_controller/modbus_controller.h +61 -7
  304. esphome/components/mopeka_pro_check/mopeka_pro_check.h +0 -1
  305. esphome/components/mopeka_std_check/mopeka_std_check.h +0 -1
  306. esphome/components/mpl3115a2/mpl3115a2.h +0 -2
  307. esphome/components/mqtt/__init__.py +16 -0
  308. esphome/components/mqtt/mqtt_alarm_control_panel.cpp +2 -1
  309. esphome/components/mqtt/mqtt_backend.h +2 -1
  310. esphome/components/mqtt/mqtt_backend_esp32.cpp +132 -47
  311. esphome/components/mqtt/mqtt_backend_esp32.h +106 -4
  312. esphome/components/mqtt/mqtt_binary_sensor.cpp +1 -0
  313. esphome/components/mqtt/mqtt_button.cpp +4 -1
  314. esphome/components/mqtt/mqtt_client.cpp +17 -9
  315. esphome/components/mqtt/mqtt_client.h +8 -3
  316. esphome/components/mqtt/mqtt_climate.cpp +6 -4
  317. esphome/components/mqtt/mqtt_component.cpp +3 -1
  318. esphome/components/mqtt/mqtt_cover.cpp +1 -0
  319. esphome/components/mqtt/mqtt_date.cpp +4 -3
  320. esphome/components/mqtt/mqtt_datetime.cpp +7 -6
  321. esphome/components/mqtt/mqtt_event.cpp +6 -3
  322. esphome/components/mqtt/mqtt_fan.cpp +1 -0
  323. esphome/components/mqtt/mqtt_light.cpp +8 -4
  324. esphome/components/mqtt/mqtt_lock.cpp +3 -1
  325. esphome/components/mqtt/mqtt_number.cpp +1 -0
  326. esphome/components/mqtt/mqtt_select.cpp +2 -1
  327. esphome/components/mqtt/mqtt_sensor.cpp +3 -1
  328. esphome/components/mqtt/mqtt_switch.cpp +3 -1
  329. esphome/components/mqtt/mqtt_text.cpp +1 -0
  330. esphome/components/mqtt/mqtt_text_sensor.cpp +3 -1
  331. esphome/components/mqtt/mqtt_time.cpp +4 -3
  332. esphome/components/mqtt/mqtt_update.cpp +1 -0
  333. esphome/components/mqtt/mqtt_valve.cpp +3 -1
  334. esphome/components/ms8607/ms8607.cpp +1 -1
  335. esphome/components/ms8607/ms8607.h +0 -1
  336. esphome/components/neopixelbus/light.py +4 -1
  337. esphome/components/neopixelbus/neopixelbus_light.h +1 -1
  338. esphome/components/network/__init__.py +4 -1
  339. esphome/components/network/ip_address.h +1 -0
  340. esphome/components/nextion/__init__.py +16 -0
  341. esphome/components/nextion/base_component.py +1 -0
  342. esphome/components/nextion/binary_sensor/nextion_binarysensor.cpp +1 -1
  343. esphome/components/nextion/display.py +14 -4
  344. esphome/components/nextion/nextion.cpp +166 -101
  345. esphome/components/nextion/nextion.h +84 -53
  346. esphome/components/nextion/nextion_commands.cpp +11 -10
  347. esphome/components/nextion/nextion_component.cpp +28 -28
  348. esphome/components/nextion/nextion_component.h +53 -18
  349. esphome/components/nextion/nextion_component_base.h +3 -0
  350. esphome/components/nextion/nextion_upload.cpp +36 -0
  351. esphome/components/nextion/nextion_upload_arduino.cpp +10 -35
  352. esphome/components/nextion/nextion_upload_idf.cpp +9 -33
  353. esphome/components/nextion/sensor/nextion_sensor.cpp +1 -1
  354. esphome/components/nextion/switch/nextion_switch.cpp +1 -1
  355. esphome/components/nextion/text_sensor/nextion_textsensor.cpp +1 -1
  356. esphome/components/nfc/nfc.cpp +3 -22
  357. esphome/components/nfc/nfc.h +3 -3
  358. esphome/components/number/__init__.py +5 -2
  359. esphome/components/online_image/__init__.py +9 -1
  360. esphome/components/online_image/online_image.cpp +17 -7
  361. esphome/components/online_image/online_image.h +10 -2
  362. esphome/components/opentherm/opentherm.cpp +7 -12
  363. esphome/components/opentherm/output/output.cpp +1 -1
  364. esphome/components/openthread/__init__.py +47 -40
  365. esphome/components/openthread/const.py +1 -0
  366. esphome/components/openthread/openthread_esp.cpp +27 -5
  367. esphome/components/opt3001/__init__.py +0 -0
  368. esphome/components/opt3001/opt3001.cpp +122 -0
  369. esphome/components/opt3001/opt3001.h +27 -0
  370. esphome/components/opt3001/sensor.py +35 -0
  371. esphome/components/ota/__init__.py +17 -0
  372. esphome/components/ota/ota_backend.h +27 -1
  373. esphome/components/ota/ota_backend_arduino_esp32.cpp +12 -2
  374. esphome/components/ota/ota_backend_arduino_esp32.h +3 -0
  375. esphome/components/ota/ota_backend_arduino_esp8266.cpp +18 -4
  376. esphome/components/ota/ota_backend_arduino_esp8266.h +3 -0
  377. esphome/components/ota/ota_backend_arduino_libretiny.cpp +12 -2
  378. esphome/components/ota/ota_backend_arduino_libretiny.h +3 -0
  379. esphome/components/ota/ota_backend_arduino_rp2040.cpp +9 -2
  380. esphome/components/ota/ota_backend_arduino_rp2040.h +3 -0
  381. esphome/components/ota/ota_backend_esp_idf.cpp +10 -16
  382. esphome/components/ota/ota_backend_esp_idf.h +1 -0
  383. esphome/components/packages/__init__.py +5 -2
  384. esphome/components/packet_transport/binary_sensor.py +61 -4
  385. esphome/components/packet_transport/packet_transport.cpp +34 -1
  386. esphome/components/packet_transport/packet_transport.h +11 -5
  387. esphome/components/pcf8574/__init__.py +1 -1
  388. esphome/components/pi4ioe5v6408/__init__.py +84 -0
  389. esphome/components/pi4ioe5v6408/pi4ioe5v6408.cpp +171 -0
  390. esphome/components/pi4ioe5v6408/pi4ioe5v6408.h +70 -0
  391. esphome/components/pmsa003i/pmsa003i.h +0 -1
  392. esphome/components/pmsx003/pmsx003.h +0 -1
  393. esphome/components/pn7150/pn7150.cpp +7 -7
  394. esphome/components/pn7150/pn7150.h +0 -1
  395. esphome/components/pn7160/pn7160.cpp +7 -7
  396. esphome/components/pn7160/pn7160.h +0 -1
  397. esphome/components/preferences/syncer.h +2 -0
  398. esphome/components/prometheus/prometheus_handler.h +1 -1
  399. esphome/components/psram/psram.cpp +0 -20
  400. esphome/components/pulse_counter/pulse_counter_sensor.h +0 -1
  401. esphome/components/pulse_meter/pulse_meter_sensor.cpp +8 -4
  402. esphome/components/pulse_width/pulse_width.h +0 -1
  403. esphome/components/pvvx_mithermometer/display/pvvx_display.cpp +0 -4
  404. esphome/components/pvvx_mithermometer/display/pvvx_display.h +0 -2
  405. esphome/components/pvvx_mithermometer/pvvx_mithermometer.h +0 -1
  406. esphome/components/qr_code/__init__.py +13 -10
  407. esphome/components/qwiic_pir/qwiic_pir.h +0 -1
  408. esphome/components/radon_eye_ble/radon_eye_listener.cpp +1 -1
  409. esphome/components/rc522/rc522.h +0 -1
  410. esphome/components/rdm6300/rdm6300.h +0 -2
  411. esphome/components/remote_base/__init__.py +7 -5
  412. esphome/components/remote_base/remote_base.cpp +24 -21
  413. esphome/components/remote_base/remote_base.h +3 -26
  414. esphome/components/remote_receiver/__init__.py +40 -46
  415. esphome/components/remote_receiver/remote_receiver.h +4 -18
  416. esphome/components/remote_receiver/remote_receiver_esp32.cpp +0 -87
  417. esphome/components/remote_receiver/remote_receiver_esp8266.cpp +1 -1
  418. esphome/components/remote_transmitter/__init__.py +42 -43
  419. esphome/components/remote_transmitter/remote_transmitter.h +2 -14
  420. esphome/components/remote_transmitter/remote_transmitter_esp32.cpp +0 -77
  421. esphome/components/resistance/resistance_sensor.h +0 -1
  422. esphome/components/rp2040/__init__.py +2 -0
  423. esphome/components/rp2040/helpers.cpp +55 -0
  424. esphome/components/rp2040_pio_led_strip/led_strip.cpp +2 -2
  425. esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.cpp +0 -4
  426. esphome/components/rtttl/__init__.py +4 -4
  427. esphome/components/rtttl/rtttl.cpp +10 -1
  428. esphome/components/ruuvitag/ruuvitag.h +0 -1
  429. esphome/components/safe_mode/safe_mode.cpp +2 -0
  430. esphome/components/safe_mode/safe_mode.h +4 -1
  431. esphome/components/scd30/scd30.h +0 -1
  432. esphome/components/scd30/sensor.py +2 -2
  433. esphome/components/scd4x/scd4x.cpp +61 -54
  434. esphome/components/scd4x/scd4x.h +17 -15
  435. esphome/components/scd4x/sensor.py +4 -4
  436. esphome/components/script/script.h +0 -2
  437. esphome/components/sdp3x/sensor.py +1 -1
  438. esphome/components/select/__init__.py +5 -2
  439. esphome/components/sen5x/sen5x.h +0 -1
  440. esphome/components/senseair/senseair.h +0 -1
  441. esphome/components/sensor/__init__.py +4 -2
  442. esphome/components/sensor/filter.cpp +1 -1
  443. esphome/components/sensor/sensor.cpp +12 -6
  444. esphome/components/sensor/sensor.h +13 -5
  445. esphome/components/servo/servo.cpp +2 -2
  446. esphome/components/servo/servo.h +0 -1
  447. esphome/components/sfa30/sfa30.h +0 -1
  448. esphome/components/sgp30/sgp30.h +0 -1
  449. esphome/components/sgp4x/sgp4x.h +0 -1
  450. esphome/components/shelly_dimmer/stm32flash.cpp +1 -2
  451. esphome/components/sht4x/sht4x.h +0 -1
  452. esphome/components/sm300d2/sm300d2.h +0 -2
  453. esphome/components/smt100/sensor.py +8 -4
  454. esphome/components/smt100/smt100.cpp +5 -5
  455. esphome/components/smt100/smt100.h +3 -3
  456. esphome/components/sn74hc595/__init__.py +1 -1
  457. esphome/components/sn74hc595/sn74hc595.cpp +5 -4
  458. esphome/components/sntp/sntp_component.cpp +9 -3
  459. esphome/components/sntp/time.py +2 -0
  460. esphome/components/socket/__init__.py +17 -0
  461. esphome/components/spi/__init__.py +27 -6
  462. esphome/components/spi/spi.cpp +3 -2
  463. esphome/components/spi/spi.h +9 -3
  464. esphome/components/spi/spi_arduino.cpp +3 -5
  465. esphome/components/spi/spi_esp_idf.cpp +40 -21
  466. esphome/components/spi_led_strip/spi_led_strip.cpp +1 -1
  467. esphome/components/sps30/sps30.h +0 -1
  468. esphome/components/ssd1306_base/ssd1306_base.cpp +1 -1
  469. esphome/components/st7701s/st7701s.cpp +0 -4
  470. esphome/components/status/status_binary_sensor.h +0 -2
  471. esphome/components/substitutions/__init__.py +81 -21
  472. esphome/components/substitutions/jinja.py +99 -0
  473. esphome/components/sun/sun.cpp +3 -4
  474. esphome/components/switch/__init__.py +5 -2
  475. esphome/components/switch/binary_sensor/switch_binary_sensor.h +0 -1
  476. esphome/components/sx126x/__init__.py +317 -0
  477. esphome/components/sx126x/automation.h +62 -0
  478. esphome/components/sx126x/packet_transport/__init__.py +26 -0
  479. esphome/components/sx126x/packet_transport/sx126x_transport.cpp +26 -0
  480. esphome/components/sx126x/packet_transport/sx126x_transport.h +25 -0
  481. esphome/components/sx126x/sx126x.cpp +523 -0
  482. esphome/components/sx126x/sx126x.h +140 -0
  483. esphome/components/sx126x/sx126x_reg.h +163 -0
  484. esphome/components/sx127x/__init__.py +325 -0
  485. esphome/components/sx127x/automation.h +62 -0
  486. esphome/components/sx127x/packet_transport/__init__.py +26 -0
  487. esphome/components/sx127x/packet_transport/sx127x_transport.cpp +26 -0
  488. esphome/components/sx127x/packet_transport/sx127x_transport.h +25 -0
  489. esphome/components/sx127x/sx127x.cpp +498 -0
  490. esphome/components/sx127x/sx127x.h +128 -0
  491. esphome/components/sx127x/sx127x_reg.h +295 -0
  492. esphome/components/syslog/esphome_syslog.cpp +5 -3
  493. esphome/components/syslog/esphome_syslog.h +1 -1
  494. esphome/components/tca9555/__init__.py +1 -1
  495. esphome/components/template/binary_sensor/template_binary_sensor.cpp +1 -9
  496. esphome/components/text/__init__.py +5 -2
  497. esphome/components/text_sensor/__init__.py +5 -2
  498. esphome/components/thermostat/thermostat_climate.cpp +34 -31
  499. esphome/components/thermostat/thermostat_climate.h +43 -39
  500. esphome/components/time/__init__.py +16 -2
  501. esphome/components/time/real_time_clock.cpp +4 -0
  502. esphome/components/time/real_time_clock.h +5 -1
  503. esphome/components/tlc5971/tlc5971.cpp +4 -1
  504. esphome/components/tmp1075/tmp1075.h +0 -2
  505. esphome/components/tof10120/tof10120_sensor.h +0 -1
  506. esphome/components/tormatic/tormatic_cover.h +0 -1
  507. esphome/components/total_daily_energy/total_daily_energy.h +0 -1
  508. esphome/components/tsl2591/tsl2591.cpp +1 -1
  509. esphome/components/ttp229_bsf/ttp229_bsf.h +0 -1
  510. esphome/components/ttp229_lsf/ttp229_lsf.h +0 -1
  511. esphome/components/tx20/tx20.cpp +2 -2
  512. esphome/components/uart/__init__.py +18 -0
  513. esphome/components/uart/uart_component_esp_idf.cpp +1 -5
  514. esphome/components/update/__init__.py +5 -2
  515. esphome/components/update/update_entity.h +8 -0
  516. esphome/components/usb_host/__init__.py +5 -2
  517. esphome/components/usb_host/usb_host_client.cpp +10 -10
  518. esphome/components/usb_uart/cp210x.cpp +1 -1
  519. esphome/components/usb_uart/usb_uart.cpp +41 -44
  520. esphome/components/usb_uart/usb_uart.h +4 -3
  521. esphome/components/valve/__init__.py +5 -2
  522. esphome/components/vbus/vbus.h +0 -1
  523. esphome/components/veml3235/veml3235.h +0 -1
  524. esphome/components/veml7700/veml7700.h +0 -1
  525. esphome/components/vl53l0x/vl53l0x_sensor.h +0 -1
  526. esphome/components/voice_assistant/voice_assistant.cpp +4 -4
  527. esphome/components/watchdog/watchdog.cpp +0 -4
  528. esphome/components/waveshare_epaper/waveshare_epaper.cpp +6 -6
  529. esphome/components/web_server/__init__.py +34 -19
  530. esphome/components/web_server/ota/__init__.py +32 -0
  531. esphome/components/web_server/ota/ota_web_server.cpp +210 -0
  532. esphome/components/web_server/ota/ota_web_server.h +26 -0
  533. esphome/components/web_server/web_server.cpp +324 -439
  534. esphome/components/web_server/web_server.h +33 -23
  535. esphome/components/web_server/web_server_v1.cpp +4 -5
  536. esphome/components/web_server_base/__init__.py +5 -2
  537. esphome/components/web_server_base/web_server_base.cpp +2 -94
  538. esphome/components/web_server_base/web_server_base.h +5 -25
  539. esphome/components/web_server_idf/multipart.cpp +254 -0
  540. esphome/components/web_server_idf/multipart.h +86 -0
  541. esphome/components/web_server_idf/utils.cpp +32 -0
  542. esphome/components/web_server_idf/utils.h +10 -0
  543. esphome/components/web_server_idf/web_server_idf.cpp +164 -16
  544. esphome/components/web_server_idf/web_server_idf.h +11 -10
  545. esphome/components/wiegand/wiegand.cpp +2 -2
  546. esphome/components/wifi/__init__.py +18 -0
  547. esphome/components/wifi/wifi_component.cpp +17 -22
  548. esphome/components/wifi/wifi_component.h +27 -23
  549. esphome/components/wifi/wifi_component_esp32_arduino.cpp +52 -59
  550. esphome/components/wifi/wifi_component_esp8266.cpp +46 -46
  551. esphome/components/wifi/wifi_component_esp_idf.cpp +35 -36
  552. esphome/components/wifi/wifi_component_libretiny.cpp +26 -27
  553. esphome/components/wifi/wifi_component_pico_w.cpp +3 -3
  554. esphome/components/wifi_info/wifi_info_text_sensor.cpp +6 -6
  555. esphome/components/wireguard/__init__.py +2 -11
  556. esphome/components/xiaomi_ble/xiaomi_ble.cpp +13 -1
  557. esphome/components/xiaomi_ble/xiaomi_ble.h +1 -0
  558. esphome/components/xiaomi_cgd1/xiaomi_cgd1.h +0 -1
  559. esphome/components/xiaomi_cgdk2/xiaomi_cgdk2.h +0 -1
  560. esphome/components/xiaomi_cgg1/xiaomi_cgg1.h +0 -1
  561. esphome/components/xiaomi_cgpr1/xiaomi_cgpr1.h +0 -1
  562. esphome/components/xiaomi_gcls002/xiaomi_gcls002.h +0 -1
  563. esphome/components/xiaomi_hhccjcy01/xiaomi_hhccjcy01.h +0 -1
  564. esphome/components/xiaomi_hhccjcy10/xiaomi_hhccjcy10.h +0 -1
  565. esphome/components/xiaomi_hhccpot002/xiaomi_hhccpot002.h +0 -1
  566. esphome/components/xiaomi_jqjcy01ym/xiaomi_jqjcy01ym.h +0 -1
  567. esphome/components/xiaomi_lywsd02/xiaomi_lywsd02.h +0 -1
  568. esphome/components/xiaomi_lywsd02mmc/xiaomi_lywsd02mmc.h +0 -1
  569. esphome/components/xiaomi_lywsd03mmc/xiaomi_lywsd03mmc.h +0 -1
  570. esphome/components/xiaomi_lywsdcgq/xiaomi_lywsdcgq.h +0 -1
  571. esphome/components/xiaomi_mhoc303/xiaomi_mhoc303.h +0 -1
  572. esphome/components/xiaomi_mhoc401/xiaomi_mhoc401.h +0 -1
  573. esphome/components/xiaomi_miscale/xiaomi_miscale.h +0 -1
  574. esphome/components/xiaomi_mjyd02yla/xiaomi_mjyd02yla.h +0 -1
  575. esphome/components/xiaomi_mue4094rt/xiaomi_mue4094rt.h +0 -1
  576. esphome/components/xiaomi_rtcgq02lm/xiaomi_rtcgq02lm.h +0 -1
  577. esphome/components/xiaomi_wx08zm/xiaomi_wx08zm.h +0 -1
  578. esphome/components/xiaomi_xmwsdj04mmc/__init__.py +0 -0
  579. esphome/components/xiaomi_xmwsdj04mmc/sensor.py +77 -0
  580. esphome/components/xiaomi_xmwsdj04mmc/xiaomi_xmwsdj04mmc.cpp +77 -0
  581. esphome/components/xiaomi_xmwsdj04mmc/xiaomi_xmwsdj04mmc.h +36 -0
  582. esphome/components/zio_ultrasonic/zio_ultrasonic.h +0 -2
  583. esphome/components/zyaura/zyaura.h +0 -1
  584. esphome/config.py +88 -22
  585. esphome/config_helpers.py +74 -1
  586. esphome/config_validation.py +12 -1
  587. esphome/const.py +65 -10
  588. esphome/core/__init__.py +18 -2
  589. esphome/core/application.cpp +169 -10
  590. esphome/core/application.h +145 -165
  591. esphome/core/area.h +19 -0
  592. esphome/core/automation.h +58 -9
  593. esphome/core/color.cpp +3 -5
  594. esphome/core/color.h +16 -16
  595. esphome/core/component.cpp +156 -22
  596. esphome/core/component.h +98 -4
  597. esphome/core/component_iterator.cpp +11 -9
  598. esphome/core/component_iterator.h +12 -10
  599. esphome/core/config.py +155 -6
  600. esphome/core/controller.cpp +4 -2
  601. esphome/core/controller.h +1 -1
  602. esphome/core/datatypes.h +2 -2
  603. esphome/core/defines.h +17 -2
  604. esphome/core/device.h +20 -0
  605. esphome/core/entity_base.cpp +20 -15
  606. esphome/core/entity_base.h +76 -0
  607. esphome/core/entity_helpers.py +168 -1
  608. esphome/core/event_pool.h +81 -0
  609. esphome/core/helpers.cpp +75 -230
  610. esphome/core/helpers.h +165 -105
  611. esphome/core/lock_free_queue.h +151 -0
  612. esphome/core/log.cpp +2 -2
  613. esphome/core/log.h +2 -0
  614. esphome/core/optional.h +5 -0
  615. esphome/core/ring_buffer.cpp +2 -2
  616. esphome/core/scheduler.cpp +275 -103
  617. esphome/core/scheduler.h +154 -17
  618. esphome/core/time.cpp +5 -5
  619. esphome/core/time.h +5 -5
  620. esphome/cpp_generator.py +17 -0
  621. esphome/cpp_helpers.py +0 -22
  622. esphome/cpp_types.py +3 -1
  623. esphome/dashboard/entries.py +1 -1
  624. esphome/dashboard/util/text.py +5 -21
  625. esphome/dashboard/web_server.py +9 -1
  626. esphome/helpers.py +47 -0
  627. esphome/loader.py +15 -1
  628. esphome/pins.py +14 -8
  629. esphome/platformio_api.py +2 -0
  630. esphome/wizard.py +17 -4
  631. esphome/writer.py +44 -3
  632. esphome/yaml_util.py +0 -2
  633. {esphome-2025.6.2.dist-info → esphome-2025.7.0.dist-info}/METADATA +10 -9
  634. {esphome-2025.6.2.dist-info → esphome-2025.7.0.dist-info}/RECORD +639 -580
  635. esphome/components/api/api_pb2_size.h +0 -361
  636. esphome/components/esp32_ble/ble_event_pool.h +0 -72
  637. esphome/components/esp32_ble/queue.h +0 -85
  638. esphome/components/esp32_hall/esp32_hall.cpp +0 -25
  639. esphome/components/esp32_hall/esp32_hall.h +0 -23
  640. esphome/components/esp32_touch/esp32_touch.cpp +0 -355
  641. esphome/components/ld2410/button/reset_button.cpp +0 -9
  642. esphome/components/ld2450/button/reset_button.cpp +0 -9
  643. esphome/components/openthread/tlv.py +0 -65
  644. /esphome/{dashboard/enum.py → enum.py} +0 -0
  645. {esphome-2025.6.2.dist-info → esphome-2025.7.0.dist-info}/WHEEL +0 -0
  646. {esphome-2025.6.2.dist-info → esphome-2025.7.0.dist-info}/entry_points.txt +0 -0
  647. {esphome-2025.6.2.dist-info → esphome-2025.7.0.dist-info}/licenses/LICENSE +0 -0
  648. {esphome-2025.6.2.dist-info → esphome-2025.7.0.dist-info}/top_level.txt +0 -0
@@ -2,8 +2,9 @@
2
2
  // See script/api_protobuf/api_protobuf.py
3
3
  #pragma once
4
4
 
5
+ #include "esphome/core/defines.h"
6
+
5
7
  #include "proto.h"
6
- #include "api_pb2_size.h"
7
8
 
8
9
  namespace esphome {
9
10
  namespace api {
@@ -15,6 +16,7 @@ enum EntityCategory : uint32_t {
15
16
  ENTITY_CATEGORY_CONFIG = 1,
16
17
  ENTITY_CATEGORY_DIAGNOSTIC = 2,
17
18
  };
19
+ #ifdef USE_COVER
18
20
  enum LegacyCoverState : uint32_t {
19
21
  LEGACY_COVER_STATE_OPEN = 0,
20
22
  LEGACY_COVER_STATE_CLOSED = 1,
@@ -29,6 +31,8 @@ enum LegacyCoverCommand : uint32_t {
29
31
  LEGACY_COVER_COMMAND_CLOSE = 1,
30
32
  LEGACY_COVER_COMMAND_STOP = 2,
31
33
  };
34
+ #endif
35
+ #ifdef USE_FAN
32
36
  enum FanSpeed : uint32_t {
33
37
  FAN_SPEED_LOW = 0,
34
38
  FAN_SPEED_MEDIUM = 1,
@@ -38,6 +42,8 @@ enum FanDirection : uint32_t {
38
42
  FAN_DIRECTION_FORWARD = 0,
39
43
  FAN_DIRECTION_REVERSE = 1,
40
44
  };
45
+ #endif
46
+ #ifdef USE_LIGHT
41
47
  enum ColorMode : uint32_t {
42
48
  COLOR_MODE_UNKNOWN = 0,
43
49
  COLOR_MODE_ON_OFF = 1,
@@ -51,6 +57,8 @@ enum ColorMode : uint32_t {
51
57
  COLOR_MODE_RGB_COLOR_TEMPERATURE = 47,
52
58
  COLOR_MODE_RGB_COLD_WARM_WHITE = 51,
53
59
  };
60
+ #endif
61
+ #ifdef USE_SENSOR
54
62
  enum SensorStateClass : uint32_t {
55
63
  STATE_CLASS_NONE = 0,
56
64
  STATE_CLASS_MEASUREMENT = 1,
@@ -62,6 +70,7 @@ enum SensorLastResetType : uint32_t {
62
70
  LAST_RESET_NEVER = 1,
63
71
  LAST_RESET_AUTO = 2,
64
72
  };
73
+ #endif
65
74
  enum LogLevel : uint32_t {
66
75
  LOG_LEVEL_NONE = 0,
67
76
  LOG_LEVEL_ERROR = 1,
@@ -72,6 +81,7 @@ enum LogLevel : uint32_t {
72
81
  LOG_LEVEL_VERBOSE = 6,
73
82
  LOG_LEVEL_VERY_VERBOSE = 7,
74
83
  };
84
+ #ifdef USE_API_SERVICES
75
85
  enum ServiceArgType : uint32_t {
76
86
  SERVICE_ARG_TYPE_BOOL = 0,
77
87
  SERVICE_ARG_TYPE_INT = 1,
@@ -82,6 +92,8 @@ enum ServiceArgType : uint32_t {
82
92
  SERVICE_ARG_TYPE_FLOAT_ARRAY = 6,
83
93
  SERVICE_ARG_TYPE_STRING_ARRAY = 7,
84
94
  };
95
+ #endif
96
+ #ifdef USE_CLIMATE
85
97
  enum ClimateMode : uint32_t {
86
98
  CLIMATE_MODE_OFF = 0,
87
99
  CLIMATE_MODE_HEAT_COOL = 1,
@@ -127,11 +139,15 @@ enum ClimatePreset : uint32_t {
127
139
  CLIMATE_PRESET_SLEEP = 6,
128
140
  CLIMATE_PRESET_ACTIVITY = 7,
129
141
  };
142
+ #endif
143
+ #ifdef USE_NUMBER
130
144
  enum NumberMode : uint32_t {
131
145
  NUMBER_MODE_AUTO = 0,
132
146
  NUMBER_MODE_BOX = 1,
133
147
  NUMBER_MODE_SLIDER = 2,
134
148
  };
149
+ #endif
150
+ #ifdef USE_LOCK
135
151
  enum LockState : uint32_t {
136
152
  LOCK_STATE_NONE = 0,
137
153
  LOCK_STATE_LOCKED = 1,
@@ -145,6 +161,8 @@ enum LockCommand : uint32_t {
145
161
  LOCK_LOCK = 1,
146
162
  LOCK_OPEN = 2,
147
163
  };
164
+ #endif
165
+ #ifdef USE_MEDIA_PLAYER
148
166
  enum MediaPlayerState : uint32_t {
149
167
  MEDIA_PLAYER_STATE_NONE = 0,
150
168
  MEDIA_PLAYER_STATE_IDLE = 1,
@@ -162,6 +180,8 @@ enum MediaPlayerFormatPurpose : uint32_t {
162
180
  MEDIA_PLAYER_FORMAT_PURPOSE_DEFAULT = 0,
163
181
  MEDIA_PLAYER_FORMAT_PURPOSE_ANNOUNCEMENT = 1,
164
182
  };
183
+ #endif
184
+ #ifdef USE_BLUETOOTH_PROXY
165
185
  enum BluetoothDeviceRequestType : uint32_t {
166
186
  BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT = 0,
167
187
  BLUETOOTH_DEVICE_REQUEST_TYPE_DISCONNECT = 1,
@@ -183,6 +203,7 @@ enum BluetoothScannerMode : uint32_t {
183
203
  BLUETOOTH_SCANNER_MODE_PASSIVE = 0,
184
204
  BLUETOOTH_SCANNER_MODE_ACTIVE = 1,
185
205
  };
206
+ #endif
186
207
  enum VoiceAssistantSubscribeFlag : uint32_t {
187
208
  VOICE_ASSISTANT_SUBSCRIBE_NONE = 0,
188
209
  VOICE_ASSISTANT_SUBSCRIBE_API_AUDIO = 1,
@@ -192,6 +213,7 @@ enum VoiceAssistantRequestFlag : uint32_t {
192
213
  VOICE_ASSISTANT_REQUEST_USE_VAD = 1,
193
214
  VOICE_ASSISTANT_REQUEST_USE_WAKE_WORD = 2,
194
215
  };
216
+ #ifdef USE_VOICE_ASSISTANT
195
217
  enum VoiceAssistantEvent : uint32_t {
196
218
  VOICE_ASSISTANT_ERROR = 0,
197
219
  VOICE_ASSISTANT_RUN_START = 1,
@@ -216,6 +238,8 @@ enum VoiceAssistantTimerEvent : uint32_t {
216
238
  VOICE_ASSISTANT_TIMER_CANCELLED = 2,
217
239
  VOICE_ASSISTANT_TIMER_FINISHED = 3,
218
240
  };
241
+ #endif
242
+ #ifdef USE_ALARM_CONTROL_PANEL
219
243
  enum AlarmControlPanelState : uint32_t {
220
244
  ALARM_STATE_DISARMED = 0,
221
245
  ALARM_STATE_ARMED_HOME = 1,
@@ -237,20 +261,27 @@ enum AlarmControlPanelStateCommand : uint32_t {
237
261
  ALARM_CONTROL_PANEL_ARM_CUSTOM_BYPASS = 5,
238
262
  ALARM_CONTROL_PANEL_TRIGGER = 6,
239
263
  };
264
+ #endif
265
+ #ifdef USE_TEXT
240
266
  enum TextMode : uint32_t {
241
267
  TEXT_MODE_TEXT = 0,
242
268
  TEXT_MODE_PASSWORD = 1,
243
269
  };
270
+ #endif
271
+ #ifdef USE_VALVE
244
272
  enum ValveOperation : uint32_t {
245
273
  VALVE_OPERATION_IDLE = 0,
246
274
  VALVE_OPERATION_IS_OPENING = 1,
247
275
  VALVE_OPERATION_IS_CLOSING = 2,
248
276
  };
277
+ #endif
278
+ #ifdef USE_UPDATE
249
279
  enum UpdateCommand : uint32_t {
250
280
  UPDATE_COMMAND_NONE = 0,
251
281
  UPDATE_COMMAND_UPDATE = 1,
252
282
  UPDATE_COMMAND_CHECK = 2,
253
283
  };
284
+ #endif
254
285
 
255
286
  } // namespace enums
256
287
 
@@ -264,6 +295,7 @@ class InfoResponseProtoMessage : public ProtoMessage {
264
295
  bool disabled_by_default{false};
265
296
  std::string icon{};
266
297
  enums::EntityCategory entity_category{};
298
+ uint32_t device_id{0};
267
299
 
268
300
  protected:
269
301
  };
@@ -272,21 +304,29 @@ class StateResponseProtoMessage : public ProtoMessage {
272
304
  public:
273
305
  ~StateResponseProtoMessage() override = default;
274
306
  uint32_t key{0};
307
+ uint32_t device_id{0};
308
+
309
+ protected:
310
+ };
311
+
312
+ class CommandProtoMessage : public ProtoMessage {
313
+ public:
314
+ ~CommandProtoMessage() override = default;
315
+ uint32_t key{0};
316
+ uint32_t device_id{0};
275
317
 
276
318
  protected:
277
319
  };
278
320
  class HelloRequest : public ProtoMessage {
279
321
  public:
280
- static constexpr uint16_t MESSAGE_TYPE = 1;
281
- static constexpr uint16_t ESTIMATED_SIZE = 17;
322
+ static constexpr uint8_t MESSAGE_TYPE = 1;
323
+ static constexpr uint8_t ESTIMATED_SIZE = 17;
282
324
  #ifdef HAS_PROTO_MESSAGE_DUMP
283
- static constexpr const char *message_name() { return "hello_request"; }
325
+ const char *message_name() const override { return "hello_request"; }
284
326
  #endif
285
327
  std::string client_info{};
286
328
  uint32_t api_version_major{0};
287
329
  uint32_t api_version_minor{0};
288
- void encode(ProtoWriteBuffer buffer) const override;
289
- void calculate_size(uint32_t &total_size) const override;
290
330
  #ifdef HAS_PROTO_MESSAGE_DUMP
291
331
  void dump_to(std::string &out) const override;
292
332
  #endif
@@ -297,10 +337,10 @@ class HelloRequest : public ProtoMessage {
297
337
  };
298
338
  class HelloResponse : public ProtoMessage {
299
339
  public:
300
- static constexpr uint16_t MESSAGE_TYPE = 2;
301
- static constexpr uint16_t ESTIMATED_SIZE = 26;
340
+ static constexpr uint8_t MESSAGE_TYPE = 2;
341
+ static constexpr uint8_t ESTIMATED_SIZE = 26;
302
342
  #ifdef HAS_PROTO_MESSAGE_DUMP
303
- static constexpr const char *message_name() { return "hello_response"; }
343
+ const char *message_name() const override { return "hello_response"; }
304
344
  #endif
305
345
  uint32_t api_version_major{0};
306
346
  uint32_t api_version_minor{0};
@@ -313,19 +353,15 @@ class HelloResponse : public ProtoMessage {
313
353
  #endif
314
354
 
315
355
  protected:
316
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
317
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
318
356
  };
319
357
  class ConnectRequest : public ProtoMessage {
320
358
  public:
321
- static constexpr uint16_t MESSAGE_TYPE = 3;
322
- static constexpr uint16_t ESTIMATED_SIZE = 9;
359
+ static constexpr uint8_t MESSAGE_TYPE = 3;
360
+ static constexpr uint8_t ESTIMATED_SIZE = 9;
323
361
  #ifdef HAS_PROTO_MESSAGE_DUMP
324
- static constexpr const char *message_name() { return "connect_request"; }
362
+ const char *message_name() const override { return "connect_request"; }
325
363
  #endif
326
364
  std::string password{};
327
- void encode(ProtoWriteBuffer buffer) const override;
328
- void calculate_size(uint32_t &total_size) const override;
329
365
  #ifdef HAS_PROTO_MESSAGE_DUMP
330
366
  void dump_to(std::string &out) const override;
331
367
  #endif
@@ -335,10 +371,10 @@ class ConnectRequest : public ProtoMessage {
335
371
  };
336
372
  class ConnectResponse : public ProtoMessage {
337
373
  public:
338
- static constexpr uint16_t MESSAGE_TYPE = 4;
339
- static constexpr uint16_t ESTIMATED_SIZE = 2;
374
+ static constexpr uint8_t MESSAGE_TYPE = 4;
375
+ static constexpr uint8_t ESTIMATED_SIZE = 2;
340
376
  #ifdef HAS_PROTO_MESSAGE_DUMP
341
- static constexpr const char *message_name() { return "connect_response"; }
377
+ const char *message_name() const override { return "connect_response"; }
342
378
  #endif
343
379
  bool invalid_password{false};
344
380
  void encode(ProtoWriteBuffer buffer) const override;
@@ -348,17 +384,14 @@ class ConnectResponse : public ProtoMessage {
348
384
  #endif
349
385
 
350
386
  protected:
351
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
352
387
  };
353
388
  class DisconnectRequest : public ProtoMessage {
354
389
  public:
355
- static constexpr uint16_t MESSAGE_TYPE = 5;
356
- static constexpr uint16_t ESTIMATED_SIZE = 0;
390
+ static constexpr uint8_t MESSAGE_TYPE = 5;
391
+ static constexpr uint8_t ESTIMATED_SIZE = 0;
357
392
  #ifdef HAS_PROTO_MESSAGE_DUMP
358
- static constexpr const char *message_name() { return "disconnect_request"; }
393
+ const char *message_name() const override { return "disconnect_request"; }
359
394
  #endif
360
- void encode(ProtoWriteBuffer buffer) const override;
361
- void calculate_size(uint32_t &total_size) const override;
362
395
  #ifdef HAS_PROTO_MESSAGE_DUMP
363
396
  void dump_to(std::string &out) const override;
364
397
  #endif
@@ -367,13 +400,11 @@ class DisconnectRequest : public ProtoMessage {
367
400
  };
368
401
  class DisconnectResponse : public ProtoMessage {
369
402
  public:
370
- static constexpr uint16_t MESSAGE_TYPE = 6;
371
- static constexpr uint16_t ESTIMATED_SIZE = 0;
403
+ static constexpr uint8_t MESSAGE_TYPE = 6;
404
+ static constexpr uint8_t ESTIMATED_SIZE = 0;
372
405
  #ifdef HAS_PROTO_MESSAGE_DUMP
373
- static constexpr const char *message_name() { return "disconnect_response"; }
406
+ const char *message_name() const override { return "disconnect_response"; }
374
407
  #endif
375
- void encode(ProtoWriteBuffer buffer) const override;
376
- void calculate_size(uint32_t &total_size) const override;
377
408
  #ifdef HAS_PROTO_MESSAGE_DUMP
378
409
  void dump_to(std::string &out) const override;
379
410
  #endif
@@ -382,13 +413,11 @@ class DisconnectResponse : public ProtoMessage {
382
413
  };
383
414
  class PingRequest : public ProtoMessage {
384
415
  public:
385
- static constexpr uint16_t MESSAGE_TYPE = 7;
386
- static constexpr uint16_t ESTIMATED_SIZE = 0;
416
+ static constexpr uint8_t MESSAGE_TYPE = 7;
417
+ static constexpr uint8_t ESTIMATED_SIZE = 0;
387
418
  #ifdef HAS_PROTO_MESSAGE_DUMP
388
- static constexpr const char *message_name() { return "ping_request"; }
419
+ const char *message_name() const override { return "ping_request"; }
389
420
  #endif
390
- void encode(ProtoWriteBuffer buffer) const override;
391
- void calculate_size(uint32_t &total_size) const override;
392
421
  #ifdef HAS_PROTO_MESSAGE_DUMP
393
422
  void dump_to(std::string &out) const override;
394
423
  #endif
@@ -397,13 +426,11 @@ class PingRequest : public ProtoMessage {
397
426
  };
398
427
  class PingResponse : public ProtoMessage {
399
428
  public:
400
- static constexpr uint16_t MESSAGE_TYPE = 8;
401
- static constexpr uint16_t ESTIMATED_SIZE = 0;
429
+ static constexpr uint8_t MESSAGE_TYPE = 8;
430
+ static constexpr uint8_t ESTIMATED_SIZE = 0;
402
431
  #ifdef HAS_PROTO_MESSAGE_DUMP
403
- static constexpr const char *message_name() { return "ping_response"; }
432
+ const char *message_name() const override { return "ping_response"; }
404
433
  #endif
405
- void encode(ProtoWriteBuffer buffer) const override;
406
- void calculate_size(uint32_t &total_size) const override;
407
434
  #ifdef HAS_PROTO_MESSAGE_DUMP
408
435
  void dump_to(std::string &out) const override;
409
436
  #endif
@@ -412,11 +439,36 @@ class PingResponse : public ProtoMessage {
412
439
  };
413
440
  class DeviceInfoRequest : public ProtoMessage {
414
441
  public:
415
- static constexpr uint16_t MESSAGE_TYPE = 9;
416
- static constexpr uint16_t ESTIMATED_SIZE = 0;
442
+ static constexpr uint8_t MESSAGE_TYPE = 9;
443
+ static constexpr uint8_t ESTIMATED_SIZE = 0;
444
+ #ifdef HAS_PROTO_MESSAGE_DUMP
445
+ const char *message_name() const override { return "device_info_request"; }
446
+ #endif
447
+ #ifdef HAS_PROTO_MESSAGE_DUMP
448
+ void dump_to(std::string &out) const override;
449
+ #endif
450
+
451
+ protected:
452
+ };
453
+ class AreaInfo : public ProtoMessage {
454
+ public:
455
+ uint32_t area_id{0};
456
+ std::string name{};
457
+ void encode(ProtoWriteBuffer buffer) const override;
458
+ void calculate_size(uint32_t &total_size) const override;
417
459
  #ifdef HAS_PROTO_MESSAGE_DUMP
418
- static constexpr const char *message_name() { return "device_info_request"; }
460
+ void dump_to(std::string &out) const override;
419
461
  #endif
462
+
463
+ protected:
464
+ bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
465
+ bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
466
+ };
467
+ class DeviceInfo : public ProtoMessage {
468
+ public:
469
+ uint32_t device_id{0};
470
+ std::string name{};
471
+ uint32_t area_id{0};
420
472
  void encode(ProtoWriteBuffer buffer) const override;
421
473
  void calculate_size(uint32_t &total_size) const override;
422
474
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -424,13 +476,15 @@ class DeviceInfoRequest : public ProtoMessage {
424
476
  #endif
425
477
 
426
478
  protected:
479
+ bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
480
+ bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
427
481
  };
428
482
  class DeviceInfoResponse : public ProtoMessage {
429
483
  public:
430
- static constexpr uint16_t MESSAGE_TYPE = 10;
431
- static constexpr uint16_t ESTIMATED_SIZE = 129;
484
+ static constexpr uint8_t MESSAGE_TYPE = 10;
485
+ static constexpr uint8_t ESTIMATED_SIZE = 219;
432
486
  #ifdef HAS_PROTO_MESSAGE_DUMP
433
- static constexpr const char *message_name() { return "device_info_response"; }
487
+ const char *message_name() const override { return "device_info_response"; }
434
488
  #endif
435
489
  bool uses_password{false};
436
490
  std::string name{};
@@ -451,6 +505,9 @@ class DeviceInfoResponse : public ProtoMessage {
451
505
  std::string suggested_area{};
452
506
  std::string bluetooth_mac_address{};
453
507
  bool api_encryption_supported{false};
508
+ std::vector<DeviceInfo> devices{};
509
+ std::vector<AreaInfo> areas{};
510
+ AreaInfo area{};
454
511
  void encode(ProtoWriteBuffer buffer) const override;
455
512
  void calculate_size(uint32_t &total_size) const override;
456
513
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -458,18 +515,14 @@ class DeviceInfoResponse : public ProtoMessage {
458
515
  #endif
459
516
 
460
517
  protected:
461
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
462
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
463
518
  };
464
519
  class ListEntitiesRequest : public ProtoMessage {
465
520
  public:
466
- static constexpr uint16_t MESSAGE_TYPE = 11;
467
- static constexpr uint16_t ESTIMATED_SIZE = 0;
521
+ static constexpr uint8_t MESSAGE_TYPE = 11;
522
+ static constexpr uint8_t ESTIMATED_SIZE = 0;
468
523
  #ifdef HAS_PROTO_MESSAGE_DUMP
469
- static constexpr const char *message_name() { return "list_entities_request"; }
524
+ const char *message_name() const override { return "list_entities_request"; }
470
525
  #endif
471
- void encode(ProtoWriteBuffer buffer) const override;
472
- void calculate_size(uint32_t &total_size) const override;
473
526
  #ifdef HAS_PROTO_MESSAGE_DUMP
474
527
  void dump_to(std::string &out) const override;
475
528
  #endif
@@ -478,13 +531,11 @@ class ListEntitiesRequest : public ProtoMessage {
478
531
  };
479
532
  class ListEntitiesDoneResponse : public ProtoMessage {
480
533
  public:
481
- static constexpr uint16_t MESSAGE_TYPE = 19;
482
- static constexpr uint16_t ESTIMATED_SIZE = 0;
534
+ static constexpr uint8_t MESSAGE_TYPE = 19;
535
+ static constexpr uint8_t ESTIMATED_SIZE = 0;
483
536
  #ifdef HAS_PROTO_MESSAGE_DUMP
484
- static constexpr const char *message_name() { return "list_entities_done_response"; }
537
+ const char *message_name() const override { return "list_entities_done_response"; }
485
538
  #endif
486
- void encode(ProtoWriteBuffer buffer) const override;
487
- void calculate_size(uint32_t &total_size) const override;
488
539
  #ifdef HAS_PROTO_MESSAGE_DUMP
489
540
  void dump_to(std::string &out) const override;
490
541
  #endif
@@ -493,25 +544,24 @@ class ListEntitiesDoneResponse : public ProtoMessage {
493
544
  };
494
545
  class SubscribeStatesRequest : public ProtoMessage {
495
546
  public:
496
- static constexpr uint16_t MESSAGE_TYPE = 20;
497
- static constexpr uint16_t ESTIMATED_SIZE = 0;
547
+ static constexpr uint8_t MESSAGE_TYPE = 20;
548
+ static constexpr uint8_t ESTIMATED_SIZE = 0;
498
549
  #ifdef HAS_PROTO_MESSAGE_DUMP
499
- static constexpr const char *message_name() { return "subscribe_states_request"; }
550
+ const char *message_name() const override { return "subscribe_states_request"; }
500
551
  #endif
501
- void encode(ProtoWriteBuffer buffer) const override;
502
- void calculate_size(uint32_t &total_size) const override;
503
552
  #ifdef HAS_PROTO_MESSAGE_DUMP
504
553
  void dump_to(std::string &out) const override;
505
554
  #endif
506
555
 
507
556
  protected:
508
557
  };
558
+ #ifdef USE_BINARY_SENSOR
509
559
  class ListEntitiesBinarySensorResponse : public InfoResponseProtoMessage {
510
560
  public:
511
- static constexpr uint16_t MESSAGE_TYPE = 12;
512
- static constexpr uint16_t ESTIMATED_SIZE = 56;
561
+ static constexpr uint8_t MESSAGE_TYPE = 12;
562
+ static constexpr uint8_t ESTIMATED_SIZE = 60;
513
563
  #ifdef HAS_PROTO_MESSAGE_DUMP
514
- static constexpr const char *message_name() { return "list_entities_binary_sensor_response"; }
564
+ const char *message_name() const override { return "list_entities_binary_sensor_response"; }
515
565
  #endif
516
566
  std::string device_class{};
517
567
  bool is_status_binary_sensor{false};
@@ -522,16 +572,13 @@ class ListEntitiesBinarySensorResponse : public InfoResponseProtoMessage {
522
572
  #endif
523
573
 
524
574
  protected:
525
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
526
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
527
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
528
575
  };
529
576
  class BinarySensorStateResponse : public StateResponseProtoMessage {
530
577
  public:
531
- static constexpr uint16_t MESSAGE_TYPE = 21;
532
- static constexpr uint16_t ESTIMATED_SIZE = 9;
578
+ static constexpr uint8_t MESSAGE_TYPE = 21;
579
+ static constexpr uint8_t ESTIMATED_SIZE = 13;
533
580
  #ifdef HAS_PROTO_MESSAGE_DUMP
534
- static constexpr const char *message_name() { return "binary_sensor_state_response"; }
581
+ const char *message_name() const override { return "binary_sensor_state_response"; }
535
582
  #endif
536
583
  bool state{false};
537
584
  bool missing_state{false};
@@ -542,15 +589,15 @@ class BinarySensorStateResponse : public StateResponseProtoMessage {
542
589
  #endif
543
590
 
544
591
  protected:
545
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
546
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
547
592
  };
593
+ #endif
594
+ #ifdef USE_COVER
548
595
  class ListEntitiesCoverResponse : public InfoResponseProtoMessage {
549
596
  public:
550
- static constexpr uint16_t MESSAGE_TYPE = 13;
551
- static constexpr uint16_t ESTIMATED_SIZE = 62;
597
+ static constexpr uint8_t MESSAGE_TYPE = 13;
598
+ static constexpr uint8_t ESTIMATED_SIZE = 66;
552
599
  #ifdef HAS_PROTO_MESSAGE_DUMP
553
- static constexpr const char *message_name() { return "list_entities_cover_response"; }
600
+ const char *message_name() const override { return "list_entities_cover_response"; }
554
601
  #endif
555
602
  bool assumed_state{false};
556
603
  bool supports_position{false};
@@ -564,16 +611,13 @@ class ListEntitiesCoverResponse : public InfoResponseProtoMessage {
564
611
  #endif
565
612
 
566
613
  protected:
567
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
568
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
569
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
570
614
  };
571
615
  class CoverStateResponse : public StateResponseProtoMessage {
572
616
  public:
573
- static constexpr uint16_t MESSAGE_TYPE = 22;
574
- static constexpr uint16_t ESTIMATED_SIZE = 19;
617
+ static constexpr uint8_t MESSAGE_TYPE = 22;
618
+ static constexpr uint8_t ESTIMATED_SIZE = 23;
575
619
  #ifdef HAS_PROTO_MESSAGE_DUMP
576
- static constexpr const char *message_name() { return "cover_state_response"; }
620
+ const char *message_name() const override { return "cover_state_response"; }
577
621
  #endif
578
622
  enums::LegacyCoverState legacy_state{};
579
623
  float position{0.0f};
@@ -586,17 +630,14 @@ class CoverStateResponse : public StateResponseProtoMessage {
586
630
  #endif
587
631
 
588
632
  protected:
589
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
590
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
591
633
  };
592
- class CoverCommandRequest : public ProtoMessage {
634
+ class CoverCommandRequest : public CommandProtoMessage {
593
635
  public:
594
- static constexpr uint16_t MESSAGE_TYPE = 30;
595
- static constexpr uint16_t ESTIMATED_SIZE = 25;
636
+ static constexpr uint8_t MESSAGE_TYPE = 30;
637
+ static constexpr uint8_t ESTIMATED_SIZE = 29;
596
638
  #ifdef HAS_PROTO_MESSAGE_DUMP
597
- static constexpr const char *message_name() { return "cover_command_request"; }
639
+ const char *message_name() const override { return "cover_command_request"; }
598
640
  #endif
599
- uint32_t key{0};
600
641
  bool has_legacy_command{false};
601
642
  enums::LegacyCoverCommand legacy_command{};
602
643
  bool has_position{false};
@@ -604,8 +645,6 @@ class CoverCommandRequest : public ProtoMessage {
604
645
  bool has_tilt{false};
605
646
  float tilt{0.0f};
606
647
  bool stop{false};
607
- void encode(ProtoWriteBuffer buffer) const override;
608
- void calculate_size(uint32_t &total_size) const override;
609
648
  #ifdef HAS_PROTO_MESSAGE_DUMP
610
649
  void dump_to(std::string &out) const override;
611
650
  #endif
@@ -614,12 +653,14 @@ class CoverCommandRequest : public ProtoMessage {
614
653
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
615
654
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
616
655
  };
656
+ #endif
657
+ #ifdef USE_FAN
617
658
  class ListEntitiesFanResponse : public InfoResponseProtoMessage {
618
659
  public:
619
- static constexpr uint16_t MESSAGE_TYPE = 14;
620
- static constexpr uint16_t ESTIMATED_SIZE = 73;
660
+ static constexpr uint8_t MESSAGE_TYPE = 14;
661
+ static constexpr uint8_t ESTIMATED_SIZE = 77;
621
662
  #ifdef HAS_PROTO_MESSAGE_DUMP
622
- static constexpr const char *message_name() { return "list_entities_fan_response"; }
663
+ const char *message_name() const override { return "list_entities_fan_response"; }
623
664
  #endif
624
665
  bool supports_oscillation{false};
625
666
  bool supports_speed{false};
@@ -633,16 +674,13 @@ class ListEntitiesFanResponse : public InfoResponseProtoMessage {
633
674
  #endif
634
675
 
635
676
  protected:
636
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
637
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
638
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
639
677
  };
640
678
  class FanStateResponse : public StateResponseProtoMessage {
641
679
  public:
642
- static constexpr uint16_t MESSAGE_TYPE = 23;
643
- static constexpr uint16_t ESTIMATED_SIZE = 26;
680
+ static constexpr uint8_t MESSAGE_TYPE = 23;
681
+ static constexpr uint8_t ESTIMATED_SIZE = 30;
644
682
  #ifdef HAS_PROTO_MESSAGE_DUMP
645
- static constexpr const char *message_name() { return "fan_state_response"; }
683
+ const char *message_name() const override { return "fan_state_response"; }
646
684
  #endif
647
685
  bool state{false};
648
686
  bool oscillating{false};
@@ -657,18 +695,14 @@ class FanStateResponse : public StateResponseProtoMessage {
657
695
  #endif
658
696
 
659
697
  protected:
660
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
661
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
662
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
663
698
  };
664
- class FanCommandRequest : public ProtoMessage {
699
+ class FanCommandRequest : public CommandProtoMessage {
665
700
  public:
666
- static constexpr uint16_t MESSAGE_TYPE = 31;
667
- static constexpr uint16_t ESTIMATED_SIZE = 38;
701
+ static constexpr uint8_t MESSAGE_TYPE = 31;
702
+ static constexpr uint8_t ESTIMATED_SIZE = 42;
668
703
  #ifdef HAS_PROTO_MESSAGE_DUMP
669
- static constexpr const char *message_name() { return "fan_command_request"; }
704
+ const char *message_name() const override { return "fan_command_request"; }
670
705
  #endif
671
- uint32_t key{0};
672
706
  bool has_state{false};
673
707
  bool state{false};
674
708
  bool has_speed{false};
@@ -681,8 +715,6 @@ class FanCommandRequest : public ProtoMessage {
681
715
  int32_t speed_level{0};
682
716
  bool has_preset_mode{false};
683
717
  std::string preset_mode{};
684
- void encode(ProtoWriteBuffer buffer) const override;
685
- void calculate_size(uint32_t &total_size) const override;
686
718
  #ifdef HAS_PROTO_MESSAGE_DUMP
687
719
  void dump_to(std::string &out) const override;
688
720
  #endif
@@ -692,12 +724,14 @@ class FanCommandRequest : public ProtoMessage {
692
724
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
693
725
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
694
726
  };
727
+ #endif
728
+ #ifdef USE_LIGHT
695
729
  class ListEntitiesLightResponse : public InfoResponseProtoMessage {
696
730
  public:
697
- static constexpr uint16_t MESSAGE_TYPE = 15;
698
- static constexpr uint16_t ESTIMATED_SIZE = 85;
731
+ static constexpr uint8_t MESSAGE_TYPE = 15;
732
+ static constexpr uint8_t ESTIMATED_SIZE = 90;
699
733
  #ifdef HAS_PROTO_MESSAGE_DUMP
700
- static constexpr const char *message_name() { return "list_entities_light_response"; }
734
+ const char *message_name() const override { return "list_entities_light_response"; }
701
735
  #endif
702
736
  std::vector<enums::ColorMode> supported_color_modes{};
703
737
  bool legacy_supports_brightness{false};
@@ -714,16 +748,13 @@ class ListEntitiesLightResponse : public InfoResponseProtoMessage {
714
748
  #endif
715
749
 
716
750
  protected:
717
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
718
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
719
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
720
751
  };
721
752
  class LightStateResponse : public StateResponseProtoMessage {
722
753
  public:
723
- static constexpr uint16_t MESSAGE_TYPE = 24;
724
- static constexpr uint16_t ESTIMATED_SIZE = 63;
754
+ static constexpr uint8_t MESSAGE_TYPE = 24;
755
+ static constexpr uint8_t ESTIMATED_SIZE = 67;
725
756
  #ifdef HAS_PROTO_MESSAGE_DUMP
726
- static constexpr const char *message_name() { return "light_state_response"; }
757
+ const char *message_name() const override { return "light_state_response"; }
727
758
  #endif
728
759
  bool state{false};
729
760
  float brightness{0.0f};
@@ -744,18 +775,14 @@ class LightStateResponse : public StateResponseProtoMessage {
744
775
  #endif
745
776
 
746
777
  protected:
747
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
748
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
749
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
750
778
  };
751
- class LightCommandRequest : public ProtoMessage {
779
+ class LightCommandRequest : public CommandProtoMessage {
752
780
  public:
753
- static constexpr uint16_t MESSAGE_TYPE = 32;
754
- static constexpr uint16_t ESTIMATED_SIZE = 107;
781
+ static constexpr uint8_t MESSAGE_TYPE = 32;
782
+ static constexpr uint8_t ESTIMATED_SIZE = 112;
755
783
  #ifdef HAS_PROTO_MESSAGE_DUMP
756
- static constexpr const char *message_name() { return "light_command_request"; }
784
+ const char *message_name() const override { return "light_command_request"; }
757
785
  #endif
758
- uint32_t key{0};
759
786
  bool has_state{false};
760
787
  bool state{false};
761
788
  bool has_brightness{false};
@@ -782,8 +809,6 @@ class LightCommandRequest : public ProtoMessage {
782
809
  uint32_t flash_length{0};
783
810
  bool has_effect{false};
784
811
  std::string effect{};
785
- void encode(ProtoWriteBuffer buffer) const override;
786
- void calculate_size(uint32_t &total_size) const override;
787
812
  #ifdef HAS_PROTO_MESSAGE_DUMP
788
813
  void dump_to(std::string &out) const override;
789
814
  #endif
@@ -793,12 +818,14 @@ class LightCommandRequest : public ProtoMessage {
793
818
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
794
819
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
795
820
  };
821
+ #endif
822
+ #ifdef USE_SENSOR
796
823
  class ListEntitiesSensorResponse : public InfoResponseProtoMessage {
797
824
  public:
798
- static constexpr uint16_t MESSAGE_TYPE = 16;
799
- static constexpr uint16_t ESTIMATED_SIZE = 73;
825
+ static constexpr uint8_t MESSAGE_TYPE = 16;
826
+ static constexpr uint8_t ESTIMATED_SIZE = 77;
800
827
  #ifdef HAS_PROTO_MESSAGE_DUMP
801
- static constexpr const char *message_name() { return "list_entities_sensor_response"; }
828
+ const char *message_name() const override { return "list_entities_sensor_response"; }
802
829
  #endif
803
830
  std::string unit_of_measurement{};
804
831
  int32_t accuracy_decimals{0};
@@ -813,16 +840,13 @@ class ListEntitiesSensorResponse : public InfoResponseProtoMessage {
813
840
  #endif
814
841
 
815
842
  protected:
816
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
817
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
818
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
819
843
  };
820
844
  class SensorStateResponse : public StateResponseProtoMessage {
821
845
  public:
822
- static constexpr uint16_t MESSAGE_TYPE = 25;
823
- static constexpr uint16_t ESTIMATED_SIZE = 12;
846
+ static constexpr uint8_t MESSAGE_TYPE = 25;
847
+ static constexpr uint8_t ESTIMATED_SIZE = 16;
824
848
  #ifdef HAS_PROTO_MESSAGE_DUMP
825
- static constexpr const char *message_name() { return "sensor_state_response"; }
849
+ const char *message_name() const override { return "sensor_state_response"; }
826
850
  #endif
827
851
  float state{0.0f};
828
852
  bool missing_state{false};
@@ -833,15 +857,15 @@ class SensorStateResponse : public StateResponseProtoMessage {
833
857
  #endif
834
858
 
835
859
  protected:
836
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
837
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
838
860
  };
861
+ #endif
862
+ #ifdef USE_SWITCH
839
863
  class ListEntitiesSwitchResponse : public InfoResponseProtoMessage {
840
864
  public:
841
- static constexpr uint16_t MESSAGE_TYPE = 17;
842
- static constexpr uint16_t ESTIMATED_SIZE = 56;
865
+ static constexpr uint8_t MESSAGE_TYPE = 17;
866
+ static constexpr uint8_t ESTIMATED_SIZE = 60;
843
867
  #ifdef HAS_PROTO_MESSAGE_DUMP
844
- static constexpr const char *message_name() { return "list_entities_switch_response"; }
868
+ const char *message_name() const override { return "list_entities_switch_response"; }
845
869
  #endif
846
870
  bool assumed_state{false};
847
871
  std::string device_class{};
@@ -852,16 +876,13 @@ class ListEntitiesSwitchResponse : public InfoResponseProtoMessage {
852
876
  #endif
853
877
 
854
878
  protected:
855
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
856
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
857
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
858
879
  };
859
880
  class SwitchStateResponse : public StateResponseProtoMessage {
860
881
  public:
861
- static constexpr uint16_t MESSAGE_TYPE = 26;
862
- static constexpr uint16_t ESTIMATED_SIZE = 7;
882
+ static constexpr uint8_t MESSAGE_TYPE = 26;
883
+ static constexpr uint8_t ESTIMATED_SIZE = 11;
863
884
  #ifdef HAS_PROTO_MESSAGE_DUMP
864
- static constexpr const char *message_name() { return "switch_state_response"; }
885
+ const char *message_name() const override { return "switch_state_response"; }
865
886
  #endif
866
887
  bool state{false};
867
888
  void encode(ProtoWriteBuffer buffer) const override;
@@ -871,20 +892,15 @@ class SwitchStateResponse : public StateResponseProtoMessage {
871
892
  #endif
872
893
 
873
894
  protected:
874
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
875
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
876
895
  };
877
- class SwitchCommandRequest : public ProtoMessage {
896
+ class SwitchCommandRequest : public CommandProtoMessage {
878
897
  public:
879
- static constexpr uint16_t MESSAGE_TYPE = 33;
880
- static constexpr uint16_t ESTIMATED_SIZE = 7;
898
+ static constexpr uint8_t MESSAGE_TYPE = 33;
899
+ static constexpr uint8_t ESTIMATED_SIZE = 11;
881
900
  #ifdef HAS_PROTO_MESSAGE_DUMP
882
- static constexpr const char *message_name() { return "switch_command_request"; }
901
+ const char *message_name() const override { return "switch_command_request"; }
883
902
  #endif
884
- uint32_t key{0};
885
903
  bool state{false};
886
- void encode(ProtoWriteBuffer buffer) const override;
887
- void calculate_size(uint32_t &total_size) const override;
888
904
  #ifdef HAS_PROTO_MESSAGE_DUMP
889
905
  void dump_to(std::string &out) const override;
890
906
  #endif
@@ -893,12 +909,14 @@ class SwitchCommandRequest : public ProtoMessage {
893
909
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
894
910
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
895
911
  };
912
+ #endif
913
+ #ifdef USE_TEXT_SENSOR
896
914
  class ListEntitiesTextSensorResponse : public InfoResponseProtoMessage {
897
915
  public:
898
- static constexpr uint16_t MESSAGE_TYPE = 18;
899
- static constexpr uint16_t ESTIMATED_SIZE = 54;
916
+ static constexpr uint8_t MESSAGE_TYPE = 18;
917
+ static constexpr uint8_t ESTIMATED_SIZE = 58;
900
918
  #ifdef HAS_PROTO_MESSAGE_DUMP
901
- static constexpr const char *message_name() { return "list_entities_text_sensor_response"; }
919
+ const char *message_name() const override { return "list_entities_text_sensor_response"; }
902
920
  #endif
903
921
  std::string device_class{};
904
922
  void encode(ProtoWriteBuffer buffer) const override;
@@ -908,16 +926,13 @@ class ListEntitiesTextSensorResponse : public InfoResponseProtoMessage {
908
926
  #endif
909
927
 
910
928
  protected:
911
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
912
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
913
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
914
929
  };
915
930
  class TextSensorStateResponse : public StateResponseProtoMessage {
916
931
  public:
917
- static constexpr uint16_t MESSAGE_TYPE = 27;
918
- static constexpr uint16_t ESTIMATED_SIZE = 16;
932
+ static constexpr uint8_t MESSAGE_TYPE = 27;
933
+ static constexpr uint8_t ESTIMATED_SIZE = 20;
919
934
  #ifdef HAS_PROTO_MESSAGE_DUMP
920
- static constexpr const char *message_name() { return "text_sensor_state_response"; }
935
+ const char *message_name() const override { return "text_sensor_state_response"; }
921
936
  #endif
922
937
  std::string state{};
923
938
  bool missing_state{false};
@@ -928,21 +943,17 @@ class TextSensorStateResponse : public StateResponseProtoMessage {
928
943
  #endif
929
944
 
930
945
  protected:
931
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
932
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
933
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
934
946
  };
947
+ #endif
935
948
  class SubscribeLogsRequest : public ProtoMessage {
936
949
  public:
937
- static constexpr uint16_t MESSAGE_TYPE = 28;
938
- static constexpr uint16_t ESTIMATED_SIZE = 4;
950
+ static constexpr uint8_t MESSAGE_TYPE = 28;
951
+ static constexpr uint8_t ESTIMATED_SIZE = 4;
939
952
  #ifdef HAS_PROTO_MESSAGE_DUMP
940
- static constexpr const char *message_name() { return "subscribe_logs_request"; }
953
+ const char *message_name() const override { return "subscribe_logs_request"; }
941
954
  #endif
942
955
  enums::LogLevel level{};
943
956
  bool dump_config{false};
944
- void encode(ProtoWriteBuffer buffer) const override;
945
- void calculate_size(uint32_t &total_size) const override;
946
957
  #ifdef HAS_PROTO_MESSAGE_DUMP
947
958
  void dump_to(std::string &out) const override;
948
959
  #endif
@@ -952,10 +963,10 @@ class SubscribeLogsRequest : public ProtoMessage {
952
963
  };
953
964
  class SubscribeLogsResponse : public ProtoMessage {
954
965
  public:
955
- static constexpr uint16_t MESSAGE_TYPE = 29;
956
- static constexpr uint16_t ESTIMATED_SIZE = 13;
966
+ static constexpr uint8_t MESSAGE_TYPE = 29;
967
+ static constexpr uint8_t ESTIMATED_SIZE = 13;
957
968
  #ifdef HAS_PROTO_MESSAGE_DUMP
958
- static constexpr const char *message_name() { return "subscribe_logs_response"; }
969
+ const char *message_name() const override { return "subscribe_logs_response"; }
959
970
  #endif
960
971
  enums::LogLevel level{};
961
972
  std::string message{};
@@ -967,19 +978,16 @@ class SubscribeLogsResponse : public ProtoMessage {
967
978
  #endif
968
979
 
969
980
  protected:
970
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
971
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
972
981
  };
982
+ #ifdef USE_API_NOISE
973
983
  class NoiseEncryptionSetKeyRequest : public ProtoMessage {
974
984
  public:
975
- static constexpr uint16_t MESSAGE_TYPE = 124;
976
- static constexpr uint16_t ESTIMATED_SIZE = 9;
985
+ static constexpr uint8_t MESSAGE_TYPE = 124;
986
+ static constexpr uint8_t ESTIMATED_SIZE = 9;
977
987
  #ifdef HAS_PROTO_MESSAGE_DUMP
978
- static constexpr const char *message_name() { return "noise_encryption_set_key_request"; }
988
+ const char *message_name() const override { return "noise_encryption_set_key_request"; }
979
989
  #endif
980
990
  std::string key{};
981
- void encode(ProtoWriteBuffer buffer) const override;
982
- void calculate_size(uint32_t &total_size) const override;
983
991
  #ifdef HAS_PROTO_MESSAGE_DUMP
984
992
  void dump_to(std::string &out) const override;
985
993
  #endif
@@ -989,10 +997,10 @@ class NoiseEncryptionSetKeyRequest : public ProtoMessage {
989
997
  };
990
998
  class NoiseEncryptionSetKeyResponse : public ProtoMessage {
991
999
  public:
992
- static constexpr uint16_t MESSAGE_TYPE = 125;
993
- static constexpr uint16_t ESTIMATED_SIZE = 2;
1000
+ static constexpr uint8_t MESSAGE_TYPE = 125;
1001
+ static constexpr uint8_t ESTIMATED_SIZE = 2;
994
1002
  #ifdef HAS_PROTO_MESSAGE_DUMP
995
- static constexpr const char *message_name() { return "noise_encryption_set_key_response"; }
1003
+ const char *message_name() const override { return "noise_encryption_set_key_response"; }
996
1004
  #endif
997
1005
  bool success{false};
998
1006
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1002,17 +1010,15 @@ class NoiseEncryptionSetKeyResponse : public ProtoMessage {
1002
1010
  #endif
1003
1011
 
1004
1012
  protected:
1005
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1006
1013
  };
1014
+ #endif
1007
1015
  class SubscribeHomeassistantServicesRequest : public ProtoMessage {
1008
1016
  public:
1009
- static constexpr uint16_t MESSAGE_TYPE = 34;
1010
- static constexpr uint16_t ESTIMATED_SIZE = 0;
1017
+ static constexpr uint8_t MESSAGE_TYPE = 34;
1018
+ static constexpr uint8_t ESTIMATED_SIZE = 0;
1011
1019
  #ifdef HAS_PROTO_MESSAGE_DUMP
1012
- static constexpr const char *message_name() { return "subscribe_homeassistant_services_request"; }
1020
+ const char *message_name() const override { return "subscribe_homeassistant_services_request"; }
1013
1021
  #endif
1014
- void encode(ProtoWriteBuffer buffer) const override;
1015
- void calculate_size(uint32_t &total_size) const override;
1016
1022
  #ifdef HAS_PROTO_MESSAGE_DUMP
1017
1023
  void dump_to(std::string &out) const override;
1018
1024
  #endif
@@ -1034,10 +1040,10 @@ class HomeassistantServiceMap : public ProtoMessage {
1034
1040
  };
1035
1041
  class HomeassistantServiceResponse : public ProtoMessage {
1036
1042
  public:
1037
- static constexpr uint16_t MESSAGE_TYPE = 35;
1038
- static constexpr uint16_t ESTIMATED_SIZE = 113;
1043
+ static constexpr uint8_t MESSAGE_TYPE = 35;
1044
+ static constexpr uint8_t ESTIMATED_SIZE = 113;
1039
1045
  #ifdef HAS_PROTO_MESSAGE_DUMP
1040
- static constexpr const char *message_name() { return "homeassistant_service_response"; }
1046
+ const char *message_name() const override { return "homeassistant_service_response"; }
1041
1047
  #endif
1042
1048
  std::string service{};
1043
1049
  std::vector<HomeassistantServiceMap> data{};
@@ -1051,18 +1057,14 @@ class HomeassistantServiceResponse : public ProtoMessage {
1051
1057
  #endif
1052
1058
 
1053
1059
  protected:
1054
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1055
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1056
1060
  };
1057
1061
  class SubscribeHomeAssistantStatesRequest : public ProtoMessage {
1058
1062
  public:
1059
- static constexpr uint16_t MESSAGE_TYPE = 38;
1060
- static constexpr uint16_t ESTIMATED_SIZE = 0;
1063
+ static constexpr uint8_t MESSAGE_TYPE = 38;
1064
+ static constexpr uint8_t ESTIMATED_SIZE = 0;
1061
1065
  #ifdef HAS_PROTO_MESSAGE_DUMP
1062
- static constexpr const char *message_name() { return "subscribe_home_assistant_states_request"; }
1066
+ const char *message_name() const override { return "subscribe_home_assistant_states_request"; }
1063
1067
  #endif
1064
- void encode(ProtoWriteBuffer buffer) const override;
1065
- void calculate_size(uint32_t &total_size) const override;
1066
1068
  #ifdef HAS_PROTO_MESSAGE_DUMP
1067
1069
  void dump_to(std::string &out) const override;
1068
1070
  #endif
@@ -1071,10 +1073,10 @@ class SubscribeHomeAssistantStatesRequest : public ProtoMessage {
1071
1073
  };
1072
1074
  class SubscribeHomeAssistantStateResponse : public ProtoMessage {
1073
1075
  public:
1074
- static constexpr uint16_t MESSAGE_TYPE = 39;
1075
- static constexpr uint16_t ESTIMATED_SIZE = 20;
1076
+ static constexpr uint8_t MESSAGE_TYPE = 39;
1077
+ static constexpr uint8_t ESTIMATED_SIZE = 20;
1076
1078
  #ifdef HAS_PROTO_MESSAGE_DUMP
1077
- static constexpr const char *message_name() { return "subscribe_home_assistant_state_response"; }
1079
+ const char *message_name() const override { return "subscribe_home_assistant_state_response"; }
1078
1080
  #endif
1079
1081
  std::string entity_id{};
1080
1082
  std::string attribute{};
@@ -1086,21 +1088,17 @@ class SubscribeHomeAssistantStateResponse : public ProtoMessage {
1086
1088
  #endif
1087
1089
 
1088
1090
  protected:
1089
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1090
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1091
1091
  };
1092
1092
  class HomeAssistantStateResponse : public ProtoMessage {
1093
1093
  public:
1094
- static constexpr uint16_t MESSAGE_TYPE = 40;
1095
- static constexpr uint16_t ESTIMATED_SIZE = 27;
1094
+ static constexpr uint8_t MESSAGE_TYPE = 40;
1095
+ static constexpr uint8_t ESTIMATED_SIZE = 27;
1096
1096
  #ifdef HAS_PROTO_MESSAGE_DUMP
1097
- static constexpr const char *message_name() { return "home_assistant_state_response"; }
1097
+ const char *message_name() const override { return "home_assistant_state_response"; }
1098
1098
  #endif
1099
1099
  std::string entity_id{};
1100
1100
  std::string state{};
1101
1101
  std::string attribute{};
1102
- void encode(ProtoWriteBuffer buffer) const override;
1103
- void calculate_size(uint32_t &total_size) const override;
1104
1102
  #ifdef HAS_PROTO_MESSAGE_DUMP
1105
1103
  void dump_to(std::string &out) const override;
1106
1104
  #endif
@@ -1110,13 +1108,11 @@ class HomeAssistantStateResponse : public ProtoMessage {
1110
1108
  };
1111
1109
  class GetTimeRequest : public ProtoMessage {
1112
1110
  public:
1113
- static constexpr uint16_t MESSAGE_TYPE = 36;
1114
- static constexpr uint16_t ESTIMATED_SIZE = 0;
1111
+ static constexpr uint8_t MESSAGE_TYPE = 36;
1112
+ static constexpr uint8_t ESTIMATED_SIZE = 0;
1115
1113
  #ifdef HAS_PROTO_MESSAGE_DUMP
1116
- static constexpr const char *message_name() { return "get_time_request"; }
1114
+ const char *message_name() const override { return "get_time_request"; }
1117
1115
  #endif
1118
- void encode(ProtoWriteBuffer buffer) const override;
1119
- void calculate_size(uint32_t &total_size) const override;
1120
1116
  #ifdef HAS_PROTO_MESSAGE_DUMP
1121
1117
  void dump_to(std::string &out) const override;
1122
1118
  #endif
@@ -1125,10 +1121,10 @@ class GetTimeRequest : public ProtoMessage {
1125
1121
  };
1126
1122
  class GetTimeResponse : public ProtoMessage {
1127
1123
  public:
1128
- static constexpr uint16_t MESSAGE_TYPE = 37;
1129
- static constexpr uint16_t ESTIMATED_SIZE = 5;
1124
+ static constexpr uint8_t MESSAGE_TYPE = 37;
1125
+ static constexpr uint8_t ESTIMATED_SIZE = 5;
1130
1126
  #ifdef HAS_PROTO_MESSAGE_DUMP
1131
- static constexpr const char *message_name() { return "get_time_response"; }
1127
+ const char *message_name() const override { return "get_time_response"; }
1132
1128
  #endif
1133
1129
  uint32_t epoch_seconds{0};
1134
1130
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1140,6 +1136,7 @@ class GetTimeResponse : public ProtoMessage {
1140
1136
  protected:
1141
1137
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1142
1138
  };
1139
+ #ifdef USE_API_SERVICES
1143
1140
  class ListEntitiesServicesArgument : public ProtoMessage {
1144
1141
  public:
1145
1142
  std::string name{};
@@ -1156,10 +1153,10 @@ class ListEntitiesServicesArgument : public ProtoMessage {
1156
1153
  };
1157
1154
  class ListEntitiesServicesResponse : public ProtoMessage {
1158
1155
  public:
1159
- static constexpr uint16_t MESSAGE_TYPE = 41;
1160
- static constexpr uint16_t ESTIMATED_SIZE = 48;
1156
+ static constexpr uint8_t MESSAGE_TYPE = 41;
1157
+ static constexpr uint8_t ESTIMATED_SIZE = 48;
1161
1158
  #ifdef HAS_PROTO_MESSAGE_DUMP
1162
- static constexpr const char *message_name() { return "list_entities_services_response"; }
1159
+ const char *message_name() const override { return "list_entities_services_response"; }
1163
1160
  #endif
1164
1161
  std::string name{};
1165
1162
  uint32_t key{0};
@@ -1171,8 +1168,6 @@ class ListEntitiesServicesResponse : public ProtoMessage {
1171
1168
  #endif
1172
1169
 
1173
1170
  protected:
1174
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1175
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1176
1171
  };
1177
1172
  class ExecuteServiceArgument : public ProtoMessage {
1178
1173
  public:
@@ -1198,15 +1193,13 @@ class ExecuteServiceArgument : public ProtoMessage {
1198
1193
  };
1199
1194
  class ExecuteServiceRequest : public ProtoMessage {
1200
1195
  public:
1201
- static constexpr uint16_t MESSAGE_TYPE = 42;
1202
- static constexpr uint16_t ESTIMATED_SIZE = 39;
1196
+ static constexpr uint8_t MESSAGE_TYPE = 42;
1197
+ static constexpr uint8_t ESTIMATED_SIZE = 39;
1203
1198
  #ifdef HAS_PROTO_MESSAGE_DUMP
1204
- static constexpr const char *message_name() { return "execute_service_request"; }
1199
+ const char *message_name() const override { return "execute_service_request"; }
1205
1200
  #endif
1206
1201
  uint32_t key{0};
1207
1202
  std::vector<ExecuteServiceArgument> args{};
1208
- void encode(ProtoWriteBuffer buffer) const override;
1209
- void calculate_size(uint32_t &total_size) const override;
1210
1203
  #ifdef HAS_PROTO_MESSAGE_DUMP
1211
1204
  void dump_to(std::string &out) const override;
1212
1205
  #endif
@@ -1215,12 +1208,14 @@ class ExecuteServiceRequest : public ProtoMessage {
1215
1208
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1216
1209
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1217
1210
  };
1211
+ #endif
1212
+ #ifdef USE_CAMERA
1218
1213
  class ListEntitiesCameraResponse : public InfoResponseProtoMessage {
1219
1214
  public:
1220
- static constexpr uint16_t MESSAGE_TYPE = 43;
1221
- static constexpr uint16_t ESTIMATED_SIZE = 45;
1215
+ static constexpr uint8_t MESSAGE_TYPE = 43;
1216
+ static constexpr uint8_t ESTIMATED_SIZE = 49;
1222
1217
  #ifdef HAS_PROTO_MESSAGE_DUMP
1223
- static constexpr const char *message_name() { return "list_entities_camera_response"; }
1218
+ const char *message_name() const override { return "list_entities_camera_response"; }
1224
1219
  #endif
1225
1220
  void encode(ProtoWriteBuffer buffer) const override;
1226
1221
  void calculate_size(uint32_t &total_size) const override;
@@ -1229,18 +1224,14 @@ class ListEntitiesCameraResponse : public InfoResponseProtoMessage {
1229
1224
  #endif
1230
1225
 
1231
1226
  protected:
1232
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1233
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1234
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1235
1227
  };
1236
- class CameraImageResponse : public ProtoMessage {
1228
+ class CameraImageResponse : public StateResponseProtoMessage {
1237
1229
  public:
1238
- static constexpr uint16_t MESSAGE_TYPE = 44;
1239
- static constexpr uint16_t ESTIMATED_SIZE = 16;
1230
+ static constexpr uint8_t MESSAGE_TYPE = 44;
1231
+ static constexpr uint8_t ESTIMATED_SIZE = 20;
1240
1232
  #ifdef HAS_PROTO_MESSAGE_DUMP
1241
- static constexpr const char *message_name() { return "camera_image_response"; }
1233
+ const char *message_name() const override { return "camera_image_response"; }
1242
1234
  #endif
1243
- uint32_t key{0};
1244
1235
  std::string data{};
1245
1236
  bool done{false};
1246
1237
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1250,21 +1241,16 @@ class CameraImageResponse : public ProtoMessage {
1250
1241
  #endif
1251
1242
 
1252
1243
  protected:
1253
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1254
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1255
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1256
1244
  };
1257
1245
  class CameraImageRequest : public ProtoMessage {
1258
1246
  public:
1259
- static constexpr uint16_t MESSAGE_TYPE = 45;
1260
- static constexpr uint16_t ESTIMATED_SIZE = 4;
1247
+ static constexpr uint8_t MESSAGE_TYPE = 45;
1248
+ static constexpr uint8_t ESTIMATED_SIZE = 4;
1261
1249
  #ifdef HAS_PROTO_MESSAGE_DUMP
1262
- static constexpr const char *message_name() { return "camera_image_request"; }
1250
+ const char *message_name() const override { return "camera_image_request"; }
1263
1251
  #endif
1264
1252
  bool single{false};
1265
1253
  bool stream{false};
1266
- void encode(ProtoWriteBuffer buffer) const override;
1267
- void calculate_size(uint32_t &total_size) const override;
1268
1254
  #ifdef HAS_PROTO_MESSAGE_DUMP
1269
1255
  void dump_to(std::string &out) const override;
1270
1256
  #endif
@@ -1272,12 +1258,14 @@ class CameraImageRequest : public ProtoMessage {
1272
1258
  protected:
1273
1259
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1274
1260
  };
1261
+ #endif
1262
+ #ifdef USE_CLIMATE
1275
1263
  class ListEntitiesClimateResponse : public InfoResponseProtoMessage {
1276
1264
  public:
1277
- static constexpr uint16_t MESSAGE_TYPE = 46;
1278
- static constexpr uint16_t ESTIMATED_SIZE = 151;
1265
+ static constexpr uint8_t MESSAGE_TYPE = 46;
1266
+ static constexpr uint8_t ESTIMATED_SIZE = 156;
1279
1267
  #ifdef HAS_PROTO_MESSAGE_DUMP
1280
- static constexpr const char *message_name() { return "list_entities_climate_response"; }
1268
+ const char *message_name() const override { return "list_entities_climate_response"; }
1281
1269
  #endif
1282
1270
  bool supports_current_temperature{false};
1283
1271
  bool supports_two_point_target_temperature{false};
@@ -1304,16 +1292,13 @@ class ListEntitiesClimateResponse : public InfoResponseProtoMessage {
1304
1292
  #endif
1305
1293
 
1306
1294
  protected:
1307
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1308
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1309
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1310
1295
  };
1311
1296
  class ClimateStateResponse : public StateResponseProtoMessage {
1312
1297
  public:
1313
- static constexpr uint16_t MESSAGE_TYPE = 47;
1314
- static constexpr uint16_t ESTIMATED_SIZE = 65;
1298
+ static constexpr uint8_t MESSAGE_TYPE = 47;
1299
+ static constexpr uint8_t ESTIMATED_SIZE = 70;
1315
1300
  #ifdef HAS_PROTO_MESSAGE_DUMP
1316
- static constexpr const char *message_name() { return "climate_state_response"; }
1301
+ const char *message_name() const override { return "climate_state_response"; }
1317
1302
  #endif
1318
1303
  enums::ClimateMode mode{};
1319
1304
  float current_temperature{0.0f};
@@ -1336,18 +1321,14 @@ class ClimateStateResponse : public StateResponseProtoMessage {
1336
1321
  #endif
1337
1322
 
1338
1323
  protected:
1339
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1340
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1341
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1342
1324
  };
1343
- class ClimateCommandRequest : public ProtoMessage {
1325
+ class ClimateCommandRequest : public CommandProtoMessage {
1344
1326
  public:
1345
- static constexpr uint16_t MESSAGE_TYPE = 48;
1346
- static constexpr uint16_t ESTIMATED_SIZE = 83;
1327
+ static constexpr uint8_t MESSAGE_TYPE = 48;
1328
+ static constexpr uint8_t ESTIMATED_SIZE = 88;
1347
1329
  #ifdef HAS_PROTO_MESSAGE_DUMP
1348
- static constexpr const char *message_name() { return "climate_command_request"; }
1330
+ const char *message_name() const override { return "climate_command_request"; }
1349
1331
  #endif
1350
- uint32_t key{0};
1351
1332
  bool has_mode{false};
1352
1333
  enums::ClimateMode mode{};
1353
1334
  bool has_target_temperature{false};
@@ -1370,8 +1351,6 @@ class ClimateCommandRequest : public ProtoMessage {
1370
1351
  std::string custom_preset{};
1371
1352
  bool has_target_humidity{false};
1372
1353
  float target_humidity{0.0f};
1373
- void encode(ProtoWriteBuffer buffer) const override;
1374
- void calculate_size(uint32_t &total_size) const override;
1375
1354
  #ifdef HAS_PROTO_MESSAGE_DUMP
1376
1355
  void dump_to(std::string &out) const override;
1377
1356
  #endif
@@ -1381,12 +1360,14 @@ class ClimateCommandRequest : public ProtoMessage {
1381
1360
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1382
1361
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1383
1362
  };
1363
+ #endif
1364
+ #ifdef USE_NUMBER
1384
1365
  class ListEntitiesNumberResponse : public InfoResponseProtoMessage {
1385
1366
  public:
1386
- static constexpr uint16_t MESSAGE_TYPE = 49;
1387
- static constexpr uint16_t ESTIMATED_SIZE = 80;
1367
+ static constexpr uint8_t MESSAGE_TYPE = 49;
1368
+ static constexpr uint8_t ESTIMATED_SIZE = 84;
1388
1369
  #ifdef HAS_PROTO_MESSAGE_DUMP
1389
- static constexpr const char *message_name() { return "list_entities_number_response"; }
1370
+ const char *message_name() const override { return "list_entities_number_response"; }
1390
1371
  #endif
1391
1372
  float min_value{0.0f};
1392
1373
  float max_value{0.0f};
@@ -1401,16 +1382,13 @@ class ListEntitiesNumberResponse : public InfoResponseProtoMessage {
1401
1382
  #endif
1402
1383
 
1403
1384
  protected:
1404
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1405
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1406
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1407
1385
  };
1408
1386
  class NumberStateResponse : public StateResponseProtoMessage {
1409
1387
  public:
1410
- static constexpr uint16_t MESSAGE_TYPE = 50;
1411
- static constexpr uint16_t ESTIMATED_SIZE = 12;
1388
+ static constexpr uint8_t MESSAGE_TYPE = 50;
1389
+ static constexpr uint8_t ESTIMATED_SIZE = 16;
1412
1390
  #ifdef HAS_PROTO_MESSAGE_DUMP
1413
- static constexpr const char *message_name() { return "number_state_response"; }
1391
+ const char *message_name() const override { return "number_state_response"; }
1414
1392
  #endif
1415
1393
  float state{0.0f};
1416
1394
  bool missing_state{false};
@@ -1421,33 +1399,31 @@ class NumberStateResponse : public StateResponseProtoMessage {
1421
1399
  #endif
1422
1400
 
1423
1401
  protected:
1424
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1425
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1426
1402
  };
1427
- class NumberCommandRequest : public ProtoMessage {
1403
+ class NumberCommandRequest : public CommandProtoMessage {
1428
1404
  public:
1429
- static constexpr uint16_t MESSAGE_TYPE = 51;
1430
- static constexpr uint16_t ESTIMATED_SIZE = 10;
1405
+ static constexpr uint8_t MESSAGE_TYPE = 51;
1406
+ static constexpr uint8_t ESTIMATED_SIZE = 14;
1431
1407
  #ifdef HAS_PROTO_MESSAGE_DUMP
1432
- static constexpr const char *message_name() { return "number_command_request"; }
1408
+ const char *message_name() const override { return "number_command_request"; }
1433
1409
  #endif
1434
- uint32_t key{0};
1435
1410
  float state{0.0f};
1436
- void encode(ProtoWriteBuffer buffer) const override;
1437
- void calculate_size(uint32_t &total_size) const override;
1438
1411
  #ifdef HAS_PROTO_MESSAGE_DUMP
1439
1412
  void dump_to(std::string &out) const override;
1440
1413
  #endif
1441
1414
 
1442
1415
  protected:
1443
1416
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1417
+ bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1444
1418
  };
1419
+ #endif
1420
+ #ifdef USE_SELECT
1445
1421
  class ListEntitiesSelectResponse : public InfoResponseProtoMessage {
1446
1422
  public:
1447
- static constexpr uint16_t MESSAGE_TYPE = 52;
1448
- static constexpr uint16_t ESTIMATED_SIZE = 63;
1423
+ static constexpr uint8_t MESSAGE_TYPE = 52;
1424
+ static constexpr uint8_t ESTIMATED_SIZE = 67;
1449
1425
  #ifdef HAS_PROTO_MESSAGE_DUMP
1450
- static constexpr const char *message_name() { return "list_entities_select_response"; }
1426
+ const char *message_name() const override { return "list_entities_select_response"; }
1451
1427
  #endif
1452
1428
  std::vector<std::string> options{};
1453
1429
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1457,16 +1433,13 @@ class ListEntitiesSelectResponse : public InfoResponseProtoMessage {
1457
1433
  #endif
1458
1434
 
1459
1435
  protected:
1460
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1461
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1462
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1463
1436
  };
1464
1437
  class SelectStateResponse : public StateResponseProtoMessage {
1465
1438
  public:
1466
- static constexpr uint16_t MESSAGE_TYPE = 53;
1467
- static constexpr uint16_t ESTIMATED_SIZE = 16;
1439
+ static constexpr uint8_t MESSAGE_TYPE = 53;
1440
+ static constexpr uint8_t ESTIMATED_SIZE = 20;
1468
1441
  #ifdef HAS_PROTO_MESSAGE_DUMP
1469
- static constexpr const char *message_name() { return "select_state_response"; }
1442
+ const char *message_name() const override { return "select_state_response"; }
1470
1443
  #endif
1471
1444
  std::string state{};
1472
1445
  bool missing_state{false};
@@ -1477,21 +1450,15 @@ class SelectStateResponse : public StateResponseProtoMessage {
1477
1450
  #endif
1478
1451
 
1479
1452
  protected:
1480
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1481
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1482
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1483
1453
  };
1484
- class SelectCommandRequest : public ProtoMessage {
1454
+ class SelectCommandRequest : public CommandProtoMessage {
1485
1455
  public:
1486
- static constexpr uint16_t MESSAGE_TYPE = 54;
1487
- static constexpr uint16_t ESTIMATED_SIZE = 14;
1456
+ static constexpr uint8_t MESSAGE_TYPE = 54;
1457
+ static constexpr uint8_t ESTIMATED_SIZE = 18;
1488
1458
  #ifdef HAS_PROTO_MESSAGE_DUMP
1489
- static constexpr const char *message_name() { return "select_command_request"; }
1459
+ const char *message_name() const override { return "select_command_request"; }
1490
1460
  #endif
1491
- uint32_t key{0};
1492
1461
  std::string state{};
1493
- void encode(ProtoWriteBuffer buffer) const override;
1494
- void calculate_size(uint32_t &total_size) const override;
1495
1462
  #ifdef HAS_PROTO_MESSAGE_DUMP
1496
1463
  void dump_to(std::string &out) const override;
1497
1464
  #endif
@@ -1499,13 +1466,16 @@ class SelectCommandRequest : public ProtoMessage {
1499
1466
  protected:
1500
1467
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1501
1468
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1469
+ bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1502
1470
  };
1471
+ #endif
1472
+ #ifdef USE_SIREN
1503
1473
  class ListEntitiesSirenResponse : public InfoResponseProtoMessage {
1504
1474
  public:
1505
- static constexpr uint16_t MESSAGE_TYPE = 55;
1506
- static constexpr uint16_t ESTIMATED_SIZE = 67;
1475
+ static constexpr uint8_t MESSAGE_TYPE = 55;
1476
+ static constexpr uint8_t ESTIMATED_SIZE = 71;
1507
1477
  #ifdef HAS_PROTO_MESSAGE_DUMP
1508
- static constexpr const char *message_name() { return "list_entities_siren_response"; }
1478
+ const char *message_name() const override { return "list_entities_siren_response"; }
1509
1479
  #endif
1510
1480
  std::vector<std::string> tones{};
1511
1481
  bool supports_duration{false};
@@ -1517,16 +1487,13 @@ class ListEntitiesSirenResponse : public InfoResponseProtoMessage {
1517
1487
  #endif
1518
1488
 
1519
1489
  protected:
1520
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1521
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1522
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1523
1490
  };
1524
1491
  class SirenStateResponse : public StateResponseProtoMessage {
1525
1492
  public:
1526
- static constexpr uint16_t MESSAGE_TYPE = 56;
1527
- static constexpr uint16_t ESTIMATED_SIZE = 7;
1493
+ static constexpr uint8_t MESSAGE_TYPE = 56;
1494
+ static constexpr uint8_t ESTIMATED_SIZE = 11;
1528
1495
  #ifdef HAS_PROTO_MESSAGE_DUMP
1529
- static constexpr const char *message_name() { return "siren_state_response"; }
1496
+ const char *message_name() const override { return "siren_state_response"; }
1530
1497
  #endif
1531
1498
  bool state{false};
1532
1499
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1536,17 +1503,14 @@ class SirenStateResponse : public StateResponseProtoMessage {
1536
1503
  #endif
1537
1504
 
1538
1505
  protected:
1539
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1540
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1541
1506
  };
1542
- class SirenCommandRequest : public ProtoMessage {
1507
+ class SirenCommandRequest : public CommandProtoMessage {
1543
1508
  public:
1544
- static constexpr uint16_t MESSAGE_TYPE = 57;
1545
- static constexpr uint16_t ESTIMATED_SIZE = 33;
1509
+ static constexpr uint8_t MESSAGE_TYPE = 57;
1510
+ static constexpr uint8_t ESTIMATED_SIZE = 37;
1546
1511
  #ifdef HAS_PROTO_MESSAGE_DUMP
1547
- static constexpr const char *message_name() { return "siren_command_request"; }
1512
+ const char *message_name() const override { return "siren_command_request"; }
1548
1513
  #endif
1549
- uint32_t key{0};
1550
1514
  bool has_state{false};
1551
1515
  bool state{false};
1552
1516
  bool has_tone{false};
@@ -1555,8 +1519,6 @@ class SirenCommandRequest : public ProtoMessage {
1555
1519
  uint32_t duration{0};
1556
1520
  bool has_volume{false};
1557
1521
  float volume{0.0f};
1558
- void encode(ProtoWriteBuffer buffer) const override;
1559
- void calculate_size(uint32_t &total_size) const override;
1560
1522
  #ifdef HAS_PROTO_MESSAGE_DUMP
1561
1523
  void dump_to(std::string &out) const override;
1562
1524
  #endif
@@ -1566,12 +1528,14 @@ class SirenCommandRequest : public ProtoMessage {
1566
1528
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1567
1529
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1568
1530
  };
1531
+ #endif
1532
+ #ifdef USE_LOCK
1569
1533
  class ListEntitiesLockResponse : public InfoResponseProtoMessage {
1570
1534
  public:
1571
- static constexpr uint16_t MESSAGE_TYPE = 58;
1572
- static constexpr uint16_t ESTIMATED_SIZE = 60;
1535
+ static constexpr uint8_t MESSAGE_TYPE = 58;
1536
+ static constexpr uint8_t ESTIMATED_SIZE = 64;
1573
1537
  #ifdef HAS_PROTO_MESSAGE_DUMP
1574
- static constexpr const char *message_name() { return "list_entities_lock_response"; }
1538
+ const char *message_name() const override { return "list_entities_lock_response"; }
1575
1539
  #endif
1576
1540
  bool assumed_state{false};
1577
1541
  bool supports_open{false};
@@ -1584,16 +1548,13 @@ class ListEntitiesLockResponse : public InfoResponseProtoMessage {
1584
1548
  #endif
1585
1549
 
1586
1550
  protected:
1587
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1588
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1589
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1590
1551
  };
1591
1552
  class LockStateResponse : public StateResponseProtoMessage {
1592
1553
  public:
1593
- static constexpr uint16_t MESSAGE_TYPE = 59;
1594
- static constexpr uint16_t ESTIMATED_SIZE = 7;
1554
+ static constexpr uint8_t MESSAGE_TYPE = 59;
1555
+ static constexpr uint8_t ESTIMATED_SIZE = 11;
1595
1556
  #ifdef HAS_PROTO_MESSAGE_DUMP
1596
- static constexpr const char *message_name() { return "lock_state_response"; }
1557
+ const char *message_name() const override { return "lock_state_response"; }
1597
1558
  #endif
1598
1559
  enums::LockState state{};
1599
1560
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1603,22 +1564,17 @@ class LockStateResponse : public StateResponseProtoMessage {
1603
1564
  #endif
1604
1565
 
1605
1566
  protected:
1606
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1607
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1608
1567
  };
1609
- class LockCommandRequest : public ProtoMessage {
1568
+ class LockCommandRequest : public CommandProtoMessage {
1610
1569
  public:
1611
- static constexpr uint16_t MESSAGE_TYPE = 60;
1612
- static constexpr uint16_t ESTIMATED_SIZE = 18;
1570
+ static constexpr uint8_t MESSAGE_TYPE = 60;
1571
+ static constexpr uint8_t ESTIMATED_SIZE = 22;
1613
1572
  #ifdef HAS_PROTO_MESSAGE_DUMP
1614
- static constexpr const char *message_name() { return "lock_command_request"; }
1573
+ const char *message_name() const override { return "lock_command_request"; }
1615
1574
  #endif
1616
- uint32_t key{0};
1617
1575
  enums::LockCommand command{};
1618
1576
  bool has_code{false};
1619
1577
  std::string code{};
1620
- void encode(ProtoWriteBuffer buffer) const override;
1621
- void calculate_size(uint32_t &total_size) const override;
1622
1578
  #ifdef HAS_PROTO_MESSAGE_DUMP
1623
1579
  void dump_to(std::string &out) const override;
1624
1580
  #endif
@@ -1628,12 +1584,14 @@ class LockCommandRequest : public ProtoMessage {
1628
1584
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1629
1585
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1630
1586
  };
1587
+ #endif
1588
+ #ifdef USE_BUTTON
1631
1589
  class ListEntitiesButtonResponse : public InfoResponseProtoMessage {
1632
1590
  public:
1633
- static constexpr uint16_t MESSAGE_TYPE = 61;
1634
- static constexpr uint16_t ESTIMATED_SIZE = 54;
1591
+ static constexpr uint8_t MESSAGE_TYPE = 61;
1592
+ static constexpr uint8_t ESTIMATED_SIZE = 58;
1635
1593
  #ifdef HAS_PROTO_MESSAGE_DUMP
1636
- static constexpr const char *message_name() { return "list_entities_button_response"; }
1594
+ const char *message_name() const override { return "list_entities_button_response"; }
1637
1595
  #endif
1638
1596
  std::string device_class{};
1639
1597
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1643,27 +1601,24 @@ class ListEntitiesButtonResponse : public InfoResponseProtoMessage {
1643
1601
  #endif
1644
1602
 
1645
1603
  protected:
1646
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1647
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1648
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1649
1604
  };
1650
- class ButtonCommandRequest : public ProtoMessage {
1605
+ class ButtonCommandRequest : public CommandProtoMessage {
1651
1606
  public:
1652
- static constexpr uint16_t MESSAGE_TYPE = 62;
1653
- static constexpr uint16_t ESTIMATED_SIZE = 5;
1607
+ static constexpr uint8_t MESSAGE_TYPE = 62;
1608
+ static constexpr uint8_t ESTIMATED_SIZE = 9;
1654
1609
  #ifdef HAS_PROTO_MESSAGE_DUMP
1655
- static constexpr const char *message_name() { return "button_command_request"; }
1610
+ const char *message_name() const override { return "button_command_request"; }
1656
1611
  #endif
1657
- uint32_t key{0};
1658
- void encode(ProtoWriteBuffer buffer) const override;
1659
- void calculate_size(uint32_t &total_size) const override;
1660
1612
  #ifdef HAS_PROTO_MESSAGE_DUMP
1661
1613
  void dump_to(std::string &out) const override;
1662
1614
  #endif
1663
1615
 
1664
1616
  protected:
1665
1617
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1618
+ bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1666
1619
  };
1620
+ #endif
1621
+ #ifdef USE_MEDIA_PLAYER
1667
1622
  class MediaPlayerSupportedFormat : public ProtoMessage {
1668
1623
  public:
1669
1624
  std::string format{};
@@ -1683,10 +1638,10 @@ class MediaPlayerSupportedFormat : public ProtoMessage {
1683
1638
  };
1684
1639
  class ListEntitiesMediaPlayerResponse : public InfoResponseProtoMessage {
1685
1640
  public:
1686
- static constexpr uint16_t MESSAGE_TYPE = 63;
1687
- static constexpr uint16_t ESTIMATED_SIZE = 81;
1641
+ static constexpr uint8_t MESSAGE_TYPE = 63;
1642
+ static constexpr uint8_t ESTIMATED_SIZE = 85;
1688
1643
  #ifdef HAS_PROTO_MESSAGE_DUMP
1689
- static constexpr const char *message_name() { return "list_entities_media_player_response"; }
1644
+ const char *message_name() const override { return "list_entities_media_player_response"; }
1690
1645
  #endif
1691
1646
  bool supports_pause{false};
1692
1647
  std::vector<MediaPlayerSupportedFormat> supported_formats{};
@@ -1697,16 +1652,13 @@ class ListEntitiesMediaPlayerResponse : public InfoResponseProtoMessage {
1697
1652
  #endif
1698
1653
 
1699
1654
  protected:
1700
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1701
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1702
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1703
1655
  };
1704
1656
  class MediaPlayerStateResponse : public StateResponseProtoMessage {
1705
1657
  public:
1706
- static constexpr uint16_t MESSAGE_TYPE = 64;
1707
- static constexpr uint16_t ESTIMATED_SIZE = 14;
1658
+ static constexpr uint8_t MESSAGE_TYPE = 64;
1659
+ static constexpr uint8_t ESTIMATED_SIZE = 18;
1708
1660
  #ifdef HAS_PROTO_MESSAGE_DUMP
1709
- static constexpr const char *message_name() { return "media_player_state_response"; }
1661
+ const char *message_name() const override { return "media_player_state_response"; }
1710
1662
  #endif
1711
1663
  enums::MediaPlayerState state{};
1712
1664
  float volume{0.0f};
@@ -1718,17 +1670,14 @@ class MediaPlayerStateResponse : public StateResponseProtoMessage {
1718
1670
  #endif
1719
1671
 
1720
1672
  protected:
1721
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1722
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1723
1673
  };
1724
- class MediaPlayerCommandRequest : public ProtoMessage {
1674
+ class MediaPlayerCommandRequest : public CommandProtoMessage {
1725
1675
  public:
1726
- static constexpr uint16_t MESSAGE_TYPE = 65;
1727
- static constexpr uint16_t ESTIMATED_SIZE = 31;
1676
+ static constexpr uint8_t MESSAGE_TYPE = 65;
1677
+ static constexpr uint8_t ESTIMATED_SIZE = 35;
1728
1678
  #ifdef HAS_PROTO_MESSAGE_DUMP
1729
- static constexpr const char *message_name() { return "media_player_command_request"; }
1679
+ const char *message_name() const override { return "media_player_command_request"; }
1730
1680
  #endif
1731
- uint32_t key{0};
1732
1681
  bool has_command{false};
1733
1682
  enums::MediaPlayerCommand command{};
1734
1683
  bool has_volume{false};
@@ -1737,8 +1686,6 @@ class MediaPlayerCommandRequest : public ProtoMessage {
1737
1686
  std::string media_url{};
1738
1687
  bool has_announcement{false};
1739
1688
  bool announcement{false};
1740
- void encode(ProtoWriteBuffer buffer) const override;
1741
- void calculate_size(uint32_t &total_size) const override;
1742
1689
  #ifdef HAS_PROTO_MESSAGE_DUMP
1743
1690
  void dump_to(std::string &out) const override;
1744
1691
  #endif
@@ -1748,16 +1695,16 @@ class MediaPlayerCommandRequest : public ProtoMessage {
1748
1695
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1749
1696
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1750
1697
  };
1698
+ #endif
1699
+ #ifdef USE_BLUETOOTH_PROXY
1751
1700
  class SubscribeBluetoothLEAdvertisementsRequest : public ProtoMessage {
1752
1701
  public:
1753
- static constexpr uint16_t MESSAGE_TYPE = 66;
1754
- static constexpr uint16_t ESTIMATED_SIZE = 4;
1702
+ static constexpr uint8_t MESSAGE_TYPE = 66;
1703
+ static constexpr uint8_t ESTIMATED_SIZE = 4;
1755
1704
  #ifdef HAS_PROTO_MESSAGE_DUMP
1756
- static constexpr const char *message_name() { return "subscribe_bluetooth_le_advertisements_request"; }
1705
+ const char *message_name() const override { return "subscribe_bluetooth_le_advertisements_request"; }
1757
1706
  #endif
1758
1707
  uint32_t flags{0};
1759
- void encode(ProtoWriteBuffer buffer) const override;
1760
- void calculate_size(uint32_t &total_size) const override;
1761
1708
  #ifdef HAS_PROTO_MESSAGE_DUMP
1762
1709
  void dump_to(std::string &out) const override;
1763
1710
  #endif
@@ -1782,10 +1729,10 @@ class BluetoothServiceData : public ProtoMessage {
1782
1729
  };
1783
1730
  class BluetoothLEAdvertisementResponse : public ProtoMessage {
1784
1731
  public:
1785
- static constexpr uint16_t MESSAGE_TYPE = 67;
1786
- static constexpr uint16_t ESTIMATED_SIZE = 107;
1732
+ static constexpr uint8_t MESSAGE_TYPE = 67;
1733
+ static constexpr uint8_t ESTIMATED_SIZE = 107;
1787
1734
  #ifdef HAS_PROTO_MESSAGE_DUMP
1788
- static constexpr const char *message_name() { return "bluetooth_le_advertisement_response"; }
1735
+ const char *message_name() const override { return "bluetooth_le_advertisement_response"; }
1789
1736
  #endif
1790
1737
  uint64_t address{0};
1791
1738
  std::string name{};
@@ -1801,8 +1748,6 @@ class BluetoothLEAdvertisementResponse : public ProtoMessage {
1801
1748
  #endif
1802
1749
 
1803
1750
  protected:
1804
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1805
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1806
1751
  };
1807
1752
  class BluetoothLERawAdvertisement : public ProtoMessage {
1808
1753
  public:
@@ -1822,10 +1767,10 @@ class BluetoothLERawAdvertisement : public ProtoMessage {
1822
1767
  };
1823
1768
  class BluetoothLERawAdvertisementsResponse : public ProtoMessage {
1824
1769
  public:
1825
- static constexpr uint16_t MESSAGE_TYPE = 93;
1826
- static constexpr uint16_t ESTIMATED_SIZE = 34;
1770
+ static constexpr uint8_t MESSAGE_TYPE = 93;
1771
+ static constexpr uint8_t ESTIMATED_SIZE = 34;
1827
1772
  #ifdef HAS_PROTO_MESSAGE_DUMP
1828
- static constexpr const char *message_name() { return "bluetooth_le_raw_advertisements_response"; }
1773
+ const char *message_name() const override { return "bluetooth_le_raw_advertisements_response"; }
1829
1774
  #endif
1830
1775
  std::vector<BluetoothLERawAdvertisement> advertisements{};
1831
1776
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1835,21 +1780,18 @@ class BluetoothLERawAdvertisementsResponse : public ProtoMessage {
1835
1780
  #endif
1836
1781
 
1837
1782
  protected:
1838
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1839
1783
  };
1840
1784
  class BluetoothDeviceRequest : public ProtoMessage {
1841
1785
  public:
1842
- static constexpr uint16_t MESSAGE_TYPE = 68;
1843
- static constexpr uint16_t ESTIMATED_SIZE = 12;
1786
+ static constexpr uint8_t MESSAGE_TYPE = 68;
1787
+ static constexpr uint8_t ESTIMATED_SIZE = 12;
1844
1788
  #ifdef HAS_PROTO_MESSAGE_DUMP
1845
- static constexpr const char *message_name() { return "bluetooth_device_request"; }
1789
+ const char *message_name() const override { return "bluetooth_device_request"; }
1846
1790
  #endif
1847
1791
  uint64_t address{0};
1848
1792
  enums::BluetoothDeviceRequestType request_type{};
1849
1793
  bool has_address_type{false};
1850
1794
  uint32_t address_type{0};
1851
- void encode(ProtoWriteBuffer buffer) const override;
1852
- void calculate_size(uint32_t &total_size) const override;
1853
1795
  #ifdef HAS_PROTO_MESSAGE_DUMP
1854
1796
  void dump_to(std::string &out) const override;
1855
1797
  #endif
@@ -1859,10 +1801,10 @@ class BluetoothDeviceRequest : public ProtoMessage {
1859
1801
  };
1860
1802
  class BluetoothDeviceConnectionResponse : public ProtoMessage {
1861
1803
  public:
1862
- static constexpr uint16_t MESSAGE_TYPE = 69;
1863
- static constexpr uint16_t ESTIMATED_SIZE = 14;
1804
+ static constexpr uint8_t MESSAGE_TYPE = 69;
1805
+ static constexpr uint8_t ESTIMATED_SIZE = 14;
1864
1806
  #ifdef HAS_PROTO_MESSAGE_DUMP
1865
- static constexpr const char *message_name() { return "bluetooth_device_connection_response"; }
1807
+ const char *message_name() const override { return "bluetooth_device_connection_response"; }
1866
1808
  #endif
1867
1809
  uint64_t address{0};
1868
1810
  bool connected{false};
@@ -1875,18 +1817,15 @@ class BluetoothDeviceConnectionResponse : public ProtoMessage {
1875
1817
  #endif
1876
1818
 
1877
1819
  protected:
1878
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1879
1820
  };
1880
1821
  class BluetoothGATTGetServicesRequest : public ProtoMessage {
1881
1822
  public:
1882
- static constexpr uint16_t MESSAGE_TYPE = 70;
1883
- static constexpr uint16_t ESTIMATED_SIZE = 4;
1823
+ static constexpr uint8_t MESSAGE_TYPE = 70;
1824
+ static constexpr uint8_t ESTIMATED_SIZE = 4;
1884
1825
  #ifdef HAS_PROTO_MESSAGE_DUMP
1885
- static constexpr const char *message_name() { return "bluetooth_gatt_get_services_request"; }
1826
+ const char *message_name() const override { return "bluetooth_gatt_get_services_request"; }
1886
1827
  #endif
1887
1828
  uint64_t address{0};
1888
- void encode(ProtoWriteBuffer buffer) const override;
1889
- void calculate_size(uint32_t &total_size) const override;
1890
1829
  #ifdef HAS_PROTO_MESSAGE_DUMP
1891
1830
  void dump_to(std::string &out) const override;
1892
1831
  #endif
@@ -1940,10 +1879,10 @@ class BluetoothGATTService : public ProtoMessage {
1940
1879
  };
1941
1880
  class BluetoothGATTGetServicesResponse : public ProtoMessage {
1942
1881
  public:
1943
- static constexpr uint16_t MESSAGE_TYPE = 71;
1944
- static constexpr uint16_t ESTIMATED_SIZE = 38;
1882
+ static constexpr uint8_t MESSAGE_TYPE = 71;
1883
+ static constexpr uint8_t ESTIMATED_SIZE = 38;
1945
1884
  #ifdef HAS_PROTO_MESSAGE_DUMP
1946
- static constexpr const char *message_name() { return "bluetooth_gatt_get_services_response"; }
1885
+ const char *message_name() const override { return "bluetooth_gatt_get_services_response"; }
1947
1886
  #endif
1948
1887
  uint64_t address{0};
1949
1888
  std::vector<BluetoothGATTService> services{};
@@ -1954,15 +1893,13 @@ class BluetoothGATTGetServicesResponse : public ProtoMessage {
1954
1893
  #endif
1955
1894
 
1956
1895
  protected:
1957
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1958
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1959
1896
  };
1960
1897
  class BluetoothGATTGetServicesDoneResponse : public ProtoMessage {
1961
1898
  public:
1962
- static constexpr uint16_t MESSAGE_TYPE = 72;
1963
- static constexpr uint16_t ESTIMATED_SIZE = 4;
1899
+ static constexpr uint8_t MESSAGE_TYPE = 72;
1900
+ static constexpr uint8_t ESTIMATED_SIZE = 4;
1964
1901
  #ifdef HAS_PROTO_MESSAGE_DUMP
1965
- static constexpr const char *message_name() { return "bluetooth_gatt_get_services_done_response"; }
1902
+ const char *message_name() const override { return "bluetooth_gatt_get_services_done_response"; }
1966
1903
  #endif
1967
1904
  uint64_t address{0};
1968
1905
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1972,19 +1909,16 @@ class BluetoothGATTGetServicesDoneResponse : public ProtoMessage {
1972
1909
  #endif
1973
1910
 
1974
1911
  protected:
1975
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1976
1912
  };
1977
1913
  class BluetoothGATTReadRequest : public ProtoMessage {
1978
1914
  public:
1979
- static constexpr uint16_t MESSAGE_TYPE = 73;
1980
- static constexpr uint16_t ESTIMATED_SIZE = 8;
1915
+ static constexpr uint8_t MESSAGE_TYPE = 73;
1916
+ static constexpr uint8_t ESTIMATED_SIZE = 8;
1981
1917
  #ifdef HAS_PROTO_MESSAGE_DUMP
1982
- static constexpr const char *message_name() { return "bluetooth_gatt_read_request"; }
1918
+ const char *message_name() const override { return "bluetooth_gatt_read_request"; }
1983
1919
  #endif
1984
1920
  uint64_t address{0};
1985
1921
  uint32_t handle{0};
1986
- void encode(ProtoWriteBuffer buffer) const override;
1987
- void calculate_size(uint32_t &total_size) const override;
1988
1922
  #ifdef HAS_PROTO_MESSAGE_DUMP
1989
1923
  void dump_to(std::string &out) const override;
1990
1924
  #endif
@@ -1994,10 +1928,10 @@ class BluetoothGATTReadRequest : public ProtoMessage {
1994
1928
  };
1995
1929
  class BluetoothGATTReadResponse : public ProtoMessage {
1996
1930
  public:
1997
- static constexpr uint16_t MESSAGE_TYPE = 74;
1998
- static constexpr uint16_t ESTIMATED_SIZE = 17;
1931
+ static constexpr uint8_t MESSAGE_TYPE = 74;
1932
+ static constexpr uint8_t ESTIMATED_SIZE = 17;
1999
1933
  #ifdef HAS_PROTO_MESSAGE_DUMP
2000
- static constexpr const char *message_name() { return "bluetooth_gatt_read_response"; }
1934
+ const char *message_name() const override { return "bluetooth_gatt_read_response"; }
2001
1935
  #endif
2002
1936
  uint64_t address{0};
2003
1937
  uint32_t handle{0};
@@ -2009,22 +1943,18 @@ class BluetoothGATTReadResponse : public ProtoMessage {
2009
1943
  #endif
2010
1944
 
2011
1945
  protected:
2012
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2013
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2014
1946
  };
2015
1947
  class BluetoothGATTWriteRequest : public ProtoMessage {
2016
1948
  public:
2017
- static constexpr uint16_t MESSAGE_TYPE = 75;
2018
- static constexpr uint16_t ESTIMATED_SIZE = 19;
1949
+ static constexpr uint8_t MESSAGE_TYPE = 75;
1950
+ static constexpr uint8_t ESTIMATED_SIZE = 19;
2019
1951
  #ifdef HAS_PROTO_MESSAGE_DUMP
2020
- static constexpr const char *message_name() { return "bluetooth_gatt_write_request"; }
1952
+ const char *message_name() const override { return "bluetooth_gatt_write_request"; }
2021
1953
  #endif
2022
1954
  uint64_t address{0};
2023
1955
  uint32_t handle{0};
2024
1956
  bool response{false};
2025
1957
  std::string data{};
2026
- void encode(ProtoWriteBuffer buffer) const override;
2027
- void calculate_size(uint32_t &total_size) const override;
2028
1958
  #ifdef HAS_PROTO_MESSAGE_DUMP
2029
1959
  void dump_to(std::string &out) const override;
2030
1960
  #endif
@@ -2035,15 +1965,13 @@ class BluetoothGATTWriteRequest : public ProtoMessage {
2035
1965
  };
2036
1966
  class BluetoothGATTReadDescriptorRequest : public ProtoMessage {
2037
1967
  public:
2038
- static constexpr uint16_t MESSAGE_TYPE = 76;
2039
- static constexpr uint16_t ESTIMATED_SIZE = 8;
1968
+ static constexpr uint8_t MESSAGE_TYPE = 76;
1969
+ static constexpr uint8_t ESTIMATED_SIZE = 8;
2040
1970
  #ifdef HAS_PROTO_MESSAGE_DUMP
2041
- static constexpr const char *message_name() { return "bluetooth_gatt_read_descriptor_request"; }
1971
+ const char *message_name() const override { return "bluetooth_gatt_read_descriptor_request"; }
2042
1972
  #endif
2043
1973
  uint64_t address{0};
2044
1974
  uint32_t handle{0};
2045
- void encode(ProtoWriteBuffer buffer) const override;
2046
- void calculate_size(uint32_t &total_size) const override;
2047
1975
  #ifdef HAS_PROTO_MESSAGE_DUMP
2048
1976
  void dump_to(std::string &out) const override;
2049
1977
  #endif
@@ -2053,16 +1981,14 @@ class BluetoothGATTReadDescriptorRequest : public ProtoMessage {
2053
1981
  };
2054
1982
  class BluetoothGATTWriteDescriptorRequest : public ProtoMessage {
2055
1983
  public:
2056
- static constexpr uint16_t MESSAGE_TYPE = 77;
2057
- static constexpr uint16_t ESTIMATED_SIZE = 17;
1984
+ static constexpr uint8_t MESSAGE_TYPE = 77;
1985
+ static constexpr uint8_t ESTIMATED_SIZE = 17;
2058
1986
  #ifdef HAS_PROTO_MESSAGE_DUMP
2059
- static constexpr const char *message_name() { return "bluetooth_gatt_write_descriptor_request"; }
1987
+ const char *message_name() const override { return "bluetooth_gatt_write_descriptor_request"; }
2060
1988
  #endif
2061
1989
  uint64_t address{0};
2062
1990
  uint32_t handle{0};
2063
1991
  std::string data{};
2064
- void encode(ProtoWriteBuffer buffer) const override;
2065
- void calculate_size(uint32_t &total_size) const override;
2066
1992
  #ifdef HAS_PROTO_MESSAGE_DUMP
2067
1993
  void dump_to(std::string &out) const override;
2068
1994
  #endif
@@ -2073,16 +1999,14 @@ class BluetoothGATTWriteDescriptorRequest : public ProtoMessage {
2073
1999
  };
2074
2000
  class BluetoothGATTNotifyRequest : public ProtoMessage {
2075
2001
  public:
2076
- static constexpr uint16_t MESSAGE_TYPE = 78;
2077
- static constexpr uint16_t ESTIMATED_SIZE = 10;
2002
+ static constexpr uint8_t MESSAGE_TYPE = 78;
2003
+ static constexpr uint8_t ESTIMATED_SIZE = 10;
2078
2004
  #ifdef HAS_PROTO_MESSAGE_DUMP
2079
- static constexpr const char *message_name() { return "bluetooth_gatt_notify_request"; }
2005
+ const char *message_name() const override { return "bluetooth_gatt_notify_request"; }
2080
2006
  #endif
2081
2007
  uint64_t address{0};
2082
2008
  uint32_t handle{0};
2083
2009
  bool enable{false};
2084
- void encode(ProtoWriteBuffer buffer) const override;
2085
- void calculate_size(uint32_t &total_size) const override;
2086
2010
  #ifdef HAS_PROTO_MESSAGE_DUMP
2087
2011
  void dump_to(std::string &out) const override;
2088
2012
  #endif
@@ -2092,10 +2016,10 @@ class BluetoothGATTNotifyRequest : public ProtoMessage {
2092
2016
  };
2093
2017
  class BluetoothGATTNotifyDataResponse : public ProtoMessage {
2094
2018
  public:
2095
- static constexpr uint16_t MESSAGE_TYPE = 79;
2096
- static constexpr uint16_t ESTIMATED_SIZE = 17;
2019
+ static constexpr uint8_t MESSAGE_TYPE = 79;
2020
+ static constexpr uint8_t ESTIMATED_SIZE = 17;
2097
2021
  #ifdef HAS_PROTO_MESSAGE_DUMP
2098
- static constexpr const char *message_name() { return "bluetooth_gatt_notify_data_response"; }
2022
+ const char *message_name() const override { return "bluetooth_gatt_notify_data_response"; }
2099
2023
  #endif
2100
2024
  uint64_t address{0};
2101
2025
  uint32_t handle{0};
@@ -2107,18 +2031,14 @@ class BluetoothGATTNotifyDataResponse : public ProtoMessage {
2107
2031
  #endif
2108
2032
 
2109
2033
  protected:
2110
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2111
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2112
2034
  };
2113
2035
  class SubscribeBluetoothConnectionsFreeRequest : public ProtoMessage {
2114
2036
  public:
2115
- static constexpr uint16_t MESSAGE_TYPE = 80;
2116
- static constexpr uint16_t ESTIMATED_SIZE = 0;
2037
+ static constexpr uint8_t MESSAGE_TYPE = 80;
2038
+ static constexpr uint8_t ESTIMATED_SIZE = 0;
2117
2039
  #ifdef HAS_PROTO_MESSAGE_DUMP
2118
- static constexpr const char *message_name() { return "subscribe_bluetooth_connections_free_request"; }
2040
+ const char *message_name() const override { return "subscribe_bluetooth_connections_free_request"; }
2119
2041
  #endif
2120
- void encode(ProtoWriteBuffer buffer) const override;
2121
- void calculate_size(uint32_t &total_size) const override;
2122
2042
  #ifdef HAS_PROTO_MESSAGE_DUMP
2123
2043
  void dump_to(std::string &out) const override;
2124
2044
  #endif
@@ -2127,10 +2047,10 @@ class SubscribeBluetoothConnectionsFreeRequest : public ProtoMessage {
2127
2047
  };
2128
2048
  class BluetoothConnectionsFreeResponse : public ProtoMessage {
2129
2049
  public:
2130
- static constexpr uint16_t MESSAGE_TYPE = 81;
2131
- static constexpr uint16_t ESTIMATED_SIZE = 16;
2050
+ static constexpr uint8_t MESSAGE_TYPE = 81;
2051
+ static constexpr uint8_t ESTIMATED_SIZE = 16;
2132
2052
  #ifdef HAS_PROTO_MESSAGE_DUMP
2133
- static constexpr const char *message_name() { return "bluetooth_connections_free_response"; }
2053
+ const char *message_name() const override { return "bluetooth_connections_free_response"; }
2134
2054
  #endif
2135
2055
  uint32_t free{0};
2136
2056
  uint32_t limit{0};
@@ -2142,14 +2062,13 @@ class BluetoothConnectionsFreeResponse : public ProtoMessage {
2142
2062
  #endif
2143
2063
 
2144
2064
  protected:
2145
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2146
2065
  };
2147
2066
  class BluetoothGATTErrorResponse : public ProtoMessage {
2148
2067
  public:
2149
- static constexpr uint16_t MESSAGE_TYPE = 82;
2150
- static constexpr uint16_t ESTIMATED_SIZE = 12;
2068
+ static constexpr uint8_t MESSAGE_TYPE = 82;
2069
+ static constexpr uint8_t ESTIMATED_SIZE = 12;
2151
2070
  #ifdef HAS_PROTO_MESSAGE_DUMP
2152
- static constexpr const char *message_name() { return "bluetooth_gatt_error_response"; }
2071
+ const char *message_name() const override { return "bluetooth_gatt_error_response"; }
2153
2072
  #endif
2154
2073
  uint64_t address{0};
2155
2074
  uint32_t handle{0};
@@ -2161,14 +2080,13 @@ class BluetoothGATTErrorResponse : public ProtoMessage {
2161
2080
  #endif
2162
2081
 
2163
2082
  protected:
2164
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2165
2083
  };
2166
2084
  class BluetoothGATTWriteResponse : public ProtoMessage {
2167
2085
  public:
2168
- static constexpr uint16_t MESSAGE_TYPE = 83;
2169
- static constexpr uint16_t ESTIMATED_SIZE = 8;
2086
+ static constexpr uint8_t MESSAGE_TYPE = 83;
2087
+ static constexpr uint8_t ESTIMATED_SIZE = 8;
2170
2088
  #ifdef HAS_PROTO_MESSAGE_DUMP
2171
- static constexpr const char *message_name() { return "bluetooth_gatt_write_response"; }
2089
+ const char *message_name() const override { return "bluetooth_gatt_write_response"; }
2172
2090
  #endif
2173
2091
  uint64_t address{0};
2174
2092
  uint32_t handle{0};
@@ -2179,14 +2097,13 @@ class BluetoothGATTWriteResponse : public ProtoMessage {
2179
2097
  #endif
2180
2098
 
2181
2099
  protected:
2182
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2183
2100
  };
2184
2101
  class BluetoothGATTNotifyResponse : public ProtoMessage {
2185
2102
  public:
2186
- static constexpr uint16_t MESSAGE_TYPE = 84;
2187
- static constexpr uint16_t ESTIMATED_SIZE = 8;
2103
+ static constexpr uint8_t MESSAGE_TYPE = 84;
2104
+ static constexpr uint8_t ESTIMATED_SIZE = 8;
2188
2105
  #ifdef HAS_PROTO_MESSAGE_DUMP
2189
- static constexpr const char *message_name() { return "bluetooth_gatt_notify_response"; }
2106
+ const char *message_name() const override { return "bluetooth_gatt_notify_response"; }
2190
2107
  #endif
2191
2108
  uint64_t address{0};
2192
2109
  uint32_t handle{0};
@@ -2197,14 +2114,13 @@ class BluetoothGATTNotifyResponse : public ProtoMessage {
2197
2114
  #endif
2198
2115
 
2199
2116
  protected:
2200
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2201
2117
  };
2202
2118
  class BluetoothDevicePairingResponse : public ProtoMessage {
2203
2119
  public:
2204
- static constexpr uint16_t MESSAGE_TYPE = 85;
2205
- static constexpr uint16_t ESTIMATED_SIZE = 10;
2120
+ static constexpr uint8_t MESSAGE_TYPE = 85;
2121
+ static constexpr uint8_t ESTIMATED_SIZE = 10;
2206
2122
  #ifdef HAS_PROTO_MESSAGE_DUMP
2207
- static constexpr const char *message_name() { return "bluetooth_device_pairing_response"; }
2123
+ const char *message_name() const override { return "bluetooth_device_pairing_response"; }
2208
2124
  #endif
2209
2125
  uint64_t address{0};
2210
2126
  bool paired{false};
@@ -2216,14 +2132,13 @@ class BluetoothDevicePairingResponse : public ProtoMessage {
2216
2132
  #endif
2217
2133
 
2218
2134
  protected:
2219
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2220
2135
  };
2221
2136
  class BluetoothDeviceUnpairingResponse : public ProtoMessage {
2222
2137
  public:
2223
- static constexpr uint16_t MESSAGE_TYPE = 86;
2224
- static constexpr uint16_t ESTIMATED_SIZE = 10;
2138
+ static constexpr uint8_t MESSAGE_TYPE = 86;
2139
+ static constexpr uint8_t ESTIMATED_SIZE = 10;
2225
2140
  #ifdef HAS_PROTO_MESSAGE_DUMP
2226
- static constexpr const char *message_name() { return "bluetooth_device_unpairing_response"; }
2141
+ const char *message_name() const override { return "bluetooth_device_unpairing_response"; }
2227
2142
  #endif
2228
2143
  uint64_t address{0};
2229
2144
  bool success{false};
@@ -2235,17 +2150,14 @@ class BluetoothDeviceUnpairingResponse : public ProtoMessage {
2235
2150
  #endif
2236
2151
 
2237
2152
  protected:
2238
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2239
2153
  };
2240
2154
  class UnsubscribeBluetoothLEAdvertisementsRequest : public ProtoMessage {
2241
2155
  public:
2242
- static constexpr uint16_t MESSAGE_TYPE = 87;
2243
- static constexpr uint16_t ESTIMATED_SIZE = 0;
2156
+ static constexpr uint8_t MESSAGE_TYPE = 87;
2157
+ static constexpr uint8_t ESTIMATED_SIZE = 0;
2244
2158
  #ifdef HAS_PROTO_MESSAGE_DUMP
2245
- static constexpr const char *message_name() { return "unsubscribe_bluetooth_le_advertisements_request"; }
2159
+ const char *message_name() const override { return "unsubscribe_bluetooth_le_advertisements_request"; }
2246
2160
  #endif
2247
- void encode(ProtoWriteBuffer buffer) const override;
2248
- void calculate_size(uint32_t &total_size) const override;
2249
2161
  #ifdef HAS_PROTO_MESSAGE_DUMP
2250
2162
  void dump_to(std::string &out) const override;
2251
2163
  #endif
@@ -2254,10 +2166,10 @@ class UnsubscribeBluetoothLEAdvertisementsRequest : public ProtoMessage {
2254
2166
  };
2255
2167
  class BluetoothDeviceClearCacheResponse : public ProtoMessage {
2256
2168
  public:
2257
- static constexpr uint16_t MESSAGE_TYPE = 88;
2258
- static constexpr uint16_t ESTIMATED_SIZE = 10;
2169
+ static constexpr uint8_t MESSAGE_TYPE = 88;
2170
+ static constexpr uint8_t ESTIMATED_SIZE = 10;
2259
2171
  #ifdef HAS_PROTO_MESSAGE_DUMP
2260
- static constexpr const char *message_name() { return "bluetooth_device_clear_cache_response"; }
2172
+ const char *message_name() const override { return "bluetooth_device_clear_cache_response"; }
2261
2173
  #endif
2262
2174
  uint64_t address{0};
2263
2175
  bool success{false};
@@ -2269,14 +2181,13 @@ class BluetoothDeviceClearCacheResponse : public ProtoMessage {
2269
2181
  #endif
2270
2182
 
2271
2183
  protected:
2272
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2273
2184
  };
2274
2185
  class BluetoothScannerStateResponse : public ProtoMessage {
2275
2186
  public:
2276
- static constexpr uint16_t MESSAGE_TYPE = 126;
2277
- static constexpr uint16_t ESTIMATED_SIZE = 4;
2187
+ static constexpr uint8_t MESSAGE_TYPE = 126;
2188
+ static constexpr uint8_t ESTIMATED_SIZE = 4;
2278
2189
  #ifdef HAS_PROTO_MESSAGE_DUMP
2279
- static constexpr const char *message_name() { return "bluetooth_scanner_state_response"; }
2190
+ const char *message_name() const override { return "bluetooth_scanner_state_response"; }
2280
2191
  #endif
2281
2192
  enums::BluetoothScannerState state{};
2282
2193
  enums::BluetoothScannerMode mode{};
@@ -2287,18 +2198,15 @@ class BluetoothScannerStateResponse : public ProtoMessage {
2287
2198
  #endif
2288
2199
 
2289
2200
  protected:
2290
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2291
2201
  };
2292
2202
  class BluetoothScannerSetModeRequest : public ProtoMessage {
2293
2203
  public:
2294
- static constexpr uint16_t MESSAGE_TYPE = 127;
2295
- static constexpr uint16_t ESTIMATED_SIZE = 2;
2204
+ static constexpr uint8_t MESSAGE_TYPE = 127;
2205
+ static constexpr uint8_t ESTIMATED_SIZE = 2;
2296
2206
  #ifdef HAS_PROTO_MESSAGE_DUMP
2297
- static constexpr const char *message_name() { return "bluetooth_scanner_set_mode_request"; }
2207
+ const char *message_name() const override { return "bluetooth_scanner_set_mode_request"; }
2298
2208
  #endif
2299
2209
  enums::BluetoothScannerMode mode{};
2300
- void encode(ProtoWriteBuffer buffer) const override;
2301
- void calculate_size(uint32_t &total_size) const override;
2302
2210
  #ifdef HAS_PROTO_MESSAGE_DUMP
2303
2211
  void dump_to(std::string &out) const override;
2304
2212
  #endif
@@ -2306,17 +2214,17 @@ class BluetoothScannerSetModeRequest : public ProtoMessage {
2306
2214
  protected:
2307
2215
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2308
2216
  };
2217
+ #endif
2218
+ #ifdef USE_VOICE_ASSISTANT
2309
2219
  class SubscribeVoiceAssistantRequest : public ProtoMessage {
2310
2220
  public:
2311
- static constexpr uint16_t MESSAGE_TYPE = 89;
2312
- static constexpr uint16_t ESTIMATED_SIZE = 6;
2221
+ static constexpr uint8_t MESSAGE_TYPE = 89;
2222
+ static constexpr uint8_t ESTIMATED_SIZE = 6;
2313
2223
  #ifdef HAS_PROTO_MESSAGE_DUMP
2314
- static constexpr const char *message_name() { return "subscribe_voice_assistant_request"; }
2224
+ const char *message_name() const override { return "subscribe_voice_assistant_request"; }
2315
2225
  #endif
2316
2226
  bool subscribe{false};
2317
2227
  uint32_t flags{0};
2318
- void encode(ProtoWriteBuffer buffer) const override;
2319
- void calculate_size(uint32_t &total_size) const override;
2320
2228
  #ifdef HAS_PROTO_MESSAGE_DUMP
2321
2229
  void dump_to(std::string &out) const override;
2322
2230
  #endif
@@ -2341,10 +2249,10 @@ class VoiceAssistantAudioSettings : public ProtoMessage {
2341
2249
  };
2342
2250
  class VoiceAssistantRequest : public ProtoMessage {
2343
2251
  public:
2344
- static constexpr uint16_t MESSAGE_TYPE = 90;
2345
- static constexpr uint16_t ESTIMATED_SIZE = 41;
2252
+ static constexpr uint8_t MESSAGE_TYPE = 90;
2253
+ static constexpr uint8_t ESTIMATED_SIZE = 41;
2346
2254
  #ifdef HAS_PROTO_MESSAGE_DUMP
2347
- static constexpr const char *message_name() { return "voice_assistant_request"; }
2255
+ const char *message_name() const override { return "voice_assistant_request"; }
2348
2256
  #endif
2349
2257
  bool start{false};
2350
2258
  std::string conversation_id{};
@@ -2358,20 +2266,16 @@ class VoiceAssistantRequest : public ProtoMessage {
2358
2266
  #endif
2359
2267
 
2360
2268
  protected:
2361
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2362
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2363
2269
  };
2364
2270
  class VoiceAssistantResponse : public ProtoMessage {
2365
2271
  public:
2366
- static constexpr uint16_t MESSAGE_TYPE = 91;
2367
- static constexpr uint16_t ESTIMATED_SIZE = 6;
2272
+ static constexpr uint8_t MESSAGE_TYPE = 91;
2273
+ static constexpr uint8_t ESTIMATED_SIZE = 6;
2368
2274
  #ifdef HAS_PROTO_MESSAGE_DUMP
2369
- static constexpr const char *message_name() { return "voice_assistant_response"; }
2275
+ const char *message_name() const override { return "voice_assistant_response"; }
2370
2276
  #endif
2371
2277
  uint32_t port{0};
2372
2278
  bool error{false};
2373
- void encode(ProtoWriteBuffer buffer) const override;
2374
- void calculate_size(uint32_t &total_size) const override;
2375
2279
  #ifdef HAS_PROTO_MESSAGE_DUMP
2376
2280
  void dump_to(std::string &out) const override;
2377
2281
  #endif
@@ -2394,15 +2298,13 @@ class VoiceAssistantEventData : public ProtoMessage {
2394
2298
  };
2395
2299
  class VoiceAssistantEventResponse : public ProtoMessage {
2396
2300
  public:
2397
- static constexpr uint16_t MESSAGE_TYPE = 92;
2398
- static constexpr uint16_t ESTIMATED_SIZE = 36;
2301
+ static constexpr uint8_t MESSAGE_TYPE = 92;
2302
+ static constexpr uint8_t ESTIMATED_SIZE = 36;
2399
2303
  #ifdef HAS_PROTO_MESSAGE_DUMP
2400
- static constexpr const char *message_name() { return "voice_assistant_event_response"; }
2304
+ const char *message_name() const override { return "voice_assistant_event_response"; }
2401
2305
  #endif
2402
2306
  enums::VoiceAssistantEvent event_type{};
2403
2307
  std::vector<VoiceAssistantEventData> data{};
2404
- void encode(ProtoWriteBuffer buffer) const override;
2405
- void calculate_size(uint32_t &total_size) const override;
2406
2308
  #ifdef HAS_PROTO_MESSAGE_DUMP
2407
2309
  void dump_to(std::string &out) const override;
2408
2310
  #endif
@@ -2413,10 +2315,10 @@ class VoiceAssistantEventResponse : public ProtoMessage {
2413
2315
  };
2414
2316
  class VoiceAssistantAudio : public ProtoMessage {
2415
2317
  public:
2416
- static constexpr uint16_t MESSAGE_TYPE = 106;
2417
- static constexpr uint16_t ESTIMATED_SIZE = 11;
2318
+ static constexpr uint8_t MESSAGE_TYPE = 106;
2319
+ static constexpr uint8_t ESTIMATED_SIZE = 11;
2418
2320
  #ifdef HAS_PROTO_MESSAGE_DUMP
2419
- static constexpr const char *message_name() { return "voice_assistant_audio"; }
2321
+ const char *message_name() const override { return "voice_assistant_audio"; }
2420
2322
  #endif
2421
2323
  std::string data{};
2422
2324
  bool end{false};
@@ -2432,10 +2334,10 @@ class VoiceAssistantAudio : public ProtoMessage {
2432
2334
  };
2433
2335
  class VoiceAssistantTimerEventResponse : public ProtoMessage {
2434
2336
  public:
2435
- static constexpr uint16_t MESSAGE_TYPE = 115;
2436
- static constexpr uint16_t ESTIMATED_SIZE = 30;
2337
+ static constexpr uint8_t MESSAGE_TYPE = 115;
2338
+ static constexpr uint8_t ESTIMATED_SIZE = 30;
2437
2339
  #ifdef HAS_PROTO_MESSAGE_DUMP
2438
- static constexpr const char *message_name() { return "voice_assistant_timer_event_response"; }
2340
+ const char *message_name() const override { return "voice_assistant_timer_event_response"; }
2439
2341
  #endif
2440
2342
  enums::VoiceAssistantTimerEvent event_type{};
2441
2343
  std::string timer_id{};
@@ -2443,8 +2345,6 @@ class VoiceAssistantTimerEventResponse : public ProtoMessage {
2443
2345
  uint32_t total_seconds{0};
2444
2346
  uint32_t seconds_left{0};
2445
2347
  bool is_active{false};
2446
- void encode(ProtoWriteBuffer buffer) const override;
2447
- void calculate_size(uint32_t &total_size) const override;
2448
2348
  #ifdef HAS_PROTO_MESSAGE_DUMP
2449
2349
  void dump_to(std::string &out) const override;
2450
2350
  #endif
@@ -2455,17 +2355,15 @@ class VoiceAssistantTimerEventResponse : public ProtoMessage {
2455
2355
  };
2456
2356
  class VoiceAssistantAnnounceRequest : public ProtoMessage {
2457
2357
  public:
2458
- static constexpr uint16_t MESSAGE_TYPE = 119;
2459
- static constexpr uint16_t ESTIMATED_SIZE = 29;
2358
+ static constexpr uint8_t MESSAGE_TYPE = 119;
2359
+ static constexpr uint8_t ESTIMATED_SIZE = 29;
2460
2360
  #ifdef HAS_PROTO_MESSAGE_DUMP
2461
- static constexpr const char *message_name() { return "voice_assistant_announce_request"; }
2361
+ const char *message_name() const override { return "voice_assistant_announce_request"; }
2462
2362
  #endif
2463
2363
  std::string media_id{};
2464
2364
  std::string text{};
2465
2365
  std::string preannounce_media_id{};
2466
2366
  bool start_conversation{false};
2467
- void encode(ProtoWriteBuffer buffer) const override;
2468
- void calculate_size(uint32_t &total_size) const override;
2469
2367
  #ifdef HAS_PROTO_MESSAGE_DUMP
2470
2368
  void dump_to(std::string &out) const override;
2471
2369
  #endif
@@ -2476,10 +2374,10 @@ class VoiceAssistantAnnounceRequest : public ProtoMessage {
2476
2374
  };
2477
2375
  class VoiceAssistantAnnounceFinished : public ProtoMessage {
2478
2376
  public:
2479
- static constexpr uint16_t MESSAGE_TYPE = 120;
2480
- static constexpr uint16_t ESTIMATED_SIZE = 2;
2377
+ static constexpr uint8_t MESSAGE_TYPE = 120;
2378
+ static constexpr uint8_t ESTIMATED_SIZE = 2;
2481
2379
  #ifdef HAS_PROTO_MESSAGE_DUMP
2482
- static constexpr const char *message_name() { return "voice_assistant_announce_finished"; }
2380
+ const char *message_name() const override { return "voice_assistant_announce_finished"; }
2483
2381
  #endif
2484
2382
  bool success{false};
2485
2383
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2489,7 +2387,6 @@ class VoiceAssistantAnnounceFinished : public ProtoMessage {
2489
2387
  #endif
2490
2388
 
2491
2389
  protected:
2492
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2493
2390
  };
2494
2391
  class VoiceAssistantWakeWord : public ProtoMessage {
2495
2392
  public:
@@ -2507,13 +2404,11 @@ class VoiceAssistantWakeWord : public ProtoMessage {
2507
2404
  };
2508
2405
  class VoiceAssistantConfigurationRequest : public ProtoMessage {
2509
2406
  public:
2510
- static constexpr uint16_t MESSAGE_TYPE = 121;
2511
- static constexpr uint16_t ESTIMATED_SIZE = 0;
2407
+ static constexpr uint8_t MESSAGE_TYPE = 121;
2408
+ static constexpr uint8_t ESTIMATED_SIZE = 0;
2512
2409
  #ifdef HAS_PROTO_MESSAGE_DUMP
2513
- static constexpr const char *message_name() { return "voice_assistant_configuration_request"; }
2410
+ const char *message_name() const override { return "voice_assistant_configuration_request"; }
2514
2411
  #endif
2515
- void encode(ProtoWriteBuffer buffer) const override;
2516
- void calculate_size(uint32_t &total_size) const override;
2517
2412
  #ifdef HAS_PROTO_MESSAGE_DUMP
2518
2413
  void dump_to(std::string &out) const override;
2519
2414
  #endif
@@ -2522,10 +2417,10 @@ class VoiceAssistantConfigurationRequest : public ProtoMessage {
2522
2417
  };
2523
2418
  class VoiceAssistantConfigurationResponse : public ProtoMessage {
2524
2419
  public:
2525
- static constexpr uint16_t MESSAGE_TYPE = 122;
2526
- static constexpr uint16_t ESTIMATED_SIZE = 56;
2420
+ static constexpr uint8_t MESSAGE_TYPE = 122;
2421
+ static constexpr uint8_t ESTIMATED_SIZE = 56;
2527
2422
  #ifdef HAS_PROTO_MESSAGE_DUMP
2528
- static constexpr const char *message_name() { return "voice_assistant_configuration_response"; }
2423
+ const char *message_name() const override { return "voice_assistant_configuration_response"; }
2529
2424
  #endif
2530
2425
  std::vector<VoiceAssistantWakeWord> available_wake_words{};
2531
2426
  std::vector<std::string> active_wake_words{};
@@ -2537,19 +2432,15 @@ class VoiceAssistantConfigurationResponse : public ProtoMessage {
2537
2432
  #endif
2538
2433
 
2539
2434
  protected:
2540
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2541
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2542
2435
  };
2543
2436
  class VoiceAssistantSetConfiguration : public ProtoMessage {
2544
2437
  public:
2545
- static constexpr uint16_t MESSAGE_TYPE = 123;
2546
- static constexpr uint16_t ESTIMATED_SIZE = 18;
2438
+ static constexpr uint8_t MESSAGE_TYPE = 123;
2439
+ static constexpr uint8_t ESTIMATED_SIZE = 18;
2547
2440
  #ifdef HAS_PROTO_MESSAGE_DUMP
2548
- static constexpr const char *message_name() { return "voice_assistant_set_configuration"; }
2441
+ const char *message_name() const override { return "voice_assistant_set_configuration"; }
2549
2442
  #endif
2550
2443
  std::vector<std::string> active_wake_words{};
2551
- void encode(ProtoWriteBuffer buffer) const override;
2552
- void calculate_size(uint32_t &total_size) const override;
2553
2444
  #ifdef HAS_PROTO_MESSAGE_DUMP
2554
2445
  void dump_to(std::string &out) const override;
2555
2446
  #endif
@@ -2557,12 +2448,14 @@ class VoiceAssistantSetConfiguration : public ProtoMessage {
2557
2448
  protected:
2558
2449
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2559
2450
  };
2451
+ #endif
2452
+ #ifdef USE_ALARM_CONTROL_PANEL
2560
2453
  class ListEntitiesAlarmControlPanelResponse : public InfoResponseProtoMessage {
2561
2454
  public:
2562
- static constexpr uint16_t MESSAGE_TYPE = 94;
2563
- static constexpr uint16_t ESTIMATED_SIZE = 53;
2455
+ static constexpr uint8_t MESSAGE_TYPE = 94;
2456
+ static constexpr uint8_t ESTIMATED_SIZE = 57;
2564
2457
  #ifdef HAS_PROTO_MESSAGE_DUMP
2565
- static constexpr const char *message_name() { return "list_entities_alarm_control_panel_response"; }
2458
+ const char *message_name() const override { return "list_entities_alarm_control_panel_response"; }
2566
2459
  #endif
2567
2460
  uint32_t supported_features{0};
2568
2461
  bool requires_code{false};
@@ -2574,16 +2467,13 @@ class ListEntitiesAlarmControlPanelResponse : public InfoResponseProtoMessage {
2574
2467
  #endif
2575
2468
 
2576
2469
  protected:
2577
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2578
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2579
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2580
2470
  };
2581
2471
  class AlarmControlPanelStateResponse : public StateResponseProtoMessage {
2582
2472
  public:
2583
- static constexpr uint16_t MESSAGE_TYPE = 95;
2584
- static constexpr uint16_t ESTIMATED_SIZE = 7;
2473
+ static constexpr uint8_t MESSAGE_TYPE = 95;
2474
+ static constexpr uint8_t ESTIMATED_SIZE = 11;
2585
2475
  #ifdef HAS_PROTO_MESSAGE_DUMP
2586
- static constexpr const char *message_name() { return "alarm_control_panel_state_response"; }
2476
+ const char *message_name() const override { return "alarm_control_panel_state_response"; }
2587
2477
  #endif
2588
2478
  enums::AlarmControlPanelState state{};
2589
2479
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2593,21 +2483,16 @@ class AlarmControlPanelStateResponse : public StateResponseProtoMessage {
2593
2483
  #endif
2594
2484
 
2595
2485
  protected:
2596
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2597
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2598
2486
  };
2599
- class AlarmControlPanelCommandRequest : public ProtoMessage {
2487
+ class AlarmControlPanelCommandRequest : public CommandProtoMessage {
2600
2488
  public:
2601
- static constexpr uint16_t MESSAGE_TYPE = 96;
2602
- static constexpr uint16_t ESTIMATED_SIZE = 16;
2489
+ static constexpr uint8_t MESSAGE_TYPE = 96;
2490
+ static constexpr uint8_t ESTIMATED_SIZE = 20;
2603
2491
  #ifdef HAS_PROTO_MESSAGE_DUMP
2604
- static constexpr const char *message_name() { return "alarm_control_panel_command_request"; }
2492
+ const char *message_name() const override { return "alarm_control_panel_command_request"; }
2605
2493
  #endif
2606
- uint32_t key{0};
2607
2494
  enums::AlarmControlPanelStateCommand command{};
2608
2495
  std::string code{};
2609
- void encode(ProtoWriteBuffer buffer) const override;
2610
- void calculate_size(uint32_t &total_size) const override;
2611
2496
  #ifdef HAS_PROTO_MESSAGE_DUMP
2612
2497
  void dump_to(std::string &out) const override;
2613
2498
  #endif
@@ -2617,12 +2502,14 @@ class AlarmControlPanelCommandRequest : public ProtoMessage {
2617
2502
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2618
2503
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2619
2504
  };
2505
+ #endif
2506
+ #ifdef USE_TEXT
2620
2507
  class ListEntitiesTextResponse : public InfoResponseProtoMessage {
2621
2508
  public:
2622
- static constexpr uint16_t MESSAGE_TYPE = 97;
2623
- static constexpr uint16_t ESTIMATED_SIZE = 64;
2509
+ static constexpr uint8_t MESSAGE_TYPE = 97;
2510
+ static constexpr uint8_t ESTIMATED_SIZE = 68;
2624
2511
  #ifdef HAS_PROTO_MESSAGE_DUMP
2625
- static constexpr const char *message_name() { return "list_entities_text_response"; }
2512
+ const char *message_name() const override { return "list_entities_text_response"; }
2626
2513
  #endif
2627
2514
  uint32_t min_length{0};
2628
2515
  uint32_t max_length{0};
@@ -2635,16 +2522,13 @@ class ListEntitiesTextResponse : public InfoResponseProtoMessage {
2635
2522
  #endif
2636
2523
 
2637
2524
  protected:
2638
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2639
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2640
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2641
2525
  };
2642
2526
  class TextStateResponse : public StateResponseProtoMessage {
2643
2527
  public:
2644
- static constexpr uint16_t MESSAGE_TYPE = 98;
2645
- static constexpr uint16_t ESTIMATED_SIZE = 16;
2528
+ static constexpr uint8_t MESSAGE_TYPE = 98;
2529
+ static constexpr uint8_t ESTIMATED_SIZE = 20;
2646
2530
  #ifdef HAS_PROTO_MESSAGE_DUMP
2647
- static constexpr const char *message_name() { return "text_state_response"; }
2531
+ const char *message_name() const override { return "text_state_response"; }
2648
2532
  #endif
2649
2533
  std::string state{};
2650
2534
  bool missing_state{false};
@@ -2655,21 +2539,15 @@ class TextStateResponse : public StateResponseProtoMessage {
2655
2539
  #endif
2656
2540
 
2657
2541
  protected:
2658
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2659
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2660
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2661
2542
  };
2662
- class TextCommandRequest : public ProtoMessage {
2543
+ class TextCommandRequest : public CommandProtoMessage {
2663
2544
  public:
2664
- static constexpr uint16_t MESSAGE_TYPE = 99;
2665
- static constexpr uint16_t ESTIMATED_SIZE = 14;
2545
+ static constexpr uint8_t MESSAGE_TYPE = 99;
2546
+ static constexpr uint8_t ESTIMATED_SIZE = 18;
2666
2547
  #ifdef HAS_PROTO_MESSAGE_DUMP
2667
- static constexpr const char *message_name() { return "text_command_request"; }
2548
+ const char *message_name() const override { return "text_command_request"; }
2668
2549
  #endif
2669
- uint32_t key{0};
2670
2550
  std::string state{};
2671
- void encode(ProtoWriteBuffer buffer) const override;
2672
- void calculate_size(uint32_t &total_size) const override;
2673
2551
  #ifdef HAS_PROTO_MESSAGE_DUMP
2674
2552
  void dump_to(std::string &out) const override;
2675
2553
  #endif
@@ -2677,13 +2555,16 @@ class TextCommandRequest : public ProtoMessage {
2677
2555
  protected:
2678
2556
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2679
2557
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2558
+ bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2680
2559
  };
2560
+ #endif
2561
+ #ifdef USE_DATETIME_DATE
2681
2562
  class ListEntitiesDateResponse : public InfoResponseProtoMessage {
2682
2563
  public:
2683
- static constexpr uint16_t MESSAGE_TYPE = 100;
2684
- static constexpr uint16_t ESTIMATED_SIZE = 45;
2564
+ static constexpr uint8_t MESSAGE_TYPE = 100;
2565
+ static constexpr uint8_t ESTIMATED_SIZE = 49;
2685
2566
  #ifdef HAS_PROTO_MESSAGE_DUMP
2686
- static constexpr const char *message_name() { return "list_entities_date_response"; }
2567
+ const char *message_name() const override { return "list_entities_date_response"; }
2687
2568
  #endif
2688
2569
  void encode(ProtoWriteBuffer buffer) const override;
2689
2570
  void calculate_size(uint32_t &total_size) const override;
@@ -2692,16 +2573,13 @@ class ListEntitiesDateResponse : public InfoResponseProtoMessage {
2692
2573
  #endif
2693
2574
 
2694
2575
  protected:
2695
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2696
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2697
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2698
2576
  };
2699
2577
  class DateStateResponse : public StateResponseProtoMessage {
2700
2578
  public:
2701
- static constexpr uint16_t MESSAGE_TYPE = 101;
2702
- static constexpr uint16_t ESTIMATED_SIZE = 19;
2579
+ static constexpr uint8_t MESSAGE_TYPE = 101;
2580
+ static constexpr uint8_t ESTIMATED_SIZE = 23;
2703
2581
  #ifdef HAS_PROTO_MESSAGE_DUMP
2704
- static constexpr const char *message_name() { return "date_state_response"; }
2582
+ const char *message_name() const override { return "date_state_response"; }
2705
2583
  #endif
2706
2584
  bool missing_state{false};
2707
2585
  uint32_t year{0};
@@ -2714,22 +2592,17 @@ class DateStateResponse : public StateResponseProtoMessage {
2714
2592
  #endif
2715
2593
 
2716
2594
  protected:
2717
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2718
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2719
2595
  };
2720
- class DateCommandRequest : public ProtoMessage {
2596
+ class DateCommandRequest : public CommandProtoMessage {
2721
2597
  public:
2722
- static constexpr uint16_t MESSAGE_TYPE = 102;
2723
- static constexpr uint16_t ESTIMATED_SIZE = 17;
2598
+ static constexpr uint8_t MESSAGE_TYPE = 102;
2599
+ static constexpr uint8_t ESTIMATED_SIZE = 21;
2724
2600
  #ifdef HAS_PROTO_MESSAGE_DUMP
2725
- static constexpr const char *message_name() { return "date_command_request"; }
2601
+ const char *message_name() const override { return "date_command_request"; }
2726
2602
  #endif
2727
- uint32_t key{0};
2728
2603
  uint32_t year{0};
2729
2604
  uint32_t month{0};
2730
2605
  uint32_t day{0};
2731
- void encode(ProtoWriteBuffer buffer) const override;
2732
- void calculate_size(uint32_t &total_size) const override;
2733
2606
  #ifdef HAS_PROTO_MESSAGE_DUMP
2734
2607
  void dump_to(std::string &out) const override;
2735
2608
  #endif
@@ -2738,12 +2611,14 @@ class DateCommandRequest : public ProtoMessage {
2738
2611
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2739
2612
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2740
2613
  };
2614
+ #endif
2615
+ #ifdef USE_DATETIME_TIME
2741
2616
  class ListEntitiesTimeResponse : public InfoResponseProtoMessage {
2742
2617
  public:
2743
- static constexpr uint16_t MESSAGE_TYPE = 103;
2744
- static constexpr uint16_t ESTIMATED_SIZE = 45;
2618
+ static constexpr uint8_t MESSAGE_TYPE = 103;
2619
+ static constexpr uint8_t ESTIMATED_SIZE = 49;
2745
2620
  #ifdef HAS_PROTO_MESSAGE_DUMP
2746
- static constexpr const char *message_name() { return "list_entities_time_response"; }
2621
+ const char *message_name() const override { return "list_entities_time_response"; }
2747
2622
  #endif
2748
2623
  void encode(ProtoWriteBuffer buffer) const override;
2749
2624
  void calculate_size(uint32_t &total_size) const override;
@@ -2752,16 +2627,13 @@ class ListEntitiesTimeResponse : public InfoResponseProtoMessage {
2752
2627
  #endif
2753
2628
 
2754
2629
  protected:
2755
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2756
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2757
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2758
2630
  };
2759
2631
  class TimeStateResponse : public StateResponseProtoMessage {
2760
2632
  public:
2761
- static constexpr uint16_t MESSAGE_TYPE = 104;
2762
- static constexpr uint16_t ESTIMATED_SIZE = 19;
2633
+ static constexpr uint8_t MESSAGE_TYPE = 104;
2634
+ static constexpr uint8_t ESTIMATED_SIZE = 23;
2763
2635
  #ifdef HAS_PROTO_MESSAGE_DUMP
2764
- static constexpr const char *message_name() { return "time_state_response"; }
2636
+ const char *message_name() const override { return "time_state_response"; }
2765
2637
  #endif
2766
2638
  bool missing_state{false};
2767
2639
  uint32_t hour{0};
@@ -2774,22 +2646,17 @@ class TimeStateResponse : public StateResponseProtoMessage {
2774
2646
  #endif
2775
2647
 
2776
2648
  protected:
2777
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2778
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2779
2649
  };
2780
- class TimeCommandRequest : public ProtoMessage {
2650
+ class TimeCommandRequest : public CommandProtoMessage {
2781
2651
  public:
2782
- static constexpr uint16_t MESSAGE_TYPE = 105;
2783
- static constexpr uint16_t ESTIMATED_SIZE = 17;
2652
+ static constexpr uint8_t MESSAGE_TYPE = 105;
2653
+ static constexpr uint8_t ESTIMATED_SIZE = 21;
2784
2654
  #ifdef HAS_PROTO_MESSAGE_DUMP
2785
- static constexpr const char *message_name() { return "time_command_request"; }
2655
+ const char *message_name() const override { return "time_command_request"; }
2786
2656
  #endif
2787
- uint32_t key{0};
2788
2657
  uint32_t hour{0};
2789
2658
  uint32_t minute{0};
2790
2659
  uint32_t second{0};
2791
- void encode(ProtoWriteBuffer buffer) const override;
2792
- void calculate_size(uint32_t &total_size) const override;
2793
2660
  #ifdef HAS_PROTO_MESSAGE_DUMP
2794
2661
  void dump_to(std::string &out) const override;
2795
2662
  #endif
@@ -2798,12 +2665,14 @@ class TimeCommandRequest : public ProtoMessage {
2798
2665
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2799
2666
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2800
2667
  };
2668
+ #endif
2669
+ #ifdef USE_EVENT
2801
2670
  class ListEntitiesEventResponse : public InfoResponseProtoMessage {
2802
2671
  public:
2803
- static constexpr uint16_t MESSAGE_TYPE = 107;
2804
- static constexpr uint16_t ESTIMATED_SIZE = 72;
2672
+ static constexpr uint8_t MESSAGE_TYPE = 107;
2673
+ static constexpr uint8_t ESTIMATED_SIZE = 76;
2805
2674
  #ifdef HAS_PROTO_MESSAGE_DUMP
2806
- static constexpr const char *message_name() { return "list_entities_event_response"; }
2675
+ const char *message_name() const override { return "list_entities_event_response"; }
2807
2676
  #endif
2808
2677
  std::string device_class{};
2809
2678
  std::vector<std::string> event_types{};
@@ -2814,16 +2683,13 @@ class ListEntitiesEventResponse : public InfoResponseProtoMessage {
2814
2683
  #endif
2815
2684
 
2816
2685
  protected:
2817
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2818
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2819
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2820
2686
  };
2821
2687
  class EventResponse : public StateResponseProtoMessage {
2822
2688
  public:
2823
- static constexpr uint16_t MESSAGE_TYPE = 108;
2824
- static constexpr uint16_t ESTIMATED_SIZE = 14;
2689
+ static constexpr uint8_t MESSAGE_TYPE = 108;
2690
+ static constexpr uint8_t ESTIMATED_SIZE = 18;
2825
2691
  #ifdef HAS_PROTO_MESSAGE_DUMP
2826
- static constexpr const char *message_name() { return "event_response"; }
2692
+ const char *message_name() const override { return "event_response"; }
2827
2693
  #endif
2828
2694
  std::string event_type{};
2829
2695
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2833,15 +2699,15 @@ class EventResponse : public StateResponseProtoMessage {
2833
2699
  #endif
2834
2700
 
2835
2701
  protected:
2836
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2837
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2838
2702
  };
2703
+ #endif
2704
+ #ifdef USE_VALVE
2839
2705
  class ListEntitiesValveResponse : public InfoResponseProtoMessage {
2840
2706
  public:
2841
- static constexpr uint16_t MESSAGE_TYPE = 109;
2842
- static constexpr uint16_t ESTIMATED_SIZE = 60;
2707
+ static constexpr uint8_t MESSAGE_TYPE = 109;
2708
+ static constexpr uint8_t ESTIMATED_SIZE = 64;
2843
2709
  #ifdef HAS_PROTO_MESSAGE_DUMP
2844
- static constexpr const char *message_name() { return "list_entities_valve_response"; }
2710
+ const char *message_name() const override { return "list_entities_valve_response"; }
2845
2711
  #endif
2846
2712
  std::string device_class{};
2847
2713
  bool assumed_state{false};
@@ -2854,16 +2720,13 @@ class ListEntitiesValveResponse : public InfoResponseProtoMessage {
2854
2720
  #endif
2855
2721
 
2856
2722
  protected:
2857
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2858
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2859
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2860
2723
  };
2861
2724
  class ValveStateResponse : public StateResponseProtoMessage {
2862
2725
  public:
2863
- static constexpr uint16_t MESSAGE_TYPE = 110;
2864
- static constexpr uint16_t ESTIMATED_SIZE = 12;
2726
+ static constexpr uint8_t MESSAGE_TYPE = 110;
2727
+ static constexpr uint8_t ESTIMATED_SIZE = 16;
2865
2728
  #ifdef HAS_PROTO_MESSAGE_DUMP
2866
- static constexpr const char *message_name() { return "valve_state_response"; }
2729
+ const char *message_name() const override { return "valve_state_response"; }
2867
2730
  #endif
2868
2731
  float position{0.0f};
2869
2732
  enums::ValveOperation current_operation{};
@@ -2874,22 +2737,17 @@ class ValveStateResponse : public StateResponseProtoMessage {
2874
2737
  #endif
2875
2738
 
2876
2739
  protected:
2877
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2878
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2879
2740
  };
2880
- class ValveCommandRequest : public ProtoMessage {
2741
+ class ValveCommandRequest : public CommandProtoMessage {
2881
2742
  public:
2882
- static constexpr uint16_t MESSAGE_TYPE = 111;
2883
- static constexpr uint16_t ESTIMATED_SIZE = 14;
2743
+ static constexpr uint8_t MESSAGE_TYPE = 111;
2744
+ static constexpr uint8_t ESTIMATED_SIZE = 18;
2884
2745
  #ifdef HAS_PROTO_MESSAGE_DUMP
2885
- static constexpr const char *message_name() { return "valve_command_request"; }
2746
+ const char *message_name() const override { return "valve_command_request"; }
2886
2747
  #endif
2887
- uint32_t key{0};
2888
2748
  bool has_position{false};
2889
2749
  float position{0.0f};
2890
2750
  bool stop{false};
2891
- void encode(ProtoWriteBuffer buffer) const override;
2892
- void calculate_size(uint32_t &total_size) const override;
2893
2751
  #ifdef HAS_PROTO_MESSAGE_DUMP
2894
2752
  void dump_to(std::string &out) const override;
2895
2753
  #endif
@@ -2898,12 +2756,14 @@ class ValveCommandRequest : public ProtoMessage {
2898
2756
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2899
2757
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2900
2758
  };
2759
+ #endif
2760
+ #ifdef USE_DATETIME_DATETIME
2901
2761
  class ListEntitiesDateTimeResponse : public InfoResponseProtoMessage {
2902
2762
  public:
2903
- static constexpr uint16_t MESSAGE_TYPE = 112;
2904
- static constexpr uint16_t ESTIMATED_SIZE = 45;
2763
+ static constexpr uint8_t MESSAGE_TYPE = 112;
2764
+ static constexpr uint8_t ESTIMATED_SIZE = 49;
2905
2765
  #ifdef HAS_PROTO_MESSAGE_DUMP
2906
- static constexpr const char *message_name() { return "list_entities_date_time_response"; }
2766
+ const char *message_name() const override { return "list_entities_date_time_response"; }
2907
2767
  #endif
2908
2768
  void encode(ProtoWriteBuffer buffer) const override;
2909
2769
  void calculate_size(uint32_t &total_size) const override;
@@ -2912,16 +2772,13 @@ class ListEntitiesDateTimeResponse : public InfoResponseProtoMessage {
2912
2772
  #endif
2913
2773
 
2914
2774
  protected:
2915
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2916
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2917
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2918
2775
  };
2919
2776
  class DateTimeStateResponse : public StateResponseProtoMessage {
2920
2777
  public:
2921
- static constexpr uint16_t MESSAGE_TYPE = 113;
2922
- static constexpr uint16_t ESTIMATED_SIZE = 12;
2778
+ static constexpr uint8_t MESSAGE_TYPE = 113;
2779
+ static constexpr uint8_t ESTIMATED_SIZE = 16;
2923
2780
  #ifdef HAS_PROTO_MESSAGE_DUMP
2924
- static constexpr const char *message_name() { return "date_time_state_response"; }
2781
+ const char *message_name() const override { return "date_time_state_response"; }
2925
2782
  #endif
2926
2783
  bool missing_state{false};
2927
2784
  uint32_t epoch_seconds{0};
@@ -2932,33 +2789,31 @@ class DateTimeStateResponse : public StateResponseProtoMessage {
2932
2789
  #endif
2933
2790
 
2934
2791
  protected:
2935
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2936
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2937
2792
  };
2938
- class DateTimeCommandRequest : public ProtoMessage {
2793
+ class DateTimeCommandRequest : public CommandProtoMessage {
2939
2794
  public:
2940
- static constexpr uint16_t MESSAGE_TYPE = 114;
2941
- static constexpr uint16_t ESTIMATED_SIZE = 10;
2795
+ static constexpr uint8_t MESSAGE_TYPE = 114;
2796
+ static constexpr uint8_t ESTIMATED_SIZE = 14;
2942
2797
  #ifdef HAS_PROTO_MESSAGE_DUMP
2943
- static constexpr const char *message_name() { return "date_time_command_request"; }
2798
+ const char *message_name() const override { return "date_time_command_request"; }
2944
2799
  #endif
2945
- uint32_t key{0};
2946
2800
  uint32_t epoch_seconds{0};
2947
- void encode(ProtoWriteBuffer buffer) const override;
2948
- void calculate_size(uint32_t &total_size) const override;
2949
2801
  #ifdef HAS_PROTO_MESSAGE_DUMP
2950
2802
  void dump_to(std::string &out) const override;
2951
2803
  #endif
2952
2804
 
2953
2805
  protected:
2954
2806
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2807
+ bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2955
2808
  };
2809
+ #endif
2810
+ #ifdef USE_UPDATE
2956
2811
  class ListEntitiesUpdateResponse : public InfoResponseProtoMessage {
2957
2812
  public:
2958
- static constexpr uint16_t MESSAGE_TYPE = 116;
2959
- static constexpr uint16_t ESTIMATED_SIZE = 54;
2813
+ static constexpr uint8_t MESSAGE_TYPE = 116;
2814
+ static constexpr uint8_t ESTIMATED_SIZE = 58;
2960
2815
  #ifdef HAS_PROTO_MESSAGE_DUMP
2961
- static constexpr const char *message_name() { return "list_entities_update_response"; }
2816
+ const char *message_name() const override { return "list_entities_update_response"; }
2962
2817
  #endif
2963
2818
  std::string device_class{};
2964
2819
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2968,16 +2823,13 @@ class ListEntitiesUpdateResponse : public InfoResponseProtoMessage {
2968
2823
  #endif
2969
2824
 
2970
2825
  protected:
2971
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2972
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2973
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2974
2826
  };
2975
2827
  class UpdateStateResponse : public StateResponseProtoMessage {
2976
2828
  public:
2977
- static constexpr uint16_t MESSAGE_TYPE = 117;
2978
- static constexpr uint16_t ESTIMATED_SIZE = 61;
2829
+ static constexpr uint8_t MESSAGE_TYPE = 117;
2830
+ static constexpr uint8_t ESTIMATED_SIZE = 65;
2979
2831
  #ifdef HAS_PROTO_MESSAGE_DUMP
2980
- static constexpr const char *message_name() { return "update_state_response"; }
2832
+ const char *message_name() const override { return "update_state_response"; }
2981
2833
  #endif
2982
2834
  bool missing_state{false};
2983
2835
  bool in_progress{false};
@@ -2995,21 +2847,15 @@ class UpdateStateResponse : public StateResponseProtoMessage {
2995
2847
  #endif
2996
2848
 
2997
2849
  protected:
2998
- bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2999
- bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
3000
- bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
3001
2850
  };
3002
- class UpdateCommandRequest : public ProtoMessage {
2851
+ class UpdateCommandRequest : public CommandProtoMessage {
3003
2852
  public:
3004
- static constexpr uint16_t MESSAGE_TYPE = 118;
3005
- static constexpr uint16_t ESTIMATED_SIZE = 7;
2853
+ static constexpr uint8_t MESSAGE_TYPE = 118;
2854
+ static constexpr uint8_t ESTIMATED_SIZE = 11;
3006
2855
  #ifdef HAS_PROTO_MESSAGE_DUMP
3007
- static constexpr const char *message_name() { return "update_command_request"; }
2856
+ const char *message_name() const override { return "update_command_request"; }
3008
2857
  #endif
3009
- uint32_t key{0};
3010
2858
  enums::UpdateCommand command{};
3011
- void encode(ProtoWriteBuffer buffer) const override;
3012
- void calculate_size(uint32_t &total_size) const override;
3013
2859
  #ifdef HAS_PROTO_MESSAGE_DUMP
3014
2860
  void dump_to(std::string &out) const override;
3015
2861
  #endif
@@ -3018,6 +2864,7 @@ class UpdateCommandRequest : public ProtoMessage {
3018
2864
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
3019
2865
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
3020
2866
  };
2867
+ #endif
3021
2868
 
3022
2869
  } // namespace api
3023
2870
  } // namespace esphome