@kusinta/iot-schema 0.2.0-beta.1 → 0.2.0-beta.11
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.
- package/package.json +8 -1
- package/src/kusinta/iot/access/v1/acl_pb.d.ts +130 -0
- package/src/kusinta/iot/access/v1/acl_pb.js +19 -5
- package/src/kusinta/iot/access/v1/roles_pb.d.ts +80 -14
- package/src/kusinta/iot/access/v1/roles_pb.js +33 -1
- package/src/kusinta/iot/common/v1/pairing_pb.d.ts +201 -0
- package/src/kusinta/iot/common/v1/pairing_pb.js +50 -0
- package/src/kusinta/iot/common/v1/types_pb.d.ts +34 -0
- package/src/kusinta/iot/common/v1/types_pb.js +22 -1
- package/src/kusinta/iot/connector/v1/connector_pb.d.ts +476 -7
- package/src/kusinta/iot/connector/v1/connector_pb.js +70 -12
- package/src/kusinta/iot/device/v1/cluster_state_pb.d.ts +25 -0
- package/src/kusinta/iot/device/v1/cluster_state_pb.js +1 -1
- package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +16 -1
- package/src/kusinta/iot/device/v1/descriptor_pb.js +2 -1
- package/src/kusinta/iot/device/v1/device_pb.d.ts +34 -3
- package/src/kusinta/iot/device/v1/device_pb.js +1 -1
- package/src/kusinta/iot/device/v1/matter_options_pb.d.ts +26 -0
- package/src/kusinta/iot/device/v1/matter_options_pb.js +31 -4
- package/src/kusinta/iot/device/v1/properties_pb.d.ts +14 -0
- package/src/kusinta/iot/device/v1/properties_pb.js +1 -1
- package/src/kusinta/iot/link/v1/link_pb.d.ts +419 -0
- package/src/kusinta/iot/link/v1/link_pb.js +121 -0
- package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +162 -13
- package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +8 -1
- package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.d.ts +69 -0
- package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.js +19 -0
- package/src/kusinta/iot/vendor/v1/vendor_options_pb.d.ts +21 -0
- package/src/kusinta/iot/vendor/v1/vendor_options_pb.js +24 -2
- package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +14 -6
- package/src/kusinta/iot/webrtc/v1/command_pb.js +2 -1
- package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +12 -6
- package/src/kusinta/iot/webrtc/v1/device_state_pb.js +5 -5
- package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +339 -5
- package/src/kusinta/iot/webrtc/v1/envelope_pb.js +48 -3
- package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +246 -3
- package/src/kusinta/iot/webrtc/v1/management_pb.js +42 -5
- package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +2 -2
- package/src/kusinta/iot/webrtc/v1/setpoint_mode_pb.d.ts +63 -0
- package/src/kusinta/iot/webrtc/v1/setpoint_mode_pb.js +45 -0
|
@@ -5,8 +5,10 @@
|
|
|
5
5
|
import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
|
|
6
6
|
import type { Message } from "@bufbuild/protobuf";
|
|
7
7
|
import type { DeviceOwnershipType, SpaceType } from "../../common/v1/types_pb.js";
|
|
8
|
-
import type { DeviceId, SpaceId, UserId } from "../../identity/v1/identity_pb.js";
|
|
8
|
+
import type { ConnectorId, DeviceId, SpaceId, UserId } from "../../identity/v1/identity_pb.js";
|
|
9
|
+
import type { LorawanProvisioning } from "../../vendor/lorawan/v1/lorawan_pb.js";
|
|
9
10
|
import type { Space } from "../../space/v1/space_pb.js";
|
|
11
|
+
import type { LinkFunction, LinkMode, LinkSettings } from "../../link/v1/link_pb.js";
|
|
10
12
|
|
|
11
13
|
/**
|
|
12
14
|
* Describes the file kusinta/iot/webrtc/v1/management.proto.
|
|
@@ -265,8 +267,18 @@ export declare type ClaimDevice = Message<"kusinta.iot.webrtc.v1.ClaimDevice"> &
|
|
|
265
267
|
initialSpaceId?: SpaceId | undefined;
|
|
266
268
|
|
|
267
269
|
/**
|
|
268
|
-
* Evidence the claimant is standing at the device: the
|
|
269
|
-
* matched against DeviceDescriptor.serial_number.
|
|
270
|
+
* Evidence the claimant is standing at the device: the identifier printed on it,
|
|
271
|
+
* matched against DeviceDescriptor.serial_number.
|
|
272
|
+
*
|
|
273
|
+
* The match is by SUFFIX, because what a connector announces is not always the whole
|
|
274
|
+
* of what is printed and the announced value is commonly the tail of the printed one.
|
|
275
|
+
* Both sides are normalised first — lowercased, with whitespace and ASCII hyphens
|
|
276
|
+
* removed, since a label prints the value in groups and a scan does not — and the proof
|
|
277
|
+
* is accepted when what remains ends with the announced serial. Spelled out because two
|
|
278
|
+
* gateways normalising differently would accept different proofs for the same device.
|
|
279
|
+
*
|
|
280
|
+
* A serial shorter than eight characters cannot be proved at all: under a suffix rule a
|
|
281
|
+
* short one is proved by almost anything ending with it. Required precisely when the
|
|
270
282
|
* caller cannot already reach the device, which is the ordinary case for a
|
|
271
283
|
* resident claiming something they just bought — an unfiled device is invisible
|
|
272
284
|
* to them, so possession is the only thing left that can distinguish them from
|
|
@@ -304,6 +316,66 @@ export declare type ReleaseDevice = Message<"kusinta.iot.webrtc.v1.ReleaseDevice
|
|
|
304
316
|
*/
|
|
305
317
|
export declare const ReleaseDeviceSchema: GenMessage<ReleaseDevice>;
|
|
306
318
|
|
|
319
|
+
/**
|
|
320
|
+
* Registers a device with the system that will admit it, so that it can join
|
|
321
|
+
* later. For a technology where a device is enrolled as a record rather than
|
|
322
|
+
* adopted during a window — see common.v1.PairingWindow for the other case, where
|
|
323
|
+
* something joins a hub during a window and the arrival is attributed to the
|
|
324
|
+
* caller. A LoRaWAN device has no window: it is written into a network server and
|
|
325
|
+
* joins whenever it is next powered, which may be minutes, days, or never.
|
|
326
|
+
*
|
|
327
|
+
* Answered with the ordinary ManagementAck. A provision writes a record and returns
|
|
328
|
+
* nothing to show; the device itself is announced by device_added if and when it
|
|
329
|
+
* joins, the same path every other device takes — which is why this adds no
|
|
330
|
+
* ManagementResult arm. A new result arm is a compile error in a consumer that
|
|
331
|
+
* matches the result exhaustively; a new request arm is not.
|
|
332
|
+
*
|
|
333
|
+
* Registering and owning stay two operations. ClaimDevice records the caller and
|
|
334
|
+
* carries possession_proof, so a device that has not joined yet is still claimable
|
|
335
|
+
* by whoever holds it — and because the connector derives the device id and the
|
|
336
|
+
* serial from the identifier here, that claim can be made before the join.
|
|
337
|
+
*
|
|
338
|
+
* Provisioning the same identifier twice is an upsert: it replaces the credentials
|
|
339
|
+
* rather than being refused as a conflict, so correcting a mistyped key does not
|
|
340
|
+
* require removing the device first. Removing a record is a distinct act from
|
|
341
|
+
* giving up ownership (ReleaseDevice) and is left to a later operation.
|
|
342
|
+
*
|
|
343
|
+
* @generated from message kusinta.iot.webrtc.v1.ProvisionDevice
|
|
344
|
+
*/
|
|
345
|
+
export declare type ProvisionDevice = Message<"kusinta.iot.webrtc.v1.ProvisionDevice"> & {
|
|
346
|
+
/**
|
|
347
|
+
* Required, unlike a pairing window's connector target. A registration is written
|
|
348
|
+
* to one specific registry; there is no sensible "open them all and see what
|
|
349
|
+
* joins". The app names it from the connector enumeration, targeting a connector
|
|
350
|
+
* that declares ConnectorInfo.supports_provisioning.
|
|
351
|
+
*
|
|
352
|
+
* @generated from field: kusinta.iot.identity.v1.ConnectorId connector_id = 1;
|
|
353
|
+
*/
|
|
354
|
+
connectorId?: ConnectorId | undefined;
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* What the registry needs to admit the device, which differs entirely by
|
|
358
|
+
* technology — a oneof per technology rather than a flat set of fields, for the
|
|
359
|
+
* reason LinkSettings gives: the second technology to arrive must not turn this
|
|
360
|
+
* into a bag of unrelated optionals named after the first.
|
|
361
|
+
*
|
|
362
|
+
* @generated from oneof kusinta.iot.webrtc.v1.ProvisionDevice.credentials
|
|
363
|
+
*/
|
|
364
|
+
credentials: {
|
|
365
|
+
/**
|
|
366
|
+
* @generated from field: kusinta.iot.vendor.lorawan.v1.LorawanProvisioning lorawan = 2;
|
|
367
|
+
*/
|
|
368
|
+
value: LorawanProvisioning;
|
|
369
|
+
case: "lorawan";
|
|
370
|
+
} | { case: undefined; value?: undefined };
|
|
371
|
+
};
|
|
372
|
+
|
|
373
|
+
/**
|
|
374
|
+
* Describes the message kusinta.iot.webrtc.v1.ProvisionDevice.
|
|
375
|
+
* Use `create(ProvisionDeviceSchema)` to create a new message.
|
|
376
|
+
*/
|
|
377
|
+
export declare const ProvisionDeviceSchema: GenMessage<ProvisionDevice>;
|
|
378
|
+
|
|
307
379
|
/**
|
|
308
380
|
* Asks for the spaces the caller can reach. Unset root_space_id means all of
|
|
309
381
|
* them, which for most users is one apartment and for an administrator is the
|
|
@@ -373,7 +445,148 @@ export declare const ManagementAckSchema: GenMessage<ManagementAck>;
|
|
|
373
445
|
* message kind, so these can never be gated by a table keyed on the envelope case
|
|
374
446
|
* the way device messages are. Keeping them behind one case means one place that
|
|
375
447
|
* must authorize, and one refusal path that must not leak whether a target exists.
|
|
448
|
+
* Links one device to another, so the sender leads the receiver. The gateway
|
|
449
|
+
* resolves which underlying connections that needs and asks the connector for
|
|
450
|
+
* them; a caller names two devices and what the link is for.
|
|
451
|
+
*
|
|
452
|
+
* Authorized against both ends, and not symmetrically. Leading a device is a
|
|
453
|
+
* standing grant of control over it, so the receiver requires ownership or a
|
|
454
|
+
* servicing role. The sender's requirement depends on the mode: a gateway-kept
|
|
455
|
+
* link only reads what the caller can already see, while a device-to-device one
|
|
456
|
+
* writes configuration to the sender and spends its battery, which is a change
|
|
457
|
+
* to someone else's hardware.
|
|
458
|
+
*
|
|
459
|
+
* @generated from message kusinta.iot.webrtc.v1.CreateDeviceLink
|
|
460
|
+
*/
|
|
461
|
+
export declare type CreateDeviceLink = Message<"kusinta.iot.webrtc.v1.CreateDeviceLink"> & {
|
|
462
|
+
/**
|
|
463
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId sender = 1;
|
|
464
|
+
*/
|
|
465
|
+
sender?: DeviceId | undefined;
|
|
466
|
+
|
|
467
|
+
/**
|
|
468
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId receiver = 2;
|
|
469
|
+
*/
|
|
470
|
+
receiver?: DeviceId | undefined;
|
|
471
|
+
|
|
472
|
+
/**
|
|
473
|
+
* @generated from field: kusinta.iot.link.v1.LinkFunction function = 3;
|
|
474
|
+
*/
|
|
475
|
+
function: LinkFunction;
|
|
476
|
+
|
|
477
|
+
/**
|
|
478
|
+
* Unset lets the gateway choose, which prefers a device-to-device link where
|
|
479
|
+
* one can be brokered: it survives a gateway outage and runs at the devices'
|
|
480
|
+
* own rate. Name one to override that.
|
|
481
|
+
*
|
|
482
|
+
* @generated from field: kusinta.iot.link.v1.LinkMode mode = 4;
|
|
483
|
+
*/
|
|
484
|
+
mode: LinkMode;
|
|
485
|
+
|
|
486
|
+
/**
|
|
487
|
+
* How a gateway-kept link is to behave, set as it is made. Carried here as
|
|
488
|
+
* well as on UpdateDeviceLink so that a link does not have to exist in a
|
|
489
|
+
* configured-by-nobody state first — a soft climate link created without a
|
|
490
|
+
* target is one that holds the room at nothing until a second request
|
|
491
|
+
* arrives, and every reader would have to handle that transient forever.
|
|
492
|
+
*
|
|
493
|
+
* Unset is still allowed and still means unconfigured, since a hard link has
|
|
494
|
+
* nothing to configure and a caller may genuinely not know the target yet.
|
|
495
|
+
*
|
|
496
|
+
* @generated from field: kusinta.iot.link.v1.LinkSettings settings = 5;
|
|
497
|
+
*/
|
|
498
|
+
settings?: LinkSettings | undefined;
|
|
499
|
+
};
|
|
500
|
+
|
|
501
|
+
/**
|
|
502
|
+
* Describes the message kusinta.iot.webrtc.v1.CreateDeviceLink.
|
|
503
|
+
* Use `create(CreateDeviceLinkSchema)` to create a new message.
|
|
504
|
+
*/
|
|
505
|
+
export declare const CreateDeviceLinkSchema: GenMessage<CreateDeviceLink>;
|
|
506
|
+
|
|
507
|
+
/**
|
|
508
|
+
* Removes a link. Note that on at least one vendor, removing a link disturbs the
|
|
509
|
+
* receiver's own settings and the connector must repair them, so this is not the
|
|
510
|
+
* no-op it appears to be.
|
|
511
|
+
*
|
|
512
|
+
* @generated from message kusinta.iot.webrtc.v1.RemoveDeviceLink
|
|
513
|
+
*/
|
|
514
|
+
export declare type RemoveDeviceLink = Message<"kusinta.iot.webrtc.v1.RemoveDeviceLink"> & {
|
|
515
|
+
/**
|
|
516
|
+
* @generated from field: string link_id = 1;
|
|
517
|
+
*/
|
|
518
|
+
linkId: string;
|
|
519
|
+
};
|
|
520
|
+
|
|
521
|
+
/**
|
|
522
|
+
* Describes the message kusinta.iot.webrtc.v1.RemoveDeviceLink.
|
|
523
|
+
* Use `create(RemoveDeviceLinkSchema)` to create a new message.
|
|
524
|
+
*/
|
|
525
|
+
export declare const RemoveDeviceLinkSchema: GenMessage<RemoveDeviceLink>;
|
|
526
|
+
|
|
527
|
+
/**
|
|
528
|
+
* Changes how a gateway-kept link behaves — for a climate lead, the temperature
|
|
529
|
+
* it is to hold.
|
|
530
|
+
*
|
|
531
|
+
* Refused on a link that has nothing to configure — see LinkSettings — rather
|
|
532
|
+
* than accepted as a no-op, so that a caller who has mistaken which link they
|
|
533
|
+
* are holding is told.
|
|
534
|
+
*
|
|
535
|
+
* Authorized against both ends, as creating and removing the link are: deciding
|
|
536
|
+
* what temperature a room is held at is directing a device, not adjusting one,
|
|
537
|
+
* so it takes ownership of the ends or a servicing role, not the permission to
|
|
538
|
+
* turn a thermostat up.
|
|
539
|
+
*
|
|
540
|
+
* @generated from message kusinta.iot.webrtc.v1.UpdateDeviceLink
|
|
541
|
+
*/
|
|
542
|
+
export declare type UpdateDeviceLink = Message<"kusinta.iot.webrtc.v1.UpdateDeviceLink"> & {
|
|
543
|
+
/**
|
|
544
|
+
* @generated from field: string link_id = 1;
|
|
545
|
+
*/
|
|
546
|
+
linkId: string;
|
|
547
|
+
|
|
548
|
+
/**
|
|
549
|
+
* Replaces the link's settings rather than patching them: the settings of one
|
|
550
|
+
* function are few and are set together, so there is no half-update worth
|
|
551
|
+
* expressing. This is why it does not follow UpdateSpace's per-field optional
|
|
552
|
+
* shape, which exists for a message whose fields genuinely move alone.
|
|
553
|
+
*
|
|
554
|
+
* Unset is refused rather than being given a meaning. It would have to mean
|
|
555
|
+
* either "leave everything alone", making the request a no-op, or "clear the
|
|
556
|
+
* settings", which is the one thing that reads like an accident — and the
|
|
557
|
+
* wire cannot tell those two callers apart.
|
|
558
|
+
*
|
|
559
|
+
* @generated from field: kusinta.iot.link.v1.LinkSettings settings = 2;
|
|
560
|
+
*/
|
|
561
|
+
settings?: LinkSettings | undefined;
|
|
562
|
+
};
|
|
563
|
+
|
|
564
|
+
/**
|
|
565
|
+
* Describes the message kusinta.iot.webrtc.v1.UpdateDeviceLink.
|
|
566
|
+
* Use `create(UpdateDeviceLinkSchema)` to create a new message.
|
|
567
|
+
*/
|
|
568
|
+
export declare const UpdateDeviceLinkSchema: GenMessage<UpdateDeviceLink>;
|
|
569
|
+
|
|
570
|
+
/**
|
|
571
|
+
* Lists links. Unset device_id lists every link among devices the caller can
|
|
572
|
+
* reach; naming one narrows it to that device's own, in either direction.
|
|
376
573
|
*
|
|
574
|
+
* @generated from message kusinta.iot.webrtc.v1.ListDeviceLinks
|
|
575
|
+
*/
|
|
576
|
+
export declare type ListDeviceLinks = Message<"kusinta.iot.webrtc.v1.ListDeviceLinks"> & {
|
|
577
|
+
/**
|
|
578
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId device_id = 1;
|
|
579
|
+
*/
|
|
580
|
+
deviceId?: DeviceId | undefined;
|
|
581
|
+
};
|
|
582
|
+
|
|
583
|
+
/**
|
|
584
|
+
* Describes the message kusinta.iot.webrtc.v1.ListDeviceLinks.
|
|
585
|
+
* Use `create(ListDeviceLinksSchema)` to create a new message.
|
|
586
|
+
*/
|
|
587
|
+
export declare const ListDeviceLinksSchema: GenMessage<ListDeviceLinks>;
|
|
588
|
+
|
|
589
|
+
/**
|
|
377
590
|
* @generated from message kusinta.iot.webrtc.v1.ManagementRequest
|
|
378
591
|
*/
|
|
379
592
|
export declare type ManagementRequest = Message<"kusinta.iot.webrtc.v1.ManagementRequest"> & {
|
|
@@ -440,6 +653,36 @@ export declare type ManagementRequest = Message<"kusinta.iot.webrtc.v1.Managemen
|
|
|
440
653
|
*/
|
|
441
654
|
value: ListSpaces;
|
|
442
655
|
case: "listSpaces";
|
|
656
|
+
} | {
|
|
657
|
+
/**
|
|
658
|
+
* @generated from field: kusinta.iot.webrtc.v1.CreateDeviceLink create_device_link = 11;
|
|
659
|
+
*/
|
|
660
|
+
value: CreateDeviceLink;
|
|
661
|
+
case: "createDeviceLink";
|
|
662
|
+
} | {
|
|
663
|
+
/**
|
|
664
|
+
* @generated from field: kusinta.iot.webrtc.v1.RemoveDeviceLink remove_device_link = 12;
|
|
665
|
+
*/
|
|
666
|
+
value: RemoveDeviceLink;
|
|
667
|
+
case: "removeDeviceLink";
|
|
668
|
+
} | {
|
|
669
|
+
/**
|
|
670
|
+
* @generated from field: kusinta.iot.webrtc.v1.ListDeviceLinks list_device_links = 13;
|
|
671
|
+
*/
|
|
672
|
+
value: ListDeviceLinks;
|
|
673
|
+
case: "listDeviceLinks";
|
|
674
|
+
} | {
|
|
675
|
+
/**
|
|
676
|
+
* @generated from field: kusinta.iot.webrtc.v1.UpdateDeviceLink update_device_link = 14;
|
|
677
|
+
*/
|
|
678
|
+
value: UpdateDeviceLink;
|
|
679
|
+
case: "updateDeviceLink";
|
|
680
|
+
} | {
|
|
681
|
+
/**
|
|
682
|
+
* @generated from field: kusinta.iot.webrtc.v1.ProvisionDevice provision_device = 15;
|
|
683
|
+
*/
|
|
684
|
+
value: ProvisionDevice;
|
|
685
|
+
case: "provisionDevice";
|
|
443
686
|
} | { case: undefined; value?: undefined };
|
|
444
687
|
};
|
|
445
688
|
|
|
@@ -5,13 +5,15 @@
|
|
|
5
5
|
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
|
|
6
6
|
import { file_kusinta_iot_common_v1_types } from "../../common/v1/types_pb.js";
|
|
7
7
|
import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
|
|
8
|
+
import { file_kusinta_iot_link_v1_link } from "../../link/v1/link_pb.js";
|
|
8
9
|
import { file_kusinta_iot_space_v1_space } from "../../space/v1/space_pb.js";
|
|
10
|
+
import { file_kusinta_iot_vendor_lorawan_v1_lorawan } from "../../vendor/lorawan/v1/lorawan_pb.js";
|
|
9
11
|
|
|
10
12
|
/**
|
|
11
13
|
* Describes the file kusinta/iot/webrtc/v1/management.proto.
|
|
12
14
|
*/
|
|
13
15
|
export const file_kusinta_iot_webrtc_v1_management = /*@__PURE__*/
|
|
14
|
-
fileDesc("CiZrdXNpbnRhL2lvdC93ZWJydGMvdjEvbWFuYWdlbWVudC5wcm90bxIVa3VzaW50YS5pb3Qud2VicnRjLnYxIrABCgtDcmVhdGVTcGFjZRI0CgpzcGFjZV90eXBlGAEgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBWZsb29yGAQgASgFEjkKD3BhcmVudF9zcGFjZV9pZBgFIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQizwIKC1VwZGF0ZVNwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBI5CgpzcGFjZV90eXBlGAIgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZUgBiAEBEhEKBG5hbWUYAyABKAlIAogBARIYCgtkZXNjcmlwdGlvbhgEIAEoCUgDiAEBEhIKBWZsb29yGAUgASgFSASIAQESOwoPcGFyZW50X3NwYWNlX2lkGAYgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZEgAEhAKBmRldGFjaBgHIAEoCEgAQg8KDXBhcmVudF9jaGFuZ2VCDQoLX3NwYWNlX3R5cGVCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQggKBl9mbG9vciJSCgtEZWxldGVTcGFjZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSDwoHY2FzY2FkZRgCIAEoCCJ/
|
|
16
|
+
fileDesc("CiZrdXNpbnRhL2lvdC93ZWJydGMvdjEvbWFuYWdlbWVudC5wcm90bxIVa3VzaW50YS5pb3Qud2VicnRjLnYxIrABCgtDcmVhdGVTcGFjZRI0CgpzcGFjZV90eXBlGAEgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBWZsb29yGAQgASgFEjkKD3BhcmVudF9zcGFjZV9pZBgFIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQizwIKC1VwZGF0ZVNwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBI5CgpzcGFjZV90eXBlGAIgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZUgBiAEBEhEKBG5hbWUYAyABKAlIAogBARIYCgtkZXNjcmlwdGlvbhgEIAEoCUgDiAEBEhIKBWZsb29yGAUgASgFSASIAQESOwoPcGFyZW50X3NwYWNlX2lkGAYgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZEgAEhAKBmRldGFjaBgHIAEoCEgAQg8KDXBhcmVudF9jaGFuZ2VCDQoLX3NwYWNlX3R5cGVCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQggKBl9mbG9vciJSCgtEZWxldGVTcGFjZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSDwoHY2FzY2FkZRgCIAEoCCJ/ChFBc3NpZ25Vc2VyVG9TcGFjZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSMAoHdXNlcl9pZBgCIAEoCzIfLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlVzZXJJZEoECAMQBCJ7ChNSZW1vdmVVc2VyRnJvbVNwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIwCgd1c2VyX2lkGAIgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkIn4KElBsYWNlRGV2aWNlSW5TcGFjZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQigQEKFVJlbW92ZURldmljZUZyb21TcGFjZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQi2AEKC0NsYWltRGV2aWNlEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEj0KCW93bmVyc2hpcBgCIAEoDjIqLmt1c2ludGEuaW90LmNvbW1vbi52MS5EZXZpY2VPd25lcnNoaXBUeXBlEjoKEGluaXRpYWxfc3BhY2VfaWQYAyABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEhgKEHBvc3Nlc3Npb25fcHJvb2YYBCABKAkiRQoNUmVsZWFzZURldmljZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCKjAQoPUHJvdmlzaW9uRGV2aWNlEjoKDGNvbm5lY3Rvcl9pZBgBIAEoCzIkLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkNvbm5lY3RvcklkEkUKB2xvcmF3YW4YAiABKAsyMi5rdXNpbnRhLmlvdC52ZW5kb3IubG9yYXdhbi52MS5Mb3Jhd2FuUHJvdmlzaW9uaW5nSABCDQoLY3JlZGVudGlhbHMiRQoKTGlzdFNwYWNlcxI3Cg1yb290X3NwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZCI4CglTcGFjZVRyZWUSKwoGc3BhY2VzGAEgAygLMhsua3VzaW50YS5pb3Quc3BhY2UudjEuU3BhY2UiDwoNTWFuYWdlbWVudEFjayKRAgoQQ3JlYXRlRGV2aWNlTGluaxIxCgZzZW5kZXIYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCghyZWNlaXZlchgCIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjMKCGZ1bmN0aW9uGAMgASgOMiEua3VzaW50YS5pb3QubGluay52MS5MaW5rRnVuY3Rpb24SKwoEbW9kZRgEIAEoDjIdLmt1c2ludGEuaW90LmxpbmsudjEuTGlua01vZGUSMwoIc2V0dGluZ3MYBSABKAsyIS5rdXNpbnRhLmlvdC5saW5rLnYxLkxpbmtTZXR0aW5ncyIjChBSZW1vdmVEZXZpY2VMaW5rEg8KB2xpbmtfaWQYASABKAkiWAoQVXBkYXRlRGV2aWNlTGluaxIPCgdsaW5rX2lkGAEgASgJEjMKCHNldHRpbmdzGAIgASgLMiEua3VzaW50YS5pb3QubGluay52MS5MaW5rU2V0dGluZ3MiRwoPTGlzdERldmljZUxpbmtzEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkIpwIChFNYW5hZ2VtZW50UmVxdWVzdBI6CgxjcmVhdGVfc3BhY2UYASABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ3JlYXRlU3BhY2VIABI6Cgx1cGRhdGVfc3BhY2UYAiABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuVXBkYXRlU3BhY2VIABI6CgxkZWxldGVfc3BhY2UYAyABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuRGVsZXRlU3BhY2VIABJIChRhc3NpZ25fdXNlcl90b19zcGFjZRgEIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Bc3NpZ25Vc2VyVG9TcGFjZUgAEkwKFnJlbW92ZV91c2VyX2Zyb21fc3BhY2UYBSABKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVtb3ZlVXNlckZyb21TcGFjZUgAEkoKFXBsYWNlX2RldmljZV9pbl9zcGFjZRgGIAEoCzIpLmt1c2ludGEuaW90LndlYnJ0Yy52MS5QbGFjZURldmljZUluU3BhY2VIABJQChhyZW1vdmVfZGV2aWNlX2Zyb21fc3BhY2UYByABKAsyLC5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVtb3ZlRGV2aWNlRnJvbVNwYWNlSAASOgoMY2xhaW1fZGV2aWNlGAggASgLMiIua3VzaW50YS5pb3Qud2VicnRjLnYxLkNsYWltRGV2aWNlSAASPgoOcmVsZWFzZV9kZXZpY2UYCSABKAsyJC5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVsZWFzZURldmljZUgAEjgKC2xpc3Rfc3BhY2VzGAogASgLMiEua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpc3RTcGFjZXNIABJFChJjcmVhdGVfZGV2aWNlX2xpbmsYCyABKAsyJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ3JlYXRlRGV2aWNlTGlua0gAEkUKEnJlbW92ZV9kZXZpY2VfbGluaxgMIAEoCzInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5SZW1vdmVEZXZpY2VMaW5rSAASQwoRbGlzdF9kZXZpY2VfbGlua3MYDSABKAsyJi5rdXNpbnRhLmlvdC53ZWJydGMudjEuTGlzdERldmljZUxpbmtzSAASRQoSdXBkYXRlX2RldmljZV9saW5rGA4gASgLMicua3VzaW50YS5pb3Qud2VicnRjLnYxLlVwZGF0ZURldmljZUxpbmtIABJCChBwcm92aXNpb25fZGV2aWNlGA8gASgLMiYua3VzaW50YS5pb3Qud2VicnRjLnYxLlByb3Zpc2lvbkRldmljZUgAQgkKB3JlcXVlc3RCAkgBYgZwcm90bzM", [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]);
|
|
15
17
|
|
|
16
18
|
/**
|
|
17
19
|
* Describes the message kusinta.iot.webrtc.v1.CreateSpace.
|
|
@@ -76,31 +78,66 @@ export const ClaimDeviceSchema = /*@__PURE__*/
|
|
|
76
78
|
export const ReleaseDeviceSchema = /*@__PURE__*/
|
|
77
79
|
messageDesc(file_kusinta_iot_webrtc_v1_management, 8);
|
|
78
80
|
|
|
81
|
+
/**
|
|
82
|
+
* Describes the message kusinta.iot.webrtc.v1.ProvisionDevice.
|
|
83
|
+
* Use `create(ProvisionDeviceSchema)` to create a new message.
|
|
84
|
+
*/
|
|
85
|
+
export const ProvisionDeviceSchema = /*@__PURE__*/
|
|
86
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 9);
|
|
87
|
+
|
|
79
88
|
/**
|
|
80
89
|
* Describes the message kusinta.iot.webrtc.v1.ListSpaces.
|
|
81
90
|
* Use `create(ListSpacesSchema)` to create a new message.
|
|
82
91
|
*/
|
|
83
92
|
export const ListSpacesSchema = /*@__PURE__*/
|
|
84
|
-
messageDesc(file_kusinta_iot_webrtc_v1_management,
|
|
93
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 10);
|
|
85
94
|
|
|
86
95
|
/**
|
|
87
96
|
* Describes the message kusinta.iot.webrtc.v1.SpaceTree.
|
|
88
97
|
* Use `create(SpaceTreeSchema)` to create a new message.
|
|
89
98
|
*/
|
|
90
99
|
export const SpaceTreeSchema = /*@__PURE__*/
|
|
91
|
-
messageDesc(file_kusinta_iot_webrtc_v1_management,
|
|
100
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 11);
|
|
92
101
|
|
|
93
102
|
/**
|
|
94
103
|
* Describes the message kusinta.iot.webrtc.v1.ManagementAck.
|
|
95
104
|
* Use `create(ManagementAckSchema)` to create a new message.
|
|
96
105
|
*/
|
|
97
106
|
export const ManagementAckSchema = /*@__PURE__*/
|
|
98
|
-
messageDesc(file_kusinta_iot_webrtc_v1_management,
|
|
107
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 12);
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Describes the message kusinta.iot.webrtc.v1.CreateDeviceLink.
|
|
111
|
+
* Use `create(CreateDeviceLinkSchema)` to create a new message.
|
|
112
|
+
*/
|
|
113
|
+
export const CreateDeviceLinkSchema = /*@__PURE__*/
|
|
114
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 13);
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Describes the message kusinta.iot.webrtc.v1.RemoveDeviceLink.
|
|
118
|
+
* Use `create(RemoveDeviceLinkSchema)` to create a new message.
|
|
119
|
+
*/
|
|
120
|
+
export const RemoveDeviceLinkSchema = /*@__PURE__*/
|
|
121
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 14);
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Describes the message kusinta.iot.webrtc.v1.UpdateDeviceLink.
|
|
125
|
+
* Use `create(UpdateDeviceLinkSchema)` to create a new message.
|
|
126
|
+
*/
|
|
127
|
+
export const UpdateDeviceLinkSchema = /*@__PURE__*/
|
|
128
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 15);
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Describes the message kusinta.iot.webrtc.v1.ListDeviceLinks.
|
|
132
|
+
* Use `create(ListDeviceLinksSchema)` to create a new message.
|
|
133
|
+
*/
|
|
134
|
+
export const ListDeviceLinksSchema = /*@__PURE__*/
|
|
135
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 16);
|
|
99
136
|
|
|
100
137
|
/**
|
|
101
138
|
* Describes the message kusinta.iot.webrtc.v1.ManagementRequest.
|
|
102
139
|
* Use `create(ManagementRequestSchema)` to create a new message.
|
|
103
140
|
*/
|
|
104
141
|
export const ManagementRequestSchema = /*@__PURE__*/
|
|
105
|
-
messageDesc(file_kusinta_iot_webrtc_v1_management,
|
|
142
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 17);
|
|
106
143
|
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
|
|
5
5
|
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
-
import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
|
|
7
6
|
import { file_kusinta_iot_access_v1_acl } from "../../access/v1/acl_pb.js";
|
|
7
|
+
import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Describes the file kusinta/iot/webrtc/v1/permission_push.proto.
|
|
11
11
|
*/
|
|
12
12
|
export const file_kusinta_iot_webrtc_v1_permission_push = /*@__PURE__*/
|
|
13
|
-
fileDesc("CitrdXNpbnRhL2lvdC93ZWJydGMvdjEvcGVybWlzc2lvbl9wdXNoLnByb3RvEhVrdXNpbnRhLmlvdC53ZWJydGMudjEi6QEKFExpdmVQZXJtaXNzaW9uVXBkYXRlEkQKD25ld19wZXJtaXNzaW9ucxgBIAEoCzIrLmt1c2ludGEuaW90LmFjY2Vzcy52MS5FZmZlY3RpdmVQZXJtaXNzaW9ucxI4Cg1hZGRlZF9kZXZpY2VzGAIgAygLMiEua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuRGV2aWNlSWQSOgoPcmVtb3ZlZF9kZXZpY2VzGAMgAygLMiEua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuRGV2aWNlSWQSFQoNY2hhbmdlX3JlYXNvbhgEIAEoCUICSAFiBnByb3RvMw", [
|
|
13
|
+
fileDesc("CitrdXNpbnRhL2lvdC93ZWJydGMvdjEvcGVybWlzc2lvbl9wdXNoLnByb3RvEhVrdXNpbnRhLmlvdC53ZWJydGMudjEi6QEKFExpdmVQZXJtaXNzaW9uVXBkYXRlEkQKD25ld19wZXJtaXNzaW9ucxgBIAEoCzIrLmt1c2ludGEuaW90LmFjY2Vzcy52MS5FZmZlY3RpdmVQZXJtaXNzaW9ucxI4Cg1hZGRlZF9kZXZpY2VzGAIgAygLMiEua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuRGV2aWNlSWQSOgoPcmVtb3ZlZF9kZXZpY2VzGAMgAygLMiEua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuRGV2aWNlSWQSFQoNY2hhbmdlX3JlYXNvbhgEIAEoCUICSAFiBnByb3RvMw", [file_kusinta_iot_access_v1_acl, file_kusinta_iot_identity_v1_identity]);
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Describes the message kusinta.iot.webrtc.v1.LivePermissionUpdate.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
|
|
2
|
+
// @generated from file kusinta/iot/webrtc/v1/setpoint_mode.proto (package kusinta.iot.webrtc.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import type { GenEnum, GenFile } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Describes the file kusinta/iot/webrtc/v1/setpoint_mode.proto.
|
|
9
|
+
*/
|
|
10
|
+
export declare const file_kusinta_iot_webrtc_v1_setpoint_mode: GenFile;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* SetpointAdjustMode selects which setpoint a thermostat command targets. It is
|
|
14
|
+
* Matter's SetpointRaiseLowerModeEnum (Thermostat cluster 0x0201) and carries Matter's
|
|
15
|
+
* own numbering.
|
|
16
|
+
*
|
|
17
|
+
* A real type rather than a numbering written down in a comment. The mode field on
|
|
18
|
+
* ThermostatSetpointParams was a bare uint32 with this numbering stated beside it, so a
|
|
19
|
+
* consumer carrying forward an older Heat=1/Cool=2/Both=3 convention compiled cleanly and
|
|
20
|
+
* silently reversed which physical behavior a command produced.
|
|
21
|
+
*
|
|
22
|
+
* Zero is a real mode, not a "not set" sentinel — which is why there is no
|
|
23
|
+
* SETPOINT_ADJUST_MODE_UNSPECIFIED, and why every field carrying this value has explicit
|
|
24
|
+
* presence: absent = the producer stated no mode, present = the mode it named, Heat
|
|
25
|
+
* included. This is the same rule properties.proto applies to readings, for the same
|
|
26
|
+
* reason — a bare proto3 scalar makes "meant Heat" and "never set it" identical on the
|
|
27
|
+
* wire. Renumbering to free zero is not available: the wire value IS Matter's value.
|
|
28
|
+
*
|
|
29
|
+
* SetpointAdjustMode is NOT ThermostatProperties.system_mode. system_mode is Matter's
|
|
30
|
+
* SystemModeEnum (Off=0, Auto=1, Cool=3, Heat=4), a different enum over a different set
|
|
31
|
+
* of concepts. Cool is 1 here and 3 there; the two must never be substituted for each
|
|
32
|
+
* other or read through the same mapping table.
|
|
33
|
+
*
|
|
34
|
+
* @generated from enum kusinta.iot.webrtc.v1.SetpointAdjustMode
|
|
35
|
+
*/
|
|
36
|
+
export enum SetpointAdjustMode {
|
|
37
|
+
/**
|
|
38
|
+
* Targets ThermostatProperties.occupied_heating_setpoint.
|
|
39
|
+
*
|
|
40
|
+
* @generated from enum value: SETPOINT_ADJUST_MODE_HEAT = 0;
|
|
41
|
+
*/
|
|
42
|
+
HEAT = 0,
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Targets ThermostatProperties.occupied_cooling_setpoint.
|
|
46
|
+
*
|
|
47
|
+
* @generated from enum value: SETPOINT_ADJUST_MODE_COOL = 1;
|
|
48
|
+
*/
|
|
49
|
+
COOL = 1,
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Targets both setpoints.
|
|
53
|
+
*
|
|
54
|
+
* @generated from enum value: SETPOINT_ADJUST_MODE_BOTH = 2;
|
|
55
|
+
*/
|
|
56
|
+
BOTH = 2,
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Describes the enum kusinta.iot.webrtc.v1.SetpointAdjustMode.
|
|
61
|
+
*/
|
|
62
|
+
export declare const SetpointAdjustModeSchema: GenEnum<SetpointAdjustMode>;
|
|
63
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
|
|
2
|
+
// @generated from file kusinta/iot/webrtc/v1/setpoint_mode.proto (package kusinta.iot.webrtc.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import { enumDesc, fileDesc, tsEnum } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Describes the file kusinta/iot/webrtc/v1/setpoint_mode.proto.
|
|
9
|
+
*/
|
|
10
|
+
export const file_kusinta_iot_webrtc_v1_setpoint_mode = /*@__PURE__*/
|
|
11
|
+
fileDesc("CilrdXNpbnRhL2lvdC93ZWJydGMvdjEvc2V0cG9pbnRfbW9kZS5wcm90bxIVa3VzaW50YS5pb3Qud2VicnRjLnYxKnEKElNldHBvaW50QWRqdXN0TW9kZRIdChlTRVRQT0lOVF9BREpVU1RfTU9ERV9IRUFUEAASHQoZU0VUUE9JTlRfQURKVVNUX01PREVfQ09PTBABEh0KGVNFVFBPSU5UX0FESlVTVF9NT0RFX0JPVEgQAkICSAFiBnByb3RvMw");
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Describes the enum kusinta.iot.webrtc.v1.SetpointAdjustMode.
|
|
15
|
+
*/
|
|
16
|
+
export const SetpointAdjustModeSchema = /*@__PURE__*/
|
|
17
|
+
enumDesc(file_kusinta_iot_webrtc_v1_setpoint_mode, 0);
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* SetpointAdjustMode selects which setpoint a thermostat command targets. It is
|
|
21
|
+
* Matter's SetpointRaiseLowerModeEnum (Thermostat cluster 0x0201) and carries Matter's
|
|
22
|
+
* own numbering.
|
|
23
|
+
*
|
|
24
|
+
* A real type rather than a numbering written down in a comment. The mode field on
|
|
25
|
+
* ThermostatSetpointParams was a bare uint32 with this numbering stated beside it, so a
|
|
26
|
+
* consumer carrying forward an older Heat=1/Cool=2/Both=3 convention compiled cleanly and
|
|
27
|
+
* silently reversed which physical behavior a command produced.
|
|
28
|
+
*
|
|
29
|
+
* Zero is a real mode, not a "not set" sentinel — which is why there is no
|
|
30
|
+
* SETPOINT_ADJUST_MODE_UNSPECIFIED, and why every field carrying this value has explicit
|
|
31
|
+
* presence: absent = the producer stated no mode, present = the mode it named, Heat
|
|
32
|
+
* included. This is the same rule properties.proto applies to readings, for the same
|
|
33
|
+
* reason — a bare proto3 scalar makes "meant Heat" and "never set it" identical on the
|
|
34
|
+
* wire. Renumbering to free zero is not available: the wire value IS Matter's value.
|
|
35
|
+
*
|
|
36
|
+
* SetpointAdjustMode is NOT ThermostatProperties.system_mode. system_mode is Matter's
|
|
37
|
+
* SystemModeEnum (Off=0, Auto=1, Cool=3, Heat=4), a different enum over a different set
|
|
38
|
+
* of concepts. Cool is 1 here and 3 there; the two must never be substituted for each
|
|
39
|
+
* other or read through the same mapping table.
|
|
40
|
+
*
|
|
41
|
+
* @generated from enum kusinta.iot.webrtc.v1.SetpointAdjustMode
|
|
42
|
+
*/
|
|
43
|
+
export const SetpointAdjustMode = /*@__PURE__*/
|
|
44
|
+
tsEnum(SetpointAdjustModeSchema);
|
|
45
|
+
|