@kusinta/iot-schema 0.2.0-beta.1 → 0.2.0-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +8 -1
- package/src/kusinta/iot/access/v1/acl_pb.d.ts +130 -0
- package/src/kusinta/iot/access/v1/acl_pb.js +19 -5
- package/src/kusinta/iot/access/v1/roles_pb.d.ts +80 -14
- package/src/kusinta/iot/access/v1/roles_pb.js +33 -1
- package/src/kusinta/iot/common/v1/pairing_pb.d.ts +201 -0
- package/src/kusinta/iot/common/v1/pairing_pb.js +50 -0
- package/src/kusinta/iot/common/v1/types_pb.d.ts +34 -0
- package/src/kusinta/iot/common/v1/types_pb.js +22 -1
- package/src/kusinta/iot/connector/v1/connector_pb.d.ts +476 -7
- package/src/kusinta/iot/connector/v1/connector_pb.js +70 -12
- package/src/kusinta/iot/device/v1/cluster_state_pb.d.ts +25 -0
- package/src/kusinta/iot/device/v1/cluster_state_pb.js +1 -1
- package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +16 -1
- package/src/kusinta/iot/device/v1/descriptor_pb.js +2 -1
- package/src/kusinta/iot/device/v1/device_pb.d.ts +34 -3
- package/src/kusinta/iot/device/v1/device_pb.js +1 -1
- package/src/kusinta/iot/device/v1/matter_options_pb.d.ts +26 -0
- package/src/kusinta/iot/device/v1/matter_options_pb.js +31 -4
- package/src/kusinta/iot/device/v1/properties_pb.d.ts +14 -0
- package/src/kusinta/iot/device/v1/properties_pb.js +1 -1
- package/src/kusinta/iot/link/v1/link_pb.d.ts +419 -0
- package/src/kusinta/iot/link/v1/link_pb.js +121 -0
- package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +162 -13
- package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +8 -1
- package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.d.ts +69 -0
- package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.js +19 -0
- package/src/kusinta/iot/vendor/v1/vendor_options_pb.d.ts +21 -0
- package/src/kusinta/iot/vendor/v1/vendor_options_pb.js +24 -2
- package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +14 -6
- package/src/kusinta/iot/webrtc/v1/command_pb.js +2 -1
- package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +12 -6
- package/src/kusinta/iot/webrtc/v1/device_state_pb.js +5 -5
- package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +339 -5
- package/src/kusinta/iot/webrtc/v1/envelope_pb.js +48 -3
- package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +246 -3
- package/src/kusinta/iot/webrtc/v1/management_pb.js +42 -5
- package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +2 -2
- package/src/kusinta/iot/webrtc/v1/setpoint_mode_pb.d.ts +63 -0
- package/src/kusinta/iot/webrtc/v1/setpoint_mode_pb.js +45 -0
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
|
|
2
|
+
// @generated from file kusinta/iot/link/v1/link.proto (package kusinta.iot.link.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 } from "../../identity/v1/identity_pb.js";
|
|
8
|
+
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
9
|
+
import type { AttributeRef } from "../../access/v1/acl_pb.js";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Describes the file kusinta/iot/link/v1/link.proto.
|
|
13
|
+
*/
|
|
14
|
+
export declare const file_kusinta_iot_link_v1_link: GenFile;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* What a gateway-kept link of a given function needs told to it.
|
|
18
|
+
*
|
|
19
|
+
* Only a soft link has settings at all — see LINK_MODE_HARD for why there is
|
|
20
|
+
* nothing in a device-to-device link for anyone to tune. And what a soft link
|
|
21
|
+
* needs differs entirely by function: a climate lead needs a target
|
|
22
|
+
* temperature, while forwarding a window's open state needs nothing whatsoever.
|
|
23
|
+
* Hence a oneof per function rather than a flat set of fields: the second
|
|
24
|
+
* function to arrive must not turn this into a bag of unrelated optionals named
|
|
25
|
+
* after the first.
|
|
26
|
+
*
|
|
27
|
+
* A function with no arm here has nothing to configure, and an attempt to
|
|
28
|
+
* configure it should be refused rather than accepted as a no-op.
|
|
29
|
+
*
|
|
30
|
+
* @generated from message kusinta.iot.link.v1.LinkSettings
|
|
31
|
+
*/
|
|
32
|
+
export declare type LinkSettings = Message<"kusinta.iot.link.v1.LinkSettings"> & {
|
|
33
|
+
/**
|
|
34
|
+
* @generated from oneof kusinta.iot.link.v1.LinkSettings.per_function
|
|
35
|
+
*/
|
|
36
|
+
perFunction: {
|
|
37
|
+
/**
|
|
38
|
+
* @generated from field: kusinta.iot.link.v1.ClimateLeadSettings climate_lead = 1;
|
|
39
|
+
*/
|
|
40
|
+
value: ClimateLeadSettings;
|
|
41
|
+
case: "climateLead";
|
|
42
|
+
} | { case: undefined; value?: undefined };
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Describes the message kusinta.iot.link.v1.LinkSettings.
|
|
47
|
+
* Use `create(LinkSettingsSchema)` to create a new message.
|
|
48
|
+
*/
|
|
49
|
+
export declare const LinkSettingsSchema: GenMessage<LinkSettings>;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Settings for a gateway-kept LINK_FUNCTION_CLIMATE_LEAD.
|
|
53
|
+
*
|
|
54
|
+
* @generated from message kusinta.iot.link.v1.ClimateLeadSettings
|
|
55
|
+
*/
|
|
56
|
+
export declare type ClimateLeadSettings = Message<"kusinta.iot.link.v1.ClimateLeadSettings"> & {
|
|
57
|
+
/**
|
|
58
|
+
* The temperature this link is to hold, in centidegrees — the unit and
|
|
59
|
+
* encoding device/v1/properties.proto declares for every temperature in this
|
|
60
|
+
* schema, so nothing converts between the target and the readings it is
|
|
61
|
+
* compared against.
|
|
62
|
+
*
|
|
63
|
+
* Deliberately not the receiver's own setpoint attribute. A gateway steering
|
|
64
|
+
* a radiator valve it cannot feed a measurement to has only that setpoint to
|
|
65
|
+
* act through, so the setpoint becomes an actuator position which moves on
|
|
66
|
+
* its own and settles wherever the target needs it to. It stops being a
|
|
67
|
+
* statement of what anybody asked for, which is why the request is kept here.
|
|
68
|
+
*
|
|
69
|
+
* Per link, and a sender may lead several receivers — a room with more than
|
|
70
|
+
* one radiator is the ordinary case, and each of its links carries this
|
|
71
|
+
* number separately. An interface offering "the temperature in here" is
|
|
72
|
+
* therefore setting several links at once and is responsible for keeping them
|
|
73
|
+
* equal; nothing on this wire enforces it. A single target per room needs a
|
|
74
|
+
* room to hang it on, which is a larger idea than a link.
|
|
75
|
+
*
|
|
76
|
+
* One target, not one per heating and cooling mode: this addresses a valve
|
|
77
|
+
* that only heats. A device that can do both would need the setpoint's mode
|
|
78
|
+
* named alongside, the way webrtc/v1/setpoint_mode.proto names it for a
|
|
79
|
+
* command, and that is a new arm rather than a reinterpretation of this one.
|
|
80
|
+
*
|
|
81
|
+
* Explicit presence, per the rule properties.proto sets out: a settings
|
|
82
|
+
* message present with this never set must not be indistinguishable from a
|
|
83
|
+
* request to hold the room at 0.00 °C.
|
|
84
|
+
*
|
|
85
|
+
* @generated from field: optional sint32 target_setpoint = 1;
|
|
86
|
+
*/
|
|
87
|
+
targetSetpoint?: number | undefined;
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Describes the message kusinta.iot.link.v1.ClimateLeadSettings.
|
|
92
|
+
* Use `create(ClimateLeadSettingsSchema)` to create a new message.
|
|
93
|
+
*/
|
|
94
|
+
export declare const ClimateLeadSettingsSchema: GenMessage<ClimateLeadSettings>;
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* One device leading another.
|
|
98
|
+
*
|
|
99
|
+
* @generated from message kusinta.iot.link.v1.DeviceLink
|
|
100
|
+
*/
|
|
101
|
+
export declare type DeviceLink = Message<"kusinta.iot.link.v1.DeviceLink"> & {
|
|
102
|
+
/**
|
|
103
|
+
* @generated from field: string link_id = 1;
|
|
104
|
+
*/
|
|
105
|
+
linkId: string;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Which device leads. This is the control surface for the pair: for a climate
|
|
109
|
+
* link, the setpoint that governs both is written here.
|
|
110
|
+
*
|
|
111
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId sender = 2;
|
|
112
|
+
*/
|
|
113
|
+
sender?: DeviceId | undefined;
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Which device follows. One sender may lead several receivers — a room with
|
|
117
|
+
* more than one radiator is the ordinary case — and each is its own link.
|
|
118
|
+
* Several senders leading one receiver is not modelled: combining two
|
|
119
|
+
* measurements needs a policy, and no policy is defined.
|
|
120
|
+
*
|
|
121
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId receiver = 3;
|
|
122
|
+
*/
|
|
123
|
+
receiver?: DeviceId | undefined;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* @generated from field: kusinta.iot.link.v1.LinkFunction function = 4;
|
|
127
|
+
*/
|
|
128
|
+
function: LinkFunction;
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* @generated from field: kusinta.iot.link.v1.LinkMode mode = 5;
|
|
132
|
+
*/
|
|
133
|
+
mode: LinkMode;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* @generated from field: kusinta.iot.link.v1.LinkState state = 6;
|
|
137
|
+
*/
|
|
138
|
+
state: LinkState;
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* @generated from field: google.protobuf.Timestamp created_at = 7;
|
|
142
|
+
*/
|
|
143
|
+
createdAt?: Timestamp | undefined;
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Why the link is not carrying, when state says it is not. Free text for a
|
|
147
|
+
* person, never parsed.
|
|
148
|
+
*
|
|
149
|
+
* @generated from field: string state_detail = 8;
|
|
150
|
+
*/
|
|
151
|
+
stateDetail: string;
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* How this link is configured, where its mode and function give it anything
|
|
155
|
+
* to configure. Unset on every hard link, and on a soft one nobody has set up
|
|
156
|
+
* yet — which is a link that exists and is not doing anything, not an error.
|
|
157
|
+
*
|
|
158
|
+
* Carried on the link rather than left to be asked for separately, because an
|
|
159
|
+
* interface showing a soft climate link has to show the room's target next to
|
|
160
|
+
* it, and the receiver's own setpoint is not that number.
|
|
161
|
+
*
|
|
162
|
+
* @generated from field: kusinta.iot.link.v1.LinkSettings settings = 9;
|
|
163
|
+
*/
|
|
164
|
+
settings?: LinkSettings | undefined;
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Describes the message kusinta.iot.link.v1.DeviceLink.
|
|
169
|
+
* Use `create(DeviceLinkSchema)` to create a new message.
|
|
170
|
+
*/
|
|
171
|
+
export declare const DeviceLinkSchema: GenMessage<DeviceLink>;
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* What a device can be linked as, declared by the connector that models it.
|
|
175
|
+
*
|
|
176
|
+
* Without this an interface cannot offer a sensible choice: it has no way to know
|
|
177
|
+
* which of two devices may lead, whether a hub can broker them, or which
|
|
178
|
+
* attribute carries the quantity in question. Matching is mechanical — the same
|
|
179
|
+
* function, opposite directions, and a mode both ends support.
|
|
180
|
+
*
|
|
181
|
+
* Declared per device rather than per endpoint. Endpoint would be more precise,
|
|
182
|
+
* but the channels a link actually attaches to frequently carry no readings and
|
|
183
|
+
* so are not announced as endpoints at all; a per-endpoint declaration would have
|
|
184
|
+
* nowhere honest to live. The reserved range on DeviceLink is where that would go
|
|
185
|
+
* if a vendor ever needs it.
|
|
186
|
+
*
|
|
187
|
+
* @generated from message kusinta.iot.link.v1.LinkCapability
|
|
188
|
+
*/
|
|
189
|
+
export declare type LinkCapability = Message<"kusinta.iot.link.v1.LinkCapability"> & {
|
|
190
|
+
/**
|
|
191
|
+
* @generated from field: kusinta.iot.link.v1.LinkFunction function = 1;
|
|
192
|
+
*/
|
|
193
|
+
function: LinkFunction;
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* @generated from field: kusinta.iot.link.v1.LinkDirection direction = 2;
|
|
197
|
+
*/
|
|
198
|
+
direction: LinkDirection;
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Modes this device supports for this function. A hard link additionally
|
|
202
|
+
* requires the other end to be on the same hub, which this cannot state alone.
|
|
203
|
+
*
|
|
204
|
+
* @generated from field: repeated kusinta.iot.link.v1.LinkMode supported_modes = 3;
|
|
205
|
+
*/
|
|
206
|
+
supportedModes: LinkMode[];
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* This device's own attribute for this function — the one it reads as a
|
|
210
|
+
* sender, or the one it is driven through as a receiver. Present because the
|
|
211
|
+
* two ends of a link need not speak the same cluster.
|
|
212
|
+
*
|
|
213
|
+
* @generated from field: kusinta.iot.access.v1.AttributeRef attribute = 4;
|
|
214
|
+
*/
|
|
215
|
+
attribute?: AttributeRef | undefined;
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Human-readable, from the connector, in whatever locale it was given. For
|
|
219
|
+
* display beside a choice; never matched on.
|
|
220
|
+
*
|
|
221
|
+
* @generated from field: string label = 5;
|
|
222
|
+
*/
|
|
223
|
+
label: string;
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Describes the message kusinta.iot.link.v1.LinkCapability.
|
|
228
|
+
* Use `create(LinkCapabilitySchema)` to create a new message.
|
|
229
|
+
*/
|
|
230
|
+
export declare const LinkCapabilitySchema: GenMessage<LinkCapability>;
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Every link a caller was shown, in reply to a listing.
|
|
234
|
+
*
|
|
235
|
+
* @generated from message kusinta.iot.link.v1.DeviceLinkList
|
|
236
|
+
*/
|
|
237
|
+
export declare type DeviceLinkList = Message<"kusinta.iot.link.v1.DeviceLinkList"> & {
|
|
238
|
+
/**
|
|
239
|
+
* @generated from field: repeated kusinta.iot.link.v1.DeviceLink links = 1;
|
|
240
|
+
*/
|
|
241
|
+
links: DeviceLink[];
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Describes the message kusinta.iot.link.v1.DeviceLinkList.
|
|
246
|
+
* Use `create(DeviceLinkListSchema)` to create a new message.
|
|
247
|
+
*/
|
|
248
|
+
export declare const DeviceLinkListSchema: GenMessage<DeviceLinkList>;
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* What a link makes the sender do to the receiver.
|
|
252
|
+
*
|
|
253
|
+
* A function, not a cluster id, because the two ends do not necessarily speak the
|
|
254
|
+
* same cluster: a wall thermostat reports its temperature as Thermostat
|
|
255
|
+
* LocalTemperature while a bare sensor reports the same quantity as Temperature
|
|
256
|
+
* Measurement MeasuredValue. Each end states its own attribute in its
|
|
257
|
+
* LinkCapability; the function is what says the two belong together.
|
|
258
|
+
*
|
|
259
|
+
* @generated from enum kusinta.iot.link.v1.LinkFunction
|
|
260
|
+
*/
|
|
261
|
+
export enum LinkFunction {
|
|
262
|
+
/**
|
|
263
|
+
* @generated from enum value: LINK_FUNCTION_UNSPECIFIED = 0;
|
|
264
|
+
*/
|
|
265
|
+
UNSPECIFIED = 0,
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* The sender leads the receiver's climate control.
|
|
269
|
+
*
|
|
270
|
+
* Stronger than feeding a measurement, and the difference matters to anything
|
|
271
|
+
* building a UI. Both the sender's measured temperature and its setpoint reach
|
|
272
|
+
* the receiver, and the transfer is one way: the receiver reports the sender's
|
|
273
|
+
* temperature as its own, and a setpoint written to the receiver is accepted
|
|
274
|
+
* and then reverted to the sender's. So the sender is the control surface for
|
|
275
|
+
* the pair, and a setpoint control offered on a linked receiver is one that
|
|
276
|
+
* appears to work and silently undoes itself.
|
|
277
|
+
*
|
|
278
|
+
* @generated from enum value: LINK_FUNCTION_CLIMATE_LEAD = 1;
|
|
279
|
+
*/
|
|
280
|
+
CLIMATE_LEAD = 1,
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* The sender's open/closed state reaches the receiver, which acts on it —
|
|
284
|
+
* typically a contact telling a valve to stop heating an open room.
|
|
285
|
+
*
|
|
286
|
+
* Not implied by CLIMATE_LEAD: a device that leads a room's climate does not
|
|
287
|
+
* necessarily forward its own window state, and on at least one vendor it does
|
|
288
|
+
* not. Where both are wanted, both are linked.
|
|
289
|
+
*
|
|
290
|
+
* @generated from enum value: LINK_FUNCTION_WINDOW_STATE = 2;
|
|
291
|
+
*/
|
|
292
|
+
WINDOW_STATE = 2,
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* The sender is an input the receiver acts on — a button or remote.
|
|
296
|
+
*
|
|
297
|
+
* @generated from enum value: LINK_FUNCTION_REMOTE_CONTROL = 3;
|
|
298
|
+
*/
|
|
299
|
+
REMOTE_CONTROL = 3,
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* Describes the enum kusinta.iot.link.v1.LinkFunction.
|
|
304
|
+
*/
|
|
305
|
+
export declare const LinkFunctionSchema: GenEnum<LinkFunction>;
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* Which end of a link a device can be.
|
|
309
|
+
*
|
|
310
|
+
* @generated from enum kusinta.iot.link.v1.LinkDirection
|
|
311
|
+
*/
|
|
312
|
+
export enum LinkDirection {
|
|
313
|
+
/**
|
|
314
|
+
* @generated from enum value: LINK_DIRECTION_UNSPECIFIED = 0;
|
|
315
|
+
*/
|
|
316
|
+
UNSPECIFIED = 0,
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* can lead
|
|
320
|
+
*
|
|
321
|
+
* @generated from enum value: LINK_DIRECTION_SOURCE = 1;
|
|
322
|
+
*/
|
|
323
|
+
SOURCE = 1,
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* can follow
|
|
327
|
+
*
|
|
328
|
+
* @generated from enum value: LINK_DIRECTION_TARGET = 2;
|
|
329
|
+
*/
|
|
330
|
+
TARGET = 2,
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* Describes the enum kusinta.iot.link.v1.LinkDirection.
|
|
335
|
+
*/
|
|
336
|
+
export declare const LinkDirectionSchema: GenEnum<LinkDirection>;
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* How a link is carried.
|
|
340
|
+
*
|
|
341
|
+
* @generated from enum kusinta.iot.link.v1.LinkMode
|
|
342
|
+
*/
|
|
343
|
+
export enum LinkMode {
|
|
344
|
+
/**
|
|
345
|
+
* @generated from enum value: LINK_MODE_UNSPECIFIED = 0;
|
|
346
|
+
*/
|
|
347
|
+
UNSPECIFIED = 0,
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* Device to device, brokered by the hub and then carried without it. Survives
|
|
351
|
+
* a gateway outage. Requires both devices on the same hub, and the hub's own
|
|
352
|
+
* support for the function.
|
|
353
|
+
*
|
|
354
|
+
* @generated from enum value: LINK_MODE_HARD = 1;
|
|
355
|
+
*/
|
|
356
|
+
HARD = 1,
|
|
357
|
+
|
|
358
|
+
/**
|
|
359
|
+
* Kept by the gateway, which reads one device and writes the other. Works
|
|
360
|
+
* across vendors and across hubs, and is the only option where no hub can
|
|
361
|
+
* broker the pair — at the cost of not surviving a gateway outage.
|
|
362
|
+
*
|
|
363
|
+
* @generated from enum value: LINK_MODE_SOFT = 2;
|
|
364
|
+
*/
|
|
365
|
+
SOFT = 2,
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* Describes the enum kusinta.iot.link.v1.LinkMode.
|
|
370
|
+
*/
|
|
371
|
+
export declare const LinkModeSchema: GenEnum<LinkMode>;
|
|
372
|
+
|
|
373
|
+
/**
|
|
374
|
+
* Whether a link is doing anything.
|
|
375
|
+
*
|
|
376
|
+
* There is deliberately no "created but not yet in effect" state. On current
|
|
377
|
+
* device firmware a link takes effect immediately, and on firmware old enough not
|
|
378
|
+
* to, it never takes effect at all without physical intervention — which is a
|
|
379
|
+
* refusal at creation time, not a state to wait in.
|
|
380
|
+
*
|
|
381
|
+
* Nor should ACTIVE be inferred from the hub reporting a link exists. A hub can
|
|
382
|
+
* report a link as present, unpending and healthy while the devices ignore it
|
|
383
|
+
* entirely; only behaviour distinguishes the two.
|
|
384
|
+
*
|
|
385
|
+
* @generated from enum kusinta.iot.link.v1.LinkState
|
|
386
|
+
*/
|
|
387
|
+
export enum LinkState {
|
|
388
|
+
/**
|
|
389
|
+
* @generated from enum value: LINK_STATE_UNSPECIFIED = 0;
|
|
390
|
+
*/
|
|
391
|
+
UNSPECIFIED = 0,
|
|
392
|
+
|
|
393
|
+
/**
|
|
394
|
+
* carrying
|
|
395
|
+
*
|
|
396
|
+
* @generated from enum value: LINK_STATE_ACTIVE = 1;
|
|
397
|
+
*/
|
|
398
|
+
ACTIVE = 1,
|
|
399
|
+
|
|
400
|
+
/**
|
|
401
|
+
* the sender is unreachable, gone, or the set is incomplete
|
|
402
|
+
*
|
|
403
|
+
* @generated from enum value: LINK_STATE_BROKEN = 2;
|
|
404
|
+
*/
|
|
405
|
+
BROKEN = 2,
|
|
406
|
+
|
|
407
|
+
/**
|
|
408
|
+
* the hub and our records disagree, or the hub cannot say
|
|
409
|
+
*
|
|
410
|
+
* @generated from enum value: LINK_STATE_UNKNOWN = 3;
|
|
411
|
+
*/
|
|
412
|
+
UNKNOWN = 3,
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
/**
|
|
416
|
+
* Describes the enum kusinta.iot.link.v1.LinkState.
|
|
417
|
+
*/
|
|
418
|
+
export declare const LinkStateSchema: GenEnum<LinkState>;
|
|
419
|
+
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
|
|
2
|
+
// @generated from file kusinta/iot/link/v1/link.proto (package kusinta.iot.link.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import { enumDesc, fileDesc, messageDesc, tsEnum } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
|
7
|
+
import { file_kusinta_iot_access_v1_acl } from "../../access/v1/acl_pb.js";
|
|
8
|
+
import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Describes the file kusinta/iot/link/v1/link.proto.
|
|
12
|
+
*/
|
|
13
|
+
export const file_kusinta_iot_link_v1_link = /*@__PURE__*/
|
|
14
|
+
fileDesc("Ch5rdXNpbnRhL2lvdC9saW5rL3YxL2xpbmsucHJvdG8SE2t1c2ludGEuaW90LmxpbmsudjEiYAoMTGlua1NldHRpbmdzEkAKDGNsaW1hdGVfbGVhZBgBIAEoCzIoLmt1c2ludGEuaW90LmxpbmsudjEuQ2xpbWF0ZUxlYWRTZXR0aW5nc0gAQg4KDHBlcl9mdW5jdGlvbiJHChNDbGltYXRlTGVhZFNldHRpbmdzEhwKD3RhcmdldF9zZXRwb2ludBgBIAEoEUgAiAEBQhIKEF90YXJnZXRfc2V0cG9pbnQilwMKCkRldmljZUxpbmsSDwoHbGlua19pZBgBIAEoCRIxCgZzZW5kZXIYAiABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCghyZWNlaXZlchgDIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjMKCGZ1bmN0aW9uGAQgASgOMiEua3VzaW50YS5pb3QubGluay52MS5MaW5rRnVuY3Rpb24SKwoEbW9kZRgFIAEoDjIdLmt1c2ludGEuaW90LmxpbmsudjEuTGlua01vZGUSLQoFc3RhdGUYBiABKA4yHi5rdXNpbnRhLmlvdC5saW5rLnYxLkxpbmtTdGF0ZRIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIUCgxzdGF0ZV9kZXRhaWwYCCABKAkSMwoIc2V0dGluZ3MYCSABKAsyIS5rdXNpbnRhLmlvdC5saW5rLnYxLkxpbmtTZXR0aW5nc0oECBQQHiL7AQoOTGlua0NhcGFiaWxpdHkSMwoIZnVuY3Rpb24YASABKA4yIS5rdXNpbnRhLmlvdC5saW5rLnYxLkxpbmtGdW5jdGlvbhI1CglkaXJlY3Rpb24YAiABKA4yIi5rdXNpbnRhLmlvdC5saW5rLnYxLkxpbmtEaXJlY3Rpb24SNgoPc3VwcG9ydGVkX21vZGVzGAMgAygOMh0ua3VzaW50YS5pb3QubGluay52MS5MaW5rTW9kZRI2CglhdHRyaWJ1dGUYBCABKAsyIy5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuQXR0cmlidXRlUmVmEg0KBWxhYmVsGAUgASgJIkAKDkRldmljZUxpbmtMaXN0Ei4KBWxpbmtzGAEgAygLMh8ua3VzaW50YS5pb3QubGluay52MS5EZXZpY2VMaW5rKo8BCgxMaW5rRnVuY3Rpb24SHQoZTElOS19GVU5DVElPTl9VTlNQRUNJRklFRBAAEh4KGkxJTktfRlVOQ1RJT05fQ0xJTUFURV9MRUFEEAESHgoaTElOS19GVU5DVElPTl9XSU5ET1dfU1RBVEUQAhIgChxMSU5LX0ZVTkNUSU9OX1JFTU9URV9DT05UUk9MEAMqZQoNTGlua0RpcmVjdGlvbhIeChpMSU5LX0RJUkVDVElPTl9VTlNQRUNJRklFRBAAEhkKFUxJTktfRElSRUNUSU9OX1NPVVJDRRABEhkKFUxJTktfRElSRUNUSU9OX1RBUkdFVBACKk0KCExpbmtNb2RlEhkKFUxJTktfTU9ERV9VTlNQRUNJRklFRBAAEhIKDkxJTktfTU9ERV9IQVJEEAESEgoOTElOS19NT0RFX1NPRlQQAiptCglMaW5rU3RhdGUSGgoWTElOS19TVEFURV9VTlNQRUNJRklFRBAAEhUKEUxJTktfU1RBVEVfQUNUSVZFEAESFQoRTElOS19TVEFURV9CUk9LRU4QAhIWChJMSU5LX1NUQVRFX1VOS05PV04QA0ICSAFiBnByb3RvMw", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_acl, file_kusinta_iot_identity_v1_identity]);
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Describes the message kusinta.iot.link.v1.LinkSettings.
|
|
18
|
+
* Use `create(LinkSettingsSchema)` to create a new message.
|
|
19
|
+
*/
|
|
20
|
+
export const LinkSettingsSchema = /*@__PURE__*/
|
|
21
|
+
messageDesc(file_kusinta_iot_link_v1_link, 0);
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Describes the message kusinta.iot.link.v1.ClimateLeadSettings.
|
|
25
|
+
* Use `create(ClimateLeadSettingsSchema)` to create a new message.
|
|
26
|
+
*/
|
|
27
|
+
export const ClimateLeadSettingsSchema = /*@__PURE__*/
|
|
28
|
+
messageDesc(file_kusinta_iot_link_v1_link, 1);
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Describes the message kusinta.iot.link.v1.DeviceLink.
|
|
32
|
+
* Use `create(DeviceLinkSchema)` to create a new message.
|
|
33
|
+
*/
|
|
34
|
+
export const DeviceLinkSchema = /*@__PURE__*/
|
|
35
|
+
messageDesc(file_kusinta_iot_link_v1_link, 2);
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Describes the message kusinta.iot.link.v1.LinkCapability.
|
|
39
|
+
* Use `create(LinkCapabilitySchema)` to create a new message.
|
|
40
|
+
*/
|
|
41
|
+
export const LinkCapabilitySchema = /*@__PURE__*/
|
|
42
|
+
messageDesc(file_kusinta_iot_link_v1_link, 3);
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Describes the message kusinta.iot.link.v1.DeviceLinkList.
|
|
46
|
+
* Use `create(DeviceLinkListSchema)` to create a new message.
|
|
47
|
+
*/
|
|
48
|
+
export const DeviceLinkListSchema = /*@__PURE__*/
|
|
49
|
+
messageDesc(file_kusinta_iot_link_v1_link, 4);
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Describes the enum kusinta.iot.link.v1.LinkFunction.
|
|
53
|
+
*/
|
|
54
|
+
export const LinkFunctionSchema = /*@__PURE__*/
|
|
55
|
+
enumDesc(file_kusinta_iot_link_v1_link, 0);
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* What a link makes the sender do to the receiver.
|
|
59
|
+
*
|
|
60
|
+
* A function, not a cluster id, because the two ends do not necessarily speak the
|
|
61
|
+
* same cluster: a wall thermostat reports its temperature as Thermostat
|
|
62
|
+
* LocalTemperature while a bare sensor reports the same quantity as Temperature
|
|
63
|
+
* Measurement MeasuredValue. Each end states its own attribute in its
|
|
64
|
+
* LinkCapability; the function is what says the two belong together.
|
|
65
|
+
*
|
|
66
|
+
* @generated from enum kusinta.iot.link.v1.LinkFunction
|
|
67
|
+
*/
|
|
68
|
+
export const LinkFunction = /*@__PURE__*/
|
|
69
|
+
tsEnum(LinkFunctionSchema);
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Describes the enum kusinta.iot.link.v1.LinkDirection.
|
|
73
|
+
*/
|
|
74
|
+
export const LinkDirectionSchema = /*@__PURE__*/
|
|
75
|
+
enumDesc(file_kusinta_iot_link_v1_link, 1);
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Which end of a link a device can be.
|
|
79
|
+
*
|
|
80
|
+
* @generated from enum kusinta.iot.link.v1.LinkDirection
|
|
81
|
+
*/
|
|
82
|
+
export const LinkDirection = /*@__PURE__*/
|
|
83
|
+
tsEnum(LinkDirectionSchema);
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Describes the enum kusinta.iot.link.v1.LinkMode.
|
|
87
|
+
*/
|
|
88
|
+
export const LinkModeSchema = /*@__PURE__*/
|
|
89
|
+
enumDesc(file_kusinta_iot_link_v1_link, 2);
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* How a link is carried.
|
|
93
|
+
*
|
|
94
|
+
* @generated from enum kusinta.iot.link.v1.LinkMode
|
|
95
|
+
*/
|
|
96
|
+
export const LinkMode = /*@__PURE__*/
|
|
97
|
+
tsEnum(LinkModeSchema);
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Describes the enum kusinta.iot.link.v1.LinkState.
|
|
101
|
+
*/
|
|
102
|
+
export const LinkStateSchema = /*@__PURE__*/
|
|
103
|
+
enumDesc(file_kusinta_iot_link_v1_link, 3);
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Whether a link is doing anything.
|
|
107
|
+
*
|
|
108
|
+
* There is deliberately no "created but not yet in effect" state. On current
|
|
109
|
+
* device firmware a link takes effect immediately, and on firmware old enough not
|
|
110
|
+
* to, it never takes effect at all without physical intervention — which is a
|
|
111
|
+
* refusal at creation time, not a state to wait in.
|
|
112
|
+
*
|
|
113
|
+
* Nor should ACTIVE be inferred from the hub reporting a link exists. A hub can
|
|
114
|
+
* report a link as present, unpending and healthy while the devices ignore it
|
|
115
|
+
* entirely; only behaviour distinguishes the two.
|
|
116
|
+
*
|
|
117
|
+
* @generated from enum kusinta.iot.link.v1.LinkState
|
|
118
|
+
*/
|
|
119
|
+
export const LinkState = /*@__PURE__*/
|
|
120
|
+
tsEnum(LinkStateSchema);
|
|
121
|
+
|