@kusinta/iot-schema 0.2.0-beta.2 → 0.2.0-beta.3
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 +5 -1
- package/src/kusinta/iot/connector/v1/connector_pb.d.ts +54 -6
- package/src/kusinta/iot/connector/v1/connector_pb.js +1 -1
- package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +4 -3
- package/src/kusinta/iot/webrtc/v1/command_pb.js +2 -1
- package/src/kusinta/iot/webrtc/v1/setpoint_mode_pb.d.ts +63 -0
- package/src/kusinta/iot/webrtc/v1/setpoint_mode_pb.js +45 -0
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.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": ["src"],
|
|
@@ -27,7 +27,11 @@
|
|
|
27
27
|
"./connector/service": "./src/kusinta/iot/connector/v1/connector_service_pb.js",
|
|
28
28
|
"./webrtc": "./src/kusinta/iot/webrtc/v1/envelope_pb.js",
|
|
29
29
|
"./webrtc/app-token": "./src/kusinta/iot/webrtc/v1/app_token_pb.js",
|
|
30
|
+
"./webrtc/command": "./src/kusinta/iot/webrtc/v1/command_pb.js",
|
|
31
|
+
"./webrtc/device-state": "./src/kusinta/iot/webrtc/v1/device_state_pb.js",
|
|
30
32
|
"./webrtc/management": "./src/kusinta/iot/webrtc/v1/management_pb.js",
|
|
33
|
+
"./webrtc/permission-push": "./src/kusinta/iot/webrtc/v1/permission_push_pb.js",
|
|
34
|
+
"./webrtc/setpoint-mode": "./src/kusinta/iot/webrtc/v1/setpoint_mode_pb.js",
|
|
31
35
|
"./registration": "./src/kusinta/iot/registration/v1/registration_pb.js",
|
|
32
36
|
"./registration/service": "./src/kusinta/iot/registration/v1/registration_service_pb.js",
|
|
33
37
|
"./signaling": "./src/kusinta/iot/signaling/v1/signaling_pb.js",
|
|
@@ -8,9 +8,9 @@ import type { ConnectorId, DeviceId, GatewayId } from "../../identity/v1/identit
|
|
|
8
8
|
import type { ConnectorTransport } from "../../common/v1/types_pb.js";
|
|
9
9
|
import type { Device } from "../../device/v1/device_pb.js";
|
|
10
10
|
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
11
|
+
import type { AttributeWriteRequest, CommandError, DeviceCommand } from "../../webrtc/v1/command_pb.js";
|
|
11
12
|
import type { PropertyUpdateBatch } from "../../device/v1/property_update_pb.js";
|
|
12
13
|
import type { DeviceEventBatch } from "../../device/v1/device_event_pb.js";
|
|
13
|
-
import type { AttributeWriteRequest, DeviceCommand } from "../../webrtc/v1/command_pb.js";
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Describes the file kusinta/iot/connector/v1/connector.proto.
|
|
@@ -196,6 +196,15 @@ export declare type UnsubscribeDevice = Message<"kusinta.iot.connector.v1.Unsubs
|
|
|
196
196
|
export declare const UnsubscribeDeviceSchema: GenMessage<UnsubscribeDevice>;
|
|
197
197
|
|
|
198
198
|
/**
|
|
199
|
+
* Session-level error, gateway → connector. NOT how a command or a write fails: that is
|
|
200
|
+
* an ordinary ConnectorCommandResult with success = false and a typed CommandError, and
|
|
201
|
+
* one operation failing says nothing about the session, which continues.
|
|
202
|
+
*
|
|
203
|
+
* code stays a free-form string here, unlike webrtc.v1.GatewayError's closed
|
|
204
|
+
* GatewayErrorCode and unlike the CommandError below. A connector is versioned on its own
|
|
205
|
+
* schedule and one may be a third party's, so the set of things that can go wrong between
|
|
206
|
+
* a gateway and a connector is not closed the way the app leg's is.
|
|
207
|
+
*
|
|
199
208
|
* @generated from message kusinta.iot.connector.v1.GatewayError
|
|
200
209
|
*/
|
|
201
210
|
export declare type GatewayError = Message<"kusinta.iot.connector.v1.GatewayError"> & {
|
|
@@ -210,7 +219,7 @@ export declare type GatewayError = Message<"kusinta.iot.connector.v1.GatewayErro
|
|
|
210
219
|
message: string;
|
|
211
220
|
|
|
212
221
|
/**
|
|
213
|
-
* non-empty if the error
|
|
222
|
+
* non-empty if the error refers to a specific request
|
|
214
223
|
*
|
|
215
224
|
* @generated from field: string request_id = 3;
|
|
216
225
|
*/
|
|
@@ -245,14 +254,53 @@ export declare type ConnectorCommandResult = Message<"kusinta.iot.connector.v1.C
|
|
|
245
254
|
success: boolean;
|
|
246
255
|
|
|
247
256
|
/**
|
|
248
|
-
* @generated from field:
|
|
257
|
+
* @generated from field: google.protobuf.Timestamp completed_at = 4;
|
|
249
258
|
*/
|
|
250
|
-
|
|
259
|
+
completedAt?: Timestamp | undefined;
|
|
251
260
|
|
|
252
261
|
/**
|
|
253
|
-
*
|
|
262
|
+
* Why it failed, in the same closed vocabulary the app is eventually given. The gateway
|
|
263
|
+
* forwards this into webrtc.v1.CommandResult.error unchanged; it does not translate.
|
|
264
|
+
*
|
|
265
|
+
* Shared rather than mirrored on purpose. The free-form string this replaces left every
|
|
266
|
+
* connector to invent its own spellings ("TIMEOUT", "UNSUPPORTED_MODE") and the gateway
|
|
267
|
+
* to keep a mapping table that silently fell behind whenever a connector coined a new
|
|
268
|
+
* one — which is the drift a closed vocabulary exists to prevent.
|
|
269
|
+
*
|
|
270
|
+
* A connector produces the subset it can actually observe: REJECTED_BY_DEVICE,
|
|
271
|
+
* UNREACHABLE, TIMEOUT, INVALID_COMMAND, INTERNAL. NOT_ENTITLED and
|
|
272
|
+
* CONSTRAINT_VIOLATED are the gateway's, decided before a command is forwarded at all;
|
|
273
|
+
* a connector never sees the caller's permissions and must not claim to.
|
|
274
|
+
*
|
|
275
|
+
* Rollout note: a connector whose schema predates this sends nothing on field 5 and the
|
|
276
|
+
* gateway reads UNSPECIFIED. Set success = false with no code and the meaning is "it
|
|
277
|
+
* failed, reason unstated" — which is what the string codes amounted to anyway.
|
|
278
|
+
*
|
|
279
|
+
* @generated from field: kusinta.iot.webrtc.v1.CommandError error = 5;
|
|
254
280
|
*/
|
|
255
|
-
|
|
281
|
+
error?: CommandError | undefined;
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* When this connector's own optimistic window closes: by this time the value has either
|
|
285
|
+
* been confirmed by the device or restored, and either way the connector will have
|
|
286
|
+
* published a PropertyUpdate saying so.
|
|
287
|
+
*
|
|
288
|
+
* Set it when the connector applied the value optimistically and runs a rollback timer
|
|
289
|
+
* of its own — a downstream device with a known, device-specific timeout. The gateway
|
|
290
|
+
* carries it into webrtc.v1.CommandResult.settles_by instead of applying a fixed guess:
|
|
291
|
+
* the connector is the only party that knows the timer, and a gateway-side constant
|
|
292
|
+
* chasing it is the same hardcoded-window problem one level up.
|
|
293
|
+
*
|
|
294
|
+
* Absent means no claim — either the connector confirms synchronously, or it cannot
|
|
295
|
+
* state a bound. Absent is NOT "settles immediately", and the gateway is free to fall
|
|
296
|
+
* back to a deadline of its own when nothing is stated here.
|
|
297
|
+
*
|
|
298
|
+
* This bounds the wait; it does not label the values that arrive. Which update was the
|
|
299
|
+
* optimistic one is device.v1.PropertyUpdate.provenance.
|
|
300
|
+
*
|
|
301
|
+
* @generated from field: optional google.protobuf.Timestamp settles_by = 6;
|
|
302
|
+
*/
|
|
303
|
+
settlesBy?: Timestamp | undefined;
|
|
256
304
|
};
|
|
257
305
|
|
|
258
306
|
/**
|
|
@@ -15,7 +15,7 @@ import { file_kusinta_iot_webrtc_v1_command } from "../../webrtc/v1/command_pb.j
|
|
|
15
15
|
* Describes the file kusinta/iot/connector/v1/connector.proto.
|
|
16
16
|
*/
|
|
17
17
|
export const file_kusinta_iot_connector_v1_connector = /*@__PURE__*/
|
|
18
|
-
fileDesc("
|
|
18
|
+
fileDesc("CihrdXNpbnRhL2lvdC9jb25uZWN0b3IvdjEvY29ubmVjdG9yLnByb3RvEhhrdXNpbnRhLmlvdC5jb25uZWN0b3IudjEi5QEKDUNvbm5lY3RvckluZm8SOgoMY29ubmVjdG9yX2lkGAEgASgLMiQua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuQ29ubmVjdG9ySWQSFAoMZGlzcGxheV9uYW1lGAIgASgJEg8KB3ZlcnNpb24YAyABKAkSPAoJdHJhbnNwb3J0GAQgASgOMikua3VzaW50YS5pb3QuY29tbW9uLnYxLkNvbm5lY3RvclRyYW5zcG9ydBIQCghlbmRwb2ludBgFIAEoCRIhChlzdXBwb3J0ZWRfZGV2aWNlX3R5cGVfaWRzGAYgAygNIoEBChJDb25uZWN0b3JIYW5kc2hha2USNQoEaW5mbxgBIAEoCzInLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5Db25uZWN0b3JJbmZvEjQKDWtub3duX2RldmljZXMYAiADKAsyHS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRGV2aWNlImgKDEhhbmRzaGFrZUFjaxIQCghhY2NlcHRlZBgBIAEoCBIOCgZyZWFzb24YAiABKAkSNgoKZ2F0ZXdheV9pZBgDIAEoCzIiLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkdhdGV3YXlJZCJVChJEZXZpY2VBbm5vdW5jZW1lbnQSLQoGZGV2aWNlGAIgASgLMh0ua3VzaW50YS5pb3QuZGV2aWNlLnYxLkRldmljZUoECAEQAlIKZGVzY3JpcHRvciJVCg1EZXZpY2VSZW1vdmFsEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEg4KBnJlYXNvbhgCIAEoCSILCglIZWFydEJlYXQiRwoPU3Vic2NyaWJlRGV2aWNlEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkIkkKEVVuc3Vic2NyaWJlRGV2aWNlEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkIkEKDEdhdGV3YXlFcnJvchIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEgoKcmVxdWVzdF9pZBgDIAEoCSLtAQoWQ29ubmVjdG9yQ29tbWFuZFJlc3VsdBISCgpyZXF1ZXN0X2lkGAEgASgJEg8KB3N1Y2Nlc3MYAiABKAgSMAoMY29tcGxldGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIyCgVlcnJvchgFIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Db21tYW5kRXJyb3ISMwoKc2V0dGxlc19ieRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUINCgtfc2V0dGxlc19ieUoECAMQBCK7BAoOU2Vzc2lvblJlcXVlc3QSEgoKbWVzc2FnZV9pZBgBIAEoCRIrCgdzZW50X2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJBCgloYW5kc2hha2UYAyABKAsyLC5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuQ29ubmVjdG9ySGFuZHNoYWtlSAASRQoPcHJvcGVydHlfdXBkYXRlGAQgASgLMioua3VzaW50YS5pb3QuZGV2aWNlLnYxLlByb3BlcnR5VXBkYXRlQmF0Y2hIABJIChBkZXZpY2VfYW5ub3VuY2VkGAUgASgLMiwua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkRldmljZUFubm91bmNlbWVudEgAEkEKDmRldmljZV9yZW1vdmVkGAYgASgLMicua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkRldmljZVJlbW92YWxIABJKCg5jb21tYW5kX3Jlc3VsdBgHIAEoCzIwLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5Db25uZWN0b3JDb21tYW5kUmVzdWx0SAASOAoJaGVhcnRiZWF0GAggASgLMiMua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkhlYXJ0QmVhdEgAEkAKDWRldmljZV9ldmVudHMYCSABKAsyJy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRGV2aWNlRXZlbnRCYXRjaEgAQgkKB3BheWxvYWQi8wMKD1Nlc3Npb25SZXNwb25zZRISCgptZXNzYWdlX2lkGAEgASgJEisKB3NlbnRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEj8KDWhhbmRzaGFrZV9hY2sYAyABKAsyJi5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuSGFuZHNoYWtlQWNrSAASPgoJc3Vic2NyaWJlGAUgASgLMikua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLlN1YnNjcmliZURldmljZUgAEkIKC3Vuc3Vic2NyaWJlGAYgASgLMisua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLlVuc3Vic2NyaWJlRGV2aWNlSAASNwoFZXJyb3IYByABKAsyJi5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuR2F0ZXdheUVycm9ySAASPwoPZXhlY3V0ZV9jb21tYW5kGAggASgLMiQua3VzaW50YS5pb3Qud2VicnRjLnYxLkRldmljZUNvbW1hbmRIABJPChdleGVjdXRlX2F0dHJpYnV0ZV93cml0ZRgJIAEoCzIsLmt1c2ludGEuaW90LndlYnJ0Yy52MS5BdHRyaWJ1dGVXcml0ZVJlcXVlc3RIAEIJCgdwYXlsb2FkSgQIBBAFQgJIAWIGcHJvdG8z", [file_google_protobuf_timestamp, file_kusinta_iot_common_v1_types, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_device_v1_device, file_kusinta_iot_device_v1_device_event, file_kusinta_iot_device_v1_property_update, file_kusinta_iot_webrtc_v1_command]);
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Describes the message kusinta.iot.connector.v1.ConnectorInfo.
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
|
|
6
6
|
import type { Message } from "@bufbuild/protobuf";
|
|
7
|
+
import type { SetpointAdjustMode } from "./setpoint_mode_pb.js";
|
|
7
8
|
import type { DeviceId } from "../../identity/v1/identity_pb.js";
|
|
8
9
|
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
9
10
|
import type { AttributeRef } from "../../access/v1/acl_pb.js";
|
|
@@ -28,11 +29,11 @@ export declare const file_kusinta_iot_webrtc_v1_command: GenFile;
|
|
|
28
29
|
*/
|
|
29
30
|
export declare type ThermostatSetpointParams = Message<"kusinta.iot.webrtc.v1.ThermostatSetpointParams"> & {
|
|
30
31
|
/**
|
|
31
|
-
*
|
|
32
|
+
* absent = the producer stated no mode
|
|
32
33
|
*
|
|
33
|
-
* @generated from field: optional
|
|
34
|
+
* @generated from field: optional kusinta.iot.webrtc.v1.SetpointAdjustMode mode = 1;
|
|
34
35
|
*/
|
|
35
|
-
mode?:
|
|
36
|
+
mode?: SetpointAdjustMode | undefined;
|
|
36
37
|
|
|
37
38
|
/**
|
|
38
39
|
* centidegrees delta
|
|
@@ -8,12 +8,13 @@ import { file_kusinta_iot_access_v1_acl } from "../../access/v1/acl_pb.js";
|
|
|
8
8
|
import { file_kusinta_iot_device_v1_cluster_state } from "../../device/v1/cluster_state_pb.js";
|
|
9
9
|
import { file_kusinta_iot_device_v1_matter_options } from "../../device/v1/matter_options_pb.js";
|
|
10
10
|
import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
|
|
11
|
+
import { file_kusinta_iot_webrtc_v1_setpoint_mode } from "./setpoint_mode_pb.js";
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* Describes the file kusinta/iot/webrtc/v1/command.proto.
|
|
14
15
|
*/
|
|
15
16
|
export const file_kusinta_iot_webrtc_v1_command = /*@__PURE__*/
|
|
16
|
-
fileDesc("
|
|
17
|
+
fileDesc("CiNrdXNpbnRhL2lvdC93ZWJydGMvdjEvY29tbWFuZC5wcm90bxIVa3VzaW50YS5pb3Qud2VicnRjLnYxInwKGFRoZXJtb3N0YXRTZXRwb2ludFBhcmFtcxI8CgRtb2RlGAEgASgOMikua3VzaW50YS5pb3Qud2VicnRjLnYxLlNldHBvaW50QWRqdXN0TW9kZUgAiAEBEg4KBmFtb3VudBgCIAEoEToJuLUYgQTAtRgAQgcKBV9tb2RlIkYKEkxldmVsQ29udHJvbFBhcmFtcxINCgVsZXZlbBgBIAEoDRIXCg90cmFuc2l0aW9uX3RpbWUYAiABKA06CLi1GAjAtRgAIisKC09uT2ZmUGFyYW1zOgS4tRgGSgQIARACSgQIAhADUgJvblIGdG9nZ2xlIkEKGFdpbmRvd0NvdmVyaW5nTGlmdFBhcmFtcxIaChJsaWZ0X3BlcmNlbnQxMDB0aHMYASABKA06Cbi1GIICwLUYBSI7Cg5Eb29yTG9ja1BhcmFtcxIQCghwaW5fY29kZRgCIAEoCToFuLUYgQJKBAgBEAJSCmxvY2tfc3RhdGUikgUKDURldmljZUNvbW1hbmQSEgoKcmVxdWVzdF9pZBgBIAEoCRI0CglkZXZpY2VfaWQYAiABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIUCgxjb21tYW5kX25hbWUYBCABKAkSEgoKY2x1c3Rlcl9pZBgMIAEoDRIeChFtYXR0ZXJfY29tbWFuZF9pZBgNIAEoDUgBiAEBEhgKC2VuZHBvaW50X2lkGAsgASgNSAKIAQESTgoTdGhlcm1vc3RhdF9zZXRwb2ludBgFIAEoCzIvLmt1c2ludGEuaW90LndlYnJ0Yy52MS5UaGVybW9zdGF0U2V0cG9pbnRQYXJhbXNIABJCCg1sZXZlbF9jb250cm9sGAYgASgLMikua3VzaW50YS5pb3Qud2VicnRjLnYxLkxldmVsQ29udHJvbFBhcmFtc0gAEjQKBm9uX29mZhgHIAEoCzIiLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Pbk9mZlBhcmFtc0gAEk8KFHdpbmRvd19jb3ZlcmluZ19saWZ0GAggASgLMi8ua3VzaW50YS5pb3Qud2VicnRjLnYxLldpbmRvd0NvdmVyaW5nTGlmdFBhcmFtc0gAEjoKCWRvb3JfbG9jaxgJIAEoCzIlLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Eb29yTG9ja1BhcmFtc0gAEhEKB3Jhd190bHYYYyABKAxIAEIMCgpwYXJhbWV0ZXJzQhQKEl9tYXR0ZXJfY29tbWFuZF9pZEIOCgxfZW5kcG9pbnRfaWRKBAgDEARKBAgKEAtSDmNsdXN0ZXJfaWRfaGV4Uhl0aGVybW9zdGF0X3NldHBvaW50X3dyaXRlIlwKDENvbW1hbmRFcnJvchIPCgdtZXNzYWdlGAIgASgJEjUKBGNvZGUYAyABKA4yJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ29tbWFuZEVycm9yQ29kZUoECAEQAiLeAQoNQ29tbWFuZFJlc3VsdBISCgpyZXF1ZXN0X2lkGAEgASgJEg8KB3N1Y2Nlc3MYAiABKAgSMgoFZXJyb3IYAyABKAsyIy5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ29tbWFuZEVycm9yEjAKDGNvbXBsZXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMwoKc2V0dGxlc19ieRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUINCgtfc2V0dGxlc19ieSLMAQoVQXR0cmlidXRlV3JpdGVSZXF1ZXN0EhIKCnJlcXVlc3RfaWQYASABKAkSNAoJZGV2aWNlX2lkGAIgASgLMiEua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuRGV2aWNlSWQSMwoGdGFyZ2V0GAMgASgLMiMua3VzaW50YS5pb3QuYWNjZXNzLnYxLkF0dHJpYnV0ZVJlZhI0CgV2YWx1ZRgEIAEoCzIlLmt1c2ludGEuaW90LmRldmljZS52MS5BdHRyaWJ1dGVWYWx1ZSq/AgoQQ29tbWFuZEVycm9yQ29kZRIiCh5DT01NQU5EX0VSUk9SX0NPREVfVU5TUEVDSUZJRUQQABIjCh9DT01NQU5EX0VSUk9SX0NPREVfTk9UX0VOVElUTEVEEAESKgomQ09NTUFORF9FUlJPUl9DT0RFX0NPTlNUUkFJTlRfVklPTEFURUQQAhImCiJDT01NQU5EX0VSUk9SX0NPREVfSU5WQUxJRF9DT01NQU5EEAMSIgoeQ09NTUFORF9FUlJPUl9DT0RFX1VOUkVBQ0hBQkxFEAQSHgoaQ09NTUFORF9FUlJPUl9DT0RFX1RJTUVPVVQQBRIpCiVDT01NQU5EX0VSUk9SX0NPREVfUkVKRUNURURfQllfREVWSUNFEAYSHwobQ09NTUFORF9FUlJPUl9DT0RFX0lOVEVSTkFMEAdCAkgBYgZwcm90bzM", [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]);
|
|
17
18
|
|
|
18
19
|
/**
|
|
19
20
|
* Describes the message kusinta.iot.webrtc.v1.ThermostatSetpointParams.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
|
|
2
|
+
// @generated from file kusinta/iot/webrtc/v1/setpoint_mode.proto (package kusinta.iot.webrtc.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import type { GenEnum, GenFile } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Describes the file kusinta/iot/webrtc/v1/setpoint_mode.proto.
|
|
9
|
+
*/
|
|
10
|
+
export declare const file_kusinta_iot_webrtc_v1_setpoint_mode: GenFile;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* SetpointAdjustMode selects which setpoint a thermostat command targets. It is
|
|
14
|
+
* Matter's SetpointRaiseLowerModeEnum (Thermostat cluster 0x0201) and carries Matter's
|
|
15
|
+
* own numbering.
|
|
16
|
+
*
|
|
17
|
+
* A real type rather than a numbering written down in a comment. The mode field on
|
|
18
|
+
* ThermostatSetpointParams was a bare uint32 with this numbering stated beside it, so a
|
|
19
|
+
* consumer carrying forward an older Heat=1/Cool=2/Both=3 convention compiled cleanly and
|
|
20
|
+
* silently reversed which physical behavior a command produced.
|
|
21
|
+
*
|
|
22
|
+
* Zero is a real mode, not a "not set" sentinel — which is why there is no
|
|
23
|
+
* SETPOINT_ADJUST_MODE_UNSPECIFIED, and why every field carrying this value has explicit
|
|
24
|
+
* presence: absent = the producer stated no mode, present = the mode it named, Heat
|
|
25
|
+
* included. This is the same rule properties.proto applies to readings, for the same
|
|
26
|
+
* reason — a bare proto3 scalar makes "meant Heat" and "never set it" identical on the
|
|
27
|
+
* wire. Renumbering to free zero is not available: the wire value IS Matter's value.
|
|
28
|
+
*
|
|
29
|
+
* SetpointAdjustMode is NOT ThermostatProperties.system_mode. system_mode is Matter's
|
|
30
|
+
* SystemModeEnum (Off=0, Auto=1, Cool=3, Heat=4), a different enum over a different set
|
|
31
|
+
* of concepts. Cool is 1 here and 3 there; the two must never be substituted for each
|
|
32
|
+
* other or read through the same mapping table.
|
|
33
|
+
*
|
|
34
|
+
* @generated from enum kusinta.iot.webrtc.v1.SetpointAdjustMode
|
|
35
|
+
*/
|
|
36
|
+
export enum SetpointAdjustMode {
|
|
37
|
+
/**
|
|
38
|
+
* Targets ThermostatProperties.occupied_heating_setpoint.
|
|
39
|
+
*
|
|
40
|
+
* @generated from enum value: SETPOINT_ADJUST_MODE_HEAT = 0;
|
|
41
|
+
*/
|
|
42
|
+
HEAT = 0,
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Targets ThermostatProperties.occupied_cooling_setpoint.
|
|
46
|
+
*
|
|
47
|
+
* @generated from enum value: SETPOINT_ADJUST_MODE_COOL = 1;
|
|
48
|
+
*/
|
|
49
|
+
COOL = 1,
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Targets both setpoints.
|
|
53
|
+
*
|
|
54
|
+
* @generated from enum value: SETPOINT_ADJUST_MODE_BOTH = 2;
|
|
55
|
+
*/
|
|
56
|
+
BOTH = 2,
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Describes the enum kusinta.iot.webrtc.v1.SetpointAdjustMode.
|
|
61
|
+
*/
|
|
62
|
+
export declare const SetpointAdjustModeSchema: GenEnum<SetpointAdjustMode>;
|
|
63
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
|
|
2
|
+
// @generated from file kusinta/iot/webrtc/v1/setpoint_mode.proto (package kusinta.iot.webrtc.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import { enumDesc, fileDesc, tsEnum } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Describes the file kusinta/iot/webrtc/v1/setpoint_mode.proto.
|
|
9
|
+
*/
|
|
10
|
+
export const file_kusinta_iot_webrtc_v1_setpoint_mode = /*@__PURE__*/
|
|
11
|
+
fileDesc("CilrdXNpbnRhL2lvdC93ZWJydGMvdjEvc2V0cG9pbnRfbW9kZS5wcm90bxIVa3VzaW50YS5pb3Qud2VicnRjLnYxKnEKElNldHBvaW50QWRqdXN0TW9kZRIdChlTRVRQT0lOVF9BREpVU1RfTU9ERV9IRUFUEAASHQoZU0VUUE9JTlRfQURKVVNUX01PREVfQ09PTBABEh0KGVNFVFBPSU5UX0FESlVTVF9NT0RFX0JPVEgQAkICSAFiBnByb3RvMw");
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Describes the enum kusinta.iot.webrtc.v1.SetpointAdjustMode.
|
|
15
|
+
*/
|
|
16
|
+
export const SetpointAdjustModeSchema = /*@__PURE__*/
|
|
17
|
+
enumDesc(file_kusinta_iot_webrtc_v1_setpoint_mode, 0);
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* SetpointAdjustMode selects which setpoint a thermostat command targets. It is
|
|
21
|
+
* Matter's SetpointRaiseLowerModeEnum (Thermostat cluster 0x0201) and carries Matter's
|
|
22
|
+
* own numbering.
|
|
23
|
+
*
|
|
24
|
+
* A real type rather than a numbering written down in a comment. The mode field on
|
|
25
|
+
* ThermostatSetpointParams was a bare uint32 with this numbering stated beside it, so a
|
|
26
|
+
* consumer carrying forward an older Heat=1/Cool=2/Both=3 convention compiled cleanly and
|
|
27
|
+
* silently reversed which physical behavior a command produced.
|
|
28
|
+
*
|
|
29
|
+
* Zero is a real mode, not a "not set" sentinel — which is why there is no
|
|
30
|
+
* SETPOINT_ADJUST_MODE_UNSPECIFIED, and why every field carrying this value has explicit
|
|
31
|
+
* presence: absent = the producer stated no mode, present = the mode it named, Heat
|
|
32
|
+
* included. This is the same rule properties.proto applies to readings, for the same
|
|
33
|
+
* reason — a bare proto3 scalar makes "meant Heat" and "never set it" identical on the
|
|
34
|
+
* wire. Renumbering to free zero is not available: the wire value IS Matter's value.
|
|
35
|
+
*
|
|
36
|
+
* SetpointAdjustMode is NOT ThermostatProperties.system_mode. system_mode is Matter's
|
|
37
|
+
* SystemModeEnum (Off=0, Auto=1, Cool=3, Heat=4), a different enum over a different set
|
|
38
|
+
* of concepts. Cool is 1 here and 3 there; the two must never be substituted for each
|
|
39
|
+
* other or read through the same mapping table.
|
|
40
|
+
*
|
|
41
|
+
* @generated from enum kusinta.iot.webrtc.v1.SetpointAdjustMode
|
|
42
|
+
*/
|
|
43
|
+
export const SetpointAdjustMode = /*@__PURE__*/
|
|
44
|
+
tsEnum(SetpointAdjustModeSchema);
|
|
45
|
+
|