ESPHome 2026.3.0
Loading...
Searching...
No Matches
api_pb2.cpp
Go to the documentation of this file.
1// This file was automatically generated with a tool.
2// See script/api_protobuf/api_protobuf.py
3#include "api_pb2.h"
4#include "esphome/core/log.h"
6#include <cstring>
7
8namespace esphome::api {
9
11 switch (field_id) {
12 case 2:
13 this->api_version_major = value;
14 break;
15 case 3:
16 this->api_version_minor = value;
17 break;
18 default:
19 return false;
20 }
21 return true;
22}
24 switch (field_id) {
25 case 1: {
26 this->client_info = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
27 break;
28 }
29 default:
30 return false;
31 }
32 return true;
33}
35 buffer.encode_uint32(1, this->api_version_major);
36 buffer.encode_uint32(2, this->api_version_minor);
37 buffer.encode_string(3, this->server_info);
38 buffer.encode_string(4, this->name);
39}
41 uint32_t size = 0;
44 size += ProtoSize::calc_length(1, this->server_info.size());
45 size += ProtoSize::calc_length(1, this->name.size());
46 return size;
47}
48#ifdef USE_AREAS
50 buffer.encode_uint32(1, this->area_id);
51 buffer.encode_string(2, this->name);
52}
54 uint32_t size = 0;
55 size += ProtoSize::calc_uint32(1, this->area_id);
56 size += ProtoSize::calc_length(1, this->name.size());
57 return size;
58}
59#endif
60#ifdef USE_DEVICES
62 buffer.encode_uint32(1, this->device_id);
63 buffer.encode_string(2, this->name);
64 buffer.encode_uint32(3, this->area_id);
65}
67 uint32_t size = 0;
68 size += ProtoSize::calc_uint32(1, this->device_id);
69 size += ProtoSize::calc_length(1, this->name.size());
70 size += ProtoSize::calc_uint32(1, this->area_id);
71 return size;
72}
73#endif
74#ifdef USE_SERIAL_PROXY
76 buffer.encode_string(1, this->name);
77 buffer.encode_uint32(2, static_cast<uint32_t>(this->port_type));
78}
80 uint32_t size = 0;
81 size += ProtoSize::calc_length(1, this->name.size());
82 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->port_type));
83 return size;
84}
85#endif
87 buffer.encode_string(2, this->name);
88 buffer.encode_string(3, this->mac_address);
89 buffer.encode_string(4, this->esphome_version);
90 buffer.encode_string(5, this->compilation_time);
91 buffer.encode_string(6, this->model);
92#ifdef USE_DEEP_SLEEP
93 buffer.encode_bool(7, this->has_deep_sleep);
94#endif
95#ifdef ESPHOME_PROJECT_NAME
96 buffer.encode_string(8, this->project_name);
97#endif
98#ifdef ESPHOME_PROJECT_NAME
99 buffer.encode_string(9, this->project_version);
100#endif
101#ifdef USE_WEBSERVER
102 buffer.encode_uint32(10, this->webserver_port);
103#endif
104#ifdef USE_BLUETOOTH_PROXY
106#endif
107 buffer.encode_string(12, this->manufacturer);
108 buffer.encode_string(13, this->friendly_name);
109#ifdef USE_VOICE_ASSISTANT
111#endif
112#ifdef USE_AREAS
113 buffer.encode_string(16, this->suggested_area);
114#endif
115#ifdef USE_BLUETOOTH_PROXY
116 buffer.encode_string(18, this->bluetooth_mac_address);
117#endif
118#ifdef USE_API_NOISE
119 buffer.encode_bool(19, this->api_encryption_supported);
120#endif
121#ifdef USE_DEVICES
122 for (const auto &it : this->devices) {
123 buffer.encode_sub_message(20, it);
124 }
125#endif
126#ifdef USE_AREAS
127 for (const auto &it : this->areas) {
128 buffer.encode_sub_message(21, it);
129 }
130#endif
131#ifdef USE_AREAS
132 buffer.encode_optional_sub_message(22, this->area);
133#endif
134#ifdef USE_ZWAVE_PROXY
136#endif
137#ifdef USE_ZWAVE_PROXY
138 buffer.encode_uint32(24, this->zwave_home_id);
139#endif
140#ifdef USE_SERIAL_PROXY
141 for (const auto &it : this->serial_proxies) {
142 buffer.encode_sub_message(25, it);
143 }
144#endif
145}
147 uint32_t size = 0;
148 size += ProtoSize::calc_length(1, this->name.size());
149 size += ProtoSize::calc_length(1, this->mac_address.size());
150 size += ProtoSize::calc_length(1, this->esphome_version.size());
151 size += ProtoSize::calc_length(1, this->compilation_time.size());
152 size += ProtoSize::calc_length(1, this->model.size());
153#ifdef USE_DEEP_SLEEP
154 size += ProtoSize::calc_bool(1, this->has_deep_sleep);
155#endif
156#ifdef ESPHOME_PROJECT_NAME
157 size += ProtoSize::calc_length(1, this->project_name.size());
158#endif
159#ifdef ESPHOME_PROJECT_NAME
160 size += ProtoSize::calc_length(1, this->project_version.size());
161#endif
162#ifdef USE_WEBSERVER
163 size += ProtoSize::calc_uint32(1, this->webserver_port);
164#endif
165#ifdef USE_BLUETOOTH_PROXY
167#endif
168 size += ProtoSize::calc_length(1, this->manufacturer.size());
169 size += ProtoSize::calc_length(1, this->friendly_name.size());
170#ifdef USE_VOICE_ASSISTANT
172#endif
173#ifdef USE_AREAS
174 size += ProtoSize::calc_length(2, this->suggested_area.size());
175#endif
176#ifdef USE_BLUETOOTH_PROXY
178#endif
179#ifdef USE_API_NOISE
181#endif
182#ifdef USE_DEVICES
183 for (const auto &it : this->devices) {
184 size += ProtoSize::calc_message_force(2, it.calculate_size());
185 }
186#endif
187#ifdef USE_AREAS
188 for (const auto &it : this->areas) {
189 size += ProtoSize::calc_message_force(2, it.calculate_size());
190 }
191#endif
192#ifdef USE_AREAS
194#endif
195#ifdef USE_ZWAVE_PROXY
197#endif
198#ifdef USE_ZWAVE_PROXY
199 size += ProtoSize::calc_uint32(2, this->zwave_home_id);
200#endif
201#ifdef USE_SERIAL_PROXY
202 for (const auto &it : this->serial_proxies) {
203 size += ProtoSize::calc_message_force(2, it.calculate_size());
204 }
205#endif
206 return size;
207}
208#ifdef USE_BINARY_SENSOR
210 buffer.encode_string(1, this->object_id);
211 buffer.encode_fixed32(2, this->key);
212 buffer.encode_string(3, this->name);
213 buffer.encode_string(5, this->device_class);
214 buffer.encode_bool(6, this->is_status_binary_sensor);
215 buffer.encode_bool(7, this->disabled_by_default);
216#ifdef USE_ENTITY_ICON
217 buffer.encode_string(8, this->icon);
218#endif
219 buffer.encode_uint32(9, static_cast<uint32_t>(this->entity_category));
220#ifdef USE_DEVICES
221 buffer.encode_uint32(10, this->device_id);
222#endif
223}
225 uint32_t size = 0;
226 size += ProtoSize::calc_length(1, this->object_id.size());
227 size += ProtoSize::calc_fixed32(1, this->key);
228 size += ProtoSize::calc_length(1, this->name.size());
229 size += ProtoSize::calc_length(1, this->device_class.size());
232#ifdef USE_ENTITY_ICON
233 size += ProtoSize::calc_length(1, this->icon.size());
234#endif
235 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
236#ifdef USE_DEVICES
237 size += ProtoSize::calc_uint32(1, this->device_id);
238#endif
239 return size;
240}
242 buffer.encode_fixed32(1, this->key);
243 buffer.encode_bool(2, this->state);
244 buffer.encode_bool(3, this->missing_state);
245#ifdef USE_DEVICES
246 buffer.encode_uint32(4, this->device_id);
247#endif
248}
250 uint32_t size = 0;
251 size += ProtoSize::calc_fixed32(1, this->key);
252 size += ProtoSize::calc_bool(1, this->state);
253 size += ProtoSize::calc_bool(1, this->missing_state);
254#ifdef USE_DEVICES
255 size += ProtoSize::calc_uint32(1, this->device_id);
256#endif
257 return size;
258}
259#endif
260#ifdef USE_COVER
262 buffer.encode_string(1, this->object_id);
263 buffer.encode_fixed32(2, this->key);
264 buffer.encode_string(3, this->name);
265 buffer.encode_bool(5, this->assumed_state);
266 buffer.encode_bool(6, this->supports_position);
267 buffer.encode_bool(7, this->supports_tilt);
268 buffer.encode_string(8, this->device_class);
269 buffer.encode_bool(9, this->disabled_by_default);
270#ifdef USE_ENTITY_ICON
271 buffer.encode_string(10, this->icon);
272#endif
273 buffer.encode_uint32(11, static_cast<uint32_t>(this->entity_category));
274 buffer.encode_bool(12, this->supports_stop);
275#ifdef USE_DEVICES
276 buffer.encode_uint32(13, this->device_id);
277#endif
278}
280 uint32_t size = 0;
281 size += ProtoSize::calc_length(1, this->object_id.size());
282 size += ProtoSize::calc_fixed32(1, this->key);
283 size += ProtoSize::calc_length(1, this->name.size());
284 size += ProtoSize::calc_bool(1, this->assumed_state);
285 size += ProtoSize::calc_bool(1, this->supports_position);
286 size += ProtoSize::calc_bool(1, this->supports_tilt);
287 size += ProtoSize::calc_length(1, this->device_class.size());
289#ifdef USE_ENTITY_ICON
290 size += ProtoSize::calc_length(1, this->icon.size());
291#endif
292 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
293 size += ProtoSize::calc_bool(1, this->supports_stop);
294#ifdef USE_DEVICES
295 size += ProtoSize::calc_uint32(1, this->device_id);
296#endif
297 return size;
298}
300 buffer.encode_fixed32(1, this->key);
301 buffer.encode_float(3, this->position);
302 buffer.encode_float(4, this->tilt);
303 buffer.encode_uint32(5, static_cast<uint32_t>(this->current_operation));
304#ifdef USE_DEVICES
305 buffer.encode_uint32(6, this->device_id);
306#endif
307}
309 uint32_t size = 0;
310 size += ProtoSize::calc_fixed32(1, this->key);
311 size += ProtoSize::calc_float(1, this->position);
312 size += ProtoSize::calc_float(1, this->tilt);
313 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->current_operation));
314#ifdef USE_DEVICES
315 size += ProtoSize::calc_uint32(1, this->device_id);
316#endif
317 return size;
318}
320 switch (field_id) {
321 case 4:
322 this->has_position = value != 0;
323 break;
324 case 6:
325 this->has_tilt = value != 0;
326 break;
327 case 8:
328 this->stop = value != 0;
329 break;
330#ifdef USE_DEVICES
331 case 9:
332 this->device_id = value;
333 break;
334#endif
335 default:
336 return false;
337 }
338 return true;
339}
341 switch (field_id) {
342 case 1:
343 this->key = value.as_fixed32();
344 break;
345 case 5:
346 this->position = value.as_float();
347 break;
348 case 7:
349 this->tilt = value.as_float();
350 break;
351 default:
352 return false;
353 }
354 return true;
355}
356#endif
357#ifdef USE_FAN
359 buffer.encode_string(1, this->object_id);
360 buffer.encode_fixed32(2, this->key);
361 buffer.encode_string(3, this->name);
362 buffer.encode_bool(5, this->supports_oscillation);
363 buffer.encode_bool(6, this->supports_speed);
364 buffer.encode_bool(7, this->supports_direction);
365 buffer.encode_int32(8, this->supported_speed_count);
366 buffer.encode_bool(9, this->disabled_by_default);
367#ifdef USE_ENTITY_ICON
368 buffer.encode_string(10, this->icon);
369#endif
370 buffer.encode_uint32(11, static_cast<uint32_t>(this->entity_category));
371 for (const char *it : *this->supported_preset_modes) {
372 buffer.encode_string(12, it, strlen(it), true);
373 }
374#ifdef USE_DEVICES
375 buffer.encode_uint32(13, this->device_id);
376#endif
377}
379 uint32_t size = 0;
380 size += ProtoSize::calc_length(1, this->object_id.size());
381 size += ProtoSize::calc_fixed32(1, this->key);
382 size += ProtoSize::calc_length(1, this->name.size());
384 size += ProtoSize::calc_bool(1, this->supports_speed);
388#ifdef USE_ENTITY_ICON
389 size += ProtoSize::calc_length(1, this->icon.size());
390#endif
391 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
392 if (!this->supported_preset_modes->empty()) {
393 for (const char *it : *this->supported_preset_modes) {
394 size += ProtoSize::calc_length_force(1, strlen(it));
395 }
396 }
397#ifdef USE_DEVICES
399#endif
400 return size;
401}
403 buffer.encode_fixed32(1, this->key);
404 buffer.encode_bool(2, this->state);
405 buffer.encode_bool(3, this->oscillating);
406 buffer.encode_uint32(5, static_cast<uint32_t>(this->direction));
407 buffer.encode_int32(6, this->speed_level);
408 buffer.encode_string(7, this->preset_mode);
409#ifdef USE_DEVICES
410 buffer.encode_uint32(8, this->device_id);
411#endif
412}
414 uint32_t size = 0;
415 size += ProtoSize::calc_fixed32(1, this->key);
416 size += ProtoSize::calc_bool(1, this->state);
417 size += ProtoSize::calc_bool(1, this->oscillating);
418 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->direction));
419 size += ProtoSize::calc_int32(1, this->speed_level);
420 size += ProtoSize::calc_length(1, this->preset_mode.size());
421#ifdef USE_DEVICES
422 size += ProtoSize::calc_uint32(1, this->device_id);
423#endif
424 return size;
425}
427 switch (field_id) {
428 case 2:
429 this->has_state = value != 0;
430 break;
431 case 3:
432 this->state = value != 0;
433 break;
434 case 6:
435 this->has_oscillating = value != 0;
436 break;
437 case 7:
438 this->oscillating = value != 0;
439 break;
440 case 8:
441 this->has_direction = value != 0;
442 break;
443 case 9:
444 this->direction = static_cast<enums::FanDirection>(value);
445 break;
446 case 10:
447 this->has_speed_level = value != 0;
448 break;
449 case 11:
450 this->speed_level = static_cast<int32_t>(value);
451 break;
452 case 12:
453 this->has_preset_mode = value != 0;
454 break;
455#ifdef USE_DEVICES
456 case 14:
457 this->device_id = value;
458 break;
459#endif
460 default:
461 return false;
462 }
463 return true;
464}
466 switch (field_id) {
467 case 13: {
468 this->preset_mode = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
469 break;
470 }
471 default:
472 return false;
473 }
474 return true;
475}
477 switch (field_id) {
478 case 1:
479 this->key = value.as_fixed32();
480 break;
481 default:
482 return false;
483 }
484 return true;
485}
486#endif
487#ifdef USE_LIGHT
489 buffer.encode_string(1, this->object_id);
490 buffer.encode_fixed32(2, this->key);
491 buffer.encode_string(3, this->name);
492 for (const auto &it : *this->supported_color_modes) {
493 buffer.encode_uint32(12, static_cast<uint32_t>(it), true);
494 }
495 buffer.encode_float(9, this->min_mireds);
496 buffer.encode_float(10, this->max_mireds);
497 for (const char *it : *this->effects) {
498 buffer.encode_string(11, it, strlen(it), true);
499 }
500 buffer.encode_bool(13, this->disabled_by_default);
501#ifdef USE_ENTITY_ICON
502 buffer.encode_string(14, this->icon);
503#endif
504 buffer.encode_uint32(15, static_cast<uint32_t>(this->entity_category));
505#ifdef USE_DEVICES
506 buffer.encode_uint32(16, this->device_id);
507#endif
508}
510 uint32_t size = 0;
511 size += ProtoSize::calc_length(1, this->object_id.size());
512 size += ProtoSize::calc_fixed32(1, this->key);
513 size += ProtoSize::calc_length(1, this->name.size());
514 if (!this->supported_color_modes->empty()) {
515 for (const auto &it : *this->supported_color_modes) {
516 size += ProtoSize::calc_uint32_force(1, static_cast<uint32_t>(it));
517 }
518 }
520 size += ProtoSize::calc_float(1, this->max_mireds);
521 if (!this->effects->empty()) {
522 for (const char *it : *this->effects) {
523 size += ProtoSize::calc_length_force(1, strlen(it));
524 }
525 }
527#ifdef USE_ENTITY_ICON
528 size += ProtoSize::calc_length(1, this->icon.size());
529#endif
530 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
531#ifdef USE_DEVICES
532 size += ProtoSize::calc_uint32(2, this->device_id);
533#endif
534 return size;
535}
537 buffer.encode_fixed32(1, this->key);
538 buffer.encode_bool(2, this->state);
539 buffer.encode_float(3, this->brightness);
540 buffer.encode_uint32(11, static_cast<uint32_t>(this->color_mode));
541 buffer.encode_float(10, this->color_brightness);
542 buffer.encode_float(4, this->red);
543 buffer.encode_float(5, this->green);
544 buffer.encode_float(6, this->blue);
545 buffer.encode_float(7, this->white);
546 buffer.encode_float(8, this->color_temperature);
547 buffer.encode_float(12, this->cold_white);
548 buffer.encode_float(13, this->warm_white);
549 buffer.encode_string(9, this->effect);
550#ifdef USE_DEVICES
551 buffer.encode_uint32(14, this->device_id);
552#endif
553}
555 uint32_t size = 0;
556 size += ProtoSize::calc_fixed32(1, this->key);
557 size += ProtoSize::calc_bool(1, this->state);
558 size += ProtoSize::calc_float(1, this->brightness);
559 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->color_mode));
560 size += ProtoSize::calc_float(1, this->color_brightness);
561 size += ProtoSize::calc_float(1, this->red);
562 size += ProtoSize::calc_float(1, this->green);
563 size += ProtoSize::calc_float(1, this->blue);
564 size += ProtoSize::calc_float(1, this->white);
566 size += ProtoSize::calc_float(1, this->cold_white);
567 size += ProtoSize::calc_float(1, this->warm_white);
568 size += ProtoSize::calc_length(1, this->effect.size());
569#ifdef USE_DEVICES
570 size += ProtoSize::calc_uint32(1, this->device_id);
571#endif
572 return size;
573}
575 switch (field_id) {
576 case 2:
577 this->has_state = value != 0;
578 break;
579 case 3:
580 this->state = value != 0;
581 break;
582 case 4:
583 this->has_brightness = value != 0;
584 break;
585 case 22:
586 this->has_color_mode = value != 0;
587 break;
588 case 23:
589 this->color_mode = static_cast<enums::ColorMode>(value);
590 break;
591 case 20:
592 this->has_color_brightness = value != 0;
593 break;
594 case 6:
595 this->has_rgb = value != 0;
596 break;
597 case 10:
598 this->has_white = value != 0;
599 break;
600 case 12:
601 this->has_color_temperature = value != 0;
602 break;
603 case 24:
604 this->has_cold_white = value != 0;
605 break;
606 case 26:
607 this->has_warm_white = value != 0;
608 break;
609 case 14:
610 this->has_transition_length = value != 0;
611 break;
612 case 15:
613 this->transition_length = value;
614 break;
615 case 16:
616 this->has_flash_length = value != 0;
617 break;
618 case 17:
619 this->flash_length = value;
620 break;
621 case 18:
622 this->has_effect = value != 0;
623 break;
624#ifdef USE_DEVICES
625 case 28:
626 this->device_id = value;
627 break;
628#endif
629 default:
630 return false;
631 }
632 return true;
633}
635 switch (field_id) {
636 case 19: {
637 this->effect = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
638 break;
639 }
640 default:
641 return false;
642 }
643 return true;
644}
646 switch (field_id) {
647 case 1:
648 this->key = value.as_fixed32();
649 break;
650 case 5:
651 this->brightness = value.as_float();
652 break;
653 case 21:
654 this->color_brightness = value.as_float();
655 break;
656 case 7:
657 this->red = value.as_float();
658 break;
659 case 8:
660 this->green = value.as_float();
661 break;
662 case 9:
663 this->blue = value.as_float();
664 break;
665 case 11:
666 this->white = value.as_float();
667 break;
668 case 13:
669 this->color_temperature = value.as_float();
670 break;
671 case 25:
672 this->cold_white = value.as_float();
673 break;
674 case 27:
675 this->warm_white = value.as_float();
676 break;
677 default:
678 return false;
679 }
680 return true;
681}
682#endif
683#ifdef USE_SENSOR
685 buffer.encode_string(1, this->object_id);
686 buffer.encode_fixed32(2, this->key);
687 buffer.encode_string(3, this->name);
688#ifdef USE_ENTITY_ICON
689 buffer.encode_string(5, this->icon);
690#endif
691 buffer.encode_string(6, this->unit_of_measurement);
692 buffer.encode_int32(7, this->accuracy_decimals);
693 buffer.encode_bool(8, this->force_update);
694 buffer.encode_string(9, this->device_class);
695 buffer.encode_uint32(10, static_cast<uint32_t>(this->state_class));
696 buffer.encode_bool(12, this->disabled_by_default);
697 buffer.encode_uint32(13, static_cast<uint32_t>(this->entity_category));
698#ifdef USE_DEVICES
699 buffer.encode_uint32(14, this->device_id);
700#endif
701}
703 uint32_t size = 0;
704 size += ProtoSize::calc_length(1, this->object_id.size());
705 size += ProtoSize::calc_fixed32(1, this->key);
706 size += ProtoSize::calc_length(1, this->name.size());
707#ifdef USE_ENTITY_ICON
708 size += ProtoSize::calc_length(1, this->icon.size());
709#endif
712 size += ProtoSize::calc_bool(1, this->force_update);
713 size += ProtoSize::calc_length(1, this->device_class.size());
714 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->state_class));
716 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
717#ifdef USE_DEVICES
718 size += ProtoSize::calc_uint32(1, this->device_id);
719#endif
720 return size;
721}
723 buffer.encode_fixed32(1, this->key);
724 buffer.encode_float(2, this->state);
725 buffer.encode_bool(3, this->missing_state);
726#ifdef USE_DEVICES
727 buffer.encode_uint32(4, this->device_id);
728#endif
729}
731 uint32_t size = 0;
732 size += ProtoSize::calc_fixed32(1, this->key);
733 size += ProtoSize::calc_float(1, this->state);
734 size += ProtoSize::calc_bool(1, this->missing_state);
735#ifdef USE_DEVICES
736 size += ProtoSize::calc_uint32(1, this->device_id);
737#endif
738 return size;
739}
740#endif
741#ifdef USE_SWITCH
743 buffer.encode_string(1, this->object_id);
744 buffer.encode_fixed32(2, this->key);
745 buffer.encode_string(3, this->name);
746#ifdef USE_ENTITY_ICON
747 buffer.encode_string(5, this->icon);
748#endif
749 buffer.encode_bool(6, this->assumed_state);
750 buffer.encode_bool(7, this->disabled_by_default);
751 buffer.encode_uint32(8, static_cast<uint32_t>(this->entity_category));
752 buffer.encode_string(9, this->device_class);
753#ifdef USE_DEVICES
754 buffer.encode_uint32(10, this->device_id);
755#endif
756}
758 uint32_t size = 0;
759 size += ProtoSize::calc_length(1, this->object_id.size());
760 size += ProtoSize::calc_fixed32(1, this->key);
761 size += ProtoSize::calc_length(1, this->name.size());
762#ifdef USE_ENTITY_ICON
763 size += ProtoSize::calc_length(1, this->icon.size());
764#endif
765 size += ProtoSize::calc_bool(1, this->assumed_state);
767 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
768 size += ProtoSize::calc_length(1, this->device_class.size());
769#ifdef USE_DEVICES
770 size += ProtoSize::calc_uint32(1, this->device_id);
771#endif
772 return size;
773}
775 buffer.encode_fixed32(1, this->key);
776 buffer.encode_bool(2, this->state);
777#ifdef USE_DEVICES
778 buffer.encode_uint32(3, this->device_id);
779#endif
780}
782 uint32_t size = 0;
783 size += ProtoSize::calc_fixed32(1, this->key);
784 size += ProtoSize::calc_bool(1, this->state);
785#ifdef USE_DEVICES
786 size += ProtoSize::calc_uint32(1, this->device_id);
787#endif
788 return size;
789}
791 switch (field_id) {
792 case 2:
793 this->state = value != 0;
794 break;
795#ifdef USE_DEVICES
796 case 3:
797 this->device_id = value;
798 break;
799#endif
800 default:
801 return false;
802 }
803 return true;
804}
806 switch (field_id) {
807 case 1:
808 this->key = value.as_fixed32();
809 break;
810 default:
811 return false;
812 }
813 return true;
814}
815#endif
816#ifdef USE_TEXT_SENSOR
818 buffer.encode_string(1, this->object_id);
819 buffer.encode_fixed32(2, this->key);
820 buffer.encode_string(3, this->name);
821#ifdef USE_ENTITY_ICON
822 buffer.encode_string(5, this->icon);
823#endif
824 buffer.encode_bool(6, this->disabled_by_default);
825 buffer.encode_uint32(7, static_cast<uint32_t>(this->entity_category));
826 buffer.encode_string(8, this->device_class);
827#ifdef USE_DEVICES
828 buffer.encode_uint32(9, this->device_id);
829#endif
830}
832 uint32_t size = 0;
833 size += ProtoSize::calc_length(1, this->object_id.size());
834 size += ProtoSize::calc_fixed32(1, this->key);
835 size += ProtoSize::calc_length(1, this->name.size());
836#ifdef USE_ENTITY_ICON
837 size += ProtoSize::calc_length(1, this->icon.size());
838#endif
840 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
841 size += ProtoSize::calc_length(1, this->device_class.size());
842#ifdef USE_DEVICES
843 size += ProtoSize::calc_uint32(1, this->device_id);
844#endif
845 return size;
846}
848 buffer.encode_fixed32(1, this->key);
849 buffer.encode_string(2, this->state);
850 buffer.encode_bool(3, this->missing_state);
851#ifdef USE_DEVICES
852 buffer.encode_uint32(4, this->device_id);
853#endif
854}
856 uint32_t size = 0;
857 size += ProtoSize::calc_fixed32(1, this->key);
858 size += ProtoSize::calc_length(1, this->state.size());
859 size += ProtoSize::calc_bool(1, this->missing_state);
860#ifdef USE_DEVICES
861 size += ProtoSize::calc_uint32(1, this->device_id);
862#endif
863 return size;
864}
865#endif
867 switch (field_id) {
868 case 1:
869 this->level = static_cast<enums::LogLevel>(value);
870 break;
871 case 2:
872 this->dump_config = value != 0;
873 break;
874 default:
875 return false;
876 }
877 return true;
878}
880 buffer.encode_uint32(1, static_cast<uint32_t>(this->level));
881 buffer.encode_bytes(3, this->message_ptr_, this->message_len_);
882}
884 uint32_t size = 0;
885 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->level));
886 size += ProtoSize::calc_length(1, this->message_len_);
887 return size;
888}
889#ifdef USE_API_NOISE
891 switch (field_id) {
892 case 1: {
893 this->key = value.data();
894 this->key_len = value.size();
895 break;
896 }
897 default:
898 return false;
899 }
900 return true;
901}
908#endif
909#ifdef USE_API_HOMEASSISTANT_SERVICES
911 buffer.encode_string(1, this->key);
912 buffer.encode_string(2, this->value);
913}
915 uint32_t size = 0;
916 size += ProtoSize::calc_length(1, this->key.size());
917 size += ProtoSize::calc_length(1, this->value.size());
918 return size;
919}
921 buffer.encode_string(1, this->service);
922 for (auto &it : this->data) {
923 buffer.encode_sub_message(2, it);
924 }
925 for (auto &it : this->data_template) {
926 buffer.encode_sub_message(3, it);
927 }
928 for (auto &it : this->variables) {
929 buffer.encode_sub_message(4, it);
930 }
931 buffer.encode_bool(5, this->is_event);
932#ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES
933 buffer.encode_uint32(6, this->call_id);
934#endif
935#ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES_JSON
936 buffer.encode_bool(7, this->wants_response);
937#endif
938#ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES_JSON
939 buffer.encode_string(8, this->response_template);
940#endif
941}
943 uint32_t size = 0;
944 size += ProtoSize::calc_length(1, this->service.size());
945 if (!this->data.empty()) {
946 for (const auto &it : this->data) {
947 size += ProtoSize::calc_message_force(1, it.calculate_size());
948 }
949 }
950 if (!this->data_template.empty()) {
951 for (const auto &it : this->data_template) {
952 size += ProtoSize::calc_message_force(1, it.calculate_size());
953 }
954 }
955 if (!this->variables.empty()) {
956 for (const auto &it : this->variables) {
957 size += ProtoSize::calc_message_force(1, it.calculate_size());
958 }
959 }
961#ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES
962 size += ProtoSize::calc_uint32(1, this->call_id);
963#endif
964#ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES_JSON
965 size += ProtoSize::calc_bool(1, this->wants_response);
966#endif
967#ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES_JSON
969#endif
970 return size;
971}
972#endif
973#ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES
975 switch (field_id) {
976 case 1:
977 this->call_id = value;
978 break;
979 case 2:
980 this->success = value != 0;
981 break;
982 default:
983 return false;
984 }
985 return true;
986}
988 switch (field_id) {
989 case 3: {
990 this->error_message = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
991 break;
992 }
993#ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES_JSON
994 case 4: {
995 this->response_data = value.data();
996 this->response_data_len = value.size();
997 break;
998 }
999#endif
1000 default:
1001 return false;
1002 }
1003 return true;
1004}
1005#endif
1006#ifdef USE_API_HOMEASSISTANT_STATES
1008 buffer.encode_string(1, this->entity_id);
1009 buffer.encode_string(2, this->attribute);
1010 buffer.encode_bool(3, this->once);
1011}
1013 uint32_t size = 0;
1014 size += ProtoSize::calc_length(1, this->entity_id.size());
1015 size += ProtoSize::calc_length(1, this->attribute.size());
1016 size += ProtoSize::calc_bool(1, this->once);
1017 return size;
1018}
1020 switch (field_id) {
1021 case 1: {
1022 this->entity_id = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
1023 break;
1024 }
1025 case 2: {
1026 this->state = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
1027 break;
1028 }
1029 case 3: {
1030 this->attribute = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
1031 break;
1032 }
1033 default:
1034 return false;
1035 }
1036 return true;
1037}
1038#endif
1040 switch (field_id) {
1041 case 1:
1042 this->time_seconds = decode_zigzag32(static_cast<uint32_t>(value));
1043 break;
1044 case 2:
1045 this->day = value;
1046 break;
1047 case 3:
1048 this->type = static_cast<enums::DSTRuleType>(value);
1049 break;
1050 case 4:
1051 this->month = value;
1052 break;
1053 case 5:
1054 this->week = value;
1055 break;
1056 case 6:
1057 this->day_of_week = value;
1058 break;
1059 default:
1060 return false;
1061 }
1062 return true;
1063}
1065 switch (field_id) {
1066 case 1:
1067 this->std_offset_seconds = decode_zigzag32(static_cast<uint32_t>(value));
1068 break;
1069 case 2:
1070 this->dst_offset_seconds = decode_zigzag32(static_cast<uint32_t>(value));
1071 break;
1072 default:
1073 return false;
1074 }
1075 return true;
1076}
1078 switch (field_id) {
1079 case 3:
1080 value.decode_to_message(this->dst_start);
1081 break;
1082 case 4:
1083 value.decode_to_message(this->dst_end);
1084 break;
1085 default:
1086 return false;
1087 }
1088 return true;
1089}
1091 switch (field_id) {
1092 case 2: {
1093 this->timezone = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
1094 break;
1095 }
1096 case 3:
1098 break;
1099 default:
1100 return false;
1101 }
1102 return true;
1103}
1105 switch (field_id) {
1106 case 1:
1107 this->epoch_seconds = value.as_fixed32();
1108 break;
1109 default:
1110 return false;
1111 }
1112 return true;
1113}
1114#ifdef USE_API_USER_DEFINED_ACTIONS
1116 buffer.encode_string(1, this->name);
1117 buffer.encode_uint32(2, static_cast<uint32_t>(this->type));
1118}
1120 uint32_t size = 0;
1121 size += ProtoSize::calc_length(1, this->name.size());
1122 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->type));
1123 return size;
1124}
1126 buffer.encode_string(1, this->name);
1127 buffer.encode_fixed32(2, this->key);
1128 for (auto &it : this->args) {
1129 buffer.encode_sub_message(3, it);
1130 }
1131 buffer.encode_uint32(4, static_cast<uint32_t>(this->supports_response));
1132}
1134 uint32_t size = 0;
1135 size += ProtoSize::calc_length(1, this->name.size());
1136 size += ProtoSize::calc_fixed32(1, this->key);
1137 if (!this->args.empty()) {
1138 for (const auto &it : this->args) {
1139 size += ProtoSize::calc_message_force(1, it.calculate_size());
1140 }
1141 }
1142 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->supports_response));
1143 return size;
1144}
1146 switch (field_id) {
1147 case 1:
1148 this->bool_ = value != 0;
1149 break;
1150 case 2:
1151 this->legacy_int = static_cast<int32_t>(value);
1152 break;
1153 case 5:
1154 this->int_ = decode_zigzag32(static_cast<uint32_t>(value));
1155 break;
1156 case 6:
1157 this->bool_array.push_back(value != 0);
1158 break;
1159 case 7:
1160 this->int_array.push_back(decode_zigzag32(static_cast<uint32_t>(value)));
1161 break;
1162 default:
1163 return false;
1164 }
1165 return true;
1166}
1168 switch (field_id) {
1169 case 4: {
1170 this->string_ = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
1171 break;
1172 }
1173 case 9:
1174 this->string_array.push_back(value.as_string());
1175 break;
1176 default:
1177 return false;
1178 }
1179 return true;
1180}
1182 switch (field_id) {
1183 case 3:
1184 this->float_ = value.as_float();
1185 break;
1186 case 8:
1187 this->float_array.push_back(value.as_float());
1188 break;
1189 default:
1190 return false;
1191 }
1192 return true;
1193}
1194void ExecuteServiceArgument::decode(const uint8_t *buffer, size_t length) {
1195 uint32_t count_bool_array = ProtoDecodableMessage::count_repeated_field(buffer, length, 6);
1196 this->bool_array.init(count_bool_array);
1197 uint32_t count_int_array = ProtoDecodableMessage::count_repeated_field(buffer, length, 7);
1198 this->int_array.init(count_int_array);
1199 uint32_t count_float_array = ProtoDecodableMessage::count_repeated_field(buffer, length, 8);
1200 this->float_array.init(count_float_array);
1201 uint32_t count_string_array = ProtoDecodableMessage::count_repeated_field(buffer, length, 9);
1202 this->string_array.init(count_string_array);
1204}
1206 switch (field_id) {
1207#ifdef USE_API_USER_DEFINED_ACTION_RESPONSES
1208 case 3:
1209 this->call_id = value;
1210 break;
1211#endif
1212#ifdef USE_API_USER_DEFINED_ACTION_RESPONSES
1213 case 4:
1214 this->return_response = value != 0;
1215 break;
1216#endif
1217 default:
1218 return false;
1219 }
1220 return true;
1221}
1223 switch (field_id) {
1224 case 2:
1225 this->args.emplace_back();
1226 value.decode_to_message(this->args.back());
1227 break;
1228 default:
1229 return false;
1230 }
1231 return true;
1232}
1234 switch (field_id) {
1235 case 1:
1236 this->key = value.as_fixed32();
1237 break;
1238 default:
1239 return false;
1240 }
1241 return true;
1242}
1243void ExecuteServiceRequest::decode(const uint8_t *buffer, size_t length) {
1245 this->args.init(count_args);
1247}
1248#endif
1249#ifdef USE_API_USER_DEFINED_ACTION_RESPONSES
1251 buffer.encode_uint32(1, this->call_id);
1252 buffer.encode_bool(2, this->success);
1253 buffer.encode_string(3, this->error_message);
1254#ifdef USE_API_USER_DEFINED_ACTION_RESPONSES_JSON
1255 buffer.encode_bytes(4, this->response_data, this->response_data_len);
1256#endif
1257}
1259 uint32_t size = 0;
1260 size += ProtoSize::calc_uint32(1, this->call_id);
1261 size += ProtoSize::calc_bool(1, this->success);
1262 size += ProtoSize::calc_length(1, this->error_message.size());
1263#ifdef USE_API_USER_DEFINED_ACTION_RESPONSES_JSON
1264 size += ProtoSize::calc_length(1, this->response_data_len);
1265#endif
1266 return size;
1267}
1268#endif
1269#ifdef USE_CAMERA
1271 buffer.encode_string(1, this->object_id);
1272 buffer.encode_fixed32(2, this->key);
1273 buffer.encode_string(3, this->name);
1274 buffer.encode_bool(5, this->disabled_by_default);
1275#ifdef USE_ENTITY_ICON
1276 buffer.encode_string(6, this->icon);
1277#endif
1278 buffer.encode_uint32(7, static_cast<uint32_t>(this->entity_category));
1279#ifdef USE_DEVICES
1280 buffer.encode_uint32(8, this->device_id);
1281#endif
1282}
1284 uint32_t size = 0;
1285 size += ProtoSize::calc_length(1, this->object_id.size());
1286 size += ProtoSize::calc_fixed32(1, this->key);
1287 size += ProtoSize::calc_length(1, this->name.size());
1288 size += ProtoSize::calc_bool(1, this->disabled_by_default);
1289#ifdef USE_ENTITY_ICON
1290 size += ProtoSize::calc_length(1, this->icon.size());
1291#endif
1292 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
1293#ifdef USE_DEVICES
1294 size += ProtoSize::calc_uint32(1, this->device_id);
1295#endif
1296 return size;
1297}
1299 buffer.encode_fixed32(1, this->key);
1300 buffer.encode_bytes(2, this->data_ptr_, this->data_len_);
1301 buffer.encode_bool(3, this->done);
1302#ifdef USE_DEVICES
1303 buffer.encode_uint32(4, this->device_id);
1304#endif
1305}
1307 uint32_t size = 0;
1308 size += ProtoSize::calc_fixed32(1, this->key);
1309 size += ProtoSize::calc_length(1, this->data_len_);
1310 size += ProtoSize::calc_bool(1, this->done);
1311#ifdef USE_DEVICES
1312 size += ProtoSize::calc_uint32(1, this->device_id);
1313#endif
1314 return size;
1315}
1317 switch (field_id) {
1318 case 1:
1319 this->single = value != 0;
1320 break;
1321 case 2:
1322 this->stream = value != 0;
1323 break;
1324 default:
1325 return false;
1326 }
1327 return true;
1328}
1329#endif
1330#ifdef USE_CLIMATE
1332 buffer.encode_string(1, this->object_id);
1333 buffer.encode_fixed32(2, this->key);
1334 buffer.encode_string(3, this->name);
1337 for (const auto &it : *this->supported_modes) {
1338 buffer.encode_uint32(7, static_cast<uint32_t>(it), true);
1339 }
1340 buffer.encode_float(8, this->visual_min_temperature);
1341 buffer.encode_float(9, this->visual_max_temperature);
1342 buffer.encode_float(10, this->visual_target_temperature_step);
1343 buffer.encode_bool(12, this->supports_action);
1344 for (const auto &it : *this->supported_fan_modes) {
1345 buffer.encode_uint32(13, static_cast<uint32_t>(it), true);
1346 }
1347 for (const auto &it : *this->supported_swing_modes) {
1348 buffer.encode_uint32(14, static_cast<uint32_t>(it), true);
1349 }
1350 for (const char *it : *this->supported_custom_fan_modes) {
1351 buffer.encode_string(15, it, strlen(it), true);
1352 }
1353 for (const auto &it : *this->supported_presets) {
1354 buffer.encode_uint32(16, static_cast<uint32_t>(it), true);
1355 }
1356 for (const char *it : *this->supported_custom_presets) {
1357 buffer.encode_string(17, it, strlen(it), true);
1358 }
1359 buffer.encode_bool(18, this->disabled_by_default);
1360#ifdef USE_ENTITY_ICON
1361 buffer.encode_string(19, this->icon);
1362#endif
1363 buffer.encode_uint32(20, static_cast<uint32_t>(this->entity_category));
1364 buffer.encode_float(21, this->visual_current_temperature_step);
1365 buffer.encode_bool(22, this->supports_current_humidity);
1366 buffer.encode_bool(23, this->supports_target_humidity);
1367 buffer.encode_float(24, this->visual_min_humidity);
1368 buffer.encode_float(25, this->visual_max_humidity);
1369#ifdef USE_DEVICES
1370 buffer.encode_uint32(26, this->device_id);
1371#endif
1372 buffer.encode_uint32(27, this->feature_flags);
1373}
1375 uint32_t size = 0;
1376 size += ProtoSize::calc_length(1, this->object_id.size());
1377 size += ProtoSize::calc_fixed32(1, this->key);
1378 size += ProtoSize::calc_length(1, this->name.size());
1381 if (!this->supported_modes->empty()) {
1382 for (const auto &it : *this->supported_modes) {
1383 size += ProtoSize::calc_uint32_force(1, static_cast<uint32_t>(it));
1384 }
1385 }
1389 size += ProtoSize::calc_bool(1, this->supports_action);
1390 if (!this->supported_fan_modes->empty()) {
1391 for (const auto &it : *this->supported_fan_modes) {
1392 size += ProtoSize::calc_uint32_force(1, static_cast<uint32_t>(it));
1393 }
1394 }
1395 if (!this->supported_swing_modes->empty()) {
1396 for (const auto &it : *this->supported_swing_modes) {
1397 size += ProtoSize::calc_uint32_force(1, static_cast<uint32_t>(it));
1398 }
1399 }
1400 if (!this->supported_custom_fan_modes->empty()) {
1401 for (const char *it : *this->supported_custom_fan_modes) {
1402 size += ProtoSize::calc_length_force(1, strlen(it));
1403 }
1404 }
1405 if (!this->supported_presets->empty()) {
1406 for (const auto &it : *this->supported_presets) {
1407 size += ProtoSize::calc_uint32_force(2, static_cast<uint32_t>(it));
1408 }
1409 }
1410 if (!this->supported_custom_presets->empty()) {
1411 for (const char *it : *this->supported_custom_presets) {
1412 size += ProtoSize::calc_length_force(2, strlen(it));
1413 }
1414 }
1416#ifdef USE_ENTITY_ICON
1417 size += ProtoSize::calc_length(2, this->icon.size());
1418#endif
1419 size += ProtoSize::calc_uint32(2, static_cast<uint32_t>(this->entity_category));
1425#ifdef USE_DEVICES
1426 size += ProtoSize::calc_uint32(2, this->device_id);
1427#endif
1428 size += ProtoSize::calc_uint32(2, this->feature_flags);
1429 return size;
1430}
1432 buffer.encode_fixed32(1, this->key);
1433 buffer.encode_uint32(2, static_cast<uint32_t>(this->mode));
1434 buffer.encode_float(3, this->current_temperature);
1435 buffer.encode_float(4, this->target_temperature);
1436 buffer.encode_float(5, this->target_temperature_low);
1437 buffer.encode_float(6, this->target_temperature_high);
1438 buffer.encode_uint32(8, static_cast<uint32_t>(this->action));
1439 buffer.encode_uint32(9, static_cast<uint32_t>(this->fan_mode));
1440 buffer.encode_uint32(10, static_cast<uint32_t>(this->swing_mode));
1441 buffer.encode_string(11, this->custom_fan_mode);
1442 buffer.encode_uint32(12, static_cast<uint32_t>(this->preset));
1443 buffer.encode_string(13, this->custom_preset);
1444 buffer.encode_float(14, this->current_humidity);
1445 buffer.encode_float(15, this->target_humidity);
1446#ifdef USE_DEVICES
1447 buffer.encode_uint32(16, this->device_id);
1448#endif
1449}
1451 uint32_t size = 0;
1452 size += ProtoSize::calc_fixed32(1, this->key);
1453 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->mode));
1455 size += ProtoSize::calc_float(1, this->target_temperature);
1458 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->action));
1459 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->fan_mode));
1460 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->swing_mode));
1461 size += ProtoSize::calc_length(1, this->custom_fan_mode.size());
1462 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->preset));
1463 size += ProtoSize::calc_length(1, this->custom_preset.size());
1464 size += ProtoSize::calc_float(1, this->current_humidity);
1465 size += ProtoSize::calc_float(1, this->target_humidity);
1466#ifdef USE_DEVICES
1467 size += ProtoSize::calc_uint32(2, this->device_id);
1468#endif
1469 return size;
1470}
1472 switch (field_id) {
1473 case 2:
1474 this->has_mode = value != 0;
1475 break;
1476 case 3:
1477 this->mode = static_cast<enums::ClimateMode>(value);
1478 break;
1479 case 4:
1480 this->has_target_temperature = value != 0;
1481 break;
1482 case 6:
1483 this->has_target_temperature_low = value != 0;
1484 break;
1485 case 8:
1486 this->has_target_temperature_high = value != 0;
1487 break;
1488 case 12:
1489 this->has_fan_mode = value != 0;
1490 break;
1491 case 13:
1492 this->fan_mode = static_cast<enums::ClimateFanMode>(value);
1493 break;
1494 case 14:
1495 this->has_swing_mode = value != 0;
1496 break;
1497 case 15:
1498 this->swing_mode = static_cast<enums::ClimateSwingMode>(value);
1499 break;
1500 case 16:
1501 this->has_custom_fan_mode = value != 0;
1502 break;
1503 case 18:
1504 this->has_preset = value != 0;
1505 break;
1506 case 19:
1507 this->preset = static_cast<enums::ClimatePreset>(value);
1508 break;
1509 case 20:
1510 this->has_custom_preset = value != 0;
1511 break;
1512 case 22:
1513 this->has_target_humidity = value != 0;
1514 break;
1515#ifdef USE_DEVICES
1516 case 24:
1517 this->device_id = value;
1518 break;
1519#endif
1520 default:
1521 return false;
1522 }
1523 return true;
1524}
1526 switch (field_id) {
1527 case 17: {
1528 this->custom_fan_mode = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
1529 break;
1530 }
1531 case 21: {
1532 this->custom_preset = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
1533 break;
1534 }
1535 default:
1536 return false;
1537 }
1538 return true;
1539}
1541 switch (field_id) {
1542 case 1:
1543 this->key = value.as_fixed32();
1544 break;
1545 case 5:
1546 this->target_temperature = value.as_float();
1547 break;
1548 case 7:
1549 this->target_temperature_low = value.as_float();
1550 break;
1551 case 9:
1552 this->target_temperature_high = value.as_float();
1553 break;
1554 case 23:
1555 this->target_humidity = value.as_float();
1556 break;
1557 default:
1558 return false;
1559 }
1560 return true;
1561}
1562#endif
1563#ifdef USE_WATER_HEATER
1565 buffer.encode_string(1, this->object_id);
1566 buffer.encode_fixed32(2, this->key);
1567 buffer.encode_string(3, this->name);
1568#ifdef USE_ENTITY_ICON
1569 buffer.encode_string(4, this->icon);
1570#endif
1571 buffer.encode_bool(5, this->disabled_by_default);
1572 buffer.encode_uint32(6, static_cast<uint32_t>(this->entity_category));
1573#ifdef USE_DEVICES
1574 buffer.encode_uint32(7, this->device_id);
1575#endif
1576 buffer.encode_float(8, this->min_temperature);
1577 buffer.encode_float(9, this->max_temperature);
1578 buffer.encode_float(10, this->target_temperature_step);
1579 for (const auto &it : *this->supported_modes) {
1580 buffer.encode_uint32(11, static_cast<uint32_t>(it), true);
1581 }
1582 buffer.encode_uint32(12, this->supported_features);
1583}
1585 uint32_t size = 0;
1586 size += ProtoSize::calc_length(1, this->object_id.size());
1587 size += ProtoSize::calc_fixed32(1, this->key);
1588 size += ProtoSize::calc_length(1, this->name.size());
1589#ifdef USE_ENTITY_ICON
1590 size += ProtoSize::calc_length(1, this->icon.size());
1591#endif
1592 size += ProtoSize::calc_bool(1, this->disabled_by_default);
1593 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
1594#ifdef USE_DEVICES
1595 size += ProtoSize::calc_uint32(1, this->device_id);
1596#endif
1597 size += ProtoSize::calc_float(1, this->min_temperature);
1598 size += ProtoSize::calc_float(1, this->max_temperature);
1600 if (!this->supported_modes->empty()) {
1601 for (const auto &it : *this->supported_modes) {
1602 size += ProtoSize::calc_uint32_force(1, static_cast<uint32_t>(it));
1603 }
1604 }
1606 return size;
1607}
1609 buffer.encode_fixed32(1, this->key);
1610 buffer.encode_float(2, this->current_temperature);
1611 buffer.encode_float(3, this->target_temperature);
1612 buffer.encode_uint32(4, static_cast<uint32_t>(this->mode));
1613#ifdef USE_DEVICES
1614 buffer.encode_uint32(5, this->device_id);
1615#endif
1616 buffer.encode_uint32(6, this->state);
1617 buffer.encode_float(7, this->target_temperature_low);
1618 buffer.encode_float(8, this->target_temperature_high);
1619}
1621 uint32_t size = 0;
1622 size += ProtoSize::calc_fixed32(1, this->key);
1624 size += ProtoSize::calc_float(1, this->target_temperature);
1625 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->mode));
1626#ifdef USE_DEVICES
1627 size += ProtoSize::calc_uint32(1, this->device_id);
1628#endif
1629 size += ProtoSize::calc_uint32(1, this->state);
1632 return size;
1633}
1635 switch (field_id) {
1636 case 2:
1637 this->has_fields = value;
1638 break;
1639 case 3:
1640 this->mode = static_cast<enums::WaterHeaterMode>(value);
1641 break;
1642#ifdef USE_DEVICES
1643 case 5:
1644 this->device_id = value;
1645 break;
1646#endif
1647 case 6:
1648 this->state = value;
1649 break;
1650 default:
1651 return false;
1652 }
1653 return true;
1654}
1656 switch (field_id) {
1657 case 1:
1658 this->key = value.as_fixed32();
1659 break;
1660 case 4:
1661 this->target_temperature = value.as_float();
1662 break;
1663 case 7:
1664 this->target_temperature_low = value.as_float();
1665 break;
1666 case 8:
1667 this->target_temperature_high = value.as_float();
1668 break;
1669 default:
1670 return false;
1671 }
1672 return true;
1673}
1674#endif
1675#ifdef USE_NUMBER
1677 buffer.encode_string(1, this->object_id);
1678 buffer.encode_fixed32(2, this->key);
1679 buffer.encode_string(3, this->name);
1680#ifdef USE_ENTITY_ICON
1681 buffer.encode_string(5, this->icon);
1682#endif
1683 buffer.encode_float(6, this->min_value);
1684 buffer.encode_float(7, this->max_value);
1685 buffer.encode_float(8, this->step);
1686 buffer.encode_bool(9, this->disabled_by_default);
1687 buffer.encode_uint32(10, static_cast<uint32_t>(this->entity_category));
1688 buffer.encode_string(11, this->unit_of_measurement);
1689 buffer.encode_uint32(12, static_cast<uint32_t>(this->mode));
1690 buffer.encode_string(13, this->device_class);
1691#ifdef USE_DEVICES
1692 buffer.encode_uint32(14, this->device_id);
1693#endif
1694}
1696 uint32_t size = 0;
1697 size += ProtoSize::calc_length(1, this->object_id.size());
1698 size += ProtoSize::calc_fixed32(1, this->key);
1699 size += ProtoSize::calc_length(1, this->name.size());
1700#ifdef USE_ENTITY_ICON
1701 size += ProtoSize::calc_length(1, this->icon.size());
1702#endif
1703 size += ProtoSize::calc_float(1, this->min_value);
1704 size += ProtoSize::calc_float(1, this->max_value);
1705 size += ProtoSize::calc_float(1, this->step);
1706 size += ProtoSize::calc_bool(1, this->disabled_by_default);
1707 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
1709 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->mode));
1710 size += ProtoSize::calc_length(1, this->device_class.size());
1711#ifdef USE_DEVICES
1712 size += ProtoSize::calc_uint32(1, this->device_id);
1713#endif
1714 return size;
1715}
1717 buffer.encode_fixed32(1, this->key);
1718 buffer.encode_float(2, this->state);
1719 buffer.encode_bool(3, this->missing_state);
1720#ifdef USE_DEVICES
1721 buffer.encode_uint32(4, this->device_id);
1722#endif
1723}
1725 uint32_t size = 0;
1726 size += ProtoSize::calc_fixed32(1, this->key);
1727 size += ProtoSize::calc_float(1, this->state);
1728 size += ProtoSize::calc_bool(1, this->missing_state);
1729#ifdef USE_DEVICES
1730 size += ProtoSize::calc_uint32(1, this->device_id);
1731#endif
1732 return size;
1733}
1735 switch (field_id) {
1736#ifdef USE_DEVICES
1737 case 3:
1738 this->device_id = value;
1739 break;
1740#endif
1741 default:
1742 return false;
1743 }
1744 return true;
1745}
1747 switch (field_id) {
1748 case 1:
1749 this->key = value.as_fixed32();
1750 break;
1751 case 2:
1752 this->state = value.as_float();
1753 break;
1754 default:
1755 return false;
1756 }
1757 return true;
1758}
1759#endif
1760#ifdef USE_SELECT
1762 buffer.encode_string(1, this->object_id);
1763 buffer.encode_fixed32(2, this->key);
1764 buffer.encode_string(3, this->name);
1765#ifdef USE_ENTITY_ICON
1766 buffer.encode_string(5, this->icon);
1767#endif
1768 for (const char *it : *this->options) {
1769 buffer.encode_string(6, it, strlen(it), true);
1770 }
1771 buffer.encode_bool(7, this->disabled_by_default);
1772 buffer.encode_uint32(8, static_cast<uint32_t>(this->entity_category));
1773#ifdef USE_DEVICES
1774 buffer.encode_uint32(9, this->device_id);
1775#endif
1776}
1778 uint32_t size = 0;
1779 size += ProtoSize::calc_length(1, this->object_id.size());
1780 size += ProtoSize::calc_fixed32(1, this->key);
1781 size += ProtoSize::calc_length(1, this->name.size());
1782#ifdef USE_ENTITY_ICON
1783 size += ProtoSize::calc_length(1, this->icon.size());
1784#endif
1785 if (!this->options->empty()) {
1786 for (const char *it : *this->options) {
1787 size += ProtoSize::calc_length_force(1, strlen(it));
1788 }
1789 }
1791 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
1792#ifdef USE_DEVICES
1793 size += ProtoSize::calc_uint32(1, this->device_id);
1794#endif
1795 return size;
1796}
1798 buffer.encode_fixed32(1, this->key);
1799 buffer.encode_string(2, this->state);
1800 buffer.encode_bool(3, this->missing_state);
1801#ifdef USE_DEVICES
1802 buffer.encode_uint32(4, this->device_id);
1803#endif
1804}
1806 uint32_t size = 0;
1807 size += ProtoSize::calc_fixed32(1, this->key);
1808 size += ProtoSize::calc_length(1, this->state.size());
1809 size += ProtoSize::calc_bool(1, this->missing_state);
1810#ifdef USE_DEVICES
1811 size += ProtoSize::calc_uint32(1, this->device_id);
1812#endif
1813 return size;
1814}
1816 switch (field_id) {
1817#ifdef USE_DEVICES
1818 case 3:
1819 this->device_id = value;
1820 break;
1821#endif
1822 default:
1823 return false;
1824 }
1825 return true;
1826}
1828 switch (field_id) {
1829 case 2: {
1830 this->state = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
1831 break;
1832 }
1833 default:
1834 return false;
1835 }
1836 return true;
1837}
1839 switch (field_id) {
1840 case 1:
1841 this->key = value.as_fixed32();
1842 break;
1843 default:
1844 return false;
1845 }
1846 return true;
1847}
1848#endif
1849#ifdef USE_SIREN
1851 buffer.encode_string(1, this->object_id);
1852 buffer.encode_fixed32(2, this->key);
1853 buffer.encode_string(3, this->name);
1854#ifdef USE_ENTITY_ICON
1855 buffer.encode_string(5, this->icon);
1856#endif
1857 buffer.encode_bool(6, this->disabled_by_default);
1858 for (const char *it : *this->tones) {
1859 buffer.encode_string(7, it, strlen(it), true);
1860 }
1861 buffer.encode_bool(8, this->supports_duration);
1862 buffer.encode_bool(9, this->supports_volume);
1863 buffer.encode_uint32(10, static_cast<uint32_t>(this->entity_category));
1864#ifdef USE_DEVICES
1865 buffer.encode_uint32(11, this->device_id);
1866#endif
1867}
1869 uint32_t size = 0;
1870 size += ProtoSize::calc_length(1, this->object_id.size());
1871 size += ProtoSize::calc_fixed32(1, this->key);
1872 size += ProtoSize::calc_length(1, this->name.size());
1873#ifdef USE_ENTITY_ICON
1874 size += ProtoSize::calc_length(1, this->icon.size());
1875#endif
1876 size += ProtoSize::calc_bool(1, this->disabled_by_default);
1877 if (!this->tones->empty()) {
1878 for (const char *it : *this->tones) {
1879 size += ProtoSize::calc_length_force(1, strlen(it));
1880 }
1881 }
1883 size += ProtoSize::calc_bool(1, this->supports_volume);
1884 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
1885#ifdef USE_DEVICES
1886 size += ProtoSize::calc_uint32(1, this->device_id);
1887#endif
1888 return size;
1889}
1891 buffer.encode_fixed32(1, this->key);
1892 buffer.encode_bool(2, this->state);
1893#ifdef USE_DEVICES
1894 buffer.encode_uint32(3, this->device_id);
1895#endif
1896}
1898 uint32_t size = 0;
1899 size += ProtoSize::calc_fixed32(1, this->key);
1900 size += ProtoSize::calc_bool(1, this->state);
1901#ifdef USE_DEVICES
1902 size += ProtoSize::calc_uint32(1, this->device_id);
1903#endif
1904 return size;
1905}
1907 switch (field_id) {
1908 case 2:
1909 this->has_state = value != 0;
1910 break;
1911 case 3:
1912 this->state = value != 0;
1913 break;
1914 case 4:
1915 this->has_tone = value != 0;
1916 break;
1917 case 6:
1918 this->has_duration = value != 0;
1919 break;
1920 case 7:
1921 this->duration = value;
1922 break;
1923 case 8:
1924 this->has_volume = value != 0;
1925 break;
1926#ifdef USE_DEVICES
1927 case 10:
1928 this->device_id = value;
1929 break;
1930#endif
1931 default:
1932 return false;
1933 }
1934 return true;
1935}
1937 switch (field_id) {
1938 case 5: {
1939 this->tone = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
1940 break;
1941 }
1942 default:
1943 return false;
1944 }
1945 return true;
1946}
1948 switch (field_id) {
1949 case 1:
1950 this->key = value.as_fixed32();
1951 break;
1952 case 9:
1953 this->volume = value.as_float();
1954 break;
1955 default:
1956 return false;
1957 }
1958 return true;
1959}
1960#endif
1961#ifdef USE_LOCK
1963 buffer.encode_string(1, this->object_id);
1964 buffer.encode_fixed32(2, this->key);
1965 buffer.encode_string(3, this->name);
1966#ifdef USE_ENTITY_ICON
1967 buffer.encode_string(5, this->icon);
1968#endif
1969 buffer.encode_bool(6, this->disabled_by_default);
1970 buffer.encode_uint32(7, static_cast<uint32_t>(this->entity_category));
1971 buffer.encode_bool(8, this->assumed_state);
1972 buffer.encode_bool(9, this->supports_open);
1973 buffer.encode_bool(10, this->requires_code);
1974 buffer.encode_string(11, this->code_format);
1975#ifdef USE_DEVICES
1976 buffer.encode_uint32(12, this->device_id);
1977#endif
1978}
1980 uint32_t size = 0;
1981 size += ProtoSize::calc_length(1, this->object_id.size());
1982 size += ProtoSize::calc_fixed32(1, this->key);
1983 size += ProtoSize::calc_length(1, this->name.size());
1984#ifdef USE_ENTITY_ICON
1985 size += ProtoSize::calc_length(1, this->icon.size());
1986#endif
1987 size += ProtoSize::calc_bool(1, this->disabled_by_default);
1988 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
1989 size += ProtoSize::calc_bool(1, this->assumed_state);
1990 size += ProtoSize::calc_bool(1, this->supports_open);
1991 size += ProtoSize::calc_bool(1, this->requires_code);
1992 size += ProtoSize::calc_length(1, this->code_format.size());
1993#ifdef USE_DEVICES
1994 size += ProtoSize::calc_uint32(1, this->device_id);
1995#endif
1996 return size;
1997}
1999 buffer.encode_fixed32(1, this->key);
2000 buffer.encode_uint32(2, static_cast<uint32_t>(this->state));
2001#ifdef USE_DEVICES
2002 buffer.encode_uint32(3, this->device_id);
2003#endif
2004}
2006 uint32_t size = 0;
2007 size += ProtoSize::calc_fixed32(1, this->key);
2008 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->state));
2009#ifdef USE_DEVICES
2010 size += ProtoSize::calc_uint32(1, this->device_id);
2011#endif
2012 return size;
2013}
2015 switch (field_id) {
2016 case 2:
2017 this->command = static_cast<enums::LockCommand>(value);
2018 break;
2019 case 3:
2020 this->has_code = value != 0;
2021 break;
2022#ifdef USE_DEVICES
2023 case 5:
2024 this->device_id = value;
2025 break;
2026#endif
2027 default:
2028 return false;
2029 }
2030 return true;
2031}
2033 switch (field_id) {
2034 case 4: {
2035 this->code = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
2036 break;
2037 }
2038 default:
2039 return false;
2040 }
2041 return true;
2042}
2044 switch (field_id) {
2045 case 1:
2046 this->key = value.as_fixed32();
2047 break;
2048 default:
2049 return false;
2050 }
2051 return true;
2052}
2053#endif
2054#ifdef USE_BUTTON
2056 buffer.encode_string(1, this->object_id);
2057 buffer.encode_fixed32(2, this->key);
2058 buffer.encode_string(3, this->name);
2059#ifdef USE_ENTITY_ICON
2060 buffer.encode_string(5, this->icon);
2061#endif
2062 buffer.encode_bool(6, this->disabled_by_default);
2063 buffer.encode_uint32(7, static_cast<uint32_t>(this->entity_category));
2064 buffer.encode_string(8, this->device_class);
2065#ifdef USE_DEVICES
2066 buffer.encode_uint32(9, this->device_id);
2067#endif
2068}
2070 uint32_t size = 0;
2071 size += ProtoSize::calc_length(1, this->object_id.size());
2072 size += ProtoSize::calc_fixed32(1, this->key);
2073 size += ProtoSize::calc_length(1, this->name.size());
2074#ifdef USE_ENTITY_ICON
2075 size += ProtoSize::calc_length(1, this->icon.size());
2076#endif
2077 size += ProtoSize::calc_bool(1, this->disabled_by_default);
2078 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
2079 size += ProtoSize::calc_length(1, this->device_class.size());
2080#ifdef USE_DEVICES
2081 size += ProtoSize::calc_uint32(1, this->device_id);
2082#endif
2083 return size;
2084}
2086 switch (field_id) {
2087#ifdef USE_DEVICES
2088 case 2:
2089 this->device_id = value;
2090 break;
2091#endif
2092 default:
2093 return false;
2094 }
2095 return true;
2096}
2098 switch (field_id) {
2099 case 1:
2100 this->key = value.as_fixed32();
2101 break;
2102 default:
2103 return false;
2104 }
2105 return true;
2106}
2107#endif
2108#ifdef USE_MEDIA_PLAYER
2110 buffer.encode_string(1, this->format);
2111 buffer.encode_uint32(2, this->sample_rate);
2112 buffer.encode_uint32(3, this->num_channels);
2113 buffer.encode_uint32(4, static_cast<uint32_t>(this->purpose));
2114 buffer.encode_uint32(5, this->sample_bytes);
2115}
2117 uint32_t size = 0;
2118 size += ProtoSize::calc_length(1, this->format.size());
2119 size += ProtoSize::calc_uint32(1, this->sample_rate);
2120 size += ProtoSize::calc_uint32(1, this->num_channels);
2121 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->purpose));
2122 size += ProtoSize::calc_uint32(1, this->sample_bytes);
2123 return size;
2124}
2126 buffer.encode_string(1, this->object_id);
2127 buffer.encode_fixed32(2, this->key);
2128 buffer.encode_string(3, this->name);
2129#ifdef USE_ENTITY_ICON
2130 buffer.encode_string(5, this->icon);
2131#endif
2132 buffer.encode_bool(6, this->disabled_by_default);
2133 buffer.encode_uint32(7, static_cast<uint32_t>(this->entity_category));
2134 buffer.encode_bool(8, this->supports_pause);
2135 for (auto &it : this->supported_formats) {
2136 buffer.encode_sub_message(9, it);
2137 }
2138#ifdef USE_DEVICES
2139 buffer.encode_uint32(10, this->device_id);
2140#endif
2141 buffer.encode_uint32(11, this->feature_flags);
2142}
2144 uint32_t size = 0;
2145 size += ProtoSize::calc_length(1, this->object_id.size());
2146 size += ProtoSize::calc_fixed32(1, this->key);
2147 size += ProtoSize::calc_length(1, this->name.size());
2148#ifdef USE_ENTITY_ICON
2149 size += ProtoSize::calc_length(1, this->icon.size());
2150#endif
2151 size += ProtoSize::calc_bool(1, this->disabled_by_default);
2152 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
2153 size += ProtoSize::calc_bool(1, this->supports_pause);
2154 if (!this->supported_formats.empty()) {
2155 for (const auto &it : this->supported_formats) {
2156 size += ProtoSize::calc_message_force(1, it.calculate_size());
2157 }
2158 }
2159#ifdef USE_DEVICES
2161#endif
2162 size += ProtoSize::calc_uint32(1, this->feature_flags);
2163 return size;
2164}
2166 buffer.encode_fixed32(1, this->key);
2167 buffer.encode_uint32(2, static_cast<uint32_t>(this->state));
2168 buffer.encode_float(3, this->volume);
2169 buffer.encode_bool(4, this->muted);
2170#ifdef USE_DEVICES
2171 buffer.encode_uint32(5, this->device_id);
2172#endif
2173}
2175 uint32_t size = 0;
2176 size += ProtoSize::calc_fixed32(1, this->key);
2177 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->state));
2178 size += ProtoSize::calc_float(1, this->volume);
2179 size += ProtoSize::calc_bool(1, this->muted);
2180#ifdef USE_DEVICES
2181 size += ProtoSize::calc_uint32(1, this->device_id);
2182#endif
2183 return size;
2184}
2186 switch (field_id) {
2187 case 2:
2188 this->has_command = value != 0;
2189 break;
2190 case 3:
2191 this->command = static_cast<enums::MediaPlayerCommand>(value);
2192 break;
2193 case 4:
2194 this->has_volume = value != 0;
2195 break;
2196 case 6:
2197 this->has_media_url = value != 0;
2198 break;
2199 case 8:
2200 this->has_announcement = value != 0;
2201 break;
2202 case 9:
2203 this->announcement = value != 0;
2204 break;
2205#ifdef USE_DEVICES
2206 case 10:
2207 this->device_id = value;
2208 break;
2209#endif
2210 default:
2211 return false;
2212 }
2213 return true;
2214}
2216 switch (field_id) {
2217 case 7: {
2218 this->media_url = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
2219 break;
2220 }
2221 default:
2222 return false;
2223 }
2224 return true;
2225}
2227 switch (field_id) {
2228 case 1:
2229 this->key = value.as_fixed32();
2230 break;
2231 case 5:
2232 this->volume = value.as_float();
2233 break;
2234 default:
2235 return false;
2236 }
2237 return true;
2238}
2239#endif
2240#ifdef USE_BLUETOOTH_PROXY
2242 switch (field_id) {
2243 case 1:
2244 this->flags = value;
2245 break;
2246 default:
2247 return false;
2248 }
2249 return true;
2250}
2252 buffer.encode_uint64(1, this->address, true);
2253 buffer.encode_sint32(2, this->rssi, true);
2254 buffer.encode_uint32(3, this->address_type);
2255 buffer.encode_bytes(4, this->data, this->data_len, true);
2256}
2258 uint32_t size = 0;
2259 size += ProtoSize::calc_uint64_force(1, this->address);
2260 size += ProtoSize::calc_sint32_force(1, this->rssi);
2261 size += ProtoSize::calc_uint32(1, this->address_type);
2262 size += ProtoSize::calc_length_force(1, this->data_len);
2263 return size;
2264}
2266 for (uint16_t i = 0; i < this->advertisements_len; i++) {
2267 buffer.encode_sub_message(1, this->advertisements[i]);
2268 }
2269}
2271 uint32_t size = 0;
2272 for (uint16_t i = 0; i < this->advertisements_len; i++) {
2274 }
2275 return size;
2276}
2278 switch (field_id) {
2279 case 1:
2280 this->address = value;
2281 break;
2282 case 2:
2283 this->request_type = static_cast<enums::BluetoothDeviceRequestType>(value);
2284 break;
2285 case 3:
2286 this->has_address_type = value != 0;
2287 break;
2288 case 4:
2289 this->address_type = value;
2290 break;
2291 default:
2292 return false;
2293 }
2294 return true;
2295}
2297 buffer.encode_uint64(1, this->address);
2298 buffer.encode_bool(2, this->connected);
2299 buffer.encode_uint32(3, this->mtu);
2300 buffer.encode_int32(4, this->error);
2301}
2303 uint32_t size = 0;
2304 size += ProtoSize::calc_uint64(1, this->address);
2305 size += ProtoSize::calc_bool(1, this->connected);
2306 size += ProtoSize::calc_uint32(1, this->mtu);
2307 size += ProtoSize::calc_int32(1, this->error);
2308 return size;
2309}
2311 switch (field_id) {
2312 case 1:
2313 this->address = value;
2314 break;
2315 default:
2316 return false;
2317 }
2318 return true;
2319}
2321 if (this->uuid[0] != 0 || this->uuid[1] != 0) {
2322 buffer.encode_uint64(1, this->uuid[0], true);
2323 buffer.encode_uint64(1, this->uuid[1], true);
2324 }
2325 buffer.encode_uint32(2, this->handle);
2326 buffer.encode_uint32(3, this->short_uuid);
2327}
2329 uint32_t size = 0;
2330 if (this->uuid[0] != 0 || this->uuid[1] != 0) {
2331 size += ProtoSize::calc_uint64_force(1, this->uuid[0]);
2332 size += ProtoSize::calc_uint64_force(1, this->uuid[1]);
2333 }
2334 size += ProtoSize::calc_uint32(1, this->handle);
2335 size += ProtoSize::calc_uint32(1, this->short_uuid);
2336 return size;
2337}
2339 if (this->uuid[0] != 0 || this->uuid[1] != 0) {
2340 buffer.encode_uint64(1, this->uuid[0], true);
2341 buffer.encode_uint64(1, this->uuid[1], true);
2342 }
2343 buffer.encode_uint32(2, this->handle);
2344 buffer.encode_uint32(3, this->properties);
2345 for (auto &it : this->descriptors) {
2346 buffer.encode_sub_message(4, it);
2347 }
2348 buffer.encode_uint32(5, this->short_uuid);
2349}
2351 uint32_t size = 0;
2352 if (this->uuid[0] != 0 || this->uuid[1] != 0) {
2353 size += ProtoSize::calc_uint64_force(1, this->uuid[0]);
2354 size += ProtoSize::calc_uint64_force(1, this->uuid[1]);
2355 }
2356 size += ProtoSize::calc_uint32(1, this->handle);
2357 size += ProtoSize::calc_uint32(1, this->properties);
2358 if (!this->descriptors.empty()) {
2359 for (const auto &it : this->descriptors) {
2360 size += ProtoSize::calc_message_force(1, it.calculate_size());
2361 }
2362 }
2364 return size;
2365}
2367 if (this->uuid[0] != 0 || this->uuid[1] != 0) {
2368 buffer.encode_uint64(1, this->uuid[0], true);
2369 buffer.encode_uint64(1, this->uuid[1], true);
2370 }
2371 buffer.encode_uint32(2, this->handle);
2372 for (auto &it : this->characteristics) {
2373 buffer.encode_sub_message(3, it);
2374 }
2375 buffer.encode_uint32(4, this->short_uuid);
2376}
2378 uint32_t size = 0;
2379 if (this->uuid[0] != 0 || this->uuid[1] != 0) {
2380 size += ProtoSize::calc_uint64_force(1, this->uuid[0]);
2381 size += ProtoSize::calc_uint64_force(1, this->uuid[1]);
2382 }
2383 size += ProtoSize::calc_uint32(1, this->handle);
2384 if (!this->characteristics.empty()) {
2385 for (const auto &it : this->characteristics) {
2386 size += ProtoSize::calc_message_force(1, it.calculate_size());
2387 }
2388 }
2390 return size;
2391}
2393 buffer.encode_uint64(1, this->address);
2394 for (auto &it : this->services) {
2395 buffer.encode_sub_message(2, it);
2396 }
2397}
2399 uint32_t size = 0;
2400 size += ProtoSize::calc_uint64(1, this->address);
2401 if (!this->services.empty()) {
2402 for (const auto &it : this->services) {
2403 size += ProtoSize::calc_message_force(1, it.calculate_size());
2404 }
2405 }
2406 return size;
2407}
2417 switch (field_id) {
2418 case 1:
2419 this->address = value;
2420 break;
2421 case 2:
2422 this->handle = value;
2423 break;
2424 default:
2425 return false;
2426 }
2427 return true;
2428}
2430 buffer.encode_uint64(1, this->address);
2431 buffer.encode_uint32(2, this->handle);
2432 buffer.encode_bytes(3, this->data_ptr_, this->data_len_);
2433}
2435 uint32_t size = 0;
2436 size += ProtoSize::calc_uint64(1, this->address);
2437 size += ProtoSize::calc_uint32(1, this->handle);
2438 size += ProtoSize::calc_length(1, this->data_len_);
2439 return size;
2440}
2442 switch (field_id) {
2443 case 1:
2444 this->address = value;
2445 break;
2446 case 2:
2447 this->handle = value;
2448 break;
2449 case 3:
2450 this->response = value != 0;
2451 break;
2452 default:
2453 return false;
2454 }
2455 return true;
2456}
2458 switch (field_id) {
2459 case 4: {
2460 this->data = value.data();
2461 this->data_len = value.size();
2462 break;
2463 }
2464 default:
2465 return false;
2466 }
2467 return true;
2468}
2470 switch (field_id) {
2471 case 1:
2472 this->address = value;
2473 break;
2474 case 2:
2475 this->handle = value;
2476 break;
2477 default:
2478 return false;
2479 }
2480 return true;
2481}
2483 switch (field_id) {
2484 case 1:
2485 this->address = value;
2486 break;
2487 case 2:
2488 this->handle = value;
2489 break;
2490 default:
2491 return false;
2492 }
2493 return true;
2494}
2496 switch (field_id) {
2497 case 3: {
2498 this->data = value.data();
2499 this->data_len = value.size();
2500 break;
2501 }
2502 default:
2503 return false;
2504 }
2505 return true;
2506}
2508 switch (field_id) {
2509 case 1:
2510 this->address = value;
2511 break;
2512 case 2:
2513 this->handle = value;
2514 break;
2515 case 3:
2516 this->enable = value != 0;
2517 break;
2518 default:
2519 return false;
2520 }
2521 return true;
2522}
2524 buffer.encode_uint64(1, this->address);
2525 buffer.encode_uint32(2, this->handle);
2526 buffer.encode_bytes(3, this->data_ptr_, this->data_len_);
2527}
2529 uint32_t size = 0;
2530 size += ProtoSize::calc_uint64(1, this->address);
2531 size += ProtoSize::calc_uint32(1, this->handle);
2532 size += ProtoSize::calc_length(1, this->data_len_);
2533 return size;
2534}
2536 buffer.encode_uint32(1, this->free);
2537 buffer.encode_uint32(2, this->limit);
2538 for (const auto &it : this->allocated) {
2539 if (it != 0) {
2540 buffer.encode_uint64(3, it, true);
2541 }
2542 }
2543}
2545 uint32_t size = 0;
2546 size += ProtoSize::calc_uint32(1, this->free);
2547 size += ProtoSize::calc_uint32(1, this->limit);
2548 for (const auto &it : this->allocated) {
2549 if (it != 0) {
2551 }
2552 }
2553 return size;
2554}
2556 buffer.encode_uint64(1, this->address);
2557 buffer.encode_uint32(2, this->handle);
2558 buffer.encode_int32(3, this->error);
2559}
2561 uint32_t size = 0;
2562 size += ProtoSize::calc_uint64(1, this->address);
2563 size += ProtoSize::calc_uint32(1, this->handle);
2564 size += ProtoSize::calc_int32(1, this->error);
2565 return size;
2566}
2568 buffer.encode_uint64(1, this->address);
2569 buffer.encode_uint32(2, this->handle);
2570}
2572 uint32_t size = 0;
2573 size += ProtoSize::calc_uint64(1, this->address);
2574 size += ProtoSize::calc_uint32(1, this->handle);
2575 return size;
2576}
2578 buffer.encode_uint64(1, this->address);
2579 buffer.encode_uint32(2, this->handle);
2580}
2582 uint32_t size = 0;
2583 size += ProtoSize::calc_uint64(1, this->address);
2584 size += ProtoSize::calc_uint32(1, this->handle);
2585 return size;
2586}
2588 buffer.encode_uint64(1, this->address);
2589 buffer.encode_bool(2, this->paired);
2590 buffer.encode_int32(3, this->error);
2591}
2593 uint32_t size = 0;
2594 size += ProtoSize::calc_uint64(1, this->address);
2595 size += ProtoSize::calc_bool(1, this->paired);
2596 size += ProtoSize::calc_int32(1, this->error);
2597 return size;
2598}
2600 buffer.encode_uint64(1, this->address);
2601 buffer.encode_bool(2, this->success);
2602 buffer.encode_int32(3, this->error);
2603}
2605 uint32_t size = 0;
2606 size += ProtoSize::calc_uint64(1, this->address);
2607 size += ProtoSize::calc_bool(1, this->success);
2608 size += ProtoSize::calc_int32(1, this->error);
2609 return size;
2610}
2612 buffer.encode_uint64(1, this->address);
2613 buffer.encode_bool(2, this->success);
2614 buffer.encode_int32(3, this->error);
2615}
2617 uint32_t size = 0;
2618 size += ProtoSize::calc_uint64(1, this->address);
2619 size += ProtoSize::calc_bool(1, this->success);
2620 size += ProtoSize::calc_int32(1, this->error);
2621 return size;
2622}
2624 buffer.encode_uint32(1, static_cast<uint32_t>(this->state));
2625 buffer.encode_uint32(2, static_cast<uint32_t>(this->mode));
2626 buffer.encode_uint32(3, static_cast<uint32_t>(this->configured_mode));
2627}
2629 uint32_t size = 0;
2630 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->state));
2631 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->mode));
2632 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->configured_mode));
2633 return size;
2634}
2636 switch (field_id) {
2637 case 1:
2638 this->mode = static_cast<enums::BluetoothScannerMode>(value);
2639 break;
2640 default:
2641 return false;
2642 }
2643 return true;
2644}
2645#endif
2646#ifdef USE_VOICE_ASSISTANT
2648 switch (field_id) {
2649 case 1:
2650 this->subscribe = value != 0;
2651 break;
2652 case 2:
2653 this->flags = value;
2654 break;
2655 default:
2656 return false;
2657 }
2658 return true;
2659}
2661 buffer.encode_uint32(1, this->noise_suppression_level);
2662 buffer.encode_uint32(2, this->auto_gain);
2663 buffer.encode_float(3, this->volume_multiplier);
2664}
2673 buffer.encode_bool(1, this->start);
2674 buffer.encode_string(2, this->conversation_id);
2675 buffer.encode_uint32(3, this->flags);
2677 buffer.encode_string(5, this->wake_word_phrase);
2678}
2680 uint32_t size = 0;
2681 size += ProtoSize::calc_bool(1, this->start);
2682 size += ProtoSize::calc_length(1, this->conversation_id.size());
2683 size += ProtoSize::calc_uint32(1, this->flags);
2685 size += ProtoSize::calc_length(1, this->wake_word_phrase.size());
2686 return size;
2687}
2689 switch (field_id) {
2690 case 1:
2691 this->port = value;
2692 break;
2693 case 2:
2694 this->error = value != 0;
2695 break;
2696 default:
2697 return false;
2698 }
2699 return true;
2700}
2702 switch (field_id) {
2703 case 1: {
2704 this->name = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
2705 break;
2706 }
2707 case 2: {
2708 this->value = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
2709 break;
2710 }
2711 default:
2712 return false;
2713 }
2714 return true;
2715}
2717 switch (field_id) {
2718 case 1:
2719 this->event_type = static_cast<enums::VoiceAssistantEvent>(value);
2720 break;
2721 default:
2722 return false;
2723 }
2724 return true;
2725}
2727 switch (field_id) {
2728 case 2:
2729 this->data.emplace_back();
2730 value.decode_to_message(this->data.back());
2731 break;
2732 default:
2733 return false;
2734 }
2735 return true;
2736}
2738 switch (field_id) {
2739 case 2:
2740 this->end = value != 0;
2741 break;
2742 default:
2743 return false;
2744 }
2745 return true;
2746}
2748 switch (field_id) {
2749 case 1: {
2750 this->data = value.data();
2751 this->data_len = value.size();
2752 break;
2753 }
2754 default:
2755 return false;
2756 }
2757 return true;
2758}
2760 buffer.encode_bytes(1, this->data, this->data_len);
2761 buffer.encode_bool(2, this->end);
2762}
2764 uint32_t size = 0;
2765 size += ProtoSize::calc_length(1, this->data_len);
2766 size += ProtoSize::calc_bool(1, this->end);
2767 return size;
2768}
2770 switch (field_id) {
2771 case 1:
2772 this->event_type = static_cast<enums::VoiceAssistantTimerEvent>(value);
2773 break;
2774 case 4:
2775 this->total_seconds = value;
2776 break;
2777 case 5:
2778 this->seconds_left = value;
2779 break;
2780 case 6:
2781 this->is_active = value != 0;
2782 break;
2783 default:
2784 return false;
2785 }
2786 return true;
2787}
2789 switch (field_id) {
2790 case 2: {
2791 this->timer_id = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
2792 break;
2793 }
2794 case 3: {
2795 this->name = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
2796 break;
2797 }
2798 default:
2799 return false;
2800 }
2801 return true;
2802}
2804 switch (field_id) {
2805 case 4:
2806 this->start_conversation = value != 0;
2807 break;
2808 default:
2809 return false;
2810 }
2811 return true;
2812}
2814 switch (field_id) {
2815 case 1: {
2816 this->media_id = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
2817 break;
2818 }
2819 case 2: {
2820 this->text = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
2821 break;
2822 }
2823 case 3: {
2824 this->preannounce_media_id = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
2825 break;
2826 }
2827 default:
2828 return false;
2829 }
2830 return true;
2831}
2834 uint32_t size = 0;
2835 size += ProtoSize::calc_bool(1, this->success);
2836 return size;
2837}
2839 buffer.encode_string(1, this->id);
2840 buffer.encode_string(2, this->wake_word);
2841 for (auto &it : this->trained_languages) {
2842 buffer.encode_string(3, it, true);
2843 }
2844}
2846 uint32_t size = 0;
2847 size += ProtoSize::calc_length(1, this->id.size());
2848 size += ProtoSize::calc_length(1, this->wake_word.size());
2849 if (!this->trained_languages.empty()) {
2850 for (const auto &it : this->trained_languages) {
2851 size += ProtoSize::calc_length_force(1, it.size());
2852 }
2853 }
2854 return size;
2855}
2857 switch (field_id) {
2858 case 5:
2859 this->model_size = value;
2860 break;
2861 default:
2862 return false;
2863 }
2864 return true;
2865}
2867 switch (field_id) {
2868 case 1: {
2869 this->id = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
2870 break;
2871 }
2872 case 2: {
2873 this->wake_word = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
2874 break;
2875 }
2876 case 3:
2877 this->trained_languages.push_back(value.as_string());
2878 break;
2879 case 4: {
2880 this->model_type = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
2881 break;
2882 }
2883 case 6: {
2884 this->model_hash = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
2885 break;
2886 }
2887 case 7: {
2888 this->url = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
2889 break;
2890 }
2891 default:
2892 return false;
2893 }
2894 return true;
2895}
2897 switch (field_id) {
2898 case 1:
2899 this->external_wake_words.emplace_back();
2900 value.decode_to_message(this->external_wake_words.back());
2901 break;
2902 default:
2903 return false;
2904 }
2905 return true;
2906}
2908 for (auto &it : this->available_wake_words) {
2909 buffer.encode_sub_message(1, it);
2910 }
2911 for (const auto &it : *this->active_wake_words) {
2912 buffer.encode_string(2, it, true);
2913 }
2914 buffer.encode_uint32(3, this->max_active_wake_words);
2915}
2917 uint32_t size = 0;
2918 if (!this->available_wake_words.empty()) {
2919 for (const auto &it : this->available_wake_words) {
2920 size += ProtoSize::calc_message_force(1, it.calculate_size());
2921 }
2922 }
2923 if (!this->active_wake_words->empty()) {
2924 for (const auto &it : *this->active_wake_words) {
2925 size += ProtoSize::calc_length_force(1, it.size());
2926 }
2927 }
2929 return size;
2930}
2932 switch (field_id) {
2933 case 1:
2934 this->active_wake_words.push_back(value.as_string());
2935 break;
2936 default:
2937 return false;
2938 }
2939 return true;
2940}
2941#endif
2942#ifdef USE_ALARM_CONTROL_PANEL
2944 buffer.encode_string(1, this->object_id);
2945 buffer.encode_fixed32(2, this->key);
2946 buffer.encode_string(3, this->name);
2947#ifdef USE_ENTITY_ICON
2948 buffer.encode_string(5, this->icon);
2949#endif
2950 buffer.encode_bool(6, this->disabled_by_default);
2951 buffer.encode_uint32(7, static_cast<uint32_t>(this->entity_category));
2952 buffer.encode_uint32(8, this->supported_features);
2953 buffer.encode_bool(9, this->requires_code);
2954 buffer.encode_bool(10, this->requires_code_to_arm);
2955#ifdef USE_DEVICES
2956 buffer.encode_uint32(11, this->device_id);
2957#endif
2958}
2960 uint32_t size = 0;
2961 size += ProtoSize::calc_length(1, this->object_id.size());
2962 size += ProtoSize::calc_fixed32(1, this->key);
2963 size += ProtoSize::calc_length(1, this->name.size());
2964#ifdef USE_ENTITY_ICON
2965 size += ProtoSize::calc_length(1, this->icon.size());
2966#endif
2967 size += ProtoSize::calc_bool(1, this->disabled_by_default);
2968 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
2970 size += ProtoSize::calc_bool(1, this->requires_code);
2972#ifdef USE_DEVICES
2973 size += ProtoSize::calc_uint32(1, this->device_id);
2974#endif
2975 return size;
2976}
2978 buffer.encode_fixed32(1, this->key);
2979 buffer.encode_uint32(2, static_cast<uint32_t>(this->state));
2980#ifdef USE_DEVICES
2981 buffer.encode_uint32(3, this->device_id);
2982#endif
2983}
2985 uint32_t size = 0;
2986 size += ProtoSize::calc_fixed32(1, this->key);
2987 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->state));
2988#ifdef USE_DEVICES
2989 size += ProtoSize::calc_uint32(1, this->device_id);
2990#endif
2991 return size;
2992}
2994 switch (field_id) {
2995 case 2:
2996 this->command = static_cast<enums::AlarmControlPanelStateCommand>(value);
2997 break;
2998#ifdef USE_DEVICES
2999 case 4:
3000 this->device_id = value;
3001 break;
3002#endif
3003 default:
3004 return false;
3005 }
3006 return true;
3007}
3009 switch (field_id) {
3010 case 3: {
3011 this->code = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
3012 break;
3013 }
3014 default:
3015 return false;
3016 }
3017 return true;
3018}
3020 switch (field_id) {
3021 case 1:
3022 this->key = value.as_fixed32();
3023 break;
3024 default:
3025 return false;
3026 }
3027 return true;
3028}
3029#endif
3030#ifdef USE_TEXT
3032 buffer.encode_string(1, this->object_id);
3033 buffer.encode_fixed32(2, this->key);
3034 buffer.encode_string(3, this->name);
3035#ifdef USE_ENTITY_ICON
3036 buffer.encode_string(5, this->icon);
3037#endif
3038 buffer.encode_bool(6, this->disabled_by_default);
3039 buffer.encode_uint32(7, static_cast<uint32_t>(this->entity_category));
3040 buffer.encode_uint32(8, this->min_length);
3041 buffer.encode_uint32(9, this->max_length);
3042 buffer.encode_string(10, this->pattern);
3043 buffer.encode_uint32(11, static_cast<uint32_t>(this->mode));
3044#ifdef USE_DEVICES
3045 buffer.encode_uint32(12, this->device_id);
3046#endif
3047}
3049 uint32_t size = 0;
3050 size += ProtoSize::calc_length(1, this->object_id.size());
3051 size += ProtoSize::calc_fixed32(1, this->key);
3052 size += ProtoSize::calc_length(1, this->name.size());
3053#ifdef USE_ENTITY_ICON
3054 size += ProtoSize::calc_length(1, this->icon.size());
3055#endif
3056 size += ProtoSize::calc_bool(1, this->disabled_by_default);
3057 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
3058 size += ProtoSize::calc_uint32(1, this->min_length);
3059 size += ProtoSize::calc_uint32(1, this->max_length);
3060 size += ProtoSize::calc_length(1, this->pattern.size());
3061 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->mode));
3062#ifdef USE_DEVICES
3063 size += ProtoSize::calc_uint32(1, this->device_id);
3064#endif
3065 return size;
3066}
3068 buffer.encode_fixed32(1, this->key);
3069 buffer.encode_string(2, this->state);
3070 buffer.encode_bool(3, this->missing_state);
3071#ifdef USE_DEVICES
3072 buffer.encode_uint32(4, this->device_id);
3073#endif
3074}
3076 uint32_t size = 0;
3077 size += ProtoSize::calc_fixed32(1, this->key);
3078 size += ProtoSize::calc_length(1, this->state.size());
3079 size += ProtoSize::calc_bool(1, this->missing_state);
3080#ifdef USE_DEVICES
3081 size += ProtoSize::calc_uint32(1, this->device_id);
3082#endif
3083 return size;
3084}
3086 switch (field_id) {
3087#ifdef USE_DEVICES
3088 case 3:
3089 this->device_id = value;
3090 break;
3091#endif
3092 default:
3093 return false;
3094 }
3095 return true;
3096}
3098 switch (field_id) {
3099 case 2: {
3100 this->state = StringRef(reinterpret_cast<const char *>(value.data()), value.size());
3101 break;
3102 }
3103 default:
3104 return false;
3105 }
3106 return true;
3107}
3109 switch (field_id) {
3110 case 1:
3111 this->key = value.as_fixed32();
3112 break;
3113 default:
3114 return false;
3115 }
3116 return true;
3117}
3118#endif
3119#ifdef USE_DATETIME_DATE
3121 buffer.encode_string(1, this->object_id);
3122 buffer.encode_fixed32(2, this->key);
3123 buffer.encode_string(3, this->name);
3124#ifdef USE_ENTITY_ICON
3125 buffer.encode_string(5, this->icon);
3126#endif
3127 buffer.encode_bool(6, this->disabled_by_default);
3128 buffer.encode_uint32(7, static_cast<uint32_t>(this->entity_category));
3129#ifdef USE_DEVICES
3130 buffer.encode_uint32(8, this->device_id);
3131#endif
3132}
3134 uint32_t size = 0;
3135 size += ProtoSize::calc_length(1, this->object_id.size());
3136 size += ProtoSize::calc_fixed32(1, this->key);
3137 size += ProtoSize::calc_length(1, this->name.size());
3138#ifdef USE_ENTITY_ICON
3139 size += ProtoSize::calc_length(1, this->icon.size());
3140#endif
3141 size += ProtoSize::calc_bool(1, this->disabled_by_default);
3142 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
3143#ifdef USE_DEVICES
3144 size += ProtoSize::calc_uint32(1, this->device_id);
3145#endif
3146 return size;
3147}
3149 buffer.encode_fixed32(1, this->key);
3150 buffer.encode_bool(2, this->missing_state);
3151 buffer.encode_uint32(3, this->year);
3152 buffer.encode_uint32(4, this->month);
3153 buffer.encode_uint32(5, this->day);
3154#ifdef USE_DEVICES
3155 buffer.encode_uint32(6, this->device_id);
3156#endif
3157}
3159 uint32_t size = 0;
3160 size += ProtoSize::calc_fixed32(1, this->key);
3161 size += ProtoSize::calc_bool(1, this->missing_state);
3162 size += ProtoSize::calc_uint32(1, this->year);
3163 size += ProtoSize::calc_uint32(1, this->month);
3164 size += ProtoSize::calc_uint32(1, this->day);
3165#ifdef USE_DEVICES
3166 size += ProtoSize::calc_uint32(1, this->device_id);
3167#endif
3168 return size;
3169}
3171 switch (field_id) {
3172 case 2:
3173 this->year = value;
3174 break;
3175 case 3:
3176 this->month = value;
3177 break;
3178 case 4:
3179 this->day = value;
3180 break;
3181#ifdef USE_DEVICES
3182 case 5:
3183 this->device_id = value;
3184 break;
3185#endif
3186 default:
3187 return false;
3188 }
3189 return true;
3190}
3192 switch (field_id) {
3193 case 1:
3194 this->key = value.as_fixed32();
3195 break;
3196 default:
3197 return false;
3198 }
3199 return true;
3200}
3201#endif
3202#ifdef USE_DATETIME_TIME
3204 buffer.encode_string(1, this->object_id);
3205 buffer.encode_fixed32(2, this->key);
3206 buffer.encode_string(3, this->name);
3207#ifdef USE_ENTITY_ICON
3208 buffer.encode_string(5, this->icon);
3209#endif
3210 buffer.encode_bool(6, this->disabled_by_default);
3211 buffer.encode_uint32(7, static_cast<uint32_t>(this->entity_category));
3212#ifdef USE_DEVICES
3213 buffer.encode_uint32(8, this->device_id);
3214#endif
3215}
3217 uint32_t size = 0;
3218 size += ProtoSize::calc_length(1, this->object_id.size());
3219 size += ProtoSize::calc_fixed32(1, this->key);
3220 size += ProtoSize::calc_length(1, this->name.size());
3221#ifdef USE_ENTITY_ICON
3222 size += ProtoSize::calc_length(1, this->icon.size());
3223#endif
3224 size += ProtoSize::calc_bool(1, this->disabled_by_default);
3225 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
3226#ifdef USE_DEVICES
3227 size += ProtoSize::calc_uint32(1, this->device_id);
3228#endif
3229 return size;
3230}
3232 buffer.encode_fixed32(1, this->key);
3233 buffer.encode_bool(2, this->missing_state);
3234 buffer.encode_uint32(3, this->hour);
3235 buffer.encode_uint32(4, this->minute);
3236 buffer.encode_uint32(5, this->second);
3237#ifdef USE_DEVICES
3238 buffer.encode_uint32(6, this->device_id);
3239#endif
3240}
3242 uint32_t size = 0;
3243 size += ProtoSize::calc_fixed32(1, this->key);
3244 size += ProtoSize::calc_bool(1, this->missing_state);
3245 size += ProtoSize::calc_uint32(1, this->hour);
3246 size += ProtoSize::calc_uint32(1, this->minute);
3247 size += ProtoSize::calc_uint32(1, this->second);
3248#ifdef USE_DEVICES
3249 size += ProtoSize::calc_uint32(1, this->device_id);
3250#endif
3251 return size;
3252}
3254 switch (field_id) {
3255 case 2:
3256 this->hour = value;
3257 break;
3258 case 3:
3259 this->minute = value;
3260 break;
3261 case 4:
3262 this->second = value;
3263 break;
3264#ifdef USE_DEVICES
3265 case 5:
3266 this->device_id = value;
3267 break;
3268#endif
3269 default:
3270 return false;
3271 }
3272 return true;
3273}
3275 switch (field_id) {
3276 case 1:
3277 this->key = value.as_fixed32();
3278 break;
3279 default:
3280 return false;
3281 }
3282 return true;
3283}
3284#endif
3285#ifdef USE_EVENT
3287 buffer.encode_string(1, this->object_id);
3288 buffer.encode_fixed32(2, this->key);
3289 buffer.encode_string(3, this->name);
3290#ifdef USE_ENTITY_ICON
3291 buffer.encode_string(5, this->icon);
3292#endif
3293 buffer.encode_bool(6, this->disabled_by_default);
3294 buffer.encode_uint32(7, static_cast<uint32_t>(this->entity_category));
3295 buffer.encode_string(8, this->device_class);
3296 for (const char *it : *this->event_types) {
3297 buffer.encode_string(9, it, strlen(it), true);
3298 }
3299#ifdef USE_DEVICES
3300 buffer.encode_uint32(10, this->device_id);
3301#endif
3302}
3304 uint32_t size = 0;
3305 size += ProtoSize::calc_length(1, this->object_id.size());
3306 size += ProtoSize::calc_fixed32(1, this->key);
3307 size += ProtoSize::calc_length(1, this->name.size());
3308#ifdef USE_ENTITY_ICON
3309 size += ProtoSize::calc_length(1, this->icon.size());
3310#endif
3311 size += ProtoSize::calc_bool(1, this->disabled_by_default);
3312 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
3313 size += ProtoSize::calc_length(1, this->device_class.size());
3314 if (!this->event_types->empty()) {
3315 for (const char *it : *this->event_types) {
3316 size += ProtoSize::calc_length_force(1, strlen(it));
3317 }
3318 }
3319#ifdef USE_DEVICES
3321#endif
3322 return size;
3323}
3325 buffer.encode_fixed32(1, this->key);
3326 buffer.encode_string(2, this->event_type);
3327#ifdef USE_DEVICES
3328 buffer.encode_uint32(3, this->device_id);
3329#endif
3330}
3332 uint32_t size = 0;
3333 size += ProtoSize::calc_fixed32(1, this->key);
3334 size += ProtoSize::calc_length(1, this->event_type.size());
3335#ifdef USE_DEVICES
3336 size += ProtoSize::calc_uint32(1, this->device_id);
3337#endif
3338 return size;
3339}
3340#endif
3341#ifdef USE_VALVE
3343 buffer.encode_string(1, this->object_id);
3344 buffer.encode_fixed32(2, this->key);
3345 buffer.encode_string(3, this->name);
3346#ifdef USE_ENTITY_ICON
3347 buffer.encode_string(5, this->icon);
3348#endif
3349 buffer.encode_bool(6, this->disabled_by_default);
3350 buffer.encode_uint32(7, static_cast<uint32_t>(this->entity_category));
3351 buffer.encode_string(8, this->device_class);
3352 buffer.encode_bool(9, this->assumed_state);
3353 buffer.encode_bool(10, this->supports_position);
3354 buffer.encode_bool(11, this->supports_stop);
3355#ifdef USE_DEVICES
3356 buffer.encode_uint32(12, this->device_id);
3357#endif
3358}
3360 uint32_t size = 0;
3361 size += ProtoSize::calc_length(1, this->object_id.size());
3362 size += ProtoSize::calc_fixed32(1, this->key);
3363 size += ProtoSize::calc_length(1, this->name.size());
3364#ifdef USE_ENTITY_ICON
3365 size += ProtoSize::calc_length(1, this->icon.size());
3366#endif
3367 size += ProtoSize::calc_bool(1, this->disabled_by_default);
3368 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
3369 size += ProtoSize::calc_length(1, this->device_class.size());
3370 size += ProtoSize::calc_bool(1, this->assumed_state);
3371 size += ProtoSize::calc_bool(1, this->supports_position);
3372 size += ProtoSize::calc_bool(1, this->supports_stop);
3373#ifdef USE_DEVICES
3374 size += ProtoSize::calc_uint32(1, this->device_id);
3375#endif
3376 return size;
3377}
3379 buffer.encode_fixed32(1, this->key);
3380 buffer.encode_float(2, this->position);
3381 buffer.encode_uint32(3, static_cast<uint32_t>(this->current_operation));
3382#ifdef USE_DEVICES
3383 buffer.encode_uint32(4, this->device_id);
3384#endif
3385}
3387 uint32_t size = 0;
3388 size += ProtoSize::calc_fixed32(1, this->key);
3389 size += ProtoSize::calc_float(1, this->position);
3390 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->current_operation));
3391#ifdef USE_DEVICES
3392 size += ProtoSize::calc_uint32(1, this->device_id);
3393#endif
3394 return size;
3395}
3397 switch (field_id) {
3398 case 2:
3399 this->has_position = value != 0;
3400 break;
3401 case 4:
3402 this->stop = value != 0;
3403 break;
3404#ifdef USE_DEVICES
3405 case 5:
3406 this->device_id = value;
3407 break;
3408#endif
3409 default:
3410 return false;
3411 }
3412 return true;
3413}
3415 switch (field_id) {
3416 case 1:
3417 this->key = value.as_fixed32();
3418 break;
3419 case 3:
3420 this->position = value.as_float();
3421 break;
3422 default:
3423 return false;
3424 }
3425 return true;
3426}
3427#endif
3428#ifdef USE_DATETIME_DATETIME
3430 buffer.encode_string(1, this->object_id);
3431 buffer.encode_fixed32(2, this->key);
3432 buffer.encode_string(3, this->name);
3433#ifdef USE_ENTITY_ICON
3434 buffer.encode_string(5, this->icon);
3435#endif
3436 buffer.encode_bool(6, this->disabled_by_default);
3437 buffer.encode_uint32(7, static_cast<uint32_t>(this->entity_category));
3438#ifdef USE_DEVICES
3439 buffer.encode_uint32(8, this->device_id);
3440#endif
3441}
3443 uint32_t size = 0;
3444 size += ProtoSize::calc_length(1, this->object_id.size());
3445 size += ProtoSize::calc_fixed32(1, this->key);
3446 size += ProtoSize::calc_length(1, this->name.size());
3447#ifdef USE_ENTITY_ICON
3448 size += ProtoSize::calc_length(1, this->icon.size());
3449#endif
3450 size += ProtoSize::calc_bool(1, this->disabled_by_default);
3451 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
3452#ifdef USE_DEVICES
3453 size += ProtoSize::calc_uint32(1, this->device_id);
3454#endif
3455 return size;
3456}
3458 buffer.encode_fixed32(1, this->key);
3459 buffer.encode_bool(2, this->missing_state);
3460 buffer.encode_fixed32(3, this->epoch_seconds);
3461#ifdef USE_DEVICES
3462 buffer.encode_uint32(4, this->device_id);
3463#endif
3464}
3466 uint32_t size = 0;
3467 size += ProtoSize::calc_fixed32(1, this->key);
3468 size += ProtoSize::calc_bool(1, this->missing_state);
3469 size += ProtoSize::calc_fixed32(1, this->epoch_seconds);
3470#ifdef USE_DEVICES
3471 size += ProtoSize::calc_uint32(1, this->device_id);
3472#endif
3473 return size;
3474}
3476 switch (field_id) {
3477#ifdef USE_DEVICES
3478 case 3:
3479 this->device_id = value;
3480 break;
3481#endif
3482 default:
3483 return false;
3484 }
3485 return true;
3486}
3488 switch (field_id) {
3489 case 1:
3490 this->key = value.as_fixed32();
3491 break;
3492 case 2:
3493 this->epoch_seconds = value.as_fixed32();
3494 break;
3495 default:
3496 return false;
3497 }
3498 return true;
3499}
3500#endif
3501#ifdef USE_UPDATE
3503 buffer.encode_string(1, this->object_id);
3504 buffer.encode_fixed32(2, this->key);
3505 buffer.encode_string(3, this->name);
3506#ifdef USE_ENTITY_ICON
3507 buffer.encode_string(5, this->icon);
3508#endif
3509 buffer.encode_bool(6, this->disabled_by_default);
3510 buffer.encode_uint32(7, static_cast<uint32_t>(this->entity_category));
3511 buffer.encode_string(8, this->device_class);
3512#ifdef USE_DEVICES
3513 buffer.encode_uint32(9, this->device_id);
3514#endif
3515}
3517 uint32_t size = 0;
3518 size += ProtoSize::calc_length(1, this->object_id.size());
3519 size += ProtoSize::calc_fixed32(1, this->key);
3520 size += ProtoSize::calc_length(1, this->name.size());
3521#ifdef USE_ENTITY_ICON
3522 size += ProtoSize::calc_length(1, this->icon.size());
3523#endif
3524 size += ProtoSize::calc_bool(1, this->disabled_by_default);
3525 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
3526 size += ProtoSize::calc_length(1, this->device_class.size());
3527#ifdef USE_DEVICES
3528 size += ProtoSize::calc_uint32(1, this->device_id);
3529#endif
3530 return size;
3531}
3533 buffer.encode_fixed32(1, this->key);
3534 buffer.encode_bool(2, this->missing_state);
3535 buffer.encode_bool(3, this->in_progress);
3536 buffer.encode_bool(4, this->has_progress);
3537 buffer.encode_float(5, this->progress);
3538 buffer.encode_string(6, this->current_version);
3539 buffer.encode_string(7, this->latest_version);
3540 buffer.encode_string(8, this->title);
3541 buffer.encode_string(9, this->release_summary);
3542 buffer.encode_string(10, this->release_url);
3543#ifdef USE_DEVICES
3544 buffer.encode_uint32(11, this->device_id);
3545#endif
3546}
3548 uint32_t size = 0;
3549 size += ProtoSize::calc_fixed32(1, this->key);
3550 size += ProtoSize::calc_bool(1, this->missing_state);
3551 size += ProtoSize::calc_bool(1, this->in_progress);
3552 size += ProtoSize::calc_bool(1, this->has_progress);
3553 size += ProtoSize::calc_float(1, this->progress);
3554 size += ProtoSize::calc_length(1, this->current_version.size());
3555 size += ProtoSize::calc_length(1, this->latest_version.size());
3556 size += ProtoSize::calc_length(1, this->title.size());
3557 size += ProtoSize::calc_length(1, this->release_summary.size());
3558 size += ProtoSize::calc_length(1, this->release_url.size());
3559#ifdef USE_DEVICES
3560 size += ProtoSize::calc_uint32(1, this->device_id);
3561#endif
3562 return size;
3563}
3565 switch (field_id) {
3566 case 2:
3567 this->command = static_cast<enums::UpdateCommand>(value);
3568 break;
3569#ifdef USE_DEVICES
3570 case 3:
3571 this->device_id = value;
3572 break;
3573#endif
3574 default:
3575 return false;
3576 }
3577 return true;
3578}
3580 switch (field_id) {
3581 case 1:
3582 this->key = value.as_fixed32();
3583 break;
3584 default:
3585 return false;
3586 }
3587 return true;
3588}
3589#endif
3590#ifdef USE_ZWAVE_PROXY
3592 switch (field_id) {
3593 case 1: {
3594 this->data = value.data();
3595 this->data_len = value.size();
3596 break;
3597 }
3598 default:
3599 return false;
3600 }
3601 return true;
3602}
3603void ZWaveProxyFrame::encode(ProtoWriteBuffer &buffer) const { buffer.encode_bytes(1, this->data, this->data_len); }
3605 uint32_t size = 0;
3606 size += ProtoSize::calc_length(1, this->data_len);
3607 return size;
3608}
3610 switch (field_id) {
3611 case 1:
3612 this->type = static_cast<enums::ZWaveProxyRequestType>(value);
3613 break;
3614 default:
3615 return false;
3616 }
3617 return true;
3618}
3620 switch (field_id) {
3621 case 2: {
3622 this->data = value.data();
3623 this->data_len = value.size();
3624 break;
3625 }
3626 default:
3627 return false;
3628 }
3629 return true;
3630}
3632 buffer.encode_uint32(1, static_cast<uint32_t>(this->type));
3633 buffer.encode_bytes(2, this->data, this->data_len);
3634}
3636 uint32_t size = 0;
3637 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->type));
3638 size += ProtoSize::calc_length(1, this->data_len);
3639 return size;
3640}
3641#endif
3642#ifdef USE_INFRARED
3644 buffer.encode_string(1, this->object_id);
3645 buffer.encode_fixed32(2, this->key);
3646 buffer.encode_string(3, this->name);
3647#ifdef USE_ENTITY_ICON
3648 buffer.encode_string(4, this->icon);
3649#endif
3650 buffer.encode_bool(5, this->disabled_by_default);
3651 buffer.encode_uint32(6, static_cast<uint32_t>(this->entity_category));
3652#ifdef USE_DEVICES
3653 buffer.encode_uint32(7, this->device_id);
3654#endif
3655 buffer.encode_uint32(8, this->capabilities);
3656}
3658 uint32_t size = 0;
3659 size += ProtoSize::calc_length(1, this->object_id.size());
3660 size += ProtoSize::calc_fixed32(1, this->key);
3661 size += ProtoSize::calc_length(1, this->name.size());
3662#ifdef USE_ENTITY_ICON
3663 size += ProtoSize::calc_length(1, this->icon.size());
3664#endif
3665 size += ProtoSize::calc_bool(1, this->disabled_by_default);
3666 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->entity_category));
3667#ifdef USE_DEVICES
3668 size += ProtoSize::calc_uint32(1, this->device_id);
3669#endif
3670 size += ProtoSize::calc_uint32(1, this->capabilities);
3671 return size;
3672}
3673#endif
3674#ifdef USE_IR_RF
3676 switch (field_id) {
3677#ifdef USE_DEVICES
3678 case 1:
3679 this->device_id = value;
3680 break;
3681#endif
3682 case 3:
3683 this->carrier_frequency = value;
3684 break;
3685 case 4:
3686 this->repeat_count = value;
3687 break;
3688 default:
3689 return false;
3690 }
3691 return true;
3692}
3694 switch (field_id) {
3695 case 5: {
3696 this->timings_data_ = value.data();
3697 this->timings_length_ = value.size();
3698 this->timings_count_ = count_packed_varints(value.data(), value.size());
3699 break;
3700 }
3701 default:
3702 return false;
3703 }
3704 return true;
3705}
3707 switch (field_id) {
3708 case 2:
3709 this->key = value.as_fixed32();
3710 break;
3711 default:
3712 return false;
3713 }
3714 return true;
3715}
3717#ifdef USE_DEVICES
3718 buffer.encode_uint32(1, this->device_id);
3719#endif
3720 buffer.encode_fixed32(2, this->key);
3721 for (const auto &it : *this->timings) {
3722 buffer.encode_sint32(3, it, true);
3723 }
3724}
3726 uint32_t size = 0;
3727#ifdef USE_DEVICES
3729#endif
3730 size += ProtoSize::calc_fixed32(1, this->key);
3731 if (!this->timings->empty()) {
3732 for (const auto &it : *this->timings) {
3733 size += ProtoSize::calc_sint32_force(1, it);
3734 }
3735 }
3736 return size;
3737}
3738#endif
3739#ifdef USE_SERIAL_PROXY
3741 switch (field_id) {
3742 case 1:
3743 this->instance = value;
3744 break;
3745 case 2:
3746 this->baudrate = value;
3747 break;
3748 case 3:
3749 this->flow_control = value != 0;
3750 break;
3751 case 4:
3752 this->parity = static_cast<enums::SerialProxyParity>(value);
3753 break;
3754 case 5:
3755 this->stop_bits = value;
3756 break;
3757 case 6:
3758 this->data_size = value;
3759 break;
3760 default:
3761 return false;
3762 }
3763 return true;
3764}
3766 buffer.encode_uint32(1, this->instance);
3767 buffer.encode_bytes(2, this->data_ptr_, this->data_len_);
3768}
3770 uint32_t size = 0;
3771 size += ProtoSize::calc_uint32(1, this->instance);
3772 size += ProtoSize::calc_length(1, this->data_len_);
3773 return size;
3774}
3776 switch (field_id) {
3777 case 1:
3778 this->instance = value;
3779 break;
3780 default:
3781 return false;
3782 }
3783 return true;
3784}
3786 switch (field_id) {
3787 case 2: {
3788 this->data = value.data();
3789 this->data_len = value.size();
3790 break;
3791 }
3792 default:
3793 return false;
3794 }
3795 return true;
3796}
3798 switch (field_id) {
3799 case 1:
3800 this->instance = value;
3801 break;
3802 case 2:
3803 this->line_states = value;
3804 break;
3805 default:
3806 return false;
3807 }
3808 return true;
3809}
3811 switch (field_id) {
3812 case 1:
3813 this->instance = value;
3814 break;
3815 default:
3816 return false;
3817 }
3818 return true;
3819}
3821 buffer.encode_uint32(1, this->instance);
3822 buffer.encode_uint32(2, this->line_states);
3823}
3825 uint32_t size = 0;
3826 size += ProtoSize::calc_uint32(1, this->instance);
3827 size += ProtoSize::calc_uint32(1, this->line_states);
3828 return size;
3829}
3831 switch (field_id) {
3832 case 1:
3833 this->instance = value;
3834 break;
3835 case 2:
3836 this->type = static_cast<enums::SerialProxyRequestType>(value);
3837 break;
3838 default:
3839 return false;
3840 }
3841 return true;
3842}
3844 buffer.encode_uint32(1, this->instance);
3845 buffer.encode_uint32(2, static_cast<uint32_t>(this->type));
3846 buffer.encode_uint32(3, static_cast<uint32_t>(this->status));
3847 buffer.encode_string(4, this->error_message);
3848}
3850 uint32_t size = 0;
3851 size += ProtoSize::calc_uint32(1, this->instance);
3852 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->type));
3853 size += ProtoSize::calc_uint32(1, static_cast<uint32_t>(this->status));
3854 size += ProtoSize::calc_length(1, this->error_message.size());
3855 return size;
3856}
3857#endif
3858#ifdef USE_BLUETOOTH_PROXY
3860 switch (field_id) {
3861 case 1:
3862 this->address = value;
3863 break;
3864 case 2:
3865 this->min_interval = value;
3866 break;
3867 case 3:
3868 this->max_interval = value;
3869 break;
3870 case 4:
3871 this->latency = value;
3872 break;
3873 case 5:
3874 this->timeout = value;
3875 break;
3876 default:
3877 return false;
3878 }
3879 return true;
3880}
3882 buffer.encode_uint64(1, this->address);
3883 buffer.encode_int32(2, this->error);
3884}
3886 uint32_t size = 0;
3887 size += ProtoSize::calc_uint64(1, this->address);
3888 size += ProtoSize::calc_int32(1, this->error);
3889 return size;
3890}
3891#endif
3892
3893} // namespace esphome::api
constexpr bool empty() const
Check if the set is empty.
bool empty() const
Definition helpers.h:532
void push_back(const T &value)
Add element without bounds checking Caller must ensure sufficient capacity was allocated via init() S...
Definition helpers.h:491
void init(size_t n)
Definition helpers.h:464
StringRef is a reference to a string owned by something else.
Definition string_ref.h:26
constexpr size_type size() const
Definition string_ref.h:74
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:3019
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2993
enums::AlarmControlPanelStateCommand command
Definition api_pb2.h:2626
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:3008
enums::AlarmControlPanelState state
Definition api_pb2.h:2610
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2977
uint32_t calculate_size() const
Definition api_pb2.cpp:53
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:49
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:241
std::array< uint64_t, BLUETOOTH_PROXY_MAX_CONNECTIONS > allocated
Definition api_pb2.h:2186
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2535
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2611
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2296
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2587
enums::BluetoothDeviceRequestType request_type
Definition api_pb2.h:1924
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2277
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2599
FixedVector< BluetoothGATTDescriptor > descriptors
Definition api_pb2.h:1986
std::array< uint64_t, 2 > uuid
Definition api_pb2.h:1983
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2338
std::array< uint64_t, 2 > uuid
Definition api_pb2.h:1970
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2320
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2555
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2408
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2310
std::vector< BluetoothGATTService > services
Definition api_pb2.h:2018
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2392
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2523
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2507
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2577
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2469
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2416
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2429
FixedVector< BluetoothGATTCharacteristic > characteristics
Definition api_pb2.h:2000
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2366
std::array< uint64_t, 2 > uuid
Definition api_pb2.h:1998
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2482
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:2495
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:2457
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2441
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2567
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2251
std::array< BluetoothLERawAdvertisement, BLUETOOTH_PROXY_ADVERTISEMENT_BATCH_SIZE > advertisements
Definition api_pb2.h:1906
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2265
enums::BluetoothScannerMode mode
Definition api_pb2.h:2326
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2635
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2623
enums::BluetoothScannerMode mode
Definition api_pb2.h:2309
enums::BluetoothScannerState state
Definition api_pb2.h:2308
enums::BluetoothScannerMode configured_mode
Definition api_pb2.h:2310
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:3859
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3881
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2085
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:2097
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:1316
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:1298
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:1540
enums::ClimateSwingMode swing_mode
Definition api_pb2.h:1451
enums::ClimateFanMode fan_mode
Definition api_pb2.h:1449
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:1471
enums::ClimatePreset preset
Definition api_pb2.h:1455
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:1525
enums::ClimateFanMode fan_mode
Definition api_pb2.h:1418
enums::ClimateSwingMode swing_mode
Definition api_pb2.h:1419
enums::ClimateAction action
Definition api_pb2.h:1417
enums::ClimatePreset preset
Definition api_pb2.h:1421
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:1431
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:340
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:319
enums::CoverOperation current_operation
Definition api_pb2.h:664
uint32_t calculate_size() const
Definition api_pb2.cpp:308
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:299
enums::DSTRuleType type
Definition api_pb2.h:1170
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:1039
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:3191
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:3170
uint32_t calculate_size() const
Definition api_pb2.cpp:3158
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3148
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:3475
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:3487
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3457
uint32_t calculate_size() const
Definition api_pb2.cpp:66
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:61
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:86
uint32_t calculate_size() const
Definition api_pb2.cpp:146
std::array< AreaInfo, ESPHOME_AREA_COUNT > areas
Definition api_pb2.h:563
std::array< SerialProxyInfo, SERIAL_PROXY_COUNT > serial_proxies
Definition api_pb2.h:575
std::array< DeviceInfo, ESPHOME_DEVICE_COUNT > devices
Definition api_pb2.h:560
uint32_t calculate_size() const
Definition api_pb2.cpp:3331
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3324
void decode(const uint8_t *buffer, size_t length) override
Definition api_pb2.cpp:1194
FixedVector< float > float_array
Definition api_pb2.h:1254
FixedVector< std::string > string_array
Definition api_pb2.h:1255
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:1145
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:1167
FixedVector< int32_t > int_array
Definition api_pb2.h:1253
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:1181
FixedVector< ExecuteServiceArgument > args
Definition api_pb2.h:1274
void decode(const uint8_t *buffer, size_t length) override
Definition api_pb2.cpp:1243
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:1205
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:1233
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:1222
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:1250
enums::FanDirection direction
Definition api_pb2.h:747
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:465
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:426
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:476
enums::FanDirection direction
Definition api_pb2.h:724
uint32_t calculate_size() const
Definition api_pb2.cpp:413
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:402
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:1104
ParsedTimezone parsed_timezone
Definition api_pb2.h:1204
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:1090
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:10
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:23
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:34
uint32_t calculate_size() const
Definition api_pb2.cpp:40
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:1019
FixedVector< HomeassistantServiceMap > variables
Definition api_pb2.h:1072
FixedVector< HomeassistantServiceMap > data
Definition api_pb2.h:1070
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:920
FixedVector< HomeassistantServiceMap > data_template
Definition api_pb2.h:1071
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:987
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:974
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:910
enums::EntityCategory entity_category
Definition api_pb2.h:356
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3716
const std::vector< int32_t > * timings
Definition api_pb2.h:3095
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:3706
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:3675
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:3693
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:634
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:645
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:574
uint32_t calculate_size() const
Definition api_pb2.cpp:554
enums::ColorMode color_mode
Definition api_pb2.h:791
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:536
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2943
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:209
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2055
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:1270
const std::vector< const char * > * supported_custom_presets
Definition api_pb2.h:1390
const climate::ClimateSwingModeMask * supported_swing_modes
Definition api_pb2.h:1387
const std::vector< const char * > * supported_custom_fan_modes
Definition api_pb2.h:1388
const climate::ClimatePresetMask * supported_presets
Definition api_pb2.h:1389
const climate::ClimateFanModeMask * supported_fan_modes
Definition api_pb2.h:1386
const climate::ClimateModeMask * supported_modes
Definition api_pb2.h:1381
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:1331
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:261
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3120
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3429
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3286
const FixedVector< const char * > * event_types
Definition api_pb2.h:2810
const std::vector< const char * > * supported_preset_modes
Definition api_pb2.h:706
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:358
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3643
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:488
const FixedVector< const char * > * effects
Definition api_pb2.h:773
const light::ColorModeMask * supported_color_modes
Definition api_pb2.h:770
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:1962
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2125
std::vector< MediaPlayerSupportedFormat > supported_formats
Definition api_pb2.h:1815
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:1676
const FixedVector< const char * > * options
Definition api_pb2.h:1598
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:1761
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:684
enums::SensorStateClass state_class
Definition api_pb2.h:864
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:1115
enums::SupportsResponseType supports_response
Definition api_pb2.h:1236
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:1125
FixedVector< ListEntitiesServicesArgument > args
Definition api_pb2.h:1235
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:1850
const FixedVector< const char * > * tones
Definition api_pb2.h:1650
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:742
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3031
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:817
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3203
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3502
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3342
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:1564
const water_heater::WaterHeaterModeMask * supported_modes
Definition api_pb2.h:1481
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2014
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:2043
enums::LockCommand command
Definition api_pb2.h:1745
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:2032
uint32_t calculate_size() const
Definition api_pb2.cpp:2005
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:1998
enums::MediaPlayerCommand command
Definition api_pb2.h:1851
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:2226
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:2215
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2185
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2165
enums::MediaPlayerState state
Definition api_pb2.h:1832
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2109
enums::MediaPlayerFormatPurpose purpose
Definition api_pb2.h:1797
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:890
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:902
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:1746
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:1734
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:1716
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:1077
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:1064
uint32_t as_fixed32() const
Definition proto.h:188
float as_float() const
Definition proto.h:190
virtual void decode(const uint8_t *buffer, size_t length)
Definition proto.cpp:206
static uint32_t count_repeated_field(const uint8_t *buffer, size_t length, uint32_t target_field_id)
Count occurrences of a repeated field in a protobuf buffer.
Definition proto.cpp:60
void decode_to_message(ProtoDecodableMessage &msg) const
Decode the length-delimited data into an existing ProtoDecodableMessage instance.
Definition proto.h:687
const uint8_t * data() const
Definition proto.h:166
std::string as_string() const
Definition proto.h:163
static constexpr uint32_t calc_uint64(uint32_t field_id_size, uint64_t value)
Definition proto.h:618
static constexpr uint32_t calc_sint32_force(uint32_t field_id_size, int32_t value)
Definition proto.h:609
static constexpr uint32_t calc_bool(uint32_t field_id_size, bool value)
Definition proto.h:595
static constexpr uint32_t calc_uint64_force(uint32_t field_id_size, uint64_t value)
Definition proto.h:621
static constexpr uint32_t calc_message(uint32_t field_id_size, uint32_t nested_size)
Definition proto.h:642
static constexpr uint32_t calc_uint32_force(uint32_t field_id_size, uint32_t value)
Definition proto.h:592
static constexpr uint32_t calc_length_force(uint32_t field_id_size, size_t len)
Definition proto.h:627
static constexpr uint32_t calc_uint32(uint32_t field_id_size, uint32_t value)
Definition proto.h:589
static constexpr uint32_t calc_length(uint32_t field_id_size, size_t len)
Definition proto.h:624
static constexpr uint32_t calc_message_force(uint32_t field_id_size, uint32_t nested_size)
Definition proto.h:645
static constexpr uint32_t calc_int32(uint32_t field_id_size, int32_t value)
Definition proto.h:583
static constexpr uint32_t calc_float(uint32_t field_id_size, float value)
Definition proto.h:597
static constexpr uint32_t calc_fixed32(uint32_t field_id_size, uint32_t value)
Definition proto.h:600
void encode_string(uint32_t field_id, const char *string, size_t len, bool force=false)
Definition proto.h:239
void encode_bool(uint32_t field_id, bool value, bool force=false)
Definition proto.h:272
void encode_uint64(uint32_t field_id, uint64_t value, bool force=false)
Definition proto.h:266
void encode_uint32(uint32_t field_id, uint32_t value, bool force=false)
Definition proto.h:260
void encode_optional_sub_message(uint32_t field_id, const T &value)
Encode an optional singular submessage field — skips if empty.
Definition proto.h:682
void encode_sub_message(uint32_t field_id, const T &value)
Single-pass encode for repeated submessage elements.
Definition proto.h:677
void encode_bytes(uint32_t field_id, const uint8_t *data, size_t len, bool force=false)
Definition proto.h:257
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:1827
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:1815
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:1838
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:1797
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:722
enums::SerialProxyParity parity
Definition api_pb2.h:3116
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:3740
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3765
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:3810
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3820
uint32_t calculate_size() const
Definition api_pb2.cpp:79
enums::SerialProxyPortType port_type
Definition api_pb2.h:508
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:75
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:3830
enums::SerialProxyRequestType type
Definition api_pb2.h:3222
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3843
enums::SerialProxyRequestType type
Definition api_pb2.h:3238
enums::SerialProxyStatus status
Definition api_pb2.h:3239
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:3797
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:3785
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:3775
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:1906
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:1936
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:1947
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:1890
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2241
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:1007
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:866
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:879
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2647
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:805
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:790
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:774
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:3097
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:3085
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:3108
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:847
uint32_t calculate_size() const
Definition api_pb2.cpp:3075
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3067
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:3274
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:3253
uint32_t calculate_size() const
Definition api_pb2.cpp:3241
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3231
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:3579
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:3564
enums::UpdateCommand command
Definition api_pb2.h:2990
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3532
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:3396
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:3414
enums::ValveOperation current_operation
Definition api_pb2.h:2864
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3378
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2832
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:2813
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2803
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2737
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:2747
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2759
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2660
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:2896
std::vector< VoiceAssistantExternalWakeWord > external_wake_words
Definition api_pb2.h:2542
std::vector< VoiceAssistantWakeWord > available_wake_words
Definition api_pb2.h:2557
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2907
const std::vector< std::string > * active_wake_words
Definition api_pb2.h:2558
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:2701
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:2726
enums::VoiceAssistantEvent event_type
Definition api_pb2.h:2419
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2716
std::vector< VoiceAssistantEventData > data
Definition api_pb2.h:2420
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:2866
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2856
std::vector< std::string > trained_languages
Definition api_pb2.h:2522
VoiceAssistantAudioSettings audio_settings
Definition api_pb2.h:2375
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2672
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2688
std::vector< std::string > active_wake_words
Definition api_pb2.h:2575
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:2931
enums::VoiceAssistantTimerEvent event_type
Definition api_pb2.h:2456
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:2788
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:2769
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:2838
std::vector< std::string > trained_languages
Definition api_pb2.h:2509
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:1634
bool decode_32bit(uint32_t field_id, Proto32Bit value) override
Definition api_pb2.cpp:1655
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:1608
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3603
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:3591
uint32_t calculate_size() const
Definition api_pb2.cpp:3604
void encode(ProtoWriteBuffer &buffer) const
Definition api_pb2.cpp:3631
bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override
Definition api_pb2.cpp:3619
bool decode_varint(uint32_t field_id, proto_varint_value_t value) override
Definition api_pb2.cpp:3609
uint32_t calculate_size() const
Definition api_pb2.cpp:3635
enums::ZWaveProxyRequestType type
Definition api_pb2.h:3026
uint64_t proto_varint_value_t
Type used for decoded varint values - uint64_t when BLE needs 64-bit addresses, uint32_t otherwise.
Definition proto.h:104
constexpr int32_t decode_zigzag32(uint32_t value)
Definition proto.h:36
uint16_t count_packed_varints(const uint8_t *data, size_t len)
Count number of varints in a packed buffer.
Definition proto.h:45
size_t size
Definition helpers.h:929
static void uint32_t
uint16_t length
Definition tt21100.cpp:0