esphome 2025.6.2__py3-none-any.whl → 2025.7.0b1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (601) 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 +42 -20
  22. esphome/components/api/api_connection.cpp +318 -391
  23. esphome/components/api/api_connection.h +206 -126
  24. esphome/components/api/api_frame_helper.cpp +89 -124
  25. esphome/components/api/api_frame_helper.h +57 -45
  26. esphome/components/api/api_pb2.cpp +414 -4350
  27. esphome/components/api/api_pb2.h +287 -198
  28. esphome/components/api/api_pb2_dump.cpp +4333 -0
  29. esphome/components/api/api_pb2_service.cpp +180 -425
  30. esphome/components/api/api_pb2_service.h +7 -6
  31. esphome/components/api/api_pb2_size.h +2 -4
  32. esphome/components/api/api_server.cpp +138 -167
  33. esphome/components/api/api_server.h +66 -12
  34. esphome/components/api/client.py +10 -4
  35. esphome/components/api/list_entities.cpp +36 -105
  36. esphome/components/api/list_entities.h +31 -23
  37. esphome/components/api/proto.h +26 -3
  38. esphome/components/api/subscribe_state.cpp +23 -29
  39. esphome/components/api/subscribe_state.h +26 -19
  40. esphome/components/as5600/as5600.h +0 -1
  41. esphome/components/async_tcp/__init__.py +14 -5
  42. esphome/components/atc_mithermometer/atc_mithermometer.h +0 -1
  43. esphome/components/atm90e32/atm90e32.cpp +2 -1
  44. esphome/components/audio/audio_decoder.cpp +1 -1
  45. esphome/components/audio/audio_transfer_buffer.cpp +2 -2
  46. esphome/components/b_parasite/b_parasite.h +0 -1
  47. esphome/components/bedjet/bedjet_hub.cpp +5 -1
  48. esphome/components/bedjet/climate/bedjet_climate.cpp +5 -1
  49. esphome/components/beken_spi_led_strip/led_strip.cpp +4 -2
  50. esphome/components/bh1750/bh1750.cpp +5 -5
  51. esphome/components/binary_sensor/__init__.py +82 -5
  52. esphome/components/binary_sensor/automation.h +19 -1
  53. esphome/components/binary_sensor/binary_sensor.cpp +12 -30
  54. esphome/components/binary_sensor/binary_sensor.h +11 -25
  55. esphome/components/binary_sensor/filter.cpp +29 -24
  56. esphome/components/binary_sensor/filter.h +20 -10
  57. esphome/components/ble_client/output/ble_binary_output.h +0 -1
  58. esphome/components/ble_client/sensor/ble_rssi_sensor.cpp +5 -1
  59. esphome/components/ble_client/sensor/ble_rssi_sensor.h +0 -1
  60. esphome/components/ble_client/sensor/ble_sensor.cpp +5 -1
  61. esphome/components/ble_client/sensor/ble_sensor.h +0 -1
  62. esphome/components/ble_client/switch/ble_switch.h +0 -1
  63. esphome/components/ble_client/text_sensor/ble_text_sensor.cpp +5 -1
  64. esphome/components/ble_client/text_sensor/ble_text_sensor.h +0 -1
  65. esphome/components/ble_presence/ble_presence_device.h +0 -1
  66. esphome/components/ble_rssi/ble_rssi_sensor.h +0 -1
  67. esphome/components/ble_scanner/ble_scanner.h +0 -1
  68. esphome/components/bluetooth_proxy/bluetooth_connection.h +9 -2
  69. esphome/components/bluetooth_proxy/bluetooth_proxy.cpp +16 -6
  70. esphome/components/bluetooth_proxy/bluetooth_proxy.h +8 -2
  71. esphome/components/bme680/sensor.py +1 -1
  72. esphome/components/bmp581/bmp581.h +0 -2
  73. esphome/components/button/__init__.py +5 -2
  74. esphome/components/camera/__init__.py +1 -0
  75. esphome/components/camera/camera.cpp +22 -0
  76. esphome/components/camera/camera.h +80 -0
  77. esphome/components/canbus/__init__.py +1 -0
  78. esphome/components/cap1188/cap1188.h +0 -1
  79. esphome/components/captive_portal/__init__.py +12 -2
  80. esphome/components/captive_portal/captive_portal.cpp +12 -2
  81. esphome/components/captive_portal/captive_portal.h +5 -2
  82. esphome/components/ccs811/ccs811.h +0 -2
  83. esphome/components/climate/__init__.py +5 -2
  84. esphome/components/cm1106/sensor.py +2 -2
  85. esphome/components/const/__init__.py +2 -0
  86. esphome/components/copy/binary_sensor/copy_binary_sensor.h +0 -1
  87. esphome/components/copy/button/copy_button.h +0 -1
  88. esphome/components/copy/cover/copy_cover.h +0 -1
  89. esphome/components/copy/fan/copy_fan.h +0 -1
  90. esphome/components/copy/lock/copy_lock.h +0 -1
  91. esphome/components/copy/number/copy_number.h +0 -1
  92. esphome/components/copy/select/copy_select.h +0 -1
  93. esphome/components/copy/sensor/copy_sensor.h +0 -1
  94. esphome/components/copy/switch/copy_switch.h +0 -1
  95. esphome/components/copy/text/copy_text.h +0 -1
  96. esphome/components/copy/text_sensor/copy_text_sensor.h +0 -1
  97. esphome/components/cover/__init__.py +5 -2
  98. esphome/components/cs5460a/cs5460a.h +0 -1
  99. esphome/components/datetime/__init__.py +4 -2
  100. esphome/components/debug/__init__.py +20 -0
  101. esphome/components/deep_sleep/__init__.py +43 -9
  102. esphome/components/demo/__init__.py +2 -2
  103. esphome/components/display/display.cpp +4 -3
  104. esphome/components/display/display.h +0 -2
  105. esphome/components/display/display_buffer.cpp +1 -1
  106. esphome/components/ds2484/__init__.py +1 -0
  107. esphome/components/ds2484/ds2484.cpp +209 -0
  108. esphome/components/ds2484/ds2484.h +43 -0
  109. esphome/components/ds2484/one_wire.py +37 -0
  110. esphome/components/duty_time/duty_time_sensor.h +0 -1
  111. esphome/components/ens160_base/ens160_base.h +0 -1
  112. esphome/components/es7210/es7210.h +0 -1
  113. esphome/components/es7243e/es7243e.h +0 -1
  114. esphome/components/es8156/es8156.h +0 -1
  115. esphome/components/es8311/es8311.h +0 -1
  116. esphome/components/es8388/es8388.h +0 -1
  117. esphome/components/esp32/__init__.py +102 -135
  118. esphome/components/esp32/core.cpp +0 -4
  119. esphome/components/esp32/gpio.h +1 -1
  120. esphome/components/esp32/helpers.cpp +69 -0
  121. esphome/components/esp32_ble/ble.cpp +5 -6
  122. esphome/components/esp32_ble/ble.h +29 -14
  123. esphome/components/esp32_ble/ble_event.h +6 -6
  124. esphome/components/esp32_ble_client/ble_client_base.cpp +21 -6
  125. esphome/components/esp32_ble_client/ble_client_base.h +24 -9
  126. esphome/components/esp32_ble_tracker/__init__.py +2 -8
  127. esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +5 -5
  128. esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +11 -7
  129. esphome/components/esp32_camera/__init__.py +111 -97
  130. esphome/components/esp32_camera/esp32_camera.cpp +41 -31
  131. esphome/components/esp32_camera/esp32_camera.h +35 -30
  132. esphome/components/esp32_camera_web_server/__init__.py +2 -1
  133. esphome/components/esp32_camera_web_server/camera_web_server.cpp +8 -8
  134. esphome/components/esp32_camera_web_server/camera_web_server.h +3 -3
  135. esphome/components/esp32_hall/sensor.py +2 -21
  136. esphome/components/esp32_hosted/__init__.py +101 -0
  137. esphome/components/esp32_hosted/esp32_hosted.py.script +12 -0
  138. esphome/components/esp32_improv/esp32_improv_component.cpp +3 -0
  139. esphome/components/esp32_rmt/__init__.py +0 -58
  140. esphome/components/esp32_rmt_led_strip/led_strip.cpp +77 -63
  141. esphome/components/esp32_rmt_led_strip/led_strip.h +11 -17
  142. esphome/components/esp32_rmt_led_strip/light.py +14 -76
  143. esphome/components/esp32_touch/esp32_touch.h +174 -28
  144. esphome/components/esp32_touch/esp32_touch_common.cpp +162 -0
  145. esphome/components/esp32_touch/esp32_touch_v1.cpp +238 -0
  146. esphome/components/esp32_touch/esp32_touch_v2.cpp +397 -0
  147. esphome/components/esp8266/__init__.py +1 -0
  148. esphome/components/esp8266/gpio.cpp +10 -10
  149. esphome/components/esp8266/helpers.cpp +31 -0
  150. esphome/components/esphome/ota/__init__.py +1 -0
  151. esphome/components/esphome/ota/ota_esphome.cpp +24 -19
  152. esphome/components/ethernet/__init__.py +42 -23
  153. esphome/components/ethernet/esp_eth_phy_jl1101.c +0 -16
  154. esphome/components/ethernet/ethernet_component.cpp +69 -29
  155. esphome/components/ethernet/ethernet_component.h +18 -10
  156. esphome/components/event/__init__.py +5 -2
  157. esphome/components/ezo/ezo.h +0 -1
  158. esphome/components/ezo_pmp/ezo_pmp.h +0 -1
  159. esphome/components/fan/__init__.py +5 -2
  160. esphome/components/feedback/feedback_cover.h +0 -1
  161. esphome/components/font/__init__.py +92 -82
  162. esphome/components/font/font.cpp +9 -2
  163. esphome/components/font/font.h +20 -5
  164. esphome/components/fs3000/fs3000.h +0 -1
  165. esphome/components/gcja5/gcja5.h +0 -1
  166. esphome/components/gl_r01_i2c/__init__.py +0 -0
  167. esphome/components/gl_r01_i2c/gl_r01_i2c.cpp +68 -0
  168. esphome/components/gl_r01_i2c/gl_r01_i2c.h +22 -0
  169. esphome/components/gl_r01_i2c/sensor.py +36 -0
  170. esphome/components/gp8403/gp8403.h +0 -1
  171. esphome/components/gpio/binary_sensor/__init__.py +17 -0
  172. esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp +77 -3
  173. esphome/components/gpio/binary_sensor/gpio_binary_sensor.h +40 -0
  174. esphome/components/grove_gas_mc_v2/grove_gas_mc_v2.h +0 -2
  175. esphome/components/he60r/he60r.h +0 -1
  176. esphome/components/heatpumpir/climate.py +2 -1
  177. esphome/components/heatpumpir/heatpumpir.cpp +1 -0
  178. esphome/components/heatpumpir/heatpumpir.h +1 -0
  179. esphome/components/honeywellabp2_i2c/honeywellabp2.h +0 -1
  180. esphome/components/host/__init__.py +2 -1
  181. esphome/components/host/helpers.cpp +57 -0
  182. esphome/components/http_request/__init__.py +19 -1
  183. esphome/components/http_request/http_request.h +1 -1
  184. esphome/components/http_request/http_request_arduino.cpp +0 -1
  185. esphome/components/http_request/http_request_arduino.h +1 -0
  186. esphome/components/http_request/http_request_idf.cpp +0 -1
  187. esphome/components/http_request/ota/ota_http_request.cpp +1 -1
  188. esphome/components/http_request/update/http_request_update.cpp +28 -9
  189. esphome/components/hydreon_rgxx/hydreon_rgxx.cpp +3 -9
  190. esphome/components/hydreon_rgxx/sensor.py +1 -1
  191. esphome/components/i2c/__init__.py +23 -11
  192. esphome/components/i2c/i2c_bus.h +8 -1
  193. esphome/components/i2c/i2c_bus_arduino.cpp +4 -3
  194. esphome/components/i2c/i2c_bus_arduino.h +6 -3
  195. esphome/components/i2c/i2c_bus_esp_idf.h +5 -3
  196. esphome/components/i2c_device/i2c_device.h +0 -1
  197. esphome/components/i2s_audio/__init__.py +2 -10
  198. esphome/components/i2s_audio/i2s_audio.cpp +1 -5
  199. esphome/components/i2s_audio/media_player/__init__.py +2 -2
  200. esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +2 -2
  201. esphome/components/iaqcore/iaqcore.h +0 -2
  202. esphome/components/image/__init__.py +123 -24
  203. esphome/components/improv_serial/improv_serial_component.cpp +0 -4
  204. esphome/components/ina219/ina219.cpp +7 -0
  205. esphome/components/ina219/ina219.h +1 -0
  206. esphome/components/ina260/ina260.h +0 -2
  207. esphome/components/inkbird_ibsth1_mini/inkbird_ibsth1_mini.h +0 -1
  208. esphome/components/inkplate6/display.py +15 -0
  209. esphome/components/inkplate6/inkplate.cpp +2 -2
  210. esphome/components/integration/integration_sensor.h +0 -1
  211. esphome/components/internal_temperature/internal_temperature.cpp +8 -27
  212. esphome/components/internal_temperature/sensor.py +0 -26
  213. esphome/components/interval/interval.h +0 -2
  214. esphome/components/ld2410/button/__init__.py +3 -3
  215. esphome/components/ld2410/button/factory_reset_button.cpp +9 -0
  216. esphome/components/ld2410/button/{reset_button.h → factory_reset_button.h} +2 -2
  217. esphome/components/ld2410/ld2410.cpp +430 -261
  218. esphome/components/ld2410/ld2410.h +44 -146
  219. esphome/components/ld2410/number/__init__.py +2 -2
  220. esphome/components/ld2410/sensor.py +1 -1
  221. esphome/components/ld2410/switch/__init__.py +1 -1
  222. esphome/components/ld2420/ld2420.cpp +196 -100
  223. esphome/components/ld2420/ld2420.h +46 -118
  224. esphome/components/ld2420/number/__init__.py +2 -2
  225. esphome/components/ld2420/sensor/__init__.py +6 -2
  226. esphome/components/ld2420/sensor/ld2420_sensor.h +1 -1
  227. esphome/components/ld2450/button/__init__.py +3 -3
  228. esphome/components/ld2450/button/factory_reset_button.cpp +9 -0
  229. esphome/components/ld2450/button/{reset_button.h → factory_reset_button.h} +2 -2
  230. esphome/components/ld2450/ld2450.cpp +384 -232
  231. esphome/components/ld2450/ld2450.h +60 -69
  232. esphome/components/ld2450/switch/__init__.py +1 -1
  233. esphome/components/ledc/ledc_output.cpp +1 -63
  234. esphome/components/libretiny/__init__.py +4 -3
  235. esphome/components/libretiny/const.py +5 -0
  236. esphome/components/libretiny/generate_components.py +1 -0
  237. esphome/components/libretiny/helpers.cpp +35 -0
  238. esphome/components/libretiny/lt_component.cpp +5 -3
  239. esphome/components/light/__init__.py +4 -2
  240. esphome/components/light/addressable_light.h +3 -3
  241. esphome/components/light/light_call.cpp +180 -243
  242. esphome/components/light/light_call.h +72 -20
  243. esphome/components/light/light_color_values.h +14 -14
  244. esphome/components/light/light_state.h +15 -13
  245. esphome/components/light/transformers.h +2 -2
  246. esphome/components/ln882x/__init__.py +52 -0
  247. esphome/components/ln882x/boards.py +285 -0
  248. esphome/components/lock/__init__.py +5 -2
  249. esphome/components/logger/__init__.py +40 -3
  250. esphome/components/logger/logger.cpp +47 -12
  251. esphome/components/logger/logger.h +80 -49
  252. esphome/components/logger/logger_esp32.cpp +3 -3
  253. esphome/components/lps22/__init__.py +0 -0
  254. esphome/components/lps22/lps22.cpp +75 -0
  255. esphome/components/lps22/lps22.h +27 -0
  256. esphome/components/lps22/sensor.py +58 -0
  257. esphome/components/ltr390/ltr390.h +0 -1
  258. esphome/components/ltr501/ltr501.h +0 -1
  259. esphome/components/ltr_als_ps/ltr_als_ps.h +0 -1
  260. esphome/components/lvgl/__init__.py +1 -1
  261. esphome/components/lvgl/schemas.py +66 -6
  262. esphome/components/lvgl/styles.py +24 -16
  263. esphome/components/lvgl/widgets/__init__.py +12 -2
  264. esphome/components/lvgl/widgets/lv_bar.py +40 -19
  265. esphome/components/m5stack_8angle/light/m5stack_8angle_light.cpp +1 -1
  266. esphome/components/max9611/max9611.h +0 -1
  267. esphome/components/mcp23016/__init__.py +1 -1
  268. esphome/components/mcp23xxx_base/__init__.py +1 -1
  269. esphome/components/mcp4461/__init__.py +1 -1
  270. esphome/components/mcp4461/output/__init__.py +3 -2
  271. esphome/components/mcp9600/mcp9600.h +0 -2
  272. esphome/components/md5/md5.cpp +3 -3
  273. esphome/components/md5/md5.h +1 -6
  274. esphome/components/mdns/__init__.py +22 -11
  275. esphome/components/media_player/__init__.py +4 -3
  276. esphome/components/micro_wake_word/__init__.py +1 -5
  277. esphome/components/micro_wake_word/streaming_model.cpp +2 -2
  278. esphome/components/microphone/microphone.cpp +7 -9
  279. esphome/components/microphone/microphone.h +0 -2
  280. esphome/components/mipi_spi/display.py +1 -0
  281. esphome/components/mmc5603/mmc5603.cpp +1 -1
  282. esphome/components/modbus/modbus.cpp +33 -15
  283. esphome/components/modbus/modbus.h +9 -0
  284. esphome/components/modbus_controller/__init__.py +42 -10
  285. esphome/components/modbus_controller/modbus_controller.cpp +92 -11
  286. esphome/components/modbus_controller/modbus_controller.h +61 -7
  287. esphome/components/mopeka_pro_check/mopeka_pro_check.h +0 -1
  288. esphome/components/mopeka_std_check/mopeka_std_check.h +0 -1
  289. esphome/components/mpl3115a2/mpl3115a2.h +0 -2
  290. esphome/components/mqtt/__init__.py +16 -0
  291. esphome/components/mqtt/mqtt_backend.h +2 -1
  292. esphome/components/mqtt/mqtt_backend_esp32.cpp +126 -45
  293. esphome/components/mqtt/mqtt_backend_esp32.h +106 -4
  294. esphome/components/mqtt/mqtt_client.cpp +15 -9
  295. esphome/components/mqtt/mqtt_client.h +8 -3
  296. esphome/components/ms8607/ms8607.h +0 -1
  297. esphome/components/neopixelbus/light.py +4 -1
  298. esphome/components/neopixelbus/neopixelbus_light.h +1 -1
  299. esphome/components/network/__init__.py +4 -1
  300. esphome/components/network/ip_address.h +1 -0
  301. esphome/components/nextion/__init__.py +16 -0
  302. esphome/components/nextion/base_component.py +1 -0
  303. esphome/components/nextion/binary_sensor/nextion_binarysensor.cpp +1 -1
  304. esphome/components/nextion/display.py +14 -4
  305. esphome/components/nextion/nextion.cpp +166 -101
  306. esphome/components/nextion/nextion.h +84 -53
  307. esphome/components/nextion/nextion_commands.cpp +11 -10
  308. esphome/components/nextion/nextion_component.cpp +28 -28
  309. esphome/components/nextion/nextion_component.h +53 -18
  310. esphome/components/nextion/nextion_component_base.h +3 -0
  311. esphome/components/nextion/nextion_upload.cpp +36 -0
  312. esphome/components/nextion/nextion_upload_arduino.cpp +10 -35
  313. esphome/components/nextion/nextion_upload_idf.cpp +9 -33
  314. esphome/components/nextion/sensor/nextion_sensor.cpp +1 -1
  315. esphome/components/nextion/switch/nextion_switch.cpp +1 -1
  316. esphome/components/nextion/text_sensor/nextion_textsensor.cpp +1 -1
  317. esphome/components/nfc/nfc.cpp +3 -22
  318. esphome/components/nfc/nfc.h +3 -3
  319. esphome/components/number/__init__.py +5 -2
  320. esphome/components/online_image/__init__.py +5 -0
  321. esphome/components/online_image/online_image.cpp +6 -2
  322. esphome/components/online_image/online_image.h +4 -1
  323. esphome/components/opentherm/opentherm.cpp +7 -12
  324. esphome/components/openthread/__init__.py +47 -40
  325. esphome/components/openthread/const.py +1 -0
  326. esphome/components/openthread/openthread_esp.cpp +27 -5
  327. esphome/components/opt3001/__init__.py +0 -0
  328. esphome/components/opt3001/opt3001.cpp +122 -0
  329. esphome/components/opt3001/opt3001.h +27 -0
  330. esphome/components/opt3001/sensor.py +35 -0
  331. esphome/components/ota/__init__.py +17 -0
  332. esphome/components/ota/ota_backend.h +27 -1
  333. esphome/components/ota/ota_backend_arduino_esp32.cpp +12 -2
  334. esphome/components/ota/ota_backend_arduino_esp32.h +3 -0
  335. esphome/components/ota/ota_backend_arduino_esp8266.cpp +18 -4
  336. esphome/components/ota/ota_backend_arduino_esp8266.h +3 -0
  337. esphome/components/ota/ota_backend_arduino_libretiny.cpp +12 -2
  338. esphome/components/ota/ota_backend_arduino_libretiny.h +3 -0
  339. esphome/components/ota/ota_backend_arduino_rp2040.cpp +9 -2
  340. esphome/components/ota/ota_backend_arduino_rp2040.h +3 -0
  341. esphome/components/ota/ota_backend_esp_idf.cpp +10 -16
  342. esphome/components/ota/ota_backend_esp_idf.h +1 -0
  343. esphome/components/packages/__init__.py +5 -2
  344. esphome/components/packet_transport/binary_sensor.py +61 -4
  345. esphome/components/packet_transport/packet_transport.cpp +31 -1
  346. esphome/components/packet_transport/packet_transport.h +11 -5
  347. esphome/components/pcf8574/__init__.py +1 -1
  348. esphome/components/pi4ioe5v6408/__init__.py +84 -0
  349. esphome/components/pi4ioe5v6408/pi4ioe5v6408.cpp +171 -0
  350. esphome/components/pi4ioe5v6408/pi4ioe5v6408.h +70 -0
  351. esphome/components/pmsa003i/pmsa003i.h +0 -1
  352. esphome/components/pmsx003/pmsx003.h +0 -1
  353. esphome/components/pn7150/pn7150.cpp +7 -7
  354. esphome/components/pn7150/pn7150.h +0 -1
  355. esphome/components/pn7160/pn7160.cpp +7 -7
  356. esphome/components/pn7160/pn7160.h +0 -1
  357. esphome/components/preferences/syncer.h +2 -0
  358. esphome/components/prometheus/prometheus_handler.h +1 -1
  359. esphome/components/psram/psram.cpp +0 -20
  360. esphome/components/pulse_counter/pulse_counter_sensor.h +0 -1
  361. esphome/components/pulse_meter/pulse_meter_sensor.cpp +8 -4
  362. esphome/components/pulse_width/pulse_width.h +0 -1
  363. esphome/components/pvvx_mithermometer/display/pvvx_display.cpp +0 -4
  364. esphome/components/pvvx_mithermometer/display/pvvx_display.h +0 -2
  365. esphome/components/pvvx_mithermometer/pvvx_mithermometer.h +0 -1
  366. esphome/components/qr_code/__init__.py +13 -10
  367. esphome/components/qwiic_pir/qwiic_pir.h +0 -1
  368. esphome/components/radon_eye_ble/radon_eye_listener.cpp +1 -1
  369. esphome/components/rc522/rc522.h +0 -1
  370. esphome/components/rdm6300/rdm6300.h +0 -2
  371. esphome/components/remote_base/__init__.py +7 -5
  372. esphome/components/remote_base/remote_base.cpp +24 -21
  373. esphome/components/remote_base/remote_base.h +3 -26
  374. esphome/components/remote_receiver/__init__.py +40 -46
  375. esphome/components/remote_receiver/remote_receiver.h +4 -18
  376. esphome/components/remote_receiver/remote_receiver_esp32.cpp +0 -87
  377. esphome/components/remote_receiver/remote_receiver_esp8266.cpp +1 -1
  378. esphome/components/remote_transmitter/__init__.py +42 -43
  379. esphome/components/remote_transmitter/remote_transmitter.h +2 -14
  380. esphome/components/remote_transmitter/remote_transmitter_esp32.cpp +0 -77
  381. esphome/components/resistance/resistance_sensor.h +0 -1
  382. esphome/components/rp2040/__init__.py +1 -0
  383. esphome/components/rp2040/helpers.cpp +55 -0
  384. esphome/components/rp2040_pio_led_strip/led_strip.cpp +2 -2
  385. esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.cpp +0 -4
  386. esphome/components/rtttl/__init__.py +4 -4
  387. esphome/components/rtttl/rtttl.cpp +10 -1
  388. esphome/components/ruuvitag/ruuvitag.h +0 -1
  389. esphome/components/safe_mode/safe_mode.cpp +2 -0
  390. esphome/components/safe_mode/safe_mode.h +4 -1
  391. esphome/components/scd30/scd30.h +0 -1
  392. esphome/components/scd30/sensor.py +2 -2
  393. esphome/components/scd4x/scd4x.cpp +61 -54
  394. esphome/components/scd4x/scd4x.h +17 -15
  395. esphome/components/scd4x/sensor.py +4 -4
  396. esphome/components/script/script.h +0 -2
  397. esphome/components/sdp3x/sensor.py +1 -1
  398. esphome/components/select/__init__.py +5 -2
  399. esphome/components/sen5x/sen5x.h +0 -1
  400. esphome/components/senseair/senseair.h +0 -1
  401. esphome/components/sensor/__init__.py +4 -2
  402. esphome/components/sensor/filter.cpp +1 -1
  403. esphome/components/sensor/sensor.cpp +12 -6
  404. esphome/components/sensor/sensor.h +13 -5
  405. esphome/components/servo/servo.h +0 -1
  406. esphome/components/sfa30/sfa30.h +0 -1
  407. esphome/components/sgp30/sgp30.h +0 -1
  408. esphome/components/sgp4x/sgp4x.h +0 -1
  409. esphome/components/shelly_dimmer/stm32flash.cpp +1 -2
  410. esphome/components/sht4x/sht4x.h +0 -1
  411. esphome/components/sm300d2/sm300d2.h +0 -2
  412. esphome/components/smt100/sensor.py +8 -4
  413. esphome/components/smt100/smt100.cpp +5 -5
  414. esphome/components/smt100/smt100.h +3 -3
  415. esphome/components/sn74hc595/__init__.py +1 -1
  416. esphome/components/sn74hc595/sn74hc595.cpp +5 -4
  417. esphome/components/sntp/sntp_component.cpp +9 -3
  418. esphome/components/sntp/time.py +2 -0
  419. esphome/components/socket/__init__.py +17 -0
  420. esphome/components/spi/__init__.py +27 -6
  421. esphome/components/spi/spi.cpp +3 -2
  422. esphome/components/spi/spi.h +9 -3
  423. esphome/components/spi/spi_arduino.cpp +3 -5
  424. esphome/components/spi/spi_esp_idf.cpp +40 -21
  425. esphome/components/spi_led_strip/spi_led_strip.cpp +1 -1
  426. esphome/components/sps30/sps30.h +0 -1
  427. esphome/components/ssd1306_base/ssd1306_base.cpp +1 -1
  428. esphome/components/st7701s/st7701s.cpp +0 -4
  429. esphome/components/status/status_binary_sensor.h +0 -2
  430. esphome/components/substitutions/__init__.py +76 -19
  431. esphome/components/substitutions/jinja.py +99 -0
  432. esphome/components/sun/sun.cpp +3 -4
  433. esphome/components/switch/__init__.py +5 -2
  434. esphome/components/switch/binary_sensor/switch_binary_sensor.h +0 -1
  435. esphome/components/sx126x/__init__.py +317 -0
  436. esphome/components/sx126x/automation.h +62 -0
  437. esphome/components/sx126x/packet_transport/__init__.py +26 -0
  438. esphome/components/sx126x/packet_transport/sx126x_transport.cpp +26 -0
  439. esphome/components/sx126x/packet_transport/sx126x_transport.h +25 -0
  440. esphome/components/sx126x/sx126x.cpp +523 -0
  441. esphome/components/sx126x/sx126x.h +140 -0
  442. esphome/components/sx126x/sx126x_reg.h +163 -0
  443. esphome/components/sx127x/__init__.py +325 -0
  444. esphome/components/sx127x/automation.h +62 -0
  445. esphome/components/sx127x/packet_transport/__init__.py +26 -0
  446. esphome/components/sx127x/packet_transport/sx127x_transport.cpp +26 -0
  447. esphome/components/sx127x/packet_transport/sx127x_transport.h +25 -0
  448. esphome/components/sx127x/sx127x.cpp +498 -0
  449. esphome/components/sx127x/sx127x.h +128 -0
  450. esphome/components/sx127x/sx127x_reg.h +295 -0
  451. esphome/components/syslog/esphome_syslog.cpp +5 -3
  452. esphome/components/syslog/esphome_syslog.h +1 -1
  453. esphome/components/tca9555/__init__.py +1 -1
  454. esphome/components/template/binary_sensor/template_binary_sensor.cpp +1 -9
  455. esphome/components/text/__init__.py +5 -2
  456. esphome/components/text_sensor/__init__.py +5 -2
  457. esphome/components/thermostat/thermostat_climate.cpp +34 -31
  458. esphome/components/thermostat/thermostat_climate.h +43 -39
  459. esphome/components/time/__init__.py +16 -2
  460. esphome/components/time/real_time_clock.cpp +4 -0
  461. esphome/components/time/real_time_clock.h +5 -1
  462. esphome/components/tlc5971/tlc5971.cpp +4 -1
  463. esphome/components/tmp1075/tmp1075.h +0 -2
  464. esphome/components/tof10120/tof10120_sensor.h +0 -1
  465. esphome/components/tormatic/tormatic_cover.h +0 -1
  466. esphome/components/total_daily_energy/total_daily_energy.h +0 -1
  467. esphome/components/tsl2591/tsl2591.cpp +1 -1
  468. esphome/components/ttp229_bsf/ttp229_bsf.h +0 -1
  469. esphome/components/ttp229_lsf/ttp229_lsf.h +0 -1
  470. esphome/components/tx20/tx20.cpp +2 -2
  471. esphome/components/uart/__init__.py +18 -0
  472. esphome/components/uart/uart_component_esp_idf.cpp +1 -5
  473. esphome/components/update/__init__.py +5 -2
  474. esphome/components/update/update_entity.h +8 -0
  475. esphome/components/usb_host/__init__.py +5 -2
  476. esphome/components/valve/__init__.py +5 -2
  477. esphome/components/vbus/vbus.h +0 -1
  478. esphome/components/veml3235/veml3235.h +0 -1
  479. esphome/components/veml7700/veml7700.h +0 -1
  480. esphome/components/vl53l0x/vl53l0x_sensor.h +0 -1
  481. esphome/components/voice_assistant/voice_assistant.cpp +4 -4
  482. esphome/components/watchdog/watchdog.cpp +0 -4
  483. esphome/components/waveshare_epaper/waveshare_epaper.cpp +6 -6
  484. esphome/components/web_server/__init__.py +34 -19
  485. esphome/components/web_server/ota/__init__.py +32 -0
  486. esphome/components/web_server/ota/ota_web_server.cpp +210 -0
  487. esphome/components/web_server/ota/ota_web_server.h +26 -0
  488. esphome/components/web_server/web_server.cpp +311 -430
  489. esphome/components/web_server/web_server.h +33 -23
  490. esphome/components/web_server/web_server_v1.cpp +4 -5
  491. esphome/components/web_server_base/__init__.py +5 -2
  492. esphome/components/web_server_base/web_server_base.cpp +2 -94
  493. esphome/components/web_server_base/web_server_base.h +5 -25
  494. esphome/components/web_server_idf/multipart.cpp +254 -0
  495. esphome/components/web_server_idf/multipart.h +86 -0
  496. esphome/components/web_server_idf/utils.cpp +32 -0
  497. esphome/components/web_server_idf/utils.h +10 -0
  498. esphome/components/web_server_idf/web_server_idf.cpp +162 -16
  499. esphome/components/web_server_idf/web_server_idf.h +11 -10
  500. esphome/components/wiegand/wiegand.cpp +2 -2
  501. esphome/components/wifi/__init__.py +18 -0
  502. esphome/components/wifi/wifi_component.cpp +17 -22
  503. esphome/components/wifi/wifi_component.h +27 -23
  504. esphome/components/wifi/wifi_component_esp32_arduino.cpp +52 -59
  505. esphome/components/wifi/wifi_component_esp8266.cpp +46 -46
  506. esphome/components/wifi/wifi_component_esp_idf.cpp +35 -36
  507. esphome/components/wifi/wifi_component_libretiny.cpp +26 -27
  508. esphome/components/wifi/wifi_component_pico_w.cpp +3 -3
  509. esphome/components/wifi_info/wifi_info_text_sensor.cpp +6 -6
  510. esphome/components/wireguard/__init__.py +2 -11
  511. esphome/components/xiaomi_ble/xiaomi_ble.cpp +13 -1
  512. esphome/components/xiaomi_ble/xiaomi_ble.h +1 -0
  513. esphome/components/xiaomi_cgd1/xiaomi_cgd1.h +0 -1
  514. esphome/components/xiaomi_cgdk2/xiaomi_cgdk2.h +0 -1
  515. esphome/components/xiaomi_cgg1/xiaomi_cgg1.h +0 -1
  516. esphome/components/xiaomi_cgpr1/xiaomi_cgpr1.h +0 -1
  517. esphome/components/xiaomi_gcls002/xiaomi_gcls002.h +0 -1
  518. esphome/components/xiaomi_hhccjcy01/xiaomi_hhccjcy01.h +0 -1
  519. esphome/components/xiaomi_hhccjcy10/xiaomi_hhccjcy10.h +0 -1
  520. esphome/components/xiaomi_hhccpot002/xiaomi_hhccpot002.h +0 -1
  521. esphome/components/xiaomi_jqjcy01ym/xiaomi_jqjcy01ym.h +0 -1
  522. esphome/components/xiaomi_lywsd02/xiaomi_lywsd02.h +0 -1
  523. esphome/components/xiaomi_lywsd02mmc/xiaomi_lywsd02mmc.h +0 -1
  524. esphome/components/xiaomi_lywsd03mmc/xiaomi_lywsd03mmc.h +0 -1
  525. esphome/components/xiaomi_lywsdcgq/xiaomi_lywsdcgq.h +0 -1
  526. esphome/components/xiaomi_mhoc303/xiaomi_mhoc303.h +0 -1
  527. esphome/components/xiaomi_mhoc401/xiaomi_mhoc401.h +0 -1
  528. esphome/components/xiaomi_miscale/xiaomi_miscale.h +0 -1
  529. esphome/components/xiaomi_mjyd02yla/xiaomi_mjyd02yla.h +0 -1
  530. esphome/components/xiaomi_mue4094rt/xiaomi_mue4094rt.h +0 -1
  531. esphome/components/xiaomi_rtcgq02lm/xiaomi_rtcgq02lm.h +0 -1
  532. esphome/components/xiaomi_wx08zm/xiaomi_wx08zm.h +0 -1
  533. esphome/components/xiaomi_xmwsdj04mmc/__init__.py +0 -0
  534. esphome/components/xiaomi_xmwsdj04mmc/sensor.py +77 -0
  535. esphome/components/xiaomi_xmwsdj04mmc/xiaomi_xmwsdj04mmc.cpp +77 -0
  536. esphome/components/xiaomi_xmwsdj04mmc/xiaomi_xmwsdj04mmc.h +36 -0
  537. esphome/components/zio_ultrasonic/zio_ultrasonic.h +0 -2
  538. esphome/components/zyaura/zyaura.h +0 -1
  539. esphome/config.py +88 -22
  540. esphome/config_helpers.py +74 -1
  541. esphome/config_validation.py +12 -1
  542. esphome/const.py +65 -10
  543. esphome/core/__init__.py +18 -2
  544. esphome/core/application.cpp +163 -10
  545. esphome/core/application.h +145 -165
  546. esphome/core/area.h +19 -0
  547. esphome/core/automation.h +58 -9
  548. esphome/core/color.cpp +3 -5
  549. esphome/core/color.h +16 -16
  550. esphome/core/component.cpp +151 -18
  551. esphome/core/component.h +98 -4
  552. esphome/core/component_iterator.cpp +7 -7
  553. esphome/core/component_iterator.h +9 -7
  554. esphome/core/config.py +155 -6
  555. esphome/core/controller.cpp +4 -2
  556. esphome/core/controller.h +1 -1
  557. esphome/core/datatypes.h +2 -2
  558. esphome/core/defines.h +17 -2
  559. esphome/core/device.h +20 -0
  560. esphome/core/entity_base.cpp +20 -15
  561. esphome/core/entity_base.h +76 -0
  562. esphome/core/entity_helpers.py +162 -1
  563. esphome/core/event_pool.h +81 -0
  564. esphome/core/helpers.cpp +75 -230
  565. esphome/core/helpers.h +164 -104
  566. esphome/core/lock_free_queue.h +151 -0
  567. esphome/core/log.cpp +2 -2
  568. esphome/core/log.h +2 -0
  569. esphome/core/optional.h +5 -0
  570. esphome/core/ring_buffer.cpp +2 -2
  571. esphome/core/scheduler.cpp +278 -103
  572. esphome/core/scheduler.h +157 -17
  573. esphome/core/time.cpp +5 -5
  574. esphome/core/time.h +5 -5
  575. esphome/cpp_generator.py +17 -0
  576. esphome/cpp_helpers.py +0 -22
  577. esphome/cpp_types.py +3 -1
  578. esphome/dashboard/entries.py +1 -1
  579. esphome/dashboard/util/text.py +5 -21
  580. esphome/dashboard/web_server.py +9 -1
  581. esphome/helpers.py +47 -0
  582. esphome/loader.py +15 -1
  583. esphome/pins.py +14 -8
  584. esphome/wizard.py +16 -3
  585. esphome/writer.py +21 -3
  586. esphome/yaml_util.py +0 -2
  587. {esphome-2025.6.2.dist-info → esphome-2025.7.0b1.dist-info}/METADATA +10 -9
  588. {esphome-2025.6.2.dist-info → esphome-2025.7.0b1.dist-info}/RECORD +593 -533
  589. esphome/components/esp32_ble/ble_event_pool.h +0 -72
  590. esphome/components/esp32_ble/queue.h +0 -85
  591. esphome/components/esp32_hall/esp32_hall.cpp +0 -25
  592. esphome/components/esp32_hall/esp32_hall.h +0 -23
  593. esphome/components/esp32_touch/esp32_touch.cpp +0 -355
  594. esphome/components/ld2410/button/reset_button.cpp +0 -9
  595. esphome/components/ld2450/button/reset_button.cpp +0 -9
  596. esphome/components/openthread/tlv.py +0 -65
  597. /esphome/{dashboard/enum.py → enum.py} +0 -0
  598. {esphome-2025.6.2.dist-info → esphome-2025.7.0b1.dist-info}/WHEEL +0 -0
  599. {esphome-2025.6.2.dist-info → esphome-2025.7.0b1.dist-info}/entry_points.txt +0 -0
  600. {esphome-2025.6.2.dist-info → esphome-2025.7.0b1.dist-info}/licenses/LICENSE +0 -0
  601. {esphome-2025.6.2.dist-info → esphome-2025.7.0b1.dist-info}/top_level.txt +0 -0
@@ -2,6 +2,8 @@
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
8
  #include "api_pb2_size.h"
7
9
 
@@ -15,6 +17,7 @@ enum EntityCategory : uint32_t {
15
17
  ENTITY_CATEGORY_CONFIG = 1,
16
18
  ENTITY_CATEGORY_DIAGNOSTIC = 2,
17
19
  };
20
+ #ifdef USE_COVER
18
21
  enum LegacyCoverState : uint32_t {
19
22
  LEGACY_COVER_STATE_OPEN = 0,
20
23
  LEGACY_COVER_STATE_CLOSED = 1,
@@ -29,6 +32,8 @@ enum LegacyCoverCommand : uint32_t {
29
32
  LEGACY_COVER_COMMAND_CLOSE = 1,
30
33
  LEGACY_COVER_COMMAND_STOP = 2,
31
34
  };
35
+ #endif
36
+ #ifdef USE_FAN
32
37
  enum FanSpeed : uint32_t {
33
38
  FAN_SPEED_LOW = 0,
34
39
  FAN_SPEED_MEDIUM = 1,
@@ -38,6 +43,8 @@ enum FanDirection : uint32_t {
38
43
  FAN_DIRECTION_FORWARD = 0,
39
44
  FAN_DIRECTION_REVERSE = 1,
40
45
  };
46
+ #endif
47
+ #ifdef USE_LIGHT
41
48
  enum ColorMode : uint32_t {
42
49
  COLOR_MODE_UNKNOWN = 0,
43
50
  COLOR_MODE_ON_OFF = 1,
@@ -51,6 +58,8 @@ enum ColorMode : uint32_t {
51
58
  COLOR_MODE_RGB_COLOR_TEMPERATURE = 47,
52
59
  COLOR_MODE_RGB_COLD_WARM_WHITE = 51,
53
60
  };
61
+ #endif
62
+ #ifdef USE_SENSOR
54
63
  enum SensorStateClass : uint32_t {
55
64
  STATE_CLASS_NONE = 0,
56
65
  STATE_CLASS_MEASUREMENT = 1,
@@ -62,6 +71,7 @@ enum SensorLastResetType : uint32_t {
62
71
  LAST_RESET_NEVER = 1,
63
72
  LAST_RESET_AUTO = 2,
64
73
  };
74
+ #endif
65
75
  enum LogLevel : uint32_t {
66
76
  LOG_LEVEL_NONE = 0,
67
77
  LOG_LEVEL_ERROR = 1,
@@ -82,6 +92,7 @@ enum ServiceArgType : uint32_t {
82
92
  SERVICE_ARG_TYPE_FLOAT_ARRAY = 6,
83
93
  SERVICE_ARG_TYPE_STRING_ARRAY = 7,
84
94
  };
95
+ #ifdef USE_CLIMATE
85
96
  enum ClimateMode : uint32_t {
86
97
  CLIMATE_MODE_OFF = 0,
87
98
  CLIMATE_MODE_HEAT_COOL = 1,
@@ -127,11 +138,15 @@ enum ClimatePreset : uint32_t {
127
138
  CLIMATE_PRESET_SLEEP = 6,
128
139
  CLIMATE_PRESET_ACTIVITY = 7,
129
140
  };
141
+ #endif
142
+ #ifdef USE_NUMBER
130
143
  enum NumberMode : uint32_t {
131
144
  NUMBER_MODE_AUTO = 0,
132
145
  NUMBER_MODE_BOX = 1,
133
146
  NUMBER_MODE_SLIDER = 2,
134
147
  };
148
+ #endif
149
+ #ifdef USE_LOCK
135
150
  enum LockState : uint32_t {
136
151
  LOCK_STATE_NONE = 0,
137
152
  LOCK_STATE_LOCKED = 1,
@@ -145,6 +160,8 @@ enum LockCommand : uint32_t {
145
160
  LOCK_LOCK = 1,
146
161
  LOCK_OPEN = 2,
147
162
  };
163
+ #endif
164
+ #ifdef USE_MEDIA_PLAYER
148
165
  enum MediaPlayerState : uint32_t {
149
166
  MEDIA_PLAYER_STATE_NONE = 0,
150
167
  MEDIA_PLAYER_STATE_IDLE = 1,
@@ -162,6 +179,8 @@ enum MediaPlayerFormatPurpose : uint32_t {
162
179
  MEDIA_PLAYER_FORMAT_PURPOSE_DEFAULT = 0,
163
180
  MEDIA_PLAYER_FORMAT_PURPOSE_ANNOUNCEMENT = 1,
164
181
  };
182
+ #endif
183
+ #ifdef USE_BLUETOOTH_PROXY
165
184
  enum BluetoothDeviceRequestType : uint32_t {
166
185
  BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT = 0,
167
186
  BLUETOOTH_DEVICE_REQUEST_TYPE_DISCONNECT = 1,
@@ -183,6 +202,7 @@ enum BluetoothScannerMode : uint32_t {
183
202
  BLUETOOTH_SCANNER_MODE_PASSIVE = 0,
184
203
  BLUETOOTH_SCANNER_MODE_ACTIVE = 1,
185
204
  };
205
+ #endif
186
206
  enum VoiceAssistantSubscribeFlag : uint32_t {
187
207
  VOICE_ASSISTANT_SUBSCRIBE_NONE = 0,
188
208
  VOICE_ASSISTANT_SUBSCRIBE_API_AUDIO = 1,
@@ -192,6 +212,7 @@ enum VoiceAssistantRequestFlag : uint32_t {
192
212
  VOICE_ASSISTANT_REQUEST_USE_VAD = 1,
193
213
  VOICE_ASSISTANT_REQUEST_USE_WAKE_WORD = 2,
194
214
  };
215
+ #ifdef USE_VOICE_ASSISTANT
195
216
  enum VoiceAssistantEvent : uint32_t {
196
217
  VOICE_ASSISTANT_ERROR = 0,
197
218
  VOICE_ASSISTANT_RUN_START = 1,
@@ -216,6 +237,8 @@ enum VoiceAssistantTimerEvent : uint32_t {
216
237
  VOICE_ASSISTANT_TIMER_CANCELLED = 2,
217
238
  VOICE_ASSISTANT_TIMER_FINISHED = 3,
218
239
  };
240
+ #endif
241
+ #ifdef USE_ALARM_CONTROL_PANEL
219
242
  enum AlarmControlPanelState : uint32_t {
220
243
  ALARM_STATE_DISARMED = 0,
221
244
  ALARM_STATE_ARMED_HOME = 1,
@@ -237,20 +260,27 @@ enum AlarmControlPanelStateCommand : uint32_t {
237
260
  ALARM_CONTROL_PANEL_ARM_CUSTOM_BYPASS = 5,
238
261
  ALARM_CONTROL_PANEL_TRIGGER = 6,
239
262
  };
263
+ #endif
264
+ #ifdef USE_TEXT
240
265
  enum TextMode : uint32_t {
241
266
  TEXT_MODE_TEXT = 0,
242
267
  TEXT_MODE_PASSWORD = 1,
243
268
  };
269
+ #endif
270
+ #ifdef USE_VALVE
244
271
  enum ValveOperation : uint32_t {
245
272
  VALVE_OPERATION_IDLE = 0,
246
273
  VALVE_OPERATION_IS_OPENING = 1,
247
274
  VALVE_OPERATION_IS_CLOSING = 2,
248
275
  };
276
+ #endif
277
+ #ifdef USE_UPDATE
249
278
  enum UpdateCommand : uint32_t {
250
279
  UPDATE_COMMAND_NONE = 0,
251
280
  UPDATE_COMMAND_UPDATE = 1,
252
281
  UPDATE_COMMAND_CHECK = 2,
253
282
  };
283
+ #endif
254
284
 
255
285
  } // namespace enums
256
286
 
@@ -264,6 +294,7 @@ class InfoResponseProtoMessage : public ProtoMessage {
264
294
  bool disabled_by_default{false};
265
295
  std::string icon{};
266
296
  enums::EntityCategory entity_category{};
297
+ uint32_t device_id{0};
267
298
 
268
299
  protected:
269
300
  };
@@ -272,6 +303,7 @@ class StateResponseProtoMessage : public ProtoMessage {
272
303
  public:
273
304
  ~StateResponseProtoMessage() override = default;
274
305
  uint32_t key{0};
306
+ uint32_t device_id{0};
275
307
 
276
308
  protected:
277
309
  };
@@ -280,7 +312,7 @@ class HelloRequest : public ProtoMessage {
280
312
  static constexpr uint16_t MESSAGE_TYPE = 1;
281
313
  static constexpr uint16_t ESTIMATED_SIZE = 17;
282
314
  #ifdef HAS_PROTO_MESSAGE_DUMP
283
- static constexpr const char *message_name() { return "hello_request"; }
315
+ const char *message_name() const override { return "hello_request"; }
284
316
  #endif
285
317
  std::string client_info{};
286
318
  uint32_t api_version_major{0};
@@ -300,7 +332,7 @@ class HelloResponse : public ProtoMessage {
300
332
  static constexpr uint16_t MESSAGE_TYPE = 2;
301
333
  static constexpr uint16_t ESTIMATED_SIZE = 26;
302
334
  #ifdef HAS_PROTO_MESSAGE_DUMP
303
- static constexpr const char *message_name() { return "hello_response"; }
335
+ const char *message_name() const override { return "hello_response"; }
304
336
  #endif
305
337
  uint32_t api_version_major{0};
306
338
  uint32_t api_version_minor{0};
@@ -321,7 +353,7 @@ class ConnectRequest : public ProtoMessage {
321
353
  static constexpr uint16_t MESSAGE_TYPE = 3;
322
354
  static constexpr uint16_t ESTIMATED_SIZE = 9;
323
355
  #ifdef HAS_PROTO_MESSAGE_DUMP
324
- static constexpr const char *message_name() { return "connect_request"; }
356
+ const char *message_name() const override { return "connect_request"; }
325
357
  #endif
326
358
  std::string password{};
327
359
  void encode(ProtoWriteBuffer buffer) const override;
@@ -338,7 +370,7 @@ class ConnectResponse : public ProtoMessage {
338
370
  static constexpr uint16_t MESSAGE_TYPE = 4;
339
371
  static constexpr uint16_t ESTIMATED_SIZE = 2;
340
372
  #ifdef HAS_PROTO_MESSAGE_DUMP
341
- static constexpr const char *message_name() { return "connect_response"; }
373
+ const char *message_name() const override { return "connect_response"; }
342
374
  #endif
343
375
  bool invalid_password{false};
344
376
  void encode(ProtoWriteBuffer buffer) const override;
@@ -355,10 +387,8 @@ class DisconnectRequest : public ProtoMessage {
355
387
  static constexpr uint16_t MESSAGE_TYPE = 5;
356
388
  static constexpr uint16_t ESTIMATED_SIZE = 0;
357
389
  #ifdef HAS_PROTO_MESSAGE_DUMP
358
- static constexpr const char *message_name() { return "disconnect_request"; }
390
+ const char *message_name() const override { return "disconnect_request"; }
359
391
  #endif
360
- void encode(ProtoWriteBuffer buffer) const override;
361
- void calculate_size(uint32_t &total_size) const override;
362
392
  #ifdef HAS_PROTO_MESSAGE_DUMP
363
393
  void dump_to(std::string &out) const override;
364
394
  #endif
@@ -370,10 +400,8 @@ class DisconnectResponse : public ProtoMessage {
370
400
  static constexpr uint16_t MESSAGE_TYPE = 6;
371
401
  static constexpr uint16_t ESTIMATED_SIZE = 0;
372
402
  #ifdef HAS_PROTO_MESSAGE_DUMP
373
- static constexpr const char *message_name() { return "disconnect_response"; }
403
+ const char *message_name() const override { return "disconnect_response"; }
374
404
  #endif
375
- void encode(ProtoWriteBuffer buffer) const override;
376
- void calculate_size(uint32_t &total_size) const override;
377
405
  #ifdef HAS_PROTO_MESSAGE_DUMP
378
406
  void dump_to(std::string &out) const override;
379
407
  #endif
@@ -385,10 +413,8 @@ class PingRequest : public ProtoMessage {
385
413
  static constexpr uint16_t MESSAGE_TYPE = 7;
386
414
  static constexpr uint16_t ESTIMATED_SIZE = 0;
387
415
  #ifdef HAS_PROTO_MESSAGE_DUMP
388
- static constexpr const char *message_name() { return "ping_request"; }
416
+ const char *message_name() const override { return "ping_request"; }
389
417
  #endif
390
- void encode(ProtoWriteBuffer buffer) const override;
391
- void calculate_size(uint32_t &total_size) const override;
392
418
  #ifdef HAS_PROTO_MESSAGE_DUMP
393
419
  void dump_to(std::string &out) const override;
394
420
  #endif
@@ -400,10 +426,8 @@ class PingResponse : public ProtoMessage {
400
426
  static constexpr uint16_t MESSAGE_TYPE = 8;
401
427
  static constexpr uint16_t ESTIMATED_SIZE = 0;
402
428
  #ifdef HAS_PROTO_MESSAGE_DUMP
403
- static constexpr const char *message_name() { return "ping_response"; }
429
+ const char *message_name() const override { return "ping_response"; }
404
430
  #endif
405
- void encode(ProtoWriteBuffer buffer) const override;
406
- void calculate_size(uint32_t &total_size) const override;
407
431
  #ifdef HAS_PROTO_MESSAGE_DUMP
408
432
  void dump_to(std::string &out) const override;
409
433
  #endif
@@ -415,8 +439,33 @@ class DeviceInfoRequest : public ProtoMessage {
415
439
  static constexpr uint16_t MESSAGE_TYPE = 9;
416
440
  static constexpr uint16_t ESTIMATED_SIZE = 0;
417
441
  #ifdef HAS_PROTO_MESSAGE_DUMP
418
- static constexpr const char *message_name() { return "device_info_request"; }
442
+ const char *message_name() const override { return "device_info_request"; }
443
+ #endif
444
+ #ifdef HAS_PROTO_MESSAGE_DUMP
445
+ void dump_to(std::string &out) const override;
446
+ #endif
447
+
448
+ protected:
449
+ };
450
+ class AreaInfo : public ProtoMessage {
451
+ public:
452
+ uint32_t area_id{0};
453
+ std::string name{};
454
+ void encode(ProtoWriteBuffer buffer) const override;
455
+ void calculate_size(uint32_t &total_size) const override;
456
+ #ifdef HAS_PROTO_MESSAGE_DUMP
457
+ void dump_to(std::string &out) const override;
419
458
  #endif
459
+
460
+ protected:
461
+ bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
462
+ bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
463
+ };
464
+ class DeviceInfo : public ProtoMessage {
465
+ public:
466
+ uint32_t device_id{0};
467
+ std::string name{};
468
+ uint32_t area_id{0};
420
469
  void encode(ProtoWriteBuffer buffer) const override;
421
470
  void calculate_size(uint32_t &total_size) const override;
422
471
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -424,13 +473,15 @@ class DeviceInfoRequest : public ProtoMessage {
424
473
  #endif
425
474
 
426
475
  protected:
476
+ bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
477
+ bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
427
478
  };
428
479
  class DeviceInfoResponse : public ProtoMessage {
429
480
  public:
430
481
  static constexpr uint16_t MESSAGE_TYPE = 10;
431
- static constexpr uint16_t ESTIMATED_SIZE = 129;
482
+ static constexpr uint16_t ESTIMATED_SIZE = 219;
432
483
  #ifdef HAS_PROTO_MESSAGE_DUMP
433
- static constexpr const char *message_name() { return "device_info_response"; }
484
+ const char *message_name() const override { return "device_info_response"; }
434
485
  #endif
435
486
  bool uses_password{false};
436
487
  std::string name{};
@@ -451,6 +502,9 @@ class DeviceInfoResponse : public ProtoMessage {
451
502
  std::string suggested_area{};
452
503
  std::string bluetooth_mac_address{};
453
504
  bool api_encryption_supported{false};
505
+ std::vector<DeviceInfo> devices{};
506
+ std::vector<AreaInfo> areas{};
507
+ AreaInfo area{};
454
508
  void encode(ProtoWriteBuffer buffer) const override;
455
509
  void calculate_size(uint32_t &total_size) const override;
456
510
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -466,10 +520,8 @@ class ListEntitiesRequest : public ProtoMessage {
466
520
  static constexpr uint16_t MESSAGE_TYPE = 11;
467
521
  static constexpr uint16_t ESTIMATED_SIZE = 0;
468
522
  #ifdef HAS_PROTO_MESSAGE_DUMP
469
- static constexpr const char *message_name() { return "list_entities_request"; }
523
+ const char *message_name() const override { return "list_entities_request"; }
470
524
  #endif
471
- void encode(ProtoWriteBuffer buffer) const override;
472
- void calculate_size(uint32_t &total_size) const override;
473
525
  #ifdef HAS_PROTO_MESSAGE_DUMP
474
526
  void dump_to(std::string &out) const override;
475
527
  #endif
@@ -481,10 +533,8 @@ class ListEntitiesDoneResponse : public ProtoMessage {
481
533
  static constexpr uint16_t MESSAGE_TYPE = 19;
482
534
  static constexpr uint16_t ESTIMATED_SIZE = 0;
483
535
  #ifdef HAS_PROTO_MESSAGE_DUMP
484
- static constexpr const char *message_name() { return "list_entities_done_response"; }
536
+ const char *message_name() const override { return "list_entities_done_response"; }
485
537
  #endif
486
- void encode(ProtoWriteBuffer buffer) const override;
487
- void calculate_size(uint32_t &total_size) const override;
488
538
  #ifdef HAS_PROTO_MESSAGE_DUMP
489
539
  void dump_to(std::string &out) const override;
490
540
  #endif
@@ -496,22 +546,21 @@ class SubscribeStatesRequest : public ProtoMessage {
496
546
  static constexpr uint16_t MESSAGE_TYPE = 20;
497
547
  static constexpr uint16_t ESTIMATED_SIZE = 0;
498
548
  #ifdef HAS_PROTO_MESSAGE_DUMP
499
- static constexpr const char *message_name() { return "subscribe_states_request"; }
549
+ const char *message_name() const override { return "subscribe_states_request"; }
500
550
  #endif
501
- void encode(ProtoWriteBuffer buffer) const override;
502
- void calculate_size(uint32_t &total_size) const override;
503
551
  #ifdef HAS_PROTO_MESSAGE_DUMP
504
552
  void dump_to(std::string &out) const override;
505
553
  #endif
506
554
 
507
555
  protected:
508
556
  };
557
+ #ifdef USE_BINARY_SENSOR
509
558
  class ListEntitiesBinarySensorResponse : public InfoResponseProtoMessage {
510
559
  public:
511
560
  static constexpr uint16_t MESSAGE_TYPE = 12;
512
- static constexpr uint16_t ESTIMATED_SIZE = 56;
561
+ static constexpr uint16_t ESTIMATED_SIZE = 60;
513
562
  #ifdef HAS_PROTO_MESSAGE_DUMP
514
- static constexpr const char *message_name() { return "list_entities_binary_sensor_response"; }
563
+ const char *message_name() const override { return "list_entities_binary_sensor_response"; }
515
564
  #endif
516
565
  std::string device_class{};
517
566
  bool is_status_binary_sensor{false};
@@ -529,9 +578,9 @@ class ListEntitiesBinarySensorResponse : public InfoResponseProtoMessage {
529
578
  class BinarySensorStateResponse : public StateResponseProtoMessage {
530
579
  public:
531
580
  static constexpr uint16_t MESSAGE_TYPE = 21;
532
- static constexpr uint16_t ESTIMATED_SIZE = 9;
581
+ static constexpr uint16_t ESTIMATED_SIZE = 13;
533
582
  #ifdef HAS_PROTO_MESSAGE_DUMP
534
- static constexpr const char *message_name() { return "binary_sensor_state_response"; }
583
+ const char *message_name() const override { return "binary_sensor_state_response"; }
535
584
  #endif
536
585
  bool state{false};
537
586
  bool missing_state{false};
@@ -545,12 +594,14 @@ class BinarySensorStateResponse : public StateResponseProtoMessage {
545
594
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
546
595
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
547
596
  };
597
+ #endif
598
+ #ifdef USE_COVER
548
599
  class ListEntitiesCoverResponse : public InfoResponseProtoMessage {
549
600
  public:
550
601
  static constexpr uint16_t MESSAGE_TYPE = 13;
551
- static constexpr uint16_t ESTIMATED_SIZE = 62;
602
+ static constexpr uint16_t ESTIMATED_SIZE = 66;
552
603
  #ifdef HAS_PROTO_MESSAGE_DUMP
553
- static constexpr const char *message_name() { return "list_entities_cover_response"; }
604
+ const char *message_name() const override { return "list_entities_cover_response"; }
554
605
  #endif
555
606
  bool assumed_state{false};
556
607
  bool supports_position{false};
@@ -571,9 +622,9 @@ class ListEntitiesCoverResponse : public InfoResponseProtoMessage {
571
622
  class CoverStateResponse : public StateResponseProtoMessage {
572
623
  public:
573
624
  static constexpr uint16_t MESSAGE_TYPE = 22;
574
- static constexpr uint16_t ESTIMATED_SIZE = 19;
625
+ static constexpr uint16_t ESTIMATED_SIZE = 23;
575
626
  #ifdef HAS_PROTO_MESSAGE_DUMP
576
- static constexpr const char *message_name() { return "cover_state_response"; }
627
+ const char *message_name() const override { return "cover_state_response"; }
577
628
  #endif
578
629
  enums::LegacyCoverState legacy_state{};
579
630
  float position{0.0f};
@@ -594,7 +645,7 @@ class CoverCommandRequest : public ProtoMessage {
594
645
  static constexpr uint16_t MESSAGE_TYPE = 30;
595
646
  static constexpr uint16_t ESTIMATED_SIZE = 25;
596
647
  #ifdef HAS_PROTO_MESSAGE_DUMP
597
- static constexpr const char *message_name() { return "cover_command_request"; }
648
+ const char *message_name() const override { return "cover_command_request"; }
598
649
  #endif
599
650
  uint32_t key{0};
600
651
  bool has_legacy_command{false};
@@ -614,12 +665,14 @@ class CoverCommandRequest : public ProtoMessage {
614
665
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
615
666
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
616
667
  };
668
+ #endif
669
+ #ifdef USE_FAN
617
670
  class ListEntitiesFanResponse : public InfoResponseProtoMessage {
618
671
  public:
619
672
  static constexpr uint16_t MESSAGE_TYPE = 14;
620
- static constexpr uint16_t ESTIMATED_SIZE = 73;
673
+ static constexpr uint16_t ESTIMATED_SIZE = 77;
621
674
  #ifdef HAS_PROTO_MESSAGE_DUMP
622
- static constexpr const char *message_name() { return "list_entities_fan_response"; }
675
+ const char *message_name() const override { return "list_entities_fan_response"; }
623
676
  #endif
624
677
  bool supports_oscillation{false};
625
678
  bool supports_speed{false};
@@ -640,9 +693,9 @@ class ListEntitiesFanResponse : public InfoResponseProtoMessage {
640
693
  class FanStateResponse : public StateResponseProtoMessage {
641
694
  public:
642
695
  static constexpr uint16_t MESSAGE_TYPE = 23;
643
- static constexpr uint16_t ESTIMATED_SIZE = 26;
696
+ static constexpr uint16_t ESTIMATED_SIZE = 30;
644
697
  #ifdef HAS_PROTO_MESSAGE_DUMP
645
- static constexpr const char *message_name() { return "fan_state_response"; }
698
+ const char *message_name() const override { return "fan_state_response"; }
646
699
  #endif
647
700
  bool state{false};
648
701
  bool oscillating{false};
@@ -666,7 +719,7 @@ class FanCommandRequest : public ProtoMessage {
666
719
  static constexpr uint16_t MESSAGE_TYPE = 31;
667
720
  static constexpr uint16_t ESTIMATED_SIZE = 38;
668
721
  #ifdef HAS_PROTO_MESSAGE_DUMP
669
- static constexpr const char *message_name() { return "fan_command_request"; }
722
+ const char *message_name() const override { return "fan_command_request"; }
670
723
  #endif
671
724
  uint32_t key{0};
672
725
  bool has_state{false};
@@ -692,12 +745,14 @@ class FanCommandRequest : public ProtoMessage {
692
745
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
693
746
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
694
747
  };
748
+ #endif
749
+ #ifdef USE_LIGHT
695
750
  class ListEntitiesLightResponse : public InfoResponseProtoMessage {
696
751
  public:
697
752
  static constexpr uint16_t MESSAGE_TYPE = 15;
698
- static constexpr uint16_t ESTIMATED_SIZE = 85;
753
+ static constexpr uint16_t ESTIMATED_SIZE = 90;
699
754
  #ifdef HAS_PROTO_MESSAGE_DUMP
700
- static constexpr const char *message_name() { return "list_entities_light_response"; }
755
+ const char *message_name() const override { return "list_entities_light_response"; }
701
756
  #endif
702
757
  std::vector<enums::ColorMode> supported_color_modes{};
703
758
  bool legacy_supports_brightness{false};
@@ -721,9 +776,9 @@ class ListEntitiesLightResponse : public InfoResponseProtoMessage {
721
776
  class LightStateResponse : public StateResponseProtoMessage {
722
777
  public:
723
778
  static constexpr uint16_t MESSAGE_TYPE = 24;
724
- static constexpr uint16_t ESTIMATED_SIZE = 63;
779
+ static constexpr uint16_t ESTIMATED_SIZE = 67;
725
780
  #ifdef HAS_PROTO_MESSAGE_DUMP
726
- static constexpr const char *message_name() { return "light_state_response"; }
781
+ const char *message_name() const override { return "light_state_response"; }
727
782
  #endif
728
783
  bool state{false};
729
784
  float brightness{0.0f};
@@ -753,7 +808,7 @@ class LightCommandRequest : public ProtoMessage {
753
808
  static constexpr uint16_t MESSAGE_TYPE = 32;
754
809
  static constexpr uint16_t ESTIMATED_SIZE = 107;
755
810
  #ifdef HAS_PROTO_MESSAGE_DUMP
756
- static constexpr const char *message_name() { return "light_command_request"; }
811
+ const char *message_name() const override { return "light_command_request"; }
757
812
  #endif
758
813
  uint32_t key{0};
759
814
  bool has_state{false};
@@ -793,12 +848,14 @@ class LightCommandRequest : public ProtoMessage {
793
848
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
794
849
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
795
850
  };
851
+ #endif
852
+ #ifdef USE_SENSOR
796
853
  class ListEntitiesSensorResponse : public InfoResponseProtoMessage {
797
854
  public:
798
855
  static constexpr uint16_t MESSAGE_TYPE = 16;
799
- static constexpr uint16_t ESTIMATED_SIZE = 73;
856
+ static constexpr uint16_t ESTIMATED_SIZE = 77;
800
857
  #ifdef HAS_PROTO_MESSAGE_DUMP
801
- static constexpr const char *message_name() { return "list_entities_sensor_response"; }
858
+ const char *message_name() const override { return "list_entities_sensor_response"; }
802
859
  #endif
803
860
  std::string unit_of_measurement{};
804
861
  int32_t accuracy_decimals{0};
@@ -820,9 +877,9 @@ class ListEntitiesSensorResponse : public InfoResponseProtoMessage {
820
877
  class SensorStateResponse : public StateResponseProtoMessage {
821
878
  public:
822
879
  static constexpr uint16_t MESSAGE_TYPE = 25;
823
- static constexpr uint16_t ESTIMATED_SIZE = 12;
880
+ static constexpr uint16_t ESTIMATED_SIZE = 16;
824
881
  #ifdef HAS_PROTO_MESSAGE_DUMP
825
- static constexpr const char *message_name() { return "sensor_state_response"; }
882
+ const char *message_name() const override { return "sensor_state_response"; }
826
883
  #endif
827
884
  float state{0.0f};
828
885
  bool missing_state{false};
@@ -836,12 +893,14 @@ class SensorStateResponse : public StateResponseProtoMessage {
836
893
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
837
894
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
838
895
  };
896
+ #endif
897
+ #ifdef USE_SWITCH
839
898
  class ListEntitiesSwitchResponse : public InfoResponseProtoMessage {
840
899
  public:
841
900
  static constexpr uint16_t MESSAGE_TYPE = 17;
842
- static constexpr uint16_t ESTIMATED_SIZE = 56;
901
+ static constexpr uint16_t ESTIMATED_SIZE = 60;
843
902
  #ifdef HAS_PROTO_MESSAGE_DUMP
844
- static constexpr const char *message_name() { return "list_entities_switch_response"; }
903
+ const char *message_name() const override { return "list_entities_switch_response"; }
845
904
  #endif
846
905
  bool assumed_state{false};
847
906
  std::string device_class{};
@@ -859,9 +918,9 @@ class ListEntitiesSwitchResponse : public InfoResponseProtoMessage {
859
918
  class SwitchStateResponse : public StateResponseProtoMessage {
860
919
  public:
861
920
  static constexpr uint16_t MESSAGE_TYPE = 26;
862
- static constexpr uint16_t ESTIMATED_SIZE = 7;
921
+ static constexpr uint16_t ESTIMATED_SIZE = 11;
863
922
  #ifdef HAS_PROTO_MESSAGE_DUMP
864
- static constexpr const char *message_name() { return "switch_state_response"; }
923
+ const char *message_name() const override { return "switch_state_response"; }
865
924
  #endif
866
925
  bool state{false};
867
926
  void encode(ProtoWriteBuffer buffer) const override;
@@ -879,7 +938,7 @@ class SwitchCommandRequest : public ProtoMessage {
879
938
  static constexpr uint16_t MESSAGE_TYPE = 33;
880
939
  static constexpr uint16_t ESTIMATED_SIZE = 7;
881
940
  #ifdef HAS_PROTO_MESSAGE_DUMP
882
- static constexpr const char *message_name() { return "switch_command_request"; }
941
+ const char *message_name() const override { return "switch_command_request"; }
883
942
  #endif
884
943
  uint32_t key{0};
885
944
  bool state{false};
@@ -893,12 +952,14 @@ class SwitchCommandRequest : public ProtoMessage {
893
952
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
894
953
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
895
954
  };
955
+ #endif
956
+ #ifdef USE_TEXT_SENSOR
896
957
  class ListEntitiesTextSensorResponse : public InfoResponseProtoMessage {
897
958
  public:
898
959
  static constexpr uint16_t MESSAGE_TYPE = 18;
899
- static constexpr uint16_t ESTIMATED_SIZE = 54;
960
+ static constexpr uint16_t ESTIMATED_SIZE = 58;
900
961
  #ifdef HAS_PROTO_MESSAGE_DUMP
901
- static constexpr const char *message_name() { return "list_entities_text_sensor_response"; }
962
+ const char *message_name() const override { return "list_entities_text_sensor_response"; }
902
963
  #endif
903
964
  std::string device_class{};
904
965
  void encode(ProtoWriteBuffer buffer) const override;
@@ -915,9 +976,9 @@ class ListEntitiesTextSensorResponse : public InfoResponseProtoMessage {
915
976
  class TextSensorStateResponse : public StateResponseProtoMessage {
916
977
  public:
917
978
  static constexpr uint16_t MESSAGE_TYPE = 27;
918
- static constexpr uint16_t ESTIMATED_SIZE = 16;
979
+ static constexpr uint16_t ESTIMATED_SIZE = 20;
919
980
  #ifdef HAS_PROTO_MESSAGE_DUMP
920
- static constexpr const char *message_name() { return "text_sensor_state_response"; }
981
+ const char *message_name() const override { return "text_sensor_state_response"; }
921
982
  #endif
922
983
  std::string state{};
923
984
  bool missing_state{false};
@@ -932,12 +993,13 @@ class TextSensorStateResponse : public StateResponseProtoMessage {
932
993
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
933
994
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
934
995
  };
996
+ #endif
935
997
  class SubscribeLogsRequest : public ProtoMessage {
936
998
  public:
937
999
  static constexpr uint16_t MESSAGE_TYPE = 28;
938
1000
  static constexpr uint16_t ESTIMATED_SIZE = 4;
939
1001
  #ifdef HAS_PROTO_MESSAGE_DUMP
940
- static constexpr const char *message_name() { return "subscribe_logs_request"; }
1002
+ const char *message_name() const override { return "subscribe_logs_request"; }
941
1003
  #endif
942
1004
  enums::LogLevel level{};
943
1005
  bool dump_config{false};
@@ -955,7 +1017,7 @@ class SubscribeLogsResponse : public ProtoMessage {
955
1017
  static constexpr uint16_t MESSAGE_TYPE = 29;
956
1018
  static constexpr uint16_t ESTIMATED_SIZE = 13;
957
1019
  #ifdef HAS_PROTO_MESSAGE_DUMP
958
- static constexpr const char *message_name() { return "subscribe_logs_response"; }
1020
+ const char *message_name() const override { return "subscribe_logs_response"; }
959
1021
  #endif
960
1022
  enums::LogLevel level{};
961
1023
  std::string message{};
@@ -970,12 +1032,13 @@ class SubscribeLogsResponse : public ProtoMessage {
970
1032
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
971
1033
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
972
1034
  };
1035
+ #ifdef USE_API_NOISE
973
1036
  class NoiseEncryptionSetKeyRequest : public ProtoMessage {
974
1037
  public:
975
1038
  static constexpr uint16_t MESSAGE_TYPE = 124;
976
1039
  static constexpr uint16_t ESTIMATED_SIZE = 9;
977
1040
  #ifdef HAS_PROTO_MESSAGE_DUMP
978
- static constexpr const char *message_name() { return "noise_encryption_set_key_request"; }
1041
+ const char *message_name() const override { return "noise_encryption_set_key_request"; }
979
1042
  #endif
980
1043
  std::string key{};
981
1044
  void encode(ProtoWriteBuffer buffer) const override;
@@ -992,7 +1055,7 @@ class NoiseEncryptionSetKeyResponse : public ProtoMessage {
992
1055
  static constexpr uint16_t MESSAGE_TYPE = 125;
993
1056
  static constexpr uint16_t ESTIMATED_SIZE = 2;
994
1057
  #ifdef HAS_PROTO_MESSAGE_DUMP
995
- static constexpr const char *message_name() { return "noise_encryption_set_key_response"; }
1058
+ const char *message_name() const override { return "noise_encryption_set_key_response"; }
996
1059
  #endif
997
1060
  bool success{false};
998
1061
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1004,15 +1067,14 @@ class NoiseEncryptionSetKeyResponse : public ProtoMessage {
1004
1067
  protected:
1005
1068
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1006
1069
  };
1070
+ #endif
1007
1071
  class SubscribeHomeassistantServicesRequest : public ProtoMessage {
1008
1072
  public:
1009
1073
  static constexpr uint16_t MESSAGE_TYPE = 34;
1010
1074
  static constexpr uint16_t ESTIMATED_SIZE = 0;
1011
1075
  #ifdef HAS_PROTO_MESSAGE_DUMP
1012
- static constexpr const char *message_name() { return "subscribe_homeassistant_services_request"; }
1076
+ const char *message_name() const override { return "subscribe_homeassistant_services_request"; }
1013
1077
  #endif
1014
- void encode(ProtoWriteBuffer buffer) const override;
1015
- void calculate_size(uint32_t &total_size) const override;
1016
1078
  #ifdef HAS_PROTO_MESSAGE_DUMP
1017
1079
  void dump_to(std::string &out) const override;
1018
1080
  #endif
@@ -1037,7 +1099,7 @@ class HomeassistantServiceResponse : public ProtoMessage {
1037
1099
  static constexpr uint16_t MESSAGE_TYPE = 35;
1038
1100
  static constexpr uint16_t ESTIMATED_SIZE = 113;
1039
1101
  #ifdef HAS_PROTO_MESSAGE_DUMP
1040
- static constexpr const char *message_name() { return "homeassistant_service_response"; }
1102
+ const char *message_name() const override { return "homeassistant_service_response"; }
1041
1103
  #endif
1042
1104
  std::string service{};
1043
1105
  std::vector<HomeassistantServiceMap> data{};
@@ -1059,10 +1121,8 @@ class SubscribeHomeAssistantStatesRequest : public ProtoMessage {
1059
1121
  static constexpr uint16_t MESSAGE_TYPE = 38;
1060
1122
  static constexpr uint16_t ESTIMATED_SIZE = 0;
1061
1123
  #ifdef HAS_PROTO_MESSAGE_DUMP
1062
- static constexpr const char *message_name() { return "subscribe_home_assistant_states_request"; }
1124
+ const char *message_name() const override { return "subscribe_home_assistant_states_request"; }
1063
1125
  #endif
1064
- void encode(ProtoWriteBuffer buffer) const override;
1065
- void calculate_size(uint32_t &total_size) const override;
1066
1126
  #ifdef HAS_PROTO_MESSAGE_DUMP
1067
1127
  void dump_to(std::string &out) const override;
1068
1128
  #endif
@@ -1074,7 +1134,7 @@ class SubscribeHomeAssistantStateResponse : public ProtoMessage {
1074
1134
  static constexpr uint16_t MESSAGE_TYPE = 39;
1075
1135
  static constexpr uint16_t ESTIMATED_SIZE = 20;
1076
1136
  #ifdef HAS_PROTO_MESSAGE_DUMP
1077
- static constexpr const char *message_name() { return "subscribe_home_assistant_state_response"; }
1137
+ const char *message_name() const override { return "subscribe_home_assistant_state_response"; }
1078
1138
  #endif
1079
1139
  std::string entity_id{};
1080
1140
  std::string attribute{};
@@ -1094,7 +1154,7 @@ class HomeAssistantStateResponse : public ProtoMessage {
1094
1154
  static constexpr uint16_t MESSAGE_TYPE = 40;
1095
1155
  static constexpr uint16_t ESTIMATED_SIZE = 27;
1096
1156
  #ifdef HAS_PROTO_MESSAGE_DUMP
1097
- static constexpr const char *message_name() { return "home_assistant_state_response"; }
1157
+ const char *message_name() const override { return "home_assistant_state_response"; }
1098
1158
  #endif
1099
1159
  std::string entity_id{};
1100
1160
  std::string state{};
@@ -1113,10 +1173,8 @@ class GetTimeRequest : public ProtoMessage {
1113
1173
  static constexpr uint16_t MESSAGE_TYPE = 36;
1114
1174
  static constexpr uint16_t ESTIMATED_SIZE = 0;
1115
1175
  #ifdef HAS_PROTO_MESSAGE_DUMP
1116
- static constexpr const char *message_name() { return "get_time_request"; }
1176
+ const char *message_name() const override { return "get_time_request"; }
1117
1177
  #endif
1118
- void encode(ProtoWriteBuffer buffer) const override;
1119
- void calculate_size(uint32_t &total_size) const override;
1120
1178
  #ifdef HAS_PROTO_MESSAGE_DUMP
1121
1179
  void dump_to(std::string &out) const override;
1122
1180
  #endif
@@ -1128,7 +1186,7 @@ class GetTimeResponse : public ProtoMessage {
1128
1186
  static constexpr uint16_t MESSAGE_TYPE = 37;
1129
1187
  static constexpr uint16_t ESTIMATED_SIZE = 5;
1130
1188
  #ifdef HAS_PROTO_MESSAGE_DUMP
1131
- static constexpr const char *message_name() { return "get_time_response"; }
1189
+ const char *message_name() const override { return "get_time_response"; }
1132
1190
  #endif
1133
1191
  uint32_t epoch_seconds{0};
1134
1192
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1159,7 +1217,7 @@ class ListEntitiesServicesResponse : public ProtoMessage {
1159
1217
  static constexpr uint16_t MESSAGE_TYPE = 41;
1160
1218
  static constexpr uint16_t ESTIMATED_SIZE = 48;
1161
1219
  #ifdef HAS_PROTO_MESSAGE_DUMP
1162
- static constexpr const char *message_name() { return "list_entities_services_response"; }
1220
+ const char *message_name() const override { return "list_entities_services_response"; }
1163
1221
  #endif
1164
1222
  std::string name{};
1165
1223
  uint32_t key{0};
@@ -1201,7 +1259,7 @@ class ExecuteServiceRequest : public ProtoMessage {
1201
1259
  static constexpr uint16_t MESSAGE_TYPE = 42;
1202
1260
  static constexpr uint16_t ESTIMATED_SIZE = 39;
1203
1261
  #ifdef HAS_PROTO_MESSAGE_DUMP
1204
- static constexpr const char *message_name() { return "execute_service_request"; }
1262
+ const char *message_name() const override { return "execute_service_request"; }
1205
1263
  #endif
1206
1264
  uint32_t key{0};
1207
1265
  std::vector<ExecuteServiceArgument> args{};
@@ -1215,12 +1273,13 @@ class ExecuteServiceRequest : public ProtoMessage {
1215
1273
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1216
1274
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1217
1275
  };
1276
+ #ifdef USE_CAMERA
1218
1277
  class ListEntitiesCameraResponse : public InfoResponseProtoMessage {
1219
1278
  public:
1220
1279
  static constexpr uint16_t MESSAGE_TYPE = 43;
1221
- static constexpr uint16_t ESTIMATED_SIZE = 45;
1280
+ static constexpr uint16_t ESTIMATED_SIZE = 49;
1222
1281
  #ifdef HAS_PROTO_MESSAGE_DUMP
1223
- static constexpr const char *message_name() { return "list_entities_camera_response"; }
1282
+ const char *message_name() const override { return "list_entities_camera_response"; }
1224
1283
  #endif
1225
1284
  void encode(ProtoWriteBuffer buffer) const override;
1226
1285
  void calculate_size(uint32_t &total_size) const override;
@@ -1238,7 +1297,7 @@ class CameraImageResponse : public ProtoMessage {
1238
1297
  static constexpr uint16_t MESSAGE_TYPE = 44;
1239
1298
  static constexpr uint16_t ESTIMATED_SIZE = 16;
1240
1299
  #ifdef HAS_PROTO_MESSAGE_DUMP
1241
- static constexpr const char *message_name() { return "camera_image_response"; }
1300
+ const char *message_name() const override { return "camera_image_response"; }
1242
1301
  #endif
1243
1302
  uint32_t key{0};
1244
1303
  std::string data{};
@@ -1259,7 +1318,7 @@ class CameraImageRequest : public ProtoMessage {
1259
1318
  static constexpr uint16_t MESSAGE_TYPE = 45;
1260
1319
  static constexpr uint16_t ESTIMATED_SIZE = 4;
1261
1320
  #ifdef HAS_PROTO_MESSAGE_DUMP
1262
- static constexpr const char *message_name() { return "camera_image_request"; }
1321
+ const char *message_name() const override { return "camera_image_request"; }
1263
1322
  #endif
1264
1323
  bool single{false};
1265
1324
  bool stream{false};
@@ -1272,12 +1331,14 @@ class CameraImageRequest : public ProtoMessage {
1272
1331
  protected:
1273
1332
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1274
1333
  };
1334
+ #endif
1335
+ #ifdef USE_CLIMATE
1275
1336
  class ListEntitiesClimateResponse : public InfoResponseProtoMessage {
1276
1337
  public:
1277
1338
  static constexpr uint16_t MESSAGE_TYPE = 46;
1278
- static constexpr uint16_t ESTIMATED_SIZE = 151;
1339
+ static constexpr uint16_t ESTIMATED_SIZE = 156;
1279
1340
  #ifdef HAS_PROTO_MESSAGE_DUMP
1280
- static constexpr const char *message_name() { return "list_entities_climate_response"; }
1341
+ const char *message_name() const override { return "list_entities_climate_response"; }
1281
1342
  #endif
1282
1343
  bool supports_current_temperature{false};
1283
1344
  bool supports_two_point_target_temperature{false};
@@ -1311,9 +1372,9 @@ class ListEntitiesClimateResponse : public InfoResponseProtoMessage {
1311
1372
  class ClimateStateResponse : public StateResponseProtoMessage {
1312
1373
  public:
1313
1374
  static constexpr uint16_t MESSAGE_TYPE = 47;
1314
- static constexpr uint16_t ESTIMATED_SIZE = 65;
1375
+ static constexpr uint16_t ESTIMATED_SIZE = 70;
1315
1376
  #ifdef HAS_PROTO_MESSAGE_DUMP
1316
- static constexpr const char *message_name() { return "climate_state_response"; }
1377
+ const char *message_name() const override { return "climate_state_response"; }
1317
1378
  #endif
1318
1379
  enums::ClimateMode mode{};
1319
1380
  float current_temperature{0.0f};
@@ -1345,7 +1406,7 @@ class ClimateCommandRequest : public ProtoMessage {
1345
1406
  static constexpr uint16_t MESSAGE_TYPE = 48;
1346
1407
  static constexpr uint16_t ESTIMATED_SIZE = 83;
1347
1408
  #ifdef HAS_PROTO_MESSAGE_DUMP
1348
- static constexpr const char *message_name() { return "climate_command_request"; }
1409
+ const char *message_name() const override { return "climate_command_request"; }
1349
1410
  #endif
1350
1411
  uint32_t key{0};
1351
1412
  bool has_mode{false};
@@ -1381,12 +1442,14 @@ class ClimateCommandRequest : public ProtoMessage {
1381
1442
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1382
1443
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1383
1444
  };
1445
+ #endif
1446
+ #ifdef USE_NUMBER
1384
1447
  class ListEntitiesNumberResponse : public InfoResponseProtoMessage {
1385
1448
  public:
1386
1449
  static constexpr uint16_t MESSAGE_TYPE = 49;
1387
- static constexpr uint16_t ESTIMATED_SIZE = 80;
1450
+ static constexpr uint16_t ESTIMATED_SIZE = 84;
1388
1451
  #ifdef HAS_PROTO_MESSAGE_DUMP
1389
- static constexpr const char *message_name() { return "list_entities_number_response"; }
1452
+ const char *message_name() const override { return "list_entities_number_response"; }
1390
1453
  #endif
1391
1454
  float min_value{0.0f};
1392
1455
  float max_value{0.0f};
@@ -1408,9 +1471,9 @@ class ListEntitiesNumberResponse : public InfoResponseProtoMessage {
1408
1471
  class NumberStateResponse : public StateResponseProtoMessage {
1409
1472
  public:
1410
1473
  static constexpr uint16_t MESSAGE_TYPE = 50;
1411
- static constexpr uint16_t ESTIMATED_SIZE = 12;
1474
+ static constexpr uint16_t ESTIMATED_SIZE = 16;
1412
1475
  #ifdef HAS_PROTO_MESSAGE_DUMP
1413
- static constexpr const char *message_name() { return "number_state_response"; }
1476
+ const char *message_name() const override { return "number_state_response"; }
1414
1477
  #endif
1415
1478
  float state{0.0f};
1416
1479
  bool missing_state{false};
@@ -1429,7 +1492,7 @@ class NumberCommandRequest : public ProtoMessage {
1429
1492
  static constexpr uint16_t MESSAGE_TYPE = 51;
1430
1493
  static constexpr uint16_t ESTIMATED_SIZE = 10;
1431
1494
  #ifdef HAS_PROTO_MESSAGE_DUMP
1432
- static constexpr const char *message_name() { return "number_command_request"; }
1495
+ const char *message_name() const override { return "number_command_request"; }
1433
1496
  #endif
1434
1497
  uint32_t key{0};
1435
1498
  float state{0.0f};
@@ -1442,12 +1505,14 @@ class NumberCommandRequest : public ProtoMessage {
1442
1505
  protected:
1443
1506
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1444
1507
  };
1508
+ #endif
1509
+ #ifdef USE_SELECT
1445
1510
  class ListEntitiesSelectResponse : public InfoResponseProtoMessage {
1446
1511
  public:
1447
1512
  static constexpr uint16_t MESSAGE_TYPE = 52;
1448
- static constexpr uint16_t ESTIMATED_SIZE = 63;
1513
+ static constexpr uint16_t ESTIMATED_SIZE = 67;
1449
1514
  #ifdef HAS_PROTO_MESSAGE_DUMP
1450
- static constexpr const char *message_name() { return "list_entities_select_response"; }
1515
+ const char *message_name() const override { return "list_entities_select_response"; }
1451
1516
  #endif
1452
1517
  std::vector<std::string> options{};
1453
1518
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1464,9 +1529,9 @@ class ListEntitiesSelectResponse : public InfoResponseProtoMessage {
1464
1529
  class SelectStateResponse : public StateResponseProtoMessage {
1465
1530
  public:
1466
1531
  static constexpr uint16_t MESSAGE_TYPE = 53;
1467
- static constexpr uint16_t ESTIMATED_SIZE = 16;
1532
+ static constexpr uint16_t ESTIMATED_SIZE = 20;
1468
1533
  #ifdef HAS_PROTO_MESSAGE_DUMP
1469
- static constexpr const char *message_name() { return "select_state_response"; }
1534
+ const char *message_name() const override { return "select_state_response"; }
1470
1535
  #endif
1471
1536
  std::string state{};
1472
1537
  bool missing_state{false};
@@ -1486,7 +1551,7 @@ class SelectCommandRequest : public ProtoMessage {
1486
1551
  static constexpr uint16_t MESSAGE_TYPE = 54;
1487
1552
  static constexpr uint16_t ESTIMATED_SIZE = 14;
1488
1553
  #ifdef HAS_PROTO_MESSAGE_DUMP
1489
- static constexpr const char *message_name() { return "select_command_request"; }
1554
+ const char *message_name() const override { return "select_command_request"; }
1490
1555
  #endif
1491
1556
  uint32_t key{0};
1492
1557
  std::string state{};
@@ -1500,12 +1565,14 @@ class SelectCommandRequest : public ProtoMessage {
1500
1565
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1501
1566
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1502
1567
  };
1568
+ #endif
1569
+ #ifdef USE_SIREN
1503
1570
  class ListEntitiesSirenResponse : public InfoResponseProtoMessage {
1504
1571
  public:
1505
1572
  static constexpr uint16_t MESSAGE_TYPE = 55;
1506
- static constexpr uint16_t ESTIMATED_SIZE = 67;
1573
+ static constexpr uint16_t ESTIMATED_SIZE = 71;
1507
1574
  #ifdef HAS_PROTO_MESSAGE_DUMP
1508
- static constexpr const char *message_name() { return "list_entities_siren_response"; }
1575
+ const char *message_name() const override { return "list_entities_siren_response"; }
1509
1576
  #endif
1510
1577
  std::vector<std::string> tones{};
1511
1578
  bool supports_duration{false};
@@ -1524,9 +1591,9 @@ class ListEntitiesSirenResponse : public InfoResponseProtoMessage {
1524
1591
  class SirenStateResponse : public StateResponseProtoMessage {
1525
1592
  public:
1526
1593
  static constexpr uint16_t MESSAGE_TYPE = 56;
1527
- static constexpr uint16_t ESTIMATED_SIZE = 7;
1594
+ static constexpr uint16_t ESTIMATED_SIZE = 11;
1528
1595
  #ifdef HAS_PROTO_MESSAGE_DUMP
1529
- static constexpr const char *message_name() { return "siren_state_response"; }
1596
+ const char *message_name() const override { return "siren_state_response"; }
1530
1597
  #endif
1531
1598
  bool state{false};
1532
1599
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1544,7 +1611,7 @@ class SirenCommandRequest : public ProtoMessage {
1544
1611
  static constexpr uint16_t MESSAGE_TYPE = 57;
1545
1612
  static constexpr uint16_t ESTIMATED_SIZE = 33;
1546
1613
  #ifdef HAS_PROTO_MESSAGE_DUMP
1547
- static constexpr const char *message_name() { return "siren_command_request"; }
1614
+ const char *message_name() const override { return "siren_command_request"; }
1548
1615
  #endif
1549
1616
  uint32_t key{0};
1550
1617
  bool has_state{false};
@@ -1566,12 +1633,14 @@ class SirenCommandRequest : public ProtoMessage {
1566
1633
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1567
1634
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1568
1635
  };
1636
+ #endif
1637
+ #ifdef USE_LOCK
1569
1638
  class ListEntitiesLockResponse : public InfoResponseProtoMessage {
1570
1639
  public:
1571
1640
  static constexpr uint16_t MESSAGE_TYPE = 58;
1572
- static constexpr uint16_t ESTIMATED_SIZE = 60;
1641
+ static constexpr uint16_t ESTIMATED_SIZE = 64;
1573
1642
  #ifdef HAS_PROTO_MESSAGE_DUMP
1574
- static constexpr const char *message_name() { return "list_entities_lock_response"; }
1643
+ const char *message_name() const override { return "list_entities_lock_response"; }
1575
1644
  #endif
1576
1645
  bool assumed_state{false};
1577
1646
  bool supports_open{false};
@@ -1591,9 +1660,9 @@ class ListEntitiesLockResponse : public InfoResponseProtoMessage {
1591
1660
  class LockStateResponse : public StateResponseProtoMessage {
1592
1661
  public:
1593
1662
  static constexpr uint16_t MESSAGE_TYPE = 59;
1594
- static constexpr uint16_t ESTIMATED_SIZE = 7;
1663
+ static constexpr uint16_t ESTIMATED_SIZE = 11;
1595
1664
  #ifdef HAS_PROTO_MESSAGE_DUMP
1596
- static constexpr const char *message_name() { return "lock_state_response"; }
1665
+ const char *message_name() const override { return "lock_state_response"; }
1597
1666
  #endif
1598
1667
  enums::LockState state{};
1599
1668
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1611,7 +1680,7 @@ class LockCommandRequest : public ProtoMessage {
1611
1680
  static constexpr uint16_t MESSAGE_TYPE = 60;
1612
1681
  static constexpr uint16_t ESTIMATED_SIZE = 18;
1613
1682
  #ifdef HAS_PROTO_MESSAGE_DUMP
1614
- static constexpr const char *message_name() { return "lock_command_request"; }
1683
+ const char *message_name() const override { return "lock_command_request"; }
1615
1684
  #endif
1616
1685
  uint32_t key{0};
1617
1686
  enums::LockCommand command{};
@@ -1628,12 +1697,14 @@ class LockCommandRequest : public ProtoMessage {
1628
1697
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1629
1698
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1630
1699
  };
1700
+ #endif
1701
+ #ifdef USE_BUTTON
1631
1702
  class ListEntitiesButtonResponse : public InfoResponseProtoMessage {
1632
1703
  public:
1633
1704
  static constexpr uint16_t MESSAGE_TYPE = 61;
1634
- static constexpr uint16_t ESTIMATED_SIZE = 54;
1705
+ static constexpr uint16_t ESTIMATED_SIZE = 58;
1635
1706
  #ifdef HAS_PROTO_MESSAGE_DUMP
1636
- static constexpr const char *message_name() { return "list_entities_button_response"; }
1707
+ const char *message_name() const override { return "list_entities_button_response"; }
1637
1708
  #endif
1638
1709
  std::string device_class{};
1639
1710
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1652,7 +1723,7 @@ class ButtonCommandRequest : public ProtoMessage {
1652
1723
  static constexpr uint16_t MESSAGE_TYPE = 62;
1653
1724
  static constexpr uint16_t ESTIMATED_SIZE = 5;
1654
1725
  #ifdef HAS_PROTO_MESSAGE_DUMP
1655
- static constexpr const char *message_name() { return "button_command_request"; }
1726
+ const char *message_name() const override { return "button_command_request"; }
1656
1727
  #endif
1657
1728
  uint32_t key{0};
1658
1729
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1664,6 +1735,8 @@ class ButtonCommandRequest : public ProtoMessage {
1664
1735
  protected:
1665
1736
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1666
1737
  };
1738
+ #endif
1739
+ #ifdef USE_MEDIA_PLAYER
1667
1740
  class MediaPlayerSupportedFormat : public ProtoMessage {
1668
1741
  public:
1669
1742
  std::string format{};
@@ -1684,9 +1757,9 @@ class MediaPlayerSupportedFormat : public ProtoMessage {
1684
1757
  class ListEntitiesMediaPlayerResponse : public InfoResponseProtoMessage {
1685
1758
  public:
1686
1759
  static constexpr uint16_t MESSAGE_TYPE = 63;
1687
- static constexpr uint16_t ESTIMATED_SIZE = 81;
1760
+ static constexpr uint16_t ESTIMATED_SIZE = 85;
1688
1761
  #ifdef HAS_PROTO_MESSAGE_DUMP
1689
- static constexpr const char *message_name() { return "list_entities_media_player_response"; }
1762
+ const char *message_name() const override { return "list_entities_media_player_response"; }
1690
1763
  #endif
1691
1764
  bool supports_pause{false};
1692
1765
  std::vector<MediaPlayerSupportedFormat> supported_formats{};
@@ -1704,9 +1777,9 @@ class ListEntitiesMediaPlayerResponse : public InfoResponseProtoMessage {
1704
1777
  class MediaPlayerStateResponse : public StateResponseProtoMessage {
1705
1778
  public:
1706
1779
  static constexpr uint16_t MESSAGE_TYPE = 64;
1707
- static constexpr uint16_t ESTIMATED_SIZE = 14;
1780
+ static constexpr uint16_t ESTIMATED_SIZE = 18;
1708
1781
  #ifdef HAS_PROTO_MESSAGE_DUMP
1709
- static constexpr const char *message_name() { return "media_player_state_response"; }
1782
+ const char *message_name() const override { return "media_player_state_response"; }
1710
1783
  #endif
1711
1784
  enums::MediaPlayerState state{};
1712
1785
  float volume{0.0f};
@@ -1726,7 +1799,7 @@ class MediaPlayerCommandRequest : public ProtoMessage {
1726
1799
  static constexpr uint16_t MESSAGE_TYPE = 65;
1727
1800
  static constexpr uint16_t ESTIMATED_SIZE = 31;
1728
1801
  #ifdef HAS_PROTO_MESSAGE_DUMP
1729
- static constexpr const char *message_name() { return "media_player_command_request"; }
1802
+ const char *message_name() const override { return "media_player_command_request"; }
1730
1803
  #endif
1731
1804
  uint32_t key{0};
1732
1805
  bool has_command{false};
@@ -1748,12 +1821,14 @@ class MediaPlayerCommandRequest : public ProtoMessage {
1748
1821
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1749
1822
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1750
1823
  };
1824
+ #endif
1825
+ #ifdef USE_BLUETOOTH_PROXY
1751
1826
  class SubscribeBluetoothLEAdvertisementsRequest : public ProtoMessage {
1752
1827
  public:
1753
1828
  static constexpr uint16_t MESSAGE_TYPE = 66;
1754
1829
  static constexpr uint16_t ESTIMATED_SIZE = 4;
1755
1830
  #ifdef HAS_PROTO_MESSAGE_DUMP
1756
- static constexpr const char *message_name() { return "subscribe_bluetooth_le_advertisements_request"; }
1831
+ const char *message_name() const override { return "subscribe_bluetooth_le_advertisements_request"; }
1757
1832
  #endif
1758
1833
  uint32_t flags{0};
1759
1834
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1785,7 +1860,7 @@ class BluetoothLEAdvertisementResponse : public ProtoMessage {
1785
1860
  static constexpr uint16_t MESSAGE_TYPE = 67;
1786
1861
  static constexpr uint16_t ESTIMATED_SIZE = 107;
1787
1862
  #ifdef HAS_PROTO_MESSAGE_DUMP
1788
- static constexpr const char *message_name() { return "bluetooth_le_advertisement_response"; }
1863
+ const char *message_name() const override { return "bluetooth_le_advertisement_response"; }
1789
1864
  #endif
1790
1865
  uint64_t address{0};
1791
1866
  std::string name{};
@@ -1825,7 +1900,7 @@ class BluetoothLERawAdvertisementsResponse : public ProtoMessage {
1825
1900
  static constexpr uint16_t MESSAGE_TYPE = 93;
1826
1901
  static constexpr uint16_t ESTIMATED_SIZE = 34;
1827
1902
  #ifdef HAS_PROTO_MESSAGE_DUMP
1828
- static constexpr const char *message_name() { return "bluetooth_le_raw_advertisements_response"; }
1903
+ const char *message_name() const override { return "bluetooth_le_raw_advertisements_response"; }
1829
1904
  #endif
1830
1905
  std::vector<BluetoothLERawAdvertisement> advertisements{};
1831
1906
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1842,7 +1917,7 @@ class BluetoothDeviceRequest : public ProtoMessage {
1842
1917
  static constexpr uint16_t MESSAGE_TYPE = 68;
1843
1918
  static constexpr uint16_t ESTIMATED_SIZE = 12;
1844
1919
  #ifdef HAS_PROTO_MESSAGE_DUMP
1845
- static constexpr const char *message_name() { return "bluetooth_device_request"; }
1920
+ const char *message_name() const override { return "bluetooth_device_request"; }
1846
1921
  #endif
1847
1922
  uint64_t address{0};
1848
1923
  enums::BluetoothDeviceRequestType request_type{};
@@ -1862,7 +1937,7 @@ class BluetoothDeviceConnectionResponse : public ProtoMessage {
1862
1937
  static constexpr uint16_t MESSAGE_TYPE = 69;
1863
1938
  static constexpr uint16_t ESTIMATED_SIZE = 14;
1864
1939
  #ifdef HAS_PROTO_MESSAGE_DUMP
1865
- static constexpr const char *message_name() { return "bluetooth_device_connection_response"; }
1940
+ const char *message_name() const override { return "bluetooth_device_connection_response"; }
1866
1941
  #endif
1867
1942
  uint64_t address{0};
1868
1943
  bool connected{false};
@@ -1882,7 +1957,7 @@ class BluetoothGATTGetServicesRequest : public ProtoMessage {
1882
1957
  static constexpr uint16_t MESSAGE_TYPE = 70;
1883
1958
  static constexpr uint16_t ESTIMATED_SIZE = 4;
1884
1959
  #ifdef HAS_PROTO_MESSAGE_DUMP
1885
- static constexpr const char *message_name() { return "bluetooth_gatt_get_services_request"; }
1960
+ const char *message_name() const override { return "bluetooth_gatt_get_services_request"; }
1886
1961
  #endif
1887
1962
  uint64_t address{0};
1888
1963
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1943,7 +2018,7 @@ class BluetoothGATTGetServicesResponse : public ProtoMessage {
1943
2018
  static constexpr uint16_t MESSAGE_TYPE = 71;
1944
2019
  static constexpr uint16_t ESTIMATED_SIZE = 38;
1945
2020
  #ifdef HAS_PROTO_MESSAGE_DUMP
1946
- static constexpr const char *message_name() { return "bluetooth_gatt_get_services_response"; }
2021
+ const char *message_name() const override { return "bluetooth_gatt_get_services_response"; }
1947
2022
  #endif
1948
2023
  uint64_t address{0};
1949
2024
  std::vector<BluetoothGATTService> services{};
@@ -1962,7 +2037,7 @@ class BluetoothGATTGetServicesDoneResponse : public ProtoMessage {
1962
2037
  static constexpr uint16_t MESSAGE_TYPE = 72;
1963
2038
  static constexpr uint16_t ESTIMATED_SIZE = 4;
1964
2039
  #ifdef HAS_PROTO_MESSAGE_DUMP
1965
- static constexpr const char *message_name() { return "bluetooth_gatt_get_services_done_response"; }
2040
+ const char *message_name() const override { return "bluetooth_gatt_get_services_done_response"; }
1966
2041
  #endif
1967
2042
  uint64_t address{0};
1968
2043
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1979,7 +2054,7 @@ class BluetoothGATTReadRequest : public ProtoMessage {
1979
2054
  static constexpr uint16_t MESSAGE_TYPE = 73;
1980
2055
  static constexpr uint16_t ESTIMATED_SIZE = 8;
1981
2056
  #ifdef HAS_PROTO_MESSAGE_DUMP
1982
- static constexpr const char *message_name() { return "bluetooth_gatt_read_request"; }
2057
+ const char *message_name() const override { return "bluetooth_gatt_read_request"; }
1983
2058
  #endif
1984
2059
  uint64_t address{0};
1985
2060
  uint32_t handle{0};
@@ -1997,7 +2072,7 @@ class BluetoothGATTReadResponse : public ProtoMessage {
1997
2072
  static constexpr uint16_t MESSAGE_TYPE = 74;
1998
2073
  static constexpr uint16_t ESTIMATED_SIZE = 17;
1999
2074
  #ifdef HAS_PROTO_MESSAGE_DUMP
2000
- static constexpr const char *message_name() { return "bluetooth_gatt_read_response"; }
2075
+ const char *message_name() const override { return "bluetooth_gatt_read_response"; }
2001
2076
  #endif
2002
2077
  uint64_t address{0};
2003
2078
  uint32_t handle{0};
@@ -2017,7 +2092,7 @@ class BluetoothGATTWriteRequest : public ProtoMessage {
2017
2092
  static constexpr uint16_t MESSAGE_TYPE = 75;
2018
2093
  static constexpr uint16_t ESTIMATED_SIZE = 19;
2019
2094
  #ifdef HAS_PROTO_MESSAGE_DUMP
2020
- static constexpr const char *message_name() { return "bluetooth_gatt_write_request"; }
2095
+ const char *message_name() const override { return "bluetooth_gatt_write_request"; }
2021
2096
  #endif
2022
2097
  uint64_t address{0};
2023
2098
  uint32_t handle{0};
@@ -2038,7 +2113,7 @@ class BluetoothGATTReadDescriptorRequest : public ProtoMessage {
2038
2113
  static constexpr uint16_t MESSAGE_TYPE = 76;
2039
2114
  static constexpr uint16_t ESTIMATED_SIZE = 8;
2040
2115
  #ifdef HAS_PROTO_MESSAGE_DUMP
2041
- static constexpr const char *message_name() { return "bluetooth_gatt_read_descriptor_request"; }
2116
+ const char *message_name() const override { return "bluetooth_gatt_read_descriptor_request"; }
2042
2117
  #endif
2043
2118
  uint64_t address{0};
2044
2119
  uint32_t handle{0};
@@ -2056,7 +2131,7 @@ class BluetoothGATTWriteDescriptorRequest : public ProtoMessage {
2056
2131
  static constexpr uint16_t MESSAGE_TYPE = 77;
2057
2132
  static constexpr uint16_t ESTIMATED_SIZE = 17;
2058
2133
  #ifdef HAS_PROTO_MESSAGE_DUMP
2059
- static constexpr const char *message_name() { return "bluetooth_gatt_write_descriptor_request"; }
2134
+ const char *message_name() const override { return "bluetooth_gatt_write_descriptor_request"; }
2060
2135
  #endif
2061
2136
  uint64_t address{0};
2062
2137
  uint32_t handle{0};
@@ -2076,7 +2151,7 @@ class BluetoothGATTNotifyRequest : public ProtoMessage {
2076
2151
  static constexpr uint16_t MESSAGE_TYPE = 78;
2077
2152
  static constexpr uint16_t ESTIMATED_SIZE = 10;
2078
2153
  #ifdef HAS_PROTO_MESSAGE_DUMP
2079
- static constexpr const char *message_name() { return "bluetooth_gatt_notify_request"; }
2154
+ const char *message_name() const override { return "bluetooth_gatt_notify_request"; }
2080
2155
  #endif
2081
2156
  uint64_t address{0};
2082
2157
  uint32_t handle{0};
@@ -2095,7 +2170,7 @@ class BluetoothGATTNotifyDataResponse : public ProtoMessage {
2095
2170
  static constexpr uint16_t MESSAGE_TYPE = 79;
2096
2171
  static constexpr uint16_t ESTIMATED_SIZE = 17;
2097
2172
  #ifdef HAS_PROTO_MESSAGE_DUMP
2098
- static constexpr const char *message_name() { return "bluetooth_gatt_notify_data_response"; }
2173
+ const char *message_name() const override { return "bluetooth_gatt_notify_data_response"; }
2099
2174
  #endif
2100
2175
  uint64_t address{0};
2101
2176
  uint32_t handle{0};
@@ -2115,10 +2190,8 @@ class SubscribeBluetoothConnectionsFreeRequest : public ProtoMessage {
2115
2190
  static constexpr uint16_t MESSAGE_TYPE = 80;
2116
2191
  static constexpr uint16_t ESTIMATED_SIZE = 0;
2117
2192
  #ifdef HAS_PROTO_MESSAGE_DUMP
2118
- static constexpr const char *message_name() { return "subscribe_bluetooth_connections_free_request"; }
2193
+ const char *message_name() const override { return "subscribe_bluetooth_connections_free_request"; }
2119
2194
  #endif
2120
- void encode(ProtoWriteBuffer buffer) const override;
2121
- void calculate_size(uint32_t &total_size) const override;
2122
2195
  #ifdef HAS_PROTO_MESSAGE_DUMP
2123
2196
  void dump_to(std::string &out) const override;
2124
2197
  #endif
@@ -2130,7 +2203,7 @@ class BluetoothConnectionsFreeResponse : public ProtoMessage {
2130
2203
  static constexpr uint16_t MESSAGE_TYPE = 81;
2131
2204
  static constexpr uint16_t ESTIMATED_SIZE = 16;
2132
2205
  #ifdef HAS_PROTO_MESSAGE_DUMP
2133
- static constexpr const char *message_name() { return "bluetooth_connections_free_response"; }
2206
+ const char *message_name() const override { return "bluetooth_connections_free_response"; }
2134
2207
  #endif
2135
2208
  uint32_t free{0};
2136
2209
  uint32_t limit{0};
@@ -2149,7 +2222,7 @@ class BluetoothGATTErrorResponse : public ProtoMessage {
2149
2222
  static constexpr uint16_t MESSAGE_TYPE = 82;
2150
2223
  static constexpr uint16_t ESTIMATED_SIZE = 12;
2151
2224
  #ifdef HAS_PROTO_MESSAGE_DUMP
2152
- static constexpr const char *message_name() { return "bluetooth_gatt_error_response"; }
2225
+ const char *message_name() const override { return "bluetooth_gatt_error_response"; }
2153
2226
  #endif
2154
2227
  uint64_t address{0};
2155
2228
  uint32_t handle{0};
@@ -2168,7 +2241,7 @@ class BluetoothGATTWriteResponse : public ProtoMessage {
2168
2241
  static constexpr uint16_t MESSAGE_TYPE = 83;
2169
2242
  static constexpr uint16_t ESTIMATED_SIZE = 8;
2170
2243
  #ifdef HAS_PROTO_MESSAGE_DUMP
2171
- static constexpr const char *message_name() { return "bluetooth_gatt_write_response"; }
2244
+ const char *message_name() const override { return "bluetooth_gatt_write_response"; }
2172
2245
  #endif
2173
2246
  uint64_t address{0};
2174
2247
  uint32_t handle{0};
@@ -2186,7 +2259,7 @@ class BluetoothGATTNotifyResponse : public ProtoMessage {
2186
2259
  static constexpr uint16_t MESSAGE_TYPE = 84;
2187
2260
  static constexpr uint16_t ESTIMATED_SIZE = 8;
2188
2261
  #ifdef HAS_PROTO_MESSAGE_DUMP
2189
- static constexpr const char *message_name() { return "bluetooth_gatt_notify_response"; }
2262
+ const char *message_name() const override { return "bluetooth_gatt_notify_response"; }
2190
2263
  #endif
2191
2264
  uint64_t address{0};
2192
2265
  uint32_t handle{0};
@@ -2204,7 +2277,7 @@ class BluetoothDevicePairingResponse : public ProtoMessage {
2204
2277
  static constexpr uint16_t MESSAGE_TYPE = 85;
2205
2278
  static constexpr uint16_t ESTIMATED_SIZE = 10;
2206
2279
  #ifdef HAS_PROTO_MESSAGE_DUMP
2207
- static constexpr const char *message_name() { return "bluetooth_device_pairing_response"; }
2280
+ const char *message_name() const override { return "bluetooth_device_pairing_response"; }
2208
2281
  #endif
2209
2282
  uint64_t address{0};
2210
2283
  bool paired{false};
@@ -2223,7 +2296,7 @@ class BluetoothDeviceUnpairingResponse : public ProtoMessage {
2223
2296
  static constexpr uint16_t MESSAGE_TYPE = 86;
2224
2297
  static constexpr uint16_t ESTIMATED_SIZE = 10;
2225
2298
  #ifdef HAS_PROTO_MESSAGE_DUMP
2226
- static constexpr const char *message_name() { return "bluetooth_device_unpairing_response"; }
2299
+ const char *message_name() const override { return "bluetooth_device_unpairing_response"; }
2227
2300
  #endif
2228
2301
  uint64_t address{0};
2229
2302
  bool success{false};
@@ -2242,10 +2315,8 @@ class UnsubscribeBluetoothLEAdvertisementsRequest : public ProtoMessage {
2242
2315
  static constexpr uint16_t MESSAGE_TYPE = 87;
2243
2316
  static constexpr uint16_t ESTIMATED_SIZE = 0;
2244
2317
  #ifdef HAS_PROTO_MESSAGE_DUMP
2245
- static constexpr const char *message_name() { return "unsubscribe_bluetooth_le_advertisements_request"; }
2318
+ const char *message_name() const override { return "unsubscribe_bluetooth_le_advertisements_request"; }
2246
2319
  #endif
2247
- void encode(ProtoWriteBuffer buffer) const override;
2248
- void calculate_size(uint32_t &total_size) const override;
2249
2320
  #ifdef HAS_PROTO_MESSAGE_DUMP
2250
2321
  void dump_to(std::string &out) const override;
2251
2322
  #endif
@@ -2257,7 +2328,7 @@ class BluetoothDeviceClearCacheResponse : public ProtoMessage {
2257
2328
  static constexpr uint16_t MESSAGE_TYPE = 88;
2258
2329
  static constexpr uint16_t ESTIMATED_SIZE = 10;
2259
2330
  #ifdef HAS_PROTO_MESSAGE_DUMP
2260
- static constexpr const char *message_name() { return "bluetooth_device_clear_cache_response"; }
2331
+ const char *message_name() const override { return "bluetooth_device_clear_cache_response"; }
2261
2332
  #endif
2262
2333
  uint64_t address{0};
2263
2334
  bool success{false};
@@ -2276,7 +2347,7 @@ class BluetoothScannerStateResponse : public ProtoMessage {
2276
2347
  static constexpr uint16_t MESSAGE_TYPE = 126;
2277
2348
  static constexpr uint16_t ESTIMATED_SIZE = 4;
2278
2349
  #ifdef HAS_PROTO_MESSAGE_DUMP
2279
- static constexpr const char *message_name() { return "bluetooth_scanner_state_response"; }
2350
+ const char *message_name() const override { return "bluetooth_scanner_state_response"; }
2280
2351
  #endif
2281
2352
  enums::BluetoothScannerState state{};
2282
2353
  enums::BluetoothScannerMode mode{};
@@ -2294,7 +2365,7 @@ class BluetoothScannerSetModeRequest : public ProtoMessage {
2294
2365
  static constexpr uint16_t MESSAGE_TYPE = 127;
2295
2366
  static constexpr uint16_t ESTIMATED_SIZE = 2;
2296
2367
  #ifdef HAS_PROTO_MESSAGE_DUMP
2297
- static constexpr const char *message_name() { return "bluetooth_scanner_set_mode_request"; }
2368
+ const char *message_name() const override { return "bluetooth_scanner_set_mode_request"; }
2298
2369
  #endif
2299
2370
  enums::BluetoothScannerMode mode{};
2300
2371
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2306,12 +2377,14 @@ class BluetoothScannerSetModeRequest : public ProtoMessage {
2306
2377
  protected:
2307
2378
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2308
2379
  };
2380
+ #endif
2381
+ #ifdef USE_VOICE_ASSISTANT
2309
2382
  class SubscribeVoiceAssistantRequest : public ProtoMessage {
2310
2383
  public:
2311
2384
  static constexpr uint16_t MESSAGE_TYPE = 89;
2312
2385
  static constexpr uint16_t ESTIMATED_SIZE = 6;
2313
2386
  #ifdef HAS_PROTO_MESSAGE_DUMP
2314
- static constexpr const char *message_name() { return "subscribe_voice_assistant_request"; }
2387
+ const char *message_name() const override { return "subscribe_voice_assistant_request"; }
2315
2388
  #endif
2316
2389
  bool subscribe{false};
2317
2390
  uint32_t flags{0};
@@ -2344,7 +2417,7 @@ class VoiceAssistantRequest : public ProtoMessage {
2344
2417
  static constexpr uint16_t MESSAGE_TYPE = 90;
2345
2418
  static constexpr uint16_t ESTIMATED_SIZE = 41;
2346
2419
  #ifdef HAS_PROTO_MESSAGE_DUMP
2347
- static constexpr const char *message_name() { return "voice_assistant_request"; }
2420
+ const char *message_name() const override { return "voice_assistant_request"; }
2348
2421
  #endif
2349
2422
  bool start{false};
2350
2423
  std::string conversation_id{};
@@ -2366,7 +2439,7 @@ class VoiceAssistantResponse : public ProtoMessage {
2366
2439
  static constexpr uint16_t MESSAGE_TYPE = 91;
2367
2440
  static constexpr uint16_t ESTIMATED_SIZE = 6;
2368
2441
  #ifdef HAS_PROTO_MESSAGE_DUMP
2369
- static constexpr const char *message_name() { return "voice_assistant_response"; }
2442
+ const char *message_name() const override { return "voice_assistant_response"; }
2370
2443
  #endif
2371
2444
  uint32_t port{0};
2372
2445
  bool error{false};
@@ -2397,7 +2470,7 @@ class VoiceAssistantEventResponse : public ProtoMessage {
2397
2470
  static constexpr uint16_t MESSAGE_TYPE = 92;
2398
2471
  static constexpr uint16_t ESTIMATED_SIZE = 36;
2399
2472
  #ifdef HAS_PROTO_MESSAGE_DUMP
2400
- static constexpr const char *message_name() { return "voice_assistant_event_response"; }
2473
+ const char *message_name() const override { return "voice_assistant_event_response"; }
2401
2474
  #endif
2402
2475
  enums::VoiceAssistantEvent event_type{};
2403
2476
  std::vector<VoiceAssistantEventData> data{};
@@ -2416,7 +2489,7 @@ class VoiceAssistantAudio : public ProtoMessage {
2416
2489
  static constexpr uint16_t MESSAGE_TYPE = 106;
2417
2490
  static constexpr uint16_t ESTIMATED_SIZE = 11;
2418
2491
  #ifdef HAS_PROTO_MESSAGE_DUMP
2419
- static constexpr const char *message_name() { return "voice_assistant_audio"; }
2492
+ const char *message_name() const override { return "voice_assistant_audio"; }
2420
2493
  #endif
2421
2494
  std::string data{};
2422
2495
  bool end{false};
@@ -2435,7 +2508,7 @@ class VoiceAssistantTimerEventResponse : public ProtoMessage {
2435
2508
  static constexpr uint16_t MESSAGE_TYPE = 115;
2436
2509
  static constexpr uint16_t ESTIMATED_SIZE = 30;
2437
2510
  #ifdef HAS_PROTO_MESSAGE_DUMP
2438
- static constexpr const char *message_name() { return "voice_assistant_timer_event_response"; }
2511
+ const char *message_name() const override { return "voice_assistant_timer_event_response"; }
2439
2512
  #endif
2440
2513
  enums::VoiceAssistantTimerEvent event_type{};
2441
2514
  std::string timer_id{};
@@ -2458,7 +2531,7 @@ class VoiceAssistantAnnounceRequest : public ProtoMessage {
2458
2531
  static constexpr uint16_t MESSAGE_TYPE = 119;
2459
2532
  static constexpr uint16_t ESTIMATED_SIZE = 29;
2460
2533
  #ifdef HAS_PROTO_MESSAGE_DUMP
2461
- static constexpr const char *message_name() { return "voice_assistant_announce_request"; }
2534
+ const char *message_name() const override { return "voice_assistant_announce_request"; }
2462
2535
  #endif
2463
2536
  std::string media_id{};
2464
2537
  std::string text{};
@@ -2479,7 +2552,7 @@ class VoiceAssistantAnnounceFinished : public ProtoMessage {
2479
2552
  static constexpr uint16_t MESSAGE_TYPE = 120;
2480
2553
  static constexpr uint16_t ESTIMATED_SIZE = 2;
2481
2554
  #ifdef HAS_PROTO_MESSAGE_DUMP
2482
- static constexpr const char *message_name() { return "voice_assistant_announce_finished"; }
2555
+ const char *message_name() const override { return "voice_assistant_announce_finished"; }
2483
2556
  #endif
2484
2557
  bool success{false};
2485
2558
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2510,10 +2583,8 @@ class VoiceAssistantConfigurationRequest : public ProtoMessage {
2510
2583
  static constexpr uint16_t MESSAGE_TYPE = 121;
2511
2584
  static constexpr uint16_t ESTIMATED_SIZE = 0;
2512
2585
  #ifdef HAS_PROTO_MESSAGE_DUMP
2513
- static constexpr const char *message_name() { return "voice_assistant_configuration_request"; }
2586
+ const char *message_name() const override { return "voice_assistant_configuration_request"; }
2514
2587
  #endif
2515
- void encode(ProtoWriteBuffer buffer) const override;
2516
- void calculate_size(uint32_t &total_size) const override;
2517
2588
  #ifdef HAS_PROTO_MESSAGE_DUMP
2518
2589
  void dump_to(std::string &out) const override;
2519
2590
  #endif
@@ -2525,7 +2596,7 @@ class VoiceAssistantConfigurationResponse : public ProtoMessage {
2525
2596
  static constexpr uint16_t MESSAGE_TYPE = 122;
2526
2597
  static constexpr uint16_t ESTIMATED_SIZE = 56;
2527
2598
  #ifdef HAS_PROTO_MESSAGE_DUMP
2528
- static constexpr const char *message_name() { return "voice_assistant_configuration_response"; }
2599
+ const char *message_name() const override { return "voice_assistant_configuration_response"; }
2529
2600
  #endif
2530
2601
  std::vector<VoiceAssistantWakeWord> available_wake_words{};
2531
2602
  std::vector<std::string> active_wake_words{};
@@ -2545,7 +2616,7 @@ class VoiceAssistantSetConfiguration : public ProtoMessage {
2545
2616
  static constexpr uint16_t MESSAGE_TYPE = 123;
2546
2617
  static constexpr uint16_t ESTIMATED_SIZE = 18;
2547
2618
  #ifdef HAS_PROTO_MESSAGE_DUMP
2548
- static constexpr const char *message_name() { return "voice_assistant_set_configuration"; }
2619
+ const char *message_name() const override { return "voice_assistant_set_configuration"; }
2549
2620
  #endif
2550
2621
  std::vector<std::string> active_wake_words{};
2551
2622
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2557,12 +2628,14 @@ class VoiceAssistantSetConfiguration : public ProtoMessage {
2557
2628
  protected:
2558
2629
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2559
2630
  };
2631
+ #endif
2632
+ #ifdef USE_ALARM_CONTROL_PANEL
2560
2633
  class ListEntitiesAlarmControlPanelResponse : public InfoResponseProtoMessage {
2561
2634
  public:
2562
2635
  static constexpr uint16_t MESSAGE_TYPE = 94;
2563
- static constexpr uint16_t ESTIMATED_SIZE = 53;
2636
+ static constexpr uint16_t ESTIMATED_SIZE = 57;
2564
2637
  #ifdef HAS_PROTO_MESSAGE_DUMP
2565
- static constexpr const char *message_name() { return "list_entities_alarm_control_panel_response"; }
2638
+ const char *message_name() const override { return "list_entities_alarm_control_panel_response"; }
2566
2639
  #endif
2567
2640
  uint32_t supported_features{0};
2568
2641
  bool requires_code{false};
@@ -2581,9 +2654,9 @@ class ListEntitiesAlarmControlPanelResponse : public InfoResponseProtoMessage {
2581
2654
  class AlarmControlPanelStateResponse : public StateResponseProtoMessage {
2582
2655
  public:
2583
2656
  static constexpr uint16_t MESSAGE_TYPE = 95;
2584
- static constexpr uint16_t ESTIMATED_SIZE = 7;
2657
+ static constexpr uint16_t ESTIMATED_SIZE = 11;
2585
2658
  #ifdef HAS_PROTO_MESSAGE_DUMP
2586
- static constexpr const char *message_name() { return "alarm_control_panel_state_response"; }
2659
+ const char *message_name() const override { return "alarm_control_panel_state_response"; }
2587
2660
  #endif
2588
2661
  enums::AlarmControlPanelState state{};
2589
2662
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2601,7 +2674,7 @@ class AlarmControlPanelCommandRequest : public ProtoMessage {
2601
2674
  static constexpr uint16_t MESSAGE_TYPE = 96;
2602
2675
  static constexpr uint16_t ESTIMATED_SIZE = 16;
2603
2676
  #ifdef HAS_PROTO_MESSAGE_DUMP
2604
- static constexpr const char *message_name() { return "alarm_control_panel_command_request"; }
2677
+ const char *message_name() const override { return "alarm_control_panel_command_request"; }
2605
2678
  #endif
2606
2679
  uint32_t key{0};
2607
2680
  enums::AlarmControlPanelStateCommand command{};
@@ -2617,12 +2690,14 @@ class AlarmControlPanelCommandRequest : public ProtoMessage {
2617
2690
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2618
2691
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2619
2692
  };
2693
+ #endif
2694
+ #ifdef USE_TEXT
2620
2695
  class ListEntitiesTextResponse : public InfoResponseProtoMessage {
2621
2696
  public:
2622
2697
  static constexpr uint16_t MESSAGE_TYPE = 97;
2623
- static constexpr uint16_t ESTIMATED_SIZE = 64;
2698
+ static constexpr uint16_t ESTIMATED_SIZE = 68;
2624
2699
  #ifdef HAS_PROTO_MESSAGE_DUMP
2625
- static constexpr const char *message_name() { return "list_entities_text_response"; }
2700
+ const char *message_name() const override { return "list_entities_text_response"; }
2626
2701
  #endif
2627
2702
  uint32_t min_length{0};
2628
2703
  uint32_t max_length{0};
@@ -2642,9 +2717,9 @@ class ListEntitiesTextResponse : public InfoResponseProtoMessage {
2642
2717
  class TextStateResponse : public StateResponseProtoMessage {
2643
2718
  public:
2644
2719
  static constexpr uint16_t MESSAGE_TYPE = 98;
2645
- static constexpr uint16_t ESTIMATED_SIZE = 16;
2720
+ static constexpr uint16_t ESTIMATED_SIZE = 20;
2646
2721
  #ifdef HAS_PROTO_MESSAGE_DUMP
2647
- static constexpr const char *message_name() { return "text_state_response"; }
2722
+ const char *message_name() const override { return "text_state_response"; }
2648
2723
  #endif
2649
2724
  std::string state{};
2650
2725
  bool missing_state{false};
@@ -2664,7 +2739,7 @@ class TextCommandRequest : public ProtoMessage {
2664
2739
  static constexpr uint16_t MESSAGE_TYPE = 99;
2665
2740
  static constexpr uint16_t ESTIMATED_SIZE = 14;
2666
2741
  #ifdef HAS_PROTO_MESSAGE_DUMP
2667
- static constexpr const char *message_name() { return "text_command_request"; }
2742
+ const char *message_name() const override { return "text_command_request"; }
2668
2743
  #endif
2669
2744
  uint32_t key{0};
2670
2745
  std::string state{};
@@ -2678,12 +2753,14 @@ class TextCommandRequest : public ProtoMessage {
2678
2753
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2679
2754
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2680
2755
  };
2756
+ #endif
2757
+ #ifdef USE_DATETIME_DATE
2681
2758
  class ListEntitiesDateResponse : public InfoResponseProtoMessage {
2682
2759
  public:
2683
2760
  static constexpr uint16_t MESSAGE_TYPE = 100;
2684
- static constexpr uint16_t ESTIMATED_SIZE = 45;
2761
+ static constexpr uint16_t ESTIMATED_SIZE = 49;
2685
2762
  #ifdef HAS_PROTO_MESSAGE_DUMP
2686
- static constexpr const char *message_name() { return "list_entities_date_response"; }
2763
+ const char *message_name() const override { return "list_entities_date_response"; }
2687
2764
  #endif
2688
2765
  void encode(ProtoWriteBuffer buffer) const override;
2689
2766
  void calculate_size(uint32_t &total_size) const override;
@@ -2699,9 +2776,9 @@ class ListEntitiesDateResponse : public InfoResponseProtoMessage {
2699
2776
  class DateStateResponse : public StateResponseProtoMessage {
2700
2777
  public:
2701
2778
  static constexpr uint16_t MESSAGE_TYPE = 101;
2702
- static constexpr uint16_t ESTIMATED_SIZE = 19;
2779
+ static constexpr uint16_t ESTIMATED_SIZE = 23;
2703
2780
  #ifdef HAS_PROTO_MESSAGE_DUMP
2704
- static constexpr const char *message_name() { return "date_state_response"; }
2781
+ const char *message_name() const override { return "date_state_response"; }
2705
2782
  #endif
2706
2783
  bool missing_state{false};
2707
2784
  uint32_t year{0};
@@ -2722,7 +2799,7 @@ class DateCommandRequest : public ProtoMessage {
2722
2799
  static constexpr uint16_t MESSAGE_TYPE = 102;
2723
2800
  static constexpr uint16_t ESTIMATED_SIZE = 17;
2724
2801
  #ifdef HAS_PROTO_MESSAGE_DUMP
2725
- static constexpr const char *message_name() { return "date_command_request"; }
2802
+ const char *message_name() const override { return "date_command_request"; }
2726
2803
  #endif
2727
2804
  uint32_t key{0};
2728
2805
  uint32_t year{0};
@@ -2738,12 +2815,14 @@ class DateCommandRequest : public ProtoMessage {
2738
2815
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2739
2816
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2740
2817
  };
2818
+ #endif
2819
+ #ifdef USE_DATETIME_TIME
2741
2820
  class ListEntitiesTimeResponse : public InfoResponseProtoMessage {
2742
2821
  public:
2743
2822
  static constexpr uint16_t MESSAGE_TYPE = 103;
2744
- static constexpr uint16_t ESTIMATED_SIZE = 45;
2823
+ static constexpr uint16_t ESTIMATED_SIZE = 49;
2745
2824
  #ifdef HAS_PROTO_MESSAGE_DUMP
2746
- static constexpr const char *message_name() { return "list_entities_time_response"; }
2825
+ const char *message_name() const override { return "list_entities_time_response"; }
2747
2826
  #endif
2748
2827
  void encode(ProtoWriteBuffer buffer) const override;
2749
2828
  void calculate_size(uint32_t &total_size) const override;
@@ -2759,9 +2838,9 @@ class ListEntitiesTimeResponse : public InfoResponseProtoMessage {
2759
2838
  class TimeStateResponse : public StateResponseProtoMessage {
2760
2839
  public:
2761
2840
  static constexpr uint16_t MESSAGE_TYPE = 104;
2762
- static constexpr uint16_t ESTIMATED_SIZE = 19;
2841
+ static constexpr uint16_t ESTIMATED_SIZE = 23;
2763
2842
  #ifdef HAS_PROTO_MESSAGE_DUMP
2764
- static constexpr const char *message_name() { return "time_state_response"; }
2843
+ const char *message_name() const override { return "time_state_response"; }
2765
2844
  #endif
2766
2845
  bool missing_state{false};
2767
2846
  uint32_t hour{0};
@@ -2782,7 +2861,7 @@ class TimeCommandRequest : public ProtoMessage {
2782
2861
  static constexpr uint16_t MESSAGE_TYPE = 105;
2783
2862
  static constexpr uint16_t ESTIMATED_SIZE = 17;
2784
2863
  #ifdef HAS_PROTO_MESSAGE_DUMP
2785
- static constexpr const char *message_name() { return "time_command_request"; }
2864
+ const char *message_name() const override { return "time_command_request"; }
2786
2865
  #endif
2787
2866
  uint32_t key{0};
2788
2867
  uint32_t hour{0};
@@ -2798,12 +2877,14 @@ class TimeCommandRequest : public ProtoMessage {
2798
2877
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2799
2878
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2800
2879
  };
2880
+ #endif
2881
+ #ifdef USE_EVENT
2801
2882
  class ListEntitiesEventResponse : public InfoResponseProtoMessage {
2802
2883
  public:
2803
2884
  static constexpr uint16_t MESSAGE_TYPE = 107;
2804
- static constexpr uint16_t ESTIMATED_SIZE = 72;
2885
+ static constexpr uint16_t ESTIMATED_SIZE = 76;
2805
2886
  #ifdef HAS_PROTO_MESSAGE_DUMP
2806
- static constexpr const char *message_name() { return "list_entities_event_response"; }
2887
+ const char *message_name() const override { return "list_entities_event_response"; }
2807
2888
  #endif
2808
2889
  std::string device_class{};
2809
2890
  std::vector<std::string> event_types{};
@@ -2821,9 +2902,9 @@ class ListEntitiesEventResponse : public InfoResponseProtoMessage {
2821
2902
  class EventResponse : public StateResponseProtoMessage {
2822
2903
  public:
2823
2904
  static constexpr uint16_t MESSAGE_TYPE = 108;
2824
- static constexpr uint16_t ESTIMATED_SIZE = 14;
2905
+ static constexpr uint16_t ESTIMATED_SIZE = 18;
2825
2906
  #ifdef HAS_PROTO_MESSAGE_DUMP
2826
- static constexpr const char *message_name() { return "event_response"; }
2907
+ const char *message_name() const override { return "event_response"; }
2827
2908
  #endif
2828
2909
  std::string event_type{};
2829
2910
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2835,13 +2916,16 @@ class EventResponse : public StateResponseProtoMessage {
2835
2916
  protected:
2836
2917
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2837
2918
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2919
+ bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2838
2920
  };
2921
+ #endif
2922
+ #ifdef USE_VALVE
2839
2923
  class ListEntitiesValveResponse : public InfoResponseProtoMessage {
2840
2924
  public:
2841
2925
  static constexpr uint16_t MESSAGE_TYPE = 109;
2842
- static constexpr uint16_t ESTIMATED_SIZE = 60;
2926
+ static constexpr uint16_t ESTIMATED_SIZE = 64;
2843
2927
  #ifdef HAS_PROTO_MESSAGE_DUMP
2844
- static constexpr const char *message_name() { return "list_entities_valve_response"; }
2928
+ const char *message_name() const override { return "list_entities_valve_response"; }
2845
2929
  #endif
2846
2930
  std::string device_class{};
2847
2931
  bool assumed_state{false};
@@ -2861,9 +2945,9 @@ class ListEntitiesValveResponse : public InfoResponseProtoMessage {
2861
2945
  class ValveStateResponse : public StateResponseProtoMessage {
2862
2946
  public:
2863
2947
  static constexpr uint16_t MESSAGE_TYPE = 110;
2864
- static constexpr uint16_t ESTIMATED_SIZE = 12;
2948
+ static constexpr uint16_t ESTIMATED_SIZE = 16;
2865
2949
  #ifdef HAS_PROTO_MESSAGE_DUMP
2866
- static constexpr const char *message_name() { return "valve_state_response"; }
2950
+ const char *message_name() const override { return "valve_state_response"; }
2867
2951
  #endif
2868
2952
  float position{0.0f};
2869
2953
  enums::ValveOperation current_operation{};
@@ -2882,7 +2966,7 @@ class ValveCommandRequest : public ProtoMessage {
2882
2966
  static constexpr uint16_t MESSAGE_TYPE = 111;
2883
2967
  static constexpr uint16_t ESTIMATED_SIZE = 14;
2884
2968
  #ifdef HAS_PROTO_MESSAGE_DUMP
2885
- static constexpr const char *message_name() { return "valve_command_request"; }
2969
+ const char *message_name() const override { return "valve_command_request"; }
2886
2970
  #endif
2887
2971
  uint32_t key{0};
2888
2972
  bool has_position{false};
@@ -2898,12 +2982,14 @@ class ValveCommandRequest : public ProtoMessage {
2898
2982
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2899
2983
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2900
2984
  };
2985
+ #endif
2986
+ #ifdef USE_DATETIME_DATETIME
2901
2987
  class ListEntitiesDateTimeResponse : public InfoResponseProtoMessage {
2902
2988
  public:
2903
2989
  static constexpr uint16_t MESSAGE_TYPE = 112;
2904
- static constexpr uint16_t ESTIMATED_SIZE = 45;
2990
+ static constexpr uint16_t ESTIMATED_SIZE = 49;
2905
2991
  #ifdef HAS_PROTO_MESSAGE_DUMP
2906
- static constexpr const char *message_name() { return "list_entities_date_time_response"; }
2992
+ const char *message_name() const override { return "list_entities_date_time_response"; }
2907
2993
  #endif
2908
2994
  void encode(ProtoWriteBuffer buffer) const override;
2909
2995
  void calculate_size(uint32_t &total_size) const override;
@@ -2919,9 +3005,9 @@ class ListEntitiesDateTimeResponse : public InfoResponseProtoMessage {
2919
3005
  class DateTimeStateResponse : public StateResponseProtoMessage {
2920
3006
  public:
2921
3007
  static constexpr uint16_t MESSAGE_TYPE = 113;
2922
- static constexpr uint16_t ESTIMATED_SIZE = 12;
3008
+ static constexpr uint16_t ESTIMATED_SIZE = 16;
2923
3009
  #ifdef HAS_PROTO_MESSAGE_DUMP
2924
- static constexpr const char *message_name() { return "date_time_state_response"; }
3010
+ const char *message_name() const override { return "date_time_state_response"; }
2925
3011
  #endif
2926
3012
  bool missing_state{false};
2927
3013
  uint32_t epoch_seconds{0};
@@ -2940,7 +3026,7 @@ class DateTimeCommandRequest : public ProtoMessage {
2940
3026
  static constexpr uint16_t MESSAGE_TYPE = 114;
2941
3027
  static constexpr uint16_t ESTIMATED_SIZE = 10;
2942
3028
  #ifdef HAS_PROTO_MESSAGE_DUMP
2943
- static constexpr const char *message_name() { return "date_time_command_request"; }
3029
+ const char *message_name() const override { return "date_time_command_request"; }
2944
3030
  #endif
2945
3031
  uint32_t key{0};
2946
3032
  uint32_t epoch_seconds{0};
@@ -2953,12 +3039,14 @@ class DateTimeCommandRequest : public ProtoMessage {
2953
3039
  protected:
2954
3040
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2955
3041
  };
3042
+ #endif
3043
+ #ifdef USE_UPDATE
2956
3044
  class ListEntitiesUpdateResponse : public InfoResponseProtoMessage {
2957
3045
  public:
2958
3046
  static constexpr uint16_t MESSAGE_TYPE = 116;
2959
- static constexpr uint16_t ESTIMATED_SIZE = 54;
3047
+ static constexpr uint16_t ESTIMATED_SIZE = 58;
2960
3048
  #ifdef HAS_PROTO_MESSAGE_DUMP
2961
- static constexpr const char *message_name() { return "list_entities_update_response"; }
3049
+ const char *message_name() const override { return "list_entities_update_response"; }
2962
3050
  #endif
2963
3051
  std::string device_class{};
2964
3052
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2975,9 +3063,9 @@ class ListEntitiesUpdateResponse : public InfoResponseProtoMessage {
2975
3063
  class UpdateStateResponse : public StateResponseProtoMessage {
2976
3064
  public:
2977
3065
  static constexpr uint16_t MESSAGE_TYPE = 117;
2978
- static constexpr uint16_t ESTIMATED_SIZE = 61;
3066
+ static constexpr uint16_t ESTIMATED_SIZE = 65;
2979
3067
  #ifdef HAS_PROTO_MESSAGE_DUMP
2980
- static constexpr const char *message_name() { return "update_state_response"; }
3068
+ const char *message_name() const override { return "update_state_response"; }
2981
3069
  #endif
2982
3070
  bool missing_state{false};
2983
3071
  bool in_progress{false};
@@ -3004,7 +3092,7 @@ class UpdateCommandRequest : public ProtoMessage {
3004
3092
  static constexpr uint16_t MESSAGE_TYPE = 118;
3005
3093
  static constexpr uint16_t ESTIMATED_SIZE = 7;
3006
3094
  #ifdef HAS_PROTO_MESSAGE_DUMP
3007
- static constexpr const char *message_name() { return "update_command_request"; }
3095
+ const char *message_name() const override { return "update_command_request"; }
3008
3096
  #endif
3009
3097
  uint32_t key{0};
3010
3098
  enums::UpdateCommand command{};
@@ -3018,6 +3106,7 @@ class UpdateCommandRequest : public ProtoMessage {
3018
3106
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
3019
3107
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
3020
3108
  };
3109
+ #endif
3021
3110
 
3022
3111
  } // namespace api
3023
3112
  } // namespace esphome