@kusinta/iot-schema 0.2.0-beta.47 → 0.2.0-beta.49
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 +1 -1
- package/src/kusinta/iot/access/v1/acl_pb.d.ts +13 -2
- package/src/kusinta/iot/access/v1/acl_pb.js +3 -3
- package/src/kusinta/iot/climate/v1/climate_pb.d.ts +4 -3
- package/src/kusinta/iot/device/v1/device_pb.d.ts +267 -5
- package/src/kusinta/iot/device/v1/device_pb.js +44 -3
- package/src/kusinta/iot/device/v1/property_update_pb.d.ts +2 -1
- package/src/kusinta/iot/heating/v1/heating_pb.d.ts +39 -5
- package/src/kusinta/iot/heating/v1/heating_pb.js +2 -1
- package/src/kusinta/iot/reporting/v1/reporting_pb.d.ts +28 -5
- package/src/kusinta/iot/reporting/v1/reporting_pb.js +4 -4
- package/src/kusinta/iot/vendor/v1/vendor_options_pb.d.ts +5 -4
- package/src/kusinta/iot/vendor/v1/vendor_options_pb.js +5 -4
- package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +29 -1
package/package.json
CHANGED
|
@@ -384,8 +384,8 @@ export declare const EffectivePermissionsSchema: GenMessage<EffectivePermissions
|
|
|
384
384
|
/**
|
|
385
385
|
* What service sees of a home, as a resident is told it in webrtc.v1.PrivacyDisclosure.
|
|
386
386
|
* Each names part of a webrtc.v1.ServiceStatus, of a device's description, of how the
|
|
387
|
-
* home is set up,
|
|
388
|
-
* separately, nothing else of the home reaches service.
|
|
387
|
+
* home is set up, of who lives there, or a problem the gateway reports of it; with the
|
|
388
|
+
* climate summary the disclosure names separately, nothing else of the home reaches service.
|
|
389
389
|
*
|
|
390
390
|
* @generated from enum kusinta.iot.access.v1.ServiceSignal
|
|
391
391
|
*/
|
|
@@ -475,6 +475,17 @@ export enum ServiceSignal {
|
|
|
475
475
|
* @generated from enum value: SERVICE_SIGNAL_RESIDENTS = 9;
|
|
476
476
|
*/
|
|
477
477
|
RESIDENTS = 9,
|
|
478
|
+
|
|
479
|
+
/**
|
|
480
|
+
* That a floor zone on one of the home's devices has been uncontrolled for about an hour —
|
|
481
|
+
* without a room, or without a control room — and so heats without control: the device and
|
|
482
|
+
* the quarter hour it was reported, until the zone is given a control room or removed. Never
|
|
483
|
+
* which rooms it had or lacks, nor who left it so
|
|
484
|
+
* (reporting.v1.PROBLEM_KIND_FLOOR_ZONE_UNCONTROLLED).
|
|
485
|
+
*
|
|
486
|
+
* @generated from enum value: SERVICE_SIGNAL_FLOOR_ZONE_UNCONTROLLED = 10;
|
|
487
|
+
*/
|
|
488
|
+
FLOOR_ZONE_UNCONTROLLED = 10,
|
|
478
489
|
}
|
|
479
490
|
|
|
480
491
|
/**
|
|
@@ -11,7 +11,7 @@ import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identit
|
|
|
11
11
|
* Describes the file kusinta/iot/access/v1/acl.proto.
|
|
12
12
|
*/
|
|
13
13
|
export const file_kusinta_iot_access_v1_acl = /*@__PURE__*/
|
|
14
|
-
fileDesc("
|
|
14
|
+
fileDesc("Ch9rdXNpbnRhL2lvdC9hY2Nlc3MvdjEvYWNsLnByb3RvEhVrdXNpbnRhLmlvdC5hY2Nlc3MudjEirgEKDEF0dHJpYnV0ZVJlZhIWCg5hdHRyaWJ1dGVfbmFtZRgBIAEoCRISCgpjbHVzdGVyX2lkGAIgASgNEhQKDGF0dHJpYnV0ZV9pZBgEIAEoDRIYCgtlbmRwb2ludF9pZBgDIAEoDUgAiAEBEh0KEHZlbmRvcl9leHRlbnNpb24YBSABKAlIAYgBAUIOCgxfZW5kcG9pbnRfaWRCEwoRX3ZlbmRvcl9leHRlbnNpb24iZQoKQ29tbWFuZFJlZhISCgpjbHVzdGVyX2lkGAEgASgNEhkKEW1hdHRlcl9jb21tYW5kX2lkGAIgASgNEhgKC2VuZHBvaW50X2lkGAMgASgNSACIAQFCDgoMX2VuZHBvaW50X2lkIloKCEV2ZW50UmVmEhIKCmNsdXN0ZXJfaWQYASABKA0SEAoIZXZlbnRfaWQYAiABKA0SGAoLZW5kcG9pbnRfaWQYAyABKA1IAIgBAUIOCgxfZW5kcG9pbnRfaWQi5wEKElByb3BlcnR5Q29uc3RyYWludBI2CglhdHRyaWJ1dGUYCCABKAsyIy5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuQXR0cmlidXRlUmVmEhEKB2ludF9tYXgYAiABKBFIABIRCgdpbnRfbWluGAMgASgRSAASEgoIdWludF9tYXgYBCABKA1IABISCgh1aW50X21pbhgFIAEoDUgAQgwKCmNvbnN0cmFpbnRKBAgBEAJKBAgGEAdKBAgHEAhSDmF0dHJpYnV0ZV9uYW1lUg5jbHVzdGVyX2lkX2hleFILZW5kcG9pbnRfaWQiwwQKCURldmljZUFjbBI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIwCgd1c2VyX2lkGAIgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEikKBHJvbGUYAyABKA4yGy5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuUm9sZRJACg9hbGxvd2VkX2FjdGlvbnMYBCADKA4yJy5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuUGVybWlzc2lvbkFjdGlvbhJDChZhbGxvd2VkX2F0dHJpYnV0ZV9yZWZzGAcgAygLMiMua3VzaW50YS5pb3QuYWNjZXNzLnYxLkF0dHJpYnV0ZVJlZhJHChRwcm9wZXJ0eV9jb25zdHJhaW50cxgGIAMoCzIpLmt1c2ludGEuaW90LmFjY2Vzcy52MS5Qcm9wZXJ0eUNvbnN0cmFpbnQSPwoUYWxsb3dlZF9jb21tYW5kX3JlZnMYCSADKAsyIS5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuQ29tbWFuZFJlZhI7ChJhbGxvd2VkX2V2ZW50X3JlZnMYCiADKAsyHy5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuRXZlbnRSZWYSOwoIcmVsYXRpb24YCyABKA4yKS5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuTWVtYmVyc2hpcFJlbGF0aW9uSgQIBRAGUhJhbGxvd2VkX2F0dHJpYnV0ZXMi5QEKFEVmZmVjdGl2ZVBlcm1pc3Npb25zEjAKB3VzZXJfaWQYASABKAsyHy5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Vc2VySWQSNgoKZ2F0ZXdheV9pZBgCIAEoCzIiLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkdhdGV3YXlJZBI1CgtkZXZpY2VfYWNscxgDIAMoCzIgLmt1c2ludGEuaW90LmFjY2Vzcy52MS5EZXZpY2VBY2wSLAoIdmFsaWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wKuACCg1TZXJ2aWNlU2lnbmFsEh4KGlNFUlZJQ0VfU0lHTkFMX1VOU1BFQ0lGSUVEEAASHwobU0VSVklDRV9TSUdOQUxfUkVBQ0hBQklMSVRZEAESGgoWU0VSVklDRV9TSUdOQUxfQkFUVEVSWRACEh0KGVNFUlZJQ0VfU0lHTkFMX1JBRElPX0xJTksQAxIbChdTRVJWSUNFX1NJR05BTF9GSVJNV0FSRRAEEhgKFFNFUlZJQ0VfU0lHTkFMX0ZBVUxUEAUSGQoVU0VSVklDRV9TSUdOQUxfRklMSU5HEAYSHQoZU0VSVklDRV9TSUdOQUxfUk9PTV9TRVRVUBAHEhgKFFNFUlZJQ0VfU0lHTkFMX0xJTktTEAgSHAoYU0VSVklDRV9TSUdOQUxfUkVTSURFTlRTEAkSKgomU0VSVklDRV9TSUdOQUxfRkxPT1JfWk9ORV9VTkNPTlRST0xMRUQQCkICSAFiBnByb3RvMw", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_roles, file_kusinta_iot_identity_v1_identity]);
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Describes the message kusinta.iot.access.v1.AttributeRef.
|
|
@@ -64,8 +64,8 @@ export const ServiceSignalSchema = /*@__PURE__*/
|
|
|
64
64
|
/**
|
|
65
65
|
* What service sees of a home, as a resident is told it in webrtc.v1.PrivacyDisclosure.
|
|
66
66
|
* Each names part of a webrtc.v1.ServiceStatus, of a device's description, of how the
|
|
67
|
-
* home is set up,
|
|
68
|
-
* separately, nothing else of the home reaches service.
|
|
67
|
+
* home is set up, of who lives there, or a problem the gateway reports of it; with the
|
|
68
|
+
* climate summary the disclosure names separately, nothing else of the home reaches service.
|
|
69
69
|
*
|
|
70
70
|
* @generated from enum kusinta.iot.access.v1.ServiceSignal
|
|
71
71
|
*/
|
|
@@ -103,10 +103,11 @@ export declare type RoomClimate = Message<"kusinta.iot.climate.v1.RoomClimate">
|
|
|
103
103
|
|
|
104
104
|
/**
|
|
105
105
|
* Who or what set target_centidegrees. Unset while the target is, and when it is withheld
|
|
106
|
-
* from the recipient: from service in a home
|
|
107
|
-
* EMPTY HOME), and from anyone when it dates from before
|
|
106
|
+
* from the recipient: from service in a home, and from anyone when it dates from before
|
|
108
107
|
* their current residency in the home, or from a home they did not live in at the time
|
|
109
|
-
* (see access.v1.MembershipRelation).
|
|
108
|
+
* (see access.v1.MembershipRelation). The property owner and the gateway administrators are
|
|
109
|
+
* given it for a target set in a home while it is empty, as they are given its rooms then
|
|
110
|
+
* (webrtc.v1 household.proto, EMPTY HOME); technicians stay withheld, empty or not.
|
|
110
111
|
*
|
|
111
112
|
* @generated from field: kusinta.iot.climate.v1.TargetChange target_change = 3;
|
|
112
113
|
*/
|
|
@@ -25,7 +25,8 @@ export declare const file_kusinta_iot_device_v1_device: GenFile;
|
|
|
25
25
|
* per physical device, so a device is still one row, one claim, one placement.
|
|
26
26
|
*
|
|
27
27
|
* Field numbers: 1-2 identity, 3-49 standard Matter device types, 50-99 vendor
|
|
28
|
-
* extensions — the vendor_properties cases, and radio_link (52)
|
|
28
|
+
* extensions — the vendor_properties cases, and radio_link (52) and heat_source (53) outside
|
|
29
|
+
* that oneof.
|
|
29
30
|
*
|
|
30
31
|
* endpoint_id is Matter's own endpoint number, and it is scoped to ONE DEVICE — not
|
|
31
32
|
* global, and nothing coordinates numbering between devices. Endpoint 1 on one valve and
|
|
@@ -193,6 +194,17 @@ export declare type Endpoint = Message<"kusinta.iot.device.v1.Endpoint"> & {
|
|
|
193
194
|
*/
|
|
194
195
|
radioLink?: RadioLink | undefined;
|
|
195
196
|
|
|
197
|
+
/**
|
|
198
|
+
* A heat source's own readings, on the endpoint its connector reports them on. Outside
|
|
199
|
+
* vendor_properties for the reason radio_link is: they are not one vendor's extension but
|
|
200
|
+
* readings any heat source may have, whoever made it, and they must be able to sit beside a
|
|
201
|
+
* vendor case the same endpoint carries. Selected by the vendor branch by its
|
|
202
|
+
* (vendor_extension) key "kusinta.heat_source".
|
|
203
|
+
*
|
|
204
|
+
* @generated from field: kusinta.iot.device.v1.HeatSourceReadings heat_source = 53;
|
|
205
|
+
*/
|
|
206
|
+
heatSource?: HeatSourceReadings | undefined;
|
|
207
|
+
|
|
196
208
|
/**
|
|
197
209
|
* Every cluster this endpoint hosts: what it supports, and any attribute value that has
|
|
198
210
|
* no typed field above. This is what makes a device the schema does not model usable
|
|
@@ -214,10 +226,11 @@ export declare type Endpoint = Message<"kusinta.iot.device.v1.Endpoint"> & {
|
|
|
214
226
|
* vendor parameter has no cluster and so no ClusterState to be listed in. A name list
|
|
215
227
|
* rather than an id list because the vendor branch addresses by name. A bare list
|
|
216
228
|
* rather than a per-extension map because an endpoint carries at most one
|
|
217
|
-
* vendor_properties case and at most a radio_link beside it, and the
|
|
218
|
-
*
|
|
219
|
-
* enforces it — so a name here never needs its extension to be
|
|
220
|
-
* parameters are listed here the same way as a
|
|
229
|
+
* vendor_properties case and at most a radio_link and a heat_source beside it, and the
|
|
230
|
+
* schema keeps the attribute names of radio_link, heat_source and every vendor_properties
|
|
231
|
+
* case disjoint — a test enforces it — so a name here never needs its extension to be
|
|
232
|
+
* read. radio_link's and heat_source's parameters are listed here the same way as a
|
|
233
|
+
* vendor's.
|
|
221
234
|
*
|
|
222
235
|
* Same reading as the Matter side: named here with no value = implemented, not yet
|
|
223
236
|
* reported. Absent from the list = this device does not have it. Empty = not stated,
|
|
@@ -346,6 +359,149 @@ export declare type Device = Message<"kusinta.iot.device.v1.Device"> & {
|
|
|
346
359
|
*/
|
|
347
360
|
export declare const DeviceSchema: GenMessage<Device>;
|
|
348
361
|
|
|
362
|
+
/**
|
|
363
|
+
* A heat source's own readings: the temperatures its controller measures and works out, and
|
|
364
|
+
* its run state — what it is producing, its compressor, its degree minutes, its alarm — as its
|
|
365
|
+
* connector reads them from the heat source or the maker's service. What
|
|
366
|
+
* heating.v1.HeatingPlant.readings_device_id reads a plant's heat source by.
|
|
367
|
+
*
|
|
368
|
+
* Travels as vendor-branch PropertyUpdates with vendor_extension "kusinta.heat_source" and
|
|
369
|
+
* these attribute names, the value case following the field type as everywhere on the vendor
|
|
370
|
+
* branch. A temperature is in centidegrees (°C × 100) as int_value, as temperatures are
|
|
371
|
+
* throughout this schema: a connector converts what the heat source gives — degrees with a
|
|
372
|
+
* decimal, a maker's register scale — into centidegrees and rounds it no further. An
|
|
373
|
+
* enum-valued reading travels as its number in uint_value, as RadioLink.quality does, and
|
|
374
|
+
* keeps explicit presence: its UNSPECIFIED is never sent, since an unreported one is an
|
|
375
|
+
* absent field.
|
|
376
|
+
*
|
|
377
|
+
* Vendor-neutral on purpose: the same message for every heat source, a heat pump, a boiler
|
|
378
|
+
* or a district-heating substation, so that whoever reads a plant reads one shape. Which of
|
|
379
|
+
* the maker's points carries each reading, and how its codes map onto the values here, is
|
|
380
|
+
* the connector's mapping and not part of this contract; a reading the heat source has no
|
|
381
|
+
* sensor or state for is never sent, never sent as zero.
|
|
382
|
+
*
|
|
383
|
+
* Every field is `optional`, for the reason vendor readings always are: absent means never
|
|
384
|
+
* reported, present means a reading, 0 °C included. Read only: a heat source is steered
|
|
385
|
+
* through its plant's control inputs (heating.v1.HeatPumpControl), never by writing these.
|
|
386
|
+
*
|
|
387
|
+
* Who is sent them follows the device, as for any device's readings
|
|
388
|
+
* (access.v1.MembershipRelation), whoever owns the heat source (common.v1.AssetOwner decides
|
|
389
|
+
* nothing of who sees what). A heat source filed in a home is household data there: its
|
|
390
|
+
* readings go to the home's residents and never to service (access.v1.DeviceAcl.relation
|
|
391
|
+
* SERVICE), who are given of it only what a webrtc.v1.ServiceStatus carries, within the
|
|
392
|
+
* service signals (access.v1.ServiceSignal): an alarm as a fault (alarm_active), and never
|
|
393
|
+
* alarm_code or any other reading here.
|
|
394
|
+
*
|
|
395
|
+
* @generated from message kusinta.iot.device.v1.HeatSourceReadings
|
|
396
|
+
*/
|
|
397
|
+
export declare type HeatSourceReadings = Message<"kusinta.iot.device.v1.HeatSourceReadings"> & {
|
|
398
|
+
/**
|
|
399
|
+
* The heat source's own outdoor sensor: the outdoor temperature its heating curve works
|
|
400
|
+
* from.
|
|
401
|
+
*
|
|
402
|
+
* @generated from field: optional sint32 outdoor_centidegrees = 1;
|
|
403
|
+
*/
|
|
404
|
+
outdoorCentidegrees?: number | undefined;
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
* The supply (flow) line from the heat source to its climate system, at its own sensor —
|
|
408
|
+
* its first climate system where it serves several. Where radiators and a floor circuit
|
|
409
|
+
* share it, this is the shared supply, before the floor circuit's own mixing
|
|
410
|
+
* (heating.v1.FloorCircuit.supply_probe reads after it).
|
|
411
|
+
*
|
|
412
|
+
* @generated from field: optional sint32 supply_centidegrees = 2;
|
|
413
|
+
*/
|
|
414
|
+
supplyCentidegrees?: number | undefined;
|
|
415
|
+
|
|
416
|
+
/**
|
|
417
|
+
* The return line into the heat source, at its own sensor: the combined return of
|
|
418
|
+
* everything it heats.
|
|
419
|
+
*
|
|
420
|
+
* @generated from field: optional sint32 return_centidegrees = 3;
|
|
421
|
+
*/
|
|
422
|
+
returnCentidegrees?: number | undefined;
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* The top of the hot-water tank: how hot the water available to draw is.
|
|
426
|
+
*
|
|
427
|
+
* @generated from field: optional sint32 hot_water_top_centidegrees = 4;
|
|
428
|
+
*/
|
|
429
|
+
hotWaterTopCentidegrees?: number | undefined;
|
|
430
|
+
|
|
431
|
+
/**
|
|
432
|
+
* The hot-water tank's charging sensor: the one the heat source starts and stops making
|
|
433
|
+
* hot water by.
|
|
434
|
+
*
|
|
435
|
+
* @generated from field: optional sint32 hot_water_charging_centidegrees = 5;
|
|
436
|
+
*/
|
|
437
|
+
hotWaterChargingCentidegrees?: number | undefined;
|
|
438
|
+
|
|
439
|
+
/**
|
|
440
|
+
* The supply temperature the heat source's own control is aiming for on the line
|
|
441
|
+
* supply_centidegrees reads, as it has worked it out from its heating curve and the
|
|
442
|
+
* outdoor temperature, with whatever offsets it applies. Its target, not a measurement.
|
|
443
|
+
*
|
|
444
|
+
* @generated from field: optional sint32 calculated_supply_centidegrees = 6;
|
|
445
|
+
*/
|
|
446
|
+
calculatedSupplyCentidegrees?: number | undefined;
|
|
447
|
+
|
|
448
|
+
/**
|
|
449
|
+
* What the heat source is producing now (HeatSourceProduction), as its number. While it
|
|
450
|
+
* makes hot water its supply and return say nothing of the space heating, which is what a
|
|
451
|
+
* consumer reading them for the heating sets aside. A connector that cannot tell what its
|
|
452
|
+
* heat source is producing sends none, rather than a guess or OTHER: OTHER is a state the
|
|
453
|
+
* heat source reports, not a reading the connector lacks.
|
|
454
|
+
*
|
|
455
|
+
* @generated from field: optional uint32 producing = 7;
|
|
456
|
+
*/
|
|
457
|
+
producing?: number | undefined;
|
|
458
|
+
|
|
459
|
+
/**
|
|
460
|
+
* Its compressor's state (CompressorState), as its number — its first compressor, where it
|
|
461
|
+
* has several. Absent for a heat source with none.
|
|
462
|
+
*
|
|
463
|
+
* @generated from field: optional uint32 compressor_state = 8;
|
|
464
|
+
*/
|
|
465
|
+
compressorState?: number | undefined;
|
|
466
|
+
|
|
467
|
+
/**
|
|
468
|
+
* Its degree minutes, in whole degree-minutes (°C × minutes), rounded to the nearest: the
|
|
469
|
+
* running sum over time of how far the supply has been from calculated_supply_centidegrees,
|
|
470
|
+
* negative while it has run below it. What a heat source that keeps one starts its
|
|
471
|
+
* compressor and its add-on heat by, at thresholds of its own. Absent for a heat source
|
|
472
|
+
* that keeps none.
|
|
473
|
+
*
|
|
474
|
+
* @generated from field: optional sint32 degree_minutes = 9;
|
|
475
|
+
*/
|
|
476
|
+
degreeMinutes?: number | undefined;
|
|
477
|
+
|
|
478
|
+
/**
|
|
479
|
+
* Whether the heat source reports an alarm now. An error it reports in its own operation:
|
|
480
|
+
* service is given it as webrtc.v1.SERVICE_FAULT_ERROR (access.v1.SERVICE_SIGNAL_FAULT), as
|
|
481
|
+
* any device's error, and nothing more of it.
|
|
482
|
+
*
|
|
483
|
+
* @generated from field: optional bool alarm_active = 10;
|
|
484
|
+
*/
|
|
485
|
+
alarmActive?: boolean | undefined;
|
|
486
|
+
|
|
487
|
+
/**
|
|
488
|
+
* The maker's own number for its most severe current alarm, for whoever looks it up in the
|
|
489
|
+
* maker's documentation. Vendor-specific: it means nothing without the product, and no
|
|
490
|
+
* consumer decides anything by it. Present only while alarm_active is true; a connector
|
|
491
|
+
* sends a null value (PropertyUpdate.null_value) when the alarm ends. Never sent to service,
|
|
492
|
+
* in a home or out of one.
|
|
493
|
+
*
|
|
494
|
+
* @generated from field: optional uint32 alarm_code = 11;
|
|
495
|
+
*/
|
|
496
|
+
alarmCode?: number | undefined;
|
|
497
|
+
};
|
|
498
|
+
|
|
499
|
+
/**
|
|
500
|
+
* Describes the message kusinta.iot.device.v1.HeatSourceReadings.
|
|
501
|
+
* Use `create(HeatSourceReadingsSchema)` to create a new message.
|
|
502
|
+
*/
|
|
503
|
+
export declare const HeatSourceReadingsSchema: GenMessage<HeatSourceReadings>;
|
|
504
|
+
|
|
349
505
|
/**
|
|
350
506
|
* A device's radio link, as its connector reports it.
|
|
351
507
|
*
|
|
@@ -393,6 +549,112 @@ export declare type RadioLink = Message<"kusinta.iot.device.v1.RadioLink"> & {
|
|
|
393
549
|
*/
|
|
394
550
|
export declare const RadioLinkSchema: GenMessage<RadioLink>;
|
|
395
551
|
|
|
552
|
+
/**
|
|
553
|
+
* The value set of HeatSourceReadings.producing: what a heat source is producing now. Not a
|
|
554
|
+
* field type — producing is a uint32 like every enum-valued reading, so it keeps explicit
|
|
555
|
+
* presence — but the named constants for its numbers. A connector maps its maker's codes onto
|
|
556
|
+
* these; a code none of them names is OTHER.
|
|
557
|
+
*
|
|
558
|
+
* @generated from enum kusinta.iot.device.v1.HeatSourceProduction
|
|
559
|
+
*/
|
|
560
|
+
export enum HeatSourceProduction {
|
|
561
|
+
/**
|
|
562
|
+
* Never sent; an unreported state is an absent field.
|
|
563
|
+
*
|
|
564
|
+
* @generated from enum value: HEAT_SOURCE_PRODUCTION_UNSPECIFIED = 0;
|
|
565
|
+
*/
|
|
566
|
+
UNSPECIFIED = 0,
|
|
567
|
+
|
|
568
|
+
/**
|
|
569
|
+
* Producing nothing.
|
|
570
|
+
*
|
|
571
|
+
* @generated from enum value: HEAT_SOURCE_PRODUCTION_OFF = 1;
|
|
572
|
+
*/
|
|
573
|
+
OFF = 1,
|
|
574
|
+
|
|
575
|
+
/**
|
|
576
|
+
* Heating the building: its climate systems.
|
|
577
|
+
*
|
|
578
|
+
* @generated from enum value: HEAT_SOURCE_PRODUCTION_SPACE_HEATING = 2;
|
|
579
|
+
*/
|
|
580
|
+
SPACE_HEATING = 2,
|
|
581
|
+
|
|
582
|
+
/**
|
|
583
|
+
* Making hot water.
|
|
584
|
+
*
|
|
585
|
+
* @generated from enum value: HEAT_SOURCE_PRODUCTION_HOT_WATER = 3;
|
|
586
|
+
*/
|
|
587
|
+
HOT_WATER = 3,
|
|
588
|
+
|
|
589
|
+
/**
|
|
590
|
+
* Heating a pool.
|
|
591
|
+
*
|
|
592
|
+
* @generated from enum value: HEAT_SOURCE_PRODUCTION_POOL = 4;
|
|
593
|
+
*/
|
|
594
|
+
POOL = 4,
|
|
595
|
+
|
|
596
|
+
/**
|
|
597
|
+
* Cooling.
|
|
598
|
+
*
|
|
599
|
+
* @generated from enum value: HEAT_SOURCE_PRODUCTION_COOLING = 5;
|
|
600
|
+
*/
|
|
601
|
+
COOLING = 5,
|
|
602
|
+
|
|
603
|
+
/**
|
|
604
|
+
* Something none of the above names, such as a transfer between stores.
|
|
605
|
+
*
|
|
606
|
+
* @generated from enum value: HEAT_SOURCE_PRODUCTION_OTHER = 6;
|
|
607
|
+
*/
|
|
608
|
+
OTHER = 6,
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
/**
|
|
612
|
+
* Describes the enum kusinta.iot.device.v1.HeatSourceProduction.
|
|
613
|
+
*/
|
|
614
|
+
export declare const HeatSourceProductionSchema: GenEnum<HeatSourceProduction>;
|
|
615
|
+
|
|
616
|
+
/**
|
|
617
|
+
* The value set of HeatSourceReadings.compressor_state, as the named constants for its
|
|
618
|
+
* numbers. Starting and stopping are kept apart from running and stopped: while a compressor
|
|
619
|
+
* starts, the heat it makes has not yet reached the supply, and readings then are not yet what
|
|
620
|
+
* it runs at.
|
|
621
|
+
*
|
|
622
|
+
* @generated from enum kusinta.iot.device.v1.CompressorState
|
|
623
|
+
*/
|
|
624
|
+
export enum CompressorState {
|
|
625
|
+
/**
|
|
626
|
+
* Never sent; an unreported state is an absent field.
|
|
627
|
+
*
|
|
628
|
+
* @generated from enum value: COMPRESSOR_STATE_UNSPECIFIED = 0;
|
|
629
|
+
*/
|
|
630
|
+
UNSPECIFIED = 0,
|
|
631
|
+
|
|
632
|
+
/**
|
|
633
|
+
* @generated from enum value: COMPRESSOR_STATE_STOPPED = 1;
|
|
634
|
+
*/
|
|
635
|
+
STOPPED = 1,
|
|
636
|
+
|
|
637
|
+
/**
|
|
638
|
+
* @generated from enum value: COMPRESSOR_STATE_STARTING = 2;
|
|
639
|
+
*/
|
|
640
|
+
STARTING = 2,
|
|
641
|
+
|
|
642
|
+
/**
|
|
643
|
+
* @generated from enum value: COMPRESSOR_STATE_RUNNING = 3;
|
|
644
|
+
*/
|
|
645
|
+
RUNNING = 3,
|
|
646
|
+
|
|
647
|
+
/**
|
|
648
|
+
* @generated from enum value: COMPRESSOR_STATE_STOPPING = 4;
|
|
649
|
+
*/
|
|
650
|
+
STOPPING = 4,
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
/**
|
|
654
|
+
* Describes the enum kusinta.iot.device.v1.CompressorState.
|
|
655
|
+
*/
|
|
656
|
+
export declare const CompressorStateSchema: GenEnum<CompressorState>;
|
|
657
|
+
|
|
396
658
|
/**
|
|
397
659
|
* The value set of RadioLink.quality: how well a link is doing, as the device's
|
|
398
660
|
* connector rates it. Not a field type — quality is a uint32 like every enum-valued
|
|
@@ -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("
|
|
17
|
+
fileDesc("CiJrdXNpbnRhL2lvdC9kZXZpY2UvdjEvZGV2aWNlLnByb3RvEhVrdXNpbnRhLmlvdC5kZXZpY2UudjEi5QwKCEVuZHBvaW50EhMKC2VuZHBvaW50X2lkGAEgASgNEh0KFW1hdHRlcl9kZXZpY2VfdHlwZV9pZBgCIAEoDRJBCgp0aGVybW9zdGF0GAMgASgLMisua3VzaW50YS5pb3QuZGV2aWNlLnYxLlRoZXJtb3N0YXRQcm9wZXJ0aWVzSAASUAoSdGVtcGVyYXR1cmVfc2Vuc29yGAQgASgLMjIua3VzaW50YS5pb3QuZGV2aWNlLnYxLlRlbXBlcmF0dXJlU2Vuc29yUHJvcGVydGllc0gAEkoKD2h1bWlkaXR5X3NlbnNvchgFIAEoCzIvLmt1c2ludGEuaW90LmRldmljZS52MS5IdW1pZGl0eVNlbnNvclByb3BlcnRpZXNIABJMChBvY2N1cGFuY3lfc2Vuc29yGAYgASgLMjAua3VzaW50YS5pb3QuZGV2aWNlLnYxLk9jY3VwYW5jeVNlbnNvclByb3BlcnRpZXNIABJICg5jb250YWN0X3NlbnNvchgHIAEoCzIuLmt1c2ludGEuaW90LmRldmljZS52MS5Db250YWN0U2Vuc29yUHJvcGVydGllc0gAEkoKD3dpbmRvd19jb3ZlcmluZxgIIAEoCzIvLmt1c2ludGEuaW90LmRldmljZS52MS5XaW5kb3dDb3ZlcmluZ1Byb3BlcnRpZXNIABI+Cglkb29yX2xvY2sYCSABKAsyKS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRG9vckxvY2tQcm9wZXJ0aWVzSAASQwoMb25fb2ZmX2xpZ2h0GAogASgLMisua3VzaW50YS5pb3QuZGV2aWNlLnYxLk9uT2ZmTGlnaHRQcm9wZXJ0aWVzSAASSAoOZGltbWFibGVfbGlnaHQYCyABKAsyLi5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRGltbWFibGVMaWdodFByb3BlcnRpZXNIABJSChBjb2xvcl90ZW1wX2xpZ2h0GAwgASgLMjYua3VzaW50YS5pb3QuZGV2aWNlLnYxLkNvbG9yVGVtcGVyYXR1cmVMaWdodFByb3BlcnRpZXNIABJGCg1lbmVyZ3lfc2Vuc29yGA0gASgLMi0ua3VzaW50YS5pb3QuZGV2aWNlLnYxLkVuZXJneVNlbnNvclByb3BlcnRpZXNIABJKCg9wcmVzc3VyZV9zZW5zb3IYDiABKAsyLy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuUHJlc3N1cmVTZW5zb3JQcm9wZXJ0aWVzSAASRAoMcG93ZXJfc291cmNlGA8gASgLMiwua3VzaW50YS5pb3QuZGV2aWNlLnYxLlBvd2VyU291cmNlUHJvcGVydGllc0gAEksKDWhtX3RoZXJtb3N0YXQYMiABKAsyMi5rdXNpbnRhLmlvdC52ZW5kb3IuaG9tZW1hdGljLnYxLkhtVGhlcm1vc3RhdFByb3BzSAESTQoOaG1fbWFpbnRlbmFuY2UYMyABKAsyMy5rdXNpbnRhLmlvdC52ZW5kb3IuaG9tZW1hdGljLnYxLkhtTWFpbnRlbmFuY2VQcm9wc0gBEjQKCnJhZGlvX2xpbmsYNCABKAsyIC5rdXNpbnRhLmlvdC5kZXZpY2UudjEuUmFkaW9MaW5rEj4KC2hlYXRfc291cmNlGDUgASgLMikua3VzaW50YS5pb3QuZGV2aWNlLnYxLkhlYXRTb3VyY2VSZWFkaW5ncxI1CghjbHVzdGVycxgQIAMoCzIjLmt1c2ludGEuaW90LmRldmljZS52MS5DbHVzdGVyU3RhdGUSHgoWdmVuZG9yX2F0dHJpYnV0ZV9uYW1lcxgRIAMoCRJjCht2ZW5kb3JfYXR0cmlidXRlX2JlaGF2aW91cnMYEiADKAsyPi5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRW5kcG9pbnQuVmVuZG9yQXR0cmlidXRlQmVoYXZpb3Vyc0VudHJ5GmsKHlZlbmRvckF0dHJpYnV0ZUJlaGF2aW91cnNFbnRyeRILCgNrZXkYASABKAkSOAoFdmFsdWUYAiABKAsyKS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlQmVoYXZpb3VyOgI4AUITChFtYXR0ZXJfcHJvcGVydGllc0ITChF2ZW5kb3JfcHJvcGVydGllcyK6BAoGRGV2aWNlEjsKCmRlc2NyaXB0b3IYASABKAsyJy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRGV2aWNlRGVzY3JpcHRvchIyCgllbmRwb2ludHMYDiADKAsyHy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRW5kcG9pbnQSJwoabWluX3dyaXRlX2ludGVydmFsX3NlY29uZHMYDyABKA1IAIgBARIkChdtYXhfd3JpdGVfZGVsYXlfc2Vjb25kcxgQIAEoDUgBiAEBEi0KCWxhc3Rfc2VlbhgUIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMbGFzdF91cGRhdGVkGBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIdChtfbWluX3dyaXRlX2ludGVydmFsX3NlY29uZHNCGgoYX21heF93cml0ZV9kZWxheV9zZWNvbmRzSgQIAhAOSgQIMhAzUgp0aGVybW9zdGF0UhJ0ZW1wZXJhdHVyZV9zZW5zb3JSD2h1bWlkaXR5X3NlbnNvclIQb2NjdXBhbmN5X3NlbnNvclIOY29udGFjdF9zZW5zb3JSD3dpbmRvd19jb3ZlcmluZ1IJZG9vcl9sb2NrUgxvbl9vZmZfbGlnaHRSDmRpbW1hYmxlX2xpZ2h0UhBjb2xvcl90ZW1wX2xpZ2h0Ug1lbmVyZ3lfc2Vuc29yUg9wcmVzc3VyZV9zZW5zb3JSCWhvbWVtYXRpYyLhBwoSSGVhdFNvdXJjZVJlYWRpbmdzEj8KFG91dGRvb3JfY2VudGlkZWdyZWVzGAEgASgRQhyitRgUb3V0ZG9vcl9jZW50aWRlZ3JlZXPQtRgFSACIAQESPQoTc3VwcGx5X2NlbnRpZGVncmVlcxgCIAEoEUIborUYE3N1cHBseV9jZW50aWRlZ3JlZXPQtRgFSAGIAQESPQoTcmV0dXJuX2NlbnRpZGVncmVlcxgDIAEoEUIborUYE3JldHVybl9jZW50aWRlZ3JlZXPQtRgFSAKIAQESSwoaaG90X3dhdGVyX3RvcF9jZW50aWRlZ3JlZXMYBCABKBFCIqK1GBpob3Rfd2F0ZXJfdG9wX2NlbnRpZGVncmVlc9C1GAVIA4gBARJVCh9ob3Rfd2F0ZXJfY2hhcmdpbmdfY2VudGlkZWdyZWVzGAUgASgRQieitRgfaG90X3dhdGVyX2NoYXJnaW5nX2NlbnRpZGVncmVlc9C1GAVIBIgBARJTCh5jYWxjdWxhdGVkX3N1cHBseV9jZW50aWRlZ3JlZXMYBiABKBFCJqK1GB5jYWxjdWxhdGVkX3N1cHBseV9jZW50aWRlZ3JlZXPQtRgFSAWIAQESKQoJcHJvZHVjaW5nGAcgASgNQhGitRgJcHJvZHVjaW5n0LUYBUgGiAEBEjcKEGNvbXByZXNzb3Jfc3RhdGUYCCABKA1CGKK1GBBjb21wcmVzc29yX3N0YXRl0LUYBUgHiAEBEjMKDmRlZ3JlZV9taW51dGVzGAkgASgRQhaitRgOZGVncmVlX21pbnV0ZXPQtRgFSAiIAQESLwoMYWxhcm1fYWN0aXZlGAogASgIQhSitRgMYWxhcm1fYWN0aXZl0LUYBUgJiAEBEisKCmFsYXJtX2NvZGUYCyABKA1CEqK1GAphbGFybV9jb2Rl0LUYBUgKiAEBOheqtRgTa3VzaW50YS5oZWF0X3NvdXJjZUIXChVfb3V0ZG9vcl9jZW50aWRlZ3JlZXNCFgoUX3N1cHBseV9jZW50aWRlZ3JlZXNCFgoUX3JldHVybl9jZW50aWRlZ3JlZXNCHQobX2hvdF93YXRlcl90b3BfY2VudGlkZWdyZWVzQiIKIF9ob3Rfd2F0ZXJfY2hhcmdpbmdfY2VudGlkZWdyZWVzQiEKH19jYWxjdWxhdGVkX3N1cHBseV9jZW50aWRlZ3JlZXNCDAoKX3Byb2R1Y2luZ0ITChFfY29tcHJlc3Nvcl9zdGF0ZUIRCg9fZGVncmVlX21pbnV0ZXNCDwoNX2FsYXJtX2FjdGl2ZUINCgtfYWxhcm1fY29kZSK3AQoJUmFkaW9MaW5rEiUKB3F1YWxpdHkYASABKA1CD6K1GAdxdWFsaXR50LUYBUgAiAEBEicKCHJzc2lfZGJtGAIgASgRQhCitRgIcnNzaV9kYm3QtRgFSAGIAQESIwoGc25yX2RiGAMgASgCQg6itRgGc25yX2Ri0LUYBUgCiAEBOhGqtRgNa3VzaW50YS5yYWRpb0IKCghfcXVhbGl0eUILCglfcnNzaV9kYm1CCQoHX3Nucl9kYiqVAgoUSGVhdFNvdXJjZVByb2R1Y3Rpb24SJgoiSEVBVF9TT1VSQ0VfUFJPRFVDVElPTl9VTlNQRUNJRklFRBAAEh4KGkhFQVRfU09VUkNFX1BST0RVQ1RJT05fT0ZGEAESKAokSEVBVF9TT1VSQ0VfUFJPRFVDVElPTl9TUEFDRV9IRUFUSU5HEAISJAogSEVBVF9TT1VSQ0VfUFJPRFVDVElPTl9IT1RfV0FURVIQAxIfChtIRUFUX1NPVVJDRV9QUk9EVUNUSU9OX1BPT0wQBBIiCh5IRUFUX1NPVVJDRV9QUk9EVUNUSU9OX0NPT0xJTkcQBRIgChxIRUFUX1NPVVJDRV9QUk9EVUNUSU9OX09USEVSEAYqrQEKD0NvbXByZXNzb3JTdGF0ZRIgChxDT01QUkVTU09SX1NUQVRFX1VOU1BFQ0lGSUVEEAASHAoYQ09NUFJFU1NPUl9TVEFURV9TVE9QUEVEEAESHQoZQ09NUFJFU1NPUl9TVEFURV9TVEFSVElORxACEhwKGENPTVBSRVNTT1JfU1RBVEVfUlVOTklORxADEh0KGUNPTVBSRVNTT1JfU1RBVEVfU1RPUFBJTkcQBCp1CgxSYWRpb1F1YWxpdHkSHQoZUkFESU9fUVVBTElUWV9VTlNQRUNJRklFRBAAEhYKElJBRElPX1FVQUxJVFlfR09PRBABEhYKElJBRElPX1FVQUxJVFlfRkFJUhACEhYKElJBRElPX1FVQUxJVFlfUE9PUhADQgJIAWIGcHJvdG8z", [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.
|
|
@@ -30,18 +30,59 @@ export const EndpointSchema = /*@__PURE__*/
|
|
|
30
30
|
export const DeviceSchema = /*@__PURE__*/
|
|
31
31
|
messageDesc(file_kusinta_iot_device_v1_device, 1);
|
|
32
32
|
|
|
33
|
+
/**
|
|
34
|
+
* Describes the message kusinta.iot.device.v1.HeatSourceReadings.
|
|
35
|
+
* Use `create(HeatSourceReadingsSchema)` to create a new message.
|
|
36
|
+
*/
|
|
37
|
+
export const HeatSourceReadingsSchema = /*@__PURE__*/
|
|
38
|
+
messageDesc(file_kusinta_iot_device_v1_device, 2);
|
|
39
|
+
|
|
33
40
|
/**
|
|
34
41
|
* Describes the message kusinta.iot.device.v1.RadioLink.
|
|
35
42
|
* Use `create(RadioLinkSchema)` to create a new message.
|
|
36
43
|
*/
|
|
37
44
|
export const RadioLinkSchema = /*@__PURE__*/
|
|
38
|
-
messageDesc(file_kusinta_iot_device_v1_device,
|
|
45
|
+
messageDesc(file_kusinta_iot_device_v1_device, 3);
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Describes the enum kusinta.iot.device.v1.HeatSourceProduction.
|
|
49
|
+
*/
|
|
50
|
+
export const HeatSourceProductionSchema = /*@__PURE__*/
|
|
51
|
+
enumDesc(file_kusinta_iot_device_v1_device, 0);
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* The value set of HeatSourceReadings.producing: what a heat source is producing now. Not a
|
|
55
|
+
* field type — producing is a uint32 like every enum-valued reading, so it keeps explicit
|
|
56
|
+
* presence — but the named constants for its numbers. A connector maps its maker's codes onto
|
|
57
|
+
* these; a code none of them names is OTHER.
|
|
58
|
+
*
|
|
59
|
+
* @generated from enum kusinta.iot.device.v1.HeatSourceProduction
|
|
60
|
+
*/
|
|
61
|
+
export const HeatSourceProduction = /*@__PURE__*/
|
|
62
|
+
tsEnum(HeatSourceProductionSchema);
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Describes the enum kusinta.iot.device.v1.CompressorState.
|
|
66
|
+
*/
|
|
67
|
+
export const CompressorStateSchema = /*@__PURE__*/
|
|
68
|
+
enumDesc(file_kusinta_iot_device_v1_device, 1);
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* The value set of HeatSourceReadings.compressor_state, as the named constants for its
|
|
72
|
+
* numbers. Starting and stopping are kept apart from running and stopped: while a compressor
|
|
73
|
+
* starts, the heat it makes has not yet reached the supply, and readings then are not yet what
|
|
74
|
+
* it runs at.
|
|
75
|
+
*
|
|
76
|
+
* @generated from enum kusinta.iot.device.v1.CompressorState
|
|
77
|
+
*/
|
|
78
|
+
export const CompressorState = /*@__PURE__*/
|
|
79
|
+
tsEnum(CompressorStateSchema);
|
|
39
80
|
|
|
40
81
|
/**
|
|
41
82
|
* Describes the enum kusinta.iot.device.v1.RadioQuality.
|
|
42
83
|
*/
|
|
43
84
|
export const RadioQualitySchema = /*@__PURE__*/
|
|
44
|
-
enumDesc(file_kusinta_iot_device_v1_device,
|
|
85
|
+
enumDesc(file_kusinta_iot_device_v1_device, 2);
|
|
45
86
|
|
|
46
87
|
/**
|
|
47
88
|
* The value set of RadioLink.quality: how well a link is doing, as the device's
|
|
@@ -29,7 +29,8 @@ export declare const file_kusinta_iot_device_v1_property_update: GenFile;
|
|
|
29
29
|
* (matter_device_type) == Endpoint.matter_device_type_id.
|
|
30
30
|
* - present (vendor): the Endpoint field whose message type declares
|
|
31
31
|
* (vendor_extension) == the update's vendor_extension — a vendor_properties case,
|
|
32
|
-
* or radio_link ("kusinta.radio")
|
|
32
|
+
* or radio_link ("kusinta.radio") or heat_source ("kusinta.heat_source"), which sit
|
|
33
|
+
* outside that oneof.
|
|
33
34
|
* 3. Pick the field:
|
|
34
35
|
* - Matter branch: the one field whose (matter_cluster_id) equals cluster_id AND
|
|
35
36
|
* whose (matter_attribute_id) equals attribute_id.
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
|
|
6
6
|
import type { Message } from "@bufbuild/protobuf";
|
|
7
|
-
import type { DeviceId, SpaceId } from "../../identity/v1/identity_pb.js";
|
|
7
|
+
import type { DeviceId, SpaceId, UserId } from "../../identity/v1/identity_pb.js";
|
|
8
8
|
import type { AttributeRef } from "../../access/v1/acl_pb.js";
|
|
9
9
|
import type { AttributeValue } from "../../device/v1/cluster_state_pb.js";
|
|
10
|
+
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Describes the file kusinta/iot/heating/v1/heating.proto.
|
|
@@ -107,8 +108,9 @@ export declare type HeatingPlant = Message<"kusinta.iot.heating.v1.HeatingPlant"
|
|
|
107
108
|
|
|
108
109
|
/**
|
|
109
110
|
* The device the heat source's own readings come from — its temperatures, compressor and
|
|
110
|
-
* hot-water state — when it has one
|
|
111
|
-
* the
|
|
111
|
+
* hot-water state — when it has one; its temperatures are the device's
|
|
112
|
+
* device.v1.HeatSourceReadings. Read only: the gateway drives a heat source through the
|
|
113
|
+
* plant's control, never through this device.
|
|
112
114
|
*
|
|
113
115
|
* @generated from field: kusinta.iot.identity.v1.DeviceId readings_device_id = 5;
|
|
114
116
|
*/
|
|
@@ -338,14 +340,17 @@ export declare type FloorZone = Message<"kusinta.iot.heating.v1.FloorZone"> & {
|
|
|
338
340
|
/**
|
|
339
341
|
* The rooms the zone heats, each a room within its plant's space, listed once, with a
|
|
340
342
|
* share above 0 and shares summing to 1000. A zone may heat several rooms and a room may
|
|
341
|
-
* be heated by several zones.
|
|
343
|
+
* be heated by several zones. A put names at least one; empty only for a zone whose rooms
|
|
344
|
+
* were all deleted, which is uncontrolled (see the file comment, UNCONTROLLED ZONES).
|
|
342
345
|
*
|
|
343
346
|
* @generated from field: repeated kusinta.iot.heating.v1.FloorZoneRoom rooms = 5;
|
|
344
347
|
*/
|
|
345
348
|
rooms: FloorZoneRoom[];
|
|
346
349
|
|
|
347
350
|
/**
|
|
348
|
-
* One of rooms. Only its error, its sensor and its open window steer the zone.
|
|
351
|
+
* One of rooms. Only its error, its sensor and its open window steer the zone. A put names
|
|
352
|
+
* one; unset only once a deletion cleared it, and always while rooms is empty. A zone
|
|
353
|
+
* without one is uncontrolled (see the file comment, UNCONTROLLED ZONES).
|
|
349
354
|
*
|
|
350
355
|
* @generated from field: kusinta.iot.identity.v1.SpaceId control_room_id = 6;
|
|
351
356
|
*/
|
|
@@ -357,6 +362,35 @@ export declare type FloorZone = Message<"kusinta.iot.heating.v1.FloorZone"> & {
|
|
|
357
362
|
* @generated from field: uint64 revision = 7;
|
|
358
363
|
*/
|
|
359
364
|
revision: bigint;
|
|
365
|
+
|
|
366
|
+
/**
|
|
367
|
+
* While the zone is uncontrolled — no room, or no control room (see the file comment,
|
|
368
|
+
* UNCONTROLLED ZONES): since when it has been so, and the user whose change left it so — the
|
|
369
|
+
* deletion of its control room or its last room; uncontrolled_by is unset where no user's
|
|
370
|
+
* change did. Both unset while the zone is controlled. Read-only: set by the gateway, ignored
|
|
371
|
+
* in a put. A put that names a control room among its rooms ends it.
|
|
372
|
+
*
|
|
373
|
+
* uncontrolled_by is erased at the home's wipe with the record of who did what in the home
|
|
374
|
+
* (webrtc.v1 household.proto, WIPE); uncontrolled_since stays with the zone, which describes
|
|
375
|
+
* the house.
|
|
376
|
+
*
|
|
377
|
+
* For a home's zone — one left uncontrolled stays whose it was — sent only to the home's
|
|
378
|
+
* household admins (access.v1.MEMBERSHIP_RELATION_HOUSEHOLD_ADMIN) and an installer under a
|
|
379
|
+
* commissioning grant on the home, and unset for the home's other residents; never sent to
|
|
380
|
+
* service. Unset, too, when it dates from before the recipient's current residency in the
|
|
381
|
+
* home, or from a home they did not live in at the time (see access.v1.MembershipRelation).
|
|
382
|
+
* For a zone outside homes, sent to whoever is given the zone. That rooms is empty, or
|
|
383
|
+
* control_room_id unset, is what says the zone is uncontrolled; these say only since when
|
|
384
|
+
* and by whom, where the recipient is given them.
|
|
385
|
+
*
|
|
386
|
+
* @generated from field: google.protobuf.Timestamp uncontrolled_since = 8;
|
|
387
|
+
*/
|
|
388
|
+
uncontrolledSince?: Timestamp | undefined;
|
|
389
|
+
|
|
390
|
+
/**
|
|
391
|
+
* @generated from field: kusinta.iot.identity.v1.UserId uncontrolled_by = 9;
|
|
392
|
+
*/
|
|
393
|
+
uncontrolledBy?: UserId | undefined;
|
|
360
394
|
};
|
|
361
395
|
|
|
362
396
|
/**
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
|
|
5
5
|
import { enumDesc, fileDesc, messageDesc, tsEnum } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
|
6
7
|
import { file_kusinta_iot_access_v1_acl } from "../../access/v1/acl_pb.js";
|
|
7
8
|
import { file_kusinta_iot_device_v1_cluster_state } from "../../device/v1/cluster_state_pb.js";
|
|
8
9
|
import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
|
|
@@ -11,7 +12,7 @@ import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identit
|
|
|
11
12
|
* Describes the file kusinta/iot/heating/v1/heating.proto.
|
|
12
13
|
*/
|
|
13
14
|
export const file_kusinta_iot_heating_v1_heating = /*@__PURE__*/
|
|
14
|
-
fileDesc("CiRrdXNpbnRhL2lvdC9oZWF0aW5nL3YxL2hlYXRpbmcucHJvdG8SFmt1c2ludGEuaW90LmhlYXRpbmcudjEifwoPRGV2aWNlQXR0cmlidXRlEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjYKCWF0dHJpYnV0ZRgCIAEoCzIjLmt1c2ludGEuaW90LmFjY2Vzcy52MS5BdHRyaWJ1dGVSZWYihgEKDkNvbnRhY3RCaW5kaW5nEjcKBm91dHB1dBgBIAEoCzInLmt1c2ludGEuaW90LmhlYXRpbmcudjEuRGV2aWNlQXR0cmlidXRlEjsKDGNsb3NlZF92YWx1ZRgCIAEoCzIlLmt1c2ludGEuaW90LmRldmljZS52MS5BdHRyaWJ1dGVWYWx1ZSLsAgoMSGVhdGluZ1BsYW50EhAKCHBsYW50X2lkGAEgASgJEjIKCHNwYWNlX2lkGAIgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIMCgRuYW1lGAMgASgJEjYKBnNvdXJjZRgEIAEoDjImLmt1c2ludGEuaW90LmhlYXRpbmcudjEuSGVhdFNvdXJjZUtpbmQSPQoScmVhZGluZ3NfZGV2aWNlX2lkGAUgASgLMiEua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuRGV2aWNlSWQSPAoJaGVhdF9wdW1wGAYgASgLMicua3VzaW50YS5pb3QuaGVhdGluZy52MS5IZWF0UHVtcENvbnRyb2xIABI2CgVtZXRlchgHIAEoCzInLmt1c2ludGEuaW90LmhlYXRpbmcudjEuRGV2aWNlQXR0cmlidXRlEhAKCHJldmlzaW9uGAggASgEQgkKB2NvbnRyb2wi1gEKD0hlYXRQdW1wQ29udHJvbBI+
|
|
15
|
+
fileDesc("CiRrdXNpbnRhL2lvdC9oZWF0aW5nL3YxL2hlYXRpbmcucHJvdG8SFmt1c2ludGEuaW90LmhlYXRpbmcudjEifwoPRGV2aWNlQXR0cmlidXRlEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjYKCWF0dHJpYnV0ZRgCIAEoCzIjLmt1c2ludGEuaW90LmFjY2Vzcy52MS5BdHRyaWJ1dGVSZWYihgEKDkNvbnRhY3RCaW5kaW5nEjcKBm91dHB1dBgBIAEoCzInLmt1c2ludGEuaW90LmhlYXRpbmcudjEuRGV2aWNlQXR0cmlidXRlEjsKDGNsb3NlZF92YWx1ZRgCIAEoCzIlLmt1c2ludGEuaW90LmRldmljZS52MS5BdHRyaWJ1dGVWYWx1ZSLsAgoMSGVhdGluZ1BsYW50EhAKCHBsYW50X2lkGAEgASgJEjIKCHNwYWNlX2lkGAIgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIMCgRuYW1lGAMgASgJEjYKBnNvdXJjZRgEIAEoDjImLmt1c2ludGEuaW90LmhlYXRpbmcudjEuSGVhdFNvdXJjZUtpbmQSPQoScmVhZGluZ3NfZGV2aWNlX2lkGAUgASgLMiEua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuRGV2aWNlSWQSPAoJaGVhdF9wdW1wGAYgASgLMicua3VzaW50YS5pb3QuaGVhdGluZy52MS5IZWF0UHVtcENvbnRyb2xIABI2CgVtZXRlchgHIAEoCzInLmt1c2ludGEuaW90LmhlYXRpbmcudjEuRGV2aWNlQXR0cmlidXRlEhAKCHJldmlzaW9uGAggASgEQgkKB2NvbnRyb2wi1gEKD0hlYXRQdW1wQ29udHJvbBI+Cg5zZ19yZWFkeV9ibG9jaxgBIAEoCzImLmt1c2ludGEuaW90LmhlYXRpbmcudjEuQ29udGFjdEJpbmRpbmcSPgoOc2dfcmVhZHlfYm9vc3QYAiABKAsyJi5rdXNpbnRhLmlvdC5oZWF0aW5nLnYxLkNvbnRhY3RCaW5kaW5nEkMKE2FkZF9vbl9oZWF0ZXJfYmxvY2sYAyABKAsyJi5rdXNpbnRhLmlvdC5oZWF0aW5nLnYxLkNvbnRhY3RCaW5kaW5nItoBCg5IZWF0aW5nQ2lyY3VpdBISCgpjaXJjdWl0X2lkGAEgASgJEhAKCHBsYW50X2lkGAIgASgJEgwKBG5hbWUYAyABKAkSOwoIcmFkaWF0b3IYBCABKAsyJy5rdXNpbnRhLmlvdC5oZWF0aW5nLnYxLlJhZGlhdG9yQ2lyY3VpdEgAEjUKBWZsb29yGAUgASgLMiQua3VzaW50YS5pb3QuaGVhdGluZy52MS5GbG9vckNpcmN1aXRIABIQCghyZXZpc2lvbhgGIAEoBEIOCgxkaXN0cmlidXRpb24iEQoPUmFkaWF0b3JDaXJjdWl0IuQBCgxGbG9vckNpcmN1aXQSFAoMbWl4aW5nX3ZhbHZlGAEgASgIEiQKF3N1cHBseV9jYXBfY2VudGlkZWdyZWVzGAIgASgRSACIAQESPQoMc3VwcGx5X3Byb2JlGAMgASgLMicua3VzaW50YS5pb3QuaGVhdGluZy52MS5EZXZpY2VBdHRyaWJ1dGUSPQoMcmV0dXJuX3Byb2JlGAQgASgLMicua3VzaW50YS5pb3QuaGVhdGluZy52MS5EZXZpY2VBdHRyaWJ1dGVCGgoYX3N1cHBseV9jYXBfY2VudGlkZWdyZWVzIusCCglGbG9vclpvbmUSDwoHem9uZV9pZBgBIAEoCRISCgpjaXJjdWl0X2lkGAIgASgJEgwKBG5hbWUYAyABKAkSNgoGb3V0cHV0GAQgASgLMiYua3VzaW50YS5pb3QuaGVhdGluZy52MS5Db250YWN0QmluZGluZxI0CgVyb29tcxgFIAMoCzIlLmt1c2ludGEuaW90LmhlYXRpbmcudjEuRmxvb3Jab25lUm9vbRI5Cg9jb250cm9sX3Jvb21faWQYBiABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEhAKCHJldmlzaW9uGAcgASgEEjYKEnVuY29udHJvbGxlZF9zaW5jZRgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOAoPdW5jb250cm9sbGVkX2J5GAkgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkIl8KDUZsb29yWm9uZVJvb20SMQoHcm9vbV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSGwoTYXJlYV9zaGFyZV9wZXJtaWxsZRgCIAEoDSKdAgoLQ29tZm9ydExvYWQSFwoPY29tZm9ydF9sb2FkX2lkGAEgASgJEjEKB3Jvb21faWQYAiABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEgwKBG5hbWUYAyABKAkSNgoGb3V0cHV0GAQgASgLMiYua3VzaW50YS5pb3QuaGVhdGluZy52MS5Db250YWN0QmluZGluZxI2Cgd3aW5kb3dzGAUgAygLMiUua3VzaW50YS5pb3QuaGVhdGluZy52MS5Db21mb3J0V2luZG93EhAKCHJldmlzaW9uGAYgASgEEhgKEHdpbmRvd3NfcmV2aXNpb24YByABKAQSGAoQd2luZG93c193aXRoaGVsZBgIIAEoCCJLCg1Db21mb3J0V2luZG93EhAKCHdlZWtkYXlzGAEgASgNEhQKDHN0YXJ0X21pbnV0ZRgCIAEoDRISCgplbmRfbWludXRlGAMgASgNIvMBCg1IZWF0aW5nTGF5b3V0EjQKBnBsYW50cxgBIAMoCzIkLmt1c2ludGEuaW90LmhlYXRpbmcudjEuSGVhdGluZ1BsYW50EjgKCGNpcmN1aXRzGAIgAygLMiYua3VzaW50YS5pb3QuaGVhdGluZy52MS5IZWF0aW5nQ2lyY3VpdBI2CgtmbG9vcl96b25lcxgDIAMoCzIhLmt1c2ludGEuaW90LmhlYXRpbmcudjEuRmxvb3Jab25lEjoKDWNvbWZvcnRfbG9hZHMYBCADKAsyIy5rdXNpbnRhLmlvdC5oZWF0aW5nLnYxLkNvbWZvcnRMb2FkIoECCg1IZWF0aW5nUmVjb3JkEjUKBXBsYW50GAEgASgLMiQua3VzaW50YS5pb3QuaGVhdGluZy52MS5IZWF0aW5nUGxhbnRIABI5CgdjaXJjdWl0GAIgASgLMiYua3VzaW50YS5pb3QuaGVhdGluZy52MS5IZWF0aW5nQ2lyY3VpdEgAEjcKCmZsb29yX3pvbmUYAyABKAsyIS5rdXNpbnRhLmlvdC5oZWF0aW5nLnYxLkZsb29yWm9uZUgAEjsKDGNvbWZvcnRfbG9hZBgEIAEoCzIjLmt1c2ludGEuaW90LmhlYXRpbmcudjEuQ29tZm9ydExvYWRIAEIICgZyZWNvcmQqpQIKDkhlYXRTb3VyY2VLaW5kEiAKHEhFQVRfU09VUkNFX0tJTkRfVU5TUEVDSUZJRUQQABIqCiZIRUFUX1NPVVJDRV9LSU5EX0VYSEFVU1RfQUlSX0hFQVRfUFVNUBABEiwKKEhFQVRfU09VUkNFX0tJTkRfR1JPVU5EX1NPVVJDRV9IRUFUX1BVTVAQAhIoCiRIRUFUX1NPVVJDRV9LSU5EX0FJUl9XQVRFUl9IRUFUX1BVTVAQAxIlCiFIRUFUX1NPVVJDRV9LSU5EX0RJU1RSSUNUX0hFQVRJTkcQBBIkCiBIRUFUX1NPVVJDRV9LSU5EX0VMRUNUUklDX0JPSUxFUhAFEiAKHEhFQVRfU09VUkNFX0tJTkRfRlVFTF9CT0lMRVIQBkICSAFiBnByb3RvMw", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_acl, file_kusinta_iot_device_v1_cluster_state, file_kusinta_iot_identity_v1_identity]);
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* Describes the message kusinta.iot.heating.v1.DeviceAttribute.
|
|
@@ -76,7 +76,8 @@ export declare type ProblemSubject = Message<"kusinta.iot.reporting.v1.ProblemSu
|
|
|
76
76
|
*/
|
|
77
77
|
subject: {
|
|
78
78
|
/**
|
|
79
|
-
* DEVICE_OFFLINE, BATTERY_*, DEVICE_ERROR, DEVICE_TAMPER
|
|
79
|
+
* DEVICE_OFFLINE, BATTERY_*, DEVICE_ERROR, DEVICE_TAMPER; FLOOR_ZONE_UNCONTROLLED: the
|
|
80
|
+
* device whose output the zone binds.
|
|
80
81
|
*
|
|
81
82
|
* @generated from field: kusinta.iot.identity.v1.DeviceId device_id = 1;
|
|
82
83
|
*/
|
|
@@ -956,9 +957,9 @@ export declare type ReportInviteRoutesResponse = Message<"kusinta.iot.reporting.
|
|
|
956
957
|
export declare const ReportInviteRoutesResponseSchema: GenMessage<ReportInviteRoutesResponse>;
|
|
957
958
|
|
|
958
959
|
/**
|
|
959
|
-
* What kind of problem is open. The device kinds mirror what
|
|
960
|
-
* device (webrtc.v1.ServiceStatus: reachability, the battery
|
|
961
|
-
* a device signal added there is added here too.
|
|
960
|
+
* What kind of problem is open. The device kinds, FLOOR_ZONE_UNCONTROLLED aside, mirror what
|
|
961
|
+
* service staff are given of a device (webrtc.v1.ServiceStatus: reachability, the battery
|
|
962
|
+
* flags, the ServiceFault values); a device signal added there is added here too.
|
|
962
963
|
*
|
|
963
964
|
* @generated from enum kusinta.iot.reporting.v1.ProblemKind
|
|
964
965
|
*/
|
|
@@ -1053,6 +1054,27 @@ export enum ProblemKind {
|
|
|
1053
1054
|
* @generated from enum value: PROBLEM_KIND_WINDOW_OPEN = 9;
|
|
1054
1055
|
*/
|
|
1055
1056
|
WINDOW_OPEN = 9,
|
|
1057
|
+
|
|
1058
|
+
/**
|
|
1059
|
+
* A floor zone bound to one of the device's outputs (heating.v1.FloorZone.output) is
|
|
1060
|
+
* uncontrolled — it has no room, or no control room — and so heats without control: an
|
|
1061
|
+
* uncontrolled zone is not driven, and a floor zone rests closed (heating.v1, UNCONTROLLED
|
|
1062
|
+
* ZONES). Opened by the gateway only once the zone has been uncontrolled for about an hour,
|
|
1063
|
+
* so that a zone left so for a step of commissioning raises nothing. One problem per device,
|
|
1064
|
+
* however many zones on its outputs are uncontrolled. Closes CLEAR_REASON_RECOVERED once
|
|
1065
|
+
* each of them has a control room again or has been removed, and
|
|
1066
|
+
* CLEAR_REASON_DEVICE_REMOVED with the device.
|
|
1067
|
+
*
|
|
1068
|
+
* A service signal: it names the device and where the device is filed (Problem.space_id),
|
|
1069
|
+
* as any device problem does, and nothing else — not the zone's rooms, not which of the two
|
|
1070
|
+
* it lacks, not who left it so, and no time finer than Problem allows for a device in a
|
|
1071
|
+
* home. Not part of
|
|
1072
|
+
* webrtc.v1.ServiceStatus; residents are told of it as
|
|
1073
|
+
* access.v1.SERVICE_SIGNAL_FLOOR_ZONE_UNCONTROLLED.
|
|
1074
|
+
*
|
|
1075
|
+
* @generated from enum value: PROBLEM_KIND_FLOOR_ZONE_UNCONTROLLED = 10;
|
|
1076
|
+
*/
|
|
1077
|
+
FLOOR_ZONE_UNCONTROLLED = 10,
|
|
1056
1078
|
}
|
|
1057
1079
|
|
|
1058
1080
|
/**
|
|
@@ -1111,7 +1133,8 @@ export enum ClearReason {
|
|
|
1111
1133
|
|
|
1112
1134
|
/**
|
|
1113
1135
|
* The condition ended: the device was heard, its battery recovered or was replaced, the
|
|
1114
|
-
* connector came back, the window closed
|
|
1136
|
+
* connector came back, the window closed, the floor zone was given a control room or
|
|
1137
|
+
* removed.
|
|
1115
1138
|
*
|
|
1116
1139
|
* @generated from enum value: CLEAR_REASON_RECOVERED = 1;
|
|
1117
1140
|
*/
|
|
@@ -12,7 +12,7 @@ import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identit
|
|
|
12
12
|
* Describes the file kusinta/iot/reporting/v1/reporting.proto.
|
|
13
13
|
*/
|
|
14
14
|
export const file_kusinta_iot_reporting_v1_reporting = /*@__PURE__*/
|
|
15
|
-
fileDesc("
|
|
15
|
+
fileDesc("CihrdXNpbnRhL2lvdC9yZXBvcnRpbmcvdjEvcmVwb3J0aW5nLnByb3RvEhhrdXNpbnRhLmlvdC5yZXBvcnRpbmcudjEiPwoMU25hcHNob3RQYXJ0EhMKC3NuYXBzaG90X2lkGAEgASgJEgwKBHBhcnQYAiABKA0SDAoEbGFzdBgDIAEoCCLZAQoOUHJvYmxlbVN1YmplY3QSNgoJZGV2aWNlX2lkGAEgASgLMiEua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuRGV2aWNlSWRIABI8Cgxjb25uZWN0b3JfaWQYAiABKAsyJC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Db25uZWN0b3JJZEgAEjMKB3Jvb21faWQYAyABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkSAASEQoHZ2F0ZXdheRgEIAEoCEgAQgkKB3N1YmplY3Qi6gIKB1Byb2JsZW0SMwoEa2luZBgCIAEoDjIlLmt1c2ludGEuaW90LnJlcG9ydGluZy52MS5Qcm9ibGVtS2luZBI5CgdzdWJqZWN0GAMgASgLMigua3VzaW50YS5pb3QucmVwb3J0aW5nLnYxLlByb2JsZW1TdWJqZWN0EjIKCHNwYWNlX2lkGAQgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBItCglvcGVuZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhwKD2JhdHRlcnlfcGVyY2VudBgGIAEoDUgAiAEBEhQKDGRldmljZV9jb3VudBgHIAEoDRJECg9iYWNrZW5kX2ZhaWx1cmUYCCABKA4yKy5rdXNpbnRhLmlvdC5jb21tb24udjEuQmFja2VuZEZhaWx1cmVSZWFzb25CEgoQX2JhdHRlcnlfcGVyY2VudCJ3Cg5Qcm9ibGVtQ2xlYXJlZBIuCgpjbGVhcmVkX2F0GAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1CgZyZWFzb24YAiABKA4yJS5rdXNpbnRhLmlvdC5yZXBvcnRpbmcudjEuQ2xlYXJSZWFzb24irgEKEVByb2JsZW1UcmFuc2l0aW9uEhIKCnByb2JsZW1faWQYASABKAkSCwoDc2VxGAIgASgEEjEKBG9wZW4YAyABKAsyIS5rdXNpbnRhLmlvdC5yZXBvcnRpbmcudjEuUHJvYmxlbUgAEjsKB2NsZWFyZWQYBCABKAsyKC5rdXNpbnRhLmlvdC5yZXBvcnRpbmcudjEuUHJvYmxlbUNsZWFyZWRIAEIICgZjaGFuZ2Ui0AEKFVJlcG9ydFByb2JsZW1zUmVxdWVzdBIRCglzdHJlYW1faWQYAyABKAkSGwoTcHJldmlvdXNfc3RyZWFtX2lkcxgFIAMoCRILCgNzZXEYBCABKAQSQAoLdHJhbnNpdGlvbnMYASADKAsyKy5rdXNpbnRhLmlvdC5yZXBvcnRpbmcudjEuUHJvYmxlbVRyYW5zaXRpb24SOAoIc25hcHNob3QYAiABKAsyJi5rdXNpbnRhLmlvdC5yZXBvcnRpbmcudjEuU25hcHNob3RQYXJ0ImUKDVRyYW5zaXRpb25BY2sSEgoKcHJvYmxlbV9pZBgBIAEoCRILCgNzZXEYAiABKAQSMwoGc3RhdHVzGAMgASgOMiMua3VzaW50YS5pb3QucmVwb3J0aW5nLnYxLkFja1N0YXR1cyJ9ChZSZXBvcnRQcm9ibGVtc1Jlc3BvbnNlEjUKBGFja3MYASADKAsyJy5rdXNpbnRhLmlvdC5yZXBvcnRpbmcudjEuVHJhbnNpdGlvbkFjaxITCgthcHBsaWVkX3NlcRgDIAEoBBIXCg9yZXN5bmNfcmVxdWlyZWQYAiABKAgieAoMU2VydmljZVJlYWNoEjAKB3VzZXJfaWQYASABKAsyHy5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Vc2VySWQSNgoGc3BhY2VzGAMgAygLMiYua3VzaW50YS5pb3QucmVwb3J0aW5nLnYxLlJlYWNoZWRTcGFjZSJtCgxSZWFjaGVkU3BhY2USMgoIc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEikKBXNpbmNlGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKEAgoZUmVwb3J0U2VydmljZVJlYWNoUmVxdWVzdBIRCglzdHJlYW1faWQYBSABKAkSGwoTcHJldmlvdXNfc3RyZWFtX2lkcxgGIAMoCRILCgNzZXEYASABKAQSNQoFcmVhY2gYAiADKAsyJi5rdXNpbnRhLmlvdC5yZXBvcnRpbmcudjEuU2VydmljZVJlYWNoEjkKEHJlbW92ZWRfdXNlcl9pZHMYAyADKAsyHy5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Vc2VySWQSOAoIc25hcHNob3QYBCABKAsyJi5rdXNpbnRhLmlvdC5yZXBvcnRpbmcudjEuU25hcHNob3RQYXJ0IkoKGlJlcG9ydFNlcnZpY2VSZWFjaFJlc3BvbnNlEhMKC2FwcGxpZWRfc2VxGAEgASgEEhcKD3Jlc3luY19yZXF1aXJlZBgCIAEoCCLiAQoLU2VydmVkU3BhY2USMgoIc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEjQKCnNwYWNlX3R5cGUYAiABKA4yIC5rdXNpbnRhLmlvdC5jb21tb24udjEuU3BhY2VUeXBlEgwKBG5hbWUYAyABKAkSOQoPcGFyZW50X3NwYWNlX2lkGAQgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBINCgVmbG9vchgFIAEoBRIRCgl0aW1lX3pvbmUYBiABKAkihgIKGVJlcG9ydFNlcnZlZFNwYWNlc1JlcXVlc3QSEQoJc3RyZWFtX2lkGAUgASgJEhsKE3ByZXZpb3VzX3N0cmVhbV9pZHMYBiADKAkSCwoDc2VxGAEgASgEEjUKBnNwYWNlcxgCIAMoCzIlLmt1c2ludGEuaW90LnJlcG9ydGluZy52MS5TZXJ2ZWRTcGFjZRI7ChFyZW1vdmVkX3NwYWNlX2lkcxgDIAMoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSOAoIc25hcHNob3QYBCABKAsyJi5rdXNpbnRhLmlvdC5yZXBvcnRpbmcudjEuU25hcHNob3RQYXJ0IkoKGlJlcG9ydFNlcnZlZFNwYWNlc1Jlc3BvbnNlEhMKC2FwcGxpZWRfc2VxGAEgASgEEhcKD3Jlc3luY19yZXF1aXJlZBgCIAEoCCKmAQoNR2F0ZXdheU1lbWJlchIwCgd1c2VyX2lkGAEgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEioKBXJvbGVzGAIgAygOMhsua3VzaW50YS5pb3QuYWNjZXNzLnYxLlJvbGUSNwoTYWRtaW5pc3RyYXRvcl9zaW5jZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiggIKFFJlcG9ydE1lbWJlcnNSZXF1ZXN0EhEKCXN0cmVhbV9pZBgBIAEoCRIbChNwcmV2aW91c19zdHJlYW1faWRzGAIgAygJEgsKA3NlcRgDIAEoBBI4CgdtZW1iZXJzGAQgAygLMicua3VzaW50YS5pb3QucmVwb3J0aW5nLnYxLkdhdGV3YXlNZW1iZXISOQoQcmVtb3ZlZF91c2VyX2lkcxgFIAMoCzIfLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlVzZXJJZBI4CghzbmFwc2hvdBgGIAEoCzImLmt1c2ludGEuaW90LnJlcG9ydGluZy52MS5TbmFwc2hvdFBhcnQiRQoVUmVwb3J0TWVtYmVyc1Jlc3BvbnNlEhMKC2FwcGxpZWRfc2VxGAEgASgEEhcKD3Jlc3luY19yZXF1aXJlZBgCIAEoCCLIAQoZUmVwb3J0SW52aXRlUm91dGVzUmVxdWVzdBIRCglzdHJlYW1faWQYASABKAkSGwoTcHJldmlvdXNfc3RyZWFtX2lkcxgCIAMoCRILCgNzZXEYAyABKAQSFQoNc2VjcmV0X2hhc2hlcxgEIAMoDBIdChVyZW1vdmVkX3NlY3JldF9oYXNoZXMYBSADKAwSOAoIc25hcHNob3QYBiABKAsyJi5rdXNpbnRhLmlvdC5yZXBvcnRpbmcudjEuU25hcHNob3RQYXJ0IkoKGlJlcG9ydEludml0ZVJvdXRlc1Jlc3BvbnNlEhMKC2FwcGxpZWRfc2VxGAEgASgEEhcKD3Jlc3luY19yZXF1aXJlZBgCIAEoCCqGAwoLUHJvYmxlbUtpbmQSHAoYUFJPQkxFTV9LSU5EX1VOU1BFQ0lGSUVEEAASHwobUFJPQkxFTV9LSU5EX0RFVklDRV9PRkZMSU5FEAESHAoYUFJPQkxFTV9LSU5EX0JBVFRFUllfTE9XEAISKwonUFJPQkxFTV9LSU5EX0JBVFRFUllfUkVQTEFDRU1FTlRfTkVFREVEEAMSHQoZUFJPQkxFTV9LSU5EX0RFVklDRV9FUlJPUhAEEh4KGlBST0JMRU1fS0lORF9ERVZJQ0VfVEFNUEVSEAUSIgoeUFJPQkxFTV9LSU5EX0NPTk5FQ1RPUl9PRkZMSU5FEAYSIAocUFJPQkxFTV9LSU5EX0NPTk5FQ1RPUl9FUlJPUhAHEiAKHFBST0JMRU1fS0lORF9VTkZJTEVEX0RFVklDRVMQCBIcChhQUk9CTEVNX0tJTkRfV0lORE9XX09QRU4QCRIoCiRQUk9CTEVNX0tJTkRfRkxPT1JfWk9ORV9VTkNPTlRST0xMRUQQCiqfAgoLQ2xlYXJSZWFzb24SHAoYQ0xFQVJfUkVBU09OX1VOU1BFQ0lGSUVEEAASGgoWQ0xFQVJfUkVBU09OX1JFQ09WRVJFRBABEhYKEkNMRUFSX1JFQVNPTl9GSUxFRBACEh8KG0NMRUFSX1JFQVNPTl9ERVZJQ0VfUkVNT1ZFRBADEjAKLENMRUFSX1JFQVNPTl9TVVBFUlNFREVEX0JZX0NPTk5FQ1RPUl9PRkZMSU5FEAQSIwofQ0xFQVJfUkVBU09OX05PX0xPTkdFUl9SRVBPUlRFRBAFEhYKEkNMRUFSX1JFQVNPTl9NT1ZFRBAGEi4KKkNMRUFSX1JFQVNPTl9TVVBFUlNFREVEX0JZX0NPTk5FQ1RPUl9FUlJPUhAHKocBCglBY2tTdGF0dXMSGgoWQUNLX1NUQVRVU19VTlNQRUNJRklFRBAAEhYKEkFDS19TVEFUVVNfQVBQTElFRBABEhgKFEFDS19TVEFUVVNfRFVQTElDQVRFEAISFwoTQUNLX1NUQVRVU19SRUpFQ1RFRBADEhMKD0FDS19TVEFUVVNfSEVMRBAEQgJIAWIGcHJvdG8z", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_roles, file_kusinta_iot_common_v1_types, file_kusinta_iot_identity_v1_identity]);
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Describes the message kusinta.iot.reporting.v1.SnapshotPart.
|
|
@@ -161,9 +161,9 @@ export const ProblemKindSchema = /*@__PURE__*/
|
|
|
161
161
|
enumDesc(file_kusinta_iot_reporting_v1_reporting, 0);
|
|
162
162
|
|
|
163
163
|
/**
|
|
164
|
-
* What kind of problem is open. The device kinds mirror what
|
|
165
|
-
* device (webrtc.v1.ServiceStatus: reachability, the battery
|
|
166
|
-
* a device signal added there is added here too.
|
|
164
|
+
* What kind of problem is open. The device kinds, FLOOR_ZONE_UNCONTROLLED aside, mirror what
|
|
165
|
+
* service staff are given of a device (webrtc.v1.ServiceStatus: reachability, the battery
|
|
166
|
+
* flags, the ServiceFault values); a device signal added there is added here too.
|
|
167
167
|
*
|
|
168
168
|
* @generated from enum kusinta.iot.reporting.v1.ProblemKind
|
|
169
169
|
*/
|
|
@@ -50,11 +50,12 @@ export declare const vendor_attribute_capabilities: GenExtension<FieldOptions, n
|
|
|
50
50
|
/**
|
|
51
51
|
* The stable key identifying a vendor extension message, e.g. "homematic.thermostat".
|
|
52
52
|
* Matches device.v1.PropertyUpdate.vendor_extension byte for byte, and is what selects
|
|
53
|
-
* the Endpoint.vendor_properties case — or Endpoint.radio_link, for "kusinta.radio"
|
|
53
|
+
* the Endpoint.vendor_properties case — or Endpoint.radio_link, for "kusinta.radio", or
|
|
54
|
+
* Endpoint.heat_source, for "kusinta.heat_source".
|
|
54
55
|
*
|
|
55
|
-
* One key per message carried in Endpoint.vendor_properties or
|
|
56
|
-
* branch of the resolution rule is the same shape as the Matter branch: pick a
|
|
57
|
-
* by a message option, then one field by a field option. Nothing nests.
|
|
56
|
+
* One key per message carried in Endpoint.vendor_properties, radio_link or heat_source, so
|
|
57
|
+
* the vendor branch of the resolution rule is the same shape as the Matter branch: pick a
|
|
58
|
+
* message by a message option, then one field by a field option. Nothing nests.
|
|
58
59
|
*
|
|
59
60
|
* Form: "<vendor>.<what the message models>", lower_snake_case on both sides —
|
|
60
61
|
* "homematic.thermostat", and a humidity one would be "homematic.humidity_sensor". The
|
|
@@ -53,11 +53,12 @@ export const vendor_attribute_capabilities = /*@__PURE__*/
|
|
|
53
53
|
/**
|
|
54
54
|
* The stable key identifying a vendor extension message, e.g. "homematic.thermostat".
|
|
55
55
|
* Matches device.v1.PropertyUpdate.vendor_extension byte for byte, and is what selects
|
|
56
|
-
* the Endpoint.vendor_properties case — or Endpoint.radio_link, for "kusinta.radio"
|
|
56
|
+
* the Endpoint.vendor_properties case — or Endpoint.radio_link, for "kusinta.radio", or
|
|
57
|
+
* Endpoint.heat_source, for "kusinta.heat_source".
|
|
57
58
|
*
|
|
58
|
-
* One key per message carried in Endpoint.vendor_properties or
|
|
59
|
-
* branch of the resolution rule is the same shape as the Matter branch: pick a
|
|
60
|
-
* by a message option, then one field by a field option. Nothing nests.
|
|
59
|
+
* One key per message carried in Endpoint.vendor_properties, radio_link or heat_source, so
|
|
60
|
+
* the vendor branch of the resolution rule is the same shape as the Matter branch: pick a
|
|
61
|
+
* message by a message option, then one field by a field option. Nothing nests.
|
|
61
62
|
*
|
|
62
63
|
* Form: "<vendor>.<what the message models>", lower_snake_case on both sides —
|
|
63
64
|
* "homematic.thermostat", and a humidity one would be "homematic.humidity_sensor". The
|
|
@@ -95,7 +95,20 @@ export declare const CreateSpaceSchema: GenMessage<CreateSpace>;
|
|
|
95
95
|
* filed on the apartment, where it was in it — and any link it would carry across a
|
|
96
96
|
* boundary is removed. Changing the type of a space that has members needs
|
|
97
97
|
* ROLE_PROPERTY_OWNER or ROLE_GATEWAY_ADMIN, who see them, and is refused if it would
|
|
98
|
-
* leave a RESIDENT membership on a room
|
|
98
|
+
* leave a RESIDENT membership on a room, as INVALID_REQUEST with metadata
|
|
99
|
+
* {"reason": "resident_on_room"}.
|
|
100
|
+
*
|
|
101
|
+
* An apartment keeps its type while its household data is there. A change of an apartment's
|
|
102
|
+
* type is refused as FAILED_PRECONDITION with metadata {"reason": "handover_pending"} while a
|
|
103
|
+
* handover of the home is under way: pending (household.proto, HANDOVER, VACANCY), confirmed
|
|
104
|
+
* but its wipe not yet done, or its last residency ended and no handover recorded yet. It is
|
|
105
|
+
* refused as FAILED_PRECONDITION with metadata {"reason": "home_occupied"} while any residency
|
|
106
|
+
* of the home names someone: a current resident, or a past household whose data has not been
|
|
107
|
+
* wiped. The home's household data goes by a handover first (household.proto, HANDOVER, WIPE),
|
|
108
|
+
* never by a retype away and back. Neither refuses a change that leaves the type as it is, a
|
|
109
|
+
* rename among them. Every other check is made first — who may make the change, and the
|
|
110
|
+
* refusals of its shape as INVALID_REQUEST, "resident_on_room" among them — and
|
|
111
|
+
* "handover_pending" before "home_occupied".
|
|
99
112
|
*
|
|
100
113
|
* The name of an apartment is the building's identifier for it (space.v1.Space.name), and is
|
|
101
114
|
* changed only by the property owner or the gateway's administrators: from anyone else, a
|
|
@@ -182,6 +195,11 @@ export declare const UpdateSpaceSchema: GenMessage<UpdateSpace>;
|
|
|
182
195
|
* anything in one, is guarded as UpdateSpace is, heating records included
|
|
183
196
|
* (HEATING ACROSS A HOME).
|
|
184
197
|
*
|
|
198
|
+
* Refused as FAILED_PRECONDITION with metadata {"reason": "handover_pending"}, cascade or not,
|
|
199
|
+
* while a handover is under way, as UpdateSpace has it, of the home deleted or of any home
|
|
200
|
+
* beneath the space: a household's records go by its wipe (household.proto, WIPE), never by a
|
|
201
|
+
* deletion.
|
|
202
|
+
*
|
|
185
203
|
* @generated from message kusinta.iot.webrtc.v1.DeleteSpace
|
|
186
204
|
*/
|
|
187
205
|
export declare type DeleteSpace = Message<"kusinta.iot.webrtc.v1.DeleteSpace"> & {
|
|
@@ -1787,6 +1805,16 @@ export declare const SetHomeTemplateSchema: GenMessage<SetHomeTemplate>;
|
|
|
1787
1805
|
*
|
|
1788
1806
|
* FAILED_PRECONDITION
|
|
1789
1807
|
* "TEST_RUNNING" a test already drives one of its outputs.
|
|
1808
|
+
* "SG_READY_ORDER" OUTPUT_LEASE on one SG Ready input while a running test drives the
|
|
1809
|
+
* other input of the same plant, in either order: both held away from
|
|
1810
|
+
* rest is a state of the heat pump no test asks for. metadata "field"
|
|
1811
|
+
* names the input the running test drives.
|
|
1812
|
+
* "LAST_HEATING_ZONE" OUTPUT_LEASE or ZONE_EFFECT on a floor zone's output that would leave
|
|
1813
|
+
* its circuit no zone heating: the zone is the circuit's only one, or
|
|
1814
|
+
* every other zone of the circuit has its output driven by a running
|
|
1815
|
+
* test. A zone with no bound output counts as heating. Not refused once
|
|
1816
|
+
* the circuit's "floor.pump_tolerates_all_zones_off" is true
|
|
1817
|
+
* (commissioning.v1). metadata "record_id" names the zone.
|
|
1790
1818
|
* "NEEDS_PASS" ZONE_EFFECT or PUMP_ALL_ZONES_OFF on outputs without a current
|
|
1791
1819
|
* OUTPUT_LEASE pass; metadata "record_id" names one.
|
|
1792
1820
|
* "OUTPUT_NOT_LEASED" an output its producer does not state as leased, with a lapse value
|