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