@kusinta/iot-schema 0.2.0-beta.5 → 0.2.0-beta.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +42 -28
- package/src/kusinta/iot/access/v1/acl_pb.d.ts +138 -2
- package/src/kusinta/iot/access/v1/acl_pb.js +19 -2
- package/src/kusinta/iot/access/v1/roles_pb.d.ts +160 -4
- package/src/kusinta/iot/access/v1/roles_pb.js +128 -5
- package/src/kusinta/iot/accountlink/v1/account_link_pb.d.ts +591 -0
- package/src/kusinta/iot/accountlink/v1/account_link_pb.js +160 -0
- package/src/kusinta/iot/climate/v1/climate_pb.d.ts +1495 -0
- package/src/kusinta/iot/climate/v1/climate_pb.js +278 -0
- package/src/kusinta/iot/commissioning/v1/commissioning_pb.d.ts +1359 -0
- package/src/kusinta/iot/commissioning/v1/commissioning_pb.js +282 -0
- package/src/kusinta/iot/common/v1/pairing_pb.d.ts +219 -0
- package/src/kusinta/iot/common/v1/pairing_pb.js +50 -0
- package/src/kusinta/iot/common/v1/types_pb.d.ts +235 -0
- package/src/kusinta/iot/common/v1/types_pb.js +84 -2
- package/src/kusinta/iot/connector/v1/connector_pb.d.ts +874 -3
- package/src/kusinta/iot/connector/v1/connector_pb.js +126 -13
- package/src/kusinta/iot/device/v1/cluster_state_pb.d.ts +213 -1
- package/src/kusinta/iot/device/v1/cluster_state_pb.js +37 -2
- package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +32 -4
- package/src/kusinta/iot/device/v1/descriptor_pb.js +2 -1
- package/src/kusinta/iot/device/v1/device_event_pb.d.ts +89 -5
- package/src/kusinta/iot/device/v1/device_event_pb.js +1 -1
- package/src/kusinta/iot/device/v1/device_pb.d.ts +426 -11
- package/src/kusinta/iot/device/v1/device_pb.js +74 -2
- package/src/kusinta/iot/device/v1/properties_pb.d.ts +26 -5
- package/src/kusinta/iot/device/v1/properties_pb.js +1 -1
- package/src/kusinta/iot/device/v1/property_update_pb.d.ts +42 -2
- package/src/kusinta/iot/device/v1/property_update_pb.js +2 -1
- package/src/kusinta/iot/heating/v1/heating_pb.d.ts +656 -0
- package/src/kusinta/iot/heating/v1/heating_pb.js +119 -0
- package/src/kusinta/iot/link/v1/link_pb.d.ts +438 -0
- package/src/kusinta/iot/link/v1/link_pb.js +121 -0
- package/src/kusinta/iot/registration/v1/registration_pb.d.ts +18 -0
- package/src/kusinta/iot/registration/v1/registration_pb.js +1 -1
- package/src/kusinta/iot/reporting/v1/reporting_pb.d.ts +1251 -0
- package/src/kusinta/iot/reporting/v1/reporting_pb.js +238 -0
- package/src/kusinta/iot/reporting/v1/reporting_service_pb.d.ts +63 -0
- package/src/kusinta/iot/reporting/v1/reporting_service_pb.js +24 -0
- package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +939 -7
- package/src/kusinta/iot/signaling/v1/signaling_pb.js +163 -4
- package/src/kusinta/iot/signaling/v1/signaling_service_pb.d.ts +24 -1
- package/src/kusinta/iot/signaling/v1/signaling_service_pb.js +1 -1
- package/src/kusinta/iot/space/v1/space_pb.d.ts +146 -2
- package/src/kusinta/iot/space/v1/space_pb.js +10 -1
- package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +15 -0
- package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +1 -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 +5 -4
- package/src/kusinta/iot/vendor/v1/vendor_options_pb.js +5 -4
- package/src/kusinta/iot/webrtc/v1/app_token_pb.d.ts +48 -5
- package/src/kusinta/iot/webrtc/v1/app_token_pb.js +1 -1
- package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +56 -0
- package/src/kusinta/iot/webrtc/v1/command_pb.js +1 -1
- package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +179 -5
- package/src/kusinta/iot/webrtc/v1/device_state_pb.js +34 -5
- package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +732 -3
- package/src/kusinta/iot/webrtc/v1/envelope_pb.js +84 -4
- package/src/kusinta/iot/webrtc/v1/household_pb.d.ts +612 -0
- package/src/kusinta/iot/webrtc/v1/household_pb.js +134 -0
- package/src/kusinta/iot/webrtc/v1/invite_pb.d.ts +502 -0
- package/src/kusinta/iot/webrtc/v1/invite_pb.js +108 -0
- package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +2183 -76
- package/src/kusinta/iot/webrtc/v1/management_pb.js +311 -5
- package/src/kusinta/iot/webrtc/v1/members_pb.d.ts +582 -0
- package/src/kusinta/iot/webrtc/v1/members_pb.js +113 -0
- package/src/kusinta/iot/webrtc/v1/permission_push_pb.d.ts +66 -4
- package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +9 -1
|
@@ -0,0 +1,1251 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
|
|
2
|
+
// @generated from file kusinta/iot/reporting/v1/reporting.proto (package kusinta.iot.reporting.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 { ConnectorId, DeviceId, SpaceId, UserId } from "../../identity/v1/identity_pb.js";
|
|
8
|
+
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
9
|
+
import type { BackendFailureReason, SpaceType } from "../../common/v1/types_pb.js";
|
|
10
|
+
import type { Role } from "../../access/v1/roles_pb.js";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Describes the file kusinta/iot/reporting/v1/reporting.proto.
|
|
14
|
+
*/
|
|
15
|
+
export declare const file_kusinta_iot_reporting_v1_reporting: GenFile;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* One part of a full set: a concern's whole current state, sent on every new stream as above.
|
|
19
|
+
* A large set may span several requests, each carrying the same snapshot_id.
|
|
20
|
+
*
|
|
21
|
+
* The api-server applies a snapshot only once it holds every part of it: parts 0 to the one
|
|
22
|
+
* marked last, all with one snapshot_id, on one stream. Then, and only then, it drops what
|
|
23
|
+
* the snapshot does not name — closing open problems that are absent, forgetting reach and
|
|
24
|
+
* spaces that are absent. A snapshot belongs to its stream: a part with another snapshot_id,
|
|
25
|
+
* or any request on a newer stream, discards a snapshot in progress. A snapshot not
|
|
26
|
+
* completed is never applied, and the next stream sends its own.
|
|
27
|
+
*
|
|
28
|
+
* While a snapshot of a concern is in progress, the gateway sends that concern nothing but
|
|
29
|
+
* the snapshot's parts; whatever it queued meanwhile follows the last part. A change sent
|
|
30
|
+
* between parts could be missing from a snapshot built before it, and completing the snapshot
|
|
31
|
+
* would then undo it. A request without a snapshot part that arrives while one is in progress
|
|
32
|
+
* is not applied: the answer's applied_seq does not cover it.
|
|
33
|
+
*
|
|
34
|
+
* A part other than the last is held, not applied, but its seq counts as applied: the gateway
|
|
35
|
+
* sends the next. The snapshot applies with its last part.
|
|
36
|
+
*
|
|
37
|
+
* @generated from message kusinta.iot.reporting.v1.SnapshotPart
|
|
38
|
+
*/
|
|
39
|
+
export declare type SnapshotPart = Message<"kusinta.iot.reporting.v1.SnapshotPart"> & {
|
|
40
|
+
/**
|
|
41
|
+
* Minted by the gateway, opaque, unique per snapshot.
|
|
42
|
+
*
|
|
43
|
+
* @generated from field: string snapshot_id = 1;
|
|
44
|
+
*/
|
|
45
|
+
snapshotId: string;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* This part's place in the snapshot, from 0.
|
|
49
|
+
*
|
|
50
|
+
* @generated from field: uint32 part = 2;
|
|
51
|
+
*/
|
|
52
|
+
part: number;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Set on the final part. The snapshot has part + 1 parts.
|
|
56
|
+
*
|
|
57
|
+
* @generated from field: bool last = 3;
|
|
58
|
+
*/
|
|
59
|
+
last: boolean;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Describes the message kusinta.iot.reporting.v1.SnapshotPart.
|
|
64
|
+
* Use `create(SnapshotPartSchema)` to create a new message.
|
|
65
|
+
*/
|
|
66
|
+
export declare const SnapshotPartSchema: GenMessage<SnapshotPart>;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* The thing a problem is about.
|
|
70
|
+
*
|
|
71
|
+
* @generated from message kusinta.iot.reporting.v1.ProblemSubject
|
|
72
|
+
*/
|
|
73
|
+
export declare type ProblemSubject = Message<"kusinta.iot.reporting.v1.ProblemSubject"> & {
|
|
74
|
+
/**
|
|
75
|
+
* @generated from oneof kusinta.iot.reporting.v1.ProblemSubject.subject
|
|
76
|
+
*/
|
|
77
|
+
subject: {
|
|
78
|
+
/**
|
|
79
|
+
* DEVICE_OFFLINE, BATTERY_*, DEVICE_ERROR, DEVICE_TAMPER; FLOOR_ZONE_UNCONTROLLED: the
|
|
80
|
+
* device whose output the zone binds.
|
|
81
|
+
*
|
|
82
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId device_id = 1;
|
|
83
|
+
*/
|
|
84
|
+
value: DeviceId;
|
|
85
|
+
case: "deviceId";
|
|
86
|
+
} | {
|
|
87
|
+
/**
|
|
88
|
+
* CONNECTOR_OFFLINE, CONNECTOR_ERROR.
|
|
89
|
+
*
|
|
90
|
+
* @generated from field: kusinta.iot.identity.v1.ConnectorId connector_id = 2;
|
|
91
|
+
*/
|
|
92
|
+
value: ConnectorId;
|
|
93
|
+
case: "connectorId";
|
|
94
|
+
} | {
|
|
95
|
+
/**
|
|
96
|
+
* WINDOW_OPEN: the room.
|
|
97
|
+
*
|
|
98
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId room_id = 3;
|
|
99
|
+
*/
|
|
100
|
+
value: SpaceId;
|
|
101
|
+
case: "roomId";
|
|
102
|
+
} | {
|
|
103
|
+
/**
|
|
104
|
+
* UNFILED_DEVICES: the gateway itself.
|
|
105
|
+
*
|
|
106
|
+
* @generated from field: bool gateway = 4;
|
|
107
|
+
*/
|
|
108
|
+
value: boolean;
|
|
109
|
+
case: "gateway";
|
|
110
|
+
} | { case: undefined; value?: undefined };
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Describes the message kusinta.iot.reporting.v1.ProblemSubject.
|
|
115
|
+
* Use `create(ProblemSubjectSchema)` to create a new message.
|
|
116
|
+
*/
|
|
117
|
+
export declare const ProblemSubjectSchema: GenMessage<ProblemSubject>;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* A problem as it stands while open.
|
|
121
|
+
*
|
|
122
|
+
* For a device in a home (an apartment, or a room in one), a problem carries only what a
|
|
123
|
+
* ServiceStatus would give service staff of it, at the same precision:
|
|
124
|
+
* * opened_at is the quarter hour the gateway's evaluated status changed, never the time
|
|
125
|
+
* of a device report;
|
|
126
|
+
* * battery_percent is rounded up to a multiple of ten, as ServiceStatus.battery_percent is;
|
|
127
|
+
* * the only device faults reported are DEVICE_ERROR and DEVICE_TAMPER.
|
|
128
|
+
* A device a resident owns raises no problem at all: it is theirs, and building staff are not
|
|
129
|
+
* told of it.
|
|
130
|
+
*
|
|
131
|
+
* When a transition for a device in a home is sent matters as much as what it carries: the
|
|
132
|
+
* gateway evaluates such a device's problems only at quarter hours, so a condition that comes
|
|
133
|
+
* and goes between two of them changes nothing — a connector problem that comes and goes so
|
|
134
|
+
* sends nothing about the device, though it leaves its connector settling after it (see
|
|
135
|
+
* ClearReason) — and it sends a
|
|
136
|
+
* transition only at that evaluation, as ServiceStatus changes are pushed,
|
|
137
|
+
* never on the device report that prompted it. That holds for every transition of such a
|
|
138
|
+
* device, a clear for its removal or a SUPERSEDED_* clear included: each is sent, and
|
|
139
|
+
* stamped, at the next quarter hour.
|
|
140
|
+
*
|
|
141
|
+
* @generated from message kusinta.iot.reporting.v1.Problem
|
|
142
|
+
*/
|
|
143
|
+
export declare type Problem = Message<"kusinta.iot.reporting.v1.Problem"> & {
|
|
144
|
+
/**
|
|
145
|
+
* @generated from field: kusinta.iot.reporting.v1.ProblemKind kind = 2;
|
|
146
|
+
*/
|
|
147
|
+
kind: ProblemKind;
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* @generated from field: kusinta.iot.reporting.v1.ProblemSubject subject = 3;
|
|
151
|
+
*/
|
|
152
|
+
subject?: ProblemSubject | undefined;
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* The space a device subject is filed in. A device filed in several spaces, any of them in a
|
|
156
|
+
* home (an apartment or a room in one), counts as in a home, as access.v1 has it, and reports
|
|
157
|
+
* the deepest space it is filed in within any home, the lowest id between equals. Otherwise
|
|
158
|
+
* the deepest it is filed in, the lowest id between equals. Unset for any other subject (a
|
|
159
|
+
* room is its own place) and for a device filed nowhere.
|
|
160
|
+
*
|
|
161
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 4;
|
|
162
|
+
*/
|
|
163
|
+
spaceId?: SpaceId | undefined;
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* When the problem opened. For a device in a home, the quarter hour; see above.
|
|
167
|
+
*
|
|
168
|
+
* A problem's space is space_id for a device subject and room_id for a room subject; a
|
|
169
|
+
* connector or the gateway has none.
|
|
170
|
+
*
|
|
171
|
+
* Of any problem with a space, the api-server shows a member only what falls within their
|
|
172
|
+
* unbroken reach to that space, from the since the gateway gives for it (see ReachedSpace),
|
|
173
|
+
* or for the administrator from when their administration began (see ServiceReach):
|
|
174
|
+
* a problem that closed at or before then is not shown to them at all, and an opened_at
|
|
175
|
+
* before then shows as then. Applied whether or not the space is in a home now, since a
|
|
176
|
+
* space may have been one while the problem was open. The gateway likewise never shows
|
|
177
|
+
* service staff a status from before they could see the device. A problem whose space the
|
|
178
|
+
* api-server does not hold is shown only to the gateway's administrator (see ServiceReach),
|
|
179
|
+
* its times as of when that administration began.
|
|
180
|
+
*
|
|
181
|
+
* @generated from field: google.protobuf.Timestamp opened_at = 5;
|
|
182
|
+
*/
|
|
183
|
+
openedAt?: Timestamp | undefined;
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* BATTERY_*: remaining charge, rounded up to a multiple of ten. Absent when the device
|
|
187
|
+
* reports none.
|
|
188
|
+
*
|
|
189
|
+
* @generated from field: optional uint32 battery_percent = 6;
|
|
190
|
+
*/
|
|
191
|
+
batteryPercent?: number | undefined;
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* UNFILED_DEVICES: how many devices are filed nowhere.
|
|
195
|
+
*
|
|
196
|
+
* @generated from field: uint32 device_count = 7;
|
|
197
|
+
*/
|
|
198
|
+
deviceCount: number;
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* CONNECTOR_ERROR: why the connector's backend is failing, as the connector's latest
|
|
202
|
+
* connector.v1.BackendHealthReport states it. A category, not a message: the connector's
|
|
203
|
+
* free-text detail is never reported, here or anywhere else. UNSPECIFIED for every other
|
|
204
|
+
* kind, and for a connector that stated no reason. A change of reason while the problem is
|
|
205
|
+
* open is sent as a change of the problem.
|
|
206
|
+
*
|
|
207
|
+
* @generated from field: kusinta.iot.common.v1.BackendFailureReason backend_failure = 8;
|
|
208
|
+
*/
|
|
209
|
+
backendFailure: BackendFailureReason;
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Describes the message kusinta.iot.reporting.v1.Problem.
|
|
214
|
+
* Use `create(ProblemSchema)` to create a new message.
|
|
215
|
+
*/
|
|
216
|
+
export declare const ProblemSchema: GenMessage<Problem>;
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* A problem closing.
|
|
220
|
+
*
|
|
221
|
+
* @generated from message kusinta.iot.reporting.v1.ProblemCleared
|
|
222
|
+
*/
|
|
223
|
+
export declare type ProblemCleared = Message<"kusinta.iot.reporting.v1.ProblemCleared"> & {
|
|
224
|
+
/**
|
|
225
|
+
* When it closed. For a device in a home, the quarter hour the evaluated status changed,
|
|
226
|
+
* as for opened_at; never the time of a device report.
|
|
227
|
+
*
|
|
228
|
+
* @generated from field: google.protobuf.Timestamp cleared_at = 1;
|
|
229
|
+
*/
|
|
230
|
+
clearedAt?: Timestamp | undefined;
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* @generated from field: kusinta.iot.reporting.v1.ClearReason reason = 2;
|
|
234
|
+
*/
|
|
235
|
+
reason: ClearReason;
|
|
236
|
+
};
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* Describes the message kusinta.iot.reporting.v1.ProblemCleared.
|
|
240
|
+
* Use `create(ProblemClearedSchema)` to create a new message.
|
|
241
|
+
*/
|
|
242
|
+
export declare const ProblemClearedSchema: GenMessage<ProblemCleared>;
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* One change to one problem.
|
|
246
|
+
*
|
|
247
|
+
* (problem_id, seq) is the idempotency key. seq counts the transitions of one problem from 1:
|
|
248
|
+
* its opening is 1, and each later change one more. Outside a snapshot, the api-server
|
|
249
|
+
* applies a transition only if its seq is above the highest it holds for that problem; any
|
|
250
|
+
* other — a repeat, or a retry overtaken by a later change — is acknowledged as a duplicate
|
|
251
|
+
* and not applied, so a late update cannot reopen a problem since cleared. Seqs of one
|
|
252
|
+
* problem need not arrive without gaps: each transition carries the problem's whole state.
|
|
253
|
+
*
|
|
254
|
+
* A snapshot is authoritative: each problem it names takes the snapshot's state and seq,
|
|
255
|
+
* whatever the api-server held. A transition in it acknowledged REJECTED does not count as
|
|
256
|
+
* naming its problem. A problem it does not name, the api-server closes as of the snapshot,
|
|
257
|
+
* with no reason given (CLEAR_REASON_UNSPECIFIED), at the quarter hour the snapshot completed,
|
|
258
|
+
* rounded down whatever the subject (the api-server may not yet know where it is), and never
|
|
259
|
+
* earlier than the problem's opened_at. Its highest seq stays as held, so only a later
|
|
260
|
+
* transition of it applies.
|
|
261
|
+
*
|
|
262
|
+
* @generated from message kusinta.iot.reporting.v1.ProblemTransition
|
|
263
|
+
*/
|
|
264
|
+
export declare type ProblemTransition = Message<"kusinta.iot.reporting.v1.ProblemTransition"> & {
|
|
265
|
+
/**
|
|
266
|
+
* Minted by the gateway for one open period of one (subject, kind), stable across gateway
|
|
267
|
+
* restarts. A problem that clears and opens again is a new problem with a new id.
|
|
268
|
+
*
|
|
269
|
+
* A UUIDv4: opaque, and never time-ordered. An id that sorted by time (a ULID, a UUIDv7)
|
|
270
|
+
* would carry the moment a problem opened, which the quarter-hour rule withholds.
|
|
271
|
+
*
|
|
272
|
+
* @generated from field: string problem_id = 1;
|
|
273
|
+
*/
|
|
274
|
+
problemId: string;
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* @generated from field: uint64 seq = 2;
|
|
278
|
+
*/
|
|
279
|
+
seq: bigint;
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* @generated from oneof kusinta.iot.reporting.v1.ProblemTransition.change
|
|
283
|
+
*/
|
|
284
|
+
change: {
|
|
285
|
+
/**
|
|
286
|
+
* The problem opened, or something it carries changed while open (a battery level, a
|
|
287
|
+
* device count, the space it is filed in, a backend failure reason). Carries the whole
|
|
288
|
+
* problem, not a delta: the same problem_id, the next seq and the original opened_at.
|
|
289
|
+
*
|
|
290
|
+
* @generated from field: kusinta.iot.reporting.v1.Problem open = 3;
|
|
291
|
+
*/
|
|
292
|
+
value: Problem;
|
|
293
|
+
case: "open";
|
|
294
|
+
} | {
|
|
295
|
+
/**
|
|
296
|
+
* @generated from field: kusinta.iot.reporting.v1.ProblemCleared cleared = 4;
|
|
297
|
+
*/
|
|
298
|
+
value: ProblemCleared;
|
|
299
|
+
case: "cleared";
|
|
300
|
+
} | { case: undefined; value?: undefined };
|
|
301
|
+
};
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Describes the message kusinta.iot.reporting.v1.ProblemTransition.
|
|
305
|
+
* Use `create(ProblemTransitionSchema)` to create a new message.
|
|
306
|
+
*/
|
|
307
|
+
export declare const ProblemTransitionSchema: GenMessage<ProblemTransition>;
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* @generated from message kusinta.iot.reporting.v1.ReportProblemsRequest
|
|
311
|
+
*/
|
|
312
|
+
export declare type ReportProblemsRequest = Message<"kusinta.iot.reporting.v1.ReportProblemsRequest"> & {
|
|
313
|
+
/**
|
|
314
|
+
* This concern's stream and the request's place on it; see SnapshotPart.
|
|
315
|
+
*
|
|
316
|
+
* @generated from field: string stream_id = 3;
|
|
317
|
+
*/
|
|
318
|
+
streamId: string;
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* The streams this one replaced; see SnapshotPart. Empty on the gateway's first.
|
|
322
|
+
*
|
|
323
|
+
* @generated from field: repeated string previous_stream_ids = 5;
|
|
324
|
+
*/
|
|
325
|
+
previousStreamIds: string[];
|
|
326
|
+
|
|
327
|
+
/**
|
|
328
|
+
* @generated from field: uint64 seq = 4;
|
|
329
|
+
*/
|
|
330
|
+
seq: bigint;
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Applied in order.
|
|
334
|
+
*
|
|
335
|
+
* @generated from field: repeated kusinta.iot.reporting.v1.ProblemTransition transitions = 1;
|
|
336
|
+
*/
|
|
337
|
+
transitions: ProblemTransition[];
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* Set when this request is part of a snapshot of every open problem. Its transitions are
|
|
341
|
+
* then each problem's latest open state, and the api-server, once it holds the whole
|
|
342
|
+
* snapshot, closes every open problem the snapshot does not name.
|
|
343
|
+
*
|
|
344
|
+
* @generated from field: kusinta.iot.reporting.v1.SnapshotPart snapshot = 2;
|
|
345
|
+
*/
|
|
346
|
+
snapshot?: SnapshotPart | undefined;
|
|
347
|
+
};
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* Describes the message kusinta.iot.reporting.v1.ReportProblemsRequest.
|
|
351
|
+
* Use `create(ReportProblemsRequestSchema)` to create a new message.
|
|
352
|
+
*/
|
|
353
|
+
export declare const ReportProblemsRequestSchema: GenMessage<ReportProblemsRequest>;
|
|
354
|
+
|
|
355
|
+
/**
|
|
356
|
+
* @generated from message kusinta.iot.reporting.v1.TransitionAck
|
|
357
|
+
*/
|
|
358
|
+
export declare type TransitionAck = Message<"kusinta.iot.reporting.v1.TransitionAck"> & {
|
|
359
|
+
/**
|
|
360
|
+
* @generated from field: string problem_id = 1;
|
|
361
|
+
*/
|
|
362
|
+
problemId: string;
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
* @generated from field: uint64 seq = 2;
|
|
366
|
+
*/
|
|
367
|
+
seq: bigint;
|
|
368
|
+
|
|
369
|
+
/**
|
|
370
|
+
* @generated from field: kusinta.iot.reporting.v1.AckStatus status = 3;
|
|
371
|
+
*/
|
|
372
|
+
status: AckStatus;
|
|
373
|
+
};
|
|
374
|
+
|
|
375
|
+
/**
|
|
376
|
+
* Describes the message kusinta.iot.reporting.v1.TransitionAck.
|
|
377
|
+
* Use `create(TransitionAckSchema)` to create a new message.
|
|
378
|
+
*/
|
|
379
|
+
export declare const TransitionAckSchema: GenMessage<TransitionAck>;
|
|
380
|
+
|
|
381
|
+
/**
|
|
382
|
+
* @generated from message kusinta.iot.reporting.v1.ReportProblemsResponse
|
|
383
|
+
*/
|
|
384
|
+
export declare type ReportProblemsResponse = Message<"kusinta.iot.reporting.v1.ReportProblemsResponse"> & {
|
|
385
|
+
/**
|
|
386
|
+
* One per transition of a request the api-server took in order, named by its key.
|
|
387
|
+
*
|
|
388
|
+
* @generated from field: repeated kusinta.iot.reporting.v1.TransitionAck acks = 1;
|
|
389
|
+
*/
|
|
390
|
+
acks: TransitionAck[];
|
|
391
|
+
|
|
392
|
+
/**
|
|
393
|
+
* As ReportServiceReachResponse.applied_seq: whether the request was taken at all. A request
|
|
394
|
+
* above it was not, carries no acks, and is sent again.
|
|
395
|
+
*
|
|
396
|
+
* @generated from field: uint64 applied_seq = 3;
|
|
397
|
+
*/
|
|
398
|
+
appliedSeq: bigint;
|
|
399
|
+
|
|
400
|
+
/**
|
|
401
|
+
* The gateway must connect afresh; see SnapshotPart.
|
|
402
|
+
*
|
|
403
|
+
* @generated from field: bool resync_required = 2;
|
|
404
|
+
*/
|
|
405
|
+
resyncRequired: boolean;
|
|
406
|
+
};
|
|
407
|
+
|
|
408
|
+
/**
|
|
409
|
+
* Describes the message kusinta.iot.reporting.v1.ReportProblemsResponse.
|
|
410
|
+
* Use `create(ReportProblemsResponseSchema)` to create a new message.
|
|
411
|
+
*/
|
|
412
|
+
export declare const ReportProblemsResponseSchema: GenMessage<ReportProblemsResponse>;
|
|
413
|
+
|
|
414
|
+
/**
|
|
415
|
+
* Which spaces one member of service staff reaches on this gateway: whom the api-server may
|
|
416
|
+
* show a problem to, by where the problem is.
|
|
417
|
+
*
|
|
418
|
+
* Sent for every member who stands to some space as service (access.v1.MembershipRelation),
|
|
419
|
+
* from their memberships alone. Never for a resident: where people live stays on the gateway.
|
|
420
|
+
* A member's own home is not left out of their reach, since a gap would show where they live.
|
|
421
|
+
* A user who is no longer service anywhere on the gateway is named in removed_user_ids.
|
|
422
|
+
*
|
|
423
|
+
* The administration of the gateway is not reported here; the administrator's own service
|
|
424
|
+
* memberships, if any, are, like anyone's. The api-server records who administers a gateway
|
|
425
|
+
* itself — the administrators of the organisation that owns it — and from when, and gives each
|
|
426
|
+
* administrator every space the gateway serves from that moment, applying a change of
|
|
427
|
+
* administrator, or of owning organisation, at once. A problem with no space the
|
|
428
|
+
* api-server holds — a device filed nowhere, a space not yet held or since removed — is shown
|
|
429
|
+
* only to the administrator. A problem about a connector or the gateway itself concerns no
|
|
430
|
+
* one's home, and is shown to the administrator and every member with any reach.
|
|
431
|
+
*
|
|
432
|
+
* @generated from message kusinta.iot.reporting.v1.ServiceReach
|
|
433
|
+
*/
|
|
434
|
+
export declare type ServiceReach = Message<"kusinta.iot.reporting.v1.ServiceReach"> & {
|
|
435
|
+
/**
|
|
436
|
+
* As the token issuer mints it: the sub of the member's token.
|
|
437
|
+
*
|
|
438
|
+
* @generated from field: kusinta.iot.identity.v1.UserId user_id = 1;
|
|
439
|
+
*/
|
|
440
|
+
userId?: UserId | undefined;
|
|
441
|
+
|
|
442
|
+
/**
|
|
443
|
+
* Every space the member reaches, the spaces beneath a reached space included. Replaces
|
|
444
|
+
* whatever the api-server held for this member on this gateway, so one member's reach is
|
|
445
|
+
* never split across requests or snapshot parts.
|
|
446
|
+
*
|
|
447
|
+
* @generated from field: repeated kusinta.iot.reporting.v1.ReachedSpace spaces = 3;
|
|
448
|
+
*/
|
|
449
|
+
spaces: ReachedSpace[];
|
|
450
|
+
};
|
|
451
|
+
|
|
452
|
+
/**
|
|
453
|
+
* Describes the message kusinta.iot.reporting.v1.ServiceReach.
|
|
454
|
+
* Use `create(ServiceReachSchema)` to create a new message.
|
|
455
|
+
*/
|
|
456
|
+
export declare const ServiceReachSchema: GenMessage<ServiceReach>;
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* One space a member reaches, and since when.
|
|
460
|
+
*
|
|
461
|
+
* @generated from message kusinta.iot.reporting.v1.ReachedSpace
|
|
462
|
+
*/
|
|
463
|
+
export declare type ReachedSpace = Message<"kusinta.iot.reporting.v1.ReachedSpace"> & {
|
|
464
|
+
/**
|
|
465
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 1;
|
|
466
|
+
*/
|
|
467
|
+
spaceId?: SpaceId | undefined;
|
|
468
|
+
|
|
469
|
+
/**
|
|
470
|
+
* The quarter hour, rounded up, from which the member's reach to this space has been
|
|
471
|
+
* unbroken, as the gateway counts it. Given by the gateway, which saw any break, rather than
|
|
472
|
+
* inferred by the api-server from when reports arrived: a snapshot replaces what was queued,
|
|
473
|
+
* and would hide a break the gateway saw while offline.
|
|
474
|
+
*
|
|
475
|
+
* @generated from field: google.protobuf.Timestamp since = 2;
|
|
476
|
+
*/
|
|
477
|
+
since?: Timestamp | undefined;
|
|
478
|
+
};
|
|
479
|
+
|
|
480
|
+
/**
|
|
481
|
+
* Describes the message kusinta.iot.reporting.v1.ReachedSpace.
|
|
482
|
+
* Use `create(ReachedSpaceSchema)` to create a new message.
|
|
483
|
+
*/
|
|
484
|
+
export declare const ReachedSpaceSchema: GenMessage<ReachedSpace>;
|
|
485
|
+
|
|
486
|
+
/**
|
|
487
|
+
* @generated from message kusinta.iot.reporting.v1.ReportServiceReachRequest
|
|
488
|
+
*/
|
|
489
|
+
export declare type ReportServiceReachRequest = Message<"kusinta.iot.reporting.v1.ReportServiceReachRequest"> & {
|
|
490
|
+
/**
|
|
491
|
+
* This concern's stream; see SnapshotPart.
|
|
492
|
+
*
|
|
493
|
+
* @generated from field: string stream_id = 5;
|
|
494
|
+
*/
|
|
495
|
+
streamId: string;
|
|
496
|
+
|
|
497
|
+
/**
|
|
498
|
+
* The streams this one replaced; see SnapshotPart. Empty on the gateway's first.
|
|
499
|
+
*
|
|
500
|
+
* @generated from field: repeated string previous_stream_ids = 6;
|
|
501
|
+
*/
|
|
502
|
+
previousStreamIds: string[];
|
|
503
|
+
|
|
504
|
+
/**
|
|
505
|
+
* The request's place on stream_id; see SnapshotPart. Applied in order, exactly once, so a
|
|
506
|
+
* late retry cannot restore reach since taken away.
|
|
507
|
+
*
|
|
508
|
+
* @generated from field: uint64 seq = 1;
|
|
509
|
+
*/
|
|
510
|
+
seq: bigint;
|
|
511
|
+
|
|
512
|
+
/**
|
|
513
|
+
* @generated from field: repeated kusinta.iot.reporting.v1.ServiceReach reach = 2;
|
|
514
|
+
*/
|
|
515
|
+
reach: ServiceReach[];
|
|
516
|
+
|
|
517
|
+
/**
|
|
518
|
+
* Members who reach nothing on this gateway as service any more. A member named here and in
|
|
519
|
+
* reach is removed.
|
|
520
|
+
*
|
|
521
|
+
* @generated from field: repeated kusinta.iot.identity.v1.UserId removed_user_ids = 3;
|
|
522
|
+
*/
|
|
523
|
+
removedUserIds: UserId[];
|
|
524
|
+
|
|
525
|
+
/**
|
|
526
|
+
* Set when this request is part of a snapshot of every member's reach; members absent from
|
|
527
|
+
* a whole snapshot reach nothing.
|
|
528
|
+
*
|
|
529
|
+
* @generated from field: kusinta.iot.reporting.v1.SnapshotPart snapshot = 4;
|
|
530
|
+
*/
|
|
531
|
+
snapshot?: SnapshotPart | undefined;
|
|
532
|
+
};
|
|
533
|
+
|
|
534
|
+
/**
|
|
535
|
+
* Describes the message kusinta.iot.reporting.v1.ReportServiceReachRequest.
|
|
536
|
+
* Use `create(ReportServiceReachRequestSchema)` to create a new message.
|
|
537
|
+
*/
|
|
538
|
+
export declare const ReportServiceReachRequestSchema: GenMessage<ReportServiceReachRequest>;
|
|
539
|
+
|
|
540
|
+
/**
|
|
541
|
+
* @generated from message kusinta.iot.reporting.v1.ReportServiceReachResponse
|
|
542
|
+
*/
|
|
543
|
+
export declare type ReportServiceReachResponse = Message<"kusinta.iot.reporting.v1.ReportServiceReachResponse"> & {
|
|
544
|
+
/**
|
|
545
|
+
* The seq the api-server has applied up to on the request's stream, a held snapshot part
|
|
546
|
+
* counting as applied. The gateway does not send any request up to it again; one above it
|
|
547
|
+
* was not applied, and is sent again.
|
|
548
|
+
*
|
|
549
|
+
* @generated from field: uint64 applied_seq = 1;
|
|
550
|
+
*/
|
|
551
|
+
appliedSeq: bigint;
|
|
552
|
+
|
|
553
|
+
/**
|
|
554
|
+
* The gateway must connect afresh; see SnapshotPart.
|
|
555
|
+
*
|
|
556
|
+
* @generated from field: bool resync_required = 2;
|
|
557
|
+
*/
|
|
558
|
+
resyncRequired: boolean;
|
|
559
|
+
};
|
|
560
|
+
|
|
561
|
+
/**
|
|
562
|
+
* Describes the message kusinta.iot.reporting.v1.ReportServiceReachResponse.
|
|
563
|
+
* Use `create(ReportServiceReachResponseSchema)` to create a new message.
|
|
564
|
+
*/
|
|
565
|
+
export declare const ReportServiceReachResponseSchema: GenMessage<ReportServiceReachResponse>;
|
|
566
|
+
|
|
567
|
+
/**
|
|
568
|
+
* A space this gateway serves, enough for the api-server to say which spaces an offline
|
|
569
|
+
* gateway affects and to name where a problem is. The fields of space.v1.Space it needs and
|
|
570
|
+
* no more: who is filed on a space, and which devices are in it, stay on the gateway.
|
|
571
|
+
*
|
|
572
|
+
* name is the space's name as filed (space.v1.Space.name). For an apartment that is the
|
|
573
|
+
* building's own identifier for it, which the property owner gives and only staff change; the
|
|
574
|
+
* household's own name for its home (space.v1.Space.home_name) is never sent here, and never
|
|
575
|
+
* leaves the gateway. A name staff gave may still carry personal data ("Apt 101 – Andersson"),
|
|
576
|
+
* so it is stored by the api-server as personal data: something an operator's data protection
|
|
577
|
+
* assessment covers.
|
|
578
|
+
*
|
|
579
|
+
* @generated from message kusinta.iot.reporting.v1.ServedSpace
|
|
580
|
+
*/
|
|
581
|
+
export declare type ServedSpace = Message<"kusinta.iot.reporting.v1.ServedSpace"> & {
|
|
582
|
+
/**
|
|
583
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 1;
|
|
584
|
+
*/
|
|
585
|
+
spaceId?: SpaceId | undefined;
|
|
586
|
+
|
|
587
|
+
/**
|
|
588
|
+
* @generated from field: kusinta.iot.common.v1.SpaceType space_type = 2;
|
|
589
|
+
*/
|
|
590
|
+
spaceType: SpaceType;
|
|
591
|
+
|
|
592
|
+
/**
|
|
593
|
+
* @generated from field: string name = 3;
|
|
594
|
+
*/
|
|
595
|
+
name: string;
|
|
596
|
+
|
|
597
|
+
/**
|
|
598
|
+
* Unset for a top-level space.
|
|
599
|
+
*
|
|
600
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId parent_space_id = 4;
|
|
601
|
+
*/
|
|
602
|
+
parentSpaceId?: SpaceId | undefined;
|
|
603
|
+
|
|
604
|
+
/**
|
|
605
|
+
* As Space.floor: meaningful for a floor.
|
|
606
|
+
*
|
|
607
|
+
* @generated from field: int32 floor = 5;
|
|
608
|
+
*/
|
|
609
|
+
floor: number;
|
|
610
|
+
|
|
611
|
+
/**
|
|
612
|
+
* The building's IANA time zone, as Space.time_zone: set on the building, so a time the
|
|
613
|
+
* api-server holds can be shown on the building's clock without a session to the gateway.
|
|
614
|
+
*
|
|
615
|
+
* @generated from field: string time_zone = 6;
|
|
616
|
+
*/
|
|
617
|
+
timeZone: string;
|
|
618
|
+
};
|
|
619
|
+
|
|
620
|
+
/**
|
|
621
|
+
* Describes the message kusinta.iot.reporting.v1.ServedSpace.
|
|
622
|
+
* Use `create(ServedSpaceSchema)` to create a new message.
|
|
623
|
+
*/
|
|
624
|
+
export declare const ServedSpaceSchema: GenMessage<ServedSpace>;
|
|
625
|
+
|
|
626
|
+
/**
|
|
627
|
+
* @generated from message kusinta.iot.reporting.v1.ReportServedSpacesRequest
|
|
628
|
+
*/
|
|
629
|
+
export declare type ReportServedSpacesRequest = Message<"kusinta.iot.reporting.v1.ReportServedSpacesRequest"> & {
|
|
630
|
+
/**
|
|
631
|
+
* This concern's stream; see SnapshotPart.
|
|
632
|
+
*
|
|
633
|
+
* @generated from field: string stream_id = 5;
|
|
634
|
+
*/
|
|
635
|
+
streamId: string;
|
|
636
|
+
|
|
637
|
+
/**
|
|
638
|
+
* The streams this one replaced; see SnapshotPart. Empty on the gateway's first.
|
|
639
|
+
*
|
|
640
|
+
* @generated from field: repeated string previous_stream_ids = 6;
|
|
641
|
+
*/
|
|
642
|
+
previousStreamIds: string[];
|
|
643
|
+
|
|
644
|
+
/**
|
|
645
|
+
* As ReportServiceReachRequest.seq, on this concern's own stream.
|
|
646
|
+
*
|
|
647
|
+
* @generated from field: uint64 seq = 1;
|
|
648
|
+
*/
|
|
649
|
+
seq: bigint;
|
|
650
|
+
|
|
651
|
+
/**
|
|
652
|
+
* Added or changed. Each replaces what the api-server held for that space.
|
|
653
|
+
*
|
|
654
|
+
* @generated from field: repeated kusinta.iot.reporting.v1.ServedSpace spaces = 2;
|
|
655
|
+
*/
|
|
656
|
+
spaces: ServedSpace[];
|
|
657
|
+
|
|
658
|
+
/**
|
|
659
|
+
* No longer served: deleted, or moved off this gateway. A space named here and in spaces is
|
|
660
|
+
* removed.
|
|
661
|
+
*
|
|
662
|
+
* @generated from field: repeated kusinta.iot.identity.v1.SpaceId removed_space_ids = 3;
|
|
663
|
+
*/
|
|
664
|
+
removedSpaceIds: SpaceId[];
|
|
665
|
+
|
|
666
|
+
/**
|
|
667
|
+
* Set when this request is part of a snapshot of every served space; spaces absent from a
|
|
668
|
+
* whole snapshot are no longer served.
|
|
669
|
+
*
|
|
670
|
+
* @generated from field: kusinta.iot.reporting.v1.SnapshotPart snapshot = 4;
|
|
671
|
+
*/
|
|
672
|
+
snapshot?: SnapshotPart | undefined;
|
|
673
|
+
};
|
|
674
|
+
|
|
675
|
+
/**
|
|
676
|
+
* Describes the message kusinta.iot.reporting.v1.ReportServedSpacesRequest.
|
|
677
|
+
* Use `create(ReportServedSpacesRequestSchema)` to create a new message.
|
|
678
|
+
*/
|
|
679
|
+
export declare const ReportServedSpacesRequestSchema: GenMessage<ReportServedSpacesRequest>;
|
|
680
|
+
|
|
681
|
+
/**
|
|
682
|
+
* @generated from message kusinta.iot.reporting.v1.ReportServedSpacesResponse
|
|
683
|
+
*/
|
|
684
|
+
export declare type ReportServedSpacesResponse = Message<"kusinta.iot.reporting.v1.ReportServedSpacesResponse"> & {
|
|
685
|
+
/**
|
|
686
|
+
* As ReportServiceReachResponse.applied_seq.
|
|
687
|
+
*
|
|
688
|
+
* @generated from field: uint64 applied_seq = 1;
|
|
689
|
+
*/
|
|
690
|
+
appliedSeq: bigint;
|
|
691
|
+
|
|
692
|
+
/**
|
|
693
|
+
* As ReportServiceReachResponse.resync_required.
|
|
694
|
+
*
|
|
695
|
+
* @generated from field: bool resync_required = 2;
|
|
696
|
+
*/
|
|
697
|
+
resyncRequired: boolean;
|
|
698
|
+
};
|
|
699
|
+
|
|
700
|
+
/**
|
|
701
|
+
* Describes the message kusinta.iot.reporting.v1.ReportServedSpacesResponse.
|
|
702
|
+
* Use `create(ReportServedSpacesResponseSchema)` to create a new message.
|
|
703
|
+
*/
|
|
704
|
+
export declare const ReportServedSpacesResponseSchema: GenMessage<ReportServedSpacesResponse>;
|
|
705
|
+
|
|
706
|
+
/**
|
|
707
|
+
* One member of this gateway: a user the gateway holds a role (access.v1.Role) or a space
|
|
708
|
+
* membership for, either. Whom the api-server lets connect to the gateway, and in which
|
|
709
|
+
* capacity. A user filed somewhere with no role is a member all the same: what they may do
|
|
710
|
+
* there is the gateway's to decide, and they cannot connect to find out unless reported.
|
|
711
|
+
*
|
|
712
|
+
* roles carries a member's service roles alone: ROLE_TECHNICIAN, ROLE_PROPERTY_OWNER and
|
|
713
|
+
* ROLE_GATEWAY_ADMIN. An empty list means no service role: a resident, or someone filed with
|
|
714
|
+
* no role. The gateway MUST NOT
|
|
715
|
+
* send ROLE_RESIDENT or ROLE_UNSPECIFIED here, and the api-server keeps no role but the
|
|
716
|
+
* three, each once. An entry, in members or removed_user_ids, with no user id is malformed,
|
|
717
|
+
* and the api-server skips it.
|
|
718
|
+
*
|
|
719
|
+
* What the api-server learns of a member with no service role is that they belong to this
|
|
720
|
+
* gateway, and from when to when — never which home, nor anything else ServiceReach
|
|
721
|
+
* withholds. A member's changes are sent at once, both ways, since joining is what lets a
|
|
722
|
+
* person connect and leaving is what revokes them. Roles do not follow relations
|
|
723
|
+
* (access.v1.MembershipRelation): a relation changing alone changes nothing reported here.
|
|
724
|
+
*
|
|
725
|
+
* Which organisation owns the gateway, and who its administrators are, is the api-server's own
|
|
726
|
+
* record, not the gateway's. The administration that comes with them is never taken away by this
|
|
727
|
+
* report — not by absence from a snapshot, not by removed_user_ids — and ends only when the
|
|
728
|
+
* person stops being an administrator of the owning organisation, or the gateway moves to
|
|
729
|
+
* another (signaling.v1.TransferOutcome). Any other administrator is a member reported with
|
|
730
|
+
* ROLE_GATEWAY_ADMIN, whom the api-server gives what it gives the organisation's, from
|
|
731
|
+
* administrator_since (see ServiceReach). Where an administrator of the organisation is also
|
|
732
|
+
* reported so, the api-server's record governs: their administration counts from the earlier of
|
|
733
|
+
* its own start and administrator_since. The api-server's own start for an organisation's
|
|
734
|
+
* administrator is never before the gateway came to that organisation, so a new owner learns
|
|
735
|
+
* nothing from before a transfer.
|
|
736
|
+
*
|
|
737
|
+
* A member here is a user the gateway holds a membership or a role for, and no one else. A
|
|
738
|
+
* vouched administrator (signaling.v1.VouchedAdministrators) is reported only when the gateway
|
|
739
|
+
* holds one of those for them — a membership, or ROLE_PROPERTY_OWNER they were given — and
|
|
740
|
+
* never with the ROLE_GATEWAY_ADMIN the vouched set and their token give. That the gateway
|
|
741
|
+
* lists them otherwise (webrtc.v1.MemberDetail.vouched_admin) does not make them a member of
|
|
742
|
+
* this report. After a wipe (signaling.v1.GatewayDeleted, WIPE) the gateway reports a snapshot
|
|
743
|
+
* with no members.
|
|
744
|
+
*
|
|
745
|
+
* @generated from message kusinta.iot.reporting.v1.GatewayMember
|
|
746
|
+
*/
|
|
747
|
+
export declare type GatewayMember = Message<"kusinta.iot.reporting.v1.GatewayMember"> & {
|
|
748
|
+
/**
|
|
749
|
+
* As the token issuer mints it: the sub of the member's token.
|
|
750
|
+
*
|
|
751
|
+
* @generated from field: kusinta.iot.identity.v1.UserId user_id = 1;
|
|
752
|
+
*/
|
|
753
|
+
userId?: UserId | undefined;
|
|
754
|
+
|
|
755
|
+
/**
|
|
756
|
+
* The member's service roles, each once; empty for a resident.
|
|
757
|
+
*
|
|
758
|
+
* @generated from field: repeated kusinta.iot.access.v1.Role roles = 2;
|
|
759
|
+
*/
|
|
760
|
+
roles: Role[];
|
|
761
|
+
|
|
762
|
+
/**
|
|
763
|
+
* Set exactly when roles holds ROLE_GATEWAY_ADMIN: the quarter hour, rounded up, from
|
|
764
|
+
* which the member's administration of the gateway has been unbroken, as the gateway counts
|
|
765
|
+
* it. Given by the gateway, which saw any break, as ReachedSpace.since is. An administrator
|
|
766
|
+
* reported without it counts from the quarter hour, rounded up, at which the api-server
|
|
767
|
+
* applied the report, never earlier.
|
|
768
|
+
*
|
|
769
|
+
* @generated from field: google.protobuf.Timestamp administrator_since = 3;
|
|
770
|
+
*/
|
|
771
|
+
administratorSince?: Timestamp | undefined;
|
|
772
|
+
};
|
|
773
|
+
|
|
774
|
+
/**
|
|
775
|
+
* Describes the message kusinta.iot.reporting.v1.GatewayMember.
|
|
776
|
+
* Use `create(GatewayMemberSchema)` to create a new message.
|
|
777
|
+
*/
|
|
778
|
+
export declare const GatewayMemberSchema: GenMessage<GatewayMember>;
|
|
779
|
+
|
|
780
|
+
/**
|
|
781
|
+
* @generated from message kusinta.iot.reporting.v1.ReportMembersRequest
|
|
782
|
+
*/
|
|
783
|
+
export declare type ReportMembersRequest = Message<"kusinta.iot.reporting.v1.ReportMembersRequest"> & {
|
|
784
|
+
/**
|
|
785
|
+
* This concern's stream; see SnapshotPart.
|
|
786
|
+
*
|
|
787
|
+
* @generated from field: string stream_id = 1;
|
|
788
|
+
*/
|
|
789
|
+
streamId: string;
|
|
790
|
+
|
|
791
|
+
/**
|
|
792
|
+
* The streams this one replaced; see SnapshotPart. Empty on the gateway's first.
|
|
793
|
+
*
|
|
794
|
+
* @generated from field: repeated string previous_stream_ids = 2;
|
|
795
|
+
*/
|
|
796
|
+
previousStreamIds: string[];
|
|
797
|
+
|
|
798
|
+
/**
|
|
799
|
+
* As ReportServiceReachRequest.seq, on this concern's own stream: applied in order,
|
|
800
|
+
* exactly once, so a late retry cannot restore a member since removed.
|
|
801
|
+
*
|
|
802
|
+
* @generated from field: uint64 seq = 3;
|
|
803
|
+
*/
|
|
804
|
+
seq: bigint;
|
|
805
|
+
|
|
806
|
+
/**
|
|
807
|
+
* Added or changed. Each replaces what the api-server held for that member on this gateway.
|
|
808
|
+
*
|
|
809
|
+
* @generated from field: repeated kusinta.iot.reporting.v1.GatewayMember members = 4;
|
|
810
|
+
*/
|
|
811
|
+
members: GatewayMember[];
|
|
812
|
+
|
|
813
|
+
/**
|
|
814
|
+
* No longer members of this gateway. A user named here and in members is removed.
|
|
815
|
+
*
|
|
816
|
+
* @generated from field: repeated kusinta.iot.identity.v1.UserId removed_user_ids = 5;
|
|
817
|
+
*/
|
|
818
|
+
removedUserIds: UserId[];
|
|
819
|
+
|
|
820
|
+
/**
|
|
821
|
+
* Set when this request is part of a snapshot of every member; users absent from a whole
|
|
822
|
+
* snapshot are members no more.
|
|
823
|
+
*
|
|
824
|
+
* @generated from field: kusinta.iot.reporting.v1.SnapshotPart snapshot = 6;
|
|
825
|
+
*/
|
|
826
|
+
snapshot?: SnapshotPart | undefined;
|
|
827
|
+
};
|
|
828
|
+
|
|
829
|
+
/**
|
|
830
|
+
* Describes the message kusinta.iot.reporting.v1.ReportMembersRequest.
|
|
831
|
+
* Use `create(ReportMembersRequestSchema)` to create a new message.
|
|
832
|
+
*/
|
|
833
|
+
export declare const ReportMembersRequestSchema: GenMessage<ReportMembersRequest>;
|
|
834
|
+
|
|
835
|
+
/**
|
|
836
|
+
* @generated from message kusinta.iot.reporting.v1.ReportMembersResponse
|
|
837
|
+
*/
|
|
838
|
+
export declare type ReportMembersResponse = Message<"kusinta.iot.reporting.v1.ReportMembersResponse"> & {
|
|
839
|
+
/**
|
|
840
|
+
* As ReportServiceReachResponse.applied_seq.
|
|
841
|
+
*
|
|
842
|
+
* @generated from field: uint64 applied_seq = 1;
|
|
843
|
+
*/
|
|
844
|
+
appliedSeq: bigint;
|
|
845
|
+
|
|
846
|
+
/**
|
|
847
|
+
* As ReportServiceReachResponse.resync_required.
|
|
848
|
+
*
|
|
849
|
+
* @generated from field: bool resync_required = 2;
|
|
850
|
+
*/
|
|
851
|
+
resyncRequired: boolean;
|
|
852
|
+
};
|
|
853
|
+
|
|
854
|
+
/**
|
|
855
|
+
* Describes the message kusinta.iot.reporting.v1.ReportMembersResponse.
|
|
856
|
+
* Use `create(ReportMembersResponseSchema)` to create a new message.
|
|
857
|
+
*/
|
|
858
|
+
export declare const ReportMembersResponseSchema: GenMessage<ReportMembersResponse>;
|
|
859
|
+
|
|
860
|
+
/**
|
|
861
|
+
* Which invite secrets this gateway answers for, by hash alone (webrtc.v1 invite.proto
|
|
862
|
+
* gives the hash), so the api-server can route a redeem (signaling.v1.RedeemInvite) to the
|
|
863
|
+
* one gateway that can decide it. Nothing else of an invite leaves the gateway here — not
|
|
864
|
+
* its space, relation, address, creator or expiry — and the hash of a secret says nothing
|
|
865
|
+
* of the secret.
|
|
866
|
+
*
|
|
867
|
+
* A secret's hash is reported from when the secret is issued until it expires, used or not,
|
|
868
|
+
* so that a user who redeemed it can redeem again and be told what came of it
|
|
869
|
+
* (signaling.v1.RedeemOutcome). A revoke, and a resend for the old secrets, removes them at
|
|
870
|
+
* once; an expiry removes them at or soon after the moment, not necessarily to the second,
|
|
871
|
+
* and the gateway still answers INVALID for an expired secret meanwhile. Changes are sent
|
|
872
|
+
* at once.
|
|
873
|
+
*
|
|
874
|
+
* The api-server keeps the hashes of a gateway's current snapshot and changes only, drops
|
|
875
|
+
* them all with the gateway, and routes no redeem by a hash it does not hold.
|
|
876
|
+
*
|
|
877
|
+
* A gateway MUST NOT report more than 10000 hashes at once (two for each of the at most
|
|
878
|
+
* 5000 invites webrtc.v1 CreateInvite allows). The api-server MAY ignore hashes past that.
|
|
879
|
+
*
|
|
880
|
+
* @generated from message kusinta.iot.reporting.v1.ReportInviteRoutesRequest
|
|
881
|
+
*/
|
|
882
|
+
export declare type ReportInviteRoutesRequest = Message<"kusinta.iot.reporting.v1.ReportInviteRoutesRequest"> & {
|
|
883
|
+
/**
|
|
884
|
+
* This concern's stream; see SnapshotPart.
|
|
885
|
+
*
|
|
886
|
+
* @generated from field: string stream_id = 1;
|
|
887
|
+
*/
|
|
888
|
+
streamId: string;
|
|
889
|
+
|
|
890
|
+
/**
|
|
891
|
+
* The streams this one replaced; see SnapshotPart. Empty on the gateway's first.
|
|
892
|
+
*
|
|
893
|
+
* @generated from field: repeated string previous_stream_ids = 2;
|
|
894
|
+
*/
|
|
895
|
+
previousStreamIds: string[];
|
|
896
|
+
|
|
897
|
+
/**
|
|
898
|
+
* As ReportServiceReachRequest.seq, on this concern's own stream.
|
|
899
|
+
*
|
|
900
|
+
* @generated from field: uint64 seq = 3;
|
|
901
|
+
*/
|
|
902
|
+
seq: bigint;
|
|
903
|
+
|
|
904
|
+
/**
|
|
905
|
+
* Secret hashes (32 bytes each) this gateway answers for from now.
|
|
906
|
+
*
|
|
907
|
+
* @generated from field: repeated bytes secret_hashes = 4;
|
|
908
|
+
*/
|
|
909
|
+
secretHashes: Uint8Array[];
|
|
910
|
+
|
|
911
|
+
/**
|
|
912
|
+
* Secret hashes it no longer answers for. A hash named here and in secret_hashes is
|
|
913
|
+
* removed.
|
|
914
|
+
*
|
|
915
|
+
* @generated from field: repeated bytes removed_secret_hashes = 5;
|
|
916
|
+
*/
|
|
917
|
+
removedSecretHashes: Uint8Array[];
|
|
918
|
+
|
|
919
|
+
/**
|
|
920
|
+
* Set when this request is part of a snapshot of every hash; hashes absent from a whole
|
|
921
|
+
* snapshot are routed here no more.
|
|
922
|
+
*
|
|
923
|
+
* @generated from field: kusinta.iot.reporting.v1.SnapshotPart snapshot = 6;
|
|
924
|
+
*/
|
|
925
|
+
snapshot?: SnapshotPart | undefined;
|
|
926
|
+
};
|
|
927
|
+
|
|
928
|
+
/**
|
|
929
|
+
* Describes the message kusinta.iot.reporting.v1.ReportInviteRoutesRequest.
|
|
930
|
+
* Use `create(ReportInviteRoutesRequestSchema)` to create a new message.
|
|
931
|
+
*/
|
|
932
|
+
export declare const ReportInviteRoutesRequestSchema: GenMessage<ReportInviteRoutesRequest>;
|
|
933
|
+
|
|
934
|
+
/**
|
|
935
|
+
* @generated from message kusinta.iot.reporting.v1.ReportInviteRoutesResponse
|
|
936
|
+
*/
|
|
937
|
+
export declare type ReportInviteRoutesResponse = Message<"kusinta.iot.reporting.v1.ReportInviteRoutesResponse"> & {
|
|
938
|
+
/**
|
|
939
|
+
* As ReportServiceReachResponse.applied_seq.
|
|
940
|
+
*
|
|
941
|
+
* @generated from field: uint64 applied_seq = 1;
|
|
942
|
+
*/
|
|
943
|
+
appliedSeq: bigint;
|
|
944
|
+
|
|
945
|
+
/**
|
|
946
|
+
* As ReportServiceReachResponse.resync_required.
|
|
947
|
+
*
|
|
948
|
+
* @generated from field: bool resync_required = 2;
|
|
949
|
+
*/
|
|
950
|
+
resyncRequired: boolean;
|
|
951
|
+
};
|
|
952
|
+
|
|
953
|
+
/**
|
|
954
|
+
* Describes the message kusinta.iot.reporting.v1.ReportInviteRoutesResponse.
|
|
955
|
+
* Use `create(ReportInviteRoutesResponseSchema)` to create a new message.
|
|
956
|
+
*/
|
|
957
|
+
export declare const ReportInviteRoutesResponseSchema: GenMessage<ReportInviteRoutesResponse>;
|
|
958
|
+
|
|
959
|
+
/**
|
|
960
|
+
* What kind of problem is open. The device kinds, FLOOR_ZONE_UNCONTROLLED aside, mirror what
|
|
961
|
+
* service staff are given of a device (webrtc.v1.ServiceStatus: reachability, the battery
|
|
962
|
+
* flags, the ServiceFault values); a device signal added there is added here too.
|
|
963
|
+
*
|
|
964
|
+
* @generated from enum kusinta.iot.reporting.v1.ProblemKind
|
|
965
|
+
*/
|
|
966
|
+
export enum ProblemKind {
|
|
967
|
+
/**
|
|
968
|
+
* @generated from enum value: PROBLEM_KIND_UNSPECIFIED = 0;
|
|
969
|
+
*/
|
|
970
|
+
UNSPECIFIED = 0,
|
|
971
|
+
|
|
972
|
+
/**
|
|
973
|
+
* The device cannot be heard, as its connector judges it. Does not open, or open again,
|
|
974
|
+
* while its connector is settling: a connector problem open, or the settling time after
|
|
975
|
+
* one; see ClearReason. Closes CLEAR_REASON_RECOVERED only once the connector reports the
|
|
976
|
+
* device reachable again.
|
|
977
|
+
*
|
|
978
|
+
* @generated from enum value: PROBLEM_KIND_DEVICE_OFFLINE = 1;
|
|
979
|
+
*/
|
|
980
|
+
DEVICE_OFFLINE = 1,
|
|
981
|
+
|
|
982
|
+
/**
|
|
983
|
+
* The device reports its battery low or critical.
|
|
984
|
+
*
|
|
985
|
+
* @generated from enum value: PROBLEM_KIND_BATTERY_LOW = 2;
|
|
986
|
+
*/
|
|
987
|
+
BATTERY_LOW = 2,
|
|
988
|
+
|
|
989
|
+
/**
|
|
990
|
+
* The device reports that its battery must be replaced.
|
|
991
|
+
*
|
|
992
|
+
* @generated from enum value: PROBLEM_KIND_BATTERY_REPLACEMENT_NEEDED = 3;
|
|
993
|
+
*/
|
|
994
|
+
BATTERY_REPLACEMENT_NEEDED = 3,
|
|
995
|
+
|
|
996
|
+
/**
|
|
997
|
+
* The device reports an error in its own operation.
|
|
998
|
+
*
|
|
999
|
+
* @generated from enum value: PROBLEM_KIND_DEVICE_ERROR = 4;
|
|
1000
|
+
*/
|
|
1001
|
+
DEVICE_ERROR = 4,
|
|
1002
|
+
|
|
1003
|
+
/**
|
|
1004
|
+
* The device reports being tampered with: a casing opened, a mount removed.
|
|
1005
|
+
*
|
|
1006
|
+
* @generated from enum value: PROBLEM_KIND_DEVICE_TAMPER = 5;
|
|
1007
|
+
*/
|
|
1008
|
+
DEVICE_TAMPER = 5,
|
|
1009
|
+
|
|
1010
|
+
/**
|
|
1011
|
+
* A connector's stream to the gateway is down. A connector problem (see ClearReason): while
|
|
1012
|
+
* it is open, no DEVICE_OFFLINE opens for the devices behind that connector, and those open
|
|
1013
|
+
* close as superseded by a connector problem (see ClearReason), one problem rather than one
|
|
1014
|
+
* per device. Closes with CLEAR_REASON_RECOVERED when the connector reconnects, or
|
|
1015
|
+
* CLEAR_REASON_NO_LONGER_REPORTED when the gateway stops tracking the connector.
|
|
1016
|
+
*
|
|
1017
|
+
* @generated from enum value: PROBLEM_KIND_CONNECTOR_OFFLINE = 6;
|
|
1018
|
+
*/
|
|
1019
|
+
CONNECTOR_OFFLINE = 6,
|
|
1020
|
+
|
|
1021
|
+
/**
|
|
1022
|
+
* A connector is connected, but the backend it drives is failing: a central it cannot
|
|
1023
|
+
* reach, a network server answering with errors. Raised from the connector's own health
|
|
1024
|
+
* reports (connector.v1.BackendHealthReport); backend_failure carries the category, never
|
|
1025
|
+
* the connector's own detail. A connector problem, as CONNECTOR_OFFLINE is: while it is
|
|
1026
|
+
* open, no DEVICE_OFFLINE opens for the devices behind that connector, and those open close
|
|
1027
|
+
* as superseded by a connector problem (see ClearReason). Closes with
|
|
1028
|
+
* CLEAR_REASON_RECOVERED when the health is no longer FAILING,
|
|
1029
|
+
* CLEAR_REASON_SUPERSEDED_BY_CONNECTOR_OFFLINE when the connector's stream drops, a
|
|
1030
|
+
* CONNECTOR_OFFLINE opening in the same step, or
|
|
1031
|
+
* CLEAR_REASON_NO_LONGER_REPORTED when the gateway stops tracking the connector.
|
|
1032
|
+
*
|
|
1033
|
+
* @generated from enum value: PROBLEM_KIND_CONNECTOR_ERROR = 7;
|
|
1034
|
+
*/
|
|
1035
|
+
CONNECTOR_ERROR = 7,
|
|
1036
|
+
|
|
1037
|
+
/**
|
|
1038
|
+
* Company-owned devices are paired with the gateway but filed in no space. A device a
|
|
1039
|
+
* resident owns is never counted. The count changes only at quarter-hour evaluations, and
|
|
1040
|
+
* opened_at and cleared_at are quarter hours, as for a device in a home, so the problem
|
|
1041
|
+
* cannot time what a resident does with a device.
|
|
1042
|
+
*
|
|
1043
|
+
* @generated from enum value: PROBLEM_KIND_UNFILED_DEVICES = 8;
|
|
1044
|
+
*/
|
|
1045
|
+
UNFILED_DEVICES = 8,
|
|
1046
|
+
|
|
1047
|
+
/**
|
|
1048
|
+
* A window is open in a room whose heating it pauses. Raised only for a room in no home: in
|
|
1049
|
+
* a common area, or under a floor or building directly. Whether a window in a home is open
|
|
1050
|
+
* is the residents' alone, and the gateway never reports it: a room that leaves a home with
|
|
1051
|
+
* its window open raises this at the quarter hour it leaves, stamped with that quarter hour,
|
|
1052
|
+
* never with when the window opened.
|
|
1053
|
+
*
|
|
1054
|
+
* @generated from enum value: PROBLEM_KIND_WINDOW_OPEN = 9;
|
|
1055
|
+
*/
|
|
1056
|
+
WINDOW_OPEN = 9,
|
|
1057
|
+
|
|
1058
|
+
/**
|
|
1059
|
+
* A floor zone bound to one of the device's outputs (heating.v1.FloorZone.output) is
|
|
1060
|
+
* uncontrolled — it has no room, or no control room — and so heats without control: an
|
|
1061
|
+
* uncontrolled zone is not driven, and a floor zone rests closed (heating.v1, UNCONTROLLED
|
|
1062
|
+
* ZONES). Opened by the gateway only once the zone has been uncontrolled for about an hour,
|
|
1063
|
+
* so that a zone left so for a step of commissioning raises nothing. One problem per device,
|
|
1064
|
+
* however many zones on its outputs are uncontrolled. Closes CLEAR_REASON_RECOVERED once
|
|
1065
|
+
* each of them has a control room again or has been removed, and
|
|
1066
|
+
* CLEAR_REASON_DEVICE_REMOVED with the device.
|
|
1067
|
+
*
|
|
1068
|
+
* A service signal: it names the device and where the device is filed (Problem.space_id),
|
|
1069
|
+
* as any device problem does, and nothing else — not the zone's rooms, not which of the two
|
|
1070
|
+
* it lacks, not who left it so, and no time finer than Problem allows for a device in a
|
|
1071
|
+
* home. Not part of
|
|
1072
|
+
* webrtc.v1.ServiceStatus; residents are told of it as
|
|
1073
|
+
* access.v1.SERVICE_SIGNAL_FLOOR_ZONE_UNCONTROLLED.
|
|
1074
|
+
*
|
|
1075
|
+
* @generated from enum value: PROBLEM_KIND_FLOOR_ZONE_UNCONTROLLED = 10;
|
|
1076
|
+
*/
|
|
1077
|
+
FLOOR_ZONE_UNCONTROLLED = 10,
|
|
1078
|
+
}
|
|
1079
|
+
|
|
1080
|
+
/**
|
|
1081
|
+
* Describes the enum kusinta.iot.reporting.v1.ProblemKind.
|
|
1082
|
+
*/
|
|
1083
|
+
export declare const ProblemKindSchema: GenEnum<ProblemKind>;
|
|
1084
|
+
|
|
1085
|
+
/**
|
|
1086
|
+
* Why a problem closed.
|
|
1087
|
+
*
|
|
1088
|
+
* A connector problem is CONNECTOR_OFFLINE or CONNECTOR_ERROR, and at most one is open for a
|
|
1089
|
+
* connector at a time: one problem rather than one per device. While one is open, no
|
|
1090
|
+
* DEVICE_OFFLINE opens, or opens again, for the devices behind that connector, and the gateway
|
|
1091
|
+
* closes each DEVICE_OFFLINE of a device still reported behind it with the SUPERSEDED_* reason
|
|
1092
|
+
* naming the connector problem open as it closes it: at once for a device outside any home;
|
|
1093
|
+
* for a device in a home at the next quarter hour, so a receiver may hold both open until
|
|
1094
|
+
* then. If no connector problem is open by that quarter hour — it came and went — nothing is
|
|
1095
|
+
* sent, and the DEVICE_OFFLINE stays open, closing as below.
|
|
1096
|
+
*
|
|
1097
|
+
* A connector is settling while a connector problem of it is open, and for a settling time
|
|
1098
|
+
* after one ends, in which the connector and its devices report again; how long is the
|
|
1099
|
+
* gateway's own policy, but at least 2 minutes and at most 5 minutes after the connector
|
|
1100
|
+
* problem ended: time for the connector to state its health and report its devices'
|
|
1101
|
+
* reachability again (see connector.v1.BackendHealthReport). A device the connector has not
|
|
1102
|
+
* reported reachable by then is judged on what the gateway last heard of it. While it is
|
|
1103
|
+
* settling, no DEVICE_OFFLINE opens, or opens again, for its devices; a connector whose
|
|
1104
|
+
* problems keep recurring within its settling time keeps them from opening, and its connector
|
|
1105
|
+
* problems are what is reported. A DEVICE_OFFLINE closes CLEAR_REASON_RECOVERED only once the
|
|
1106
|
+
* connector reports the device reachable again, never for the mere absence of a report; it
|
|
1107
|
+
* closes with a SUPERSEDED_* reason as said above, and on a move, a removal or leaving what the
|
|
1108
|
+
* gateway reports as for any problem. Once its connector is no longer settling, the gateway
|
|
1109
|
+
* judges its devices afresh: a device still unreachable that has no DEVICE_OFFLINE open — one
|
|
1110
|
+
* closed as superseded or moved, one that started being reported or went unreachable meanwhile
|
|
1111
|
+
* — opens one, stamped as Problem says. So a device outside a home that stays unreachable
|
|
1112
|
+
* through an outage has its DEVICE_OFFLINE closed as superseded and a new one opened after it.
|
|
1113
|
+
*
|
|
1114
|
+
* The gateway closes a problem when it decides the clear — for a device in
|
|
1115
|
+
* a home, at the quarter hour — and a clear queued or sent again keeps the reason it was
|
|
1116
|
+
* given then. Times are as for any transition (see Problem): a device in a home is
|
|
1117
|
+
* stamped only with quarter hours, and no time crosses a home's boundary.
|
|
1118
|
+
*
|
|
1119
|
+
* When the gateway stops tracking a connector — when is the gateway's own policy — the
|
|
1120
|
+
* connector and the devices behind it stop being reported, and their open problems close
|
|
1121
|
+
* with NO_LONGER_REPORTED. A removed device's problems always close with DEVICE_REMOVED, even
|
|
1122
|
+
* when it also stops being reported; any other subject that stops being reported always
|
|
1123
|
+
* closes with NO_LONGER_REPORTED. Neither takes a SUPERSEDED_* reason, even while a connector
|
|
1124
|
+
* problem is open.
|
|
1125
|
+
*
|
|
1126
|
+
* @generated from enum kusinta.iot.reporting.v1.ClearReason
|
|
1127
|
+
*/
|
|
1128
|
+
export enum ClearReason {
|
|
1129
|
+
/**
|
|
1130
|
+
* @generated from enum value: CLEAR_REASON_UNSPECIFIED = 0;
|
|
1131
|
+
*/
|
|
1132
|
+
UNSPECIFIED = 0,
|
|
1133
|
+
|
|
1134
|
+
/**
|
|
1135
|
+
* The condition ended: the device was heard, its battery recovered or was replaced, the
|
|
1136
|
+
* connector came back, the window closed, the floor zone was given a control room or
|
|
1137
|
+
* removed.
|
|
1138
|
+
*
|
|
1139
|
+
* @generated from enum value: CLEAR_REASON_RECOVERED = 1;
|
|
1140
|
+
*/
|
|
1141
|
+
RECOVERED = 1,
|
|
1142
|
+
|
|
1143
|
+
/**
|
|
1144
|
+
* The unfiled devices were filed.
|
|
1145
|
+
*
|
|
1146
|
+
* @generated from enum value: CLEAR_REASON_FILED = 2;
|
|
1147
|
+
*/
|
|
1148
|
+
FILED = 2,
|
|
1149
|
+
|
|
1150
|
+
/**
|
|
1151
|
+
* The device was removed from the gateway. Every problem open on it closes with this,
|
|
1152
|
+
* never with a SUPERSEDED_* reason (see above).
|
|
1153
|
+
*
|
|
1154
|
+
* @generated from enum value: CLEAR_REASON_DEVICE_REMOVED = 3;
|
|
1155
|
+
*/
|
|
1156
|
+
DEVICE_REMOVED = 3,
|
|
1157
|
+
|
|
1158
|
+
/**
|
|
1159
|
+
* The connector behind the device went offline. For a DEVICE_OFFLINE, and for a
|
|
1160
|
+
* CONNECTOR_ERROR whose connector's stream dropped; no other problem is superseded. See
|
|
1161
|
+
* above.
|
|
1162
|
+
*
|
|
1163
|
+
* @generated from enum value: CLEAR_REASON_SUPERSEDED_BY_CONNECTOR_OFFLINE = 4;
|
|
1164
|
+
*/
|
|
1165
|
+
SUPERSEDED_BY_CONNECTOR_OFFLINE = 4,
|
|
1166
|
+
|
|
1167
|
+
/**
|
|
1168
|
+
* The problem's subject left what the gateway reports, though the condition may hold: a
|
|
1169
|
+
* device now owned by a resident, a room moved into a home, a connector the gateway has
|
|
1170
|
+
* stopped tracking and the devices behind it. A device handed to a resident, or a device or
|
|
1171
|
+
* room leaving with a move, is sent, and stamped, at the next quarter hour; anything else
|
|
1172
|
+
* as Problem says for its subject.
|
|
1173
|
+
* Never replaced by a SUPERSEDED_* reason (see above).
|
|
1174
|
+
*
|
|
1175
|
+
* @generated from enum value: CLEAR_REASON_NO_LONGER_REPORTED = 5;
|
|
1176
|
+
*/
|
|
1177
|
+
NO_LONGER_REPORTED = 5,
|
|
1178
|
+
|
|
1179
|
+
/**
|
|
1180
|
+
* The subject moved into or out of a home. A problem that still holds opens again as a new
|
|
1181
|
+
* one at the same quarter hour — a DEVICE_OFFLINE only while its connector is not
|
|
1182
|
+
* settling (see above). A DEVICE_OFFLINE closes with a SUPERSEDED_* reason instead when a
|
|
1183
|
+
* connector problem of its connector is open as the gateway closes it (see above).
|
|
1184
|
+
*
|
|
1185
|
+
* @generated from enum value: CLEAR_REASON_MOVED = 6;
|
|
1186
|
+
*/
|
|
1187
|
+
MOVED = 6,
|
|
1188
|
+
|
|
1189
|
+
/**
|
|
1190
|
+
* The backend of the connector behind the device is failing. For a DEVICE_OFFLINE only; no
|
|
1191
|
+
* other problem is superseded. See above.
|
|
1192
|
+
*
|
|
1193
|
+
* @generated from enum value: CLEAR_REASON_SUPERSEDED_BY_CONNECTOR_ERROR = 7;
|
|
1194
|
+
*/
|
|
1195
|
+
SUPERSEDED_BY_CONNECTOR_ERROR = 7,
|
|
1196
|
+
}
|
|
1197
|
+
|
|
1198
|
+
/**
|
|
1199
|
+
* Describes the enum kusinta.iot.reporting.v1.ClearReason.
|
|
1200
|
+
*/
|
|
1201
|
+
export declare const ClearReasonSchema: GenEnum<ClearReason>;
|
|
1202
|
+
|
|
1203
|
+
/**
|
|
1204
|
+
* What the api-server made of one transition.
|
|
1205
|
+
*
|
|
1206
|
+
* @generated from enum kusinta.iot.reporting.v1.AckStatus
|
|
1207
|
+
*/
|
|
1208
|
+
export enum AckStatus {
|
|
1209
|
+
/**
|
|
1210
|
+
* @generated from enum value: ACK_STATUS_UNSPECIFIED = 0;
|
|
1211
|
+
*/
|
|
1212
|
+
UNSPECIFIED = 0,
|
|
1213
|
+
|
|
1214
|
+
/**
|
|
1215
|
+
* Applied now.
|
|
1216
|
+
*
|
|
1217
|
+
* @generated from enum value: ACK_STATUS_APPLIED = 1;
|
|
1218
|
+
*/
|
|
1219
|
+
APPLIED = 1,
|
|
1220
|
+
|
|
1221
|
+
/**
|
|
1222
|
+
* Already held, or overtaken by a later transition of the same problem; not applied.
|
|
1223
|
+
*
|
|
1224
|
+
* @generated from enum value: ACK_STATUS_DUPLICATE = 2;
|
|
1225
|
+
*/
|
|
1226
|
+
DUPLICATE = 2,
|
|
1227
|
+
|
|
1228
|
+
/**
|
|
1229
|
+
* Not applied, and never will be: malformed, or for something this gateway may not report.
|
|
1230
|
+
* The gateway does not send it again. Never because of what the api-server holds of spaces —
|
|
1231
|
+
* one it does not hold, one since removed, one it still files elsewhere: the three concerns
|
|
1232
|
+
* are not ordered against each other, so a problem may run ahead of or behind its space, and
|
|
1233
|
+
* is kept (see ServiceReach for who sees it).
|
|
1234
|
+
*
|
|
1235
|
+
* @generated from enum value: ACK_STATUS_REJECTED = 3;
|
|
1236
|
+
*/
|
|
1237
|
+
REJECTED = 3,
|
|
1238
|
+
|
|
1239
|
+
/**
|
|
1240
|
+
* Part of a snapshot not yet complete: received, to be applied with the last part.
|
|
1241
|
+
*
|
|
1242
|
+
* @generated from enum value: ACK_STATUS_HELD = 4;
|
|
1243
|
+
*/
|
|
1244
|
+
HELD = 4,
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
/**
|
|
1248
|
+
* Describes the enum kusinta.iot.reporting.v1.AckStatus.
|
|
1249
|
+
*/
|
|
1250
|
+
export declare const AckStatusSchema: GenEnum<AckStatus>;
|
|
1251
|
+
|