@kusinta/iot-schema 0.1.0-beta.2 → 0.1.0-beta.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +49 -0
  3. package/package.json +9 -2
  4. package/src/kusinta/iot/access/v1/acl_pb.d.ts +3 -3
  5. package/src/kusinta/iot/access/v1/acl_pb.js +3 -3
  6. package/src/kusinta/iot/access/v1/roles_pb.d.ts +1 -1
  7. package/src/kusinta/iot/access/v1/roles_pb.js +1 -1
  8. package/src/kusinta/iot/common/v1/types_pb.d.ts +1 -1
  9. package/src/kusinta/iot/common/v1/types_pb.js +1 -1
  10. package/src/kusinta/iot/connector/v1/connector_pb.d.ts +31 -24
  11. package/src/kusinta/iot/connector/v1/connector_pb.js +16 -15
  12. package/src/kusinta/iot/connector/v1/connector_service_pb.d.ts +6 -6
  13. package/src/kusinta/iot/connector/v1/connector_service_pb.js +3 -3
  14. package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +3 -3
  15. package/src/kusinta/iot/device/v1/descriptor_pb.js +3 -3
  16. package/src/kusinta/iot/device/v1/device_pb.d.ts +36 -4
  17. package/src/kusinta/iot/device/v1/device_pb.js +4 -4
  18. package/src/kusinta/iot/device/v1/matter_options_pb.d.ts +46 -0
  19. package/src/kusinta/iot/device/v1/matter_options_pb.js +50 -0
  20. package/src/kusinta/iot/device/v1/properties_pb.d.ts +175 -208
  21. package/src/kusinta/iot/device/v1/properties_pb.js +3 -2
  22. package/src/kusinta/iot/device/v1/property_update_pb.d.ts +37 -4
  23. package/src/kusinta/iot/device/v1/property_update_pb.js +2 -2
  24. package/src/kusinta/iot/identity/v1/identity_pb.d.ts +1 -1
  25. package/src/kusinta/iot/identity/v1/identity_pb.js +1 -1
  26. package/src/kusinta/iot/registration/v1/registration_pb.d.ts +170 -0
  27. package/src/kusinta/iot/registration/v1/registration_pb.js +61 -0
  28. package/src/kusinta/iot/registration/v1/registration_service_pb.d.ts +34 -0
  29. package/src/kusinta/iot/registration/v1/registration_service_pb.js +19 -0
  30. package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +319 -0
  31. package/src/kusinta/iot/signaling/v1/signaling_pb.js +83 -0
  32. package/src/kusinta/iot/signaling/v1/signaling_service_pb.d.ts +34 -0
  33. package/src/kusinta/iot/signaling/v1/signaling_service_pb.js +19 -0
  34. package/src/kusinta/iot/space/v1/space_pb.d.ts +3 -3
  35. package/src/kusinta/iot/space/v1/space_pb.js +3 -3
  36. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +16 -11
  37. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +2 -2
  38. package/src/kusinta/iot/webrtc/v1/app_token_pb.d.ts +153 -0
  39. package/src/kusinta/iot/webrtc/v1/app_token_pb.js +28 -0
  40. package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +3 -3
  41. package/src/kusinta/iot/webrtc/v1/command_pb.js +2 -2
  42. package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +67 -4
  43. package/src/kusinta/iot/webrtc/v1/device_state_pb.js +20 -5
  44. package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +282 -13
  45. package/src/kusinta/iot/webrtc/v1/envelope_pb.js +70 -11
  46. package/src/kusinta/iot/webrtc/v1/permission_push_pb.d.ts +9 -3
  47. package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +3 -3
  48. package/src/__tests__/access.test.js +0 -134
  49. package/src/__tests__/common.test.js +0 -29
  50. package/src/__tests__/connector.test.js +0 -144
  51. package/src/__tests__/device.test.js +0 -194
  52. package/src/__tests__/identity.test.js +0 -43
  53. package/src/__tests__/space.test.js +0 -54
  54. package/src/__tests__/vendor.test.js +0 -60
  55. package/src/__tests__/webrtc.test.js +0 -268
@@ -1,4 +1,4 @@
1
- // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts"
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
2
  // @generated from file kusinta/iot/device/v1/properties.proto (package kusinta.iot.device.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
@@ -11,80 +11,66 @@ import type { Message } from "@bufbuild/protobuf";
11
11
  export declare const file_kusinta_iot_device_v1_properties: GenFile;
12
12
 
13
13
  /**
14
- * Matter Thermostat cluster (0x0201) — device type 0x0301
14
+ * Matter Thermostat cluster (0x0201)
15
15
  *
16
16
  * @generated from message kusinta.iot.device.v1.ThermostatProperties
17
17
  */
18
18
  export declare type ThermostatProperties = Message<"kusinta.iot.device.v1.ThermostatProperties"> & {
19
19
  /**
20
- * LocalTemperature
21
- *
22
- * @generated from field: sint32 local_temperature = 1;
20
+ * @generated from field: optional sint32 local_temperature = 1;
23
21
  */
24
- localTemperature: number;
22
+ localTemperature?: number | undefined;
25
23
 
26
24
  /**
27
- * OccupiedHeatingSetpoint
28
- *
29
- * @generated from field: sint32 occupied_heating_setpoint = 2;
25
+ * @generated from field: optional sint32 occupied_heating_setpoint = 2;
30
26
  */
31
- occupiedHeatingSetpoint: number;
27
+ occupiedHeatingSetpoint?: number | undefined;
32
28
 
33
29
  /**
34
- * OccupiedCoolingSetpoint
35
- *
36
- * @generated from field: sint32 occupied_cooling_setpoint = 3;
30
+ * @generated from field: optional sint32 occupied_cooling_setpoint = 3;
37
31
  */
38
- occupiedCoolingSetpoint: number;
32
+ occupiedCoolingSetpoint?: number | undefined;
39
33
 
40
34
  /**
41
- * MinHeatSetpointLimit — property-owner constraint
35
+ * Property-owner constraint
42
36
  *
43
- * @generated from field: sint32 min_heat_setpoint_limit = 4;
37
+ * @generated from field: optional sint32 min_heat_setpoint_limit = 4;
44
38
  */
45
- minHeatSetpointLimit: number;
39
+ minHeatSetpointLimit?: number | undefined;
46
40
 
47
41
  /**
48
- * MaxHeatSetpointLimit — property-owner constraint
42
+ * Property-owner constraint
49
43
  *
50
- * @generated from field: sint32 max_heat_setpoint_limit = 5;
44
+ * @generated from field: optional sint32 max_heat_setpoint_limit = 5;
51
45
  */
52
- maxHeatSetpointLimit: number;
46
+ maxHeatSetpointLimit?: number | undefined;
53
47
 
54
48
  /**
55
- * MinCoolSetpointLimit
56
- *
57
- * @generated from field: sint32 min_cool_setpoint_limit = 6;
49
+ * @generated from field: optional sint32 min_cool_setpoint_limit = 6;
58
50
  */
59
- minCoolSetpointLimit: number;
51
+ minCoolSetpointLimit?: number | undefined;
60
52
 
61
53
  /**
62
- * MaxCoolSetpointLimit
63
- *
64
- * @generated from field: sint32 max_cool_setpoint_limit = 7;
54
+ * @generated from field: optional sint32 max_cool_setpoint_limit = 7;
65
55
  */
66
- maxCoolSetpointLimit: number;
56
+ maxCoolSetpointLimit?: number | undefined;
67
57
 
68
58
  /**
69
- * ControlSequenceOfOperation enum
70
- *
71
- * @generated from field: uint32 control_sequence_of_operation = 8;
59
+ * @generated from field: optional uint32 control_sequence_of_operation = 8;
72
60
  */
73
- controlSequenceOfOperation: number;
61
+ controlSequenceOfOperation?: number | undefined;
74
62
 
75
63
  /**
76
64
  * SystemMode: Off=0,Auto=1,Cool=3,Heat=4,EmHeat=5
77
65
  *
78
- * @generated from field: uint32 system_mode = 9;
66
+ * @generated from field: optional uint32 system_mode = 9;
79
67
  */
80
- systemMode: number;
68
+ systemMode?: number | undefined;
81
69
 
82
70
  /**
83
- * ThermostatRunningMode
84
- *
85
- * @generated from field: uint32 thermostat_running_mode = 10;
71
+ * @generated from field: optional uint32 thermostat_running_mode = 10;
86
72
  */
87
- thermostatRunningMode: number;
73
+ thermostatRunningMode?: number | undefined;
88
74
  };
89
75
 
90
76
  /**
@@ -94,38 +80,30 @@ export declare type ThermostatProperties = Message<"kusinta.iot.device.v1.Thermo
94
80
  export declare const ThermostatPropertiesSchema: GenMessage<ThermostatProperties>;
95
81
 
96
82
  /**
97
- * Matter Temperature Measurement cluster (0x0402) — device type 0x0302
83
+ * Matter Temperature Measurement cluster (0x0402)
98
84
  *
99
85
  * @generated from message kusinta.iot.device.v1.TemperatureSensorProperties
100
86
  */
101
87
  export declare type TemperatureSensorProperties = Message<"kusinta.iot.device.v1.TemperatureSensorProperties"> & {
102
88
  /**
103
- * MeasuredValue
104
- *
105
- * @generated from field: sint32 measured_value = 1;
89
+ * @generated from field: optional sint32 measured_value = 1;
106
90
  */
107
- measuredValue: number;
91
+ measuredValue?: number | undefined;
108
92
 
109
93
  /**
110
- * MinMeasuredValue
111
- *
112
- * @generated from field: sint32 min_measured_value = 2;
94
+ * @generated from field: optional sint32 min_measured_value = 2;
113
95
  */
114
- minMeasuredValue: number;
96
+ minMeasuredValue?: number | undefined;
115
97
 
116
98
  /**
117
- * MaxMeasuredValue
118
- *
119
- * @generated from field: sint32 max_measured_value = 3;
99
+ * @generated from field: optional sint32 max_measured_value = 3;
120
100
  */
121
- maxMeasuredValue: number;
101
+ maxMeasuredValue?: number | undefined;
122
102
 
123
103
  /**
124
- * Tolerance
125
- *
126
- * @generated from field: uint32 tolerance = 4;
104
+ * @generated from field: optional uint32 tolerance = 4;
127
105
  */
128
- tolerance: number;
106
+ tolerance?: number | undefined;
129
107
  };
130
108
 
131
109
  /**
@@ -135,32 +113,32 @@ export declare type TemperatureSensorProperties = Message<"kusinta.iot.device.v1
135
113
  export declare const TemperatureSensorPropertiesSchema: GenMessage<TemperatureSensorProperties>;
136
114
 
137
115
  /**
138
- * Matter Relative Humidity Measurement cluster (0x0405) — device type 0x0307
116
+ * Matter Relative Humidity Measurement cluster (0x0405)
139
117
  *
140
118
  * @generated from message kusinta.iot.device.v1.HumiditySensorProperties
141
119
  */
142
120
  export declare type HumiditySensorProperties = Message<"kusinta.iot.device.v1.HumiditySensorProperties"> & {
143
121
  /**
144
- * MeasuredValue (% × 100, 0–10000)
122
+ * % × 100, 0–10000
145
123
  *
146
- * @generated from field: uint32 measured_value = 1;
124
+ * @generated from field: optional uint32 measured_value = 1;
147
125
  */
148
- measuredValue: number;
126
+ measuredValue?: number | undefined;
149
127
 
150
128
  /**
151
- * @generated from field: uint32 min_measured_value = 2;
129
+ * @generated from field: optional uint32 min_measured_value = 2;
152
130
  */
153
- minMeasuredValue: number;
131
+ minMeasuredValue?: number | undefined;
154
132
 
155
133
  /**
156
- * @generated from field: uint32 max_measured_value = 3;
134
+ * @generated from field: optional uint32 max_measured_value = 3;
157
135
  */
158
- maxMeasuredValue: number;
136
+ maxMeasuredValue?: number | undefined;
159
137
 
160
138
  /**
161
- * @generated from field: uint32 tolerance = 4;
139
+ * @generated from field: optional uint32 tolerance = 4;
162
140
  */
163
- tolerance: number;
141
+ tolerance?: number | undefined;
164
142
  };
165
143
 
166
144
  /**
@@ -170,7 +148,7 @@ export declare type HumiditySensorProperties = Message<"kusinta.iot.device.v1.Hu
170
148
  export declare const HumiditySensorPropertiesSchema: GenMessage<HumiditySensorProperties>;
171
149
 
172
150
  /**
173
- * Matter Occupancy Sensing cluster (0x0406) — device type 0x0107
151
+ * Matter Occupancy Sensing cluster (0x0406)
174
152
  *
175
153
  * @generated from message kusinta.iot.device.v1.OccupancySensorProperties
176
154
  */
@@ -178,31 +156,31 @@ export declare type OccupancySensorProperties = Message<"kusinta.iot.device.v1.O
178
156
  /**
179
157
  * Occupancy bitmask: bit 0 = occupied
180
158
  *
181
- * @generated from field: uint32 occupancy = 1;
159
+ * @generated from field: optional uint32 occupancy = 1;
182
160
  */
183
- occupancy: number;
161
+ occupancy?: number | undefined;
184
162
 
185
163
  /**
186
164
  * OccupancySensorType: PIR=0,Ultrasonic=1,PIRandUS=2,PhysicalContact=3
187
165
  *
188
- * @generated from field: uint32 occupancy_sensor_type = 2;
166
+ * @generated from field: optional uint32 occupancy_sensor_type = 2;
189
167
  */
190
- occupancySensorType: number;
168
+ occupancySensorType?: number | undefined;
191
169
 
192
170
  /**
193
- * @generated from field: uint32 occupancy_sensor_type_bitmap = 3;
171
+ * @generated from field: optional uint32 occupancy_sensor_type_bitmap = 3;
194
172
  */
195
- occupancySensorTypeBitmap: number;
173
+ occupancySensorTypeBitmap?: number | undefined;
196
174
 
197
175
  /**
198
- * @generated from field: uint32 pir_occ_to_unocc_delay = 4;
176
+ * @generated from field: optional uint32 pir_occupied_to_unoccupied_delay = 4;
199
177
  */
200
- pirOccToUnoccDelay: number;
178
+ pirOccupiedToUnoccupiedDelay?: number | undefined;
201
179
 
202
180
  /**
203
- * @generated from field: uint32 pir_unocc_to_occ_delay = 5;
181
+ * @generated from field: optional uint32 pir_unoccupied_to_occupied_delay = 5;
204
182
  */
205
- pirUnoccToOccDelay: number;
183
+ pirUnoccupiedToOccupiedDelay?: number | undefined;
206
184
  };
207
185
 
208
186
  /**
@@ -212,7 +190,7 @@ export declare type OccupancySensorProperties = Message<"kusinta.iot.device.v1.O
212
190
  export declare const OccupancySensorPropertiesSchema: GenMessage<OccupancySensorProperties>;
213
191
 
214
192
  /**
215
- * Matter Boolean State cluster (0x0045) — device type 0x0015 (Contact Sensor)
193
+ * Matter Boolean State cluster (0x0045)
216
194
  *
217
195
  * @generated from message kusinta.iot.device.v1.ContactSensorProperties
218
196
  */
@@ -220,9 +198,9 @@ export declare type ContactSensorProperties = Message<"kusinta.iot.device.v1.Con
220
198
  /**
221
199
  * StateValue: false = contact open (alarm), true = contact closed (normal)
222
200
  *
223
- * @generated from field: bool state_value = 1;
201
+ * @generated from field: optional bool state_value = 1;
224
202
  */
225
- stateValue: boolean;
203
+ stateValue?: boolean | undefined;
226
204
  };
227
205
 
228
206
  /**
@@ -232,54 +210,58 @@ export declare type ContactSensorProperties = Message<"kusinta.iot.device.v1.Con
232
210
  export declare const ContactSensorPropertiesSchema: GenMessage<ContactSensorProperties>;
233
211
 
234
212
  /**
235
- * Matter Window Covering cluster (0x0102) — device type 0x0202
213
+ * Matter Window Covering cluster (0x0102)
236
214
  *
237
215
  * @generated from message kusinta.iot.device.v1.WindowCoveringProperties
238
216
  */
239
217
  export declare type WindowCoveringProperties = Message<"kusinta.iot.device.v1.WindowCoveringProperties"> & {
240
218
  /**
241
- * @generated from field: uint32 covering_type = 1;
219
+ * The Matter attribute is the bare "Type"; the field keeps a qualified name because
220
+ * `type` is a poor field name and keyword-adjacent in several target languages. The
221
+ * mapping is in (matter_attribute), so the divergence costs consumers nothing.
222
+ *
223
+ * @generated from field: optional uint32 covering_type = 1;
242
224
  */
243
- coveringType: number;
225
+ coveringType?: number | undefined;
244
226
 
245
227
  /**
246
228
  * current_position_lift_percent100ths is the primary attribute in Matter 1.5.1 (0–10000)
247
229
  *
248
- * @generated from field: uint32 current_position_lift_percent100ths = 2;
230
+ * @generated from field: optional uint32 current_position_lift_percent100ths = 2;
249
231
  */
250
- currentPositionLiftPercent100ths: number;
232
+ currentPositionLiftPercent100ths?: number | undefined;
251
233
 
252
234
  /**
253
- * @generated from field: uint32 current_position_tilt_percent100ths = 3;
235
+ * @generated from field: optional uint32 current_position_tilt_percent100ths = 3;
254
236
  */
255
- currentPositionTiltPercent100ths: number;
237
+ currentPositionTiltPercent100ths?: number | undefined;
256
238
 
257
239
  /**
258
- * @generated from field: uint32 target_position_lift_percent100ths = 4;
240
+ * @generated from field: optional uint32 target_position_lift_percent100ths = 4;
259
241
  */
260
- targetPositionLiftPercent100ths: number;
242
+ targetPositionLiftPercent100ths?: number | undefined;
261
243
 
262
244
  /**
263
- * @generated from field: uint32 target_position_tilt_percent100ths = 5;
245
+ * @generated from field: optional uint32 target_position_tilt_percent100ths = 5;
264
246
  */
265
- targetPositionTiltPercent100ths: number;
247
+ targetPositionTiltPercent100ths?: number | undefined;
266
248
 
267
249
  /**
268
250
  * bitmask: global, lift, tilt
269
251
  *
270
- * @generated from field: uint32 operational_status = 6;
252
+ * @generated from field: optional uint32 operational_status = 6;
271
253
  */
272
- operationalStatus: number;
254
+ operationalStatus?: number | undefined;
273
255
 
274
256
  /**
275
- * @generated from field: uint32 end_product_type = 7;
257
+ * @generated from field: optional uint32 end_product_type = 7;
276
258
  */
277
- endProductType: number;
259
+ endProductType?: number | undefined;
278
260
 
279
261
  /**
280
- * @generated from field: uint32 mode = 8;
262
+ * @generated from field: optional uint32 mode = 8;
281
263
  */
282
- mode: number;
264
+ mode?: number | undefined;
283
265
  };
284
266
 
285
267
  /**
@@ -289,7 +271,7 @@ export declare type WindowCoveringProperties = Message<"kusinta.iot.device.v1.Wi
289
271
  export declare const WindowCoveringPropertiesSchema: GenMessage<WindowCoveringProperties>;
290
272
 
291
273
  /**
292
- * Matter Door Lock cluster (0x0101) — device type 0x000A
274
+ * Matter Door Lock cluster (0x0101 — a cluster ID, not the 0x0101 Dimmable Light device type)
293
275
  *
294
276
  * @generated from message kusinta.iot.device.v1.DoorLockProperties
295
277
  */
@@ -297,37 +279,31 @@ export declare type DoorLockProperties = Message<"kusinta.iot.device.v1.DoorLock
297
279
  /**
298
280
  * LockState: NotFullyLocked=0,Locked=1,Unlocked=2,Unlatched=3
299
281
  *
300
- * @generated from field: uint32 lock_state = 1;
282
+ * @generated from field: optional uint32 lock_state = 1;
301
283
  */
302
- lockState: number;
284
+ lockState?: number | undefined;
303
285
 
304
286
  /**
305
- * LockType enum
306
- *
307
- * @generated from field: uint32 lock_type = 2;
287
+ * @generated from field: optional uint32 lock_type = 2;
308
288
  */
309
- lockType: number;
289
+ lockType?: number | undefined;
310
290
 
311
291
  /**
312
- * ActuatorEnabled
313
- *
314
- * @generated from field: bool actuator_enabled = 3;
292
+ * @generated from field: optional bool actuator_enabled = 3;
315
293
  */
316
- actuatorEnabled: boolean;
294
+ actuatorEnabled?: boolean | undefined;
317
295
 
318
296
  /**
319
- * DoorState (requires door sensor hardware)
297
+ * Requires door sensor hardware
320
298
  *
321
- * @generated from field: uint32 door_state = 4;
299
+ * @generated from field: optional uint32 door_state = 4;
322
300
  */
323
- doorState: number;
301
+ doorState?: number | undefined;
324
302
 
325
303
  /**
326
- * OperatingMode
327
- *
328
- * @generated from field: uint32 operating_mode = 5;
304
+ * @generated from field: optional uint32 operating_mode = 5;
329
305
  */
330
- operatingMode: number;
306
+ operatingMode?: number | undefined;
331
307
  };
332
308
 
333
309
  /**
@@ -337,45 +313,35 @@ export declare type DoorLockProperties = Message<"kusinta.iot.device.v1.DoorLock
337
313
  export declare const DoorLockPropertiesSchema: GenMessage<DoorLockProperties>;
338
314
 
339
315
  /**
340
- * Matter On/Off cluster (0x0006) — device type 0x0100 (On/Off Light)
316
+ * Matter On/Off cluster (0x0006)
341
317
  *
342
318
  * @generated from message kusinta.iot.device.v1.OnOffLightProperties
343
319
  */
344
320
  export declare type OnOffLightProperties = Message<"kusinta.iot.device.v1.OnOffLightProperties"> & {
345
321
  /**
346
- * OnOff
347
- *
348
- * @generated from field: bool on_off = 1;
322
+ * @generated from field: optional bool on_off = 1;
349
323
  */
350
- onOff: boolean;
324
+ onOff?: boolean | undefined;
351
325
 
352
326
  /**
353
- * GlobalSceneControl
354
- *
355
- * @generated from field: bool global_scene_control = 2;
327
+ * @generated from field: optional bool global_scene_control = 2;
356
328
  */
357
- globalSceneControl: boolean;
329
+ globalSceneControl?: boolean | undefined;
358
330
 
359
331
  /**
360
- * OnTime
361
- *
362
- * @generated from field: uint32 on_time = 3;
332
+ * @generated from field: optional uint32 on_time = 3;
363
333
  */
364
- onTime: number;
334
+ onTime?: number | undefined;
365
335
 
366
336
  /**
367
- * OffWaitTime
368
- *
369
- * @generated from field: uint32 off_wait_time = 4;
337
+ * @generated from field: optional uint32 off_wait_time = 4;
370
338
  */
371
- offWaitTime: number;
339
+ offWaitTime?: number | undefined;
372
340
 
373
341
  /**
374
- * StartUpOnOff
375
- *
376
- * @generated from field: uint32 start_up_on_off = 5;
342
+ * @generated from field: optional uint32 start_up_on_off = 5;
377
343
  */
378
- startUpOnOff: number;
344
+ startUpOnOff?: number | undefined;
379
345
  };
380
346
 
381
347
  /**
@@ -385,57 +351,47 @@ export declare type OnOffLightProperties = Message<"kusinta.iot.device.v1.OnOffL
385
351
  export declare const OnOffLightPropertiesSchema: GenMessage<OnOffLightProperties>;
386
352
 
387
353
  /**
388
- * Matter On/Off + Level Control cluster (0x0008) — device type 0x010B (Dimmable Light)
354
+ * Matter On/Off (0x0006) + Level Control (0x0008) clusters
389
355
  *
390
356
  * @generated from message kusinta.iot.device.v1.DimmableLightProperties
391
357
  */
392
358
  export declare type DimmableLightProperties = Message<"kusinta.iot.device.v1.DimmableLightProperties"> & {
393
359
  /**
394
- * @generated from field: bool on_off = 1;
360
+ * @generated from field: optional bool on_off = 1;
395
361
  */
396
- onOff: boolean;
362
+ onOff?: boolean | undefined;
397
363
 
398
364
  /**
399
365
  * CurrentLevel (0–254)
400
366
  *
401
- * @generated from field: uint32 current_level = 2;
367
+ * @generated from field: optional uint32 current_level = 2;
402
368
  */
403
- currentLevel: number;
369
+ currentLevel?: number | undefined;
404
370
 
405
371
  /**
406
- * MinLevel
407
- *
408
- * @generated from field: uint32 min_level = 3;
372
+ * @generated from field: optional uint32 min_level = 3;
409
373
  */
410
- minLevel: number;
374
+ minLevel?: number | undefined;
411
375
 
412
376
  /**
413
- * MaxLevel
414
- *
415
- * @generated from field: uint32 max_level = 4;
377
+ * @generated from field: optional uint32 max_level = 4;
416
378
  */
417
- maxLevel: number;
379
+ maxLevel?: number | undefined;
418
380
 
419
381
  /**
420
- * OnLevel
421
- *
422
- * @generated from field: uint32 on_level = 5;
382
+ * @generated from field: optional uint32 on_level = 5;
423
383
  */
424
- onLevel: number;
384
+ onLevel?: number | undefined;
425
385
 
426
386
  /**
427
- * StartUpCurrentLevel
428
- *
429
- * @generated from field: uint32 start_up_current_level = 6;
387
+ * @generated from field: optional uint32 start_up_current_level = 6;
430
388
  */
431
- startUpCurrentLevel: number;
389
+ startUpCurrentLevel?: number | undefined;
432
390
 
433
391
  /**
434
- * RemainingTime
435
- *
436
- * @generated from field: uint32 remaining_time = 7;
392
+ * @generated from field: optional uint32 remaining_time = 7;
437
393
  */
438
- remainingTime: number;
394
+ remainingTime?: number | undefined;
439
395
  };
440
396
 
441
397
  /**
@@ -445,55 +401,45 @@ export declare type DimmableLightProperties = Message<"kusinta.iot.device.v1.Dim
445
401
  export declare const DimmableLightPropertiesSchema: GenMessage<DimmableLightProperties>;
446
402
 
447
403
  /**
448
- * Matter On/Off + Level + Color Control cluster (0x0300) — device type 0x010C
404
+ * Matter On/Off (0x0006) + Level Control (0x0008) + Color Control (0x0300) clusters
449
405
  *
450
406
  * @generated from message kusinta.iot.device.v1.ColorTemperatureLightProperties
451
407
  */
452
408
  export declare type ColorTemperatureLightProperties = Message<"kusinta.iot.device.v1.ColorTemperatureLightProperties"> & {
453
409
  /**
454
- * @generated from field: bool on_off = 1;
410
+ * @generated from field: optional bool on_off = 1;
455
411
  */
456
- onOff: boolean;
412
+ onOff?: boolean | undefined;
457
413
 
458
414
  /**
459
- * @generated from field: uint32 current_level = 2;
415
+ * @generated from field: optional uint32 current_level = 2;
460
416
  */
461
- currentLevel: number;
417
+ currentLevel?: number | undefined;
462
418
 
463
419
  /**
464
- * ColorTemperatureMireds
465
- *
466
- * @generated from field: uint32 color_temperature_mireds = 3;
420
+ * @generated from field: optional uint32 color_temperature_mireds = 3;
467
421
  */
468
- colorTemperatureMireds: number;
422
+ colorTemperatureMireds?: number | undefined;
469
423
 
470
424
  /**
471
- * ColorTempPhysicalMinMireds
472
- *
473
- * @generated from field: uint32 color_temp_physical_min_mireds = 4;
425
+ * @generated from field: optional uint32 color_temp_physical_min_mireds = 4;
474
426
  */
475
- colorTempPhysicalMinMireds: number;
427
+ colorTempPhysicalMinMireds?: number | undefined;
476
428
 
477
429
  /**
478
- * ColorTempPhysicalMaxMireds
479
- *
480
- * @generated from field: uint32 color_temp_physical_max_mireds = 5;
430
+ * @generated from field: optional uint32 color_temp_physical_max_mireds = 5;
481
431
  */
482
- colorTempPhysicalMaxMireds: number;
432
+ colorTempPhysicalMaxMireds?: number | undefined;
483
433
 
484
434
  /**
485
- * StartUpColorTemperatureMireds
486
- *
487
- * @generated from field: uint32 startup_color_temperature_mireds = 6;
435
+ * @generated from field: optional uint32 startup_color_temperature_mireds = 6;
488
436
  */
489
- startupColorTemperatureMireds: number;
437
+ startupColorTemperatureMireds?: number | undefined;
490
438
 
491
439
  /**
492
- * ColorMode
493
- *
494
- * @generated from field: uint32 color_mode = 7;
440
+ * @generated from field: optional uint32 color_mode = 7;
495
441
  */
496
- colorMode: number;
442
+ colorMode?: number | undefined;
497
443
  };
498
444
 
499
445
  /**
@@ -503,38 +449,59 @@ export declare type ColorTemperatureLightProperties = Message<"kusinta.iot.devic
503
449
  export declare const ColorTemperatureLightPropertiesSchema: GenMessage<ColorTemperatureLightProperties>;
504
450
 
505
451
  /**
506
- * Matter Electrical Measurement cluster (0x0B04) — device type 0x0510
452
+ * Matter Electrical Power Measurement cluster (0x0090)
453
+ *
454
+ * Was Zigbee ElectricalMeasurement (0x0B04) with that cluster's RMS* attribute names;
455
+ * 0x0B04 does not exist in Matter, so a Matter connector could never have produced a
456
+ * PropertyUpdate that resolved here.
457
+ *
458
+ * Values are Matter's own units and width: sint64 in mW / mV / mA / mHz. A connector
459
+ * forwards what the cluster reports without rescaling, which is the point — the earlier
460
+ * int32/uint32 fields used this schema's own scaling (whole watts, volts × 10, amps × 1000,
461
+ * Hz × 100) while their (matter_attribute) claimed to carry the Matter attribute, so every
462
+ * connector had to divide, every consumer trusting the annotation was wrong by 10× to 1000×,
463
+ * and sub-watt resolution was gone before the value reached the wire. In Matter's mW an
464
+ * int32 caps at ~2.1 kW, so the unit and the width had to move together.
465
+ *
466
+ * Signed throughout, matching the cluster: active_power and active_current go negative on
467
+ * export. sint64 rather than int64 because zigzag keeps negatives at 1-5 bytes instead of
468
+ * the fixed 10 that int64 spends on any negative value.
469
+ *
470
+ * Matter types these as nullable. This schema has no presence anywhere in properties, so 0
471
+ * still means "not reported" rather than "measured zero" — unchanged, and untidy for a
472
+ * quantity that can legitimately read zero. Treat 0 as absent for these four; introducing
473
+ * presence is a schema-wide decision, not a per-message one.
507
474
  *
508
475
  * @generated from message kusinta.iot.device.v1.EnergySensorProperties
509
476
  */
510
477
  export declare type EnergySensorProperties = Message<"kusinta.iot.device.v1.EnergySensorProperties"> & {
511
478
  /**
512
- * ActivePower (watts)
479
+ * Milliwatts, negative on export
513
480
  *
514
- * @generated from field: int32 active_power = 1;
481
+ * @generated from field: optional sint64 active_power = 5;
515
482
  */
516
- activePower: number;
483
+ activePower?: bigint | undefined;
517
484
 
518
485
  /**
519
- * RmsVoltage (volts × 10)
486
+ * Millivolts
520
487
  *
521
- * @generated from field: uint32 rms_voltage = 2;
488
+ * @generated from field: optional sint64 voltage = 6;
522
489
  */
523
- rmsVoltage: number;
490
+ voltage?: bigint | undefined;
524
491
 
525
492
  /**
526
- * RmsCurrent (amps × 1000)
493
+ * Milliamps, negative on export
527
494
  *
528
- * @generated from field: uint32 rms_current = 3;
495
+ * @generated from field: optional sint64 active_current = 7;
529
496
  */
530
- rmsCurrent: number;
497
+ activeCurrent?: bigint | undefined;
531
498
 
532
499
  /**
533
- * AcFrequency (Hz × 100)
500
+ * Millihertz
534
501
  *
535
- * @generated from field: uint32 ac_frequency = 4;
502
+ * @generated from field: optional sint64 frequency = 8;
536
503
  */
537
- acFrequency: number;
504
+ frequency?: bigint | undefined;
538
505
  };
539
506
 
540
507
  /**
@@ -544,32 +511,32 @@ export declare type EnergySensorProperties = Message<"kusinta.iot.device.v1.Ener
544
511
  export declare const EnergySensorPropertiesSchema: GenMessage<EnergySensorProperties>;
545
512
 
546
513
  /**
547
- * Matter Pressure Measurement cluster (0x0403) — device type 0x0305
514
+ * Matter Pressure Measurement cluster (0x0403)
548
515
  *
549
516
  * @generated from message kusinta.iot.device.v1.PressureSensorProperties
550
517
  */
551
518
  export declare type PressureSensorProperties = Message<"kusinta.iot.device.v1.PressureSensorProperties"> & {
552
519
  /**
553
- * MeasuredValue (kPa × 10)
520
+ * kPa × 10
554
521
  *
555
- * @generated from field: sint32 measured_value = 1;
522
+ * @generated from field: optional sint32 measured_value = 1;
556
523
  */
557
- measuredValue: number;
524
+ measuredValue?: number | undefined;
558
525
 
559
526
  /**
560
- * @generated from field: sint32 min_measured_value = 2;
527
+ * @generated from field: optional sint32 min_measured_value = 2;
561
528
  */
562
- minMeasuredValue: number;
529
+ minMeasuredValue?: number | undefined;
563
530
 
564
531
  /**
565
- * @generated from field: sint32 max_measured_value = 3;
532
+ * @generated from field: optional sint32 max_measured_value = 3;
566
533
  */
567
- maxMeasuredValue: number;
534
+ maxMeasuredValue?: number | undefined;
568
535
 
569
536
  /**
570
- * @generated from field: uint32 tolerance = 4;
537
+ * @generated from field: optional uint32 tolerance = 4;
571
538
  */
572
- tolerance: number;
539
+ tolerance?: number | undefined;
573
540
  };
574
541
 
575
542
  /**