esphome 2025.5.1__py3-none-any.whl → 2025.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (753) hide show
  1. esphome/__main__.py +20 -14
  2. esphome/components/a4988/a4988.cpp +1 -1
  3. esphome/components/absolute_humidity/absolute_humidity.cpp +6 -4
  4. esphome/components/ac_dimmer/ac_dimmer.cpp +4 -2
  5. esphome/components/adc/adc_sensor_esp32.cpp +5 -3
  6. esphome/components/adc/adc_sensor_esp8266.cpp +5 -3
  7. esphome/components/adc/adc_sensor_libretiny.cpp +5 -3
  8. esphome/components/adc/adc_sensor_rp2040.cpp +5 -3
  9. esphome/components/adc128s102/adc128s102.cpp +1 -1
  10. esphome/components/ade7880/ade7880.cpp +28 -17
  11. esphome/components/ade7953_base/ade7953_base.cpp +12 -9
  12. esphome/components/ade7953_i2c/ade7953_i2c.cpp +1 -1
  13. esphome/components/ade7953_spi/ade7953_spi.cpp +1 -1
  14. esphome/components/ads1115/ads1115.cpp +3 -5
  15. esphome/components/ads1118/ads1118.cpp +2 -1
  16. esphome/components/ags10/ags10.cpp +3 -2
  17. esphome/components/aht10/aht10.cpp +27 -29
  18. esphome/components/aic3204/aic3204.cpp +2 -2
  19. esphome/components/alarm_control_panel/__init__.py +1 -0
  20. esphome/components/am2315c/am2315c.cpp +2 -2
  21. esphome/components/am2320/am2320.cpp +2 -2
  22. esphome/components/am43/am43_base.h +1 -1
  23. esphome/components/am43/cover/am43_cover.cpp +4 -2
  24. esphome/components/analog_threshold/analog_threshold_binary_sensor.cpp +4 -2
  25. esphome/components/apds9306/apds9306.cpp +8 -5
  26. esphome/components/apds9960/apds9960.cpp +2 -2
  27. esphome/components/api/__init__.py +5 -0
  28. esphome/components/api/api_connection.cpp +753 -379
  29. esphome/components/api/api_connection.h +341 -283
  30. esphome/components/api/api_frame_helper.cpp +349 -344
  31. esphome/components/api/api_frame_helper.h +121 -94
  32. esphome/components/api/api_pb2.cpp +5 -0
  33. esphome/components/api/api_pb2.h +703 -227
  34. esphome/components/api/api_pb2_service.cpp +12 -688
  35. esphome/components/api/api_pb2_service.h +53 -207
  36. esphome/components/api/api_server.cpp +71 -29
  37. esphome/components/api/api_server.h +9 -0
  38. esphome/components/api/client.py +5 -4
  39. esphome/components/api/homeassistant_service.h +1 -1
  40. esphome/components/api/list_entities.cpp +1 -1
  41. esphome/components/api/proto.cpp +1 -0
  42. esphome/components/api/proto.h +5 -4
  43. esphome/components/api/subscribe_state.cpp +8 -16
  44. esphome/components/as3935/as3935.cpp +3 -3
  45. esphome/components/as5600/as5600.cpp +9 -7
  46. esphome/components/as7341/as7341.cpp +7 -5
  47. esphome/components/at581x/at581x.cpp +13 -10
  48. esphome/components/atm90e26/atm90e26.cpp +2 -2
  49. esphome/components/atm90e32/atm90e32.cpp +3 -3
  50. esphome/components/axs15231/touchscreen/axs15231_touchscreen.cpp +5 -3
  51. esphome/components/bang_bang/bang_bang_climate.cpp +8 -5
  52. esphome/components/bedjet/bedjet_hub.cpp +6 -4
  53. esphome/components/beken_spi_led_strip/led_strip.cpp +11 -7
  54. esphome/components/bh1750/bh1750.cpp +2 -2
  55. esphome/components/binary_sensor/__init__.py +1 -0
  56. esphome/components/binary_sensor/automation.cpp +1 -2
  57. esphome/components/bl0906/bl0906.cpp +1 -1
  58. esphome/components/bl0942/bl0942.cpp +11 -8
  59. esphome/components/bl0942/sensor.py +1 -1
  60. esphome/components/ble_client/__init__.py +5 -1
  61. esphome/components/ble_client/output/ble_binary_output.cpp +6 -3
  62. esphome/components/ble_client/sensor/ble_sensor.cpp +9 -6
  63. esphome/components/ble_client/text_sensor/ble_text_sensor.cpp +8 -5
  64. esphome/components/bluetooth_proxy/__init__.py +5 -1
  65. esphome/components/bluetooth_proxy/bluetooth_connection.cpp +5 -5
  66. esphome/components/bluetooth_proxy/bluetooth_proxy.cpp +18 -16
  67. esphome/components/bluetooth_proxy/bluetooth_proxy.h +1 -1
  68. esphome/components/bme280_base/bme280_base.cpp +5 -6
  69. esphome/components/bme680/bme680.cpp +3 -3
  70. esphome/components/bme680/sensor.py +2 -2
  71. esphome/components/bme680_bsec/bme680_bsec.cpp +11 -7
  72. esphome/components/bme680_bsec/sensor.py +7 -3
  73. esphome/components/bme68x_bsec2/__init__.py +6 -5
  74. esphome/components/bme68x_bsec2/bme68x_bsec2.cpp +17 -13
  75. esphome/components/bme68x_bsec2/sensor.py +4 -4
  76. esphome/components/bme68x_bsec2_i2c/bme68x_bsec2_i2c.cpp +1 -0
  77. esphome/components/bmi160/bmi160.cpp +11 -11
  78. esphome/components/bmp085/bmp085.cpp +2 -2
  79. esphome/components/bmp280_base/bmp280_base.cpp +3 -3
  80. esphome/components/bmp3xx_base/bmp3xx_base.cpp +13 -13
  81. esphome/components/bmp581/bmp581.cpp +33 -27
  82. esphome/components/bp1658cj/bp1658cj.cpp +5 -3
  83. esphome/components/bp5758d/bp5758d.cpp +1 -1
  84. esphome/components/button/__init__.py +1 -0
  85. esphome/components/canbus/canbus.cpp +1 -1
  86. esphome/components/cap1188/cap1188.cpp +6 -4
  87. esphome/components/captive_portal/captive_portal.cpp +1 -1
  88. esphome/components/ccs811/ccs811.cpp +3 -2
  89. esphome/components/cd74hc4067/cd74hc4067.cpp +1 -1
  90. esphome/components/ch422g/ch422g.cpp +2 -2
  91. esphome/components/chsc6x/chsc6x_touchscreen.cpp +6 -4
  92. esphome/components/climate/__init__.py +1 -0
  93. esphome/components/climate/climate.cpp +12 -7
  94. esphome/components/climate/climate.h +1 -1
  95. esphome/components/climate_ir/climate_ir.cpp +7 -4
  96. esphome/components/cm1106/__init__.py +1 -0
  97. esphome/components/cm1106/cm1106.cpp +112 -0
  98. esphome/components/cm1106/cm1106.h +40 -0
  99. esphome/components/cm1106/sensor.py +72 -0
  100. esphome/components/const/__init__.py +1 -0
  101. esphome/components/cover/__init__.py +1 -0
  102. esphome/components/cs5460a/cs5460a.cpp +16 -11
  103. esphome/components/cse7761/cse7761.cpp +2 -2
  104. esphome/components/cse7766/cse7766.cpp +0 -5
  105. esphome/components/cse7766/cse7766.h +5 -1
  106. esphome/components/cst226/touchscreen/cst226_touchscreen.cpp +1 -1
  107. esphome/components/cst816/touchscreen/cst816_touchscreen.cpp +6 -3
  108. esphome/components/current_based/current_based_cover.cpp +4 -2
  109. esphome/components/dac7678/dac7678_output.cpp +4 -4
  110. esphome/components/dallas_temp/dallas_temp.cpp +2 -3
  111. esphome/components/daly_bms/daly_bms.cpp +2 -1
  112. esphome/components/dashboard_import/__init__.py +1 -2
  113. esphome/components/datetime/__init__.py +3 -1
  114. esphome/components/datetime/date_entity.cpp +5 -5
  115. esphome/components/datetime/datetime_base.h +0 -5
  116. esphome/components/datetime/datetime_entity.cpp +8 -8
  117. esphome/components/datetime/time_entity.cpp +4 -4
  118. esphome/components/debug/debug_component.cpp +1 -5
  119. esphome/components/debug/debug_component.h +1 -1
  120. esphome/components/debug/debug_esp32.cpp +4 -2
  121. esphome/components/deep_sleep/deep_sleep_component.cpp +11 -5
  122. esphome/components/deep_sleep/deep_sleep_esp32.cpp +7 -5
  123. esphome/components/demo/__init__.py +206 -0
  124. esphome/components/demo/demo_alarm_control_panel.h +65 -0
  125. esphome/components/demo/demo_button.h +15 -0
  126. esphome/components/demo/demo_date.h +34 -0
  127. esphome/components/demo/demo_datetime.h +40 -0
  128. esphome/components/demo/demo_lock.h +17 -0
  129. esphome/components/demo/demo_select.h +15 -0
  130. esphome/components/demo/demo_text.h +18 -0
  131. esphome/components/demo/demo_time.h +34 -0
  132. esphome/components/demo/demo_valve.h +54 -0
  133. esphome/components/dfrobot_sen0395/commands.cpp +3 -3
  134. esphome/components/dht/dht.cpp +29 -50
  135. esphome/components/dht12/dht12.cpp +2 -2
  136. esphome/components/display/display.h +5 -3
  137. esphome/components/dps310/dps310.cpp +7 -5
  138. esphome/components/ds1307/ds1307.cpp +2 -2
  139. esphome/components/dsmr/dsmr.cpp +5 -3
  140. esphome/components/duty_cycle/duty_cycle_sensor.cpp +2 -2
  141. esphome/components/duty_time/duty_time_sensor.cpp +5 -3
  142. esphome/components/ee895/ee895.cpp +3 -3
  143. esphome/components/ektf2232/touchscreen/ektf2232.cpp +1 -1
  144. esphome/components/emc2101/emc2101.cpp +11 -9
  145. esphome/components/ens160_base/ens160_base.cpp +2 -2
  146. esphome/components/ens210/ens210.cpp +2 -2
  147. esphome/components/es7210/es7210.cpp +6 -4
  148. esphome/components/es7243e/es7243e.cpp +1 -1
  149. esphome/components/es8156/es8156.cpp +1 -1
  150. esphome/components/es8311/es8311.cpp +8 -6
  151. esphome/components/es8388/__init__.py +0 -0
  152. esphome/components/es8388/audio_dac.py +26 -0
  153. esphome/components/es8388/es8388.cpp +289 -0
  154. esphome/components/es8388/es8388.h +81 -0
  155. esphome/components/es8388/es8388_const.h +83 -0
  156. esphome/components/es8388/select/__init__.py +47 -0
  157. esphome/components/es8388/select/adc_input_mic_select.cpp +12 -0
  158. esphome/components/es8388/select/adc_input_mic_select.h +15 -0
  159. esphome/components/es8388/select/dac_output_select.cpp +12 -0
  160. esphome/components/es8388/select/dac_output_select.h +15 -0
  161. esphome/components/esp32/__init__.py +118 -23
  162. esphome/components/esp32/boards.py +208 -125
  163. esphome/components/esp32/const.py +6 -0
  164. esphome/components/esp32/gpio.py +14 -1
  165. esphome/components/esp32/gpio_esp32_c5.py +45 -0
  166. esphome/components/esp32/gpio_esp32_p4.py +43 -0
  167. esphome/components/esp32/preferences.cpp +7 -7
  168. esphome/components/esp32_ble/__init__.py +115 -0
  169. esphome/components/esp32_ble/ble.cpp +101 -54
  170. esphome/components/esp32_ble/ble.h +24 -5
  171. esphome/components/esp32_ble/ble_event.h +172 -32
  172. esphome/components/esp32_ble/ble_scan_result.h +24 -0
  173. esphome/components/esp32_ble/ble_uuid.h +1 -1
  174. esphome/components/esp32_ble/queue.h +53 -27
  175. esphome/components/esp32_ble_client/ble_client_base.cpp +4 -2
  176. esphome/components/esp32_ble_server/__init__.py +4 -1
  177. esphome/components/esp32_ble_server/ble_characteristic.cpp +1 -0
  178. esphome/components/esp32_ble_server/ble_server.h +0 -1
  179. esphome/components/esp32_ble_tracker/__init__.py +7 -2
  180. esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +107 -75
  181. esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +16 -16
  182. esphome/components/esp32_camera/esp32_camera.cpp +35 -27
  183. esphome/components/esp32_camera_web_server/camera_web_server.cpp +4 -2
  184. esphome/components/esp32_dac/esp32_dac.cpp +2 -2
  185. esphome/components/esp32_improv/__init__.py +5 -1
  186. esphome/components/esp32_improv/esp32_improv_component.cpp +2 -2
  187. esphome/components/esp32_rmt_led_strip/led_strip.cpp +11 -7
  188. esphome/components/esp32_rmt_led_strip/light.py +5 -1
  189. esphome/components/esp32_touch/esp32_touch.cpp +12 -8
  190. esphome/components/esp8266/gpio.cpp +10 -1
  191. esphome/components/esp8266/preferences.cpp +6 -6
  192. esphome/components/esp8266_pwm/esp8266_pwm.cpp +3 -3
  193. esphome/components/esp_ldo/__init__.py +91 -0
  194. esphome/components/esp_ldo/esp_ldo.cpp +43 -0
  195. esphome/components/esp_ldo/esp_ldo.h +43 -0
  196. esphome/components/esphome/ota/ota_esphome.cpp +15 -8
  197. esphome/components/ethernet/ethernet_component.cpp +38 -26
  198. esphome/components/ethernet/ethernet_component.h +1 -1
  199. esphome/components/event/__init__.py +1 -0
  200. esphome/components/exposure_notifications/exposure_notifications.cpp +1 -1
  201. esphome/components/ezo/ezo.cpp +1 -1
  202. esphome/components/ezo_pmp/ezo_pmp.cpp +1 -1
  203. esphome/components/factory_reset/button/factory_reset_button.cpp +1 -1
  204. esphome/components/factory_reset/switch/factory_reset_switch.cpp +1 -1
  205. esphome/components/fan/__init__.py +1 -0
  206. esphome/components/fan/fan.cpp +30 -19
  207. esphome/components/fastled_base/fastled_light.cpp +7 -5
  208. esphome/components/fingerprint_grow/fingerprint_grow.cpp +8 -6
  209. esphome/components/fs3000/fs3000.cpp +1 -1
  210. esphome/components/ft5x06/touchscreen/ft5x06_touchscreen.cpp +7 -4
  211. esphome/components/ft63x6/ft63x6.cpp +5 -3
  212. esphome/components/gcja5/gcja5.cpp +0 -12
  213. esphome/components/gcja5/gcja5.h +8 -3
  214. esphome/components/gdk101/gdk101.cpp +2 -2
  215. esphome/components/globals/globals_component.h +13 -10
  216. esphome/components/gp2y1010au0f/gp2y1010au0f.cpp +4 -2
  217. esphome/components/gp8403/gp8403.cpp +4 -2
  218. esphome/components/gp8403/output/gp8403_output.cpp +4 -2
  219. esphome/components/gpio/one_wire/gpio_one_wire.cpp +2 -2
  220. esphome/components/gpio/output/gpio_binary_output.cpp +1 -1
  221. esphome/components/gpio/switch/gpio_switch.cpp +1 -1
  222. esphome/components/graphical_display_menu/graphical_display_menu.cpp +12 -8
  223. esphome/components/grove_gas_mc_v2/grove_gas_mc_v2.cpp +5 -6
  224. esphome/components/grove_tb6612fng/grove_tb6612fng.cpp +1 -1
  225. esphome/components/grove_tb6612fng/grove_tb6612fng.h +1 -1
  226. esphome/components/growatt_solar/growatt_solar.cpp +6 -3
  227. esphome/components/gt911/touchscreen/gt911_touchscreen.cpp +1 -1
  228. esphome/components/haier/haier_base.cpp +2 -2
  229. esphome/components/haier/hon_climate.cpp +13 -6
  230. esphome/components/havells_solar/havells_solar.cpp +5 -2
  231. esphome/components/hbridge/switch/hbridge_switch.cpp +1 -1
  232. esphome/components/hdc1080/hdc1080.cpp +2 -2
  233. esphome/components/he60r/he60r.cpp +4 -2
  234. esphome/components/hlw8012/hlw8012.cpp +6 -4
  235. esphome/components/hm3301/hm3301.cpp +2 -2
  236. esphome/components/hmc5883l/hmc5883l.cpp +2 -2
  237. esphome/components/homeassistant/time/homeassistant_time.cpp +4 -2
  238. esphome/components/honeywell_hih_i2c/honeywell_hih.cpp +4 -4
  239. esphome/components/honeywellabp/honeywellabp.cpp +4 -2
  240. esphome/components/honeywellabp2_i2c/honeywellabp2.cpp +8 -6
  241. esphome/components/hte501/hte501.cpp +3 -2
  242. esphome/components/http_request/__init__.py +2 -2
  243. esphome/components/http_request/http_request.cpp +7 -5
  244. esphome/components/http_request/http_request_idf.cpp +4 -2
  245. esphome/components/http_request/ota/ota_http_request.cpp +1 -1
  246. esphome/components/htu21d/htu21d.cpp +2 -2
  247. esphome/components/htu31d/htu31d.cpp +2 -2
  248. esphome/components/hx711/hx711.cpp +2 -2
  249. esphome/components/hydreon_rgxx/hydreon_rgxx.cpp +5 -3
  250. esphome/components/hyt271/hyt271.cpp +2 -2
  251. esphome/components/i2c/i2c_bus_arduino.cpp +14 -11
  252. esphome/components/i2c/i2c_bus_esp_idf.cpp +13 -11
  253. esphome/components/i2s_audio/__init__.py +2 -0
  254. esphome/components/i2s_audio/i2s_audio.cpp +3 -4
  255. esphome/components/i2s_audio/i2s_audio.h +1 -1
  256. esphome/components/i2s_audio/media_player/__init__.py +1 -1
  257. esphome/components/i2s_audio/media_player/i2s_audio_media_player.cpp +5 -3
  258. esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp +85 -77
  259. esphome/components/i2s_audio/microphone/i2s_audio_microphone.h +6 -0
  260. esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +29 -11
  261. esphome/components/i2s_audio/speaker/i2s_audio_speaker.h +1 -0
  262. esphome/components/iaqcore/iaqcore.cpp +3 -3
  263. esphome/components/ili9xxx/ili9xxx_display.cpp +12 -7
  264. esphome/components/ili9xxx/ili9xxx_display.h +1 -1
  265. esphome/components/image/image.cpp +1 -0
  266. esphome/components/ina219/ina219.cpp +2 -2
  267. esphome/components/ina226/ina226.cpp +8 -5
  268. esphome/components/ina260/ina260.cpp +1 -1
  269. esphome/components/ina2xx_base/ina2xx_base.cpp +13 -9
  270. esphome/components/ina3221/ina3221.cpp +2 -2
  271. esphome/components/inkplate6/display.py +12 -2
  272. esphome/components/inkplate6/inkplate.cpp +13 -9
  273. esphome/components/inkplate6/inkplate.h +7 -6
  274. esphome/components/integration/integration_sensor.cpp +1 -1
  275. esphome/components/internal_temperature/internal_temperature.cpp +4 -4
  276. esphome/components/json/json_util.cpp +4 -5
  277. esphome/components/kamstrup_kmp/kamstrup_kmp.cpp +1 -1
  278. esphome/components/key_collector/key_collector.cpp +4 -2
  279. esphome/components/kmeteriso/kmeteriso.cpp +4 -4
  280. esphome/components/kuntze/kuntze.cpp +4 -2
  281. esphome/components/lc709203f/__init__.py +1 -0
  282. esphome/components/lc709203f/lc709203f.cpp +299 -0
  283. esphome/components/lc709203f/lc709203f.h +55 -0
  284. esphome/components/lc709203f/sensor.py +93 -0
  285. esphome/components/lcd_base/lcd_display.cpp +2 -2
  286. esphome/components/lcd_gpio/gpio_lcd_display.cpp +5 -3
  287. esphome/components/lcd_menu/lcd_menu.cpp +6 -4
  288. esphome/components/lcd_pcf8574/pcf8574_display.cpp +6 -4
  289. esphome/components/ld2410/ld2410.cpp +6 -7
  290. esphome/components/ld2420/ld2420.cpp +9 -7
  291. esphome/components/ld2450/ld2450.cpp +6 -4
  292. esphome/components/ld2450/sensor.py +2 -2
  293. esphome/components/ledc/ledc_output.cpp +32 -28
  294. esphome/components/libretiny/const.py +1 -1
  295. esphome/components/libretiny/preferences.cpp +6 -7
  296. esphome/components/light/__init__.py +2 -1
  297. esphome/components/light/esp_hsv_color.h +1 -1
  298. esphome/components/light/light_state.cpp +9 -5
  299. esphome/components/light/light_state.h +15 -15
  300. esphome/components/light/light_transformer.h +1 -1
  301. esphome/components/lightwaverf/LwTx.cpp +1 -1
  302. esphome/components/lightwaverf/lightwaverf.cpp +1 -1
  303. esphome/components/lilygo_t5_47/touchscreen/lilygo_t5_47_touchscreen.cpp +1 -1
  304. esphome/components/lock/__init__.py +1 -0
  305. esphome/components/lock/lock.h +1 -1
  306. esphome/components/logger/__init__.py +6 -0
  307. esphome/components/logger/logger.cpp +11 -20
  308. esphome/components/logger/logger.h +5 -6
  309. esphome/components/logger/logger_esp32.cpp +5 -5
  310. esphome/components/ltr390/ltr390.cpp +8 -5
  311. esphome/components/ltr501/ltr501.cpp +19 -14
  312. esphome/components/ltr_als_ps/ltr_als_ps.cpp +20 -13
  313. esphome/components/lvgl/__init__.py +2 -2
  314. esphome/components/lvgl/automation.py +5 -4
  315. esphome/components/lvgl/defines.py +0 -2
  316. esphome/components/lvgl/lv_validation.py +1 -3
  317. esphome/components/lvgl/lvcode.py +7 -8
  318. esphome/components/lvgl/lvgl_esphome.cpp +26 -10
  319. esphome/components/lvgl/schemas.py +22 -23
  320. esphome/components/lvgl/trigger.py +8 -3
  321. esphome/components/lvgl/widgets/__init__.py +2 -2
  322. esphome/components/lvgl/widgets/canvas.py +9 -3
  323. esphome/components/lvgl/widgets/line.py +2 -1
  324. esphome/components/lvgl/widgets/tabview.py +7 -0
  325. esphome/components/m5stack_8angle/m5stack_8angle.cpp +3 -3
  326. esphome/components/matrix_keypad/matrix_keypad.cpp +2 -2
  327. esphome/components/max17043/max17043.cpp +2 -2
  328. esphome/components/max31855/max31855.cpp +2 -1
  329. esphome/components/max31856/max31856.cpp +9 -11
  330. esphome/components/max31865/max31865.cpp +6 -4
  331. esphome/components/max44009/max44009.cpp +2 -2
  332. esphome/components/max6675/max6675.cpp +1 -1
  333. esphome/components/max6956/max6956.cpp +5 -3
  334. esphome/components/max7219/max7219.cpp +8 -6
  335. esphome/components/max7219digit/automation.h +52 -0
  336. esphome/components/max7219digit/display.py +93 -1
  337. esphome/components/max7219digit/max7219digit.cpp +16 -13
  338. esphome/components/max9611/max9611.cpp +9 -6
  339. esphome/components/mcp23008/mcp23008.cpp +1 -1
  340. esphome/components/mcp23016/mcp23016.cpp +1 -1
  341. esphome/components/mcp23017/mcp23017.cpp +1 -1
  342. esphome/components/mcp23s08/mcp23s08.cpp +1 -1
  343. esphome/components/mcp23s17/mcp23s17.cpp +1 -1
  344. esphome/components/mcp3008/mcp3008.cpp +1 -1
  345. esphome/components/mcp3008/sensor/mcp3008_sensor.cpp +5 -3
  346. esphome/components/mcp3204/mcp3204.cpp +1 -1
  347. esphome/components/mcp4461/mcp4461.cpp +2 -2
  348. esphome/components/mcp4725/mcp4725.cpp +2 -2
  349. esphome/components/mcp4728/mcp4728.cpp +2 -2
  350. esphome/components/mcp9600/mcp9600.cpp +1 -1
  351. esphome/components/mcp9808/mcp9808.cpp +4 -4
  352. esphome/components/mdns/mdns_component.cpp +8 -2
  353. esphome/components/mdns/mdns_component.h +3 -1
  354. esphome/components/mdns/mdns_esp32.cpp +2 -2
  355. esphome/components/media_player/__init__.py +1 -0
  356. esphome/components/micro_wake_word/micro_wake_word.cpp +1 -1
  357. esphome/components/micro_wake_word/streaming_model.cpp +10 -6
  358. esphome/components/micronova/micronova.h +2 -2
  359. esphome/components/mics_4514/mics_4514.cpp +2 -2
  360. esphome/components/midea/air_conditioner.cpp +7 -5
  361. esphome/components/midea_ir/midea_ir.cpp +1 -1
  362. esphome/components/mipi_spi/mipi_spi.cpp +24 -15
  363. esphome/components/mixer/speaker/mixer_speaker.cpp +8 -4
  364. esphome/components/mlx90393/sensor_mlx90393.cpp +2 -2
  365. esphome/components/mlx90614/mlx90614.cpp +4 -3
  366. esphome/components/mmc5603/mmc5603.cpp +2 -2
  367. esphome/components/mmc5983/mmc5983.cpp +1 -1
  368. esphome/components/modbus/modbus.cpp +7 -5
  369. esphome/components/modbus_controller/modbus_controller.cpp +6 -4
  370. esphome/components/modbus_controller/output/modbus_output.cpp +10 -6
  371. esphome/components/modbus_controller/switch/__init__.py +6 -2
  372. esphome/components/modbus_controller/switch/modbus_switch.cpp +4 -0
  373. esphome/components/modbus_controller/switch/modbus_switch.h +3 -0
  374. esphome/components/mpl3115a2/mpl3115a2.cpp +3 -2
  375. esphome/components/mpr121/mpr121.cpp +2 -2
  376. esphome/components/mpu6050/mpu6050.cpp +6 -6
  377. esphome/components/mpu6886/mpu6886.cpp +6 -6
  378. esphome/components/mqtt/mqtt_alarm_control_panel.cpp +7 -3
  379. esphome/components/mqtt/mqtt_backend_esp32.cpp +1 -1
  380. esphome/components/mqtt/mqtt_client.cpp +31 -24
  381. esphome/components/mqtt/mqtt_component.cpp +3 -3
  382. esphome/components/mqtt/mqtt_cover.cpp +8 -4
  383. esphome/components/mqtt/mqtt_fan.cpp +12 -6
  384. esphome/components/mqtt/mqtt_valve.cpp +4 -2
  385. esphome/components/ms5611/ms5611.cpp +2 -2
  386. esphome/components/ms8607/ms8607.cpp +2 -2
  387. esphome/components/msa3xx/msa3xx.cpp +16 -12
  388. esphome/components/my9231/my9231.cpp +7 -5
  389. esphome/components/nau7802/nau7802.cpp +6 -4
  390. esphome/components/neopixelbus/neopixelbus_light.h +2 -2
  391. esphome/components/network/ip_address.h +1 -1
  392. esphome/components/network/util.cpp +13 -0
  393. esphome/components/nextion/base_component.py +2 -0
  394. esphome/components/nextion/binary_sensor/nextion_binarysensor.cpp +3 -4
  395. esphome/components/nextion/display.py +34 -22
  396. esphome/components/nextion/nextion.cpp +182 -143
  397. esphome/components/nextion/nextion.h +36 -0
  398. esphome/components/nextion/nextion_commands.cpp +3 -3
  399. esphome/components/nextion/nextion_upload_arduino.cpp +69 -69
  400. esphome/components/nextion/nextion_upload_idf.cpp +79 -80
  401. esphome/components/nextion/sensor/nextion_sensor.cpp +5 -5
  402. esphome/components/nextion/switch/nextion_switch.cpp +2 -2
  403. esphome/components/nextion/text_sensor/nextion_textsensor.cpp +3 -3
  404. esphome/components/nfc/nci_message.h +1 -1
  405. esphome/components/nfc/ndef_record.h +1 -1
  406. esphome/components/nfc/ndef_record_text.h +1 -1
  407. esphome/components/nfc/ndef_record_uri.h +1 -1
  408. esphome/components/nfc/nfc.h +1 -1
  409. esphome/components/nfc/nfc_tag.h +1 -1
  410. esphome/components/noblex/noblex.cpp +1 -1
  411. esphome/components/npi19/npi19.cpp +5 -7
  412. esphome/components/number/__init__.py +11 -0
  413. esphome/components/number/number.cpp +1 -1
  414. esphome/components/number/number.h +0 -4
  415. esphome/components/online_image/__init__.py +13 -1
  416. esphome/components/online_image/online_image.cpp +26 -4
  417. esphome/components/online_image/online_image.h +21 -4
  418. esphome/components/opentherm/generate.py +3 -3
  419. esphome/components/opentherm/hub.cpp +11 -7
  420. esphome/components/opentherm/number/number.cpp +5 -3
  421. esphome/components/opentherm/opentherm.h +1 -1
  422. esphome/components/opentherm/schema.py +13 -13
  423. esphome/components/opentherm/validate.py +1 -1
  424. esphome/components/openthread/__init__.py +146 -0
  425. esphome/components/openthread/const.py +10 -0
  426. esphome/components/openthread/openthread.cpp +206 -0
  427. esphome/components/openthread/openthread.h +68 -0
  428. esphome/components/openthread/openthread_esp.cpp +164 -0
  429. esphome/components/openthread/tlv.py +58 -0
  430. esphome/components/openthread_info/__init__.py +0 -0
  431. esphome/components/openthread_info/openthread_info_text_sensor.cpp +24 -0
  432. esphome/components/openthread_info/openthread_info_text_sensor.h +218 -0
  433. esphome/components/openthread_info/text_sensor.py +105 -0
  434. esphome/components/output/float_output.cpp +1 -1
  435. esphome/components/output/switch/output_switch.cpp +1 -1
  436. esphome/components/packet_transport/packet_transport.cpp +6 -4
  437. esphome/components/pca6416a/pca6416a.cpp +2 -2
  438. esphome/components/pca9554/pca9554.cpp +6 -4
  439. esphome/components/pca9685/pca9685_output.cpp +12 -8
  440. esphome/components/pcd8544/pcd_8544.cpp +1 -1
  441. esphome/components/pcf85063/pcf85063.cpp +2 -2
  442. esphome/components/pcf8563/pcf8563.cpp +2 -2
  443. esphome/components/pcf8574/pcf8574.cpp +2 -2
  444. esphome/components/pid/pid_climate.cpp +8 -5
  445. esphome/components/pid/pid_climate.h +1 -1
  446. esphome/components/pid/sensor/pid_climate_sensor.cpp +1 -1
  447. esphome/components/pipsolar/output/pipsolar_output.cpp +1 -1
  448. esphome/components/pipsolar/pipsolar.cpp +3 -3
  449. esphome/components/pm1006/pm1006.cpp +3 -7
  450. esphome/components/pm1006/pm1006.h +4 -1
  451. esphome/components/pm2005/pm2005.cpp +12 -13
  452. esphome/components/pm2005/sensor.py +1 -1
  453. esphome/components/pmsa003i/pmsa003i.cpp +2 -2
  454. esphome/components/pmsx003/pmsx003.cpp +0 -4
  455. esphome/components/pmsx003/pmsx003.h +5 -2
  456. esphome/components/pmwcs3/pmwcs3.cpp +9 -13
  457. esphome/components/pmwcs3/pmwcs3.h +0 -1
  458. esphome/components/pn532/pn532.cpp +7 -7
  459. esphome/components/pn532/pn532.h +1 -1
  460. esphome/components/pn532_spi/pn532_spi.cpp +1 -1
  461. esphome/components/pn7150/pn7150.cpp +4 -4
  462. esphome/components/pn7160/pn7160.cpp +4 -4
  463. esphome/components/power_supply/power_supply.cpp +6 -4
  464. esphome/components/power_supply/power_supply.h +1 -1
  465. esphome/components/prometheus/__init__.py +0 -1
  466. esphome/components/psram/__init__.py +59 -35
  467. esphome/components/pulse_counter/pulse_counter_sensor.cpp +7 -4
  468. esphome/components/pvvx_mithermometer/display/pvvx_display.cpp +8 -5
  469. esphome/components/pylontech/pylontech.cpp +2 -2
  470. esphome/components/pylontech/sensor/pylontech_sensor.cpp +4 -2
  471. esphome/components/pylontech/text_sensor/pylontech_text_sensor.cpp +4 -2
  472. esphome/components/pzemac/pzemac.cpp +4 -2
  473. esphome/components/pzemdc/pzemdc.cpp +4 -2
  474. esphome/components/qmc5883l/qmc5883l.cpp +2 -2
  475. esphome/components/qmp6988/qmp6988.cpp +2 -2
  476. esphome/components/qmp6988/qmp6988.h +1 -1
  477. esphome/components/qr_code/qr_code.cpp +5 -3
  478. esphome/components/qspi_dbi/qspi_dbi.cpp +1 -1
  479. esphome/components/qwiic_pir/qwiic_pir.cpp +26 -28
  480. esphome/components/rc522/rc522.cpp +5 -5
  481. esphome/components/rdm6300/rdm6300.cpp +1 -0
  482. esphome/components/remote_receiver/__init__.py +10 -2
  483. esphome/components/remote_receiver/remote_receiver_esp32.cpp +22 -12
  484. esphome/components/remote_receiver/remote_receiver_esp8266.cpp +10 -7
  485. esphome/components/remote_receiver/remote_receiver_libretiny.cpp +10 -7
  486. esphome/components/remote_transmitter/__init__.py +10 -2
  487. esphome/components/remote_transmitter/remote_transmitter_esp32.cpp +10 -6
  488. esphome/components/remote_transmitter/remote_transmitter_esp8266.cpp +5 -3
  489. esphome/components/remote_transmitter/remote_transmitter_libretiny.cpp +5 -3
  490. esphome/components/resistance/resistance_sensor.cpp +6 -3
  491. esphome/components/restart/button/restart_button.cpp +1 -1
  492. esphome/components/restart/switch/restart_switch.cpp +1 -1
  493. esphome/components/rotary_encoder/rotary_encoder.cpp +2 -2
  494. esphome/components/rp2040/__init__.py +7 -0
  495. esphome/components/rp2040/core.cpp +8 -1
  496. esphome/components/rp2040/gpio.cpp +26 -9
  497. esphome/components/rp2040/preferences.cpp +3 -3
  498. esphome/components/rp2040_pio_led_strip/led_strip.cpp +11 -8
  499. esphome/components/rp2040_pio_led_strip/light.py +1 -1
  500. esphome/components/rp2040_pwm/rp2040_pwm.cpp +1 -1
  501. esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.cpp +1 -1
  502. esphome/components/rtttl/rtttl.cpp +11 -9
  503. esphome/components/safe_mode/button/safe_mode_button.cpp +1 -1
  504. esphome/components/safe_mode/safe_mode.cpp +9 -8
  505. esphome/components/safe_mode/switch/safe_mode_switch.cpp +1 -1
  506. esphome/components/scd30/scd30.cpp +11 -8
  507. esphome/components/scd4x/scd4x.cpp +12 -8
  508. esphome/components/sdl/display.py +40 -0
  509. esphome/components/sdl/sdl_esphome.cpp +2 -2
  510. esphome/components/sdl/sdl_esphome.h +8 -0
  511. esphome/components/sdm_meter/sdm_meter.cpp +5 -2
  512. esphome/components/sdp3x/sdp3x.cpp +11 -11
  513. esphome/components/sds011/sds011.cpp +5 -6
  514. esphome/components/sds011/sds011.h +4 -1
  515. esphome/components/seeed_mr24hpc1/seeed_mr24hpc1.cpp +3 -2
  516. esphome/components/seeed_mr60bha2/seeed_mr60bha2.cpp +1 -0
  517. esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp +3 -2
  518. esphome/components/selec_meter/selec_meter.cpp +5 -2
  519. esphome/components/select/__init__.py +1 -0
  520. esphome/components/select/select.cpp +1 -1
  521. esphome/components/select/select.h +0 -4
  522. esphome/components/sen0321/sen0321.cpp +2 -2
  523. esphome/components/sen21231/sen21231.cpp +1 -1
  524. esphome/components/sen5x/sen5x.cpp +10 -7
  525. esphome/components/sensirion_common/i2c_sensirion.cpp +2 -1
  526. esphome/components/sensirion_common/i2c_sensirion.h +1 -0
  527. esphome/components/sensor/__init__.py +11 -1
  528. esphome/components/sensor/filter.h +1 -1
  529. esphome/components/sensor/sensor.cpp +8 -4
  530. esphome/components/sensor/sensor.h +12 -11
  531. esphome/components/servo/servo.cpp +12 -9
  532. esphome/components/servo/servo.h +1 -1
  533. esphome/components/sfa30/sfa30.cpp +1 -1
  534. esphome/components/sgp30/sgp30.cpp +10 -8
  535. esphome/components/sgp4x/sgp4x.cpp +49 -61
  536. esphome/components/sgp4x/sgp4x.h +0 -1
  537. esphome/components/shelly_dimmer/shelly_dimmer.cpp +11 -7
  538. esphome/components/sht3xd/sht3xd.cpp +1 -1
  539. esphome/components/sht4x/sht4x.cpp +2 -2
  540. esphome/components/shtcx/shtcx.cpp +13 -16
  541. esphome/components/shutdown/button/shutdown_button.cpp +1 -1
  542. esphome/components/shutdown/switch/shutdown_switch.cpp +1 -1
  543. esphome/components/sim800l/sim800l.cpp +2 -2
  544. esphome/components/slow_pwm/slow_pwm_output.cpp +4 -2
  545. esphome/components/sm16716/sm16716.cpp +1 -1
  546. esphome/components/sm2135/sm2135.cpp +1 -1
  547. esphome/components/sm2235/sm2235.cpp +5 -3
  548. esphome/components/sm2335/sm2335.cpp +5 -3
  549. esphome/components/sml/sml.cpp +1 -1
  550. esphome/components/sn74hc165/sn74hc165.cpp +1 -2
  551. esphome/components/sn74hc595/sn74hc595.cpp +1 -2
  552. esphome/components/sntp/sntp_component.cpp +1 -1
  553. esphome/components/socket/__init__.py +2 -0
  554. esphome/components/socket/bsd_sockets_impl.cpp +51 -7
  555. esphome/components/socket/lwip_raw_tcp_impl.cpp +5 -0
  556. esphome/components/socket/lwip_sockets_impl.cpp +51 -7
  557. esphome/components/socket/socket.cpp +31 -0
  558. esphome/components/socket/socket.h +27 -1
  559. esphome/components/sonoff_d1/sonoff_d1.cpp +7 -4
  560. esphome/components/sonoff_d1/sonoff_d1.h +2 -2
  561. esphome/components/sound_level/sound_level.cpp +4 -2
  562. esphome/components/speaker/media_player/__init__.py +3 -0
  563. esphome/components/speaker/media_player/speaker_media_player.cpp +1 -3
  564. esphome/components/speaker/media_player/speaker_media_player.h +6 -0
  565. esphome/components/spi/__init__.py +10 -2
  566. esphome/components/spi/spi.cpp +4 -4
  567. esphome/components/spi/spi_arduino.cpp +22 -9
  568. esphome/components/spi_device/spi_device.cpp +1 -2
  569. esphome/components/sprinkler/sprinkler.cpp +9 -6
  570. esphome/components/sps30/sps30.cpp +16 -15
  571. esphome/components/ssd1306_base/ssd1306_base.cpp +1 -1
  572. esphome/components/ssd1306_i2c/ssd1306_i2c.cpp +11 -8
  573. esphome/components/ssd1306_spi/ssd1306_spi.cpp +10 -7
  574. esphome/components/ssd1322_base/ssd1322_base.cpp +1 -1
  575. esphome/components/ssd1322_spi/ssd1322_spi.cpp +1 -1
  576. esphome/components/ssd1325_base/ssd1325_base.cpp +1 -1
  577. esphome/components/ssd1325_spi/ssd1325_spi.cpp +1 -1
  578. esphome/components/ssd1327_base/ssd1327_base.cpp +1 -1
  579. esphome/components/ssd1327_i2c/ssd1327_i2c.cpp +2 -2
  580. esphome/components/ssd1327_spi/ssd1327_spi.cpp +1 -1
  581. esphome/components/ssd1331_base/ssd1331_base.cpp +1 -1
  582. esphome/components/ssd1331_spi/ssd1331_spi.cpp +1 -1
  583. esphome/components/ssd1351_base/ssd1351_base.cpp +1 -1
  584. esphome/components/ssd1351_spi/ssd1351_spi.cpp +1 -1
  585. esphome/components/st7567_base/st7567_base.cpp +3 -3
  586. esphome/components/st7567_i2c/st7567_i2c.cpp +7 -5
  587. esphome/components/st7567_spi/st7567_spi.cpp +1 -1
  588. esphome/components/st7701s/st7701s.cpp +4 -2
  589. esphome/components/st7735/st7735.cpp +3 -3
  590. esphome/components/st7789v/st7789v.cpp +10 -7
  591. esphome/components/st7920/st7920.cpp +6 -4
  592. esphome/components/statsd/statsd.cpp +9 -5
  593. esphome/components/status_led/light/status_led_light.cpp +3 -3
  594. esphome/components/status_led/light/status_led_light.h +1 -1
  595. esphome/components/status_led/status_led.cpp +1 -1
  596. esphome/components/stepper/stepper.h +5 -3
  597. esphome/components/sts3x/sts3x.cpp +2 -2
  598. esphome/components/switch/__init__.py +1 -0
  599. esphome/components/switch/switch.cpp +18 -12
  600. esphome/components/switch/switch.h +14 -8
  601. esphome/components/sx1509/__init__.py +53 -20
  602. esphome/components/sx1509/sx1509.cpp +29 -5
  603. esphome/components/sx1509/sx1509.h +9 -1
  604. esphome/components/t6615/t6615.cpp +1 -0
  605. esphome/components/tc74/tc74.cpp +1 -1
  606. esphome/components/tca9548a/tca9548a.cpp +1 -1
  607. esphome/components/tca9555/tca9555.cpp +2 -2
  608. esphome/components/tcs34725/tcs34725.cpp +4 -4
  609. esphome/components/tee501/tee501.cpp +3 -2
  610. esphome/components/tem3200/tem3200.cpp +5 -6
  611. esphome/components/template/alarm_control_panel/__init__.py +6 -0
  612. esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp +43 -12
  613. esphome/components/template/alarm_control_panel/template_alarm_control_panel.h +4 -1
  614. esphome/components/template/cover/template_cover.cpp +1 -1
  615. esphome/components/template/select/template_select.cpp +6 -4
  616. esphome/components/template/text/template_text.cpp +2 -3
  617. esphome/components/template/valve/template_valve.cpp +5 -3
  618. esphome/components/text/__init__.py +10 -11
  619. esphome/components/text/text.cpp +1 -1
  620. esphome/components/text/text.h +0 -4
  621. esphome/components/text_sensor/__init__.py +1 -0
  622. esphome/components/text_sensor/text_sensor.cpp +8 -4
  623. esphome/components/text_sensor/text_sensor.h +6 -6
  624. esphome/components/thermostat/thermostat_climate.cpp +67 -43
  625. esphome/components/time/__init__.py +1 -2
  626. esphome/components/time_based/time_based_cover.cpp +4 -2
  627. esphome/components/tlc59208f/tlc59208f_output.cpp +8 -6
  628. esphome/components/tm1621/tm1621.cpp +3 -3
  629. esphome/components/tm1637/tm1637.cpp +9 -7
  630. esphome/components/tm1638/tm1638.cpp +7 -5
  631. esphome/components/tm1651/tm1651.cpp +2 -2
  632. esphome/components/tmp102/tmp102.cpp +1 -3
  633. esphome/components/tmp102/tmp102.h +0 -3
  634. esphome/components/tmp1075/tmp1075.cpp +12 -9
  635. esphome/components/tmp117/tmp117.cpp +2 -2
  636. esphome/components/tof10120/tof10120_sensor.cpp +2 -2
  637. esphome/components/tormatic/tormatic_cover.cpp +4 -2
  638. esphome/components/tsl2561/tsl2561.cpp +7 -5
  639. esphome/components/tsl2591/tsl2591.cpp +25 -27
  640. esphome/components/tt21100/touchscreen/tt21100.cpp +1 -1
  641. esphome/components/ttp229_bsf/ttp229_bsf.cpp +1 -1
  642. esphome/components/ttp229_lsf/ttp229_lsf.cpp +2 -2
  643. esphome/components/tuya/select/tuya_select.cpp +5 -3
  644. esphome/components/tx20/tx20.cpp +3 -3
  645. esphome/components/uart/__init__.py +4 -5
  646. esphome/components/uart/button/uart_button.cpp +1 -1
  647. esphome/components/uart/switch/uart_switch.cpp +2 -2
  648. esphome/components/uart/uart.cpp +2 -2
  649. esphome/components/uart/uart_component_esp32_arduino.cpp +8 -6
  650. esphome/components/uart/uart_component_esp8266.cpp +9 -7
  651. esphome/components/uart/uart_component_esp_idf.cpp +9 -7
  652. esphome/components/uart/uart_component_host.cpp +11 -8
  653. esphome/components/uart/uart_component_libretiny.cpp +8 -6
  654. esphome/components/uart/uart_component_rp2040.cpp +8 -6
  655. esphome/components/udp/udp_component.cpp +9 -5
  656. esphome/components/ufire_ec/ufire_ec.cpp +5 -3
  657. esphome/components/ufire_ise/ufire_ise.cpp +1 -1
  658. esphome/components/ultrasonic/ultrasonic_sensor.cpp +5 -3
  659. esphome/components/update/__init__.py +1 -0
  660. esphome/components/update/update_entity.cpp +1 -1
  661. esphome/components/update/update_entity.h +0 -3
  662. esphome/components/uponor_smatrix/climate/uponor_smatrix_climate.cpp +1 -1
  663. esphome/components/uponor_smatrix/sensor/uponor_smatrix_sensor.cpp +4 -2
  664. esphome/components/uponor_smatrix/uponor_smatrix.cpp +2 -1
  665. esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp +1 -1
  666. esphome/components/usb_host/__init__.py +64 -0
  667. esphome/components/usb_host/usb_host.h +116 -0
  668. esphome/components/usb_host/usb_host_client.cpp +394 -0
  669. esphome/components/usb_host/usb_host_component.cpp +35 -0
  670. esphome/components/usb_uart/__init__.py +134 -0
  671. esphome/components/usb_uart/ch34x.cpp +80 -0
  672. esphome/components/usb_uart/cp210x.cpp +126 -0
  673. esphome/components/usb_uart/usb_uart.cpp +328 -0
  674. esphome/components/usb_uart/usb_uart.h +151 -0
  675. esphome/components/valve/__init__.py +1 -0
  676. esphome/components/veml3235/veml3235.cpp +13 -9
  677. esphome/components/veml7700/veml7700.cpp +10 -6
  678. esphome/components/voice_assistant/voice_assistant.cpp +7 -7
  679. esphome/components/wake_on_lan/wake_on_lan.cpp +1 -1
  680. esphome/components/waveshare_epaper/waveshare_epaper.cpp +1 -1
  681. esphome/components/web_server/server_index_v2.h +632 -630
  682. esphome/components/web_server/server_index_v3.h +411 -409
  683. esphome/components/web_server/web_server.cpp +5 -3
  684. esphome/components/web_server_base/web_server_base.cpp +1 -1
  685. esphome/components/web_server_idf/__init__.py +0 -2
  686. esphome/components/web_server_idf/utils.cpp +1 -1
  687. esphome/components/web_server_idf/web_server_idf.cpp +7 -3
  688. esphome/components/web_server_idf/web_server_idf.h +7 -0
  689. esphome/components/weikai/__init__.py +2 -0
  690. esphome/components/weikai/weikai.cpp +24 -22
  691. esphome/components/weikai_i2c/weikai_i2c.cpp +14 -9
  692. esphome/components/weikai_spi/weikai_spi.cpp +11 -6
  693. esphome/components/wiegand/wiegand.cpp +1 -1
  694. esphome/components/wifi/wifi_component.cpp +50 -37
  695. esphome/components/wifi/wifi_component.h +7 -4
  696. esphome/components/wifi/wifi_component_esp32_arduino.cpp +2 -2
  697. esphome/components/wifi/wifi_component_esp8266.cpp +3 -3
  698. esphome/components/wifi/wifi_component_libretiny.cpp +4 -4
  699. esphome/components/wireguard/wireguard.cpp +21 -21
  700. esphome/components/wl_134/text_sensor.py +1 -2
  701. esphome/components/wled/wled_light_effect.cpp +1 -1
  702. esphome/components/x9c/x9c.cpp +5 -3
  703. esphome/components/xgzp68xx/xgzp68xx.cpp +8 -6
  704. esphome/components/xiaomi_cgd1/xiaomi_cgd1.cpp +4 -2
  705. esphome/components/xiaomi_cgdk2/xiaomi_cgdk2.cpp +4 -2
  706. esphome/components/xiaomi_cgg1/xiaomi_cgg1.cpp +4 -2
  707. esphome/components/xiaomi_hhccjcy10/xiaomi_hhccjcy10.cpp +1 -1
  708. esphome/components/xiaomi_lywsd02mmc/xiaomi_lywsd02mmc.cpp +4 -2
  709. esphome/components/xiaomi_lywsd03mmc/xiaomi_lywsd03mmc.cpp +4 -2
  710. esphome/components/xiaomi_mhoc401/xiaomi_mhoc401.cpp +4 -2
  711. esphome/components/xl9535/xl9535.cpp +2 -2
  712. esphome/components/xpt2046/touchscreen/xpt2046.cpp +12 -11
  713. esphome/components/xpt2046/touchscreen/xpt2046.h +2 -2
  714. esphome/config.py +3 -2
  715. esphome/config_validation.py +46 -17
  716. esphome/const.py +10 -1
  717. esphome/core/__init__.py +37 -18
  718. esphome/core/application.cpp +197 -8
  719. esphome/core/application.h +116 -6
  720. esphome/core/component.cpp +36 -15
  721. esphome/core/component.h +43 -13
  722. esphome/core/config.py +12 -0
  723. esphome/core/defines.h +10 -2
  724. esphome/core/entity_base.cpp +4 -16
  725. esphome/core/entity_base.h +27 -13
  726. esphome/core/hal.h +5 -0
  727. esphome/core/helpers.cpp +1 -1
  728. esphome/core/helpers.h +5 -5
  729. esphome/core/log.h +2 -0
  730. esphome/core/log_const_en.h +4 -0
  731. esphome/core/scheduler.cpp +2 -2
  732. esphome/coroutine.py +3 -4
  733. esphome/cpp_generator.py +32 -32
  734. esphome/dashboard/core.py +2 -2
  735. esphome/dashboard/web_server.py +2 -2
  736. esphome/git.py +4 -4
  737. esphome/helpers.py +5 -6
  738. esphome/loader.py +8 -7
  739. esphome/log.py +7 -1
  740. esphome/platformio_api.py +2 -3
  741. esphome/storage_json.py +13 -5
  742. esphome/types.py +12 -13
  743. esphome/util.py +1 -2
  744. esphome/wizard.py +0 -16
  745. esphome/writer.py +5 -3
  746. esphome/yaml_util.py +6 -1
  747. esphome/zeroconf.py +1 -1
  748. {esphome-2025.5.1.dist-info → esphome-2025.6.0.dist-info}/METADATA +12 -11
  749. {esphome-2025.5.1.dist-info → esphome-2025.6.0.dist-info}/RECORD +753 -699
  750. {esphome-2025.5.1.dist-info → esphome-2025.6.0.dist-info}/WHEEL +1 -1
  751. {esphome-2025.5.1.dist-info → esphome-2025.6.0.dist-info}/entry_points.txt +0 -0
  752. {esphome-2025.5.1.dist-info → esphome-2025.6.0.dist-info}/licenses/LICENSE +0 -0
  753. {esphome-2025.5.1.dist-info → esphome-2025.6.0.dist-info}/top_level.txt +0 -0
@@ -41,7 +41,8 @@ enum FanDirection : uint32_t {
41
41
  enum ColorMode : uint32_t {
42
42
  COLOR_MODE_UNKNOWN = 0,
43
43
  COLOR_MODE_ON_OFF = 1,
44
- COLOR_MODE_BRIGHTNESS = 2,
44
+ COLOR_MODE_LEGACY_BRIGHTNESS = 2,
45
+ COLOR_MODE_BRIGHTNESS = 3,
45
46
  COLOR_MODE_WHITE = 7,
46
47
  COLOR_MODE_COLOR_TEMPERATURE = 11,
47
48
  COLOR_MODE_COLD_WARM_WHITE = 19,
@@ -207,6 +208,7 @@ enum VoiceAssistantEvent : uint32_t {
207
208
  VOICE_ASSISTANT_STT_VAD_END = 12,
208
209
  VOICE_ASSISTANT_TTS_STREAM_START = 98,
209
210
  VOICE_ASSISTANT_TTS_STREAM_END = 99,
211
+ VOICE_ASSISTANT_INTENT_PROGRESS = 100,
210
212
  };
211
213
  enum VoiceAssistantTimerEvent : uint32_t {
212
214
  VOICE_ASSISTANT_TIMER_STARTED = 0,
@@ -252,8 +254,34 @@ enum UpdateCommand : uint32_t {
252
254
 
253
255
  } // namespace enums
254
256
 
257
+ class InfoResponseProtoMessage : public ProtoMessage {
258
+ public:
259
+ ~InfoResponseProtoMessage() override = default;
260
+ std::string object_id{};
261
+ uint32_t key{0};
262
+ std::string name{};
263
+ std::string unique_id{};
264
+ bool disabled_by_default{false};
265
+ std::string icon{};
266
+ enums::EntityCategory entity_category{};
267
+
268
+ protected:
269
+ };
270
+
271
+ class StateResponseProtoMessage : public ProtoMessage {
272
+ public:
273
+ ~StateResponseProtoMessage() override = default;
274
+ uint32_t key{0};
275
+
276
+ protected:
277
+ };
255
278
  class HelloRequest : public ProtoMessage {
256
279
  public:
280
+ static constexpr uint16_t MESSAGE_TYPE = 1;
281
+ static constexpr uint16_t ESTIMATED_SIZE = 17;
282
+ #ifdef HAS_PROTO_MESSAGE_DUMP
283
+ static constexpr const char *message_name() { return "hello_request"; }
284
+ #endif
257
285
  std::string client_info{};
258
286
  uint32_t api_version_major{0};
259
287
  uint32_t api_version_minor{0};
@@ -269,6 +297,11 @@ class HelloRequest : public ProtoMessage {
269
297
  };
270
298
  class HelloResponse : public ProtoMessage {
271
299
  public:
300
+ static constexpr uint16_t MESSAGE_TYPE = 2;
301
+ static constexpr uint16_t ESTIMATED_SIZE = 26;
302
+ #ifdef HAS_PROTO_MESSAGE_DUMP
303
+ static constexpr const char *message_name() { return "hello_response"; }
304
+ #endif
272
305
  uint32_t api_version_major{0};
273
306
  uint32_t api_version_minor{0};
274
307
  std::string server_info{};
@@ -285,6 +318,11 @@ class HelloResponse : public ProtoMessage {
285
318
  };
286
319
  class ConnectRequest : public ProtoMessage {
287
320
  public:
321
+ static constexpr uint16_t MESSAGE_TYPE = 3;
322
+ static constexpr uint16_t ESTIMATED_SIZE = 9;
323
+ #ifdef HAS_PROTO_MESSAGE_DUMP
324
+ static constexpr const char *message_name() { return "connect_request"; }
325
+ #endif
288
326
  std::string password{};
289
327
  void encode(ProtoWriteBuffer buffer) const override;
290
328
  void calculate_size(uint32_t &total_size) const override;
@@ -297,6 +335,11 @@ class ConnectRequest : public ProtoMessage {
297
335
  };
298
336
  class ConnectResponse : public ProtoMessage {
299
337
  public:
338
+ static constexpr uint16_t MESSAGE_TYPE = 4;
339
+ static constexpr uint16_t ESTIMATED_SIZE = 2;
340
+ #ifdef HAS_PROTO_MESSAGE_DUMP
341
+ static constexpr const char *message_name() { return "connect_response"; }
342
+ #endif
300
343
  bool invalid_password{false};
301
344
  void encode(ProtoWriteBuffer buffer) const override;
302
345
  void calculate_size(uint32_t &total_size) const override;
@@ -309,6 +352,11 @@ class ConnectResponse : public ProtoMessage {
309
352
  };
310
353
  class DisconnectRequest : public ProtoMessage {
311
354
  public:
355
+ static constexpr uint16_t MESSAGE_TYPE = 5;
356
+ static constexpr uint16_t ESTIMATED_SIZE = 0;
357
+ #ifdef HAS_PROTO_MESSAGE_DUMP
358
+ static constexpr const char *message_name() { return "disconnect_request"; }
359
+ #endif
312
360
  void encode(ProtoWriteBuffer buffer) const override;
313
361
  void calculate_size(uint32_t &total_size) const override;
314
362
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -319,6 +367,11 @@ class DisconnectRequest : public ProtoMessage {
319
367
  };
320
368
  class DisconnectResponse : public ProtoMessage {
321
369
  public:
370
+ static constexpr uint16_t MESSAGE_TYPE = 6;
371
+ static constexpr uint16_t ESTIMATED_SIZE = 0;
372
+ #ifdef HAS_PROTO_MESSAGE_DUMP
373
+ static constexpr const char *message_name() { return "disconnect_response"; }
374
+ #endif
322
375
  void encode(ProtoWriteBuffer buffer) const override;
323
376
  void calculate_size(uint32_t &total_size) const override;
324
377
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -329,6 +382,11 @@ class DisconnectResponse : public ProtoMessage {
329
382
  };
330
383
  class PingRequest : public ProtoMessage {
331
384
  public:
385
+ static constexpr uint16_t MESSAGE_TYPE = 7;
386
+ static constexpr uint16_t ESTIMATED_SIZE = 0;
387
+ #ifdef HAS_PROTO_MESSAGE_DUMP
388
+ static constexpr const char *message_name() { return "ping_request"; }
389
+ #endif
332
390
  void encode(ProtoWriteBuffer buffer) const override;
333
391
  void calculate_size(uint32_t &total_size) const override;
334
392
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -339,6 +397,11 @@ class PingRequest : public ProtoMessage {
339
397
  };
340
398
  class PingResponse : public ProtoMessage {
341
399
  public:
400
+ static constexpr uint16_t MESSAGE_TYPE = 8;
401
+ static constexpr uint16_t ESTIMATED_SIZE = 0;
402
+ #ifdef HAS_PROTO_MESSAGE_DUMP
403
+ static constexpr const char *message_name() { return "ping_response"; }
404
+ #endif
342
405
  void encode(ProtoWriteBuffer buffer) const override;
343
406
  void calculate_size(uint32_t &total_size) const override;
344
407
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -349,6 +412,11 @@ class PingResponse : public ProtoMessage {
349
412
  };
350
413
  class DeviceInfoRequest : public ProtoMessage {
351
414
  public:
415
+ static constexpr uint16_t MESSAGE_TYPE = 9;
416
+ static constexpr uint16_t ESTIMATED_SIZE = 0;
417
+ #ifdef HAS_PROTO_MESSAGE_DUMP
418
+ static constexpr const char *message_name() { return "device_info_request"; }
419
+ #endif
352
420
  void encode(ProtoWriteBuffer buffer) const override;
353
421
  void calculate_size(uint32_t &total_size) const override;
354
422
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -359,6 +427,11 @@ class DeviceInfoRequest : public ProtoMessage {
359
427
  };
360
428
  class DeviceInfoResponse : public ProtoMessage {
361
429
  public:
430
+ static constexpr uint16_t MESSAGE_TYPE = 10;
431
+ static constexpr uint16_t ESTIMATED_SIZE = 129;
432
+ #ifdef HAS_PROTO_MESSAGE_DUMP
433
+ static constexpr const char *message_name() { return "device_info_response"; }
434
+ #endif
362
435
  bool uses_password{false};
363
436
  std::string name{};
364
437
  std::string mac_address{};
@@ -390,6 +463,11 @@ class DeviceInfoResponse : public ProtoMessage {
390
463
  };
391
464
  class ListEntitiesRequest : public ProtoMessage {
392
465
  public:
466
+ static constexpr uint16_t MESSAGE_TYPE = 11;
467
+ static constexpr uint16_t ESTIMATED_SIZE = 0;
468
+ #ifdef HAS_PROTO_MESSAGE_DUMP
469
+ static constexpr const char *message_name() { return "list_entities_request"; }
470
+ #endif
393
471
  void encode(ProtoWriteBuffer buffer) const override;
394
472
  void calculate_size(uint32_t &total_size) const override;
395
473
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -400,6 +478,11 @@ class ListEntitiesRequest : public ProtoMessage {
400
478
  };
401
479
  class ListEntitiesDoneResponse : public ProtoMessage {
402
480
  public:
481
+ static constexpr uint16_t MESSAGE_TYPE = 19;
482
+ static constexpr uint16_t ESTIMATED_SIZE = 0;
483
+ #ifdef HAS_PROTO_MESSAGE_DUMP
484
+ static constexpr const char *message_name() { return "list_entities_done_response"; }
485
+ #endif
403
486
  void encode(ProtoWriteBuffer buffer) const override;
404
487
  void calculate_size(uint32_t &total_size) const override;
405
488
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -410,6 +493,11 @@ class ListEntitiesDoneResponse : public ProtoMessage {
410
493
  };
411
494
  class SubscribeStatesRequest : public ProtoMessage {
412
495
  public:
496
+ static constexpr uint16_t MESSAGE_TYPE = 20;
497
+ static constexpr uint16_t ESTIMATED_SIZE = 0;
498
+ #ifdef HAS_PROTO_MESSAGE_DUMP
499
+ static constexpr const char *message_name() { return "subscribe_states_request"; }
500
+ #endif
413
501
  void encode(ProtoWriteBuffer buffer) const override;
414
502
  void calculate_size(uint32_t &total_size) const override;
415
503
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -418,17 +506,15 @@ class SubscribeStatesRequest : public ProtoMessage {
418
506
 
419
507
  protected:
420
508
  };
421
- class ListEntitiesBinarySensorResponse : public ProtoMessage {
509
+ class ListEntitiesBinarySensorResponse : public InfoResponseProtoMessage {
422
510
  public:
423
- std::string object_id{};
424
- uint32_t key{0};
425
- std::string name{};
426
- std::string unique_id{};
511
+ static constexpr uint16_t MESSAGE_TYPE = 12;
512
+ static constexpr uint16_t ESTIMATED_SIZE = 56;
513
+ #ifdef HAS_PROTO_MESSAGE_DUMP
514
+ static constexpr const char *message_name() { return "list_entities_binary_sensor_response"; }
515
+ #endif
427
516
  std::string device_class{};
428
517
  bool is_status_binary_sensor{false};
429
- bool disabled_by_default{false};
430
- std::string icon{};
431
- enums::EntityCategory entity_category{};
432
518
  void encode(ProtoWriteBuffer buffer) const override;
433
519
  void calculate_size(uint32_t &total_size) const override;
434
520
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -440,9 +526,13 @@ class ListEntitiesBinarySensorResponse : public ProtoMessage {
440
526
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
441
527
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
442
528
  };
443
- class BinarySensorStateResponse : public ProtoMessage {
529
+ class BinarySensorStateResponse : public StateResponseProtoMessage {
444
530
  public:
445
- uint32_t key{0};
531
+ static constexpr uint16_t MESSAGE_TYPE = 21;
532
+ static constexpr uint16_t ESTIMATED_SIZE = 9;
533
+ #ifdef HAS_PROTO_MESSAGE_DUMP
534
+ static constexpr const char *message_name() { return "binary_sensor_state_response"; }
535
+ #endif
446
536
  bool state{false};
447
537
  bool missing_state{false};
448
538
  void encode(ProtoWriteBuffer buffer) const override;
@@ -455,19 +545,17 @@ class BinarySensorStateResponse : public ProtoMessage {
455
545
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
456
546
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
457
547
  };
458
- class ListEntitiesCoverResponse : public ProtoMessage {
548
+ class ListEntitiesCoverResponse : public InfoResponseProtoMessage {
459
549
  public:
460
- std::string object_id{};
461
- uint32_t key{0};
462
- std::string name{};
463
- std::string unique_id{};
550
+ static constexpr uint16_t MESSAGE_TYPE = 13;
551
+ static constexpr uint16_t ESTIMATED_SIZE = 62;
552
+ #ifdef HAS_PROTO_MESSAGE_DUMP
553
+ static constexpr const char *message_name() { return "list_entities_cover_response"; }
554
+ #endif
464
555
  bool assumed_state{false};
465
556
  bool supports_position{false};
466
557
  bool supports_tilt{false};
467
558
  std::string device_class{};
468
- bool disabled_by_default{false};
469
- std::string icon{};
470
- enums::EntityCategory entity_category{};
471
559
  bool supports_stop{false};
472
560
  void encode(ProtoWriteBuffer buffer) const override;
473
561
  void calculate_size(uint32_t &total_size) const override;
@@ -480,9 +568,13 @@ class ListEntitiesCoverResponse : public ProtoMessage {
480
568
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
481
569
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
482
570
  };
483
- class CoverStateResponse : public ProtoMessage {
571
+ class CoverStateResponse : public StateResponseProtoMessage {
484
572
  public:
485
- uint32_t key{0};
573
+ static constexpr uint16_t MESSAGE_TYPE = 22;
574
+ static constexpr uint16_t ESTIMATED_SIZE = 19;
575
+ #ifdef HAS_PROTO_MESSAGE_DUMP
576
+ static constexpr const char *message_name() { return "cover_state_response"; }
577
+ #endif
486
578
  enums::LegacyCoverState legacy_state{};
487
579
  float position{0.0f};
488
580
  float tilt{0.0f};
@@ -499,6 +591,11 @@ class CoverStateResponse : public ProtoMessage {
499
591
  };
500
592
  class CoverCommandRequest : public ProtoMessage {
501
593
  public:
594
+ static constexpr uint16_t MESSAGE_TYPE = 30;
595
+ static constexpr uint16_t ESTIMATED_SIZE = 25;
596
+ #ifdef HAS_PROTO_MESSAGE_DUMP
597
+ static constexpr const char *message_name() { return "cover_command_request"; }
598
+ #endif
502
599
  uint32_t key{0};
503
600
  bool has_legacy_command{false};
504
601
  enums::LegacyCoverCommand legacy_command{};
@@ -517,19 +614,17 @@ class CoverCommandRequest : public ProtoMessage {
517
614
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
518
615
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
519
616
  };
520
- class ListEntitiesFanResponse : public ProtoMessage {
617
+ class ListEntitiesFanResponse : public InfoResponseProtoMessage {
521
618
  public:
522
- std::string object_id{};
523
- uint32_t key{0};
524
- std::string name{};
525
- std::string unique_id{};
619
+ static constexpr uint16_t MESSAGE_TYPE = 14;
620
+ static constexpr uint16_t ESTIMATED_SIZE = 73;
621
+ #ifdef HAS_PROTO_MESSAGE_DUMP
622
+ static constexpr const char *message_name() { return "list_entities_fan_response"; }
623
+ #endif
526
624
  bool supports_oscillation{false};
527
625
  bool supports_speed{false};
528
626
  bool supports_direction{false};
529
627
  int32_t supported_speed_count{0};
530
- bool disabled_by_default{false};
531
- std::string icon{};
532
- enums::EntityCategory entity_category{};
533
628
  std::vector<std::string> supported_preset_modes{};
534
629
  void encode(ProtoWriteBuffer buffer) const override;
535
630
  void calculate_size(uint32_t &total_size) const override;
@@ -542,9 +637,13 @@ class ListEntitiesFanResponse : public ProtoMessage {
542
637
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
543
638
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
544
639
  };
545
- class FanStateResponse : public ProtoMessage {
640
+ class FanStateResponse : public StateResponseProtoMessage {
546
641
  public:
547
- uint32_t key{0};
642
+ static constexpr uint16_t MESSAGE_TYPE = 23;
643
+ static constexpr uint16_t ESTIMATED_SIZE = 26;
644
+ #ifdef HAS_PROTO_MESSAGE_DUMP
645
+ static constexpr const char *message_name() { return "fan_state_response"; }
646
+ #endif
548
647
  bool state{false};
549
648
  bool oscillating{false};
550
649
  enums::FanSpeed speed{};
@@ -564,6 +663,11 @@ class FanStateResponse : public ProtoMessage {
564
663
  };
565
664
  class FanCommandRequest : public ProtoMessage {
566
665
  public:
666
+ static constexpr uint16_t MESSAGE_TYPE = 31;
667
+ static constexpr uint16_t ESTIMATED_SIZE = 38;
668
+ #ifdef HAS_PROTO_MESSAGE_DUMP
669
+ static constexpr const char *message_name() { return "fan_command_request"; }
670
+ #endif
567
671
  uint32_t key{0};
568
672
  bool has_state{false};
569
673
  bool state{false};
@@ -588,12 +692,13 @@ class FanCommandRequest : public ProtoMessage {
588
692
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
589
693
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
590
694
  };
591
- class ListEntitiesLightResponse : public ProtoMessage {
695
+ class ListEntitiesLightResponse : public InfoResponseProtoMessage {
592
696
  public:
593
- std::string object_id{};
594
- uint32_t key{0};
595
- std::string name{};
596
- std::string unique_id{};
697
+ static constexpr uint16_t MESSAGE_TYPE = 15;
698
+ static constexpr uint16_t ESTIMATED_SIZE = 85;
699
+ #ifdef HAS_PROTO_MESSAGE_DUMP
700
+ static constexpr const char *message_name() { return "list_entities_light_response"; }
701
+ #endif
597
702
  std::vector<enums::ColorMode> supported_color_modes{};
598
703
  bool legacy_supports_brightness{false};
599
704
  bool legacy_supports_rgb{false};
@@ -602,9 +707,6 @@ class ListEntitiesLightResponse : public ProtoMessage {
602
707
  float min_mireds{0.0f};
603
708
  float max_mireds{0.0f};
604
709
  std::vector<std::string> effects{};
605
- bool disabled_by_default{false};
606
- std::string icon{};
607
- enums::EntityCategory entity_category{};
608
710
  void encode(ProtoWriteBuffer buffer) const override;
609
711
  void calculate_size(uint32_t &total_size) const override;
610
712
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -616,9 +718,13 @@ class ListEntitiesLightResponse : public ProtoMessage {
616
718
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
617
719
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
618
720
  };
619
- class LightStateResponse : public ProtoMessage {
721
+ class LightStateResponse : public StateResponseProtoMessage {
620
722
  public:
621
- uint32_t key{0};
723
+ static constexpr uint16_t MESSAGE_TYPE = 24;
724
+ static constexpr uint16_t ESTIMATED_SIZE = 63;
725
+ #ifdef HAS_PROTO_MESSAGE_DUMP
726
+ static constexpr const char *message_name() { return "light_state_response"; }
727
+ #endif
622
728
  bool state{false};
623
729
  float brightness{0.0f};
624
730
  enums::ColorMode color_mode{};
@@ -644,6 +750,11 @@ class LightStateResponse : public ProtoMessage {
644
750
  };
645
751
  class LightCommandRequest : public ProtoMessage {
646
752
  public:
753
+ static constexpr uint16_t MESSAGE_TYPE = 32;
754
+ static constexpr uint16_t ESTIMATED_SIZE = 107;
755
+ #ifdef HAS_PROTO_MESSAGE_DUMP
756
+ static constexpr const char *message_name() { return "light_command_request"; }
757
+ #endif
647
758
  uint32_t key{0};
648
759
  bool has_state{false};
649
760
  bool state{false};
@@ -682,21 +793,19 @@ class LightCommandRequest : public ProtoMessage {
682
793
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
683
794
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
684
795
  };
685
- class ListEntitiesSensorResponse : public ProtoMessage {
796
+ class ListEntitiesSensorResponse : public InfoResponseProtoMessage {
686
797
  public:
687
- std::string object_id{};
688
- uint32_t key{0};
689
- std::string name{};
690
- std::string unique_id{};
691
- std::string icon{};
798
+ static constexpr uint16_t MESSAGE_TYPE = 16;
799
+ static constexpr uint16_t ESTIMATED_SIZE = 73;
800
+ #ifdef HAS_PROTO_MESSAGE_DUMP
801
+ static constexpr const char *message_name() { return "list_entities_sensor_response"; }
802
+ #endif
692
803
  std::string unit_of_measurement{};
693
804
  int32_t accuracy_decimals{0};
694
805
  bool force_update{false};
695
806
  std::string device_class{};
696
807
  enums::SensorStateClass state_class{};
697
808
  enums::SensorLastResetType legacy_last_reset_type{};
698
- bool disabled_by_default{false};
699
- enums::EntityCategory entity_category{};
700
809
  void encode(ProtoWriteBuffer buffer) const override;
701
810
  void calculate_size(uint32_t &total_size) const override;
702
811
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -708,9 +817,13 @@ class ListEntitiesSensorResponse : public ProtoMessage {
708
817
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
709
818
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
710
819
  };
711
- class SensorStateResponse : public ProtoMessage {
820
+ class SensorStateResponse : public StateResponseProtoMessage {
712
821
  public:
713
- uint32_t key{0};
822
+ static constexpr uint16_t MESSAGE_TYPE = 25;
823
+ static constexpr uint16_t ESTIMATED_SIZE = 12;
824
+ #ifdef HAS_PROTO_MESSAGE_DUMP
825
+ static constexpr const char *message_name() { return "sensor_state_response"; }
826
+ #endif
714
827
  float state{0.0f};
715
828
  bool missing_state{false};
716
829
  void encode(ProtoWriteBuffer buffer) const override;
@@ -723,16 +836,14 @@ class SensorStateResponse : public ProtoMessage {
723
836
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
724
837
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
725
838
  };
726
- class ListEntitiesSwitchResponse : public ProtoMessage {
839
+ class ListEntitiesSwitchResponse : public InfoResponseProtoMessage {
727
840
  public:
728
- std::string object_id{};
729
- uint32_t key{0};
730
- std::string name{};
731
- std::string unique_id{};
732
- std::string icon{};
841
+ static constexpr uint16_t MESSAGE_TYPE = 17;
842
+ static constexpr uint16_t ESTIMATED_SIZE = 56;
843
+ #ifdef HAS_PROTO_MESSAGE_DUMP
844
+ static constexpr const char *message_name() { return "list_entities_switch_response"; }
845
+ #endif
733
846
  bool assumed_state{false};
734
- bool disabled_by_default{false};
735
- enums::EntityCategory entity_category{};
736
847
  std::string device_class{};
737
848
  void encode(ProtoWriteBuffer buffer) const override;
738
849
  void calculate_size(uint32_t &total_size) const override;
@@ -745,9 +856,13 @@ class ListEntitiesSwitchResponse : public ProtoMessage {
745
856
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
746
857
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
747
858
  };
748
- class SwitchStateResponse : public ProtoMessage {
859
+ class SwitchStateResponse : public StateResponseProtoMessage {
749
860
  public:
750
- uint32_t key{0};
861
+ static constexpr uint16_t MESSAGE_TYPE = 26;
862
+ static constexpr uint16_t ESTIMATED_SIZE = 7;
863
+ #ifdef HAS_PROTO_MESSAGE_DUMP
864
+ static constexpr const char *message_name() { return "switch_state_response"; }
865
+ #endif
751
866
  bool state{false};
752
867
  void encode(ProtoWriteBuffer buffer) const override;
753
868
  void calculate_size(uint32_t &total_size) const override;
@@ -761,6 +876,11 @@ class SwitchStateResponse : public ProtoMessage {
761
876
  };
762
877
  class SwitchCommandRequest : public ProtoMessage {
763
878
  public:
879
+ static constexpr uint16_t MESSAGE_TYPE = 33;
880
+ static constexpr uint16_t ESTIMATED_SIZE = 7;
881
+ #ifdef HAS_PROTO_MESSAGE_DUMP
882
+ static constexpr const char *message_name() { return "switch_command_request"; }
883
+ #endif
764
884
  uint32_t key{0};
765
885
  bool state{false};
766
886
  void encode(ProtoWriteBuffer buffer) const override;
@@ -773,15 +893,13 @@ class SwitchCommandRequest : public ProtoMessage {
773
893
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
774
894
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
775
895
  };
776
- class ListEntitiesTextSensorResponse : public ProtoMessage {
896
+ class ListEntitiesTextSensorResponse : public InfoResponseProtoMessage {
777
897
  public:
778
- std::string object_id{};
779
- uint32_t key{0};
780
- std::string name{};
781
- std::string unique_id{};
782
- std::string icon{};
783
- bool disabled_by_default{false};
784
- enums::EntityCategory entity_category{};
898
+ static constexpr uint16_t MESSAGE_TYPE = 18;
899
+ static constexpr uint16_t ESTIMATED_SIZE = 54;
900
+ #ifdef HAS_PROTO_MESSAGE_DUMP
901
+ static constexpr const char *message_name() { return "list_entities_text_sensor_response"; }
902
+ #endif
785
903
  std::string device_class{};
786
904
  void encode(ProtoWriteBuffer buffer) const override;
787
905
  void calculate_size(uint32_t &total_size) const override;
@@ -794,9 +912,13 @@ class ListEntitiesTextSensorResponse : public ProtoMessage {
794
912
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
795
913
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
796
914
  };
797
- class TextSensorStateResponse : public ProtoMessage {
915
+ class TextSensorStateResponse : public StateResponseProtoMessage {
798
916
  public:
799
- uint32_t key{0};
917
+ static constexpr uint16_t MESSAGE_TYPE = 27;
918
+ static constexpr uint16_t ESTIMATED_SIZE = 16;
919
+ #ifdef HAS_PROTO_MESSAGE_DUMP
920
+ static constexpr const char *message_name() { return "text_sensor_state_response"; }
921
+ #endif
800
922
  std::string state{};
801
923
  bool missing_state{false};
802
924
  void encode(ProtoWriteBuffer buffer) const override;
@@ -812,6 +934,11 @@ class TextSensorStateResponse : public ProtoMessage {
812
934
  };
813
935
  class SubscribeLogsRequest : public ProtoMessage {
814
936
  public:
937
+ static constexpr uint16_t MESSAGE_TYPE = 28;
938
+ static constexpr uint16_t ESTIMATED_SIZE = 4;
939
+ #ifdef HAS_PROTO_MESSAGE_DUMP
940
+ static constexpr const char *message_name() { return "subscribe_logs_request"; }
941
+ #endif
815
942
  enums::LogLevel level{};
816
943
  bool dump_config{false};
817
944
  void encode(ProtoWriteBuffer buffer) const override;
@@ -825,6 +952,11 @@ class SubscribeLogsRequest : public ProtoMessage {
825
952
  };
826
953
  class SubscribeLogsResponse : public ProtoMessage {
827
954
  public:
955
+ static constexpr uint16_t MESSAGE_TYPE = 29;
956
+ static constexpr uint16_t ESTIMATED_SIZE = 13;
957
+ #ifdef HAS_PROTO_MESSAGE_DUMP
958
+ static constexpr const char *message_name() { return "subscribe_logs_response"; }
959
+ #endif
828
960
  enums::LogLevel level{};
829
961
  std::string message{};
830
962
  bool send_failed{false};
@@ -840,6 +972,11 @@ class SubscribeLogsResponse : public ProtoMessage {
840
972
  };
841
973
  class NoiseEncryptionSetKeyRequest : public ProtoMessage {
842
974
  public:
975
+ static constexpr uint16_t MESSAGE_TYPE = 124;
976
+ static constexpr uint16_t ESTIMATED_SIZE = 9;
977
+ #ifdef HAS_PROTO_MESSAGE_DUMP
978
+ static constexpr const char *message_name() { return "noise_encryption_set_key_request"; }
979
+ #endif
843
980
  std::string key{};
844
981
  void encode(ProtoWriteBuffer buffer) const override;
845
982
  void calculate_size(uint32_t &total_size) const override;
@@ -852,6 +989,11 @@ class NoiseEncryptionSetKeyRequest : public ProtoMessage {
852
989
  };
853
990
  class NoiseEncryptionSetKeyResponse : public ProtoMessage {
854
991
  public:
992
+ static constexpr uint16_t MESSAGE_TYPE = 125;
993
+ static constexpr uint16_t ESTIMATED_SIZE = 2;
994
+ #ifdef HAS_PROTO_MESSAGE_DUMP
995
+ static constexpr const char *message_name() { return "noise_encryption_set_key_response"; }
996
+ #endif
855
997
  bool success{false};
856
998
  void encode(ProtoWriteBuffer buffer) const override;
857
999
  void calculate_size(uint32_t &total_size) const override;
@@ -864,6 +1006,11 @@ class NoiseEncryptionSetKeyResponse : public ProtoMessage {
864
1006
  };
865
1007
  class SubscribeHomeassistantServicesRequest : public ProtoMessage {
866
1008
  public:
1009
+ static constexpr uint16_t MESSAGE_TYPE = 34;
1010
+ static constexpr uint16_t ESTIMATED_SIZE = 0;
1011
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1012
+ static constexpr const char *message_name() { return "subscribe_homeassistant_services_request"; }
1013
+ #endif
867
1014
  void encode(ProtoWriteBuffer buffer) const override;
868
1015
  void calculate_size(uint32_t &total_size) const override;
869
1016
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -887,6 +1034,11 @@ class HomeassistantServiceMap : public ProtoMessage {
887
1034
  };
888
1035
  class HomeassistantServiceResponse : public ProtoMessage {
889
1036
  public:
1037
+ static constexpr uint16_t MESSAGE_TYPE = 35;
1038
+ static constexpr uint16_t ESTIMATED_SIZE = 113;
1039
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1040
+ static constexpr const char *message_name() { return "homeassistant_service_response"; }
1041
+ #endif
890
1042
  std::string service{};
891
1043
  std::vector<HomeassistantServiceMap> data{};
892
1044
  std::vector<HomeassistantServiceMap> data_template{};
@@ -904,6 +1056,11 @@ class HomeassistantServiceResponse : public ProtoMessage {
904
1056
  };
905
1057
  class SubscribeHomeAssistantStatesRequest : public ProtoMessage {
906
1058
  public:
1059
+ static constexpr uint16_t MESSAGE_TYPE = 38;
1060
+ static constexpr uint16_t ESTIMATED_SIZE = 0;
1061
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1062
+ static constexpr const char *message_name() { return "subscribe_home_assistant_states_request"; }
1063
+ #endif
907
1064
  void encode(ProtoWriteBuffer buffer) const override;
908
1065
  void calculate_size(uint32_t &total_size) const override;
909
1066
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -914,6 +1071,11 @@ class SubscribeHomeAssistantStatesRequest : public ProtoMessage {
914
1071
  };
915
1072
  class SubscribeHomeAssistantStateResponse : public ProtoMessage {
916
1073
  public:
1074
+ static constexpr uint16_t MESSAGE_TYPE = 39;
1075
+ static constexpr uint16_t ESTIMATED_SIZE = 20;
1076
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1077
+ static constexpr const char *message_name() { return "subscribe_home_assistant_state_response"; }
1078
+ #endif
917
1079
  std::string entity_id{};
918
1080
  std::string attribute{};
919
1081
  bool once{false};
@@ -929,6 +1091,11 @@ class SubscribeHomeAssistantStateResponse : public ProtoMessage {
929
1091
  };
930
1092
  class HomeAssistantStateResponse : public ProtoMessage {
931
1093
  public:
1094
+ static constexpr uint16_t MESSAGE_TYPE = 40;
1095
+ static constexpr uint16_t ESTIMATED_SIZE = 27;
1096
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1097
+ static constexpr const char *message_name() { return "home_assistant_state_response"; }
1098
+ #endif
932
1099
  std::string entity_id{};
933
1100
  std::string state{};
934
1101
  std::string attribute{};
@@ -943,6 +1110,11 @@ class HomeAssistantStateResponse : public ProtoMessage {
943
1110
  };
944
1111
  class GetTimeRequest : public ProtoMessage {
945
1112
  public:
1113
+ static constexpr uint16_t MESSAGE_TYPE = 36;
1114
+ static constexpr uint16_t ESTIMATED_SIZE = 0;
1115
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1116
+ static constexpr const char *message_name() { return "get_time_request"; }
1117
+ #endif
946
1118
  void encode(ProtoWriteBuffer buffer) const override;
947
1119
  void calculate_size(uint32_t &total_size) const override;
948
1120
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -953,6 +1125,11 @@ class GetTimeRequest : public ProtoMessage {
953
1125
  };
954
1126
  class GetTimeResponse : public ProtoMessage {
955
1127
  public:
1128
+ static constexpr uint16_t MESSAGE_TYPE = 37;
1129
+ static constexpr uint16_t ESTIMATED_SIZE = 5;
1130
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1131
+ static constexpr const char *message_name() { return "get_time_response"; }
1132
+ #endif
956
1133
  uint32_t epoch_seconds{0};
957
1134
  void encode(ProtoWriteBuffer buffer) const override;
958
1135
  void calculate_size(uint32_t &total_size) const override;
@@ -979,6 +1156,11 @@ class ListEntitiesServicesArgument : public ProtoMessage {
979
1156
  };
980
1157
  class ListEntitiesServicesResponse : public ProtoMessage {
981
1158
  public:
1159
+ static constexpr uint16_t MESSAGE_TYPE = 41;
1160
+ static constexpr uint16_t ESTIMATED_SIZE = 48;
1161
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1162
+ static constexpr const char *message_name() { return "list_entities_services_response"; }
1163
+ #endif
982
1164
  std::string name{};
983
1165
  uint32_t key{0};
984
1166
  std::vector<ListEntitiesServicesArgument> args{};
@@ -1016,6 +1198,11 @@ class ExecuteServiceArgument : public ProtoMessage {
1016
1198
  };
1017
1199
  class ExecuteServiceRequest : public ProtoMessage {
1018
1200
  public:
1201
+ static constexpr uint16_t MESSAGE_TYPE = 42;
1202
+ static constexpr uint16_t ESTIMATED_SIZE = 39;
1203
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1204
+ static constexpr const char *message_name() { return "execute_service_request"; }
1205
+ #endif
1019
1206
  uint32_t key{0};
1020
1207
  std::vector<ExecuteServiceArgument> args{};
1021
1208
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1028,15 +1215,13 @@ class ExecuteServiceRequest : public ProtoMessage {
1028
1215
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1029
1216
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1030
1217
  };
1031
- class ListEntitiesCameraResponse : public ProtoMessage {
1218
+ class ListEntitiesCameraResponse : public InfoResponseProtoMessage {
1032
1219
  public:
1033
- std::string object_id{};
1034
- uint32_t key{0};
1035
- std::string name{};
1036
- std::string unique_id{};
1037
- bool disabled_by_default{false};
1038
- std::string icon{};
1039
- enums::EntityCategory entity_category{};
1220
+ static constexpr uint16_t MESSAGE_TYPE = 43;
1221
+ static constexpr uint16_t ESTIMATED_SIZE = 45;
1222
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1223
+ static constexpr const char *message_name() { return "list_entities_camera_response"; }
1224
+ #endif
1040
1225
  void encode(ProtoWriteBuffer buffer) const override;
1041
1226
  void calculate_size(uint32_t &total_size) const override;
1042
1227
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -1050,6 +1235,11 @@ class ListEntitiesCameraResponse : public ProtoMessage {
1050
1235
  };
1051
1236
  class CameraImageResponse : public ProtoMessage {
1052
1237
  public:
1238
+ static constexpr uint16_t MESSAGE_TYPE = 44;
1239
+ static constexpr uint16_t ESTIMATED_SIZE = 16;
1240
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1241
+ static constexpr const char *message_name() { return "camera_image_response"; }
1242
+ #endif
1053
1243
  uint32_t key{0};
1054
1244
  std::string data{};
1055
1245
  bool done{false};
@@ -1066,6 +1256,11 @@ class CameraImageResponse : public ProtoMessage {
1066
1256
  };
1067
1257
  class CameraImageRequest : public ProtoMessage {
1068
1258
  public:
1259
+ static constexpr uint16_t MESSAGE_TYPE = 45;
1260
+ static constexpr uint16_t ESTIMATED_SIZE = 4;
1261
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1262
+ static constexpr const char *message_name() { return "camera_image_request"; }
1263
+ #endif
1069
1264
  bool single{false};
1070
1265
  bool stream{false};
1071
1266
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1077,12 +1272,13 @@ class CameraImageRequest : public ProtoMessage {
1077
1272
  protected:
1078
1273
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1079
1274
  };
1080
- class ListEntitiesClimateResponse : public ProtoMessage {
1275
+ class ListEntitiesClimateResponse : public InfoResponseProtoMessage {
1081
1276
  public:
1082
- std::string object_id{};
1083
- uint32_t key{0};
1084
- std::string name{};
1085
- std::string unique_id{};
1277
+ static constexpr uint16_t MESSAGE_TYPE = 46;
1278
+ static constexpr uint16_t ESTIMATED_SIZE = 151;
1279
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1280
+ static constexpr const char *message_name() { return "list_entities_climate_response"; }
1281
+ #endif
1086
1282
  bool supports_current_temperature{false};
1087
1283
  bool supports_two_point_target_temperature{false};
1088
1284
  std::vector<enums::ClimateMode> supported_modes{};
@@ -1096,9 +1292,6 @@ class ListEntitiesClimateResponse : public ProtoMessage {
1096
1292
  std::vector<std::string> supported_custom_fan_modes{};
1097
1293
  std::vector<enums::ClimatePreset> supported_presets{};
1098
1294
  std::vector<std::string> supported_custom_presets{};
1099
- bool disabled_by_default{false};
1100
- std::string icon{};
1101
- enums::EntityCategory entity_category{};
1102
1295
  float visual_current_temperature_step{0.0f};
1103
1296
  bool supports_current_humidity{false};
1104
1297
  bool supports_target_humidity{false};
@@ -1115,9 +1308,13 @@ class ListEntitiesClimateResponse : public ProtoMessage {
1115
1308
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1116
1309
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1117
1310
  };
1118
- class ClimateStateResponse : public ProtoMessage {
1311
+ class ClimateStateResponse : public StateResponseProtoMessage {
1119
1312
  public:
1120
- uint32_t key{0};
1313
+ static constexpr uint16_t MESSAGE_TYPE = 47;
1314
+ static constexpr uint16_t ESTIMATED_SIZE = 65;
1315
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1316
+ static constexpr const char *message_name() { return "climate_state_response"; }
1317
+ #endif
1121
1318
  enums::ClimateMode mode{};
1122
1319
  float current_temperature{0.0f};
1123
1320
  float target_temperature{0.0f};
@@ -1145,6 +1342,11 @@ class ClimateStateResponse : public ProtoMessage {
1145
1342
  };
1146
1343
  class ClimateCommandRequest : public ProtoMessage {
1147
1344
  public:
1345
+ static constexpr uint16_t MESSAGE_TYPE = 48;
1346
+ static constexpr uint16_t ESTIMATED_SIZE = 83;
1347
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1348
+ static constexpr const char *message_name() { return "climate_command_request"; }
1349
+ #endif
1148
1350
  uint32_t key{0};
1149
1351
  bool has_mode{false};
1150
1352
  enums::ClimateMode mode{};
@@ -1179,18 +1381,16 @@ class ClimateCommandRequest : public ProtoMessage {
1179
1381
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1180
1382
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1181
1383
  };
1182
- class ListEntitiesNumberResponse : public ProtoMessage {
1384
+ class ListEntitiesNumberResponse : public InfoResponseProtoMessage {
1183
1385
  public:
1184
- std::string object_id{};
1185
- uint32_t key{0};
1186
- std::string name{};
1187
- std::string unique_id{};
1188
- std::string icon{};
1386
+ static constexpr uint16_t MESSAGE_TYPE = 49;
1387
+ static constexpr uint16_t ESTIMATED_SIZE = 80;
1388
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1389
+ static constexpr const char *message_name() { return "list_entities_number_response"; }
1390
+ #endif
1189
1391
  float min_value{0.0f};
1190
1392
  float max_value{0.0f};
1191
1393
  float step{0.0f};
1192
- bool disabled_by_default{false};
1193
- enums::EntityCategory entity_category{};
1194
1394
  std::string unit_of_measurement{};
1195
1395
  enums::NumberMode mode{};
1196
1396
  std::string device_class{};
@@ -1205,9 +1405,13 @@ class ListEntitiesNumberResponse : public ProtoMessage {
1205
1405
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1206
1406
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1207
1407
  };
1208
- class NumberStateResponse : public ProtoMessage {
1408
+ class NumberStateResponse : public StateResponseProtoMessage {
1209
1409
  public:
1210
- uint32_t key{0};
1410
+ static constexpr uint16_t MESSAGE_TYPE = 50;
1411
+ static constexpr uint16_t ESTIMATED_SIZE = 12;
1412
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1413
+ static constexpr const char *message_name() { return "number_state_response"; }
1414
+ #endif
1211
1415
  float state{0.0f};
1212
1416
  bool missing_state{false};
1213
1417
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1222,6 +1426,11 @@ class NumberStateResponse : public ProtoMessage {
1222
1426
  };
1223
1427
  class NumberCommandRequest : public ProtoMessage {
1224
1428
  public:
1429
+ static constexpr uint16_t MESSAGE_TYPE = 51;
1430
+ static constexpr uint16_t ESTIMATED_SIZE = 10;
1431
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1432
+ static constexpr const char *message_name() { return "number_command_request"; }
1433
+ #endif
1225
1434
  uint32_t key{0};
1226
1435
  float state{0.0f};
1227
1436
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1233,16 +1442,14 @@ class NumberCommandRequest : public ProtoMessage {
1233
1442
  protected:
1234
1443
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1235
1444
  };
1236
- class ListEntitiesSelectResponse : public ProtoMessage {
1445
+ class ListEntitiesSelectResponse : public InfoResponseProtoMessage {
1237
1446
  public:
1238
- std::string object_id{};
1239
- uint32_t key{0};
1240
- std::string name{};
1241
- std::string unique_id{};
1242
- std::string icon{};
1447
+ static constexpr uint16_t MESSAGE_TYPE = 52;
1448
+ static constexpr uint16_t ESTIMATED_SIZE = 63;
1449
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1450
+ static constexpr const char *message_name() { return "list_entities_select_response"; }
1451
+ #endif
1243
1452
  std::vector<std::string> options{};
1244
- bool disabled_by_default{false};
1245
- enums::EntityCategory entity_category{};
1246
1453
  void encode(ProtoWriteBuffer buffer) const override;
1247
1454
  void calculate_size(uint32_t &total_size) const override;
1248
1455
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -1254,9 +1461,13 @@ class ListEntitiesSelectResponse : public ProtoMessage {
1254
1461
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1255
1462
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1256
1463
  };
1257
- class SelectStateResponse : public ProtoMessage {
1464
+ class SelectStateResponse : public StateResponseProtoMessage {
1258
1465
  public:
1259
- uint32_t key{0};
1466
+ static constexpr uint16_t MESSAGE_TYPE = 53;
1467
+ static constexpr uint16_t ESTIMATED_SIZE = 16;
1468
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1469
+ static constexpr const char *message_name() { return "select_state_response"; }
1470
+ #endif
1260
1471
  std::string state{};
1261
1472
  bool missing_state{false};
1262
1473
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1272,6 +1483,11 @@ class SelectStateResponse : public ProtoMessage {
1272
1483
  };
1273
1484
  class SelectCommandRequest : public ProtoMessage {
1274
1485
  public:
1486
+ static constexpr uint16_t MESSAGE_TYPE = 54;
1487
+ static constexpr uint16_t ESTIMATED_SIZE = 14;
1488
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1489
+ static constexpr const char *message_name() { return "select_command_request"; }
1490
+ #endif
1275
1491
  uint32_t key{0};
1276
1492
  std::string state{};
1277
1493
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1284,18 +1500,16 @@ class SelectCommandRequest : public ProtoMessage {
1284
1500
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
1285
1501
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1286
1502
  };
1287
- class ListEntitiesSirenResponse : public ProtoMessage {
1503
+ class ListEntitiesSirenResponse : public InfoResponseProtoMessage {
1288
1504
  public:
1289
- std::string object_id{};
1290
- uint32_t key{0};
1291
- std::string name{};
1292
- std::string unique_id{};
1293
- std::string icon{};
1294
- bool disabled_by_default{false};
1505
+ static constexpr uint16_t MESSAGE_TYPE = 55;
1506
+ static constexpr uint16_t ESTIMATED_SIZE = 67;
1507
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1508
+ static constexpr const char *message_name() { return "list_entities_siren_response"; }
1509
+ #endif
1295
1510
  std::vector<std::string> tones{};
1296
1511
  bool supports_duration{false};
1297
1512
  bool supports_volume{false};
1298
- enums::EntityCategory entity_category{};
1299
1513
  void encode(ProtoWriteBuffer buffer) const override;
1300
1514
  void calculate_size(uint32_t &total_size) const override;
1301
1515
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -1307,9 +1521,13 @@ class ListEntitiesSirenResponse : public ProtoMessage {
1307
1521
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1308
1522
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1309
1523
  };
1310
- class SirenStateResponse : public ProtoMessage {
1524
+ class SirenStateResponse : public StateResponseProtoMessage {
1311
1525
  public:
1312
- uint32_t key{0};
1526
+ static constexpr uint16_t MESSAGE_TYPE = 56;
1527
+ static constexpr uint16_t ESTIMATED_SIZE = 7;
1528
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1529
+ static constexpr const char *message_name() { return "siren_state_response"; }
1530
+ #endif
1313
1531
  bool state{false};
1314
1532
  void encode(ProtoWriteBuffer buffer) const override;
1315
1533
  void calculate_size(uint32_t &total_size) const override;
@@ -1323,6 +1541,11 @@ class SirenStateResponse : public ProtoMessage {
1323
1541
  };
1324
1542
  class SirenCommandRequest : public ProtoMessage {
1325
1543
  public:
1544
+ static constexpr uint16_t MESSAGE_TYPE = 57;
1545
+ static constexpr uint16_t ESTIMATED_SIZE = 33;
1546
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1547
+ static constexpr const char *message_name() { return "siren_command_request"; }
1548
+ #endif
1326
1549
  uint32_t key{0};
1327
1550
  bool has_state{false};
1328
1551
  bool state{false};
@@ -1343,15 +1566,13 @@ class SirenCommandRequest : public ProtoMessage {
1343
1566
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1344
1567
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1345
1568
  };
1346
- class ListEntitiesLockResponse : public ProtoMessage {
1569
+ class ListEntitiesLockResponse : public InfoResponseProtoMessage {
1347
1570
  public:
1348
- std::string object_id{};
1349
- uint32_t key{0};
1350
- std::string name{};
1351
- std::string unique_id{};
1352
- std::string icon{};
1353
- bool disabled_by_default{false};
1354
- enums::EntityCategory entity_category{};
1571
+ static constexpr uint16_t MESSAGE_TYPE = 58;
1572
+ static constexpr uint16_t ESTIMATED_SIZE = 60;
1573
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1574
+ static constexpr const char *message_name() { return "list_entities_lock_response"; }
1575
+ #endif
1355
1576
  bool assumed_state{false};
1356
1577
  bool supports_open{false};
1357
1578
  bool requires_code{false};
@@ -1367,9 +1588,13 @@ class ListEntitiesLockResponse : public ProtoMessage {
1367
1588
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1368
1589
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1369
1590
  };
1370
- class LockStateResponse : public ProtoMessage {
1591
+ class LockStateResponse : public StateResponseProtoMessage {
1371
1592
  public:
1372
- uint32_t key{0};
1593
+ static constexpr uint16_t MESSAGE_TYPE = 59;
1594
+ static constexpr uint16_t ESTIMATED_SIZE = 7;
1595
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1596
+ static constexpr const char *message_name() { return "lock_state_response"; }
1597
+ #endif
1373
1598
  enums::LockState state{};
1374
1599
  void encode(ProtoWriteBuffer buffer) const override;
1375
1600
  void calculate_size(uint32_t &total_size) const override;
@@ -1383,6 +1608,11 @@ class LockStateResponse : public ProtoMessage {
1383
1608
  };
1384
1609
  class LockCommandRequest : public ProtoMessage {
1385
1610
  public:
1611
+ static constexpr uint16_t MESSAGE_TYPE = 60;
1612
+ static constexpr uint16_t ESTIMATED_SIZE = 18;
1613
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1614
+ static constexpr const char *message_name() { return "lock_command_request"; }
1615
+ #endif
1386
1616
  uint32_t key{0};
1387
1617
  enums::LockCommand command{};
1388
1618
  bool has_code{false};
@@ -1398,15 +1628,13 @@ class LockCommandRequest : public ProtoMessage {
1398
1628
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1399
1629
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1400
1630
  };
1401
- class ListEntitiesButtonResponse : public ProtoMessage {
1631
+ class ListEntitiesButtonResponse : public InfoResponseProtoMessage {
1402
1632
  public:
1403
- std::string object_id{};
1404
- uint32_t key{0};
1405
- std::string name{};
1406
- std::string unique_id{};
1407
- std::string icon{};
1408
- bool disabled_by_default{false};
1409
- enums::EntityCategory entity_category{};
1633
+ static constexpr uint16_t MESSAGE_TYPE = 61;
1634
+ static constexpr uint16_t ESTIMATED_SIZE = 54;
1635
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1636
+ static constexpr const char *message_name() { return "list_entities_button_response"; }
1637
+ #endif
1410
1638
  std::string device_class{};
1411
1639
  void encode(ProtoWriteBuffer buffer) const override;
1412
1640
  void calculate_size(uint32_t &total_size) const override;
@@ -1421,6 +1649,11 @@ class ListEntitiesButtonResponse : public ProtoMessage {
1421
1649
  };
1422
1650
  class ButtonCommandRequest : public ProtoMessage {
1423
1651
  public:
1652
+ static constexpr uint16_t MESSAGE_TYPE = 62;
1653
+ static constexpr uint16_t ESTIMATED_SIZE = 5;
1654
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1655
+ static constexpr const char *message_name() { return "button_command_request"; }
1656
+ #endif
1424
1657
  uint32_t key{0};
1425
1658
  void encode(ProtoWriteBuffer buffer) const override;
1426
1659
  void calculate_size(uint32_t &total_size) const override;
@@ -1448,15 +1681,13 @@ class MediaPlayerSupportedFormat : public ProtoMessage {
1448
1681
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1449
1682
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1450
1683
  };
1451
- class ListEntitiesMediaPlayerResponse : public ProtoMessage {
1684
+ class ListEntitiesMediaPlayerResponse : public InfoResponseProtoMessage {
1452
1685
  public:
1453
- std::string object_id{};
1454
- uint32_t key{0};
1455
- std::string name{};
1456
- std::string unique_id{};
1457
- std::string icon{};
1458
- bool disabled_by_default{false};
1459
- enums::EntityCategory entity_category{};
1686
+ static constexpr uint16_t MESSAGE_TYPE = 63;
1687
+ static constexpr uint16_t ESTIMATED_SIZE = 81;
1688
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1689
+ static constexpr const char *message_name() { return "list_entities_media_player_response"; }
1690
+ #endif
1460
1691
  bool supports_pause{false};
1461
1692
  std::vector<MediaPlayerSupportedFormat> supported_formats{};
1462
1693
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1470,9 +1701,13 @@ class ListEntitiesMediaPlayerResponse : public ProtoMessage {
1470
1701
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1471
1702
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1472
1703
  };
1473
- class MediaPlayerStateResponse : public ProtoMessage {
1704
+ class MediaPlayerStateResponse : public StateResponseProtoMessage {
1474
1705
  public:
1475
- uint32_t key{0};
1706
+ static constexpr uint16_t MESSAGE_TYPE = 64;
1707
+ static constexpr uint16_t ESTIMATED_SIZE = 14;
1708
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1709
+ static constexpr const char *message_name() { return "media_player_state_response"; }
1710
+ #endif
1476
1711
  enums::MediaPlayerState state{};
1477
1712
  float volume{0.0f};
1478
1713
  bool muted{false};
@@ -1488,6 +1723,11 @@ class MediaPlayerStateResponse : public ProtoMessage {
1488
1723
  };
1489
1724
  class MediaPlayerCommandRequest : public ProtoMessage {
1490
1725
  public:
1726
+ static constexpr uint16_t MESSAGE_TYPE = 65;
1727
+ static constexpr uint16_t ESTIMATED_SIZE = 31;
1728
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1729
+ static constexpr const char *message_name() { return "media_player_command_request"; }
1730
+ #endif
1491
1731
  uint32_t key{0};
1492
1732
  bool has_command{false};
1493
1733
  enums::MediaPlayerCommand command{};
@@ -1510,6 +1750,11 @@ class MediaPlayerCommandRequest : public ProtoMessage {
1510
1750
  };
1511
1751
  class SubscribeBluetoothLEAdvertisementsRequest : public ProtoMessage {
1512
1752
  public:
1753
+ static constexpr uint16_t MESSAGE_TYPE = 66;
1754
+ static constexpr uint16_t ESTIMATED_SIZE = 4;
1755
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1756
+ static constexpr const char *message_name() { return "subscribe_bluetooth_le_advertisements_request"; }
1757
+ #endif
1513
1758
  uint32_t flags{0};
1514
1759
  void encode(ProtoWriteBuffer buffer) const override;
1515
1760
  void calculate_size(uint32_t &total_size) const override;
@@ -1537,6 +1782,11 @@ class BluetoothServiceData : public ProtoMessage {
1537
1782
  };
1538
1783
  class BluetoothLEAdvertisementResponse : public ProtoMessage {
1539
1784
  public:
1785
+ static constexpr uint16_t MESSAGE_TYPE = 67;
1786
+ static constexpr uint16_t ESTIMATED_SIZE = 107;
1787
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1788
+ static constexpr const char *message_name() { return "bluetooth_le_advertisement_response"; }
1789
+ #endif
1540
1790
  uint64_t address{0};
1541
1791
  std::string name{};
1542
1792
  int32_t rssi{0};
@@ -1572,6 +1822,11 @@ class BluetoothLERawAdvertisement : public ProtoMessage {
1572
1822
  };
1573
1823
  class BluetoothLERawAdvertisementsResponse : public ProtoMessage {
1574
1824
  public:
1825
+ static constexpr uint16_t MESSAGE_TYPE = 93;
1826
+ static constexpr uint16_t ESTIMATED_SIZE = 34;
1827
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1828
+ static constexpr const char *message_name() { return "bluetooth_le_raw_advertisements_response"; }
1829
+ #endif
1575
1830
  std::vector<BluetoothLERawAdvertisement> advertisements{};
1576
1831
  void encode(ProtoWriteBuffer buffer) const override;
1577
1832
  void calculate_size(uint32_t &total_size) const override;
@@ -1584,6 +1839,11 @@ class BluetoothLERawAdvertisementsResponse : public ProtoMessage {
1584
1839
  };
1585
1840
  class BluetoothDeviceRequest : public ProtoMessage {
1586
1841
  public:
1842
+ static constexpr uint16_t MESSAGE_TYPE = 68;
1843
+ static constexpr uint16_t ESTIMATED_SIZE = 12;
1844
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1845
+ static constexpr const char *message_name() { return "bluetooth_device_request"; }
1846
+ #endif
1587
1847
  uint64_t address{0};
1588
1848
  enums::BluetoothDeviceRequestType request_type{};
1589
1849
  bool has_address_type{false};
@@ -1599,6 +1859,11 @@ class BluetoothDeviceRequest : public ProtoMessage {
1599
1859
  };
1600
1860
  class BluetoothDeviceConnectionResponse : public ProtoMessage {
1601
1861
  public:
1862
+ static constexpr uint16_t MESSAGE_TYPE = 69;
1863
+ static constexpr uint16_t ESTIMATED_SIZE = 14;
1864
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1865
+ static constexpr const char *message_name() { return "bluetooth_device_connection_response"; }
1866
+ #endif
1602
1867
  uint64_t address{0};
1603
1868
  bool connected{false};
1604
1869
  uint32_t mtu{0};
@@ -1614,6 +1879,11 @@ class BluetoothDeviceConnectionResponse : public ProtoMessage {
1614
1879
  };
1615
1880
  class BluetoothGATTGetServicesRequest : public ProtoMessage {
1616
1881
  public:
1882
+ static constexpr uint16_t MESSAGE_TYPE = 70;
1883
+ static constexpr uint16_t ESTIMATED_SIZE = 4;
1884
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1885
+ static constexpr const char *message_name() { return "bluetooth_gatt_get_services_request"; }
1886
+ #endif
1617
1887
  uint64_t address{0};
1618
1888
  void encode(ProtoWriteBuffer buffer) const override;
1619
1889
  void calculate_size(uint32_t &total_size) const override;
@@ -1670,6 +1940,11 @@ class BluetoothGATTService : public ProtoMessage {
1670
1940
  };
1671
1941
  class BluetoothGATTGetServicesResponse : public ProtoMessage {
1672
1942
  public:
1943
+ static constexpr uint16_t MESSAGE_TYPE = 71;
1944
+ static constexpr uint16_t ESTIMATED_SIZE = 38;
1945
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1946
+ static constexpr const char *message_name() { return "bluetooth_gatt_get_services_response"; }
1947
+ #endif
1673
1948
  uint64_t address{0};
1674
1949
  std::vector<BluetoothGATTService> services{};
1675
1950
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1684,6 +1959,11 @@ class BluetoothGATTGetServicesResponse : public ProtoMessage {
1684
1959
  };
1685
1960
  class BluetoothGATTGetServicesDoneResponse : public ProtoMessage {
1686
1961
  public:
1962
+ static constexpr uint16_t MESSAGE_TYPE = 72;
1963
+ static constexpr uint16_t ESTIMATED_SIZE = 4;
1964
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1965
+ static constexpr const char *message_name() { return "bluetooth_gatt_get_services_done_response"; }
1966
+ #endif
1687
1967
  uint64_t address{0};
1688
1968
  void encode(ProtoWriteBuffer buffer) const override;
1689
1969
  void calculate_size(uint32_t &total_size) const override;
@@ -1696,6 +1976,11 @@ class BluetoothGATTGetServicesDoneResponse : public ProtoMessage {
1696
1976
  };
1697
1977
  class BluetoothGATTReadRequest : public ProtoMessage {
1698
1978
  public:
1979
+ static constexpr uint16_t MESSAGE_TYPE = 73;
1980
+ static constexpr uint16_t ESTIMATED_SIZE = 8;
1981
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1982
+ static constexpr const char *message_name() { return "bluetooth_gatt_read_request"; }
1983
+ #endif
1699
1984
  uint64_t address{0};
1700
1985
  uint32_t handle{0};
1701
1986
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1709,6 +1994,11 @@ class BluetoothGATTReadRequest : public ProtoMessage {
1709
1994
  };
1710
1995
  class BluetoothGATTReadResponse : public ProtoMessage {
1711
1996
  public:
1997
+ static constexpr uint16_t MESSAGE_TYPE = 74;
1998
+ static constexpr uint16_t ESTIMATED_SIZE = 17;
1999
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2000
+ static constexpr const char *message_name() { return "bluetooth_gatt_read_response"; }
2001
+ #endif
1712
2002
  uint64_t address{0};
1713
2003
  uint32_t handle{0};
1714
2004
  std::string data{};
@@ -1724,6 +2014,11 @@ class BluetoothGATTReadResponse : public ProtoMessage {
1724
2014
  };
1725
2015
  class BluetoothGATTWriteRequest : public ProtoMessage {
1726
2016
  public:
2017
+ static constexpr uint16_t MESSAGE_TYPE = 75;
2018
+ static constexpr uint16_t ESTIMATED_SIZE = 19;
2019
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2020
+ static constexpr const char *message_name() { return "bluetooth_gatt_write_request"; }
2021
+ #endif
1727
2022
  uint64_t address{0};
1728
2023
  uint32_t handle{0};
1729
2024
  bool response{false};
@@ -1740,6 +2035,11 @@ class BluetoothGATTWriteRequest : public ProtoMessage {
1740
2035
  };
1741
2036
  class BluetoothGATTReadDescriptorRequest : public ProtoMessage {
1742
2037
  public:
2038
+ static constexpr uint16_t MESSAGE_TYPE = 76;
2039
+ static constexpr uint16_t ESTIMATED_SIZE = 8;
2040
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2041
+ static constexpr const char *message_name() { return "bluetooth_gatt_read_descriptor_request"; }
2042
+ #endif
1743
2043
  uint64_t address{0};
1744
2044
  uint32_t handle{0};
1745
2045
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1753,6 +2053,11 @@ class BluetoothGATTReadDescriptorRequest : public ProtoMessage {
1753
2053
  };
1754
2054
  class BluetoothGATTWriteDescriptorRequest : public ProtoMessage {
1755
2055
  public:
2056
+ static constexpr uint16_t MESSAGE_TYPE = 77;
2057
+ static constexpr uint16_t ESTIMATED_SIZE = 17;
2058
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2059
+ static constexpr const char *message_name() { return "bluetooth_gatt_write_descriptor_request"; }
2060
+ #endif
1756
2061
  uint64_t address{0};
1757
2062
  uint32_t handle{0};
1758
2063
  std::string data{};
@@ -1768,6 +2073,11 @@ class BluetoothGATTWriteDescriptorRequest : public ProtoMessage {
1768
2073
  };
1769
2074
  class BluetoothGATTNotifyRequest : public ProtoMessage {
1770
2075
  public:
2076
+ static constexpr uint16_t MESSAGE_TYPE = 78;
2077
+ static constexpr uint16_t ESTIMATED_SIZE = 10;
2078
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2079
+ static constexpr const char *message_name() { return "bluetooth_gatt_notify_request"; }
2080
+ #endif
1771
2081
  uint64_t address{0};
1772
2082
  uint32_t handle{0};
1773
2083
  bool enable{false};
@@ -1782,6 +2092,11 @@ class BluetoothGATTNotifyRequest : public ProtoMessage {
1782
2092
  };
1783
2093
  class BluetoothGATTNotifyDataResponse : public ProtoMessage {
1784
2094
  public:
2095
+ static constexpr uint16_t MESSAGE_TYPE = 79;
2096
+ static constexpr uint16_t ESTIMATED_SIZE = 17;
2097
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2098
+ static constexpr const char *message_name() { return "bluetooth_gatt_notify_data_response"; }
2099
+ #endif
1785
2100
  uint64_t address{0};
1786
2101
  uint32_t handle{0};
1787
2102
  std::string data{};
@@ -1797,6 +2112,11 @@ class BluetoothGATTNotifyDataResponse : public ProtoMessage {
1797
2112
  };
1798
2113
  class SubscribeBluetoothConnectionsFreeRequest : public ProtoMessage {
1799
2114
  public:
2115
+ static constexpr uint16_t MESSAGE_TYPE = 80;
2116
+ static constexpr uint16_t ESTIMATED_SIZE = 0;
2117
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2118
+ static constexpr const char *message_name() { return "subscribe_bluetooth_connections_free_request"; }
2119
+ #endif
1800
2120
  void encode(ProtoWriteBuffer buffer) const override;
1801
2121
  void calculate_size(uint32_t &total_size) const override;
1802
2122
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -1807,6 +2127,11 @@ class SubscribeBluetoothConnectionsFreeRequest : public ProtoMessage {
1807
2127
  };
1808
2128
  class BluetoothConnectionsFreeResponse : public ProtoMessage {
1809
2129
  public:
2130
+ static constexpr uint16_t MESSAGE_TYPE = 81;
2131
+ static constexpr uint16_t ESTIMATED_SIZE = 16;
2132
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2133
+ static constexpr const char *message_name() { return "bluetooth_connections_free_response"; }
2134
+ #endif
1810
2135
  uint32_t free{0};
1811
2136
  uint32_t limit{0};
1812
2137
  std::vector<uint64_t> allocated{};
@@ -1821,6 +2146,11 @@ class BluetoothConnectionsFreeResponse : public ProtoMessage {
1821
2146
  };
1822
2147
  class BluetoothGATTErrorResponse : public ProtoMessage {
1823
2148
  public:
2149
+ static constexpr uint16_t MESSAGE_TYPE = 82;
2150
+ static constexpr uint16_t ESTIMATED_SIZE = 12;
2151
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2152
+ static constexpr const char *message_name() { return "bluetooth_gatt_error_response"; }
2153
+ #endif
1824
2154
  uint64_t address{0};
1825
2155
  uint32_t handle{0};
1826
2156
  int32_t error{0};
@@ -1835,6 +2165,11 @@ class BluetoothGATTErrorResponse : public ProtoMessage {
1835
2165
  };
1836
2166
  class BluetoothGATTWriteResponse : public ProtoMessage {
1837
2167
  public:
2168
+ static constexpr uint16_t MESSAGE_TYPE = 83;
2169
+ static constexpr uint16_t ESTIMATED_SIZE = 8;
2170
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2171
+ static constexpr const char *message_name() { return "bluetooth_gatt_write_response"; }
2172
+ #endif
1838
2173
  uint64_t address{0};
1839
2174
  uint32_t handle{0};
1840
2175
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1848,6 +2183,11 @@ class BluetoothGATTWriteResponse : public ProtoMessage {
1848
2183
  };
1849
2184
  class BluetoothGATTNotifyResponse : public ProtoMessage {
1850
2185
  public:
2186
+ static constexpr uint16_t MESSAGE_TYPE = 84;
2187
+ static constexpr uint16_t ESTIMATED_SIZE = 8;
2188
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2189
+ static constexpr const char *message_name() { return "bluetooth_gatt_notify_response"; }
2190
+ #endif
1851
2191
  uint64_t address{0};
1852
2192
  uint32_t handle{0};
1853
2193
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1861,6 +2201,11 @@ class BluetoothGATTNotifyResponse : public ProtoMessage {
1861
2201
  };
1862
2202
  class BluetoothDevicePairingResponse : public ProtoMessage {
1863
2203
  public:
2204
+ static constexpr uint16_t MESSAGE_TYPE = 85;
2205
+ static constexpr uint16_t ESTIMATED_SIZE = 10;
2206
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2207
+ static constexpr const char *message_name() { return "bluetooth_device_pairing_response"; }
2208
+ #endif
1864
2209
  uint64_t address{0};
1865
2210
  bool paired{false};
1866
2211
  int32_t error{0};
@@ -1875,6 +2220,11 @@ class BluetoothDevicePairingResponse : public ProtoMessage {
1875
2220
  };
1876
2221
  class BluetoothDeviceUnpairingResponse : public ProtoMessage {
1877
2222
  public:
2223
+ static constexpr uint16_t MESSAGE_TYPE = 86;
2224
+ static constexpr uint16_t ESTIMATED_SIZE = 10;
2225
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2226
+ static constexpr const char *message_name() { return "bluetooth_device_unpairing_response"; }
2227
+ #endif
1878
2228
  uint64_t address{0};
1879
2229
  bool success{false};
1880
2230
  int32_t error{0};
@@ -1889,6 +2239,11 @@ class BluetoothDeviceUnpairingResponse : public ProtoMessage {
1889
2239
  };
1890
2240
  class UnsubscribeBluetoothLEAdvertisementsRequest : public ProtoMessage {
1891
2241
  public:
2242
+ static constexpr uint16_t MESSAGE_TYPE = 87;
2243
+ static constexpr uint16_t ESTIMATED_SIZE = 0;
2244
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2245
+ static constexpr const char *message_name() { return "unsubscribe_bluetooth_le_advertisements_request"; }
2246
+ #endif
1892
2247
  void encode(ProtoWriteBuffer buffer) const override;
1893
2248
  void calculate_size(uint32_t &total_size) const override;
1894
2249
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -1899,6 +2254,11 @@ class UnsubscribeBluetoothLEAdvertisementsRequest : public ProtoMessage {
1899
2254
  };
1900
2255
  class BluetoothDeviceClearCacheResponse : public ProtoMessage {
1901
2256
  public:
2257
+ static constexpr uint16_t MESSAGE_TYPE = 88;
2258
+ static constexpr uint16_t ESTIMATED_SIZE = 10;
2259
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2260
+ static constexpr const char *message_name() { return "bluetooth_device_clear_cache_response"; }
2261
+ #endif
1902
2262
  uint64_t address{0};
1903
2263
  bool success{false};
1904
2264
  int32_t error{0};
@@ -1913,6 +2273,11 @@ class BluetoothDeviceClearCacheResponse : public ProtoMessage {
1913
2273
  };
1914
2274
  class BluetoothScannerStateResponse : public ProtoMessage {
1915
2275
  public:
2276
+ static constexpr uint16_t MESSAGE_TYPE = 126;
2277
+ static constexpr uint16_t ESTIMATED_SIZE = 4;
2278
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2279
+ static constexpr const char *message_name() { return "bluetooth_scanner_state_response"; }
2280
+ #endif
1916
2281
  enums::BluetoothScannerState state{};
1917
2282
  enums::BluetoothScannerMode mode{};
1918
2283
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1926,6 +2291,11 @@ class BluetoothScannerStateResponse : public ProtoMessage {
1926
2291
  };
1927
2292
  class BluetoothScannerSetModeRequest : public ProtoMessage {
1928
2293
  public:
2294
+ static constexpr uint16_t MESSAGE_TYPE = 127;
2295
+ static constexpr uint16_t ESTIMATED_SIZE = 2;
2296
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2297
+ static constexpr const char *message_name() { return "bluetooth_scanner_set_mode_request"; }
2298
+ #endif
1929
2299
  enums::BluetoothScannerMode mode{};
1930
2300
  void encode(ProtoWriteBuffer buffer) const override;
1931
2301
  void calculate_size(uint32_t &total_size) const override;
@@ -1938,6 +2308,11 @@ class BluetoothScannerSetModeRequest : public ProtoMessage {
1938
2308
  };
1939
2309
  class SubscribeVoiceAssistantRequest : public ProtoMessage {
1940
2310
  public:
2311
+ static constexpr uint16_t MESSAGE_TYPE = 89;
2312
+ static constexpr uint16_t ESTIMATED_SIZE = 6;
2313
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2314
+ static constexpr const char *message_name() { return "subscribe_voice_assistant_request"; }
2315
+ #endif
1941
2316
  bool subscribe{false};
1942
2317
  uint32_t flags{0};
1943
2318
  void encode(ProtoWriteBuffer buffer) const override;
@@ -1966,6 +2341,11 @@ class VoiceAssistantAudioSettings : public ProtoMessage {
1966
2341
  };
1967
2342
  class VoiceAssistantRequest : public ProtoMessage {
1968
2343
  public:
2344
+ static constexpr uint16_t MESSAGE_TYPE = 90;
2345
+ static constexpr uint16_t ESTIMATED_SIZE = 41;
2346
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2347
+ static constexpr const char *message_name() { return "voice_assistant_request"; }
2348
+ #endif
1969
2349
  bool start{false};
1970
2350
  std::string conversation_id{};
1971
2351
  uint32_t flags{0};
@@ -1983,6 +2363,11 @@ class VoiceAssistantRequest : public ProtoMessage {
1983
2363
  };
1984
2364
  class VoiceAssistantResponse : public ProtoMessage {
1985
2365
  public:
2366
+ static constexpr uint16_t MESSAGE_TYPE = 91;
2367
+ static constexpr uint16_t ESTIMATED_SIZE = 6;
2368
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2369
+ static constexpr const char *message_name() { return "voice_assistant_response"; }
2370
+ #endif
1986
2371
  uint32_t port{0};
1987
2372
  bool error{false};
1988
2373
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2009,6 +2394,11 @@ class VoiceAssistantEventData : public ProtoMessage {
2009
2394
  };
2010
2395
  class VoiceAssistantEventResponse : public ProtoMessage {
2011
2396
  public:
2397
+ static constexpr uint16_t MESSAGE_TYPE = 92;
2398
+ static constexpr uint16_t ESTIMATED_SIZE = 36;
2399
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2400
+ static constexpr const char *message_name() { return "voice_assistant_event_response"; }
2401
+ #endif
2012
2402
  enums::VoiceAssistantEvent event_type{};
2013
2403
  std::vector<VoiceAssistantEventData> data{};
2014
2404
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2023,6 +2413,11 @@ class VoiceAssistantEventResponse : public ProtoMessage {
2023
2413
  };
2024
2414
  class VoiceAssistantAudio : public ProtoMessage {
2025
2415
  public:
2416
+ static constexpr uint16_t MESSAGE_TYPE = 106;
2417
+ static constexpr uint16_t ESTIMATED_SIZE = 11;
2418
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2419
+ static constexpr const char *message_name() { return "voice_assistant_audio"; }
2420
+ #endif
2026
2421
  std::string data{};
2027
2422
  bool end{false};
2028
2423
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2037,6 +2432,11 @@ class VoiceAssistantAudio : public ProtoMessage {
2037
2432
  };
2038
2433
  class VoiceAssistantTimerEventResponse : public ProtoMessage {
2039
2434
  public:
2435
+ static constexpr uint16_t MESSAGE_TYPE = 115;
2436
+ static constexpr uint16_t ESTIMATED_SIZE = 30;
2437
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2438
+ static constexpr const char *message_name() { return "voice_assistant_timer_event_response"; }
2439
+ #endif
2040
2440
  enums::VoiceAssistantTimerEvent event_type{};
2041
2441
  std::string timer_id{};
2042
2442
  std::string name{};
@@ -2055,6 +2455,11 @@ class VoiceAssistantTimerEventResponse : public ProtoMessage {
2055
2455
  };
2056
2456
  class VoiceAssistantAnnounceRequest : public ProtoMessage {
2057
2457
  public:
2458
+ static constexpr uint16_t MESSAGE_TYPE = 119;
2459
+ static constexpr uint16_t ESTIMATED_SIZE = 29;
2460
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2461
+ static constexpr const char *message_name() { return "voice_assistant_announce_request"; }
2462
+ #endif
2058
2463
  std::string media_id{};
2059
2464
  std::string text{};
2060
2465
  std::string preannounce_media_id{};
@@ -2071,6 +2476,11 @@ class VoiceAssistantAnnounceRequest : public ProtoMessage {
2071
2476
  };
2072
2477
  class VoiceAssistantAnnounceFinished : public ProtoMessage {
2073
2478
  public:
2479
+ static constexpr uint16_t MESSAGE_TYPE = 120;
2480
+ static constexpr uint16_t ESTIMATED_SIZE = 2;
2481
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2482
+ static constexpr const char *message_name() { return "voice_assistant_announce_finished"; }
2483
+ #endif
2074
2484
  bool success{false};
2075
2485
  void encode(ProtoWriteBuffer buffer) const override;
2076
2486
  void calculate_size(uint32_t &total_size) const override;
@@ -2097,6 +2507,11 @@ class VoiceAssistantWakeWord : public ProtoMessage {
2097
2507
  };
2098
2508
  class VoiceAssistantConfigurationRequest : public ProtoMessage {
2099
2509
  public:
2510
+ static constexpr uint16_t MESSAGE_TYPE = 121;
2511
+ static constexpr uint16_t ESTIMATED_SIZE = 0;
2512
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2513
+ static constexpr const char *message_name() { return "voice_assistant_configuration_request"; }
2514
+ #endif
2100
2515
  void encode(ProtoWriteBuffer buffer) const override;
2101
2516
  void calculate_size(uint32_t &total_size) const override;
2102
2517
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -2107,6 +2522,11 @@ class VoiceAssistantConfigurationRequest : public ProtoMessage {
2107
2522
  };
2108
2523
  class VoiceAssistantConfigurationResponse : public ProtoMessage {
2109
2524
  public:
2525
+ static constexpr uint16_t MESSAGE_TYPE = 122;
2526
+ static constexpr uint16_t ESTIMATED_SIZE = 56;
2527
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2528
+ static constexpr const char *message_name() { return "voice_assistant_configuration_response"; }
2529
+ #endif
2110
2530
  std::vector<VoiceAssistantWakeWord> available_wake_words{};
2111
2531
  std::vector<std::string> active_wake_words{};
2112
2532
  uint32_t max_active_wake_words{0};
@@ -2122,6 +2542,11 @@ class VoiceAssistantConfigurationResponse : public ProtoMessage {
2122
2542
  };
2123
2543
  class VoiceAssistantSetConfiguration : public ProtoMessage {
2124
2544
  public:
2545
+ static constexpr uint16_t MESSAGE_TYPE = 123;
2546
+ static constexpr uint16_t ESTIMATED_SIZE = 18;
2547
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2548
+ static constexpr const char *message_name() { return "voice_assistant_set_configuration"; }
2549
+ #endif
2125
2550
  std::vector<std::string> active_wake_words{};
2126
2551
  void encode(ProtoWriteBuffer buffer) const override;
2127
2552
  void calculate_size(uint32_t &total_size) const override;
@@ -2132,15 +2557,13 @@ class VoiceAssistantSetConfiguration : public ProtoMessage {
2132
2557
  protected:
2133
2558
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2134
2559
  };
2135
- class ListEntitiesAlarmControlPanelResponse : public ProtoMessage {
2560
+ class ListEntitiesAlarmControlPanelResponse : public InfoResponseProtoMessage {
2136
2561
  public:
2137
- std::string object_id{};
2138
- uint32_t key{0};
2139
- std::string name{};
2140
- std::string unique_id{};
2141
- std::string icon{};
2142
- bool disabled_by_default{false};
2143
- enums::EntityCategory entity_category{};
2562
+ static constexpr uint16_t MESSAGE_TYPE = 94;
2563
+ static constexpr uint16_t ESTIMATED_SIZE = 53;
2564
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2565
+ static constexpr const char *message_name() { return "list_entities_alarm_control_panel_response"; }
2566
+ #endif
2144
2567
  uint32_t supported_features{0};
2145
2568
  bool requires_code{false};
2146
2569
  bool requires_code_to_arm{false};
@@ -2155,9 +2578,13 @@ class ListEntitiesAlarmControlPanelResponse : public ProtoMessage {
2155
2578
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2156
2579
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2157
2580
  };
2158
- class AlarmControlPanelStateResponse : public ProtoMessage {
2581
+ class AlarmControlPanelStateResponse : public StateResponseProtoMessage {
2159
2582
  public:
2160
- uint32_t key{0};
2583
+ static constexpr uint16_t MESSAGE_TYPE = 95;
2584
+ static constexpr uint16_t ESTIMATED_SIZE = 7;
2585
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2586
+ static constexpr const char *message_name() { return "alarm_control_panel_state_response"; }
2587
+ #endif
2161
2588
  enums::AlarmControlPanelState state{};
2162
2589
  void encode(ProtoWriteBuffer buffer) const override;
2163
2590
  void calculate_size(uint32_t &total_size) const override;
@@ -2171,6 +2598,11 @@ class AlarmControlPanelStateResponse : public ProtoMessage {
2171
2598
  };
2172
2599
  class AlarmControlPanelCommandRequest : public ProtoMessage {
2173
2600
  public:
2601
+ static constexpr uint16_t MESSAGE_TYPE = 96;
2602
+ static constexpr uint16_t ESTIMATED_SIZE = 16;
2603
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2604
+ static constexpr const char *message_name() { return "alarm_control_panel_command_request"; }
2605
+ #endif
2174
2606
  uint32_t key{0};
2175
2607
  enums::AlarmControlPanelStateCommand command{};
2176
2608
  std::string code{};
@@ -2185,15 +2617,13 @@ class AlarmControlPanelCommandRequest : public ProtoMessage {
2185
2617
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2186
2618
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2187
2619
  };
2188
- class ListEntitiesTextResponse : public ProtoMessage {
2620
+ class ListEntitiesTextResponse : public InfoResponseProtoMessage {
2189
2621
  public:
2190
- std::string object_id{};
2191
- uint32_t key{0};
2192
- std::string name{};
2193
- std::string unique_id{};
2194
- std::string icon{};
2195
- bool disabled_by_default{false};
2196
- enums::EntityCategory entity_category{};
2622
+ static constexpr uint16_t MESSAGE_TYPE = 97;
2623
+ static constexpr uint16_t ESTIMATED_SIZE = 64;
2624
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2625
+ static constexpr const char *message_name() { return "list_entities_text_response"; }
2626
+ #endif
2197
2627
  uint32_t min_length{0};
2198
2628
  uint32_t max_length{0};
2199
2629
  std::string pattern{};
@@ -2209,9 +2639,13 @@ class ListEntitiesTextResponse : public ProtoMessage {
2209
2639
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2210
2640
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2211
2641
  };
2212
- class TextStateResponse : public ProtoMessage {
2642
+ class TextStateResponse : public StateResponseProtoMessage {
2213
2643
  public:
2214
- uint32_t key{0};
2644
+ static constexpr uint16_t MESSAGE_TYPE = 98;
2645
+ static constexpr uint16_t ESTIMATED_SIZE = 16;
2646
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2647
+ static constexpr const char *message_name() { return "text_state_response"; }
2648
+ #endif
2215
2649
  std::string state{};
2216
2650
  bool missing_state{false};
2217
2651
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2227,6 +2661,11 @@ class TextStateResponse : public ProtoMessage {
2227
2661
  };
2228
2662
  class TextCommandRequest : public ProtoMessage {
2229
2663
  public:
2664
+ static constexpr uint16_t MESSAGE_TYPE = 99;
2665
+ static constexpr uint16_t ESTIMATED_SIZE = 14;
2666
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2667
+ static constexpr const char *message_name() { return "text_command_request"; }
2668
+ #endif
2230
2669
  uint32_t key{0};
2231
2670
  std::string state{};
2232
2671
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2239,15 +2678,13 @@ class TextCommandRequest : public ProtoMessage {
2239
2678
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2240
2679
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2241
2680
  };
2242
- class ListEntitiesDateResponse : public ProtoMessage {
2681
+ class ListEntitiesDateResponse : public InfoResponseProtoMessage {
2243
2682
  public:
2244
- std::string object_id{};
2245
- uint32_t key{0};
2246
- std::string name{};
2247
- std::string unique_id{};
2248
- std::string icon{};
2249
- bool disabled_by_default{false};
2250
- enums::EntityCategory entity_category{};
2683
+ static constexpr uint16_t MESSAGE_TYPE = 100;
2684
+ static constexpr uint16_t ESTIMATED_SIZE = 45;
2685
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2686
+ static constexpr const char *message_name() { return "list_entities_date_response"; }
2687
+ #endif
2251
2688
  void encode(ProtoWriteBuffer buffer) const override;
2252
2689
  void calculate_size(uint32_t &total_size) const override;
2253
2690
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -2259,9 +2696,13 @@ class ListEntitiesDateResponse : public ProtoMessage {
2259
2696
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2260
2697
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2261
2698
  };
2262
- class DateStateResponse : public ProtoMessage {
2699
+ class DateStateResponse : public StateResponseProtoMessage {
2263
2700
  public:
2264
- uint32_t key{0};
2701
+ static constexpr uint16_t MESSAGE_TYPE = 101;
2702
+ static constexpr uint16_t ESTIMATED_SIZE = 19;
2703
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2704
+ static constexpr const char *message_name() { return "date_state_response"; }
2705
+ #endif
2265
2706
  bool missing_state{false};
2266
2707
  uint32_t year{0};
2267
2708
  uint32_t month{0};
@@ -2278,6 +2719,11 @@ class DateStateResponse : public ProtoMessage {
2278
2719
  };
2279
2720
  class DateCommandRequest : public ProtoMessage {
2280
2721
  public:
2722
+ static constexpr uint16_t MESSAGE_TYPE = 102;
2723
+ static constexpr uint16_t ESTIMATED_SIZE = 17;
2724
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2725
+ static constexpr const char *message_name() { return "date_command_request"; }
2726
+ #endif
2281
2727
  uint32_t key{0};
2282
2728
  uint32_t year{0};
2283
2729
  uint32_t month{0};
@@ -2292,15 +2738,13 @@ class DateCommandRequest : public ProtoMessage {
2292
2738
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2293
2739
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2294
2740
  };
2295
- class ListEntitiesTimeResponse : public ProtoMessage {
2741
+ class ListEntitiesTimeResponse : public InfoResponseProtoMessage {
2296
2742
  public:
2297
- std::string object_id{};
2298
- uint32_t key{0};
2299
- std::string name{};
2300
- std::string unique_id{};
2301
- std::string icon{};
2302
- bool disabled_by_default{false};
2303
- enums::EntityCategory entity_category{};
2743
+ static constexpr uint16_t MESSAGE_TYPE = 103;
2744
+ static constexpr uint16_t ESTIMATED_SIZE = 45;
2745
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2746
+ static constexpr const char *message_name() { return "list_entities_time_response"; }
2747
+ #endif
2304
2748
  void encode(ProtoWriteBuffer buffer) const override;
2305
2749
  void calculate_size(uint32_t &total_size) const override;
2306
2750
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -2312,9 +2756,13 @@ class ListEntitiesTimeResponse : public ProtoMessage {
2312
2756
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2313
2757
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2314
2758
  };
2315
- class TimeStateResponse : public ProtoMessage {
2759
+ class TimeStateResponse : public StateResponseProtoMessage {
2316
2760
  public:
2317
- uint32_t key{0};
2761
+ static constexpr uint16_t MESSAGE_TYPE = 104;
2762
+ static constexpr uint16_t ESTIMATED_SIZE = 19;
2763
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2764
+ static constexpr const char *message_name() { return "time_state_response"; }
2765
+ #endif
2318
2766
  bool missing_state{false};
2319
2767
  uint32_t hour{0};
2320
2768
  uint32_t minute{0};
@@ -2331,6 +2779,11 @@ class TimeStateResponse : public ProtoMessage {
2331
2779
  };
2332
2780
  class TimeCommandRequest : public ProtoMessage {
2333
2781
  public:
2782
+ static constexpr uint16_t MESSAGE_TYPE = 105;
2783
+ static constexpr uint16_t ESTIMATED_SIZE = 17;
2784
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2785
+ static constexpr const char *message_name() { return "time_command_request"; }
2786
+ #endif
2334
2787
  uint32_t key{0};
2335
2788
  uint32_t hour{0};
2336
2789
  uint32_t minute{0};
@@ -2345,15 +2798,13 @@ class TimeCommandRequest : public ProtoMessage {
2345
2798
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2346
2799
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2347
2800
  };
2348
- class ListEntitiesEventResponse : public ProtoMessage {
2801
+ class ListEntitiesEventResponse : public InfoResponseProtoMessage {
2349
2802
  public:
2350
- std::string object_id{};
2351
- uint32_t key{0};
2352
- std::string name{};
2353
- std::string unique_id{};
2354
- std::string icon{};
2355
- bool disabled_by_default{false};
2356
- enums::EntityCategory entity_category{};
2803
+ static constexpr uint16_t MESSAGE_TYPE = 107;
2804
+ static constexpr uint16_t ESTIMATED_SIZE = 72;
2805
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2806
+ static constexpr const char *message_name() { return "list_entities_event_response"; }
2807
+ #endif
2357
2808
  std::string device_class{};
2358
2809
  std::vector<std::string> event_types{};
2359
2810
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2367,9 +2818,13 @@ class ListEntitiesEventResponse : public ProtoMessage {
2367
2818
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2368
2819
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2369
2820
  };
2370
- class EventResponse : public ProtoMessage {
2821
+ class EventResponse : public StateResponseProtoMessage {
2371
2822
  public:
2372
- uint32_t key{0};
2823
+ static constexpr uint16_t MESSAGE_TYPE = 108;
2824
+ static constexpr uint16_t ESTIMATED_SIZE = 14;
2825
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2826
+ static constexpr const char *message_name() { return "event_response"; }
2827
+ #endif
2373
2828
  std::string event_type{};
2374
2829
  void encode(ProtoWriteBuffer buffer) const override;
2375
2830
  void calculate_size(uint32_t &total_size) const override;
@@ -2381,15 +2836,13 @@ class EventResponse : public ProtoMessage {
2381
2836
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2382
2837
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2383
2838
  };
2384
- class ListEntitiesValveResponse : public ProtoMessage {
2839
+ class ListEntitiesValveResponse : public InfoResponseProtoMessage {
2385
2840
  public:
2386
- std::string object_id{};
2387
- uint32_t key{0};
2388
- std::string name{};
2389
- std::string unique_id{};
2390
- std::string icon{};
2391
- bool disabled_by_default{false};
2392
- enums::EntityCategory entity_category{};
2841
+ static constexpr uint16_t MESSAGE_TYPE = 109;
2842
+ static constexpr uint16_t ESTIMATED_SIZE = 60;
2843
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2844
+ static constexpr const char *message_name() { return "list_entities_valve_response"; }
2845
+ #endif
2393
2846
  std::string device_class{};
2394
2847
  bool assumed_state{false};
2395
2848
  bool supports_position{false};
@@ -2405,9 +2858,13 @@ class ListEntitiesValveResponse : public ProtoMessage {
2405
2858
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2406
2859
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2407
2860
  };
2408
- class ValveStateResponse : public ProtoMessage {
2861
+ class ValveStateResponse : public StateResponseProtoMessage {
2409
2862
  public:
2410
- uint32_t key{0};
2863
+ static constexpr uint16_t MESSAGE_TYPE = 110;
2864
+ static constexpr uint16_t ESTIMATED_SIZE = 12;
2865
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2866
+ static constexpr const char *message_name() { return "valve_state_response"; }
2867
+ #endif
2411
2868
  float position{0.0f};
2412
2869
  enums::ValveOperation current_operation{};
2413
2870
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2422,6 +2879,11 @@ class ValveStateResponse : public ProtoMessage {
2422
2879
  };
2423
2880
  class ValveCommandRequest : public ProtoMessage {
2424
2881
  public:
2882
+ static constexpr uint16_t MESSAGE_TYPE = 111;
2883
+ static constexpr uint16_t ESTIMATED_SIZE = 14;
2884
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2885
+ static constexpr const char *message_name() { return "valve_command_request"; }
2886
+ #endif
2425
2887
  uint32_t key{0};
2426
2888
  bool has_position{false};
2427
2889
  float position{0.0f};
@@ -2436,15 +2898,13 @@ class ValveCommandRequest : public ProtoMessage {
2436
2898
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2437
2899
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2438
2900
  };
2439
- class ListEntitiesDateTimeResponse : public ProtoMessage {
2901
+ class ListEntitiesDateTimeResponse : public InfoResponseProtoMessage {
2440
2902
  public:
2441
- std::string object_id{};
2442
- uint32_t key{0};
2443
- std::string name{};
2444
- std::string unique_id{};
2445
- std::string icon{};
2446
- bool disabled_by_default{false};
2447
- enums::EntityCategory entity_category{};
2903
+ static constexpr uint16_t MESSAGE_TYPE = 112;
2904
+ static constexpr uint16_t ESTIMATED_SIZE = 45;
2905
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2906
+ static constexpr const char *message_name() { return "list_entities_date_time_response"; }
2907
+ #endif
2448
2908
  void encode(ProtoWriteBuffer buffer) const override;
2449
2909
  void calculate_size(uint32_t &total_size) const override;
2450
2910
  #ifdef HAS_PROTO_MESSAGE_DUMP
@@ -2456,9 +2916,13 @@ class ListEntitiesDateTimeResponse : public ProtoMessage {
2456
2916
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2457
2917
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2458
2918
  };
2459
- class DateTimeStateResponse : public ProtoMessage {
2919
+ class DateTimeStateResponse : public StateResponseProtoMessage {
2460
2920
  public:
2461
- uint32_t key{0};
2921
+ static constexpr uint16_t MESSAGE_TYPE = 113;
2922
+ static constexpr uint16_t ESTIMATED_SIZE = 12;
2923
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2924
+ static constexpr const char *message_name() { return "date_time_state_response"; }
2925
+ #endif
2462
2926
  bool missing_state{false};
2463
2927
  uint32_t epoch_seconds{0};
2464
2928
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2473,6 +2937,11 @@ class DateTimeStateResponse : public ProtoMessage {
2473
2937
  };
2474
2938
  class DateTimeCommandRequest : public ProtoMessage {
2475
2939
  public:
2940
+ static constexpr uint16_t MESSAGE_TYPE = 114;
2941
+ static constexpr uint16_t ESTIMATED_SIZE = 10;
2942
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2943
+ static constexpr const char *message_name() { return "date_time_command_request"; }
2944
+ #endif
2476
2945
  uint32_t key{0};
2477
2946
  uint32_t epoch_seconds{0};
2478
2947
  void encode(ProtoWriteBuffer buffer) const override;
@@ -2484,15 +2953,13 @@ class DateTimeCommandRequest : public ProtoMessage {
2484
2953
  protected:
2485
2954
  bool decode_32bit(uint32_t field_id, Proto32Bit value) override;
2486
2955
  };
2487
- class ListEntitiesUpdateResponse : public ProtoMessage {
2956
+ class ListEntitiesUpdateResponse : public InfoResponseProtoMessage {
2488
2957
  public:
2489
- std::string object_id{};
2490
- uint32_t key{0};
2491
- std::string name{};
2492
- std::string unique_id{};
2493
- std::string icon{};
2494
- bool disabled_by_default{false};
2495
- enums::EntityCategory entity_category{};
2958
+ static constexpr uint16_t MESSAGE_TYPE = 116;
2959
+ static constexpr uint16_t ESTIMATED_SIZE = 54;
2960
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2961
+ static constexpr const char *message_name() { return "list_entities_update_response"; }
2962
+ #endif
2496
2963
  std::string device_class{};
2497
2964
  void encode(ProtoWriteBuffer buffer) const override;
2498
2965
  void calculate_size(uint32_t &total_size) const override;
@@ -2505,9 +2972,13 @@ class ListEntitiesUpdateResponse : public ProtoMessage {
2505
2972
  bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
2506
2973
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
2507
2974
  };
2508
- class UpdateStateResponse : public ProtoMessage {
2975
+ class UpdateStateResponse : public StateResponseProtoMessage {
2509
2976
  public:
2510
- uint32_t key{0};
2977
+ static constexpr uint16_t MESSAGE_TYPE = 117;
2978
+ static constexpr uint16_t ESTIMATED_SIZE = 61;
2979
+ #ifdef HAS_PROTO_MESSAGE_DUMP
2980
+ static constexpr const char *message_name() { return "update_state_response"; }
2981
+ #endif
2511
2982
  bool missing_state{false};
2512
2983
  bool in_progress{false};
2513
2984
  bool has_progress{false};
@@ -2530,6 +3001,11 @@ class UpdateStateResponse : public ProtoMessage {
2530
3001
  };
2531
3002
  class UpdateCommandRequest : public ProtoMessage {
2532
3003
  public:
3004
+ static constexpr uint16_t MESSAGE_TYPE = 118;
3005
+ static constexpr uint16_t ESTIMATED_SIZE = 7;
3006
+ #ifdef HAS_PROTO_MESSAGE_DUMP
3007
+ static constexpr const char *message_name() { return "update_command_request"; }
3008
+ #endif
2533
3009
  uint32_t key{0};
2534
3010
  enums::UpdateCommand command{};
2535
3011
  void encode(ProtoWriteBuffer buffer) const override;