@kusinta/iot-schema 0.2.0-beta.4 → 0.2.0-beta.40

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.
Files changed (67) hide show
  1. package/package.json +12 -1
  2. package/src/kusinta/iot/access/v1/acl_pb.d.ts +119 -2
  3. package/src/kusinta/iot/access/v1/acl_pb.js +20 -3
  4. package/src/kusinta/iot/access/v1/roles_pb.d.ts +131 -4
  5. package/src/kusinta/iot/access/v1/roles_pb.js +110 -5
  6. package/src/kusinta/iot/accountlink/v1/account_link_pb.d.ts +583 -0
  7. package/src/kusinta/iot/accountlink/v1/account_link_pb.js +160 -0
  8. package/src/kusinta/iot/climate/v1/climate_pb.d.ts +1041 -0
  9. package/src/kusinta/iot/climate/v1/climate_pb.js +206 -0
  10. package/src/kusinta/iot/commissioning/v1/commissioning_pb.d.ts +1128 -0
  11. package/src/kusinta/iot/commissioning/v1/commissioning_pb.js +246 -0
  12. package/src/kusinta/iot/common/v1/pairing_pb.d.ts +217 -0
  13. package/src/kusinta/iot/common/v1/pairing_pb.js +50 -0
  14. package/src/kusinta/iot/common/v1/types_pb.d.ts +175 -0
  15. package/src/kusinta/iot/common/v1/types_pb.js +70 -1
  16. package/src/kusinta/iot/connector/v1/connector_pb.d.ts +691 -2
  17. package/src/kusinta/iot/connector/v1/connector_pb.js +104 -13
  18. package/src/kusinta/iot/device/v1/cluster_state_pb.d.ts +213 -1
  19. package/src/kusinta/iot/device/v1/cluster_state_pb.js +37 -2
  20. package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +22 -2
  21. package/src/kusinta/iot/device/v1/descriptor_pb.js +2 -1
  22. package/src/kusinta/iot/device/v1/device_event_pb.d.ts +87 -5
  23. package/src/kusinta/iot/device/v1/device_event_pb.js +1 -1
  24. package/src/kusinta/iot/device/v1/device_pb.d.ts +164 -11
  25. package/src/kusinta/iot/device/v1/device_pb.js +33 -2
  26. package/src/kusinta/iot/device/v1/properties_pb.d.ts +26 -5
  27. package/src/kusinta/iot/device/v1/properties_pb.js +1 -1
  28. package/src/kusinta/iot/device/v1/property_update_pb.d.ts +28 -2
  29. package/src/kusinta/iot/device/v1/property_update_pb.js +2 -1
  30. package/src/kusinta/iot/heating/v1/heating_pb.d.ts +619 -0
  31. package/src/kusinta/iot/heating/v1/heating_pb.js +118 -0
  32. package/src/kusinta/iot/link/v1/link_pb.d.ts +438 -0
  33. package/src/kusinta/iot/link/v1/link_pb.js +121 -0
  34. package/src/kusinta/iot/registration/v1/registration_pb.d.ts +18 -0
  35. package/src/kusinta/iot/registration/v1/registration_pb.js +1 -1
  36. package/src/kusinta/iot/reporting/v1/reporting_pb.d.ts +1225 -0
  37. package/src/kusinta/iot/reporting/v1/reporting_pb.js +238 -0
  38. package/src/kusinta/iot/reporting/v1/reporting_service_pb.d.ts +63 -0
  39. package/src/kusinta/iot/reporting/v1/reporting_service_pb.js +24 -0
  40. package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +920 -7
  41. package/src/kusinta/iot/signaling/v1/signaling_pb.js +163 -4
  42. package/src/kusinta/iot/signaling/v1/signaling_service_pb.d.ts +24 -1
  43. package/src/kusinta/iot/signaling/v1/signaling_service_pb.js +1 -1
  44. package/src/kusinta/iot/space/v1/space_pb.d.ts +107 -2
  45. package/src/kusinta/iot/space/v1/space_pb.js +10 -1
  46. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +19 -3
  47. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +1 -1
  48. package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.d.ts +69 -0
  49. package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.js +19 -0
  50. package/src/kusinta/iot/vendor/v1/vendor_options_pb.d.ts +4 -4
  51. package/src/kusinta/iot/vendor/v1/vendor_options_pb.js +4 -4
  52. package/src/kusinta/iot/webrtc/v1/app_token_pb.d.ts +48 -5
  53. package/src/kusinta/iot/webrtc/v1/app_token_pb.js +1 -1
  54. package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +56 -0
  55. package/src/kusinta/iot/webrtc/v1/command_pb.js +1 -1
  56. package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +179 -5
  57. package/src/kusinta/iot/webrtc/v1/device_state_pb.js +35 -6
  58. package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +607 -3
  59. package/src/kusinta/iot/webrtc/v1/envelope_pb.js +68 -3
  60. package/src/kusinta/iot/webrtc/v1/invite_pb.d.ts +498 -0
  61. package/src/kusinta/iot/webrtc/v1/invite_pb.js +108 -0
  62. package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +1687 -75
  63. package/src/kusinta/iot/webrtc/v1/management_pb.js +261 -5
  64. package/src/kusinta/iot/webrtc/v1/members_pb.d.ts +536 -0
  65. package/src/kusinta/iot/webrtc/v1/members_pb.js +113 -0
  66. package/src/kusinta/iot/webrtc/v1/permission_push_pb.d.ts +66 -4
  67. package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +10 -2
@@ -0,0 +1,619 @@
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file kusinta/iot/heating/v1/heating.proto (package kusinta.iot.heating.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
+ import type { Message } from "@bufbuild/protobuf";
7
+ import type { DeviceId, SpaceId } from "../../identity/v1/identity_pb.js";
8
+ import type { AttributeRef } from "../../access/v1/acl_pb.js";
9
+ import type { AttributeValue } from "../../device/v1/cluster_state_pb.js";
10
+
11
+ /**
12
+ * Describes the file kusinta/iot/heating/v1/heating.proto.
13
+ */
14
+ export declare const file_kusinta_iot_heating_v1_heating: GenFile;
15
+
16
+ /**
17
+ * One attribute of one device: what a role reads or writes. Endpoint_id is required on the
18
+ * Matter branch of the attribute here — an absent endpoint is refused, never read as the
19
+ * root node.
20
+ *
21
+ * @generated from message kusinta.iot.heating.v1.DeviceAttribute
22
+ */
23
+ export declare type DeviceAttribute = Message<"kusinta.iot.heating.v1.DeviceAttribute"> & {
24
+ /**
25
+ * @generated from field: kusinta.iot.identity.v1.DeviceId device_id = 1;
26
+ */
27
+ deviceId?: DeviceId | undefined;
28
+
29
+ /**
30
+ * @generated from field: kusinta.iot.access.v1.AttributeRef attribute = 2;
31
+ */
32
+ attribute?: AttributeRef | undefined;
33
+ };
34
+
35
+ /**
36
+ * Describes the message kusinta.iot.heating.v1.DeviceAttribute.
37
+ * Use `create(DeviceAttributeSchema)` to create a new message.
38
+ */
39
+ export declare const DeviceAttributeSchema: GenMessage<DeviceAttribute>;
40
+
41
+ /**
42
+ * One device output switching one contact on the heating side: a floor zone's thermostat
43
+ * input, a heat-source input, a comfort load's supply.
44
+ *
45
+ * @generated from message kusinta.iot.heating.v1.ContactBinding
46
+ */
47
+ export declare type ContactBinding = Message<"kusinta.iot.heating.v1.ContactBinding"> & {
48
+ /**
49
+ * OnOff on a relay channel, or a vendor parameter.
50
+ *
51
+ * @generated from field: kusinta.iot.heating.v1.DeviceAttribute output = 1;
52
+ */
53
+ output?: DeviceAttribute | undefined;
54
+
55
+ /**
56
+ * The value of the output with which the contact is closed. A wiring fact, not a device
57
+ * fact: a changeover relay wired through its normally closed contact closes it with the
58
+ * channel off, so OnOff false. The producer cannot know it; whoever wires the relay
59
+ * states it, and the gateway reads every state of the role through it — never from the
60
+ * output's value alone.
61
+ *
62
+ * Each role has a fixed rest state (see the role), and the output's lapse value
63
+ * (device.v1.LeasedWrite.lapse_value), read through this value, must leave the contact
64
+ * where the role rests. Every comparison with this value matches type as well as value:
65
+ * an int 0 is not a bool false.
66
+ *
67
+ * @generated from field: kusinta.iot.device.v1.AttributeValue closed_value = 2;
68
+ */
69
+ closedValue?: AttributeValue | undefined;
70
+ };
71
+
72
+ /**
73
+ * Describes the message kusinta.iot.heating.v1.ContactBinding.
74
+ * Use `create(ContactBindingSchema)` to create a new message.
75
+ */
76
+ export declare const ContactBindingSchema: GenMessage<ContactBinding>;
77
+
78
+ /**
79
+ * One heat source.
80
+ *
81
+ * @generated from message kusinta.iot.heating.v1.HeatingPlant
82
+ */
83
+ export declare type HeatingPlant = Message<"kusinta.iot.heating.v1.HeatingPlant"> & {
84
+ /**
85
+ * Assigned by the gateway, unique among heating records; empty when creating.
86
+ *
87
+ * @generated from field: string plant_id = 1;
88
+ */
89
+ plantId: string;
90
+
91
+ /**
92
+ * The space the plant serves: a home, or a space outside homes for a central plant.
93
+ *
94
+ * @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 2;
95
+ */
96
+ spaceId?: SpaceId | undefined;
97
+
98
+ /**
99
+ * @generated from field: string name = 3;
100
+ */
101
+ name: string;
102
+
103
+ /**
104
+ * @generated from field: kusinta.iot.heating.v1.HeatSourceKind source = 4;
105
+ */
106
+ source: HeatSourceKind;
107
+
108
+ /**
109
+ * The device the heat source's own readings come from — its temperatures, compressor and
110
+ * hot-water state — when it has one. Read only: the gateway drives a heat source through
111
+ * the plant's control, never through this device.
112
+ *
113
+ * @generated from field: kusinta.iot.identity.v1.DeviceId readings_device_id = 5;
114
+ */
115
+ readingsDeviceId?: DeviceId | undefined;
116
+
117
+ /**
118
+ * How the gateway steers the heat source. Unset: it does not; the plant is read only. A
119
+ * control set binds at least one input.
120
+ *
121
+ * @generated from oneof kusinta.iot.heating.v1.HeatingPlant.control
122
+ */
123
+ control: {
124
+ /**
125
+ * @generated from field: kusinta.iot.heating.v1.HeatPumpControl heat_pump = 6;
126
+ */
127
+ value: HeatPumpControl;
128
+ case: "heatPump";
129
+ } | { case: undefined; value?: undefined };
130
+
131
+ /**
132
+ * The electricity or heat meter the plant is measured by.
133
+ *
134
+ * @generated from field: kusinta.iot.heating.v1.DeviceAttribute meter = 7;
135
+ */
136
+ meter?: DeviceAttribute | undefined;
137
+
138
+ /**
139
+ * See the file comment.
140
+ *
141
+ * @generated from field: uint64 revision = 8;
142
+ */
143
+ revision: bigint;
144
+ };
145
+
146
+ /**
147
+ * Describes the message kusinta.iot.heating.v1.HeatingPlant.
148
+ * Use `create(HeatingPlantSchema)` to create a new message.
149
+ */
150
+ export declare const HeatingPlantSchema: GenMessage<HeatingPlant>;
151
+
152
+ /**
153
+ * A heat pump's control inputs.
154
+ *
155
+ * @generated from message kusinta.iot.heating.v1.HeatPumpControl
156
+ */
157
+ export declare type HeatPumpControl = Message<"kusinta.iot.heating.v1.HeatPumpControl"> & {
158
+ /**
159
+ * The SG Ready inputs, by what each means closed alone: sg_ready_block closed alone
160
+ * blocks the heat pump, sg_ready_boost closed alone recommends running harder, both
161
+ * closed commands it to, and both open is normal operation. Both rest open, so a lapsed
162
+ * lease or a stopped gateway leaves the heat pump running normally. Bound together or not
163
+ * at all.
164
+ *
165
+ * They lapse separately, so their leases are ordered: while both are closed, the gateway
166
+ * gives sg_ready_block no longer a lease than sg_ready_boost, so the heat pump never passes
167
+ * through "blocked" on its way back to normal. In general, of two bound inputs, the one
168
+ * whose half-state blocks heat never lapses last.
169
+ *
170
+ * @generated from field: kusinta.iot.heating.v1.ContactBinding sg_ready_block = 1;
171
+ */
172
+ sgReadyBlock?: ContactBinding | undefined;
173
+
174
+ /**
175
+ * @generated from field: kusinta.iot.heating.v1.ContactBinding sg_ready_boost = 2;
176
+ */
177
+ sgReadyBoost?: ContactBinding | undefined;
178
+
179
+ /**
180
+ * The input that blocks the heat pump's add-on (electric) heater while closed. Rests
181
+ * open: the add-on heater is allowed.
182
+ *
183
+ * @generated from field: kusinta.iot.heating.v1.ContactBinding add_on_heater_block = 3;
184
+ */
185
+ addOnHeaterBlock?: ContactBinding | undefined;
186
+ };
187
+
188
+ /**
189
+ * Describes the message kusinta.iot.heating.v1.HeatPumpControl.
190
+ * Use `create(HeatPumpControlSchema)` to create a new message.
191
+ */
192
+ export declare const HeatPumpControlSchema: GenMessage<HeatPumpControl>;
193
+
194
+ /**
195
+ * One heating circuit of a plant. Supply temperature and its cap are per circuit.
196
+ *
197
+ * @generated from message kusinta.iot.heating.v1.HeatingCircuit
198
+ */
199
+ export declare type HeatingCircuit = Message<"kusinta.iot.heating.v1.HeatingCircuit"> & {
200
+ /**
201
+ * Assigned by the gateway, unique among heating records; empty when creating.
202
+ *
203
+ * @generated from field: string circuit_id = 1;
204
+ */
205
+ circuitId: string;
206
+
207
+ /**
208
+ * @generated from field: string plant_id = 2;
209
+ */
210
+ plantId: string;
211
+
212
+ /**
213
+ * @generated from field: string name = 3;
214
+ */
215
+ name: string;
216
+
217
+ /**
218
+ * @generated from oneof kusinta.iot.heating.v1.HeatingCircuit.distribution
219
+ */
220
+ distribution: {
221
+ /**
222
+ * @generated from field: kusinta.iot.heating.v1.RadiatorCircuit radiator = 4;
223
+ */
224
+ value: RadiatorCircuit;
225
+ case: "radiator";
226
+ } | {
227
+ /**
228
+ * @generated from field: kusinta.iot.heating.v1.FloorCircuit floor = 5;
229
+ */
230
+ value: FloorCircuit;
231
+ case: "floor";
232
+ } | { case: undefined; value?: undefined };
233
+
234
+ /**
235
+ * See the file comment.
236
+ *
237
+ * @generated from field: uint64 revision = 6;
238
+ */
239
+ revision: bigint;
240
+ };
241
+
242
+ /**
243
+ * Describes the message kusinta.iot.heating.v1.HeatingCircuit.
244
+ * Use `create(HeatingCircuitSchema)` to create a new message.
245
+ */
246
+ export declare const HeatingCircuitSchema: GenMessage<HeatingCircuit>;
247
+
248
+ /**
249
+ * A radiator circuit. Its valves belong to the rooms (climate.v1.RoomClimate).
250
+ *
251
+ * @generated from message kusinta.iot.heating.v1.RadiatorCircuit
252
+ */
253
+ export declare type RadiatorCircuit = Message<"kusinta.iot.heating.v1.RadiatorCircuit"> & {
254
+ };
255
+
256
+ /**
257
+ * Describes the message kusinta.iot.heating.v1.RadiatorCircuit.
258
+ * Use `create(RadiatorCircuitSchema)` to create a new message.
259
+ */
260
+ export declare const RadiatorCircuitSchema: GenMessage<RadiatorCircuit>;
261
+
262
+ /**
263
+ * Hydronic floor heating: its own pump, mixing and supply cap, and the floor zones on its
264
+ * manifold.
265
+ *
266
+ * @generated from message kusinta.iot.heating.v1.FloorCircuit
267
+ */
268
+ export declare type FloorCircuit = Message<"kusinta.iot.heating.v1.FloorCircuit"> & {
269
+ /**
270
+ * Whether a mixing valve feeds the circuit.
271
+ *
272
+ * @generated from field: bool mixing_valve = 1;
273
+ */
274
+ mixingValve: boolean;
275
+
276
+ /**
277
+ * The supply temperature its self-acting limiter caps it at, in centidegrees. Absent: not
278
+ * known, never 0 °C.
279
+ *
280
+ * @generated from field: optional sint32 supply_cap_centidegrees = 2;
281
+ */
282
+ supplyCapCentidegrees?: number | undefined;
283
+
284
+ /**
285
+ * Probes on the supply (after mixing) and the return.
286
+ *
287
+ * @generated from field: kusinta.iot.heating.v1.DeviceAttribute supply_probe = 3;
288
+ */
289
+ supplyProbe?: DeviceAttribute | undefined;
290
+
291
+ /**
292
+ * @generated from field: kusinta.iot.heating.v1.DeviceAttribute return_probe = 4;
293
+ */
294
+ returnProbe?: DeviceAttribute | undefined;
295
+ };
296
+
297
+ /**
298
+ * Describes the message kusinta.iot.heating.v1.FloorCircuit.
299
+ * Use `create(FloorCircuitSchema)` to create a new message.
300
+ */
301
+ export declare const FloorCircuitSchema: GenMessage<FloorCircuit>;
302
+
303
+ /**
304
+ * One loop or group of loops on a floor circuit's manifold, switched by one output on its
305
+ * wiring centre's thermostat input. The output's contact closed means the zone heats, and it
306
+ * rests closed: when the gateway is gone the zone heats, capped only by the circuit's supply
307
+ * limiter.
308
+ *
309
+ * @generated from message kusinta.iot.heating.v1.FloorZone
310
+ */
311
+ export declare type FloorZone = Message<"kusinta.iot.heating.v1.FloorZone"> & {
312
+ /**
313
+ * Assigned by the gateway, unique among heating records; empty when creating.
314
+ *
315
+ * @generated from field: string zone_id = 1;
316
+ */
317
+ zoneId: string;
318
+
319
+ /**
320
+ * A FLOOR circuit.
321
+ *
322
+ * @generated from field: string circuit_id = 2;
323
+ */
324
+ circuitId: string;
325
+
326
+ /**
327
+ * As marked on the manifold or the drawing ("SL 2").
328
+ *
329
+ * @generated from field: string name = 3;
330
+ */
331
+ name: string;
332
+
333
+ /**
334
+ * @generated from field: kusinta.iot.heating.v1.ContactBinding output = 4;
335
+ */
336
+ output?: ContactBinding | undefined;
337
+
338
+ /**
339
+ * The rooms the zone heats, each a room within its plant's space, listed once, with a
340
+ * share above 0 and shares summing to 1000. A zone may heat several rooms and a room may
341
+ * be heated by several zones.
342
+ *
343
+ * @generated from field: repeated kusinta.iot.heating.v1.FloorZoneRoom rooms = 5;
344
+ */
345
+ rooms: FloorZoneRoom[];
346
+
347
+ /**
348
+ * One of rooms. Only its error, its sensor and its open window steer the zone.
349
+ *
350
+ * @generated from field: kusinta.iot.identity.v1.SpaceId control_room_id = 6;
351
+ */
352
+ controlRoomId?: SpaceId | undefined;
353
+
354
+ /**
355
+ * See the file comment.
356
+ *
357
+ * @generated from field: uint64 revision = 7;
358
+ */
359
+ revision: bigint;
360
+ };
361
+
362
+ /**
363
+ * Describes the message kusinta.iot.heating.v1.FloorZone.
364
+ * Use `create(FloorZoneSchema)` to create a new message.
365
+ */
366
+ export declare const FloorZoneSchema: GenMessage<FloorZone>;
367
+
368
+ /**
369
+ * @generated from message kusinta.iot.heating.v1.FloorZoneRoom
370
+ */
371
+ export declare type FloorZoneRoom = Message<"kusinta.iot.heating.v1.FloorZoneRoom"> & {
372
+ /**
373
+ * @generated from field: kusinta.iot.identity.v1.SpaceId room_id = 1;
374
+ */
375
+ roomId?: SpaceId | undefined;
376
+
377
+ /**
378
+ * This room's share of the zone's loop area, in thousandths.
379
+ *
380
+ * @generated from field: uint32 area_share_permille = 2;
381
+ */
382
+ areaSharePermille: number;
383
+ };
384
+
385
+ /**
386
+ * Describes the message kusinta.iot.heating.v1.FloorZoneRoom.
387
+ * Use `create(FloorZoneRoomSchema)` to create a new message.
388
+ */
389
+ export declare const FloorZoneRoomSchema: GenMessage<FloorZoneRoom>;
390
+
391
+ /**
392
+ * An electric load kept warm for comfort rather than heating a room to a target — a heated
393
+ * bathroom floor, a towel heater — run inside its time windows. Its output's contact closed
394
+ * means the load may heat under its own thermostat, and it rests closed: when the gateway is
395
+ * gone the load works as it did before.
396
+ *
397
+ * @generated from message kusinta.iot.heating.v1.ComfortLoad
398
+ */
399
+ export declare type ComfortLoad = Message<"kusinta.iot.heating.v1.ComfortLoad"> & {
400
+ /**
401
+ * Assigned by the gateway, unique among heating records; empty when creating.
402
+ *
403
+ * @generated from field: string comfort_load_id = 1;
404
+ */
405
+ comfortLoadId: string;
406
+
407
+ /**
408
+ * @generated from field: kusinta.iot.identity.v1.SpaceId room_id = 2;
409
+ */
410
+ roomId?: SpaceId | undefined;
411
+
412
+ /**
413
+ * @generated from field: string name = 3;
414
+ */
415
+ name: string;
416
+
417
+ /**
418
+ * @generated from field: kusinta.iot.heating.v1.ContactBinding output = 4;
419
+ */
420
+ output?: ContactBinding | undefined;
421
+
422
+ /**
423
+ * When the load may heat: the union of its windows, at most 16. Empty: only when the
424
+ * plan allows it for price. Set with SetComfortWindows, never in a put, which keeps them.
425
+ * While the building's time zone is not known (space.v1.Space.time_zone unset) no window
426
+ * applies and the load is left at rest, heating under its own thermostat.
427
+ *
428
+ * @generated from field: repeated kusinta.iot.heating.v1.ComfortWindow windows = 5;
429
+ */
430
+ windows: ComfortWindow[];
431
+
432
+ /**
433
+ * See the file comment.
434
+ *
435
+ * @generated from field: uint64 revision = 6;
436
+ */
437
+ revision: bigint;
438
+
439
+ /**
440
+ * Set by the gateway and bumped by every SetComfortWindows; see SetComfortWindows.
441
+ *
442
+ * @generated from field: uint64 windows_revision = 7;
443
+ */
444
+ windowsRevision: bigint;
445
+
446
+ /**
447
+ * Set when windows is left out for the recipient — an installer under a commissioning
448
+ * grant — so that an empty list is not read as "only when the plan allows it for price".
449
+ *
450
+ * @generated from field: bool windows_withheld = 8;
451
+ */
452
+ windowsWithheld: boolean;
453
+ };
454
+
455
+ /**
456
+ * Describes the message kusinta.iot.heating.v1.ComfortLoad.
457
+ * Use `create(ComfortLoadSchema)` to create a new message.
458
+ */
459
+ export declare const ComfortLoadSchema: GenMessage<ComfortLoad>;
460
+
461
+ /**
462
+ * A recurring stretch of the building's local day (space.v1.Space.time_zone).
463
+ *
464
+ * @generated from message kusinta.iot.heating.v1.ComfortWindow
465
+ */
466
+ export declare type ComfortWindow = Message<"kusinta.iot.heating.v1.ComfortWindow"> & {
467
+ /**
468
+ * The days it starts on: bit 0 Monday through bit 6 Sunday, at least one, no higher bit.
469
+ * Not Matter's day bitmap, which starts on Sunday.
470
+ *
471
+ * @generated from field: uint32 weekdays = 1;
472
+ */
473
+ weekdays: number;
474
+
475
+ /**
476
+ * Minutes after local midnight: start 0–1439, end 1–1440 and exclusive, never equal, so 0
477
+ * to 1440 is a whole day. A window whose end is before its start runs past midnight into
478
+ * the next day.
479
+ *
480
+ * On a day that changes to or from daylight saving, minutes are local wall-clock time: a
481
+ * start or end in the skipped hour falls at the first minute after it, and a repeated
482
+ * hour counts once, at its first occurrence.
483
+ *
484
+ * @generated from field: uint32 start_minute = 2;
485
+ */
486
+ startMinute: number;
487
+
488
+ /**
489
+ * @generated from field: uint32 end_minute = 3;
490
+ */
491
+ endMinute: number;
492
+ };
493
+
494
+ /**
495
+ * Describes the message kusinta.iot.heating.v1.ComfortWindow.
496
+ * Use `create(ComfortWindowSchema)` to create a new message.
497
+ */
498
+ export declare const ComfortWindowSchema: GenMessage<ComfortWindow>;
499
+
500
+ /**
501
+ * The heating records a caller may see under a space, in reply to ListHeating.
502
+ *
503
+ * @generated from message kusinta.iot.heating.v1.HeatingLayout
504
+ */
505
+ export declare type HeatingLayout = Message<"kusinta.iot.heating.v1.HeatingLayout"> & {
506
+ /**
507
+ * @generated from field: repeated kusinta.iot.heating.v1.HeatingPlant plants = 1;
508
+ */
509
+ plants: HeatingPlant[];
510
+
511
+ /**
512
+ * @generated from field: repeated kusinta.iot.heating.v1.HeatingCircuit circuits = 2;
513
+ */
514
+ circuits: HeatingCircuit[];
515
+
516
+ /**
517
+ * @generated from field: repeated kusinta.iot.heating.v1.FloorZone floor_zones = 3;
518
+ */
519
+ floorZones: FloorZone[];
520
+
521
+ /**
522
+ * @generated from field: repeated kusinta.iot.heating.v1.ComfortLoad comfort_loads = 4;
523
+ */
524
+ comfortLoads: ComfortLoad[];
525
+ };
526
+
527
+ /**
528
+ * Describes the message kusinta.iot.heating.v1.HeatingLayout.
529
+ * Use `create(HeatingLayoutSchema)` to create a new message.
530
+ */
531
+ export declare const HeatingLayoutSchema: GenMessage<HeatingLayout>;
532
+
533
+ /**
534
+ * One heating record as stored, in reply to a put.
535
+ *
536
+ * @generated from message kusinta.iot.heating.v1.HeatingRecord
537
+ */
538
+ export declare type HeatingRecord = Message<"kusinta.iot.heating.v1.HeatingRecord"> & {
539
+ /**
540
+ * @generated from oneof kusinta.iot.heating.v1.HeatingRecord.record
541
+ */
542
+ record: {
543
+ /**
544
+ * @generated from field: kusinta.iot.heating.v1.HeatingPlant plant = 1;
545
+ */
546
+ value: HeatingPlant;
547
+ case: "plant";
548
+ } | {
549
+ /**
550
+ * @generated from field: kusinta.iot.heating.v1.HeatingCircuit circuit = 2;
551
+ */
552
+ value: HeatingCircuit;
553
+ case: "circuit";
554
+ } | {
555
+ /**
556
+ * @generated from field: kusinta.iot.heating.v1.FloorZone floor_zone = 3;
557
+ */
558
+ value: FloorZone;
559
+ case: "floorZone";
560
+ } | {
561
+ /**
562
+ * @generated from field: kusinta.iot.heating.v1.ComfortLoad comfort_load = 4;
563
+ */
564
+ value: ComfortLoad;
565
+ case: "comfortLoad";
566
+ } | { case: undefined; value?: undefined };
567
+ };
568
+
569
+ /**
570
+ * Describes the message kusinta.iot.heating.v1.HeatingRecord.
571
+ * Use `create(HeatingRecordSchema)` to create a new message.
572
+ */
573
+ export declare const HeatingRecordSchema: GenMessage<HeatingRecord>;
574
+
575
+ /**
576
+ * @generated from enum kusinta.iot.heating.v1.HeatSourceKind
577
+ */
578
+ export enum HeatSourceKind {
579
+ /**
580
+ * @generated from enum value: HEAT_SOURCE_KIND_UNSPECIFIED = 0;
581
+ */
582
+ UNSPECIFIED = 0,
583
+
584
+ /**
585
+ * @generated from enum value: HEAT_SOURCE_KIND_EXHAUST_AIR_HEAT_PUMP = 1;
586
+ */
587
+ EXHAUST_AIR_HEAT_PUMP = 1,
588
+
589
+ /**
590
+ * @generated from enum value: HEAT_SOURCE_KIND_GROUND_SOURCE_HEAT_PUMP = 2;
591
+ */
592
+ GROUND_SOURCE_HEAT_PUMP = 2,
593
+
594
+ /**
595
+ * @generated from enum value: HEAT_SOURCE_KIND_AIR_WATER_HEAT_PUMP = 3;
596
+ */
597
+ AIR_WATER_HEAT_PUMP = 3,
598
+
599
+ /**
600
+ * @generated from enum value: HEAT_SOURCE_KIND_DISTRICT_HEATING = 4;
601
+ */
602
+ DISTRICT_HEATING = 4,
603
+
604
+ /**
605
+ * @generated from enum value: HEAT_SOURCE_KIND_ELECTRIC_BOILER = 5;
606
+ */
607
+ ELECTRIC_BOILER = 5,
608
+
609
+ /**
610
+ * @generated from enum value: HEAT_SOURCE_KIND_FUEL_BOILER = 6;
611
+ */
612
+ FUEL_BOILER = 6,
613
+ }
614
+
615
+ /**
616
+ * Describes the enum kusinta.iot.heating.v1.HeatSourceKind.
617
+ */
618
+ export declare const HeatSourceKindSchema: GenEnum<HeatSourceKind>;
619
+