@kusinta/iot-schema 0.2.0-beta.15 → 0.2.0-beta.17
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 +2 -1
- package/src/kusinta/iot/climate/v1/climate_pb.d.ts +381 -0
- package/src/kusinta/iot/climate/v1/climate_pb.js +75 -0
- package/src/kusinta/iot/link/v1/link_pb.d.ts +4 -2
- package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +14 -0
- package/src/kusinta/iot/webrtc/v1/command_pb.js +1 -1
- package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +66 -0
- package/src/kusinta/iot/webrtc/v1/envelope_pb.js +18 -3
- package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +208 -0
- package/src/kusinta/iot/webrtc/v1/management_pb.js +46 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kusinta/iot-schema",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.17",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": ["src"],
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"./access": "./src/kusinta/iot/access/v1/acl_pb.js",
|
|
27
27
|
"./access/roles": "./src/kusinta/iot/access/v1/roles_pb.js",
|
|
28
28
|
"./link": "./src/kusinta/iot/link/v1/link_pb.js",
|
|
29
|
+
"./climate": "./src/kusinta/iot/climate/v1/climate_pb.js",
|
|
29
30
|
"./connector": "./src/kusinta/iot/connector/v1/connector_pb.js",
|
|
30
31
|
"./connector/service": "./src/kusinta/iot/connector/v1/connector_service_pb.js",
|
|
31
32
|
"./webrtc": "./src/kusinta/iot/webrtc/v1/envelope_pb.js",
|
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
|
|
2
|
+
// @generated from file kusinta/iot/climate/v1/climate.proto (package kusinta.iot.climate.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 { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
8
|
+
import type { DeviceId, SpaceId, UserId } from "../../identity/v1/identity_pb.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Describes the file kusinta/iot/climate/v1/climate.proto.
|
|
12
|
+
*/
|
|
13
|
+
export declare const file_kusinta_iot_climate_v1_climate: GenFile;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Who or what last set a room's target, and when.
|
|
17
|
+
*
|
|
18
|
+
* Shown beside the target, because under "last change wins" a target that moved on its
|
|
19
|
+
* own looks like a fault unless the reader can see that somebody turned a radiator by
|
|
20
|
+
* hand ten minutes ago.
|
|
21
|
+
*
|
|
22
|
+
* @generated from message kusinta.iot.climate.v1.TargetChange
|
|
23
|
+
*/
|
|
24
|
+
export declare type TargetChange = Message<"kusinta.iot.climate.v1.TargetChange"> & {
|
|
25
|
+
/**
|
|
26
|
+
* @generated from field: google.protobuf.Timestamp at = 1;
|
|
27
|
+
*/
|
|
28
|
+
at?: Timestamp | undefined;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @generated from oneof kusinta.iot.climate.v1.TargetChange.by
|
|
32
|
+
*/
|
|
33
|
+
by: {
|
|
34
|
+
/**
|
|
35
|
+
* Set in the app, by this user.
|
|
36
|
+
*
|
|
37
|
+
* @generated from field: kusinta.iot.identity.v1.UserId user = 2;
|
|
38
|
+
*/
|
|
39
|
+
value: UserId;
|
|
40
|
+
case: "user";
|
|
41
|
+
} | {
|
|
42
|
+
/**
|
|
43
|
+
* Turned by hand at this device: a valve's knob or a wall thermostat's dial, as the
|
|
44
|
+
* device reported it (Matter Thermostat SetpointChangeSource = Manual). A change the
|
|
45
|
+
* device made on its own — window-open, frost protection, its own schedule — is never
|
|
46
|
+
* adopted and never appears here.
|
|
47
|
+
*
|
|
48
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId device = 3;
|
|
49
|
+
*/
|
|
50
|
+
value: DeviceId;
|
|
51
|
+
case: "device";
|
|
52
|
+
} | { case: undefined; value?: undefined };
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Describes the message kusinta.iot.climate.v1.TargetChange.
|
|
57
|
+
* Use `create(TargetChangeSchema)` to create a new message.
|
|
58
|
+
*/
|
|
59
|
+
export declare const TargetChangeSchema: GenMessage<TargetChange>;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* The climate of one room.
|
|
63
|
+
*
|
|
64
|
+
* Apply as an upsert keyed on space_id: the same room is sent again whenever any of this
|
|
65
|
+
* moves.
|
|
66
|
+
*
|
|
67
|
+
* @generated from message kusinta.iot.climate.v1.RoomClimate
|
|
68
|
+
*/
|
|
69
|
+
export declare type RoomClimate = Message<"kusinta.iot.climate.v1.RoomClimate"> & {
|
|
70
|
+
/**
|
|
71
|
+
* A Space of SPACE_TYPE_ROOM.
|
|
72
|
+
*
|
|
73
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 1;
|
|
74
|
+
*/
|
|
75
|
+
spaceId?: SpaceId | undefined;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* The temperature the room is to be held at, in centidegrees. Unset: nobody has set
|
|
79
|
+
* one. Always within [min_centidegrees, max_centidegrees] where those are set.
|
|
80
|
+
*
|
|
81
|
+
* @generated from field: optional sint32 target_centidegrees = 2;
|
|
82
|
+
*/
|
|
83
|
+
targetCentidegrees?: number | undefined;
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Who or what set target_centidegrees. Unset while the target is.
|
|
87
|
+
*
|
|
88
|
+
* @generated from field: kusinta.iot.climate.v1.TargetChange target_change = 3;
|
|
89
|
+
*/
|
|
90
|
+
targetChange?: TargetChange | undefined;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* What the valves are actually being held at, in centidegrees. Equal to the target
|
|
94
|
+
* unless a ClimateMode on an enclosing space sets the room back — and then the room's
|
|
95
|
+
* own target again if somebody changed this room during the mode (see
|
|
96
|
+
* overrides_mode). Unset while nothing is being held.
|
|
97
|
+
*
|
|
98
|
+
* @generated from field: optional sint32 effective_target_centidegrees = 4;
|
|
99
|
+
*/
|
|
100
|
+
effectiveTargetCentidegrees?: number | undefined;
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Set when somebody changed this room while a ClimateMode was on: the room keeps its
|
|
104
|
+
* own target until the mode ends, while the rest of the apartment stays set back.
|
|
105
|
+
*
|
|
106
|
+
* @generated from field: bool overrides_mode = 5;
|
|
107
|
+
*/
|
|
108
|
+
overridesMode: boolean;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* The space whose ClimateMode applies to this room, if one does — set back or,
|
|
112
|
+
* with overrides_mode, overridden. Unset when no mode applies.
|
|
113
|
+
*
|
|
114
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId mode_space_id = 13;
|
|
115
|
+
*/
|
|
116
|
+
modeSpaceId?: SpaceId | undefined;
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* The owner's limits, in centidegrees. The gateway writes them to every device in the
|
|
120
|
+
* room (Matter Min/MaxHeatSetpointLimit), so a knob stops at them physically, and
|
|
121
|
+
* clamps every target — from the app, a knob or a mode — to them. The minimum is also
|
|
122
|
+
* the floor under a mode's setback.
|
|
123
|
+
*
|
|
124
|
+
* @generated from field: optional sint32 min_centidegrees = 6;
|
|
125
|
+
*/
|
|
126
|
+
minCentidegrees?: number | undefined;
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* @generated from field: optional sint32 max_centidegrees = 7;
|
|
130
|
+
*/
|
|
131
|
+
maxCentidegrees?: number | undefined;
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* The sensors the room measures with, in order: the first is used, each later one
|
|
135
|
+
* takes over while those before it are quiet. Only devices filed in this room.
|
|
136
|
+
*
|
|
137
|
+
* By default every temperature sensor filed in the room, in the order it was filed, so
|
|
138
|
+
* a sensor filed later joins at the end without anyone configuring anything. An owner
|
|
139
|
+
* can set the order explicitly (see sensors_configured). Empty: the room has no
|
|
140
|
+
* temperature sensor, and its valves regulate on their own probes (NO_SENSOR).
|
|
141
|
+
*
|
|
142
|
+
* @generated from field: repeated kusinta.iot.identity.v1.DeviceId sensor_ids = 8;
|
|
143
|
+
*/
|
|
144
|
+
sensorIds: DeviceId[];
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Whether sensor_ids is an order an owner chose, rather than the default of filing
|
|
148
|
+
* order. A sensor filed into a room with a chosen order is not added to it.
|
|
149
|
+
*
|
|
150
|
+
* @generated from field: bool sensors_configured = 14;
|
|
151
|
+
*/
|
|
152
|
+
sensorsConfigured: boolean;
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* The reading steering the room now, in centidegrees, and which sensor it came from.
|
|
156
|
+
* measured_by unset while the valves are on their own probes.
|
|
157
|
+
*
|
|
158
|
+
* @generated from field: optional sint32 measured_centidegrees = 9;
|
|
159
|
+
*/
|
|
160
|
+
measuredCentidegrees?: number | undefined;
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId measured_by = 10;
|
|
164
|
+
*/
|
|
165
|
+
measuredBy?: DeviceId | undefined;
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* @generated from field: kusinta.iot.climate.v1.RoomClimateCondition condition = 11;
|
|
169
|
+
*/
|
|
170
|
+
condition: RoomClimateCondition;
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Whether the controls on this room's devices are locked. While unlocked, a change made
|
|
174
|
+
* by hand at a device becomes the room's target. Locked, the gateway sets the devices'
|
|
175
|
+
* own lock (Matter Thermostat User Interface Configuration KeypadLockout), so the
|
|
176
|
+
* refusal happens at the device rather than being undone later.
|
|
177
|
+
*
|
|
178
|
+
* Stated as the lock rather than as a permission so that the proto3 default — false,
|
|
179
|
+
* unlocked — is the intended default: a room nobody has configured takes changes at its
|
|
180
|
+
* devices, as a room in an apartment always should. Elsewhere locking is the owner's
|
|
181
|
+
* choice.
|
|
182
|
+
*
|
|
183
|
+
* @generated from field: bool lock_device_controls = 12;
|
|
184
|
+
*/
|
|
185
|
+
lockDeviceControls: boolean;
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Describes the message kusinta.iot.climate.v1.RoomClimate.
|
|
190
|
+
* Use `create(RoomClimateSchema)` to create a new message.
|
|
191
|
+
*/
|
|
192
|
+
export declare const RoomClimateSchema: GenMessage<RoomClimate>;
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* A mode set on an apartment — or, for rooms that are not in one, on their floor or
|
|
196
|
+
* common area. While it is on it sets back every room below that space, except that a
|
|
197
|
+
* room inside an apartment follows only its apartment's mode: a mode on a floor does not
|
|
198
|
+
* reach into the flats on it. Where more than one mode could apply, the nearest enclosing
|
|
199
|
+
* space's wins. A room somebody changes during the mode keeps its own target
|
|
200
|
+
* (RoomClimate.overrides_mode) until the mode ends.
|
|
201
|
+
*
|
|
202
|
+
* @generated from message kusinta.iot.climate.v1.ClimateMode
|
|
203
|
+
*/
|
|
204
|
+
export declare type ClimateMode = Message<"kusinta.iot.climate.v1.ClimateMode"> & {
|
|
205
|
+
/**
|
|
206
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 1;
|
|
207
|
+
*/
|
|
208
|
+
spaceId?: SpaceId | undefined;
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* @generated from field: kusinta.iot.climate.v1.ClimateModeKind kind = 2;
|
|
212
|
+
*/
|
|
213
|
+
kind: ClimateModeKind;
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* The temperature every room is set back to, in centidegrees. Required while a mode is
|
|
217
|
+
* on — a mode with nothing to set back to is refused, not defaulted. Clamped by each
|
|
218
|
+
* room's min_centidegrees, which is the frost floor.
|
|
219
|
+
*
|
|
220
|
+
* @generated from field: optional sint32 setback_centidegrees = 3;
|
|
221
|
+
*/
|
|
222
|
+
setbackCentidegrees?: number | undefined;
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* HOLIDAY: when the setback begins and when the rooms are to be back at their own
|
|
226
|
+
* targets. AWAY: starts_at is when it was switched on; ends_at is unset.
|
|
227
|
+
*
|
|
228
|
+
* @generated from field: google.protobuf.Timestamp starts_at = 4;
|
|
229
|
+
*/
|
|
230
|
+
startsAt?: Timestamp | undefined;
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* @generated from field: google.protobuf.Timestamp ends_at = 5;
|
|
234
|
+
*/
|
|
235
|
+
endsAt?: Timestamp | undefined;
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Who switched it on.
|
|
239
|
+
*
|
|
240
|
+
* @generated from field: kusinta.iot.identity.v1.UserId set_by = 6;
|
|
241
|
+
*/
|
|
242
|
+
setBy?: UserId | undefined;
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Describes the message kusinta.iot.climate.v1.ClimateMode.
|
|
247
|
+
* Use `create(ClimateModeSchema)` to create a new message.
|
|
248
|
+
*/
|
|
249
|
+
export declare const ClimateModeSchema: GenMessage<ClimateMode>;
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Every room climate and mode a caller may see, in reply to a listing.
|
|
253
|
+
*
|
|
254
|
+
* @generated from message kusinta.iot.climate.v1.RoomClimateList
|
|
255
|
+
*/
|
|
256
|
+
export declare type RoomClimateList = Message<"kusinta.iot.climate.v1.RoomClimateList"> & {
|
|
257
|
+
/**
|
|
258
|
+
* @generated from field: repeated kusinta.iot.climate.v1.RoomClimate rooms = 1;
|
|
259
|
+
*/
|
|
260
|
+
rooms: RoomClimate[];
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* @generated from field: repeated kusinta.iot.climate.v1.ClimateMode modes = 2;
|
|
264
|
+
*/
|
|
265
|
+
modes: ClimateMode[];
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* Describes the message kusinta.iot.climate.v1.RoomClimateList.
|
|
270
|
+
* Use `create(RoomClimateListSchema)` to create a new message.
|
|
271
|
+
*/
|
|
272
|
+
export declare const RoomClimateListSchema: GenMessage<RoomClimateList>;
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* What a room is doing right now, in one word. Details live in the fields of
|
|
276
|
+
* RoomClimate; this is what a list row shows.
|
|
277
|
+
*
|
|
278
|
+
* Where several hold at once the room reports the first that applies, in this order:
|
|
279
|
+
* NO_TARGET, NO_HEATING, WINDOW_OPEN, HEATING_UNREACHABLE, SENSOR_LOST, NO_SENSOR,
|
|
280
|
+
* HOLDING — the one that most changes what a person should expect of the room.
|
|
281
|
+
*
|
|
282
|
+
* @generated from enum kusinta.iot.climate.v1.RoomClimateCondition
|
|
283
|
+
*/
|
|
284
|
+
export enum RoomClimateCondition {
|
|
285
|
+
/**
|
|
286
|
+
* @generated from enum value: ROOM_CLIMATE_CONDITION_UNSPECIFIED = 0;
|
|
287
|
+
*/
|
|
288
|
+
UNSPECIFIED = 0,
|
|
289
|
+
|
|
290
|
+
/**
|
|
291
|
+
* Being held at its effective target from a sensor's reading.
|
|
292
|
+
*
|
|
293
|
+
* @generated from enum value: ROOM_CLIMATE_CONDITION_HOLDING = 1;
|
|
294
|
+
*/
|
|
295
|
+
HOLDING = 1,
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* Nobody has set a target yet. Not a fault: a room that was just created.
|
|
299
|
+
*
|
|
300
|
+
* @generated from enum value: ROOM_CLIMATE_CONDITION_NO_TARGET = 2;
|
|
301
|
+
*/
|
|
302
|
+
NO_TARGET = 2,
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* Every sensor the room uses has gone quiet. The valves regulate on their own probes
|
|
306
|
+
* towards the target meanwhile — worse comfort, never a frozen reading.
|
|
307
|
+
*
|
|
308
|
+
* @generated from enum value: ROOM_CLIMATE_CONDITION_SENSOR_LOST = 3;
|
|
309
|
+
*/
|
|
310
|
+
SENSOR_LOST = 3,
|
|
311
|
+
|
|
312
|
+
/**
|
|
313
|
+
* A window in the room is open, so heating is paused.
|
|
314
|
+
*
|
|
315
|
+
* @generated from enum value: ROOM_CLIMATE_CONDITION_WINDOW_OPEN = 4;
|
|
316
|
+
*/
|
|
317
|
+
WINDOW_OPEN = 4,
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* The room has a target but nothing in it can heat.
|
|
321
|
+
*
|
|
322
|
+
* @generated from enum value: ROOM_CLIMATE_CONDITION_NO_HEATING = 5;
|
|
323
|
+
*/
|
|
324
|
+
NO_HEATING = 5,
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* Every heating device in the room has gone quiet, so nothing is being held however
|
|
328
|
+
* the target is set.
|
|
329
|
+
*
|
|
330
|
+
* @generated from enum value: ROOM_CLIMATE_CONDITION_HEATING_UNREACHABLE = 6;
|
|
331
|
+
*/
|
|
332
|
+
HEATING_UNREACHABLE = 6,
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* The room has no temperature sensor, so its valves regulate on their own probes
|
|
336
|
+
* towards the target. Not a fault; a room can be set up that way.
|
|
337
|
+
*
|
|
338
|
+
* @generated from enum value: ROOM_CLIMATE_CONDITION_NO_SENSOR = 7;
|
|
339
|
+
*/
|
|
340
|
+
NO_SENSOR = 7,
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
/**
|
|
344
|
+
* Describes the enum kusinta.iot.climate.v1.RoomClimateCondition.
|
|
345
|
+
*/
|
|
346
|
+
export declare const RoomClimateConditionSchema: GenEnum<RoomClimateCondition>;
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* A setback that applies to every room in a space while it is on.
|
|
350
|
+
*
|
|
351
|
+
* @generated from enum kusinta.iot.climate.v1.ClimateModeKind
|
|
352
|
+
*/
|
|
353
|
+
export enum ClimateModeKind {
|
|
354
|
+
/**
|
|
355
|
+
* No mode: every room at its own target.
|
|
356
|
+
*
|
|
357
|
+
* @generated from enum value: CLIMATE_MODE_KIND_UNSPECIFIED = 0;
|
|
358
|
+
*/
|
|
359
|
+
UNSPECIFIED = 0,
|
|
360
|
+
|
|
361
|
+
/**
|
|
362
|
+
* Every room to the setback until the mode is switched off.
|
|
363
|
+
*
|
|
364
|
+
* @generated from enum value: CLIMATE_MODE_KIND_AWAY = 1;
|
|
365
|
+
*/
|
|
366
|
+
AWAY = 1,
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* Every room to the setback between starts_at and ends_at, then back to normal on its
|
|
370
|
+
* own — timed so the rooms are warm again at ends_at, not starting to heat then.
|
|
371
|
+
*
|
|
372
|
+
* @generated from enum value: CLIMATE_MODE_KIND_HOLIDAY = 2;
|
|
373
|
+
*/
|
|
374
|
+
HOLIDAY = 2,
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* Describes the enum kusinta.iot.climate.v1.ClimateModeKind.
|
|
379
|
+
*/
|
|
380
|
+
export declare const ClimateModeKindSchema: GenEnum<ClimateModeKind>;
|
|
381
|
+
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
|
|
2
|
+
// @generated from file kusinta/iot/climate/v1/climate.proto (package kusinta.iot.climate.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_identity_v1_identity } from "../../identity/v1/identity_pb.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Describes the file kusinta/iot/climate/v1/climate.proto.
|
|
11
|
+
*/
|
|
12
|
+
export const file_kusinta_iot_climate_v1_climate = /*@__PURE__*/
|
|
13
|
+
fileDesc("CiRrdXNpbnRhL2lvdC9jbGltYXRlL3YxL2NsaW1hdGUucHJvdG8SFmt1c2ludGEuaW90LmNsaW1hdGUudjEiogEKDFRhcmdldENoYW5nZRImCgJhdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoEdXNlchgCIAEoCzIfLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlVzZXJJZEgAEjMKBmRldmljZRgDIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkSABCBAoCYnki5wUKC1Jvb21DbGltYXRlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIgChN0YXJnZXRfY2VudGlkZWdyZWVzGAIgASgRSACIAQESOwoNdGFyZ2V0X2NoYW5nZRgDIAEoCzIkLmt1c2ludGEuaW90LmNsaW1hdGUudjEuVGFyZ2V0Q2hhbmdlEioKHWVmZmVjdGl2ZV90YXJnZXRfY2VudGlkZWdyZWVzGAQgASgRSAGIAQESFgoOb3ZlcnJpZGVzX21vZGUYBSABKAgSNwoNbW9kZV9zcGFjZV9pZBgNIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSHQoQbWluX2NlbnRpZGVncmVlcxgGIAEoEUgCiAEBEh0KEG1heF9jZW50aWRlZ3JlZXMYByABKBFIA4gBARI1CgpzZW5zb3JfaWRzGAggAygLMiEua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuRGV2aWNlSWQSGgoSc2Vuc29yc19jb25maWd1cmVkGA4gASgIEiIKFW1lYXN1cmVkX2NlbnRpZGVncmVlcxgJIAEoEUgEiAEBEjYKC21lYXN1cmVkX2J5GAogASgLMiEua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuRGV2aWNlSWQSPwoJY29uZGl0aW9uGAsgASgOMiwua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5Sb29tQ2xpbWF0ZUNvbmRpdGlvbhIcChRsb2NrX2RldmljZV9jb250cm9scxgMIAEoCEIWChRfdGFyZ2V0X2NlbnRpZGVncmVlc0IgCh5fZWZmZWN0aXZlX3RhcmdldF9jZW50aWRlZ3JlZXNCEwoRX21pbl9jZW50aWRlZ3JlZXNCEwoRX21heF9jZW50aWRlZ3JlZXNCGAoWX21lYXN1cmVkX2NlbnRpZGVncmVlcyLBAgoLQ2xpbWF0ZU1vZGUSMgoIc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEjUKBGtpbmQYAiABKA4yJy5rdXNpbnRhLmlvdC5jbGltYXRlLnYxLkNsaW1hdGVNb2RlS2luZBIhChRzZXRiYWNrX2NlbnRpZGVncmVlcxgDIAEoEUgAiAEBEi0KCXN0YXJ0c19hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKwoHZW5kc19hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoGc2V0X2J5GAYgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkQhcKFV9zZXRiYWNrX2NlbnRpZGVncmVlcyJ5Cg9Sb29tQ2xpbWF0ZUxpc3QSMgoFcm9vbXMYASADKAsyIy5rdXNpbnRhLmlvdC5jbGltYXRlLnYxLlJvb21DbGltYXRlEjIKBW1vZGVzGAIgAygLMiMua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlTW9kZSrVAgoUUm9vbUNsaW1hdGVDb25kaXRpb24SJgoiUk9PTV9DTElNQVRFX0NPTkRJVElPTl9VTlNQRUNJRklFRBAAEiIKHlJPT01fQ0xJTUFURV9DT05ESVRJT05fSE9MRElORxABEiQKIFJPT01fQ0xJTUFURV9DT05ESVRJT05fTk9fVEFSR0VUEAISJgoiUk9PTV9DTElNQVRFX0NPTkRJVElPTl9TRU5TT1JfTE9TVBADEiYKIlJPT01fQ0xJTUFURV9DT05ESVRJT05fV0lORE9XX09QRU4QBBIlCiFST09NX0NMSU1BVEVfQ09ORElUSU9OX05PX0hFQVRJTkcQBRIuCipST09NX0NMSU1BVEVfQ09ORElUSU9OX0hFQVRJTkdfVU5SRUFDSEFCTEUQBhIkCiBST09NX0NMSU1BVEVfQ09ORElUSU9OX05PX1NFTlNPUhAHKm8KD0NsaW1hdGVNb2RlS2luZBIhCh1DTElNQVRFX01PREVfS0lORF9VTlNQRUNJRklFRBAAEhoKFkNMSU1BVEVfTU9ERV9LSU5EX0FXQVkQARIdChlDTElNQVRFX01PREVfS0lORF9IT0xJREFZEAJCAkgBYgZwcm90bzM", [file_google_protobuf_timestamp, file_kusinta_iot_identity_v1_identity]);
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Describes the message kusinta.iot.climate.v1.TargetChange.
|
|
17
|
+
* Use `create(TargetChangeSchema)` to create a new message.
|
|
18
|
+
*/
|
|
19
|
+
export const TargetChangeSchema = /*@__PURE__*/
|
|
20
|
+
messageDesc(file_kusinta_iot_climate_v1_climate, 0);
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Describes the message kusinta.iot.climate.v1.RoomClimate.
|
|
24
|
+
* Use `create(RoomClimateSchema)` to create a new message.
|
|
25
|
+
*/
|
|
26
|
+
export const RoomClimateSchema = /*@__PURE__*/
|
|
27
|
+
messageDesc(file_kusinta_iot_climate_v1_climate, 1);
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Describes the message kusinta.iot.climate.v1.ClimateMode.
|
|
31
|
+
* Use `create(ClimateModeSchema)` to create a new message.
|
|
32
|
+
*/
|
|
33
|
+
export const ClimateModeSchema = /*@__PURE__*/
|
|
34
|
+
messageDesc(file_kusinta_iot_climate_v1_climate, 2);
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Describes the message kusinta.iot.climate.v1.RoomClimateList.
|
|
38
|
+
* Use `create(RoomClimateListSchema)` to create a new message.
|
|
39
|
+
*/
|
|
40
|
+
export const RoomClimateListSchema = /*@__PURE__*/
|
|
41
|
+
messageDesc(file_kusinta_iot_climate_v1_climate, 3);
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Describes the enum kusinta.iot.climate.v1.RoomClimateCondition.
|
|
45
|
+
*/
|
|
46
|
+
export const RoomClimateConditionSchema = /*@__PURE__*/
|
|
47
|
+
enumDesc(file_kusinta_iot_climate_v1_climate, 0);
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* What a room is doing right now, in one word. Details live in the fields of
|
|
51
|
+
* RoomClimate; this is what a list row shows.
|
|
52
|
+
*
|
|
53
|
+
* Where several hold at once the room reports the first that applies, in this order:
|
|
54
|
+
* NO_TARGET, NO_HEATING, WINDOW_OPEN, HEATING_UNREACHABLE, SENSOR_LOST, NO_SENSOR,
|
|
55
|
+
* HOLDING — the one that most changes what a person should expect of the room.
|
|
56
|
+
*
|
|
57
|
+
* @generated from enum kusinta.iot.climate.v1.RoomClimateCondition
|
|
58
|
+
*/
|
|
59
|
+
export const RoomClimateCondition = /*@__PURE__*/
|
|
60
|
+
tsEnum(RoomClimateConditionSchema);
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Describes the enum kusinta.iot.climate.v1.ClimateModeKind.
|
|
64
|
+
*/
|
|
65
|
+
export const ClimateModeKindSchema = /*@__PURE__*/
|
|
66
|
+
enumDesc(file_kusinta_iot_climate_v1_climate, 1);
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* A setback that applies to every room in a space while it is on.
|
|
70
|
+
*
|
|
71
|
+
* @generated from enum kusinta.iot.climate.v1.ClimateModeKind
|
|
72
|
+
*/
|
|
73
|
+
export const ClimateModeKind = /*@__PURE__*/
|
|
74
|
+
tsEnum(ClimateModeKindSchema);
|
|
75
|
+
|
|
@@ -70,8 +70,10 @@ export declare type ClimateLeadSettings = Message<"kusinta.iot.link.v1.ClimateLe
|
|
|
70
70
|
* one radiator is the ordinary case, and each of its links carries this
|
|
71
71
|
* number separately. An interface offering "the temperature in here" is
|
|
72
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
|
|
74
|
-
*
|
|
73
|
+
* equal; nothing on this wire enforces it. A single target per room is
|
|
74
|
+
* climate.v1.RoomClimate: a person sets the room's target there, and the
|
|
75
|
+
* gateway keeps the links it uses underneath in step. New interfaces set
|
|
76
|
+
* rooms, not this.
|
|
75
77
|
*
|
|
76
78
|
* One target, not one per heating and cooling mode: this addresses a valve
|
|
77
79
|
* that only heats. A device that can do both would need the setpoint's mode
|
|
@@ -304,6 +304,20 @@ export declare type CommandError = Message<"kusinta.iot.webrtc.v1.CommandError">
|
|
|
304
304
|
* @generated from field: kusinta.iot.webrtc.v1.CommandErrorCode code = 3;
|
|
305
305
|
*/
|
|
306
306
|
code: CommandErrorCode;
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* Structured detail for the app, beside `code`. Mirrors GatewayError.metadata.
|
|
310
|
+
*
|
|
311
|
+
* "reason": a stable, machine-readable code the app may branch on — a reason
|
|
312
|
+
* such as a setting being governed by the device's room.
|
|
313
|
+
* "detail": one sentence the app may show the user.
|
|
314
|
+
*
|
|
315
|
+
* `message` stays log-only; anything meant for a user goes here. Empty means the
|
|
316
|
+
* producer has nothing to add beyond `code`.
|
|
317
|
+
*
|
|
318
|
+
* @generated from field: map<string, string> metadata = 4;
|
|
319
|
+
*/
|
|
320
|
+
metadata: { [key: string]: string };
|
|
307
321
|
};
|
|
308
322
|
|
|
309
323
|
/**
|
|
@@ -14,7 +14,7 @@ import { file_kusinta_iot_webrtc_v1_setpoint_mode } from "./setpoint_mode_pb.js"
|
|
|
14
14
|
* Describes the file kusinta/iot/webrtc/v1/command.proto.
|
|
15
15
|
*/
|
|
16
16
|
export const file_kusinta_iot_webrtc_v1_command = /*@__PURE__*/
|
|
17
|
-
fileDesc("
|
|
17
|
+
fileDesc("CiNrdXNpbnRhL2lvdC93ZWJydGMvdjEvY29tbWFuZC5wcm90bxIVa3VzaW50YS5pb3Qud2VicnRjLnYxInwKGFRoZXJtb3N0YXRTZXRwb2ludFBhcmFtcxI8CgRtb2RlGAEgASgOMikua3VzaW50YS5pb3Qud2VicnRjLnYxLlNldHBvaW50QWRqdXN0TW9kZUgAiAEBEg4KBmFtb3VudBgCIAEoEToJuLUYgQTAtRgAQgcKBV9tb2RlIkYKEkxldmVsQ29udHJvbFBhcmFtcxINCgVsZXZlbBgBIAEoDRIXCg90cmFuc2l0aW9uX3RpbWUYAiABKA06CLi1GAjAtRgAIisKC09uT2ZmUGFyYW1zOgS4tRgGSgQIARACSgQIAhADUgJvblIGdG9nZ2xlIkEKGFdpbmRvd0NvdmVyaW5nTGlmdFBhcmFtcxIaChJsaWZ0X3BlcmNlbnQxMDB0aHMYASABKA06Cbi1GIICwLUYBSI7Cg5Eb29yTG9ja1BhcmFtcxIQCghwaW5fY29kZRgCIAEoCToFuLUYgQJKBAgBEAJSCmxvY2tfc3RhdGUikgUKDURldmljZUNvbW1hbmQSEgoKcmVxdWVzdF9pZBgBIAEoCRI0CglkZXZpY2VfaWQYAiABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIUCgxjb21tYW5kX25hbWUYBCABKAkSEgoKY2x1c3Rlcl9pZBgMIAEoDRIeChFtYXR0ZXJfY29tbWFuZF9pZBgNIAEoDUgBiAEBEhgKC2VuZHBvaW50X2lkGAsgASgNSAKIAQESTgoTdGhlcm1vc3RhdF9zZXRwb2ludBgFIAEoCzIvLmt1c2ludGEuaW90LndlYnJ0Yy52MS5UaGVybW9zdGF0U2V0cG9pbnRQYXJhbXNIABJCCg1sZXZlbF9jb250cm9sGAYgASgLMikua3VzaW50YS5pb3Qud2VicnRjLnYxLkxldmVsQ29udHJvbFBhcmFtc0gAEjQKBm9uX29mZhgHIAEoCzIiLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Pbk9mZlBhcmFtc0gAEk8KFHdpbmRvd19jb3ZlcmluZ19saWZ0GAggASgLMi8ua3VzaW50YS5pb3Qud2VicnRjLnYxLldpbmRvd0NvdmVyaW5nTGlmdFBhcmFtc0gAEjoKCWRvb3JfbG9jaxgJIAEoCzIlLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Eb29yTG9ja1BhcmFtc0gAEhEKB3Jhd190bHYYYyABKAxIAEIMCgpwYXJhbWV0ZXJzQhQKEl9tYXR0ZXJfY29tbWFuZF9pZEIOCgxfZW5kcG9pbnRfaWRKBAgDEARKBAgKEAtSDmNsdXN0ZXJfaWRfaGV4Uhl0aGVybW9zdGF0X3NldHBvaW50X3dyaXRlItIBCgxDb21tYW5kRXJyb3ISDwoHbWVzc2FnZRgCIAEoCRI1CgRjb2RlGAMgASgOMicua3VzaW50YS5pb3Qud2VicnRjLnYxLkNvbW1hbmRFcnJvckNvZGUSQwoIbWV0YWRhdGEYBCADKAsyMS5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ29tbWFuZEVycm9yLk1ldGFkYXRhRW50cnkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBSgQIARACIt4BCg1Db21tYW5kUmVzdWx0EhIKCnJlcXVlc3RfaWQYASABKAkSDwoHc3VjY2VzcxgCIAEoCBIyCgVlcnJvchgDIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Db21tYW5kRXJyb3ISMAoMY29tcGxldGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCgpzZXR0bGVzX2J5GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQg0KC19zZXR0bGVzX2J5IswBChVBdHRyaWJ1dGVXcml0ZVJlcXVlc3QSEgoKcmVxdWVzdF9pZBgBIAEoCRI0CglkZXZpY2VfaWQYAiABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCgZ0YXJnZXQYAyABKAsyIy5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuQXR0cmlidXRlUmVmEjQKBXZhbHVlGAQgASgLMiUua3VzaW50YS5pb3QuZGV2aWNlLnYxLkF0dHJpYnV0ZVZhbHVlKr8CChBDb21tYW5kRXJyb3JDb2RlEiIKHkNPTU1BTkRfRVJST1JfQ09ERV9VTlNQRUNJRklFRBAAEiMKH0NPTU1BTkRfRVJST1JfQ09ERV9OT1RfRU5USVRMRUQQARIqCiZDT01NQU5EX0VSUk9SX0NPREVfQ09OU1RSQUlOVF9WSU9MQVRFRBACEiYKIkNPTU1BTkRfRVJST1JfQ09ERV9JTlZBTElEX0NPTU1BTkQQAxIiCh5DT01NQU5EX0VSUk9SX0NPREVfVU5SRUFDSEFCTEUQBBIeChpDT01NQU5EX0VSUk9SX0NPREVfVElNRU9VVBAFEikKJUNPTU1BTkRfRVJST1JfQ09ERV9SRUpFQ1RFRF9CWV9ERVZJQ0UQBhIfChtDT01NQU5EX0VSUk9SX0NPREVfSU5URVJOQUwQB0ICSAFiBnByb3RvMw", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_acl, file_kusinta_iot_device_v1_cluster_state, file_kusinta_iot_device_v1_matter_options, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_webrtc_v1_setpoint_mode]);
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Describes the message kusinta.iot.webrtc.v1.ThermostatSetpointParams.
|
|
@@ -9,6 +9,7 @@ import type { AttributeRef } from "../../access/v1/acl_pb.js";
|
|
|
9
9
|
import type { Space } from "../../space/v1/space_pb.js";
|
|
10
10
|
import type { ManagementAck, ManagementRequest, SpaceTree } from "./management_pb.js";
|
|
11
11
|
import type { DeviceLink, DeviceLinkList } from "../../link/v1/link_pb.js";
|
|
12
|
+
import type { ClimateMode, RoomClimate, RoomClimateList } from "../../climate/v1/climate_pb.js";
|
|
12
13
|
import type { PairingErrorDetail, PairingWindow } from "../../common/v1/pairing_pb.js";
|
|
13
14
|
import type { ConnectorKind, DeviceOwnershipType } from "../../common/v1/types_pb.js";
|
|
14
15
|
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
@@ -327,6 +328,14 @@ export declare type ManagementResult = Message<"kusinta.iot.webrtc.v1.Management
|
|
|
327
328
|
*/
|
|
328
329
|
value: DeviceLinkList;
|
|
329
330
|
case: "links";
|
|
331
|
+
} | {
|
|
332
|
+
/**
|
|
333
|
+
* list_room_climates
|
|
334
|
+
*
|
|
335
|
+
* @generated from field: kusinta.iot.climate.v1.RoomClimateList room_climates = 7;
|
|
336
|
+
*/
|
|
337
|
+
value: RoomClimateList;
|
|
338
|
+
case: "roomClimates";
|
|
330
339
|
} | { case: undefined; value?: undefined };
|
|
331
340
|
};
|
|
332
341
|
|
|
@@ -632,6 +641,51 @@ export declare type ConnectorsAnnounced = Message<"kusinta.iot.webrtc.v1.Connect
|
|
|
632
641
|
*/
|
|
633
642
|
export declare const ConnectorsAnnouncedSchema: GenMessage<ConnectorsAnnounced>;
|
|
634
643
|
|
|
644
|
+
/**
|
|
645
|
+
* A room's climate changed, gateway → app: its target, what set it, what it is being
|
|
646
|
+
* held at, its condition. Apply as an upsert keyed on room.space_id. Sent only for rooms
|
|
647
|
+
* the recipient may see, and whenever any field moves — a knob turned by hand shows up
|
|
648
|
+
* here without the app asking.
|
|
649
|
+
*
|
|
650
|
+
* @generated from message kusinta.iot.webrtc.v1.RoomClimateChanged
|
|
651
|
+
*/
|
|
652
|
+
export declare type RoomClimateChanged = Message<"kusinta.iot.webrtc.v1.RoomClimateChanged"> & {
|
|
653
|
+
/**
|
|
654
|
+
* @generated from field: kusinta.iot.climate.v1.RoomClimate room = 1;
|
|
655
|
+
*/
|
|
656
|
+
room?: RoomClimate | undefined;
|
|
657
|
+
};
|
|
658
|
+
|
|
659
|
+
/**
|
|
660
|
+
* Describes the message kusinta.iot.webrtc.v1.RoomClimateChanged.
|
|
661
|
+
* Use `create(RoomClimateChangedSchema)` to create a new message.
|
|
662
|
+
*/
|
|
663
|
+
export declare const RoomClimateChangedSchema: GenMessage<RoomClimateChanged>;
|
|
664
|
+
|
|
665
|
+
/**
|
|
666
|
+
* A mode on a space was switched on, changed or ended, gateway → app. `ended` rather than
|
|
667
|
+
* kind UNSPECIFIED, so an app can still name the mode that finished.
|
|
668
|
+
*
|
|
669
|
+
* @generated from message kusinta.iot.webrtc.v1.ClimateModeChanged
|
|
670
|
+
*/
|
|
671
|
+
export declare type ClimateModeChanged = Message<"kusinta.iot.webrtc.v1.ClimateModeChanged"> & {
|
|
672
|
+
/**
|
|
673
|
+
* @generated from field: kusinta.iot.climate.v1.ClimateMode mode = 1;
|
|
674
|
+
*/
|
|
675
|
+
mode?: ClimateMode | undefined;
|
|
676
|
+
|
|
677
|
+
/**
|
|
678
|
+
* @generated from field: bool ended = 2;
|
|
679
|
+
*/
|
|
680
|
+
ended: boolean;
|
|
681
|
+
};
|
|
682
|
+
|
|
683
|
+
/**
|
|
684
|
+
* Describes the message kusinta.iot.webrtc.v1.ClimateModeChanged.
|
|
685
|
+
* Use `create(ClimateModeChangedSchema)` to create a new message.
|
|
686
|
+
*/
|
|
687
|
+
export declare const ClimateModeChangedSchema: GenMessage<ClimateModeChanged>;
|
|
688
|
+
|
|
635
689
|
/**
|
|
636
690
|
* @generated from message kusinta.iot.webrtc.v1.GatewayMessage
|
|
637
691
|
*/
|
|
@@ -750,6 +804,18 @@ export declare type GatewayMessage = Message<"kusinta.iot.webrtc.v1.GatewayMessa
|
|
|
750
804
|
*/
|
|
751
805
|
value: ConnectorsAnnounced;
|
|
752
806
|
case: "connectorsAnnounced";
|
|
807
|
+
} | {
|
|
808
|
+
/**
|
|
809
|
+
* @generated from field: kusinta.iot.webrtc.v1.RoomClimateChanged room_climate_changed = 21;
|
|
810
|
+
*/
|
|
811
|
+
value: RoomClimateChanged;
|
|
812
|
+
case: "roomClimateChanged";
|
|
813
|
+
} | {
|
|
814
|
+
/**
|
|
815
|
+
* @generated from field: kusinta.iot.webrtc.v1.ClimateModeChanged climate_mode_changed = 22;
|
|
816
|
+
*/
|
|
817
|
+
value: ClimateModeChanged;
|
|
818
|
+
case: "climateModeChanged";
|
|
753
819
|
} | { case: undefined; value?: undefined };
|
|
754
820
|
};
|
|
755
821
|
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { enumDesc, fileDesc, messageDesc, tsEnum } from "@bufbuild/protobuf/codegenv2";
|
|
6
6
|
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
|
7
7
|
import { file_kusinta_iot_access_v1_acl } from "../../access/v1/acl_pb.js";
|
|
8
|
+
import { file_kusinta_iot_climate_v1_climate } from "../../climate/v1/climate_pb.js";
|
|
8
9
|
import { file_kusinta_iot_common_v1_pairing } from "../../common/v1/pairing_pb.js";
|
|
9
10
|
import { file_kusinta_iot_common_v1_types } from "../../common/v1/types_pb.js";
|
|
10
11
|
import { file_kusinta_iot_device_v1_device_event } from "../../device/v1/device_event_pb.js";
|
|
@@ -20,7 +21,7 @@ import { file_kusinta_iot_webrtc_v1_permission_push } from "./permission_push_pb
|
|
|
20
21
|
* Describes the file kusinta/iot/webrtc/v1/envelope.proto.
|
|
21
22
|
*/
|
|
22
23
|
export const file_kusinta_iot_webrtc_v1_envelope = /*@__PURE__*/
|
|
23
|
-
fileDesc("
|
|
24
|
+
fileDesc("CiRrdXNpbnRhL2lvdC93ZWJydGMvdjEvZW52ZWxvcGUucHJvdG8SFWt1c2ludGEuaW90LndlYnJ0Yy52MSIGCgRQaW5nIgYKBFBvbmciIwoRSGFuZHNoYWtlUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIlwKDEFwcEhhbmRzaGFrZRILCgNqd3QYASABKAkSPwoUc3Vic2NyaWJlX2RldmljZV9pZHMYAiADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJJChBTdWJzY3JpYmVEZXZpY2VzEjUKCmRldmljZV9pZHMYASADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJLChJVbnN1YnNjcmliZURldmljZXMSNQoKZGV2aWNlX2lkcxgBIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkIpMBChNSZWZ1c2VkU3Vic2NyaXB0aW9uEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjUKBGNvZGUYAiABKA4yJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9yQ29kZRIPCgdtZXNzYWdlGAMgASgJIpoBCg9TdWJzY3JpcHRpb25BY2sSEwoLaW5fcmVwbHlfdG8YASABKAkSNQoKc3Vic2NyaWJlZBgCIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjsKB3JlZnVzZWQYAyADKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVmdXNlZFN1YnNjcmlwdGlvbiLRAQoTUHJvcGVydHlSZWFkUmVxdWVzdBI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCgZ0YXJnZXQYByABKAsyIy5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuQXR0cmlidXRlUmVmSgQIAhAHUg5hdHRyaWJ1dGVfbmFtZVIOY2x1c3Rlcl9pZF9oZXhSCmNsdXN0ZXJfaWRSC2VuZHBvaW50X2lkUhB2ZW5kb3JfZXh0ZW5zaW9uIswBCgxHYXRld2F5RXJyb3ISNQoEY29kZRgBIAEoDjInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HYXRld2F5RXJyb3JDb2RlEg8KB21lc3NhZ2UYAiABKAkSQwoIbWV0YWRhdGEYAyADKAsyMS5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9yLk1ldGFkYXRhRW50cnkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIvoCChBNYW5hZ2VtZW50UmVzdWx0EhMKC2luX3JlcGx5X3RvGAEgASgJEjQKBWVycm9yGAIgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLkdhdGV3YXlFcnJvckgAEiwKBXNwYWNlGAMgASgLMhsua3VzaW50YS5pb3Quc3BhY2UudjEuU3BhY2VIABI2CgpzcGFjZV90cmVlGAQgASgLMiAua3VzaW50YS5pb3Qud2VicnRjLnYxLlNwYWNlVHJlZUgAEjMKA2FjaxgFIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NYW5hZ2VtZW50QWNrSAASNAoFbGlua3MYBiABKAsyIy5rdXNpbnRhLmlvdC5saW5rLnYxLkRldmljZUxpbmtMaXN0SAASQAoNcm9vbV9jbGltYXRlcxgHIAEoCzInLmt1c2ludGEuaW90LmNsaW1hdGUudjEuUm9vbUNsaW1hdGVMaXN0SABCCAoGcmVzdWx0IvsBCgxTdGFydFBhaXJpbmcSOgoMY29ubmVjdG9yX2lkGAEgASgLMiQua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuQ29ubmVjdG9ySWQSNAoGd2luZG93GAIgASgLMiQua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdXaW5kb3cSOgoQaW5pdGlhbF9zcGFjZV9pZBgDIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSPQoJb3duZXJzaGlwGAQgASgOMioua3VzaW50YS5pb3QuY29tbW9uLnYxLkRldmljZU93bmVyc2hpcFR5cGUijwEKDlBhaXJpbmdTdGFydGVkEhMKC2luX3JlcGx5X3RvGAEgASgJEi4KCmV4cGlyZXNfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKBWVycm9yGAMgASgLMikua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdFcnJvckRldGFpbCKXAQoPUGFpcmluZ0ZpbmlzaGVkEhMKC2luX3JlcGx5X3RvGAEgASgJEjUKCmRldmljZV9pZHMYAiADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBI4CgVlcnJvchgDIAEoCzIpLmt1c2ludGEuaW90LmNvbW1vbi52MS5QYWlyaW5nRXJyb3JEZXRhaWwiTQoLTGlua0NoYW5nZWQSLQoEbGluaxgBIAEoCzIfLmt1c2ludGEuaW90LmxpbmsudjEuRGV2aWNlTGluaxIPCgdyZW1vdmVkGAIgASgIIqMCChNDb25uZWN0b3JEZXNjcmlwdG9yEjoKDGNvbm5lY3Rvcl9pZBgBIAEoCzIkLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkNvbm5lY3RvcklkEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRIhChlzdXBwb3J0ZWRfZGV2aWNlX3R5cGVfaWRzGAMgAygNEhgKEHN1cHBvcnRzX3BhaXJpbmcYBCABKAgSHQoVc3VwcG9ydHNfcHJvdmlzaW9uaW5nGAUgASgIEhUKDWJyb2tlcnNfbGlua3MYBiABKAgSMgoEa2luZBgHIAEoDjIkLmt1c2ludGEuaW90LmNvbW1vbi52MS5Db25uZWN0b3JLaW5kEhMKC2Rlc2NyaXB0aW9uGAggASgJIlUKE0Nvbm5lY3RvcnNBbm5vdW5jZWQSPgoKY29ubmVjdG9ycxgBIAMoCzIqLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Db25uZWN0b3JEZXNjcmlwdG9yIkcKElJvb21DbGltYXRlQ2hhbmdlZBIxCgRyb29tGAEgASgLMiMua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5Sb29tQ2xpbWF0ZSJWChJDbGltYXRlTW9kZUNoYW5nZWQSMQoEbW9kZRgBIAEoCzIjLmt1c2ludGEuaW90LmNsaW1hdGUudjEuQ2xpbWF0ZU1vZGUSDQoFZW5kZWQYAiABKAgiuQoKDkdhdGV3YXlNZXNzYWdlEhIKCm1lc3NhZ2VfaWQYASABKAkSKwoHc2VudF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASRAoOc3RhdGVfc25hcHNob3QYAyABKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuRGV2aWNlU3RhdGVTbmFwc2hvdEgAEkAKD3Byb3BlcnR5X3JlcG9ydBgEIAEoCzIlLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qcm9wZXJ0eVJlcG9ydEgAEkgKEXBlcm1pc3Npb25fdXBkYXRlGAUgASgLMisua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpdmVQZXJtaXNzaW9uVXBkYXRlSAASPgoOY29tbWFuZF9yZXN1bHQYBiABKAsyJC5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ29tbWFuZFJlc3VsdEgAEisKBHBvbmcYCCABKAsyGy5rdXNpbnRhLmlvdC53ZWJydGMudjEuUG9uZ0gAEkYKEmhhbmRzaGFrZV9yZWplY3RlZBgJIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5IYW5kc2hha2VSZWplY3RlZEgAEjQKBWVycm9yGAogASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLkdhdGV3YXlFcnJvckgAEkIKEHN1YnNjcmlwdGlvbl9hY2sYCyABKAsyJi5rdXNpbnRhLmlvdC53ZWJydGMudjEuU3Vic2NyaXB0aW9uQWNrSAASOgoMZGV2aWNlX2FkZGVkGAwgASgLMiIua3VzaW50YS5pb3Qud2VicnRjLnYxLkRldmljZUFkZGVkSAASPgoOZGV2aWNlX3JlbW92ZWQYDSABKAsyJC5rdXNpbnRhLmlvdC53ZWJydGMudjEuRGV2aWNlUmVtb3ZlZEgAEkQKEW1hbmFnZW1lbnRfcmVzdWx0GA4gASgLMicua3VzaW50YS5pb3Qud2VicnRjLnYxLk1hbmFnZW1lbnRSZXN1bHRIABJACg1kZXZpY2VfZXZlbnRzGBAgASgLMicua3VzaW50YS5pb3QuZGV2aWNlLnYxLkRldmljZUV2ZW50QmF0Y2hIABJACg9wYWlyaW5nX3N0YXJ0ZWQYESABKAsyJS5rdXNpbnRhLmlvdC53ZWJydGMudjEuUGFpcmluZ1N0YXJ0ZWRIABJCChBwYWlyaW5nX2ZpbmlzaGVkGBIgASgLMiYua3VzaW50YS5pb3Qud2VicnRjLnYxLlBhaXJpbmdGaW5pc2hlZEgAEjoKDGxpbmtfY2hhbmdlZBgTIAEoCzIiLmt1c2ludGEuaW90LndlYnJ0Yy52MS5MaW5rQ2hhbmdlZEgAEkoKFGNvbm5lY3RvcnNfYW5ub3VuY2VkGBQgASgLMioua3VzaW50YS5pb3Qud2VicnRjLnYxLkNvbm5lY3RvcnNBbm5vdW5jZWRIABJJChRyb29tX2NsaW1hdGVfY2hhbmdlZBgVIAEoCzIpLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Sb29tQ2xpbWF0ZUNoYW5nZWRIABJJChRjbGltYXRlX21vZGVfY2hhbmdlZBgWIAEoCzIpLmt1c2ludGEuaW90LndlYnJ0Yy52MS5DbGltYXRlTW9kZUNoYW5nZWRIAEIJCgdwYXlsb2FkSgQIDxAQSgQIBxAIUhZhdHRyaWJ1dGVfd3JpdGVfcmVzdWx0Ug5wcm9wZXJ0eV9ldmVudCKDBQoKQXBwTWVzc2FnZRISCgptZXNzYWdlX2lkGAEgASgJEisKB3NlbnRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKCWhhbmRzaGFrZRgDIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5BcHBIYW5kc2hha2VIABI3Cgdjb21tYW5kGAQgASgLMiQua3VzaW50YS5pb3Qud2VicnRjLnYxLkRldmljZUNvbW1hbmRIABJCCgxyZWFkX3JlcXVlc3QYBSABKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUHJvcGVydHlSZWFkUmVxdWVzdEgAEisKBHBpbmcYBiABKAsyGy5rdXNpbnRhLmlvdC53ZWJydGMudjEuUGluZ0gAEjwKCXN1YnNjcmliZRgHIAEoCzInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5TdWJzY3JpYmVEZXZpY2VzSAASQAoLdW5zdWJzY3JpYmUYCCABKAsyKS5rdXNpbnRhLmlvdC53ZWJydGMudjEuVW5zdWJzY3JpYmVEZXZpY2VzSAASPgoKbWFuYWdlbWVudBgJIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NYW5hZ2VtZW50UmVxdWVzdEgAEkcKD2F0dHJpYnV0ZV93cml0ZRgKIAEoCzIsLmt1c2ludGEuaW90LndlYnJ0Yy52MS5BdHRyaWJ1dGVXcml0ZVJlcXVlc3RIABI8Cg1zdGFydF9wYWlyaW5nGAsgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLlN0YXJ0UGFpcmluZ0gAQgkKB3BheWxvYWQq9gEKEEdhdGV3YXlFcnJvckNvZGUSIgoeR0FURVdBWV9FUlJPUl9DT0RFX1VOU1BFQ0lGSUVEEAASIwofR0FURVdBWV9FUlJPUl9DT0RFX05PVF9FTlRJVExFRBABEiYKIkdBVEVXQVlfRVJST1JfQ09ERV9JTlZBTElEX1JFUVVFU1QQAhIiCh5HQVRFV0FZX0VSUk9SX0NPREVfVU5BVkFJTEFCTEUQAxIfChtHQVRFV0FZX0VSUk9SX0NPREVfSU5URVJOQUwQBBIsCihHQVRFV0FZX0VSUk9SX0NPREVfU0VTU0lPTl9MSU1JVF9SRUFDSEVEEAVCAkgBYgZwcm90bzM", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_acl, file_kusinta_iot_climate_v1_climate, file_kusinta_iot_common_v1_pairing, file_kusinta_iot_common_v1_types, file_kusinta_iot_device_v1_device_event, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_link_v1_link, file_kusinta_iot_space_v1_space, file_kusinta_iot_webrtc_v1_command, file_kusinta_iot_webrtc_v1_device_state, file_kusinta_iot_webrtc_v1_management, file_kusinta_iot_webrtc_v1_permission_push]);
|
|
24
25
|
|
|
25
26
|
/**
|
|
26
27
|
* Describes the message kusinta.iot.webrtc.v1.Ping.
|
|
@@ -141,19 +142,33 @@ export const ConnectorDescriptorSchema = /*@__PURE__*/
|
|
|
141
142
|
export const ConnectorsAnnouncedSchema = /*@__PURE__*/
|
|
142
143
|
messageDesc(file_kusinta_iot_webrtc_v1_envelope, 16);
|
|
143
144
|
|
|
145
|
+
/**
|
|
146
|
+
* Describes the message kusinta.iot.webrtc.v1.RoomClimateChanged.
|
|
147
|
+
* Use `create(RoomClimateChangedSchema)` to create a new message.
|
|
148
|
+
*/
|
|
149
|
+
export const RoomClimateChangedSchema = /*@__PURE__*/
|
|
150
|
+
messageDesc(file_kusinta_iot_webrtc_v1_envelope, 17);
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Describes the message kusinta.iot.webrtc.v1.ClimateModeChanged.
|
|
154
|
+
* Use `create(ClimateModeChangedSchema)` to create a new message.
|
|
155
|
+
*/
|
|
156
|
+
export const ClimateModeChangedSchema = /*@__PURE__*/
|
|
157
|
+
messageDesc(file_kusinta_iot_webrtc_v1_envelope, 18);
|
|
158
|
+
|
|
144
159
|
/**
|
|
145
160
|
* Describes the message kusinta.iot.webrtc.v1.GatewayMessage.
|
|
146
161
|
* Use `create(GatewayMessageSchema)` to create a new message.
|
|
147
162
|
*/
|
|
148
163
|
export const GatewayMessageSchema = /*@__PURE__*/
|
|
149
|
-
messageDesc(file_kusinta_iot_webrtc_v1_envelope,
|
|
164
|
+
messageDesc(file_kusinta_iot_webrtc_v1_envelope, 19);
|
|
150
165
|
|
|
151
166
|
/**
|
|
152
167
|
* Describes the message kusinta.iot.webrtc.v1.AppMessage.
|
|
153
168
|
* Use `create(AppMessageSchema)` to create a new message.
|
|
154
169
|
*/
|
|
155
170
|
export const AppMessageSchema = /*@__PURE__*/
|
|
156
|
-
messageDesc(file_kusinta_iot_webrtc_v1_envelope,
|
|
171
|
+
messageDesc(file_kusinta_iot_webrtc_v1_envelope, 20);
|
|
157
172
|
|
|
158
173
|
/**
|
|
159
174
|
* Describes the enum kusinta.iot.webrtc.v1.GatewayErrorCode.
|
|
@@ -9,6 +9,8 @@ import type { ConnectorId, DeviceId, SpaceId, UserId } from "../../identity/v1/i
|
|
|
9
9
|
import type { LorawanProvisioning } from "../../vendor/lorawan/v1/lorawan_pb.js";
|
|
10
10
|
import type { Space } from "../../space/v1/space_pb.js";
|
|
11
11
|
import type { LinkFunction, LinkMode, LinkSettings } from "../../link/v1/link_pb.js";
|
|
12
|
+
import type { ClimateModeKind } from "../../climate/v1/climate_pb.js";
|
|
13
|
+
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
12
14
|
|
|
13
15
|
/**
|
|
14
16
|
* Describes the file kusinta/iot/webrtc/v1/management.proto.
|
|
@@ -586,6 +588,188 @@ export declare type ListDeviceLinks = Message<"kusinta.iot.webrtc.v1.ListDeviceL
|
|
|
586
588
|
*/
|
|
587
589
|
export declare const ListDeviceLinksSchema: GenMessage<ListDeviceLinks>;
|
|
588
590
|
|
|
591
|
+
/**
|
|
592
|
+
* Sets the temperature a room is to be held at.
|
|
593
|
+
*
|
|
594
|
+
* Authorized as adjusting, not directing: WRITE on the room is enough — a resident in
|
|
595
|
+
* their own apartment, as well as owners and filing roles. It is the same act as turning
|
|
596
|
+
* a radiator's knob, which a resident can already do; setting up what the room obeys is
|
|
597
|
+
* ConfigureRoomClimate, and stays with owners.
|
|
598
|
+
*
|
|
599
|
+
* Clamped to the room's limits rather than refused outside them, and the clamped value is
|
|
600
|
+
* what the room's RoomClimate then reports.
|
|
601
|
+
*
|
|
602
|
+
* @generated from message kusinta.iot.webrtc.v1.SetRoomTarget
|
|
603
|
+
*/
|
|
604
|
+
export declare type SetRoomTarget = Message<"kusinta.iot.webrtc.v1.SetRoomTarget"> & {
|
|
605
|
+
/**
|
|
606
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId room_id = 1;
|
|
607
|
+
*/
|
|
608
|
+
roomId?: SpaceId | undefined;
|
|
609
|
+
|
|
610
|
+
/**
|
|
611
|
+
* Unset clears the target: the room goes back to having none (NO_TARGET) and its
|
|
612
|
+
* devices to their own behaviour. With presence, so that a request that forgot the
|
|
613
|
+
* field is not read as 0 °C and clamped to the room's minimum.
|
|
614
|
+
*
|
|
615
|
+
* @generated from field: optional sint32 target_centidegrees = 2;
|
|
616
|
+
*/
|
|
617
|
+
targetCentidegrees?: number | undefined;
|
|
618
|
+
};
|
|
619
|
+
|
|
620
|
+
/**
|
|
621
|
+
* Describes the message kusinta.iot.webrtc.v1.SetRoomTarget.
|
|
622
|
+
* Use `create(SetRoomTargetSchema)` to create a new message.
|
|
623
|
+
*/
|
|
624
|
+
export declare const SetRoomTargetSchema: GenMessage<SetRoomTarget>;
|
|
625
|
+
|
|
626
|
+
/**
|
|
627
|
+
* The sensors a room measures with, in order of preference. A message of its own so that
|
|
628
|
+
* "leave the sensors alone" (unset) differs from "set" on the wire. Set but empty returns
|
|
629
|
+
* the room to the default order, every temperature sensor filed in it in filing order.
|
|
630
|
+
*
|
|
631
|
+
* @generated from message kusinta.iot.webrtc.v1.RoomSensors
|
|
632
|
+
*/
|
|
633
|
+
export declare type RoomSensors = Message<"kusinta.iot.webrtc.v1.RoomSensors"> & {
|
|
634
|
+
/**
|
|
635
|
+
* @generated from field: repeated kusinta.iot.identity.v1.DeviceId sensor_ids = 1;
|
|
636
|
+
*/
|
|
637
|
+
sensorIds: DeviceId[];
|
|
638
|
+
};
|
|
639
|
+
|
|
640
|
+
/**
|
|
641
|
+
* Describes the message kusinta.iot.webrtc.v1.RoomSensors.
|
|
642
|
+
* Use `create(RoomSensorsSchema)` to create a new message.
|
|
643
|
+
*/
|
|
644
|
+
export declare const RoomSensorsSchema: GenMessage<RoomSensors>;
|
|
645
|
+
|
|
646
|
+
/**
|
|
647
|
+
* A room's limits. A message of its own so that "leave the limits alone" (unset) differs
|
|
648
|
+
* from "set" — and, set, an unset bound inside it removes that bound, which a bare
|
|
649
|
+
* optional on the request could not say.
|
|
650
|
+
*
|
|
651
|
+
* @generated from message kusinta.iot.webrtc.v1.RoomLimits
|
|
652
|
+
*/
|
|
653
|
+
export declare type RoomLimits = Message<"kusinta.iot.webrtc.v1.RoomLimits"> & {
|
|
654
|
+
/**
|
|
655
|
+
* @generated from field: optional sint32 min_centidegrees = 1;
|
|
656
|
+
*/
|
|
657
|
+
minCentidegrees?: number | undefined;
|
|
658
|
+
|
|
659
|
+
/**
|
|
660
|
+
* @generated from field: optional sint32 max_centidegrees = 2;
|
|
661
|
+
*/
|
|
662
|
+
maxCentidegrees?: number | undefined;
|
|
663
|
+
};
|
|
664
|
+
|
|
665
|
+
/**
|
|
666
|
+
* Describes the message kusinta.iot.webrtc.v1.RoomLimits.
|
|
667
|
+
* Use `create(RoomLimitsSchema)` to create a new message.
|
|
668
|
+
*/
|
|
669
|
+
export declare const RoomLimitsSchema: GenMessage<RoomLimits>;
|
|
670
|
+
|
|
671
|
+
/**
|
|
672
|
+
* Configures what a room obeys: its limits, its sensors, and whether a change made by
|
|
673
|
+
* hand at one of its devices counts. Authorized as directing — owners and filing roles —
|
|
674
|
+
* because this decides what everybody in the room can do.
|
|
675
|
+
*
|
|
676
|
+
* Each field moves alone, as on UpdateSpace: unset leaves it as it is.
|
|
677
|
+
*
|
|
678
|
+
* @generated from message kusinta.iot.webrtc.v1.ConfigureRoomClimate
|
|
679
|
+
*/
|
|
680
|
+
export declare type ConfigureRoomClimate = Message<"kusinta.iot.webrtc.v1.ConfigureRoomClimate"> & {
|
|
681
|
+
/**
|
|
682
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId room_id = 1;
|
|
683
|
+
*/
|
|
684
|
+
roomId?: SpaceId | undefined;
|
|
685
|
+
|
|
686
|
+
/**
|
|
687
|
+
* Replaces both bounds; see RoomLimits.
|
|
688
|
+
*
|
|
689
|
+
* @generated from field: kusinta.iot.webrtc.v1.RoomLimits limits = 2;
|
|
690
|
+
*/
|
|
691
|
+
limits?: RoomLimits | undefined;
|
|
692
|
+
|
|
693
|
+
/**
|
|
694
|
+
* Only devices filed in this room; any other is refused.
|
|
695
|
+
*
|
|
696
|
+
* @generated from field: kusinta.iot.webrtc.v1.RoomSensors sensors = 3;
|
|
697
|
+
*/
|
|
698
|
+
sensors?: RoomSensors | undefined;
|
|
699
|
+
|
|
700
|
+
/**
|
|
701
|
+
* @generated from field: optional bool lock_device_controls = 4;
|
|
702
|
+
*/
|
|
703
|
+
lockDeviceControls?: boolean | undefined;
|
|
704
|
+
};
|
|
705
|
+
|
|
706
|
+
/**
|
|
707
|
+
* Describes the message kusinta.iot.webrtc.v1.ConfigureRoomClimate.
|
|
708
|
+
* Use `create(ConfigureRoomClimateSchema)` to create a new message.
|
|
709
|
+
*/
|
|
710
|
+
export declare const ConfigureRoomClimateSchema: GenMessage<ConfigureRoomClimate>;
|
|
711
|
+
|
|
712
|
+
/**
|
|
713
|
+
* Switches a mode on a space on, or off with kind UNSPECIFIED. WRITE on the space.
|
|
714
|
+
* Switching one on needs setback_centidegrees; a mode with nothing to set back to is
|
|
715
|
+
* refused.
|
|
716
|
+
*
|
|
717
|
+
* @generated from message kusinta.iot.webrtc.v1.SetClimateMode
|
|
718
|
+
*/
|
|
719
|
+
export declare type SetClimateMode = Message<"kusinta.iot.webrtc.v1.SetClimateMode"> & {
|
|
720
|
+
/**
|
|
721
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 1;
|
|
722
|
+
*/
|
|
723
|
+
spaceId?: SpaceId | undefined;
|
|
724
|
+
|
|
725
|
+
/**
|
|
726
|
+
* @generated from field: kusinta.iot.climate.v1.ClimateModeKind kind = 2;
|
|
727
|
+
*/
|
|
728
|
+
kind: ClimateModeKind;
|
|
729
|
+
|
|
730
|
+
/**
|
|
731
|
+
* @generated from field: optional sint32 setback_centidegrees = 3;
|
|
732
|
+
*/
|
|
733
|
+
setbackCentidegrees?: number | undefined;
|
|
734
|
+
|
|
735
|
+
/**
|
|
736
|
+
* HOLIDAY only; both required there. Refused on AWAY.
|
|
737
|
+
*
|
|
738
|
+
* @generated from field: google.protobuf.Timestamp starts_at = 4;
|
|
739
|
+
*/
|
|
740
|
+
startsAt?: Timestamp | undefined;
|
|
741
|
+
|
|
742
|
+
/**
|
|
743
|
+
* @generated from field: google.protobuf.Timestamp ends_at = 5;
|
|
744
|
+
*/
|
|
745
|
+
endsAt?: Timestamp | undefined;
|
|
746
|
+
};
|
|
747
|
+
|
|
748
|
+
/**
|
|
749
|
+
* Describes the message kusinta.iot.webrtc.v1.SetClimateMode.
|
|
750
|
+
* Use `create(SetClimateModeSchema)` to create a new message.
|
|
751
|
+
*/
|
|
752
|
+
export declare const SetClimateModeSchema: GenMessage<SetClimateMode>;
|
|
753
|
+
|
|
754
|
+
/**
|
|
755
|
+
* Lists the room climates and modes a caller may see. Unset root_space_id lists every
|
|
756
|
+
* one the caller can reach; naming a space narrows it to that space and those below.
|
|
757
|
+
*
|
|
758
|
+
* @generated from message kusinta.iot.webrtc.v1.ListRoomClimates
|
|
759
|
+
*/
|
|
760
|
+
export declare type ListRoomClimates = Message<"kusinta.iot.webrtc.v1.ListRoomClimates"> & {
|
|
761
|
+
/**
|
|
762
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId root_space_id = 1;
|
|
763
|
+
*/
|
|
764
|
+
rootSpaceId?: SpaceId | undefined;
|
|
765
|
+
};
|
|
766
|
+
|
|
767
|
+
/**
|
|
768
|
+
* Describes the message kusinta.iot.webrtc.v1.ListRoomClimates.
|
|
769
|
+
* Use `create(ListRoomClimatesSchema)` to create a new message.
|
|
770
|
+
*/
|
|
771
|
+
export declare const ListRoomClimatesSchema: GenMessage<ListRoomClimates>;
|
|
772
|
+
|
|
589
773
|
/**
|
|
590
774
|
* @generated from message kusinta.iot.webrtc.v1.ManagementRequest
|
|
591
775
|
*/
|
|
@@ -683,6 +867,30 @@ export declare type ManagementRequest = Message<"kusinta.iot.webrtc.v1.Managemen
|
|
|
683
867
|
*/
|
|
684
868
|
value: ProvisionDevice;
|
|
685
869
|
case: "provisionDevice";
|
|
870
|
+
} | {
|
|
871
|
+
/**
|
|
872
|
+
* @generated from field: kusinta.iot.webrtc.v1.SetRoomTarget set_room_target = 16;
|
|
873
|
+
*/
|
|
874
|
+
value: SetRoomTarget;
|
|
875
|
+
case: "setRoomTarget";
|
|
876
|
+
} | {
|
|
877
|
+
/**
|
|
878
|
+
* @generated from field: kusinta.iot.webrtc.v1.ConfigureRoomClimate configure_room_climate = 17;
|
|
879
|
+
*/
|
|
880
|
+
value: ConfigureRoomClimate;
|
|
881
|
+
case: "configureRoomClimate";
|
|
882
|
+
} | {
|
|
883
|
+
/**
|
|
884
|
+
* @generated from field: kusinta.iot.webrtc.v1.SetClimateMode set_climate_mode = 18;
|
|
885
|
+
*/
|
|
886
|
+
value: SetClimateMode;
|
|
887
|
+
case: "setClimateMode";
|
|
888
|
+
} | {
|
|
889
|
+
/**
|
|
890
|
+
* @generated from field: kusinta.iot.webrtc.v1.ListRoomClimates list_room_climates = 19;
|
|
891
|
+
*/
|
|
892
|
+
value: ListRoomClimates;
|
|
893
|
+
case: "listRoomClimates";
|
|
686
894
|
} | { case: undefined; value?: undefined };
|
|
687
895
|
};
|
|
688
896
|
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
|
|
5
5
|
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
|
7
|
+
import { file_kusinta_iot_climate_v1_climate } from "../../climate/v1/climate_pb.js";
|
|
6
8
|
import { file_kusinta_iot_common_v1_types } from "../../common/v1/types_pb.js";
|
|
7
9
|
import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
|
|
8
10
|
import { file_kusinta_iot_link_v1_link } from "../../link/v1/link_pb.js";
|
|
@@ -13,7 +15,7 @@ import { file_kusinta_iot_vendor_lorawan_v1_lorawan } from "../../vendor/lorawan
|
|
|
13
15
|
* Describes the file kusinta/iot/webrtc/v1/management.proto.
|
|
14
16
|
*/
|
|
15
17
|
export const file_kusinta_iot_webrtc_v1_management = /*@__PURE__*/
|
|
16
|
-
fileDesc("CiZrdXNpbnRhL2lvdC93ZWJydGMvdjEvbWFuYWdlbWVudC5wcm90bxIVa3VzaW50YS5pb3Qud2VicnRjLnYxIrABCgtDcmVhdGVTcGFjZRI0CgpzcGFjZV90eXBlGAEgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBWZsb29yGAQgASgFEjkKD3BhcmVudF9zcGFjZV9pZBgFIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQizwIKC1VwZGF0ZVNwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBI5CgpzcGFjZV90eXBlGAIgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZUgBiAEBEhEKBG5hbWUYAyABKAlIAogBARIYCgtkZXNjcmlwdGlvbhgEIAEoCUgDiAEBEhIKBWZsb29yGAUgASgFSASIAQESOwoPcGFyZW50X3NwYWNlX2lkGAYgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZEgAEhAKBmRldGFjaBgHIAEoCEgAQg8KDXBhcmVudF9jaGFuZ2VCDQoLX3NwYWNlX3R5cGVCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQggKBl9mbG9vciJSCgtEZWxldGVTcGFjZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSDwoHY2FzY2FkZRgCIAEoCCJ/
|
|
18
|
+
fileDesc("CiZrdXNpbnRhL2lvdC93ZWJydGMvdjEvbWFuYWdlbWVudC5wcm90bxIVa3VzaW50YS5pb3Qud2VicnRjLnYxIrABCgtDcmVhdGVTcGFjZRI0CgpzcGFjZV90eXBlGAEgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBWZsb29yGAQgASgFEjkKD3BhcmVudF9zcGFjZV9pZBgFIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQizwIKC1VwZGF0ZVNwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBI5CgpzcGFjZV90eXBlGAIgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZUgBiAEBEhEKBG5hbWUYAyABKAlIAogBARIYCgtkZXNjcmlwdGlvbhgEIAEoCUgDiAEBEhIKBWZsb29yGAUgASgFSASIAQESOwoPcGFyZW50X3NwYWNlX2lkGAYgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZEgAEhAKBmRldGFjaBgHIAEoCEgAQg8KDXBhcmVudF9jaGFuZ2VCDQoLX3NwYWNlX3R5cGVCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQggKBl9mbG9vciJSCgtEZWxldGVTcGFjZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSDwoHY2FzY2FkZRgCIAEoCCJ/ChFBc3NpZ25Vc2VyVG9TcGFjZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSMAoHdXNlcl9pZBgCIAEoCzIfLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlVzZXJJZEoECAMQBCJ7ChNSZW1vdmVVc2VyRnJvbVNwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIwCgd1c2VyX2lkGAIgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkIn4KElBsYWNlRGV2aWNlSW5TcGFjZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQigQEKFVJlbW92ZURldmljZUZyb21TcGFjZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQi2AEKC0NsYWltRGV2aWNlEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEj0KCW93bmVyc2hpcBgCIAEoDjIqLmt1c2ludGEuaW90LmNvbW1vbi52MS5EZXZpY2VPd25lcnNoaXBUeXBlEjoKEGluaXRpYWxfc3BhY2VfaWQYAyABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEhgKEHBvc3Nlc3Npb25fcHJvb2YYBCABKAkiRQoNUmVsZWFzZURldmljZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCKjAQoPUHJvdmlzaW9uRGV2aWNlEjoKDGNvbm5lY3Rvcl9pZBgBIAEoCzIkLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkNvbm5lY3RvcklkEkUKB2xvcmF3YW4YAiABKAsyMi5rdXNpbnRhLmlvdC52ZW5kb3IubG9yYXdhbi52MS5Mb3Jhd2FuUHJvdmlzaW9uaW5nSABCDQoLY3JlZGVudGlhbHMiRQoKTGlzdFNwYWNlcxI3Cg1yb290X3NwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZCI4CglTcGFjZVRyZWUSKwoGc3BhY2VzGAEgAygLMhsua3VzaW50YS5pb3Quc3BhY2UudjEuU3BhY2UiDwoNTWFuYWdlbWVudEFjayKRAgoQQ3JlYXRlRGV2aWNlTGluaxIxCgZzZW5kZXIYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCghyZWNlaXZlchgCIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjMKCGZ1bmN0aW9uGAMgASgOMiEua3VzaW50YS5pb3QubGluay52MS5MaW5rRnVuY3Rpb24SKwoEbW9kZRgEIAEoDjIdLmt1c2ludGEuaW90LmxpbmsudjEuTGlua01vZGUSMwoIc2V0dGluZ3MYBSABKAsyIS5rdXNpbnRhLmlvdC5saW5rLnYxLkxpbmtTZXR0aW5ncyIjChBSZW1vdmVEZXZpY2VMaW5rEg8KB2xpbmtfaWQYASABKAkiWAoQVXBkYXRlRGV2aWNlTGluaxIPCgdsaW5rX2lkGAEgASgJEjMKCHNldHRpbmdzGAIgASgLMiEua3VzaW50YS5pb3QubGluay52MS5MaW5rU2V0dGluZ3MiRwoPTGlzdERldmljZUxpbmtzEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkInwKDVNldFJvb21UYXJnZXQSMQoHcm9vbV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSIAoTdGFyZ2V0X2NlbnRpZGVncmVlcxgCIAEoEUgAiAEBQhYKFF90YXJnZXRfY2VudGlkZWdyZWVzIkQKC1Jvb21TZW5zb3JzEjUKCnNlbnNvcl9pZHMYASADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJ0CgpSb29tTGltaXRzEh0KEG1pbl9jZW50aWRlZ3JlZXMYASABKBFIAIgBARIdChBtYXhfY2VudGlkZWdyZWVzGAIgASgRSAGIAQFCEwoRX21pbl9jZW50aWRlZ3JlZXNCEwoRX21heF9jZW50aWRlZ3JlZXMi7QEKFENvbmZpZ3VyZVJvb21DbGltYXRlEjEKB3Jvb21faWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEjEKBmxpbWl0cxgCIAEoCzIhLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Sb29tTGltaXRzEjMKB3NlbnNvcnMYAyABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUm9vbVNlbnNvcnMSIQoUbG9ja19kZXZpY2VfY29udHJvbHMYBCABKAhIAIgBAUIXChVfbG9ja19kZXZpY2VfY29udHJvbHMikwIKDlNldENsaW1hdGVNb2RlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBI1CgRraW5kGAIgASgOMicua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlTW9kZUtpbmQSIQoUc2V0YmFja19jZW50aWRlZ3JlZXMYAyABKBFIAIgBARItCglzdGFydHNfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKB2VuZHNfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhcKFV9zZXRiYWNrX2NlbnRpZGVncmVlcyJLChBMaXN0Um9vbUNsaW1hdGVzEjcKDXJvb3Rfc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkIrYKChFNYW5hZ2VtZW50UmVxdWVzdBI6CgxjcmVhdGVfc3BhY2UYASABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ3JlYXRlU3BhY2VIABI6Cgx1cGRhdGVfc3BhY2UYAiABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuVXBkYXRlU3BhY2VIABI6CgxkZWxldGVfc3BhY2UYAyABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuRGVsZXRlU3BhY2VIABJIChRhc3NpZ25fdXNlcl90b19zcGFjZRgEIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Bc3NpZ25Vc2VyVG9TcGFjZUgAEkwKFnJlbW92ZV91c2VyX2Zyb21fc3BhY2UYBSABKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVtb3ZlVXNlckZyb21TcGFjZUgAEkoKFXBsYWNlX2RldmljZV9pbl9zcGFjZRgGIAEoCzIpLmt1c2ludGEuaW90LndlYnJ0Yy52MS5QbGFjZURldmljZUluU3BhY2VIABJQChhyZW1vdmVfZGV2aWNlX2Zyb21fc3BhY2UYByABKAsyLC5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVtb3ZlRGV2aWNlRnJvbVNwYWNlSAASOgoMY2xhaW1fZGV2aWNlGAggASgLMiIua3VzaW50YS5pb3Qud2VicnRjLnYxLkNsYWltRGV2aWNlSAASPgoOcmVsZWFzZV9kZXZpY2UYCSABKAsyJC5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVsZWFzZURldmljZUgAEjgKC2xpc3Rfc3BhY2VzGAogASgLMiEua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpc3RTcGFjZXNIABJFChJjcmVhdGVfZGV2aWNlX2xpbmsYCyABKAsyJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ3JlYXRlRGV2aWNlTGlua0gAEkUKEnJlbW92ZV9kZXZpY2VfbGluaxgMIAEoCzInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5SZW1vdmVEZXZpY2VMaW5rSAASQwoRbGlzdF9kZXZpY2VfbGlua3MYDSABKAsyJi5rdXNpbnRhLmlvdC53ZWJydGMudjEuTGlzdERldmljZUxpbmtzSAASRQoSdXBkYXRlX2RldmljZV9saW5rGA4gASgLMicua3VzaW50YS5pb3Qud2VicnRjLnYxLlVwZGF0ZURldmljZUxpbmtIABJCChBwcm92aXNpb25fZGV2aWNlGA8gASgLMiYua3VzaW50YS5pb3Qud2VicnRjLnYxLlByb3Zpc2lvbkRldmljZUgAEj8KD3NldF9yb29tX3RhcmdldBgQIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5TZXRSb29tVGFyZ2V0SAASTQoWY29uZmlndXJlX3Jvb21fY2xpbWF0ZRgRIAEoCzIrLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Db25maWd1cmVSb29tQ2xpbWF0ZUgAEkEKEHNldF9jbGltYXRlX21vZGUYEiABKAsyJS5rdXNpbnRhLmlvdC53ZWJydGMudjEuU2V0Q2xpbWF0ZU1vZGVIABJFChJsaXN0X3Jvb21fY2xpbWF0ZXMYEyABKAsyJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuTGlzdFJvb21DbGltYXRlc0gAQgkKB3JlcXVlc3RCAkgBYgZwcm90bzM", [file_google_protobuf_timestamp, file_kusinta_iot_climate_v1_climate, file_kusinta_iot_common_v1_types, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_link_v1_link, file_kusinta_iot_space_v1_space, file_kusinta_iot_vendor_lorawan_v1_lorawan]);
|
|
17
19
|
|
|
18
20
|
/**
|
|
19
21
|
* Describes the message kusinta.iot.webrtc.v1.CreateSpace.
|
|
@@ -134,10 +136,52 @@ export const UpdateDeviceLinkSchema = /*@__PURE__*/
|
|
|
134
136
|
export const ListDeviceLinksSchema = /*@__PURE__*/
|
|
135
137
|
messageDesc(file_kusinta_iot_webrtc_v1_management, 16);
|
|
136
138
|
|
|
139
|
+
/**
|
|
140
|
+
* Describes the message kusinta.iot.webrtc.v1.SetRoomTarget.
|
|
141
|
+
* Use `create(SetRoomTargetSchema)` to create a new message.
|
|
142
|
+
*/
|
|
143
|
+
export const SetRoomTargetSchema = /*@__PURE__*/
|
|
144
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 17);
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Describes the message kusinta.iot.webrtc.v1.RoomSensors.
|
|
148
|
+
* Use `create(RoomSensorsSchema)` to create a new message.
|
|
149
|
+
*/
|
|
150
|
+
export const RoomSensorsSchema = /*@__PURE__*/
|
|
151
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 18);
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Describes the message kusinta.iot.webrtc.v1.RoomLimits.
|
|
155
|
+
* Use `create(RoomLimitsSchema)` to create a new message.
|
|
156
|
+
*/
|
|
157
|
+
export const RoomLimitsSchema = /*@__PURE__*/
|
|
158
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 19);
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Describes the message kusinta.iot.webrtc.v1.ConfigureRoomClimate.
|
|
162
|
+
* Use `create(ConfigureRoomClimateSchema)` to create a new message.
|
|
163
|
+
*/
|
|
164
|
+
export const ConfigureRoomClimateSchema = /*@__PURE__*/
|
|
165
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 20);
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Describes the message kusinta.iot.webrtc.v1.SetClimateMode.
|
|
169
|
+
* Use `create(SetClimateModeSchema)` to create a new message.
|
|
170
|
+
*/
|
|
171
|
+
export const SetClimateModeSchema = /*@__PURE__*/
|
|
172
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 21);
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Describes the message kusinta.iot.webrtc.v1.ListRoomClimates.
|
|
176
|
+
* Use `create(ListRoomClimatesSchema)` to create a new message.
|
|
177
|
+
*/
|
|
178
|
+
export const ListRoomClimatesSchema = /*@__PURE__*/
|
|
179
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 22);
|
|
180
|
+
|
|
137
181
|
/**
|
|
138
182
|
* Describes the message kusinta.iot.webrtc.v1.ManagementRequest.
|
|
139
183
|
* Use `create(ManagementRequestSchema)` to create a new message.
|
|
140
184
|
*/
|
|
141
185
|
export const ManagementRequestSchema = /*@__PURE__*/
|
|
142
|
-
messageDesc(file_kusinta_iot_webrtc_v1_management,
|
|
186
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 23);
|
|
143
187
|
|