@kusinta/iot-schema 0.2.0-beta.50 → 0.2.0-beta.52
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 +42 -40
- package/src/kusinta/iot/climate/v1/climate_pb.d.ts +5 -2
- package/src/kusinta/iot/commissioning/v1/commissioning_pb.d.ts +66 -1
- package/src/kusinta/iot/commissioning/v1/commissioning_pb.js +15 -8
- package/src/kusinta/iot/common/v1/pairing_pb.d.ts +3 -1
- package/src/kusinta/iot/device/v1/device_pb.d.ts +18 -0
- package/src/kusinta/iot/device/v1/device_pb.js +1 -1
- package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +5 -2
- package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +39 -5
package/package.json
CHANGED
|
@@ -1,59 +1,61 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kusinta/iot-schema",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.52",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
|
-
"files": [
|
|
6
|
+
"files": [
|
|
7
|
+
"src"
|
|
8
|
+
],
|
|
7
9
|
"scripts": {
|
|
8
10
|
"test": "vitest run",
|
|
9
11
|
"test:watch": "vitest"
|
|
10
12
|
},
|
|
11
13
|
"exports": {
|
|
12
|
-
"./common":
|
|
13
|
-
"./common/pairing":
|
|
14
|
-
"./identity":
|
|
15
|
-
"./device":
|
|
16
|
-
"./device/descriptor":
|
|
17
|
-
"./device/properties":
|
|
18
|
-
"./device/matter-options":
|
|
14
|
+
"./common": "./src/kusinta/iot/common/v1/types_pb.js",
|
|
15
|
+
"./common/pairing": "./src/kusinta/iot/common/v1/pairing_pb.js",
|
|
16
|
+
"./identity": "./src/kusinta/iot/identity/v1/identity_pb.js",
|
|
17
|
+
"./device": "./src/kusinta/iot/device/v1/device_pb.js",
|
|
18
|
+
"./device/descriptor": "./src/kusinta/iot/device/v1/descriptor_pb.js",
|
|
19
|
+
"./device/properties": "./src/kusinta/iot/device/v1/properties_pb.js",
|
|
20
|
+
"./device/matter-options": "./src/kusinta/iot/device/v1/matter_options_pb.js",
|
|
19
21
|
"./device/property-update": "./src/kusinta/iot/device/v1/property_update_pb.js",
|
|
20
|
-
"./device/cluster-state":
|
|
21
|
-
"./device/event":
|
|
22
|
-
"./vendor/options":
|
|
23
|
-
"./vendor/homematic":
|
|
24
|
-
"./vendor/lorawan":
|
|
25
|
-
"./space":
|
|
26
|
-
"./access":
|
|
27
|
-
"./access/roles":
|
|
28
|
-
"./account-link":
|
|
29
|
-
"./link":
|
|
30
|
-
"./climate":
|
|
31
|
-
"./commissioning":
|
|
32
|
-
"./heating":
|
|
33
|
-
"./connector":
|
|
34
|
-
"./connector/service":
|
|
35
|
-
"./webrtc":
|
|
36
|
-
"./webrtc/app-token":
|
|
37
|
-
"./webrtc/command":
|
|
38
|
-
"./webrtc/device-state":
|
|
39
|
-
"./webrtc/household":
|
|
40
|
-
"./webrtc/invite":
|
|
41
|
-
"./webrtc/members":
|
|
42
|
-
"./webrtc/management":
|
|
22
|
+
"./device/cluster-state": "./src/kusinta/iot/device/v1/cluster_state_pb.js",
|
|
23
|
+
"./device/event": "./src/kusinta/iot/device/v1/device_event_pb.js",
|
|
24
|
+
"./vendor/options": "./src/kusinta/iot/vendor/v1/vendor_options_pb.js",
|
|
25
|
+
"./vendor/homematic": "./src/kusinta/iot/vendor/homematic/v1/homematic_pb.js",
|
|
26
|
+
"./vendor/lorawan": "./src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.js",
|
|
27
|
+
"./space": "./src/kusinta/iot/space/v1/space_pb.js",
|
|
28
|
+
"./access": "./src/kusinta/iot/access/v1/acl_pb.js",
|
|
29
|
+
"./access/roles": "./src/kusinta/iot/access/v1/roles_pb.js",
|
|
30
|
+
"./account-link": "./src/kusinta/iot/accountlink/v1/account_link_pb.js",
|
|
31
|
+
"./link": "./src/kusinta/iot/link/v1/link_pb.js",
|
|
32
|
+
"./climate": "./src/kusinta/iot/climate/v1/climate_pb.js",
|
|
33
|
+
"./commissioning": "./src/kusinta/iot/commissioning/v1/commissioning_pb.js",
|
|
34
|
+
"./heating": "./src/kusinta/iot/heating/v1/heating_pb.js",
|
|
35
|
+
"./connector": "./src/kusinta/iot/connector/v1/connector_pb.js",
|
|
36
|
+
"./connector/service": "./src/kusinta/iot/connector/v1/connector_service_pb.js",
|
|
37
|
+
"./webrtc": "./src/kusinta/iot/webrtc/v1/envelope_pb.js",
|
|
38
|
+
"./webrtc/app-token": "./src/kusinta/iot/webrtc/v1/app_token_pb.js",
|
|
39
|
+
"./webrtc/command": "./src/kusinta/iot/webrtc/v1/command_pb.js",
|
|
40
|
+
"./webrtc/device-state": "./src/kusinta/iot/webrtc/v1/device_state_pb.js",
|
|
41
|
+
"./webrtc/household": "./src/kusinta/iot/webrtc/v1/household_pb.js",
|
|
42
|
+
"./webrtc/invite": "./src/kusinta/iot/webrtc/v1/invite_pb.js",
|
|
43
|
+
"./webrtc/members": "./src/kusinta/iot/webrtc/v1/members_pb.js",
|
|
44
|
+
"./webrtc/management": "./src/kusinta/iot/webrtc/v1/management_pb.js",
|
|
43
45
|
"./webrtc/permission-push": "./src/kusinta/iot/webrtc/v1/permission_push_pb.js",
|
|
44
|
-
"./webrtc/setpoint-mode":
|
|
45
|
-
"./registration":
|
|
46
|
-
"./registration/service":
|
|
47
|
-
"./reporting":
|
|
48
|
-
"./reporting/service":
|
|
49
|
-
"./signaling":
|
|
50
|
-
"./signaling/service":
|
|
46
|
+
"./webrtc/setpoint-mode": "./src/kusinta/iot/webrtc/v1/setpoint_mode_pb.js",
|
|
47
|
+
"./registration": "./src/kusinta/iot/registration/v1/registration_pb.js",
|
|
48
|
+
"./registration/service": "./src/kusinta/iot/registration/v1/registration_service_pb.js",
|
|
49
|
+
"./reporting": "./src/kusinta/iot/reporting/v1/reporting_pb.js",
|
|
50
|
+
"./reporting/service": "./src/kusinta/iot/reporting/v1/reporting_service_pb.js",
|
|
51
|
+
"./signaling": "./src/kusinta/iot/signaling/v1/signaling_pb.js",
|
|
52
|
+
"./signaling/service": "./src/kusinta/iot/signaling/v1/signaling_service_pb.js"
|
|
51
53
|
},
|
|
52
54
|
"dependencies": {
|
|
53
55
|
"@bufbuild/protobuf": "^2.12.0"
|
|
54
56
|
},
|
|
55
57
|
"devDependencies": {
|
|
56
58
|
"@types/node": "^22.0.0",
|
|
57
|
-
"vitest": "^
|
|
59
|
+
"vitest": "^5.0.5"
|
|
58
60
|
}
|
|
59
61
|
}
|
|
@@ -332,8 +332,11 @@ export declare type RoomClimate = Message<"kusinta.iot.climate.v1.RoomClimate">
|
|
|
332
332
|
* How many of the room's heating outputs the outer limits bind, so that an app shows the
|
|
333
333
|
* building's bounds where they apply and not where they do not. In a home, sent to its
|
|
334
334
|
* residents only: to anyone else it would tell whether the room holds a device a resident
|
|
335
|
-
* owns.
|
|
336
|
-
*
|
|
335
|
+
* owns. The exception is a home that stands empty (webrtc.v1 household.proto, EMPTY HOME):
|
|
336
|
+
* its property owner and gateway administrators are sent its rooms as rooms outside homes
|
|
337
|
+
* are, this included, as no household's device or setting is left in it. Outside homes, sent
|
|
338
|
+
* to whoever is sent the room, judged over the outputs of devices the recipient sees, so
|
|
339
|
+
* that a device hidden from them changes nothing they are sent.
|
|
337
340
|
*
|
|
338
341
|
* @generated from field: kusinta.iot.climate.v1.OuterLimitsCoverage outer_limits_coverage = 24;
|
|
339
342
|
*/
|
|
@@ -474,6 +474,34 @@ export declare type CommissioningTest = Message<"kusinta.iot.commissioning.v1.Co
|
|
|
474
474
|
* @generated from field: bool superseded = 12;
|
|
475
475
|
*/
|
|
476
476
|
superseded: boolean;
|
|
477
|
+
|
|
478
|
+
/**
|
|
479
|
+
* For a test an installer concludes (PUMP_ALL_ZONES_OFF), while it runs: the last moment a
|
|
480
|
+
* verdict is taken (webrtc.v1.ConcludeCommissioningTest), on the gateway's clock. At it,
|
|
481
|
+
* without a verdict, the test ends ABORTED and its outputs start returning to their normal
|
|
482
|
+
* control, so that every write it made, leased to end by ends_at, can still end by then:
|
|
483
|
+
* conclude_by comes before ends_at, by as much as its slowest output's device needs. Never
|
|
484
|
+
* later than the end of the commissioning grant it runs under. Fixed when the test starts.
|
|
485
|
+
* Unset for the other kinds, and once the test has ended. A client counting down to it
|
|
486
|
+
* counts from when it received it, not on its own clock against this time.
|
|
487
|
+
*
|
|
488
|
+
* @generated from field: google.protobuf.Timestamp conclude_by = 14;
|
|
489
|
+
*/
|
|
490
|
+
concludeBy?: Timestamp | undefined;
|
|
491
|
+
|
|
492
|
+
/**
|
|
493
|
+
* What the heat source reported while an OUTPUT_LEASE test held one of its plant's inputs
|
|
494
|
+
* (heating.v1.HeatPumpControl: an SG Ready input or the add-on heat block), from the
|
|
495
|
+
* plant's bound readings (device.v1.HeatSourceReadings) that arrived between the test's
|
|
496
|
+
* first write and its end, in the order they arrived. Evidence for the person judging the
|
|
497
|
+
* installation, never part of the verdict: the test passes on the output's own state. Empty
|
|
498
|
+
* where none arrived, as a heat source read by polling may report less often than a test
|
|
499
|
+
* lasts. The heat source's data, not a household's: kept with the test as its verdict is,
|
|
500
|
+
* through a household handover and a wipe of people.
|
|
501
|
+
*
|
|
502
|
+
* @generated from field: repeated kusinta.iot.commissioning.v1.TestEvidence evidence = 15;
|
|
503
|
+
*/
|
|
504
|
+
evidence: TestEvidence[];
|
|
477
505
|
};
|
|
478
506
|
|
|
479
507
|
/**
|
|
@@ -482,6 +510,42 @@ export declare type CommissioningTest = Message<"kusinta.iot.commissioning.v1.Co
|
|
|
482
510
|
*/
|
|
483
511
|
export declare const CommissioningTestSchema: GenMessage<CommissioningTest>;
|
|
484
512
|
|
|
513
|
+
/**
|
|
514
|
+
* One reading a heat source reported during a test (CommissioningTest.evidence).
|
|
515
|
+
*
|
|
516
|
+
* @generated from message kusinta.iot.commissioning.v1.TestEvidence
|
|
517
|
+
*/
|
|
518
|
+
export declare type TestEvidence = Message<"kusinta.iot.commissioning.v1.TestEvidence"> & {
|
|
519
|
+
/**
|
|
520
|
+
* The reading, by its field name in device.v1.HeatSourceReadings, e.g. "compressor_state",
|
|
521
|
+
* "add_on_heat_watts".
|
|
522
|
+
*
|
|
523
|
+
* @generated from field: string reading = 1;
|
|
524
|
+
*/
|
|
525
|
+
reading: string;
|
|
526
|
+
|
|
527
|
+
/**
|
|
528
|
+
* Its value, in that field's units; an enum-valued reading by its number, and a yes-or-no
|
|
529
|
+
* reading (e.g. "alarm_active") as 1 for true, 0 for false.
|
|
530
|
+
*
|
|
531
|
+
* @generated from field: sint64 value = 2;
|
|
532
|
+
*/
|
|
533
|
+
value: bigint;
|
|
534
|
+
|
|
535
|
+
/**
|
|
536
|
+
* When the heat source reported it.
|
|
537
|
+
*
|
|
538
|
+
* @generated from field: google.protobuf.Timestamp observed_at = 3;
|
|
539
|
+
*/
|
|
540
|
+
observedAt?: Timestamp | undefined;
|
|
541
|
+
};
|
|
542
|
+
|
|
543
|
+
/**
|
|
544
|
+
* Describes the message kusinta.iot.commissioning.v1.TestEvidence.
|
|
545
|
+
* Use `create(TestEvidenceSchema)` to create a new message.
|
|
546
|
+
*/
|
|
547
|
+
export declare const TestEvidenceSchema: GenMessage<TestEvidence>;
|
|
548
|
+
|
|
485
549
|
/**
|
|
486
550
|
* A space's commissioning, in reply to ListCommissioning.
|
|
487
551
|
*
|
|
@@ -1237,7 +1301,8 @@ export enum TestState {
|
|
|
1237
1301
|
FAILED = 3,
|
|
1238
1302
|
|
|
1239
1303
|
/**
|
|
1240
|
-
* Stopped by a caller
|
|
1304
|
+
* Stopped by a caller; ended at ends_at; or, for a test an installer concludes
|
|
1305
|
+
* (PUMP_ALL_ZONES_OFF), ended at conclude_by without a verdict. Proves nothing.
|
|
1241
1306
|
*
|
|
1242
1307
|
* @generated from enum value: TEST_STATE_ABORTED = 4;
|
|
1243
1308
|
*/
|
|
@@ -11,7 +11,7 @@ import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identit
|
|
|
11
11
|
* Describes the file kusinta/iot/commissioning/v1/commissioning.proto.
|
|
12
12
|
*/
|
|
13
13
|
export const file_kusinta_iot_commissioning_v1_commissioning = /*@__PURE__*/
|
|
14
|
-
fileDesc("
|
|
14
|
+
fileDesc("CjBrdXNpbnRhL2lvdC9jb21taXNzaW9uaW5nL3YxL2NvbW1pc3Npb25pbmcucHJvdG8SHGt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEizwEKClByb3ZlbmFuY2USMgoFcGFydHkYASABKA4yIy5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLlBhcnR5EjgKCGV2aWRlbmNlGAIgASgOMiYua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5FdmlkZW5jZRImCgJhdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKwoCYnkYBCABKAsyHy5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Vc2VySWQiLgoKQmluZGluZ1JlZhIRCglyZWNvcmRfaWQYASABKAkSDQoFZmllbGQYAiABKAkiMwoLVGVtcGxhdGVSZWYSEwoLdGVtcGxhdGVfaWQYASABKAkSDwoHdmVyc2lvbhgCIAEoDSL0BAoRQ29tbWlzc2lvbmluZ0ZhY3QSDwoHZmFjdF9pZBgBIAEoCRIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSEQoJcmVjb3JkX2lkGAMgASgJEgsKA2tleRgEIAEoCRI2CgV2YWx1ZRgFIAEoCzIlLmt1c2ludGEuaW90LmRldmljZS52MS5BdHRyaWJ1dGVWYWx1ZUgAEhEKB3Vua25vd24YBiABKAhIABI1CghhbnN3ZXJlchgHIAEoDjIjLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuUGFydHkSOgoJbmVjZXNzaXR5GAggASgOMicua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5OZWNlc3NpdHkSNgoHZmVhdHVyZRgJIAEoDjIlLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuRmVhdHVyZRI8Cgpwcm92ZW5hbmNlGAogASgLMigua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5Qcm92ZW5hbmNlEhAKCHJldmlzaW9uGA0gASgEEkAKDWRldmlhdGVzX2Zyb20YDyABKAsyKS5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLlRlbXBsYXRlUmVmEjYKBXRvcGljGBAgASgOMicua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5GYWN0VG9waWNCCAoGYW5zd2VySgQICxANSgQIDhAPUgVzY29wZVIQdGVtcGxhdGVfdmVyc2lvblILdGVtcGxhdGVfaWQiegoMVGVtcGxhdGVGYWN0EgsKA2tleRgBIAEoCRIVCg1zdWJqZWN0X2xhYmVsGAIgASgJEjQKBXZhbHVlGAMgASgLMiUua3VzaW50YS5pb3QuZGV2aWNlLnYxLkF0dHJpYnV0ZVZhbHVlSgQIBBAFUgpwcm92ZW5hbmNlIvMBCg1Ib3VzZVRlbXBsYXRlEhMKC3RlbXBsYXRlX2lkGAEgASgJEjUKC2J1aWxkaW5nX2lkGAIgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIMCgRuYW1lGAMgASgJEg8KB3ZlcnNpb24YBCABKA0SOQoFZmFjdHMYBSADKAsyKi5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLlRlbXBsYXRlRmFjdBI8Cgpwcm92ZW5hbmNlGAYgASgLMigua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5Qcm92ZW5hbmNlItsCCgROZWVkEhIKCGZhY3Rfa2V5GAEgASgJSAASNgoEdGVzdBgCIAEoDjImLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuVGVzdEtpbmRIABIyCghzcGFjZV9pZBgDIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSNQoIYW5zd2VyZXIYBSABKA4yIy5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLlBhcnR5EjkKB2JpbmRpbmcYByABKAsyKC5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLkJpbmRpbmdSZWYSOwoKZmFjdF90b3BpYxgIIAEoDjInLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuRmFjdFRvcGljQgYKBHdoYXRKBAgEEAVKBAgGEAdSCXJlY29yZF9pZFIFZmllbGQi2AEKDEZlYXR1cmVCbG9jaxI5CgZyZWFzb24YASABKA4yKS5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLkJsb2NrUmVhc29uEjQKCWRldmljZV9pZBgDIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjkKB2JpbmRpbmcYBSABKAsyKC5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLkJpbmRpbmdSZWZKBAgCEANKBAgEEAVSCXJlY29yZF9pZFIFZmllbGQi8QEKDUZlYXR1cmVTdGF0dXMSNgoHZmVhdHVyZRgBIAEoDjIlLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuRmVhdHVyZRI5CgVzdGF0ZRgCIAEoDjIqLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuRmVhdHVyZVN0YXRlEjEKBW5lZWRzGAMgAygLMiIua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5OZWVkEjoKBmJsb2NrcxgEIAMoCzIqLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuRmVhdHVyZUJsb2NrIqYFChFDb21taXNzaW9uaW5nVGVzdBIPCgd0ZXN0X2lkGAEgASgJEjQKBGtpbmQYAiABKA4yJi5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLlRlc3RLaW5kEjkKB2JpbmRpbmcYDSABKAsyKC5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLkJpbmRpbmdSZWYSNAoJZGV2aWNlX2lkGAUgASgLMiEua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuRGV2aWNlSWQSNgoFc3RhdGUYBiABKA4yJy5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLlRlc3RTdGF0ZRI6CgdmYWlsdXJlGAcgASgOMikua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5UZXN0RmFpbHVyZRIuCgpzdGFydGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCgdlbmRzX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIvCgtmaW5pc2hlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASPAoKcHJvdmVuYW5jZRgLIAEoCzIoLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuUHJvdmVuYW5jZRISCgpzdXBlcnNlZGVkGAwgASgIEi8KC2NvbmNsdWRlX2J5GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI8CghldmlkZW5jZRgPIAMoCzIqLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuVGVzdEV2aWRlbmNlSgQIAxAFUglyZWNvcmRfaWRSBWZpZWxkIl8KDFRlc3RFdmlkZW5jZRIPCgdyZWFkaW5nGAEgASgJEg0KBXZhbHVlGAIgASgSEi8KC29ic2VydmVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLzAgoUQ29tbWlzc2lvbmluZ1Byb2ZpbGUSMgoIc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEj4KBWZhY3RzGAIgAygLMi8ua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5Db21taXNzaW9uaW5nRmFjdBI+CgV0ZXN0cxgDIAMoCzIvLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuQ29tbWlzc2lvbmluZ1Rlc3QSPQoIZmVhdHVyZXMYBCADKAsyKy5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLkZlYXR1cmVTdGF0dXMSPQoIdGVtcGxhdGUYBiABKAsyKy5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLkhvdXNlVGVtcGxhdGUSFgoObmVlZHNfd2l0aGhlbGQYByABKAhKBAgFEAZSC3RlbXBsYXRlX2lkIk4KCUhvbWVTZXR1cBIxCgdob21lX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIOCgZzZXRfdXAYAiABKAgiRAoKSG9tZVNldHVwcxI2CgVob21lcxgBIAMoCzInLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuSG9tZVNldHVwIuIBChNDb21taXNzaW9uaW5nUmVjb3JkEj8KBGZhY3QYASABKAsyLy5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLkNvbW1pc3Npb25pbmdGYWN0SAASPwoEdGVzdBgCIAEoCzIvLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuQ29tbWlzc2lvbmluZ1Rlc3RIABI/Cgh0ZW1wbGF0ZRgDIAEoCzIrLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuSG91c2VUZW1wbGF0ZUgAQggKBnJlY29yZCKPBAoSQ29tbWlzc2lvbmluZ0dyYW50EhAKCGdyYW50X2lkGAEgASgJEjIKCHNwYWNlX2lkGAIgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIyCglpbnN0YWxsZXIYAyABKAsyHy5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Vc2VySWQSFgoOaW5zdGFsbGVyX25hbWUYBCABKAkSRAoFc3RhdGUYBSABKA4yNS5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLkNvbW1pc3Npb25pbmdHcmFudFN0YXRlEjAKDHJlcXVlc3RlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKZXhwaXJlc19hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLQoJc3RhcnRzX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCgdlbmRzX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCgpncmFudGVkX2J5GAogASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEi4KCmdyYW50ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIosBChNDb21taXNzaW9uaW5nR3JhbnRzEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBJACgZncmFudHMYAiADKAsyMC5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLkNvbW1pc3Npb25pbmdHcmFudCK/AQoYQ29tbWlzc2lvbmluZ0dyYW50UmVjb3JkEhYKDmluc3RhbGxlcl9uYW1lGAEgASgJEi4KCmdyYW50ZWRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KCXN0YXJ0c19hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIZW5kZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wKnsKBVBhcnR5EhUKEVBBUlRZX1VOU1BFQ0lGSUVEEAASHAoYUEFSVFlfT1dORVJfT1JHQU5JU0FUSU9OEAESEwoPUEFSVFlfSE9VU0VIT0xEEAISEwoPUEFSVFlfSU5TVEFMTEVSEAMSEwoPUEFSVFlfQVVUT01BVElDEAQqcQoJTmVjZXNzaXR5EhkKFU5FQ0VTU0lUWV9VTlNQRUNJRklFRBAAEhYKEk5FQ0VTU0lUWV9SRVFVSVJFRBABEhkKFU5FQ0VTU0lUWV9GT1JfRkVBVFVSRRACEhYKEk5FQ0VTU0lUWV9PUFRJT05BTBADKqgBCghFdmlkZW5jZRIYChRFVklERU5DRV9VTlNQRUNJRklFRBAAEhMKD0VWSURFTkNFX1NUQVRFRBABEhIKDkVWSURFTkNFX1BIT1RPEAISFAoQRVZJREVOQ0VfRFJBV0lORxADEhYKEkVWSURFTkNFX0lOU1BFQ1RFRBAEEhUKEUVWSURFTkNFX01FQVNVUkVEEAUSFAoQRVZJREVOQ0VfREVSSVZFRBAGKqACCglGYWN0VG9waWMSGgoWRkFDVF9UT1BJQ19VTlNQRUNJRklFRBAAEhcKE0ZBQ1RfVE9QSUNfQlVJTERJTkcQARIUChBGQUNUX1RPUElDX1JPT01TEAISGgoWRkFDVF9UT1BJQ19IRUFUX1NPVVJDRRADEhwKGEZBQ1RfVE9QSUNfRkxPT1JfSEVBVElORxAEEhwKGEZBQ1RfVE9QSUNfQ09NRk9SVF9MT0FEUxAFEhoKFkZBQ1RfVE9QSUNfRUxFQ1RSSUNJVFkQBhIfChtGQUNUX1RPUElDX0RJU1RSSUNUX0hFQVRJTkcQBxIbChdGQUNUX1RPUElDX0NPTk5FQ1RJVklUWRAIEhYKEkZBQ1RfVE9QSUNfQ09NRk9SVBAJKqkBCgdGZWF0dXJlEhcKE0ZFQVRVUkVfVU5TUEVDSUZJRUQQABIXChNGRUFUVVJFX0ZMT09SX1pPTkVTEAESEQoNRkVBVFVSRV9QTEFOVBACEhkKFUZFQVRVUkVfQ09NRk9SVF9MT0FEUxADEhAKDEZFQVRVUkVfQ09TVBAEEhYKEkZFQVRVUkVfUEVBS19HVUFSRBAFEhQKEEZFQVRVUkVfUExBTk5JTkcQBiqFAQoMRmVhdHVyZVN0YXRlEh0KGUZFQVRVUkVfU1RBVEVfVU5TUEVDSUZJRUQQABIXChNGRUFUVVJFX1NUQVRFX1dPUktTEAESFwoTRkVBVFVSRV9TVEFURV9ORUVEUxACEiQKIEZFQVRVUkVfU1RBVEVfQkxPQ0tFRF9GT1JfU0FGRVRZEAMqnAIKC0Jsb2NrUmVhc29uEhwKGEJMT0NLX1JFQVNPTl9VTlNQRUNJRklFRBAAEhwKGEJMT0NLX1JFQVNPTl9URVNUX0ZBSUxFRBABEiIKHkJMT0NLX1JFQVNPTl9PVVRQVVRfTk9UX0xFQVNFRBACEiUKIUJMT0NLX1JFQVNPTl9QT1dFUl9PTl9OT1RfQVRfUkVTVBADEhwKGEJMT0NLX1JFQVNPTl9ERVZJQ0VfR09ORRAEEiIKHkJMT0NLX1JFQVNPTl9DT05UUk9MX1JPT01fR09ORRAFEh8KG0JMT0NLX1JFQVNPTl9MRUFTRV9UT09fTE9ORxAGEiMKH0JMT0NLX1JFQVNPTl9ERVZJQ0VfQUNST1NTX0hPTUUQByp+CghUZXN0S2luZBIZChVURVNUX0tJTkRfVU5TUEVDSUZJRUQQABIaChZURVNUX0tJTkRfT1VUUFVUX0xFQVNFEAESGQoVVEVTVF9LSU5EX1pPTkVfRUZGRUNUEAISIAocVEVTVF9LSU5EX1BVTVBfQUxMX1pPTkVTX09GRhADKoUBCglUZXN0U3RhdGUSGgoWVEVTVF9TVEFURV9VTlNQRUNJRklFRBAAEhYKElRFU1RfU1RBVEVfUlVOTklORxABEhUKEVRFU1RfU1RBVEVfUEFTU0VEEAISFQoRVEVTVF9TVEFURV9GQUlMRUQQAxIWChJURVNUX1NUQVRFX0FCT1JURUQQBCqdAgoLVGVzdEZhaWx1cmUSHAoYVEVTVF9GQUlMVVJFX1VOU1BFQ0lGSUVEEAASJQohVEVTVF9GQUlMVVJFX1BPV0VSX09OX05PVF9BVF9SRVNUEAESIAocVEVTVF9GQUlMVVJFX05PX1NUQVRFX0NIQU5HRRACEiIKHlRFU1RfRkFJTFVSRV9MRUFTRV9OT1RfUkVORVdFRBADEicKI1RFU1RfRkFJTFVSRV9ESURfTk9UX1JFVFVSTl9UT19SRVNUEAQSIwofVEVTVF9GQUlMVVJFX0RFVklDRV9VTlJFQUNIQUJMRRAFEhoKFlRFU1RfRkFJTFVSRV9OT19FRkZFQ1QQBhIZChVURVNUX0ZBSUxVUkVfT0JTRVJWRUQQByqUAQoXQ29tbWlzc2lvbmluZ0dyYW50U3RhdGUSKQolQ09NTUlTU0lPTklOR19HUkFOVF9TVEFURV9VTlNQRUNJRklFRBAAEicKI0NPTU1JU1NJT05JTkdfR1JBTlRfU1RBVEVfUkVRVUVTVEVEEAESJQohQ09NTUlTU0lPTklOR19HUkFOVF9TVEFURV9HUkFOVEVEEAJCAkgBYgZwcm90bzM", [file_google_protobuf_timestamp, file_kusinta_iot_device_v1_cluster_state, file_kusinta_iot_identity_v1_identity]);
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Describes the message kusinta.iot.commissioning.v1.Provenance.
|
|
@@ -83,54 +83,61 @@ export const FeatureStatusSchema = /*@__PURE__*/
|
|
|
83
83
|
export const CommissioningTestSchema = /*@__PURE__*/
|
|
84
84
|
messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 9);
|
|
85
85
|
|
|
86
|
+
/**
|
|
87
|
+
* Describes the message kusinta.iot.commissioning.v1.TestEvidence.
|
|
88
|
+
* Use `create(TestEvidenceSchema)` to create a new message.
|
|
89
|
+
*/
|
|
90
|
+
export const TestEvidenceSchema = /*@__PURE__*/
|
|
91
|
+
messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 10);
|
|
92
|
+
|
|
86
93
|
/**
|
|
87
94
|
* Describes the message kusinta.iot.commissioning.v1.CommissioningProfile.
|
|
88
95
|
* Use `create(CommissioningProfileSchema)` to create a new message.
|
|
89
96
|
*/
|
|
90
97
|
export const CommissioningProfileSchema = /*@__PURE__*/
|
|
91
|
-
messageDesc(file_kusinta_iot_commissioning_v1_commissioning,
|
|
98
|
+
messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 11);
|
|
92
99
|
|
|
93
100
|
/**
|
|
94
101
|
* Describes the message kusinta.iot.commissioning.v1.HomeSetup.
|
|
95
102
|
* Use `create(HomeSetupSchema)` to create a new message.
|
|
96
103
|
*/
|
|
97
104
|
export const HomeSetupSchema = /*@__PURE__*/
|
|
98
|
-
messageDesc(file_kusinta_iot_commissioning_v1_commissioning,
|
|
105
|
+
messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 12);
|
|
99
106
|
|
|
100
107
|
/**
|
|
101
108
|
* Describes the message kusinta.iot.commissioning.v1.HomeSetups.
|
|
102
109
|
* Use `create(HomeSetupsSchema)` to create a new message.
|
|
103
110
|
*/
|
|
104
111
|
export const HomeSetupsSchema = /*@__PURE__*/
|
|
105
|
-
messageDesc(file_kusinta_iot_commissioning_v1_commissioning,
|
|
112
|
+
messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 13);
|
|
106
113
|
|
|
107
114
|
/**
|
|
108
115
|
* Describes the message kusinta.iot.commissioning.v1.CommissioningRecord.
|
|
109
116
|
* Use `create(CommissioningRecordSchema)` to create a new message.
|
|
110
117
|
*/
|
|
111
118
|
export const CommissioningRecordSchema = /*@__PURE__*/
|
|
112
|
-
messageDesc(file_kusinta_iot_commissioning_v1_commissioning,
|
|
119
|
+
messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 14);
|
|
113
120
|
|
|
114
121
|
/**
|
|
115
122
|
* Describes the message kusinta.iot.commissioning.v1.CommissioningGrant.
|
|
116
123
|
* Use `create(CommissioningGrantSchema)` to create a new message.
|
|
117
124
|
*/
|
|
118
125
|
export const CommissioningGrantSchema = /*@__PURE__*/
|
|
119
|
-
messageDesc(file_kusinta_iot_commissioning_v1_commissioning,
|
|
126
|
+
messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 15);
|
|
120
127
|
|
|
121
128
|
/**
|
|
122
129
|
* Describes the message kusinta.iot.commissioning.v1.CommissioningGrants.
|
|
123
130
|
* Use `create(CommissioningGrantsSchema)` to create a new message.
|
|
124
131
|
*/
|
|
125
132
|
export const CommissioningGrantsSchema = /*@__PURE__*/
|
|
126
|
-
messageDesc(file_kusinta_iot_commissioning_v1_commissioning,
|
|
133
|
+
messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 16);
|
|
127
134
|
|
|
128
135
|
/**
|
|
129
136
|
* Describes the message kusinta.iot.commissioning.v1.CommissioningGrantRecord.
|
|
130
137
|
* Use `create(CommissioningGrantRecordSchema)` to create a new message.
|
|
131
138
|
*/
|
|
132
139
|
export const CommissioningGrantRecordSchema = /*@__PURE__*/
|
|
133
|
-
messageDesc(file_kusinta_iot_commissioning_v1_commissioning,
|
|
140
|
+
messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 17);
|
|
134
141
|
|
|
135
142
|
/**
|
|
136
143
|
* Describes the enum kusinta.iot.commissioning.v1.Party.
|
|
@@ -83,7 +83,9 @@ export declare type PairingWindow = Message<"kusinta.iot.common.v1.PairingWindow
|
|
|
83
83
|
*
|
|
84
84
|
* A batch suits commissioning, where devices are paired in a row and become a building's
|
|
85
85
|
* rather than any person's. It does not suit a caller whose pairing mints personal
|
|
86
|
-
* ownership.
|
|
86
|
+
* ownership: a window whose arrivals become the pairer's own (webrtc.v1 StartPairing
|
|
87
|
+
* ownership RESIDENT, or a caller who can only pair their own) attributes one at most, and
|
|
88
|
+
* more is refused, from someone who files for the building too.
|
|
87
89
|
*
|
|
88
90
|
* Ignored where device_hint is set, and narrowed to one rather than refused: a hint names
|
|
89
91
|
* one device, so a window restricted to it can never produce a second arrival to attribute.
|
|
@@ -494,6 +494,15 @@ export declare type HeatSourceReadings = Message<"kusinta.iot.device.v1.HeatSour
|
|
|
494
494
|
* @generated from field: optional uint32 alarm_code = 11;
|
|
495
495
|
*/
|
|
496
496
|
alarmCode?: number | undefined;
|
|
497
|
+
|
|
498
|
+
/**
|
|
499
|
+
* The power its internal electric add-on heat (an immersion heater or an electric boiler
|
|
500
|
+
* inside the heat source) draws now, in watts: 0 while it is off or blocked. Absent for a
|
|
501
|
+
* heat source without one, or whose connector cannot read it.
|
|
502
|
+
*
|
|
503
|
+
* @generated from field: optional uint32 add_on_heat_watts = 12;
|
|
504
|
+
*/
|
|
505
|
+
addOnHeatWatts?: number | undefined;
|
|
497
506
|
};
|
|
498
507
|
|
|
499
508
|
/**
|
|
@@ -648,6 +657,15 @@ export enum CompressorState {
|
|
|
648
657
|
* @generated from enum value: COMPRESSOR_STATE_STOPPING = 4;
|
|
649
658
|
*/
|
|
650
659
|
STOPPING = 4,
|
|
660
|
+
|
|
661
|
+
/**
|
|
662
|
+
* Stopped and held off: the heat source says its compressor is blocked, for whatever reason
|
|
663
|
+
* it has (an external input, a low outdoor temperature, its own restart delay, an alarm).
|
|
664
|
+
* Not a statement of why.
|
|
665
|
+
*
|
|
666
|
+
* @generated from enum value: COMPRESSOR_STATE_BLOCKED = 5;
|
|
667
|
+
*/
|
|
668
|
+
BLOCKED = 5,
|
|
651
669
|
}
|
|
652
670
|
|
|
653
671
|
/**
|
|
@@ -14,7 +14,7 @@ import { file_kusinta_iot_vendor_v1_vendor_options } from "../../vendor/v1/vendo
|
|
|
14
14
|
* Describes the file kusinta/iot/device/v1/device.proto.
|
|
15
15
|
*/
|
|
16
16
|
export const file_kusinta_iot_device_v1_device = /*@__PURE__*/
|
|
17
|
-
fileDesc("CiJrdXNpbnRhL2lvdC9kZXZpY2UvdjEvZGV2aWNlLnByb3RvEhVrdXNpbnRhLmlvdC5kZXZpY2UudjEi5QwKCEVuZHBvaW50EhMKC2VuZHBvaW50X2lkGAEgASgNEh0KFW1hdHRlcl9kZXZpY2VfdHlwZV9pZBgCIAEoDRJBCgp0aGVybW9zdGF0GAMgASgLMisua3VzaW50YS5pb3QuZGV2aWNlLnYxLlRoZXJtb3N0YXRQcm9wZXJ0aWVzSAASUAoSdGVtcGVyYXR1cmVfc2Vuc29yGAQgASgLMjIua3VzaW50YS5pb3QuZGV2aWNlLnYxLlRlbXBlcmF0dXJlU2Vuc29yUHJvcGVydGllc0gAEkoKD2h1bWlkaXR5X3NlbnNvchgFIAEoCzIvLmt1c2ludGEuaW90LmRldmljZS52MS5IdW1pZGl0eVNlbnNvclByb3BlcnRpZXNIABJMChBvY2N1cGFuY3lfc2Vuc29yGAYgASgLMjAua3VzaW50YS5pb3QuZGV2aWNlLnYxLk9jY3VwYW5jeVNlbnNvclByb3BlcnRpZXNIABJICg5jb250YWN0X3NlbnNvchgHIAEoCzIuLmt1c2ludGEuaW90LmRldmljZS52MS5Db250YWN0U2Vuc29yUHJvcGVydGllc0gAEkoKD3dpbmRvd19jb3ZlcmluZxgIIAEoCzIvLmt1c2ludGEuaW90LmRldmljZS52MS5XaW5kb3dDb3ZlcmluZ1Byb3BlcnRpZXNIABI+
|
|
17
|
+
fileDesc("CiJrdXNpbnRhL2lvdC9kZXZpY2UvdjEvZGV2aWNlLnByb3RvEhVrdXNpbnRhLmlvdC5kZXZpY2UudjEi5QwKCEVuZHBvaW50EhMKC2VuZHBvaW50X2lkGAEgASgNEh0KFW1hdHRlcl9kZXZpY2VfdHlwZV9pZBgCIAEoDRJBCgp0aGVybW9zdGF0GAMgASgLMisua3VzaW50YS5pb3QuZGV2aWNlLnYxLlRoZXJtb3N0YXRQcm9wZXJ0aWVzSAASUAoSdGVtcGVyYXR1cmVfc2Vuc29yGAQgASgLMjIua3VzaW50YS5pb3QuZGV2aWNlLnYxLlRlbXBlcmF0dXJlU2Vuc29yUHJvcGVydGllc0gAEkoKD2h1bWlkaXR5X3NlbnNvchgFIAEoCzIvLmt1c2ludGEuaW90LmRldmljZS52MS5IdW1pZGl0eVNlbnNvclByb3BlcnRpZXNIABJMChBvY2N1cGFuY3lfc2Vuc29yGAYgASgLMjAua3VzaW50YS5pb3QuZGV2aWNlLnYxLk9jY3VwYW5jeVNlbnNvclByb3BlcnRpZXNIABJICg5jb250YWN0X3NlbnNvchgHIAEoCzIuLmt1c2ludGEuaW90LmRldmljZS52MS5Db250YWN0U2Vuc29yUHJvcGVydGllc0gAEkoKD3dpbmRvd19jb3ZlcmluZxgIIAEoCzIvLmt1c2ludGEuaW90LmRldmljZS52MS5XaW5kb3dDb3ZlcmluZ1Byb3BlcnRpZXNIABI+Cglkb29yX2xvY2sYCSABKAsyKS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRG9vckxvY2tQcm9wZXJ0aWVzSAASQwoMb25fb2ZmX2xpZ2h0GAogASgLMisua3VzaW50YS5pb3QuZGV2aWNlLnYxLk9uT2ZmTGlnaHRQcm9wZXJ0aWVzSAASSAoOZGltbWFibGVfbGlnaHQYCyABKAsyLi5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRGltbWFibGVMaWdodFByb3BlcnRpZXNIABJSChBjb2xvcl90ZW1wX2xpZ2h0GAwgASgLMjYua3VzaW50YS5pb3QuZGV2aWNlLnYxLkNvbG9yVGVtcGVyYXR1cmVMaWdodFByb3BlcnRpZXNIABJGCg1lbmVyZ3lfc2Vuc29yGA0gASgLMi0ua3VzaW50YS5pb3QuZGV2aWNlLnYxLkVuZXJneVNlbnNvclByb3BlcnRpZXNIABJKCg9wcmVzc3VyZV9zZW5zb3IYDiABKAsyLy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuUHJlc3N1cmVTZW5zb3JQcm9wZXJ0aWVzSAASRAoMcG93ZXJfc291cmNlGA8gASgLMiwua3VzaW50YS5pb3QuZGV2aWNlLnYxLlBvd2VyU291cmNlUHJvcGVydGllc0gAEksKDWhtX3RoZXJtb3N0YXQYMiABKAsyMi5rdXNpbnRhLmlvdC52ZW5kb3IuaG9tZW1hdGljLnYxLkhtVGhlcm1vc3RhdFByb3BzSAESTQoOaG1fbWFpbnRlbmFuY2UYMyABKAsyMy5rdXNpbnRhLmlvdC52ZW5kb3IuaG9tZW1hdGljLnYxLkhtTWFpbnRlbmFuY2VQcm9wc0gBEjQKCnJhZGlvX2xpbmsYNCABKAsyIC5rdXNpbnRhLmlvdC5kZXZpY2UudjEuUmFkaW9MaW5rEj4KC2hlYXRfc291cmNlGDUgASgLMikua3VzaW50YS5pb3QuZGV2aWNlLnYxLkhlYXRTb3VyY2VSZWFkaW5ncxI1CghjbHVzdGVycxgQIAMoCzIjLmt1c2ludGEuaW90LmRldmljZS52MS5DbHVzdGVyU3RhdGUSHgoWdmVuZG9yX2F0dHJpYnV0ZV9uYW1lcxgRIAMoCRJjCht2ZW5kb3JfYXR0cmlidXRlX2JlaGF2aW91cnMYEiADKAsyPi5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRW5kcG9pbnQuVmVuZG9yQXR0cmlidXRlQmVoYXZpb3Vyc0VudHJ5GmsKHlZlbmRvckF0dHJpYnV0ZUJlaGF2aW91cnNFbnRyeRILCgNrZXkYASABKAkSOAoFdmFsdWUYAiABKAsyKS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlQmVoYXZpb3VyOgI4AUITChFtYXR0ZXJfcHJvcGVydGllc0ITChF2ZW5kb3JfcHJvcGVydGllcyK6BAoGRGV2aWNlEjsKCmRlc2NyaXB0b3IYASABKAsyJy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRGV2aWNlRGVzY3JpcHRvchIyCgllbmRwb2ludHMYDiADKAsyHy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRW5kcG9pbnQSJwoabWluX3dyaXRlX2ludGVydmFsX3NlY29uZHMYDyABKA1IAIgBARIkChdtYXhfd3JpdGVfZGVsYXlfc2Vjb25kcxgQIAEoDUgBiAEBEi0KCWxhc3Rfc2VlbhgUIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMbGFzdF91cGRhdGVkGBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIdChtfbWluX3dyaXRlX2ludGVydmFsX3NlY29uZHNCGgoYX21heF93cml0ZV9kZWxheV9zZWNvbmRzSgQIAhAOSgQIMhAzUgp0aGVybW9zdGF0UhJ0ZW1wZXJhdHVyZV9zZW5zb3JSD2h1bWlkaXR5X3NlbnNvclIQb2NjdXBhbmN5X3NlbnNvclIOY29udGFjdF9zZW5zb3JSD3dpbmRvd19jb3ZlcmluZ1IJZG9vcl9sb2NrUgxvbl9vZmZfbGlnaHRSDmRpbW1hYmxlX2xpZ2h0UhBjb2xvcl90ZW1wX2xpZ2h0Ug1lbmVyZ3lfc2Vuc29yUg9wcmVzc3VyZV9zZW5zb3JSCWhvbWVtYXRpYyKyCAoSSGVhdFNvdXJjZVJlYWRpbmdzEj8KFG91dGRvb3JfY2VudGlkZWdyZWVzGAEgASgRQhyitRgUb3V0ZG9vcl9jZW50aWRlZ3JlZXPQtRgFSACIAQESPQoTc3VwcGx5X2NlbnRpZGVncmVlcxgCIAEoEUIborUYE3N1cHBseV9jZW50aWRlZ3JlZXPQtRgFSAGIAQESPQoTcmV0dXJuX2NlbnRpZGVncmVlcxgDIAEoEUIborUYE3JldHVybl9jZW50aWRlZ3JlZXPQtRgFSAKIAQESSwoaaG90X3dhdGVyX3RvcF9jZW50aWRlZ3JlZXMYBCABKBFCIqK1GBpob3Rfd2F0ZXJfdG9wX2NlbnRpZGVncmVlc9C1GAVIA4gBARJVCh9ob3Rfd2F0ZXJfY2hhcmdpbmdfY2VudGlkZWdyZWVzGAUgASgRQieitRgfaG90X3dhdGVyX2NoYXJnaW5nX2NlbnRpZGVncmVlc9C1GAVIBIgBARJTCh5jYWxjdWxhdGVkX3N1cHBseV9jZW50aWRlZ3JlZXMYBiABKBFCJqK1GB5jYWxjdWxhdGVkX3N1cHBseV9jZW50aWRlZ3JlZXPQtRgFSAWIAQESKQoJcHJvZHVjaW5nGAcgASgNQhGitRgJcHJvZHVjaW5n0LUYBUgGiAEBEjcKEGNvbXByZXNzb3Jfc3RhdGUYCCABKA1CGKK1GBBjb21wcmVzc29yX3N0YXRl0LUYBUgHiAEBEjMKDmRlZ3JlZV9taW51dGVzGAkgASgRQhaitRgOZGVncmVlX21pbnV0ZXPQtRgFSAiIAQESLwoMYWxhcm1fYWN0aXZlGAogASgIQhSitRgMYWxhcm1fYWN0aXZl0LUYBUgJiAEBEisKCmFsYXJtX2NvZGUYCyABKA1CEqK1GAphbGFybV9jb2Rl0LUYBUgKiAEBEjkKEWFkZF9vbl9oZWF0X3dhdHRzGAwgASgNQhmitRgRYWRkX29uX2hlYXRfd2F0dHPQtRgFSAuIAQE6F6q1GBNrdXNpbnRhLmhlYXRfc291cmNlQhcKFV9vdXRkb29yX2NlbnRpZGVncmVlc0IWChRfc3VwcGx5X2NlbnRpZGVncmVlc0IWChRfcmV0dXJuX2NlbnRpZGVncmVlc0IdChtfaG90X3dhdGVyX3RvcF9jZW50aWRlZ3JlZXNCIgogX2hvdF93YXRlcl9jaGFyZ2luZ19jZW50aWRlZ3JlZXNCIQofX2NhbGN1bGF0ZWRfc3VwcGx5X2NlbnRpZGVncmVlc0IMCgpfcHJvZHVjaW5nQhMKEV9jb21wcmVzc29yX3N0YXRlQhEKD19kZWdyZWVfbWludXRlc0IPCg1fYWxhcm1fYWN0aXZlQg0KC19hbGFybV9jb2RlQhQKEl9hZGRfb25faGVhdF93YXR0cyK3AQoJUmFkaW9MaW5rEiUKB3F1YWxpdHkYASABKA1CD6K1GAdxdWFsaXR50LUYBUgAiAEBEicKCHJzc2lfZGJtGAIgASgRQhCitRgIcnNzaV9kYm3QtRgFSAGIAQESIwoGc25yX2RiGAMgASgCQg6itRgGc25yX2Ri0LUYBUgCiAEBOhGqtRgNa3VzaW50YS5yYWRpb0IKCghfcXVhbGl0eUILCglfcnNzaV9kYm1CCQoHX3Nucl9kYiqVAgoUSGVhdFNvdXJjZVByb2R1Y3Rpb24SJgoiSEVBVF9TT1VSQ0VfUFJPRFVDVElPTl9VTlNQRUNJRklFRBAAEh4KGkhFQVRfU09VUkNFX1BST0RVQ1RJT05fT0ZGEAESKAokSEVBVF9TT1VSQ0VfUFJPRFVDVElPTl9TUEFDRV9IRUFUSU5HEAISJAogSEVBVF9TT1VSQ0VfUFJPRFVDVElPTl9IT1RfV0FURVIQAxIfChtIRUFUX1NPVVJDRV9QUk9EVUNUSU9OX1BPT0wQBBIiCh5IRUFUX1NPVVJDRV9QUk9EVUNUSU9OX0NPT0xJTkcQBRIgChxIRUFUX1NPVVJDRV9QUk9EVUNUSU9OX09USEVSEAYqywEKD0NvbXByZXNzb3JTdGF0ZRIgChxDT01QUkVTU09SX1NUQVRFX1VOU1BFQ0lGSUVEEAASHAoYQ09NUFJFU1NPUl9TVEFURV9TVE9QUEVEEAESHQoZQ09NUFJFU1NPUl9TVEFURV9TVEFSVElORxACEhwKGENPTVBSRVNTT1JfU1RBVEVfUlVOTklORxADEh0KGUNPTVBSRVNTT1JfU1RBVEVfU1RPUFBJTkcQBBIcChhDT01QUkVTU09SX1NUQVRFX0JMT0NLRUQQBSp1CgxSYWRpb1F1YWxpdHkSHQoZUkFESU9fUVVBTElUWV9VTlNQRUNJRklFRBAAEhYKElJBRElPX1FVQUxJVFlfR09PRBABEhYKElJBRElPX1FVQUxJVFlfRkFJUhACEhYKElJBRElPX1FVQUxJVFlfUE9PUhADQgJIAWIGcHJvdG8z", [file_google_protobuf_timestamp, file_kusinta_iot_device_v1_cluster_state, file_kusinta_iot_device_v1_descriptor, file_kusinta_iot_device_v1_properties, file_kusinta_iot_vendor_homematic_v1_homematic, file_kusinta_iot_vendor_v1_vendor_options]);
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Describes the message kusinta.iot.device.v1.Endpoint.
|
|
@@ -537,8 +537,11 @@ export declare const GatewayStreamOpenedSchema: GenMessage<GatewayStreamOpened>;
|
|
|
537
537
|
* of access; every device's ownership, an owned device staying filed where it is, released, as
|
|
538
538
|
* one of the building's own; every contact; and everything recorded per home — room history,
|
|
539
539
|
* climate summaries, events, targets, modes and routines — including what is still queued for the
|
|
540
|
-
* api-server about any of them, and the gateway's own records of who did what.
|
|
541
|
-
*
|
|
540
|
+
* api-server about any of them, and the gateway's own records of who did what. No home is held
|
|
541
|
+
* vacant after it (webrtc.v1 household.proto, VACANCY SETBACK): with every residency gone,
|
|
542
|
+
* nothing is left to show that anyone lived in any home, so the setback ends in all of them. A
|
|
543
|
+
* home's own wipe (household.proto, WIPE) keeps it. Every open session ends, and none is
|
|
544
|
+
* admitted until the wipe is done.
|
|
542
545
|
*
|
|
543
546
|
* Logs. A wipe takes what the gateway itself keeps; the operating system's log of the host it
|
|
544
547
|
* runs on is not the gateway's to erase, and what it holds stays until the host's own retention
|
|
@@ -388,6 +388,16 @@ export declare const RemoveDeviceFromSpaceSchema: GenMessage<RemoveDeviceFromSpa
|
|
|
388
388
|
* initial_space_id or without, that would leave a heating record across a home's boundary is
|
|
389
389
|
* refused or undone as HEATING ACROSS A HOME says.
|
|
390
390
|
*
|
|
391
|
+
* WHICH CLAIM. The claim states its ownership, and the gateway never defaults it: one with
|
|
392
|
+
* neither is refused as INVALID_REQUEST. A COMPANY claim is accepted only from a filing role,
|
|
393
|
+
* and refused as NOT_ENTITLED from anyone else, since it would grant them nothing of the device.
|
|
394
|
+
* A filing role may make either, in a home it lives in too: someone who both lives in a home
|
|
395
|
+
* and files for the building (the property owner, a technician or the gateway's administrator,
|
|
396
|
+
* filing the building's equipment in their own home) says which the device is, the building's
|
|
397
|
+
* or their own, and nothing about the caller decides it for them. A client SHOULD ask that person, and may choose
|
|
398
|
+
* for everyone else: COMPANY for a filing role outside the homes it lives in, RESIDENT for
|
|
399
|
+
* anyone without one.
|
|
400
|
+
*
|
|
391
401
|
* @generated from message kusinta.iot.webrtc.v1.ClaimDevice
|
|
392
402
|
*/
|
|
393
403
|
export declare type ClaimDevice = Message<"kusinta.iot.webrtc.v1.ClaimDevice"> & {
|
|
@@ -876,7 +886,14 @@ export declare const RoomLimitValueSchema: GenMessage<RoomLimitValue>;
|
|
|
876
886
|
* A min changed to below the gateway's public-health threshold — its own setting, which no
|
|
877
887
|
* operation in this contract changes; none while unset — needs accept_below_threshold, and is
|
|
878
888
|
* refused without it as FAILED_PRECONDITION with metadata {"reason": "below_threshold",
|
|
879
|
-
* "threshold_centidegrees": the threshold}.
|
|
889
|
+
* "threshold_centidegrees": the threshold}. Outer limits that change so that a valve they bind
|
|
890
|
+
* could not be set between them — no step of its setpoint grid, or of its own limit settings,
|
|
891
|
+
* whichever is coarser, lies in [min, max], or in [away_min, max] where min is unset — are
|
|
892
|
+
* refused as INVALID_REQUEST with metadata {"reason": "limits_no_setpoint",
|
|
893
|
+
* "step_centidegrees": that coarsest step, as a decimal string}. It is judged only over valves
|
|
894
|
+
* the caller sees, so it tells them nothing of a device hidden from them; a valve filed later,
|
|
895
|
+
* or hidden from whoever set the limits, whose grid leaves no step between them is held at the
|
|
896
|
+
* minimum. Limits the request leaves as they are are not judged again. Nothing in the answer to the outer limits depends
|
|
880
897
|
* on the home's state — its targets, inner limits, modes, or who lives there — so setting them
|
|
881
898
|
* tells the caller nothing of it; what they clamp is told to the household alone
|
|
882
899
|
* (RoomClimate.outer_limit_clamp). Only the lock in the same request is decided by whether the
|
|
@@ -1436,6 +1453,12 @@ export declare const ListHeatingSchema: GenMessage<ListHeating>;
|
|
|
1436
1453
|
* "OUTPUT_NOT_LEASED" an output whose write its producer does not state as leased.
|
|
1437
1454
|
* "REST_STATE" an output whose lapse value, read through closed_value, does not
|
|
1438
1455
|
* leave the contact where its role rests.
|
|
1456
|
+
* "TEST_RUNNING" a put that would change what a running commissioning test drives
|
|
1457
|
+
* or judges: an output binding of a record whose output it drives,
|
|
1458
|
+
* or a floor zone's rooms, control room or circuit while a test runs
|
|
1459
|
+
* on the zone or on a circuit it leaves or joins (PUMP_ALL_ZONES_OFF). metadata "record_id"
|
|
1460
|
+
* names the test's record. A name, an area share or a supply cap
|
|
1461
|
+
* may change meanwhile.
|
|
1439
1462
|
*
|
|
1440
1463
|
* A refusal about one binding names it in metadata "field", by its proto field name:
|
|
1441
1464
|
* "sg_ready_block", "sg_ready_boost", "add_on_heater_block", "meter", "output",
|
|
@@ -1534,7 +1557,12 @@ export declare const PutComfortLoadSchema: GenMessage<PutComfortLoad>;
|
|
|
1534
1557
|
* Removes a heating record by its id, naming the revision it removes. Refused as
|
|
1535
1558
|
* FAILED_PRECONDITION with metadata "reason" "STALE_REVISION" when it changed since, and
|
|
1536
1559
|
* "HAS_CHILDREN" while records lie under it — a plant's circuits, a circuit's zones — so
|
|
1537
|
-
* nothing is removed that the caller did not name
|
|
1560
|
+
* nothing is removed that the caller did not name, and "TEST_RUNNING" while a running
|
|
1561
|
+
* commissioning test drives one of its outputs or judges it: a zone under its own test or
|
|
1562
|
+
* its circuit's PUMP_ALL_ZONES_OFF, a circuit while a test runs on it or on one of its
|
|
1563
|
+
* zones, a plant while a test runs on one of its outputs; metadata "record_id" names the
|
|
1564
|
+
* test's record. Removing it would change what the test's verdict covers while it runs.
|
|
1565
|
+
* Its outputs are returned to rest at once
|
|
1538
1566
|
* (see heating.v1). Acked. An empty home's floor zone is not removed by the property owner or
|
|
1539
1567
|
* the gateway administrators who are given it: NOT_ENTITLED, as PutFloorZone says.
|
|
1540
1568
|
*
|
|
@@ -1832,6 +1860,11 @@ export declare const SetHomeTemplateSchema: GenMessage<SetHomeTemplate>;
|
|
|
1832
1860
|
* test. A zone with no bound output counts as heating. Not refused once
|
|
1833
1861
|
* the circuit's "floor.pump_tolerates_all_zones_off" is true
|
|
1834
1862
|
* (commissioning.v1). metadata "record_id" names the zone.
|
|
1863
|
+
* "ZONES_SWITCHING_ON" OUTPUT_LEASE or ZONE_EFFECT on a floor zone while the circuit's
|
|
1864
|
+
* zones driven by running or starting tests of those kinds already
|
|
1865
|
+
* number its "floor.max_zones_switching_on" (commissioning.v1): their
|
|
1866
|
+
* leases would end together and their actuators open at once.
|
|
1867
|
+
* metadata "record_id" names the circuit.
|
|
1835
1868
|
* "NEEDS_PASS" ZONE_EFFECT or PUMP_ALL_ZONES_OFF on outputs without a current
|
|
1836
1869
|
* OUTPUT_LEASE pass; metadata "record_id" names one.
|
|
1837
1870
|
* "OUTPUT_NOT_LEASED" an output its producer does not state as leased, with a lapse value
|
|
@@ -1868,9 +1901,10 @@ export declare const RunCommissioningTestSchema: GenMessage<RunCommissioningTest
|
|
|
1868
1901
|
/**
|
|
1869
1902
|
* Ends a running test. verdict ABORTED stops any test, from whoever started it or may run
|
|
1870
1903
|
* it; PASSED or FAILED concludes a PUMP_ALL_ZONES_OFF test, from an installer under a
|
|
1871
|
-
* commissioning grant only. Any other verdict, or PASSED or
|
|
1872
|
-
* refused as INVALID_REQUEST "VERDICT". Its outputs return to
|
|
1873
|
-
* floor zones switching on no faster than
|
|
1904
|
+
* commissioning grant only, until the test's conclude_by. Any other verdict, or PASSED or
|
|
1905
|
+
* FAILED on another kind, is refused as INVALID_REQUEST "VERDICT". Its outputs return to
|
|
1906
|
+
* their normal control at once, floor zones switching on no faster than
|
|
1907
|
+
* "floor.max_zones_switching_on" allows. Answered
|
|
1874
1908
|
* with the CommissioningRecord of the test. A test that has ended is refused as
|
|
1875
1909
|
* FAILED_PRECONDITION "TEST_ENDED".
|
|
1876
1910
|
*
|