@kusinta/iot-schema 0.2.0-beta.36 → 0.2.0-beta.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,6 +13,8 @@ import type { LinkFunction, LinkMode, LinkSettings } from "../../link/v1/link_pb
13
13
  import type { ClimateModeKind, ClimateSummaryPeriod } from "../../climate/v1/climate_pb.js";
14
14
  import type { Timestamp } from "@bufbuild/protobuf/wkt";
15
15
  import type { ServiceSignal } from "../../access/v1/acl_pb.js";
16
+ import type { ComfortLoad, ComfortWindow, FloorZone, HeatingCircuit, HeatingPlant } from "../../heating/v1/heating_pb.js";
17
+ import type { LinkedService } from "../../accountlink/v1/account_link_pb.js";
16
18
  import type { ApproveJoinRequest, CreateInvite, DenyJoinRequest, ListSpaceInvites, MarkInviteEmailSent, ResendInvite, RevokeInvite } from "./invite_pb.js";
17
19
  import type { AnswerPromotion, ListGatewayMembers, ListPromotionRequests, RemoveFromGateway, RequestPromotion, SetAccessUntil, SetMemberRole, SetOwnerOrganisation } from "./members_pb.js";
18
20
 
@@ -1198,6 +1200,265 @@ export declare type ReconnectConnector = Message<"kusinta.iot.webrtc.v1.Reconnec
1198
1200
  */
1199
1201
  export declare const ReconnectConnectorSchema: GenMessage<ReconnectConnector>;
1200
1202
 
1203
+ /**
1204
+ * Lists the heating records (heating.v1) a caller may see under a space: unset
1205
+ * root_space_id lists every one the caller can reach. Answered with a HeatingLayout.
1206
+ *
1207
+ * @generated from message kusinta.iot.webrtc.v1.ListHeating
1208
+ */
1209
+ export declare type ListHeating = Message<"kusinta.iot.webrtc.v1.ListHeating"> & {
1210
+ /**
1211
+ * @generated from field: kusinta.iot.identity.v1.SpaceId root_space_id = 1;
1212
+ */
1213
+ rootSpaceId?: SpaceId | undefined;
1214
+ };
1215
+
1216
+ /**
1217
+ * Describes the message kusinta.iot.webrtc.v1.ListHeating.
1218
+ * Use `create(ListHeatingSchema)` to create a new message.
1219
+ */
1220
+ export declare const ListHeatingSchema: GenMessage<ListHeating>;
1221
+
1222
+ /**
1223
+ * Creates a plant (empty plant_id) or replaces one. Answered with the HeatingRecord as
1224
+ * stored. The puts of heating records refuse, with metadata "reason":
1225
+ *
1226
+ * INVALID_REQUEST
1227
+ * "ZONE_CONTROL_ROOM" a floor zone whose control room is unset or not one of its rooms.
1228
+ * "ZONE_ROOMS_ACROSS_HOMES" a floor zone with rooms in two homes, or in a home and outside
1229
+ * homes.
1230
+ * "ZONE_AREA_SHARES" a floor zone with a room listed twice, a share of 0, or shares
1231
+ * that do not sum to 1000.
1232
+ * "ROOM_OUTSIDE_PLANT" a zone room outside its plant's space; metadata "room_id" names it.
1233
+ * "ZONE_NOT_ON_FLOOR" a floor zone on a circuit that is not a floor circuit.
1234
+ * "SG_READY_HALF_BOUND" one SG Ready input bound without the other.
1235
+ * "CONTROL_EMPTY" a plant control that binds no input.
1236
+ * "NO_ENDPOINT" an attribute on the Matter branch with no endpoint_id.
1237
+ * "WINDOWS_IN_PUT" a comfort load put with windows (see SetComfortWindows).
1238
+ *
1239
+ * FAILED_PRECONDITION
1240
+ * "STALE_REVISION" the record changed since the revision the request names.
1241
+ * "CHILDREN_INVALID" a plant or circuit put that would leave a record under it
1242
+ * invalid: a circuit with zones no longer a floor circuit, or a
1243
+ * space or plant change leaving a zone's room outside its plant.
1244
+ * "OUTPUT_BOUND_TWICE" an output already bound in another role or record.
1245
+ * "OUTPUT_NOT_LEASED" an output whose write its producer does not state as leased.
1246
+ * "REST_STATE" an output whose lapse value, read through closed_value, does not
1247
+ * leave the contact where its role rests.
1248
+ *
1249
+ * A refusal about one binding names it in metadata "field", by its proto field name:
1250
+ * "sg_ready_block", "sg_ready_boost", "add_on_heater_block", "meter", "output",
1251
+ * "supply_probe", "return_probe".
1252
+ *
1253
+ * A device or room the caller cannot reach, a parent it may not use (see heating.v1) and an
1254
+ * id that does not exist are all refused as NOT_ENTITLED with the same metadata, so no answer
1255
+ * tells one from another. HAS_CHILDREN, CHILDREN_INVALID and OUTPUT_BOUND_TWICE may count
1256
+ * records the caller cannot see — a zone in a home under a circuit outside it. That one bit
1257
+ * is accepted, as it is for the members listing; their metadata never names or counts such
1258
+ * a record.
1259
+ *
1260
+ * @generated from message kusinta.iot.webrtc.v1.PutHeatingPlant
1261
+ */
1262
+ export declare type PutHeatingPlant = Message<"kusinta.iot.webrtc.v1.PutHeatingPlant"> & {
1263
+ /**
1264
+ * @generated from field: kusinta.iot.heating.v1.HeatingPlant plant = 1;
1265
+ */
1266
+ plant?: HeatingPlant | undefined;
1267
+ };
1268
+
1269
+ /**
1270
+ * Describes the message kusinta.iot.webrtc.v1.PutHeatingPlant.
1271
+ * Use `create(PutHeatingPlantSchema)` to create a new message.
1272
+ */
1273
+ export declare const PutHeatingPlantSchema: GenMessage<PutHeatingPlant>;
1274
+
1275
+ /**
1276
+ * Creates or replaces a circuit of a plant; as PutHeatingPlant.
1277
+ *
1278
+ * @generated from message kusinta.iot.webrtc.v1.PutHeatingCircuit
1279
+ */
1280
+ export declare type PutHeatingCircuit = Message<"kusinta.iot.webrtc.v1.PutHeatingCircuit"> & {
1281
+ /**
1282
+ * @generated from field: kusinta.iot.heating.v1.HeatingCircuit circuit = 1;
1283
+ */
1284
+ circuit?: HeatingCircuit | undefined;
1285
+ };
1286
+
1287
+ /**
1288
+ * Describes the message kusinta.iot.webrtc.v1.PutHeatingCircuit.
1289
+ * Use `create(PutHeatingCircuitSchema)` to create a new message.
1290
+ */
1291
+ export declare const PutHeatingCircuitSchema: GenMessage<PutHeatingCircuit>;
1292
+
1293
+ /**
1294
+ * Creates or replaces a floor zone of a floor circuit; as PutHeatingPlant.
1295
+ *
1296
+ * @generated from message kusinta.iot.webrtc.v1.PutFloorZone
1297
+ */
1298
+ export declare type PutFloorZone = Message<"kusinta.iot.webrtc.v1.PutFloorZone"> & {
1299
+ /**
1300
+ * @generated from field: kusinta.iot.heating.v1.FloorZone zone = 1;
1301
+ */
1302
+ zone?: FloorZone | undefined;
1303
+ };
1304
+
1305
+ /**
1306
+ * Describes the message kusinta.iot.webrtc.v1.PutFloorZone.
1307
+ * Use `create(PutFloorZoneSchema)` to create a new message.
1308
+ */
1309
+ export declare const PutFloorZoneSchema: GenMessage<PutFloorZone>;
1310
+
1311
+ /**
1312
+ * Creates or replaces a comfort load's room, name and output, keeping its windows; as
1313
+ * PutHeatingPlant.
1314
+ *
1315
+ * @generated from message kusinta.iot.webrtc.v1.PutComfortLoad
1316
+ */
1317
+ export declare type PutComfortLoad = Message<"kusinta.iot.webrtc.v1.PutComfortLoad"> & {
1318
+ /**
1319
+ * @generated from field: kusinta.iot.heating.v1.ComfortLoad comfort_load = 1;
1320
+ */
1321
+ comfortLoad?: ComfortLoad | undefined;
1322
+ };
1323
+
1324
+ /**
1325
+ * Describes the message kusinta.iot.webrtc.v1.PutComfortLoad.
1326
+ * Use `create(PutComfortLoadSchema)` to create a new message.
1327
+ */
1328
+ export declare const PutComfortLoadSchema: GenMessage<PutComfortLoad>;
1329
+
1330
+ /**
1331
+ * Removes a heating record by its id, naming the revision it removes. Refused as
1332
+ * FAILED_PRECONDITION with metadata "reason" "STALE_REVISION" when it changed since, and
1333
+ * "HAS_CHILDREN" while records lie under it — a plant's circuits, a circuit's zones — so
1334
+ * nothing is removed that the caller did not name. Its outputs are returned to rest at once
1335
+ * (see heating.v1). Acked.
1336
+ *
1337
+ * @generated from message kusinta.iot.webrtc.v1.RemoveHeatingRecord
1338
+ */
1339
+ export declare type RemoveHeatingRecord = Message<"kusinta.iot.webrtc.v1.RemoveHeatingRecord"> & {
1340
+ /**
1341
+ * @generated from field: string id = 1;
1342
+ */
1343
+ id: string;
1344
+
1345
+ /**
1346
+ * @generated from field: uint64 revision = 2;
1347
+ */
1348
+ revision: bigint;
1349
+ };
1350
+
1351
+ /**
1352
+ * Describes the message kusinta.iot.webrtc.v1.RemoveHeatingRecord.
1353
+ * Use `create(RemoveHeatingRecordSchema)` to create a new message.
1354
+ */
1355
+ export declare const RemoveHeatingRecordSchema: GenMessage<RemoveHeatingRecord>;
1356
+
1357
+ /**
1358
+ * Replaces a comfort load's windows: a resident's setting, apart from the binding and its
1359
+ * revision. Answered with the HeatingRecord as stored. Refused as FAILED_PRECONDITION
1360
+ * "STALE_REVISION" when windows_revision is set and the windows changed since, and as
1361
+ * INVALID_REQUEST "WINDOW" for a window that ComfortWindow does not allow or more than 16.
1362
+ * From an installer under a commissioning grant, NOT_ENTITLED.
1363
+ *
1364
+ * @generated from message kusinta.iot.webrtc.v1.SetComfortWindows
1365
+ */
1366
+ export declare type SetComfortWindows = Message<"kusinta.iot.webrtc.v1.SetComfortWindows"> & {
1367
+ /**
1368
+ * @generated from field: string comfort_load_id = 1;
1369
+ */
1370
+ comfortLoadId: string;
1371
+
1372
+ /**
1373
+ * @generated from field: repeated kusinta.iot.heating.v1.ComfortWindow windows = 2;
1374
+ */
1375
+ windows: ComfortWindow[];
1376
+
1377
+ /**
1378
+ * The ComfortLoad.windows_revision these windows replace. Unset: whatever is stored.
1379
+ *
1380
+ * @generated from field: optional uint64 windows_revision = 3;
1381
+ */
1382
+ windowsRevision?: bigint | undefined;
1383
+ };
1384
+
1385
+ /**
1386
+ * Describes the message kusinta.iot.webrtc.v1.SetComfortWindows.
1387
+ * Use `create(SetComfortWindowsSchema)` to create a new message.
1388
+ */
1389
+ export declare const SetComfortWindowsSchema: GenMessage<SetComfortWindows>;
1390
+
1391
+ /**
1392
+ * Asks for a nonce to link one home's account at a third-party service
1393
+ * (accountlink.v1.AccountLinkNonce). Only a household admin of the home — the resident
1394
+ * relation that governs a home's own settings — is issued one; anyone else is refused as
1395
+ * NOT_ENTITLED, as is a home the caller cannot reach. A service this gateway does not
1396
+ * support is refused as INVALID_REQUEST.
1397
+ *
1398
+ * @generated from message kusinta.iot.webrtc.v1.RequestAccountLinkNonce
1399
+ */
1400
+ export declare type RequestAccountLinkNonce = Message<"kusinta.iot.webrtc.v1.RequestAccountLinkNonce"> & {
1401
+ /**
1402
+ * @generated from field: kusinta.iot.identity.v1.SpaceId home_id = 1;
1403
+ */
1404
+ homeId?: SpaceId | undefined;
1405
+
1406
+ /**
1407
+ * @generated from field: kusinta.iot.accountlink.v1.LinkedService service = 2;
1408
+ */
1409
+ service: LinkedService;
1410
+ };
1411
+
1412
+ /**
1413
+ * Describes the message kusinta.iot.webrtc.v1.RequestAccountLinkNonce.
1414
+ * Use `create(RequestAccountLinkNonceSchema)` to create a new message.
1415
+ */
1416
+ export declare const RequestAccountLinkNonceSchema: GenMessage<RequestAccountLinkNonce>;
1417
+
1418
+ /**
1419
+ * Lists a home's linked accounts and their status, answered with an AccountLinks. Given to
1420
+ * the home's residents; anyone else is refused as NOT_ENTITLED.
1421
+ *
1422
+ * @generated from message kusinta.iot.webrtc.v1.ListAccountLinks
1423
+ */
1424
+ export declare type ListAccountLinks = Message<"kusinta.iot.webrtc.v1.ListAccountLinks"> & {
1425
+ /**
1426
+ * @generated from field: kusinta.iot.identity.v1.SpaceId home_id = 1;
1427
+ */
1428
+ homeId?: SpaceId | undefined;
1429
+ };
1430
+
1431
+ /**
1432
+ * Describes the message kusinta.iot.webrtc.v1.ListAccountLinks.
1433
+ * Use `create(ListAccountLinksSchema)` to create a new message.
1434
+ */
1435
+ export declare const ListAccountLinksSchema: GenMessage<ListAccountLinks>;
1436
+
1437
+ /**
1438
+ * Unlinks a home's account at one service: the gateway reads no more through it and revokes
1439
+ * it (accountlink.v1.RevokeToken). A household admin of the home only; anyone else is refused
1440
+ * as NOT_ENTITLED. A service with no link is acked all the same. Acked.
1441
+ *
1442
+ * @generated from message kusinta.iot.webrtc.v1.UnlinkAccount
1443
+ */
1444
+ export declare type UnlinkAccount = Message<"kusinta.iot.webrtc.v1.UnlinkAccount"> & {
1445
+ /**
1446
+ * @generated from field: kusinta.iot.identity.v1.SpaceId home_id = 1;
1447
+ */
1448
+ homeId?: SpaceId | undefined;
1449
+
1450
+ /**
1451
+ * @generated from field: kusinta.iot.accountlink.v1.LinkedService service = 2;
1452
+ */
1453
+ service: LinkedService;
1454
+ };
1455
+
1456
+ /**
1457
+ * Describes the message kusinta.iot.webrtc.v1.UnlinkAccount.
1458
+ * Use `create(UnlinkAccountSchema)` to create a new message.
1459
+ */
1460
+ export declare const UnlinkAccountSchema: GenMessage<UnlinkAccount>;
1461
+
1201
1462
  /**
1202
1463
  * @generated from message kusinta.iot.webrtc.v1.ManagementRequest
1203
1464
  */
@@ -1442,6 +1703,68 @@ export declare type ManagementRequest = Message<"kusinta.iot.webrtc.v1.Managemen
1442
1703
  */
1443
1704
  value: ListPromotionRequests;
1444
1705
  case: "listPromotionRequests";
1706
+ } | {
1707
+ /**
1708
+ * Heating records; see heating.v1.
1709
+ *
1710
+ * @generated from field: kusinta.iot.webrtc.v1.ListHeating list_heating = 39;
1711
+ */
1712
+ value: ListHeating;
1713
+ case: "listHeating";
1714
+ } | {
1715
+ /**
1716
+ * @generated from field: kusinta.iot.webrtc.v1.PutHeatingPlant put_heating_plant = 40;
1717
+ */
1718
+ value: PutHeatingPlant;
1719
+ case: "putHeatingPlant";
1720
+ } | {
1721
+ /**
1722
+ * @generated from field: kusinta.iot.webrtc.v1.PutHeatingCircuit put_heating_circuit = 41;
1723
+ */
1724
+ value: PutHeatingCircuit;
1725
+ case: "putHeatingCircuit";
1726
+ } | {
1727
+ /**
1728
+ * @generated from field: kusinta.iot.webrtc.v1.PutFloorZone put_floor_zone = 42;
1729
+ */
1730
+ value: PutFloorZone;
1731
+ case: "putFloorZone";
1732
+ } | {
1733
+ /**
1734
+ * @generated from field: kusinta.iot.webrtc.v1.PutComfortLoad put_comfort_load = 43;
1735
+ */
1736
+ value: PutComfortLoad;
1737
+ case: "putComfortLoad";
1738
+ } | {
1739
+ /**
1740
+ * @generated from field: kusinta.iot.webrtc.v1.RemoveHeatingRecord remove_heating_record = 44;
1741
+ */
1742
+ value: RemoveHeatingRecord;
1743
+ case: "removeHeatingRecord";
1744
+ } | {
1745
+ /**
1746
+ * @generated from field: kusinta.iot.webrtc.v1.SetComfortWindows set_comfort_windows = 45;
1747
+ */
1748
+ value: SetComfortWindows;
1749
+ case: "setComfortWindows";
1750
+ } | {
1751
+ /**
1752
+ * @generated from field: kusinta.iot.webrtc.v1.RequestAccountLinkNonce request_account_link_nonce = 46;
1753
+ */
1754
+ value: RequestAccountLinkNonce;
1755
+ case: "requestAccountLinkNonce";
1756
+ } | {
1757
+ /**
1758
+ * @generated from field: kusinta.iot.webrtc.v1.ListAccountLinks list_account_links = 47;
1759
+ */
1760
+ value: ListAccountLinks;
1761
+ case: "listAccountLinks";
1762
+ } | {
1763
+ /**
1764
+ * @generated from field: kusinta.iot.webrtc.v1.UnlinkAccount unlink_account = 48;
1765
+ */
1766
+ value: UnlinkAccount;
1767
+ case: "unlinkAccount";
1445
1768
  } | { case: undefined; value?: undefined };
1446
1769
  };
1447
1770
 
@@ -6,8 +6,10 @@ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
6
6
  import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
7
7
  import { file_kusinta_iot_access_v1_acl } from "../../access/v1/acl_pb.js";
8
8
  import { file_kusinta_iot_access_v1_roles } from "../../access/v1/roles_pb.js";
9
+ import { file_kusinta_iot_accountlink_v1_account_link } from "../../accountlink/v1/account_link_pb.js";
9
10
  import { file_kusinta_iot_climate_v1_climate } from "../../climate/v1/climate_pb.js";
10
11
  import { file_kusinta_iot_common_v1_types } from "../../common/v1/types_pb.js";
12
+ import { file_kusinta_iot_heating_v1_heating } from "../../heating/v1/heating_pb.js";
11
13
  import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
12
14
  import { file_kusinta_iot_link_v1_link } from "../../link/v1/link_pb.js";
13
15
  import { file_kusinta_iot_space_v1_space } from "../../space/v1/space_pb.js";
@@ -19,7 +21,7 @@ import { file_kusinta_iot_webrtc_v1_members } from "./members_pb.js";
19
21
  * Describes the file kusinta/iot/webrtc/v1/management.proto.
20
22
  */
21
23
  export const file_kusinta_iot_webrtc_v1_management = /*@__PURE__*/
22
- fileDesc("CiZrdXNpbnRhL2lvdC93ZWJydGMvdjEvbWFuYWdlbWVudC5wcm90bxIVa3VzaW50YS5pb3Qud2VicnRjLnYxItYBCgtDcmVhdGVTcGFjZRI0CgpzcGFjZV90eXBlGAEgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBWZsb29yGAQgASgFEjkKD3BhcmVudF9zcGFjZV9pZBgFIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSFgoJdGltZV96b25lGAYgASgJSACIAQFCDAoKX3RpbWVfem9uZSL1AgoLVXBkYXRlU3BhY2USMgoIc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEjkKCnNwYWNlX3R5cGUYAiABKA4yIC5rdXNpbnRhLmlvdC5jb21tb24udjEuU3BhY2VUeXBlSAGIAQESEQoEbmFtZRgDIAEoCUgCiAEBEhgKC2Rlc2NyaXB0aW9uGAQgASgJSAOIAQESEgoFZmxvb3IYBSABKAVIBIgBARI7Cg9wYXJlbnRfc3BhY2VfaWQYBiABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkSAASEAoGZGV0YWNoGAcgASgISAASFgoJdGltZV96b25lGAggASgJSAWIAQFCDwoNcGFyZW50X2NoYW5nZUINCgtfc3BhY2VfdHlwZUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CCAoGX2Zsb29yQgwKCl90aW1lX3pvbmUiUgoLRGVsZXRlU3BhY2USMgoIc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEg8KB2Nhc2NhZGUYAiABKAgivAEKEUFzc2lnblVzZXJUb1NwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIwCgd1c2VyX2lkGAIgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEjsKCHJlbGF0aW9uGAQgASgOMikua3VzaW50YS5pb3QuYWNjZXNzLnYxLk1lbWJlcnNoaXBSZWxhdGlvbkoECAMQBCJ7ChNSZW1vdmVVc2VyRnJvbVNwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIwCgd1c2VyX2lkGAIgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkIn4KElBsYWNlRGV2aWNlSW5TcGFjZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQigQEKFVJlbW92ZURldmljZUZyb21TcGFjZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQi2AEKC0NsYWltRGV2aWNlEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEj0KCW93bmVyc2hpcBgCIAEoDjIqLmt1c2ludGEuaW90LmNvbW1vbi52MS5EZXZpY2VPd25lcnNoaXBUeXBlEjoKEGluaXRpYWxfc3BhY2VfaWQYAyABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEhgKEHBvc3Nlc3Npb25fcHJvb2YYBCABKAkiRQoNUmVsZWFzZURldmljZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCKjAQoPUHJvdmlzaW9uRGV2aWNlEjoKDGNvbm5lY3Rvcl9pZBgBIAEoCzIkLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkNvbm5lY3RvcklkEkUKB2xvcmF3YW4YAiABKAsyMi5rdXNpbnRhLmlvdC52ZW5kb3IubG9yYXdhbi52MS5Mb3Jhd2FuUHJvdmlzaW9uaW5nSABCDQoLY3JlZGVudGlhbHMiRQoKTGlzdFNwYWNlcxI3Cg1yb290X3NwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZCI4CglTcGFjZVRyZWUSKwoGc3BhY2VzGAEgAygLMhsua3VzaW50YS5pb3Quc3BhY2UudjEuU3BhY2UiDwoNTWFuYWdlbWVudEFjayKRAgoQQ3JlYXRlRGV2aWNlTGluaxIxCgZzZW5kZXIYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCghyZWNlaXZlchgCIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjMKCGZ1bmN0aW9uGAMgASgOMiEua3VzaW50YS5pb3QubGluay52MS5MaW5rRnVuY3Rpb24SKwoEbW9kZRgEIAEoDjIdLmt1c2ludGEuaW90LmxpbmsudjEuTGlua01vZGUSMwoIc2V0dGluZ3MYBSABKAsyIS5rdXNpbnRhLmlvdC5saW5rLnYxLkxpbmtTZXR0aW5ncyIjChBSZW1vdmVEZXZpY2VMaW5rEg8KB2xpbmtfaWQYASABKAkiWAoQVXBkYXRlRGV2aWNlTGluaxIPCgdsaW5rX2lkGAEgASgJEjMKCHNldHRpbmdzGAIgASgLMiEua3VzaW50YS5pb3QubGluay52MS5MaW5rU2V0dGluZ3MiRwoPTGlzdERldmljZUxpbmtzEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkInwKDVNldFJvb21UYXJnZXQSMQoHcm9vbV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSIAoTdGFyZ2V0X2NlbnRpZGVncmVlcxgCIAEoEUgAiAEBQhYKFF90YXJnZXRfY2VudGlkZWdyZWVzIkQKC1Jvb21TZW5zb3JzEjUKCnNlbnNvcl9pZHMYASADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJ0CgpSb29tTGltaXRzEh0KEG1pbl9jZW50aWRlZ3JlZXMYASABKBFIAIgBARIdChBtYXhfY2VudGlkZWdyZWVzGAIgASgRSAGIAQFCEwoRX21pbl9jZW50aWRlZ3JlZXNCEwoRX21heF9jZW50aWRlZ3JlZXMi7QEKFENvbmZpZ3VyZVJvb21DbGltYXRlEjEKB3Jvb21faWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEjEKBmxpbWl0cxgCIAEoCzIhLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Sb29tTGltaXRzEjMKB3NlbnNvcnMYAyABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUm9vbVNlbnNvcnMSIQoUbG9ja19kZXZpY2VfY29udHJvbHMYBCABKAhIAIgBAUIXChVfbG9ja19kZXZpY2VfY29udHJvbHMikwIKDlNldENsaW1hdGVNb2RlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBI1CgRraW5kGAIgASgOMicua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlTW9kZUtpbmQSIQoUc2V0YmFja19jZW50aWRlZ3JlZXMYAyABKBFIAIgBARItCglzdGFydHNfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKB2VuZHNfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhcKFV9zZXRiYWNrX2NlbnRpZGVncmVlcyJLChBMaXN0Um9vbUNsaW1hdGVzEjcKDXJvb3Rfc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkIp8BCg5HZXRSb29tSGlzdG9yeRIxCgdyb29tX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBItCglmcm9tX3RpbWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKB3RvX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIpgCChFQcml2YWN5RGlzY2xvc3VyZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSPAoPc2VydmljZV9wYXJ0aWVzGAUgAygLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLlNlcnZpY2VQYXJ0eRJMChZjbGltYXRlX3N1bW1hcnlfcGVyaW9kGAQgASgOMiwua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlU3VtbWFyeVBlcmlvZBIfChdvd25lcl9vcmdhbmlzYXRpb25fbmFtZRgGIAEoCRIWCg5uYW1lc193aXRoaGVsZBgHIAEoCEoECAIQA0oECAMQBCJ/CgxTZXJ2aWNlUGFydHkSKQoEcm9sZRgBIAEoDjIbLmt1c2ludGEuaW90LmFjY2Vzcy52MS5Sb2xlEjUKB3NpZ25hbHMYAiADKA4yJC5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuU2VydmljZVNpZ25hbBINCgVuYW1lcxgDIAMoCSJKChRHZXRQcml2YWN5RGlzY2xvc3VyZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQi7gEKGkdldEFwYXJ0bWVudENsaW1hdGVTdW1tYXJ5EjYKDGFwYXJ0bWVudF9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSPAoGcGVyaW9kGAIgASgOMiwua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlU3VtbWFyeVBlcmlvZBItCglmcm9tX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKB3RvX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIlAKElJlY29ubmVjdENvbm5lY3RvchI6Cgxjb25uZWN0b3JfaWQYASABKAsyJC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Db25uZWN0b3JJZCKTFQoRTWFuYWdlbWVudFJlcXVlc3QSOgoMY3JlYXRlX3NwYWNlGAEgASgLMiIua3VzaW50YS5pb3Qud2VicnRjLnYxLkNyZWF0ZVNwYWNlSAASOgoMdXBkYXRlX3NwYWNlGAIgASgLMiIua3VzaW50YS5pb3Qud2VicnRjLnYxLlVwZGF0ZVNwYWNlSAASOgoMZGVsZXRlX3NwYWNlGAMgASgLMiIua3VzaW50YS5pb3Qud2VicnRjLnYxLkRlbGV0ZVNwYWNlSAASSAoUYXNzaWduX3VzZXJfdG9fc3BhY2UYBCABKAsyKC5rdXNpbnRhLmlvdC53ZWJydGMudjEuQXNzaWduVXNlclRvU3BhY2VIABJMChZyZW1vdmVfdXNlcl9mcm9tX3NwYWNlGAUgASgLMioua3VzaW50YS5pb3Qud2VicnRjLnYxLlJlbW92ZVVzZXJGcm9tU3BhY2VIABJKChVwbGFjZV9kZXZpY2VfaW5fc3BhY2UYBiABKAsyKS5rdXNpbnRhLmlvdC53ZWJydGMudjEuUGxhY2VEZXZpY2VJblNwYWNlSAASUAoYcmVtb3ZlX2RldmljZV9mcm9tX3NwYWNlGAcgASgLMiwua3VzaW50YS5pb3Qud2VicnRjLnYxLlJlbW92ZURldmljZUZyb21TcGFjZUgAEjoKDGNsYWltX2RldmljZRgIIAEoCzIiLmt1c2ludGEuaW90LndlYnJ0Yy52MS5DbGFpbURldmljZUgAEj4KDnJlbGVhc2VfZGV2aWNlGAkgASgLMiQua3VzaW50YS5pb3Qud2VicnRjLnYxLlJlbGVhc2VEZXZpY2VIABI4CgtsaXN0X3NwYWNlcxgKIAEoCzIhLmt1c2ludGEuaW90LndlYnJ0Yy52MS5MaXN0U3BhY2VzSAASRQoSY3JlYXRlX2RldmljZV9saW5rGAsgASgLMicua3VzaW50YS5pb3Qud2VicnRjLnYxLkNyZWF0ZURldmljZUxpbmtIABJFChJyZW1vdmVfZGV2aWNlX2xpbmsYDCABKAsyJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVtb3ZlRGV2aWNlTGlua0gAEkMKEWxpc3RfZGV2aWNlX2xpbmtzGA0gASgLMiYua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpc3REZXZpY2VMaW5rc0gAEkUKEnVwZGF0ZV9kZXZpY2VfbGluaxgOIAEoCzInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5VcGRhdGVEZXZpY2VMaW5rSAASQgoQcHJvdmlzaW9uX2RldmljZRgPIAEoCzImLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qcm92aXNpb25EZXZpY2VIABI/Cg9zZXRfcm9vbV90YXJnZXQYECABKAsyJC5rdXNpbnRhLmlvdC53ZWJydGMudjEuU2V0Um9vbVRhcmdldEgAEk0KFmNvbmZpZ3VyZV9yb29tX2NsaW1hdGUYESABKAsyKy5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ29uZmlndXJlUm9vbUNsaW1hdGVIABJBChBzZXRfY2xpbWF0ZV9tb2RlGBIgASgLMiUua3VzaW50YS5pb3Qud2VicnRjLnYxLlNldENsaW1hdGVNb2RlSAASRQoSbGlzdF9yb29tX2NsaW1hdGVzGBMgASgLMicua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpc3RSb29tQ2xpbWF0ZXNIABJBChBnZXRfcm9vbV9oaXN0b3J5GBQgASgLMiUua3VzaW50YS5pb3Qud2VicnRjLnYxLkdldFJvb21IaXN0b3J5SAASTQoWZ2V0X3ByaXZhY3lfZGlzY2xvc3VyZRgVIAEoCzIrLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HZXRQcml2YWN5RGlzY2xvc3VyZUgAEloKHWdldF9hcGFydG1lbnRfY2xpbWF0ZV9zdW1tYXJ5GBYgASgLMjEua3VzaW50YS5pb3Qud2VicnRjLnYxLkdldEFwYXJ0bWVudENsaW1hdGVTdW1tYXJ5SAASSAoTcmVjb25uZWN0X2Nvbm5lY3RvchgXIAEoCzIpLmt1c2ludGEuaW90LndlYnJ0Yy52MS5SZWNvbm5lY3RDb25uZWN0b3JIABI8Cg1jcmVhdGVfaW52aXRlGBggASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLkNyZWF0ZUludml0ZUgAEjwKDXJlc2VuZF9pbnZpdGUYGSABKAsyIy5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVzZW5kSW52aXRlSAASPAoNcmV2b2tlX2ludml0ZRgaIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5SZXZva2VJbnZpdGVIABJMChZtYXJrX2ludml0ZV9lbWFpbF9zZW50GBsgASgLMioua3VzaW50YS5pb3Qud2VicnRjLnYxLk1hcmtJbnZpdGVFbWFpbFNlbnRIABJFChJsaXN0X3NwYWNlX2ludml0ZXMYHCABKAsyJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuTGlzdFNwYWNlSW52aXRlc0gAEkkKFGFwcHJvdmVfam9pbl9yZXF1ZXN0GB0gASgLMikua3VzaW50YS5pb3Qud2VicnRjLnYxLkFwcHJvdmVKb2luUmVxdWVzdEgAEkMKEWRlbnlfam9pbl9yZXF1ZXN0GB4gASgLMiYua3VzaW50YS5pb3Qud2VicnRjLnYxLkRlbnlKb2luUmVxdWVzdEgAEkkKFGxpc3RfZ2F0ZXdheV9tZW1iZXJzGB8gASgLMikua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpc3RHYXRld2F5TWVtYmVyc0gAEj8KD3NldF9tZW1iZXJfcm9sZRggIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5TZXRNZW1iZXJSb2xlSAASRwoTcmVtb3ZlX2Zyb21fZ2F0ZXdheRghIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5SZW1vdmVGcm9tR2F0ZXdheUgAEkEKEHNldF9hY2Nlc3NfdW50aWwYIiABKAsyJS5rdXNpbnRhLmlvdC53ZWJydGMudjEuU2V0QWNjZXNzVW50aWxIABJRChZzZXRfb3duZXJfb3JnYW5pc2F0aW9uGCMgASgLMisua3VzaW50YS5pb3Qud2VicnRjLnYxLlNldE93bmVyT3JnYW5pc2F0aW9uQgIYAUgAEkQKEXJlcXVlc3RfcHJvbW90aW9uGCQgASgLMicua3VzaW50YS5pb3Qud2VicnRjLnYxLlJlcXVlc3RQcm9tb3Rpb25IABJCChBhbnN3ZXJfcHJvbW90aW9uGCUgASgLMiYua3VzaW50YS5pb3Qud2VicnRjLnYxLkFuc3dlclByb21vdGlvbkgAEk8KF2xpc3RfcHJvbW90aW9uX3JlcXVlc3RzGCYgASgLMiwua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpc3RQcm9tb3Rpb25SZXF1ZXN0c0gAQgkKB3JlcXVlc3RCAkgBYgZwcm90bzM", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_acl, file_kusinta_iot_access_v1_roles, file_kusinta_iot_climate_v1_climate, file_kusinta_iot_common_v1_types, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_link_v1_link, file_kusinta_iot_space_v1_space, file_kusinta_iot_vendor_lorawan_v1_lorawan, file_kusinta_iot_webrtc_v1_invite, file_kusinta_iot_webrtc_v1_members]);
24
+ fileDesc("CiZrdXNpbnRhL2lvdC93ZWJydGMvdjEvbWFuYWdlbWVudC5wcm90bxIVa3VzaW50YS5pb3Qud2VicnRjLnYxItYBCgtDcmVhdGVTcGFjZRI0CgpzcGFjZV90eXBlGAEgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBWZsb29yGAQgASgFEjkKD3BhcmVudF9zcGFjZV9pZBgFIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSFgoJdGltZV96b25lGAYgASgJSACIAQFCDAoKX3RpbWVfem9uZSL1AgoLVXBkYXRlU3BhY2USMgoIc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEjkKCnNwYWNlX3R5cGUYAiABKA4yIC5rdXNpbnRhLmlvdC5jb21tb24udjEuU3BhY2VUeXBlSAGIAQESEQoEbmFtZRgDIAEoCUgCiAEBEhgKC2Rlc2NyaXB0aW9uGAQgASgJSAOIAQESEgoFZmxvb3IYBSABKAVIBIgBARI7Cg9wYXJlbnRfc3BhY2VfaWQYBiABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkSAASEAoGZGV0YWNoGAcgASgISAASFgoJdGltZV96b25lGAggASgJSAWIAQFCDwoNcGFyZW50X2NoYW5nZUINCgtfc3BhY2VfdHlwZUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CCAoGX2Zsb29yQgwKCl90aW1lX3pvbmUiUgoLRGVsZXRlU3BhY2USMgoIc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEg8KB2Nhc2NhZGUYAiABKAgivAEKEUFzc2lnblVzZXJUb1NwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIwCgd1c2VyX2lkGAIgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEjsKCHJlbGF0aW9uGAQgASgOMikua3VzaW50YS5pb3QuYWNjZXNzLnYxLk1lbWJlcnNoaXBSZWxhdGlvbkoECAMQBCJ7ChNSZW1vdmVVc2VyRnJvbVNwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIwCgd1c2VyX2lkGAIgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkIn4KElBsYWNlRGV2aWNlSW5TcGFjZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQigQEKFVJlbW92ZURldmljZUZyb21TcGFjZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQi2AEKC0NsYWltRGV2aWNlEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEj0KCW93bmVyc2hpcBgCIAEoDjIqLmt1c2ludGEuaW90LmNvbW1vbi52MS5EZXZpY2VPd25lcnNoaXBUeXBlEjoKEGluaXRpYWxfc3BhY2VfaWQYAyABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEhgKEHBvc3Nlc3Npb25fcHJvb2YYBCABKAkiRQoNUmVsZWFzZURldmljZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCKjAQoPUHJvdmlzaW9uRGV2aWNlEjoKDGNvbm5lY3Rvcl9pZBgBIAEoCzIkLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkNvbm5lY3RvcklkEkUKB2xvcmF3YW4YAiABKAsyMi5rdXNpbnRhLmlvdC52ZW5kb3IubG9yYXdhbi52MS5Mb3Jhd2FuUHJvdmlzaW9uaW5nSABCDQoLY3JlZGVudGlhbHMiRQoKTGlzdFNwYWNlcxI3Cg1yb290X3NwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZCI4CglTcGFjZVRyZWUSKwoGc3BhY2VzGAEgAygLMhsua3VzaW50YS5pb3Quc3BhY2UudjEuU3BhY2UiDwoNTWFuYWdlbWVudEFjayKRAgoQQ3JlYXRlRGV2aWNlTGluaxIxCgZzZW5kZXIYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCghyZWNlaXZlchgCIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjMKCGZ1bmN0aW9uGAMgASgOMiEua3VzaW50YS5pb3QubGluay52MS5MaW5rRnVuY3Rpb24SKwoEbW9kZRgEIAEoDjIdLmt1c2ludGEuaW90LmxpbmsudjEuTGlua01vZGUSMwoIc2V0dGluZ3MYBSABKAsyIS5rdXNpbnRhLmlvdC5saW5rLnYxLkxpbmtTZXR0aW5ncyIjChBSZW1vdmVEZXZpY2VMaW5rEg8KB2xpbmtfaWQYASABKAkiWAoQVXBkYXRlRGV2aWNlTGluaxIPCgdsaW5rX2lkGAEgASgJEjMKCHNldHRpbmdzGAIgASgLMiEua3VzaW50YS5pb3QubGluay52MS5MaW5rU2V0dGluZ3MiRwoPTGlzdERldmljZUxpbmtzEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkInwKDVNldFJvb21UYXJnZXQSMQoHcm9vbV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSIAoTdGFyZ2V0X2NlbnRpZGVncmVlcxgCIAEoEUgAiAEBQhYKFF90YXJnZXRfY2VudGlkZWdyZWVzIkQKC1Jvb21TZW5zb3JzEjUKCnNlbnNvcl9pZHMYASADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJ0CgpSb29tTGltaXRzEh0KEG1pbl9jZW50aWRlZ3JlZXMYASABKBFIAIgBARIdChBtYXhfY2VudGlkZWdyZWVzGAIgASgRSAGIAQFCEwoRX21pbl9jZW50aWRlZ3JlZXNCEwoRX21heF9jZW50aWRlZ3JlZXMi7QEKFENvbmZpZ3VyZVJvb21DbGltYXRlEjEKB3Jvb21faWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEjEKBmxpbWl0cxgCIAEoCzIhLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Sb29tTGltaXRzEjMKB3NlbnNvcnMYAyABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUm9vbVNlbnNvcnMSIQoUbG9ja19kZXZpY2VfY29udHJvbHMYBCABKAhIAIgBAUIXChVfbG9ja19kZXZpY2VfY29udHJvbHMikwIKDlNldENsaW1hdGVNb2RlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBI1CgRraW5kGAIgASgOMicua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlTW9kZUtpbmQSIQoUc2V0YmFja19jZW50aWRlZ3JlZXMYAyABKBFIAIgBARItCglzdGFydHNfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKB2VuZHNfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhcKFV9zZXRiYWNrX2NlbnRpZGVncmVlcyJLChBMaXN0Um9vbUNsaW1hdGVzEjcKDXJvb3Rfc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkIp8BCg5HZXRSb29tSGlzdG9yeRIxCgdyb29tX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBItCglmcm9tX3RpbWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKB3RvX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIpgCChFQcml2YWN5RGlzY2xvc3VyZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSPAoPc2VydmljZV9wYXJ0aWVzGAUgAygLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLlNlcnZpY2VQYXJ0eRJMChZjbGltYXRlX3N1bW1hcnlfcGVyaW9kGAQgASgOMiwua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlU3VtbWFyeVBlcmlvZBIfChdvd25lcl9vcmdhbmlzYXRpb25fbmFtZRgGIAEoCRIWCg5uYW1lc193aXRoaGVsZBgHIAEoCEoECAIQA0oECAMQBCJ/CgxTZXJ2aWNlUGFydHkSKQoEcm9sZRgBIAEoDjIbLmt1c2ludGEuaW90LmFjY2Vzcy52MS5Sb2xlEjUKB3NpZ25hbHMYAiADKA4yJC5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuU2VydmljZVNpZ25hbBINCgVuYW1lcxgDIAMoCSJKChRHZXRQcml2YWN5RGlzY2xvc3VyZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQi7gEKGkdldEFwYXJ0bWVudENsaW1hdGVTdW1tYXJ5EjYKDGFwYXJ0bWVudF9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSPAoGcGVyaW9kGAIgASgOMiwua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlU3VtbWFyeVBlcmlvZBItCglmcm9tX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKB3RvX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIlAKElJlY29ubmVjdENvbm5lY3RvchI6Cgxjb25uZWN0b3JfaWQYASABKAsyJC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Db25uZWN0b3JJZCJGCgtMaXN0SGVhdGluZxI3Cg1yb290X3NwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZCJGCg9QdXRIZWF0aW5nUGxhbnQSMwoFcGxhbnQYASABKAsyJC5rdXNpbnRhLmlvdC5oZWF0aW5nLnYxLkhlYXRpbmdQbGFudCJMChFQdXRIZWF0aW5nQ2lyY3VpdBI3CgdjaXJjdWl0GAEgASgLMiYua3VzaW50YS5pb3QuaGVhdGluZy52MS5IZWF0aW5nQ2lyY3VpdCI/CgxQdXRGbG9vclpvbmUSLwoEem9uZRgBIAEoCzIhLmt1c2ludGEuaW90LmhlYXRpbmcudjEuRmxvb3Jab25lIksKDlB1dENvbWZvcnRMb2FkEjkKDGNvbWZvcnRfbG9hZBgBIAEoCzIjLmt1c2ludGEuaW90LmhlYXRpbmcudjEuQ29tZm9ydExvYWQiMwoTUmVtb3ZlSGVhdGluZ1JlY29yZBIKCgJpZBgBIAEoCRIQCghyZXZpc2lvbhgCIAEoBCKYAQoRU2V0Q29tZm9ydFdpbmRvd3MSFwoPY29tZm9ydF9sb2FkX2lkGAEgASgJEjYKB3dpbmRvd3MYAiADKAsyJS5rdXNpbnRhLmlvdC5oZWF0aW5nLnYxLkNvbWZvcnRXaW5kb3cSHQoQd2luZG93c19yZXZpc2lvbhgDIAEoBEgAiAEBQhMKEV93aW5kb3dzX3JldmlzaW9uIogBChdSZXF1ZXN0QWNjb3VudExpbmtOb25jZRIxCgdob21lX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBI6CgdzZXJ2aWNlGAIgASgOMikua3VzaW50YS5pb3QuYWNjb3VudGxpbmsudjEuTGlua2VkU2VydmljZSJFChBMaXN0QWNjb3VudExpbmtzEjEKB2hvbWVfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkIn4KDVVubGlua0FjY291bnQSMQoHaG9tZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSOgoHc2VydmljZRgCIAEoDjIpLmt1c2ludGEuaW90LmFjY291bnRsaW5rLnYxLkxpbmtlZFNlcnZpY2Ui0hoKEU1hbmFnZW1lbnRSZXF1ZXN0EjoKDGNyZWF0ZV9zcGFjZRgBIAEoCzIiLmt1c2ludGEuaW90LndlYnJ0Yy52MS5DcmVhdGVTcGFjZUgAEjoKDHVwZGF0ZV9zcGFjZRgCIAEoCzIiLmt1c2ludGEuaW90LndlYnJ0Yy52MS5VcGRhdGVTcGFjZUgAEjoKDGRlbGV0ZV9zcGFjZRgDIAEoCzIiLmt1c2ludGEuaW90LndlYnJ0Yy52MS5EZWxldGVTcGFjZUgAEkgKFGFzc2lnbl91c2VyX3RvX3NwYWNlGAQgASgLMigua3VzaW50YS5pb3Qud2VicnRjLnYxLkFzc2lnblVzZXJUb1NwYWNlSAASTAoWcmVtb3ZlX3VzZXJfZnJvbV9zcGFjZRgFIAEoCzIqLmt1c2ludGEuaW90LndlYnJ0Yy52MS5SZW1vdmVVc2VyRnJvbVNwYWNlSAASSgoVcGxhY2VfZGV2aWNlX2luX3NwYWNlGAYgASgLMikua3VzaW50YS5pb3Qud2VicnRjLnYxLlBsYWNlRGV2aWNlSW5TcGFjZUgAElAKGHJlbW92ZV9kZXZpY2VfZnJvbV9zcGFjZRgHIAEoCzIsLmt1c2ludGEuaW90LndlYnJ0Yy52MS5SZW1vdmVEZXZpY2VGcm9tU3BhY2VIABI6CgxjbGFpbV9kZXZpY2UYCCABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ2xhaW1EZXZpY2VIABI+Cg5yZWxlYXNlX2RldmljZRgJIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5SZWxlYXNlRGV2aWNlSAASOAoLbGlzdF9zcGFjZXMYCiABKAsyIS5rdXNpbnRhLmlvdC53ZWJydGMudjEuTGlzdFNwYWNlc0gAEkUKEmNyZWF0ZV9kZXZpY2VfbGluaxgLIAEoCzInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5DcmVhdGVEZXZpY2VMaW5rSAASRQoScmVtb3ZlX2RldmljZV9saW5rGAwgASgLMicua3VzaW50YS5pb3Qud2VicnRjLnYxLlJlbW92ZURldmljZUxpbmtIABJDChFsaXN0X2RldmljZV9saW5rcxgNIAEoCzImLmt1c2ludGEuaW90LndlYnJ0Yy52MS5MaXN0RGV2aWNlTGlua3NIABJFChJ1cGRhdGVfZGV2aWNlX2xpbmsYDiABKAsyJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuVXBkYXRlRGV2aWNlTGlua0gAEkIKEHByb3Zpc2lvbl9kZXZpY2UYDyABKAsyJi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUHJvdmlzaW9uRGV2aWNlSAASPwoPc2V0X3Jvb21fdGFyZ2V0GBAgASgLMiQua3VzaW50YS5pb3Qud2VicnRjLnYxLlNldFJvb21UYXJnZXRIABJNChZjb25maWd1cmVfcm9vbV9jbGltYXRlGBEgASgLMisua3VzaW50YS5pb3Qud2VicnRjLnYxLkNvbmZpZ3VyZVJvb21DbGltYXRlSAASQQoQc2V0X2NsaW1hdGVfbW9kZRgSIAEoCzIlLmt1c2ludGEuaW90LndlYnJ0Yy52MS5TZXRDbGltYXRlTW9kZUgAEkUKEmxpc3Rfcm9vbV9jbGltYXRlcxgTIAEoCzInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5MaXN0Um9vbUNsaW1hdGVzSAASQQoQZ2V0X3Jvb21faGlzdG9yeRgUIAEoCzIlLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HZXRSb29tSGlzdG9yeUgAEk0KFmdldF9wcml2YWN5X2Rpc2Nsb3N1cmUYFSABKAsyKy5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2V0UHJpdmFjeURpc2Nsb3N1cmVIABJaCh1nZXRfYXBhcnRtZW50X2NsaW1hdGVfc3VtbWFyeRgWIAEoCzIxLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HZXRBcGFydG1lbnRDbGltYXRlU3VtbWFyeUgAEkgKE3JlY29ubmVjdF9jb25uZWN0b3IYFyABKAsyKS5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVjb25uZWN0Q29ubmVjdG9ySAASPAoNY3JlYXRlX2ludml0ZRgYIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5DcmVhdGVJbnZpdGVIABI8Cg1yZXNlbmRfaW52aXRlGBkgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLlJlc2VuZEludml0ZUgAEjwKDXJldm9rZV9pbnZpdGUYGiABKAsyIy5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmV2b2tlSW52aXRlSAASTAoWbWFya19pbnZpdGVfZW1haWxfc2VudBgbIAEoCzIqLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NYXJrSW52aXRlRW1haWxTZW50SAASRQoSbGlzdF9zcGFjZV9pbnZpdGVzGBwgASgLMicua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpc3RTcGFjZUludml0ZXNIABJJChRhcHByb3ZlX2pvaW5fcmVxdWVzdBgdIAEoCzIpLmt1c2ludGEuaW90LndlYnJ0Yy52MS5BcHByb3ZlSm9pblJlcXVlc3RIABJDChFkZW55X2pvaW5fcmVxdWVzdBgeIAEoCzImLmt1c2ludGEuaW90LndlYnJ0Yy52MS5EZW55Sm9pblJlcXVlc3RIABJJChRsaXN0X2dhdGV3YXlfbWVtYmVycxgfIAEoCzIpLmt1c2ludGEuaW90LndlYnJ0Yy52MS5MaXN0R2F0ZXdheU1lbWJlcnNIABI/Cg9zZXRfbWVtYmVyX3JvbGUYICABKAsyJC5rdXNpbnRhLmlvdC53ZWJydGMudjEuU2V0TWVtYmVyUm9sZUgAEkcKE3JlbW92ZV9mcm9tX2dhdGV3YXkYISABKAsyKC5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVtb3ZlRnJvbUdhdGV3YXlIABJBChBzZXRfYWNjZXNzX3VudGlsGCIgASgLMiUua3VzaW50YS5pb3Qud2VicnRjLnYxLlNldEFjY2Vzc1VudGlsSAASUQoWc2V0X293bmVyX29yZ2FuaXNhdGlvbhgjIAEoCzIrLmt1c2ludGEuaW90LndlYnJ0Yy52MS5TZXRPd25lck9yZ2FuaXNhdGlvbkICGAFIABJEChFyZXF1ZXN0X3Byb21vdGlvbhgkIAEoCzInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5SZXF1ZXN0UHJvbW90aW9uSAASQgoQYW5zd2VyX3Byb21vdGlvbhglIAEoCzImLmt1c2ludGEuaW90LndlYnJ0Yy52MS5BbnN3ZXJQcm9tb3Rpb25IABJPChdsaXN0X3Byb21vdGlvbl9yZXF1ZXN0cxgmIAEoCzIsLmt1c2ludGEuaW90LndlYnJ0Yy52MS5MaXN0UHJvbW90aW9uUmVxdWVzdHNIABI6CgxsaXN0X2hlYXRpbmcYJyABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuTGlzdEhlYXRpbmdIABJDChFwdXRfaGVhdGluZ19wbGFudBgoIAEoCzImLmt1c2ludGEuaW90LndlYnJ0Yy52MS5QdXRIZWF0aW5nUGxhbnRIABJHChNwdXRfaGVhdGluZ19jaXJjdWl0GCkgASgLMigua3VzaW50YS5pb3Qud2VicnRjLnYxLlB1dEhlYXRpbmdDaXJjdWl0SAASPQoOcHV0X2Zsb29yX3pvbmUYKiABKAsyIy5rdXNpbnRhLmlvdC53ZWJydGMudjEuUHV0Rmxvb3Jab25lSAASQQoQcHV0X2NvbWZvcnRfbG9hZBgrIAEoCzIlLmt1c2ludGEuaW90LndlYnJ0Yy52MS5QdXRDb21mb3J0TG9hZEgAEksKFXJlbW92ZV9oZWF0aW5nX3JlY29yZBgsIAEoCzIqLmt1c2ludGEuaW90LndlYnJ0Yy52MS5SZW1vdmVIZWF0aW5nUmVjb3JkSAASRwoTc2V0X2NvbWZvcnRfd2luZG93cxgtIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5TZXRDb21mb3J0V2luZG93c0gAElQKGnJlcXVlc3RfYWNjb3VudF9saW5rX25vbmNlGC4gASgLMi4ua3VzaW50YS5pb3Qud2VicnRjLnYxLlJlcXVlc3RBY2NvdW50TGlua05vbmNlSAASRQoSbGlzdF9hY2NvdW50X2xpbmtzGC8gASgLMicua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpc3RBY2NvdW50TGlua3NIABI+Cg51bmxpbmtfYWNjb3VudBgwIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5VbmxpbmtBY2NvdW50SABCCQoHcmVxdWVzdEICSAFiBnByb3RvMw", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_acl, file_kusinta_iot_access_v1_roles, file_kusinta_iot_accountlink_v1_account_link, file_kusinta_iot_climate_v1_climate, file_kusinta_iot_common_v1_types, file_kusinta_iot_heating_v1_heating, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_link_v1_link, file_kusinta_iot_space_v1_space, file_kusinta_iot_vendor_lorawan_v1_lorawan, file_kusinta_iot_webrtc_v1_invite, file_kusinta_iot_webrtc_v1_members]);
23
25
 
24
26
  /**
25
27
  * Describes the message kusinta.iot.webrtc.v1.CreateSpace.
@@ -224,10 +226,80 @@ export const GetApartmentClimateSummarySchema = /*@__PURE__*/
224
226
  export const ReconnectConnectorSchema = /*@__PURE__*/
225
227
  messageDesc(file_kusinta_iot_webrtc_v1_management, 28);
226
228
 
229
+ /**
230
+ * Describes the message kusinta.iot.webrtc.v1.ListHeating.
231
+ * Use `create(ListHeatingSchema)` to create a new message.
232
+ */
233
+ export const ListHeatingSchema = /*@__PURE__*/
234
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 29);
235
+
236
+ /**
237
+ * Describes the message kusinta.iot.webrtc.v1.PutHeatingPlant.
238
+ * Use `create(PutHeatingPlantSchema)` to create a new message.
239
+ */
240
+ export const PutHeatingPlantSchema = /*@__PURE__*/
241
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 30);
242
+
243
+ /**
244
+ * Describes the message kusinta.iot.webrtc.v1.PutHeatingCircuit.
245
+ * Use `create(PutHeatingCircuitSchema)` to create a new message.
246
+ */
247
+ export const PutHeatingCircuitSchema = /*@__PURE__*/
248
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 31);
249
+
250
+ /**
251
+ * Describes the message kusinta.iot.webrtc.v1.PutFloorZone.
252
+ * Use `create(PutFloorZoneSchema)` to create a new message.
253
+ */
254
+ export const PutFloorZoneSchema = /*@__PURE__*/
255
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 32);
256
+
257
+ /**
258
+ * Describes the message kusinta.iot.webrtc.v1.PutComfortLoad.
259
+ * Use `create(PutComfortLoadSchema)` to create a new message.
260
+ */
261
+ export const PutComfortLoadSchema = /*@__PURE__*/
262
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 33);
263
+
264
+ /**
265
+ * Describes the message kusinta.iot.webrtc.v1.RemoveHeatingRecord.
266
+ * Use `create(RemoveHeatingRecordSchema)` to create a new message.
267
+ */
268
+ export const RemoveHeatingRecordSchema = /*@__PURE__*/
269
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 34);
270
+
271
+ /**
272
+ * Describes the message kusinta.iot.webrtc.v1.SetComfortWindows.
273
+ * Use `create(SetComfortWindowsSchema)` to create a new message.
274
+ */
275
+ export const SetComfortWindowsSchema = /*@__PURE__*/
276
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 35);
277
+
278
+ /**
279
+ * Describes the message kusinta.iot.webrtc.v1.RequestAccountLinkNonce.
280
+ * Use `create(RequestAccountLinkNonceSchema)` to create a new message.
281
+ */
282
+ export const RequestAccountLinkNonceSchema = /*@__PURE__*/
283
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 36);
284
+
285
+ /**
286
+ * Describes the message kusinta.iot.webrtc.v1.ListAccountLinks.
287
+ * Use `create(ListAccountLinksSchema)` to create a new message.
288
+ */
289
+ export const ListAccountLinksSchema = /*@__PURE__*/
290
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 37);
291
+
292
+ /**
293
+ * Describes the message kusinta.iot.webrtc.v1.UnlinkAccount.
294
+ * Use `create(UnlinkAccountSchema)` to create a new message.
295
+ */
296
+ export const UnlinkAccountSchema = /*@__PURE__*/
297
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 38);
298
+
227
299
  /**
228
300
  * Describes the message kusinta.iot.webrtc.v1.ManagementRequest.
229
301
  * Use `create(ManagementRequestSchema)` to create a new message.
230
302
  */
231
303
  export const ManagementRequestSchema = /*@__PURE__*/
232
- messageDesc(file_kusinta_iot_webrtc_v1_management, 29);
304
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 39);
233
305