mclimate-payload-helper 1.2.13 → 1.2.15

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.
@@ -192,88 +192,141 @@ exports.Co2PirLiteEnums = {
192
192
  const GeneralCommandSchemas = {
193
193
  customHexCommand: zod_1.z.object({
194
194
  command: zod_1.z.string().regex(/^[0-9A-Fa-f]+$/, 'Must be a valid hex string'),
195
+ commandNumber: zod_1.z.string().optional(),
195
196
  }),
196
197
  setKeepAlive: zod_1.z.object({
197
198
  time: zod_1.z.number().int().min(1).max(255),
199
+ commandNumber: zod_1.z.string().optional().default('02'),
200
+ }),
201
+ getKeepAlive: zod_1.z.object({
202
+ commandNumber: zod_1.z.string().optional().default('12'),
198
203
  }),
199
- getKeepAlive: zod_1.z.object({}),
200
204
  setJoinRetryPeriod: zod_1.z.object({
201
205
  period: zod_1.z.number().int().min(1).max(21),
206
+ commandNumber: zod_1.z.string().optional().default('10'),
207
+ }),
208
+ getJoinRetryPeriod: zod_1.z.object({
209
+ commandNumber: zod_1.z.string().optional().default('19'),
202
210
  }),
203
- getJoinRetryPeriod: zod_1.z.object({}),
204
211
  setUplinkType: zod_1.z.object({
205
212
  type: zod_1.z.enum(['01', '00']),
213
+ commandNumber: zod_1.z.string().optional().default('11'),
214
+ }),
215
+ getUplinkType: zod_1.z.object({
216
+ commandNumber: zod_1.z.string().optional().default('1b'),
206
217
  }),
207
- getUplinkType: zod_1.z.object({}),
208
218
  setWatchDogParams: zod_1.z.object({
209
219
  confirmedUplinks: zod_1.z.number().int().min(0).max(255),
210
220
  unconfirmedUplinks: zod_1.z.number().int().min(0).max(255),
221
+ commandNumber: zod_1.z.string().optional().default('1c'),
222
+ }),
223
+ getWatchDogParams: zod_1.z.object({
224
+ commandNumber: zod_1.z.string().optional().default('1d'),
225
+ }),
226
+ getRegion: zod_1.z.object({
227
+ commandNumber: zod_1.z.string().optional().default('a4'),
211
228
  }),
212
- getWatchDogParams: zod_1.z.object({}),
213
229
  };
214
230
  /* ---------------------------------------CHILD LOCK COMMANDS--------------------------------------- */
215
231
  const ChildLockCommandSchemas = {
216
232
  setChildLock: zod_1.z.object({
217
233
  enabled: zod_1.z.boolean(),
234
+ commandNumber: zod_1.z.string().optional().default('07'),
235
+ }),
236
+ getChildLock: zod_1.z.object({
237
+ commandNumber: zod_1.z.string().optional().default('14'),
218
238
  }),
219
- getChildLock: zod_1.z.object({}),
220
239
  };
221
240
  /* ---------------------------------------TEMPERATURE COMMANDS--------------------------------------- */
222
241
  const TemperatureCommandSchemas = {
223
242
  setTemperatureRange: zod_1.z.object({
224
243
  min: zod_1.z.number().min(5).max(30),
225
244
  max: zod_1.z.number().min(5).max(30),
245
+ commandNumber: zod_1.z.string().optional().default('08'),
246
+ }),
247
+ getTargetTemperature: zod_1.z.object({
248
+ commandNumber: zod_1.z.string().optional().default('2f'),
226
249
  }),
227
- getTargetTemperature: zod_1.z.object({}),
228
250
  };
229
251
  /* ---------------------------------------PIR COMMANDS--------------------------------------- */
230
252
  const PIRCommandSchemas = {
231
253
  setPIRSensorStatus: zod_1.z.object({
232
254
  state: zod_1.z.number().min(0).max(1), // 0: disabled, 1: enabled
255
+ commandNumber: zod_1.z.string().optional().default('3c'),
256
+ }),
257
+ getPIRSensorStatus: zod_1.z.object({
258
+ commandNumber: zod_1.z.string().optional().default('3d'),
233
259
  }),
234
- getPIRSensorStatus: zod_1.z.object({}),
235
260
  setPIRSensorSensitivity: zod_1.z.object({
236
261
  sensitivity: zod_1.z.number().min(12).max(255),
262
+ commandNumber: zod_1.z.string().optional().default('3e'),
263
+ }),
264
+ getPIRSensorSensitivity: zod_1.z.object({
265
+ commandNumber: zod_1.z.string().optional().default('3f'),
237
266
  }),
238
- getPIRSensorSensitivity: zod_1.z.object({}),
239
267
  setPIRInitPeriod: zod_1.z.object({
240
268
  time: zod_1.z.number().min(0).max(255),
269
+ commandNumber: zod_1.z.string().optional().default('46'),
241
270
  }),
242
271
  setPIRMeasurementPeriod: zod_1.z.object({
243
272
  time: zod_1.z.number().min(3).max(255),
273
+ commandNumber: zod_1.z.string().optional().default('48'),
244
274
  }),
245
275
  setPIRCheckPeriod: zod_1.z.object({
246
276
  time: zod_1.z.number().min(0).max(65535),
277
+ commandNumber: zod_1.z.string().optional().default('4a'),
247
278
  }),
248
279
  setPIRBlindPeriod: zod_1.z.object({
249
280
  time: zod_1.z.number().min(15).max(65535),
281
+ commandNumber: zod_1.z.string().optional().default('4c'),
282
+ }),
283
+ getPIRInitPeriod: zod_1.z.object({
284
+ commandNumber: zod_1.z.string().optional().default('47'),
285
+ }),
286
+ getPIRMeasurementPeriod: zod_1.z.object({
287
+ commandNumber: zod_1.z.string().optional().default('49'),
288
+ }),
289
+ getPIRCheckPeriod: zod_1.z.object({
290
+ commandNumber: zod_1.z.string().optional().default('4b'),
291
+ }),
292
+ getPIRBlindPeriod: zod_1.z.object({
293
+ commandNumber: zod_1.z.string().optional().default('4d'),
250
294
  }),
251
- getPIRInitPeriod: zod_1.z.object({}),
252
- getPIRMeasurementPeriod: zod_1.z.object({}),
253
- getPIRCheckPeriod: zod_1.z.object({}),
254
- getPIRBlindPeriod: zod_1.z.object({}),
255
295
  };
256
296
  /* ---------------------------------------DISPLAY COMMANDS--------------------------------------- */
257
297
  const DisplayCommandSchemas = {
258
298
  setDisplayRefreshPeriod: zod_1.z.object({
259
299
  period: zod_1.z.number().min(1).max(24),
300
+ commandNumber: zod_1.z.string().optional().default('33'),
301
+ }),
302
+ getDisplayRefreshPeriod: zod_1.z.object({
303
+ commandNumber: zod_1.z.string().optional().default('34'),
260
304
  }),
261
- getDisplayRefreshPeriod: zod_1.z.object({}),
262
305
  setDeepSleepMode: zod_1.z.object({
263
306
  state: zod_1.z.number().min(1).max(1),
307
+ commandNumber: zod_1.z.string().optional().default('3b'),
264
308
  }),
265
309
  setHumidityVisibility: zod_1.z.object({
266
310
  state: zod_1.z.number().min(0).max(1), // 0: hide, 1: show
311
+ commandNumber: zod_1.z.string().optional().default('42'),
312
+ }),
313
+ getHumidityVisibility: zod_1.z.object({
314
+ commandNumber: zod_1.z.string().optional().default('43'),
267
315
  }),
268
- getHumidityVisibility: zod_1.z.object({}),
269
316
  setLightIntensityVisibility: zod_1.z.object({
270
317
  state: zod_1.z.number().min(0).max(1), // 0: hide, 1: show
318
+ commandNumber: zod_1.z.string().optional().default('44'),
319
+ }),
320
+ getLightIntensityVisibility: zod_1.z.object({
321
+ commandNumber: zod_1.z.string().optional().default('45'),
271
322
  }),
272
- getLightIntensityVisibility: zod_1.z.object({}),
273
323
  setCurrentTemperatureVisibility: zod_1.z.object({
274
324
  state: zod_1.z.number().min(0).max(1), // 0: hide, 1: show
325
+ commandNumber: zod_1.z.string().optional().default('40'),
326
+ }),
327
+ getCurrentTemperatureVisibility: zod_1.z.object({
328
+ commandNumber: zod_1.z.string().optional().default('41'),
275
329
  }),
276
- getCurrentTemperatureVisibility: zod_1.z.object({}),
277
330
  };
278
331
  /* ---------------------------------------VICKI COMMANDS--------------------------------------- */
279
332
  const VickiCommandSchemas = Object.assign(Object.assign(Object.assign(Object.assign({}, GeneralCommandSchemas), TemperatureCommandSchemas), ChildLockCommandSchemas), { setOpenWindow: zod_1.z.object({
@@ -281,73 +334,148 @@ const VickiCommandSchemas = Object.assign(Object.assign(Object.assign(Object.ass
281
334
  delta: zod_1.z.number().min(0).max(15),
282
335
  closeTime: zod_1.z.number().min(0).max(51),
283
336
  motorPosition: zod_1.z.number().int().min(0).max(800),
284
- }), getOpenWindowParams: zod_1.z.object({}), recalibrateMotor: zod_1.z.object({}), forceClose: zod_1.z.object({}), setInternalAlgoParams: zod_1.z.object({
337
+ commandNumber: zod_1.z.string().optional().default('06'),
338
+ }), getOpenWindowParams: zod_1.z.object({
339
+ commandNumber: zod_1.z.string().optional().default('13'),
340
+ }), recalibrateMotor: zod_1.z.object({
341
+ commandNumber: zod_1.z.string().optional().default('03'),
342
+ }), forceClose: zod_1.z.object({
343
+ commandNumber: zod_1.z.string().optional().default('0b'),
344
+ }), setInternalAlgoParams: zod_1.z.object({
285
345
  period: zod_1.z.number().int().min(0).max(255),
286
346
  pFirstLast: zod_1.z.number().int().min(0).max(255),
287
347
  pNext: zod_1.z.number().int().min(0).max(255),
288
- }), getInternalAlgoParams: zod_1.z.object({}), setOperationalMode: zod_1.z.object({
348
+ commandNumber: zod_1.z.string().optional().default('0c'),
349
+ }), getInternalAlgoParams: zod_1.z.object({
350
+ commandNumber: zod_1.z.string().optional().default('16'),
351
+ }), setOperationalMode: zod_1.z.object({
289
352
  mode: zod_1.z.enum(['00', '01', '02']),
290
- }), getOperationalMode: zod_1.z.object({}), setTargetTemperature: zod_1.z.object({
353
+ commandNumber: zod_1.z.string().optional().default('0d'),
354
+ }), getOperationalMode: zod_1.z.object({
355
+ commandNumber: zod_1.z.string().optional().default('18'),
356
+ }), setTargetTemperature: zod_1.z.object({
291
357
  targetTemperature: zod_1.z.number().min(5).max(30),
358
+ commandNumber: zod_1.z.string().optional().default('0e'),
292
359
  }), setExternalTemperature: zod_1.z.object({
293
360
  temp: zod_1.z.number().int().min(0).max(255),
294
- }), getExternalTemperature: zod_1.z.object({}), setInternalAlgoTdiffParams: zod_1.z.object({
361
+ commandNumber: zod_1.z.string().optional().default('0f'),
362
+ }), getExternalTemperature: zod_1.z.object({
363
+ commandNumber: zod_1.z.string().optional().default('44'),
364
+ }), setInternalAlgoTdiffParams: zod_1.z.object({
295
365
  cold: zod_1.z.number().int().min(0).max(255),
296
366
  warm: zod_1.z.number().int().min(0).max(255),
297
- }), getInternalAlgoTdiffParams: zod_1.z.object({}), setPrimaryOperationalMode: zod_1.z.object({
367
+ commandNumber: zod_1.z.string().optional().default('1a'),
368
+ }), getInternalAlgoTdiffParams: zod_1.z.object({
369
+ commandNumber: zod_1.z.string().optional().default('17'),
370
+ }), setPrimaryOperationalMode: zod_1.z.object({
298
371
  mode: zod_1.z.enum(['00', '01']),
299
- }), getPrimaryOperationalMode: zod_1.z.object({}), setBatteryRangesBoundaries: zod_1.z.object({
372
+ commandNumber: zod_1.z.string().optional().default('1e'),
373
+ }), getPrimaryOperationalMode: zod_1.z.object({
374
+ commandNumber: zod_1.z.string().optional().default('1f'),
375
+ }), setBatteryRangesBoundaries: zod_1.z.object({
300
376
  Boundary1: zod_1.z.number().int().min(0).max(65535),
301
377
  Boundary2: zod_1.z.number().int().min(0).max(65535),
302
378
  Boundary3: zod_1.z.number().int().min(0).max(65535),
379
+ commandNumber: zod_1.z.string().optional().default('20'),
303
380
  }), setBatteryRangesOverVoltage: zod_1.z.object({
304
381
  Range1: zod_1.z.number().int().min(0).max(255),
305
382
  Range2: zod_1.z.number().int().min(0).max(255),
306
383
  Range3: zod_1.z.number().int().min(0).max(255),
384
+ commandNumber: zod_1.z.string().optional().default('22'),
307
385
  }), setOvac: zod_1.z.object({
308
386
  ovac: zod_1.z.number().int().min(0).max(255),
309
- }), getOvac: zod_1.z.object({}), setProportionalAlgorithmParameters: zod_1.z.object({
387
+ commandNumber: zod_1.z.string().optional().default('26'),
388
+ }), getOvac: zod_1.z.object({
389
+ commandNumber: zod_1.z.string().optional().default('27'),
390
+ }), setProportionalAlgorithmParameters: zod_1.z.object({
310
391
  coefficient: zod_1.z.number().min(0).max(20),
311
392
  period: zod_1.z.number().int().min(0).max(255),
312
- }), getProportionalAlgorithmParameters: zod_1.z.object({}), setTemperatureControlAlgorithm: zod_1.z.object({
393
+ commandNumber: zod_1.z.string().optional().default('2a'),
394
+ }), getProportionalAlgorithmParameters: zod_1.z.object({
395
+ commandNumber: zod_1.z.string().optional().default('29'),
396
+ }), setTemperatureControlAlgorithm: zod_1.z.object({
313
397
  algorithm: zod_1.z.enum(['00', '01', '02']),
314
- }), getTemperatureControlAlgorithm: zod_1.z.object({}), setMotorPositionOnly: zod_1.z.object({
398
+ commandNumber: zod_1.z.string().optional().default('2c'),
399
+ }), getTemperatureControlAlgorithm: zod_1.z.object({
400
+ commandNumber: zod_1.z.string().optional().default('2b'),
401
+ }), setMotorPositionOnly: zod_1.z.object({
315
402
  position: zod_1.z.number().int().min(0).max(800),
316
- }), deviceReset: zod_1.z.object({}), setTargetTemperatureAndMotorPosition: zod_1.z.object({
403
+ commandNumber: zod_1.z.string().optional().default('2d'),
404
+ }), deviceReset: zod_1.z.object({
405
+ commandNumber: zod_1.z.string().optional().default('30'),
406
+ }), setTargetTemperatureAndMotorPosition: zod_1.z.object({
317
407
  motorPosition: zod_1.z.number().int().min(0).max(800),
318
408
  targetTemperature: zod_1.z.number().min(5).max(30),
409
+ commandNumber: zod_1.z.string().optional().default('31'),
319
410
  }), setChildLockBehavior: zod_1.z.object({
320
411
  behavior: zod_1.z.number().min(0).max(1),
321
- }), getChildLockBehavior: zod_1.z.object({}), setProportionalGain: zod_1.z.object({
412
+ commandNumber: zod_1.z.string().optional().default('35'),
413
+ }), getChildLockBehavior: zod_1.z.object({
414
+ commandNumber: zod_1.z.string().optional().default('34'),
415
+ }), setProportionalGain: zod_1.z.object({
322
416
  proportionalGain: zod_1.z.number().int().min(0).max(127),
323
- }), getProportionalGain: zod_1.z.object({}), setExternalTemperatureFloat: zod_1.z.object({
417
+ commandNumber: zod_1.z.string().optional().default('37'),
418
+ }), getProportionalGain: zod_1.z.object({
419
+ commandNumber: zod_1.z.string().optional().default('36'),
420
+ }), setExternalTemperatureFloat: zod_1.z.object({
324
421
  temp: zod_1.z.number().min(0.1).max(255.0).multipleOf(0.1),
422
+ commandNumber: zod_1.z.string().optional().default('3c'),
325
423
  }), setIntegralGain: zod_1.z.object({
326
424
  integralGain: zod_1.z.number().int().min(0).max(127),
327
- }), getIntegralGain: zod_1.z.object({}), getIntegralValue: zod_1.z.object({}), setPiRunPeriod: zod_1.z.object({
425
+ commandNumber: zod_1.z.string().optional().default('3e'),
426
+ }), getIntegralGain: zod_1.z.object({
427
+ commandNumber: zod_1.z.string().optional().default('3d'),
428
+ }), getIntegralValue: zod_1.z.object({
429
+ commandNumber: zod_1.z.string().optional().default('3f'),
430
+ }), setPiRunPeriod: zod_1.z.object({
328
431
  period: zod_1.z.number().int().min(0).max(255),
329
- }), getPiRunPeriod: zod_1.z.object({}), setTemperatureHysteresis: zod_1.z.object({
432
+ commandNumber: zod_1.z.string().optional().default('41'),
433
+ }), getPiRunPeriod: zod_1.z.object({
434
+ commandNumber: zod_1.z.string().optional().default('40'),
435
+ }), setTemperatureHysteresis: zod_1.z.object({
330
436
  hysteresis: zod_1.z.number().min(0.1).max(10.0).multipleOf(0.1),
331
- }), getTemperatureHysteresis: zod_1.z.object({}), setOpenWindowPrecisely: zod_1.z.object({
437
+ commandNumber: zod_1.z.string().optional().default('43'),
438
+ }), getTemperatureHysteresis: zod_1.z.object({
439
+ commandNumber: zod_1.z.string().optional().default('42'),
440
+ }), setOpenWindowPrecisely: zod_1.z.object({
332
441
  enabled: zod_1.z.boolean(),
333
442
  duration: zod_1.z.number().min(0).max(51),
334
443
  delta: zod_1.z.number().min(0.1).max(15.0).multipleOf(0.1),
335
- }), getOpenWindowPrecisely: zod_1.z.object({}), setForceAttach: zod_1.z.object({
444
+ commandNumber: zod_1.z.string().optional().default('45'),
445
+ }), getOpenWindowPrecisely: zod_1.z.object({
446
+ commandNumber: zod_1.z.string().optional().default('46'),
447
+ }), setForceAttach: zod_1.z.object({
336
448
  enabled: zod_1.z.boolean(),
337
- }), getForceAttach: zod_1.z.object({}), setAntiFreezeParams: zod_1.z.object({
449
+ commandNumber: zod_1.z.string().optional().default('47'),
450
+ }), getForceAttach: zod_1.z.object({
451
+ commandNumber: zod_1.z.string().optional().default('48'),
452
+ }), setAntiFreezeParams: zod_1.z.object({
338
453
  activatedTemperature: zod_1.z.number().min(0).max(25),
339
454
  deactivatedTemperature: zod_1.z.number().min(0).max(25),
340
455
  targetTemperature: zod_1.z.number().min(0).max(30),
341
- }), getAntiFreezeParams: zod_1.z.object({}), setMaxAllowedIntegralValue: zod_1.z.object({
456
+ commandNumber: zod_1.z.string().optional().default('49'),
457
+ }), getAntiFreezeParams: zod_1.z.object({
458
+ commandNumber: zod_1.z.string().optional().default('4a'),
459
+ }), setMaxAllowedIntegralValue: zod_1.z.object({
342
460
  value: zod_1.z.number().int().min(0).max(255),
343
- }), getMaxAllowedIntegralValue: zod_1.z.object({}), setValveOpennessInPercentage: zod_1.z.object({
461
+ commandNumber: zod_1.z.string().optional().default('4c'),
462
+ }), getMaxAllowedIntegralValue: zod_1.z.object({
463
+ commandNumber: zod_1.z.string().optional().default('4d'),
464
+ }), setValveOpennessInPercentage: zod_1.z.object({
344
465
  value: zod_1.z.number().min(0).max(100),
466
+ commandNumber: zod_1.z.string().optional().default('4e'),
345
467
  }), setValveOpennessRangeInPercentage: zod_1.z.object({
346
468
  min: zod_1.z.number().min(0).max(100),
347
469
  max: zod_1.z.number().min(0).max(100),
348
- }), getValveOpennessRangeInPercentage: zod_1.z.object({}), setTemperatureOffset: zod_1.z.object({
470
+ commandNumber: zod_1.z.string().optional().default('4f'),
471
+ }), getValveOpennessRangeInPercentage: zod_1.z.object({
472
+ commandNumber: zod_1.z.string().optional().default('50'),
473
+ }), setTemperatureOffset: zod_1.z.object({
349
474
  value: zod_1.z.number().min(-5).max(5),
350
- }), getTemperatureOffset: zod_1.z.object({}), setHeatingEvent: zod_1.z.object({
475
+ commandNumber: zod_1.z.string().optional().default('53'),
476
+ }), getTemperatureOffset: zod_1.z.object({
477
+ commandNumber: zod_1.z.string().optional().default('54'),
478
+ }), setHeatingEvent: zod_1.z.object({
351
479
  eventIndex: zod_1.z.number().int().min(0).max(19),
352
480
  startHour: zod_1.z.number().int().min(0).max(23),
353
481
  startMinute: zod_1.z.number().int().min(0).max(59),
@@ -361,29 +489,38 @@ const VickiCommandSchemas = Object.assign(Object.assign(Object.assign(Object.ass
361
489
  saturday: zod_1.z.boolean(),
362
490
  sunday: zod_1.z.boolean(),
363
491
  }),
492
+ commandNumber: zod_1.z.string().optional().default('59'),
364
493
  }), setHeatingEventState: zod_1.z.object({
365
494
  eventIndex: zod_1.z.number().int().min(0).max(19),
366
495
  active: zod_1.z.boolean(),
496
+ commandNumber: zod_1.z.string().optional().default('6b'),
367
497
  }), setTimeRequestByMACcommand: zod_1.z.object({
368
498
  enabled: zod_1.z.boolean(),
499
+ commandNumber: zod_1.z.string().optional().default('6d'),
369
500
  }), setHeatingSchedule: zod_1.z.object({
370
501
  startMonth: zod_1.z.number().int().min(0).max(11),
371
502
  startDay: zod_1.z.number().int().min(0).max(31), // 0 disables schedule handling
372
503
  endMonth: zod_1.z.number().int().min(0).max(11),
373
504
  endDay: zod_1.z.number().int().min(0).max(31), // 0 disables schedule handling
505
+ commandNumber: zod_1.z.string().optional().default('5b'),
374
506
  }), setDeviceTime: zod_1.z.object({
375
507
  timestamp: zod_1.z.number().int().min(0).max(4294967295), // Unsigned 32-bit integer max value
508
+ commandNumber: zod_1.z.string().optional().default('5d'),
376
509
  }), setDeviceTimeZone: zod_1.z.object({
377
510
  offsetHours: zod_1.z.number().int().min(-12).max(12), // Time zone offset in hours, range [-12:12]
511
+ commandNumber: zod_1.z.string().optional().default('5f'),
378
512
  }), setAutomaticSetpointRestore: zod_1.z.object({
379
513
  time: zod_1.z.number().int().min(0).max(255), // Time in 10-minute increments (0-2550 minutes), 0 disables the functionality
514
+ commandNumber: zod_1.z.string().optional().default('61'),
380
515
  }), setOfflineTargetTemperature: zod_1.z.object({
381
516
  targetTemperature: zod_1.z.union([
382
517
  zod_1.z.literal(0), // To disable the feature
383
518
  zod_1.z.number().min(5).max(30).multipleOf(0.1), // Temperature range 5.0-30.0°C with 0.1°C increments
384
519
  ]),
520
+ commandNumber: zod_1.z.string().optional().default('65'),
385
521
  }), setInternalAlgoTemporaryState: zod_1.z.object({
386
522
  enabled: zod_1.z.boolean(), // true = enable algorithm (00), false = disable algorithm temporarily (01)
523
+ commandNumber: zod_1.z.string().optional().default('67'),
387
524
  }), setTemperatureLevels: zod_1.z.object({
388
525
  scaleLevel0: zod_1.z.number().min(5).max(30).multipleOf(0.1),
389
526
  scaleLevel1: zod_1.z.number().min(5).max(30).multipleOf(0.1),
@@ -391,217 +528,475 @@ const VickiCommandSchemas = Object.assign(Object.assign(Object.assign(Object.ass
391
528
  scaleLevel3: zod_1.z.number().min(5).max(30).multipleOf(0.1),
392
529
  scaleLevel4: zod_1.z.number().min(5).max(30).multipleOf(0.1),
393
530
  scaleLevel5: zod_1.z.number().min(5).max(30).multipleOf(0.1),
531
+ commandNumber: zod_1.z.string().optional().default('69'),
394
532
  }), setLedIndicationDuration: zod_1.z.object({
395
533
  duration: zod_1.z.number().min(0.5).max(20).multipleOf(0.5), // Duration in range [0.5:20] with 0.5s resolution
534
+ commandNumber: zod_1.z.string().optional().default('63'),
396
535
  }) });
397
536
  /* --------------------------------------- RELAY 16 COMMANDS --------------------------------------- */
398
537
  const Relay16CommandSchemas = Object.assign(Object.assign({}, GeneralCommandSchemas), { setOverheatingThresholds: zod_1.z.object({
399
538
  trigger: zod_1.z.number().min(30).max(100),
400
539
  recovery: zod_1.z.number().min(30).max(100),
401
- }), getOverheatingThresholds: zod_1.z.object({}), setOvervoltageThresholds: zod_1.z.object({
540
+ commandNumber: zod_1.z.string().optional().default('1e'),
541
+ }), getOverheatingThresholds: zod_1.z.object({
542
+ commandNumber: zod_1.z.string().optional().default('1f'),
543
+ }), setOvervoltageThresholds: zod_1.z.object({
402
544
  trigger: zod_1.z.number().min(1).max(255),
403
545
  recovery: zod_1.z.number().min(1).max(255),
404
- }), getOvervoltageThresholds: zod_1.z.object({}), setOvercurrentThreshold: zod_1.z.object({
546
+ commandNumber: zod_1.z.string().optional().default('20'),
547
+ }), getOvervoltageThresholds: zod_1.z.object({
548
+ commandNumber: zod_1.z.string().optional().default('21'),
549
+ }), setOvercurrentThreshold: zod_1.z.object({
405
550
  current: zod_1.z.number().min(1).max(16),
406
- }), getOvercurrentThreshold: zod_1.z.object({}), setOverpowerThreshold: zod_1.z.object({
551
+ commandNumber: zod_1.z.string().optional().default('22'),
552
+ }), getOvercurrentThreshold: zod_1.z.object({
553
+ commandNumber: zod_1.z.string().optional().default('23'),
554
+ }), setOverpowerThreshold: zod_1.z.object({
407
555
  power: zod_1.z.number().min(100).max(3680),
408
- }), getOverpowerThreshold: zod_1.z.object({}), clearAcumulatedEnergy: zod_1.z.object({}), setAfterOverheatingProtectionRecovery: zod_1.z.object({
556
+ commandNumber: zod_1.z.string().optional().default('24'),
557
+ }), getOverpowerThreshold: zod_1.z.object({
558
+ commandNumber: zod_1.z.string().optional().default('25'),
559
+ }), clearAcumulatedEnergy: zod_1.z.object({
560
+ commandNumber: zod_1.z.string().optional(),
561
+ }), setAfterOverheatingProtectionRecovery: zod_1.z.object({
409
562
  state: zod_1.z.number().min(0).max(1), // 0: lastState, 1: OFF
410
- }), getAfterOverheatingProtectionRecovery: zod_1.z.object({}), setLedIndicationMode: zod_1.z.object({
563
+ commandNumber: zod_1.z.string().optional().default('59'),
564
+ }), getAfterOverheatingProtectionRecovery: zod_1.z.object({
565
+ commandNumber: zod_1.z.string().optional().default('5a'),
566
+ }), setLedIndicationMode: zod_1.z.object({
411
567
  mode: zod_1.z.number().min(0).max(1), // 0: OFF, 1: ON
412
- }), getLedIndicationMode: zod_1.z.object({}), setRelayRecoveryState: zod_1.z.object({
568
+ commandNumber: zod_1.z.string().optional().default('5b'),
569
+ }), getLedIndicationMode: zod_1.z.object({
570
+ commandNumber: zod_1.z.string().optional().default('5c'),
571
+ }), setRelayRecoveryState: zod_1.z.object({
413
572
  state: zod_1.z.number().min(0).max(2), // 0: lastState, 1: ON, 2: OFF
414
- }), getRelayRecoveryState: zod_1.z.object({}), setRelayState: zod_1.z.object({
573
+ commandNumber: zod_1.z.string().optional().default('5e'),
574
+ }), getRelayRecoveryState: zod_1.z.object({
575
+ commandNumber: zod_1.z.string().optional().default('5f'),
576
+ }), setRelayState: zod_1.z.object({
415
577
  state: zod_1.z.boolean(), // 0: OFF, 1: ON
416
- }), getRelayState: zod_1.z.object({}), setRelayTimerInMilliseconds: zod_1.z.object({
578
+ commandNumber: zod_1.z.string().optional().default('c1'),
579
+ }), getRelayState: zod_1.z.object({
580
+ commandNumber: zod_1.z.string().optional().default('b1'),
581
+ }), setRelayTimerInMilliseconds: zod_1.z.object({
417
582
  state: zod_1.z.number().min(0).max(1), // 0: OFF, 1: ON
418
583
  time: zod_1.z.number().min(0).max(65535),
419
- }), getRelayTimerInMilliseconds: zod_1.z.object({}), setRelayTimerInSeconds: zod_1.z.object({
584
+ commandNumber: zod_1.z.string().optional().default('55'),
585
+ }), getRelayTimerInMilliseconds: zod_1.z.object({
586
+ commandNumber: zod_1.z.string().optional().default('56'),
587
+ }), setRelayTimerInSeconds: zod_1.z.object({
420
588
  state: zod_1.z.number().min(0).max(1), // 0: OFF, 1: ON
421
589
  time: zod_1.z.number().min(0).max(65535),
422
- }), getRelayTimerInSeconds: zod_1.z.object({}), getRelayStateChangeReason: zod_1.z.object({}), getOverheatingEvents: zod_1.z.object({}), getOvervoltageEvents: zod_1.z.object({}), getOvercurrentEvents: zod_1.z.object({}), getOverpowerEvents: zod_1.z.object({}) });
590
+ commandNumber: zod_1.z.string().optional().default('57'),
591
+ }), getRelayTimerInSeconds: zod_1.z.object({
592
+ commandNumber: zod_1.z.string().optional().default('58'),
593
+ }), getRelayStateChangeReason: zod_1.z.object({
594
+ commandNumber: zod_1.z.string().optional().default('54'),
595
+ }), getOverheatingEvents: zod_1.z.object({
596
+ commandNumber: zod_1.z.string().optional().default('60'),
597
+ }), getOvervoltageEvents: zod_1.z.object({
598
+ commandNumber: zod_1.z.string().optional().default('61'),
599
+ }), getOvercurrentEvents: zod_1.z.object({
600
+ commandNumber: zod_1.z.string().optional().default('62'),
601
+ }), getOverpowerEvents: zod_1.z.object({
602
+ commandNumber: zod_1.z.string().optional().default('63'),
603
+ }) });
423
604
  /* --------------------------------------- RELAY 16 DRY COMMANDS --------------------------------------- */
424
605
  const Relay16DryCommandSchemas = Object.assign(Object.assign({}, GeneralCommandSchemas), { setOverheatingThresholds: zod_1.z.object({
425
606
  trigger: zod_1.z.number().min(30).max(100),
426
607
  recovery: zod_1.z.number().min(30).max(100),
427
- }), getOverheatingThresholds: zod_1.z.object({}), setAfterOverheatingProtectionRecovery: zod_1.z.object({
608
+ commandNumber: zod_1.z.string().optional().default('1e'),
609
+ }), getOverheatingThresholds: zod_1.z.object({
610
+ commandNumber: zod_1.z.string().optional().default('1f'),
611
+ }), setAfterOverheatingProtectionRecovery: zod_1.z.object({
428
612
  state: zod_1.z.number().min(0).max(1), // 0: lastState, 1: OFF
613
+ commandNumber: zod_1.z.string().optional().default('59'),
429
614
  }), setRelayTimerInMilliseconds: zod_1.z.object({
430
615
  state: zod_1.z.number().min(0).max(1), // 0: OFF, 1: ON
431
616
  time: zod_1.z.number().min(0).max(65535),
432
- }), getRelayTimerInMilliseconds: zod_1.z.object({}), setRelayTimerInSeconds: zod_1.z.object({
617
+ commandNumber: zod_1.z.string().optional().default('55'),
618
+ }), getRelayTimerInMilliseconds: zod_1.z.object({
619
+ commandNumber: zod_1.z.string().optional().default('56'),
620
+ }), setRelayTimerInSeconds: zod_1.z.object({
433
621
  state: zod_1.z.number().min(0).max(1), // 0: OFF, 1: ON
434
622
  time: zod_1.z.number().min(0).max(65535),
435
- }), getRelayTimerInSeconds: zod_1.z.object({}), getRelayStateChangeReason: zod_1.z.object({}), getAfterOverheatingProtectionRecovery: zod_1.z.object({}), setLedIndicationMode: zod_1.z.object({
623
+ commandNumber: zod_1.z.string().optional().default('57'),
624
+ }), getRelayTimerInSeconds: zod_1.z.object({
625
+ commandNumber: zod_1.z.string().optional().default('58'),
626
+ }), getRelayStateChangeReason: zod_1.z.object({
627
+ commandNumber: zod_1.z.string().optional().default('54'),
628
+ }), getAfterOverheatingProtectionRecovery: zod_1.z.object({
629
+ commandNumber: zod_1.z.string().optional().default('5a'),
630
+ }), setLedIndicationMode: zod_1.z.object({
436
631
  mode: zod_1.z.number().min(0).max(1), // 0: OFF, 1: ON
437
- }), getLedIndicationMode: zod_1.z.object({}), setRelayRecoveryState: zod_1.z.object({
632
+ commandNumber: zod_1.z.string().optional().default('5b'),
633
+ }), getLedIndicationMode: zod_1.z.object({
634
+ commandNumber: zod_1.z.string().optional().default('5c'),
635
+ }), setRelayRecoveryState: zod_1.z.object({
438
636
  state: zod_1.z.number().min(0).max(2), // 0: lastState, 1: ON, 2: OFF
439
- }), getRelayRecoveryState: zod_1.z.object({}), setRelayState: zod_1.z.object({
637
+ commandNumber: zod_1.z.string().optional().default('5e'),
638
+ }), getRelayRecoveryState: zod_1.z.object({
639
+ commandNumber: zod_1.z.string().optional().default('5f'),
640
+ }), setRelayState: zod_1.z.object({
440
641
  state: zod_1.z.boolean(), // 0: OFF, 1: ON
441
- }), getRelayState: zod_1.z.object({}), getOverheatingEvents: zod_1.z.object({}) });
642
+ commandNumber: zod_1.z.string().optional().default('c1'),
643
+ }), getRelayState: zod_1.z.object({
644
+ commandNumber: zod_1.z.string().optional().default('b1'),
645
+ }), getOverheatingEvents: zod_1.z.object({
646
+ commandNumber: zod_1.z.string().optional().default('60'),
647
+ }) });
442
648
  // ------------------------------------------------ T-VALVE COMMANDS ------------------------------------------------
443
649
  const TValveCommandSchemas = Object.assign(Object.assign({}, GeneralCommandSchemas), { setOpenCloseTime: zod_1.z.object({
444
650
  openingTime: zod_1.z.number().min(1).max(255),
445
651
  closingTime: zod_1.z.number().min(1).max(255),
446
- }), getOpenCloseTime: zod_1.z.object({}), setLED: zod_1.z.object({
652
+ commandNumber: zod_1.z.string().optional().default('01'),
653
+ }), getOpenCloseTime: zod_1.z.object({
654
+ commandNumber: zod_1.z.string().optional(),
655
+ }), setLED: zod_1.z.object({
447
656
  ledId: zod_1.z.number().min(1).max(4),
448
657
  behavior: zod_1.z.number().min(0).max(4),
449
658
  seconds: zod_1.z.number().min(1).max(255),
659
+ commandNumber: zod_1.z.string().optional().default('02'),
450
660
  }), setBuzzer: zod_1.z.object({
451
661
  volume: zod_1.z.number().min(1).max(255),
452
662
  frequency: zod_1.z.number().min(1).max(255),
453
663
  activeTime: zod_1.z.number().min(1).max(255),
454
664
  onTime: zod_1.z.number().min(1).max(255),
455
665
  offTime: zod_1.z.number().min(1).max(255),
666
+ commandNumber: zod_1.z.string().optional().default('03'),
456
667
  }), setEmergencyOpenings: zod_1.z.object({
457
668
  maxOpenings: zod_1.z.number().min(1).max(15),
458
- }), getEmergencyOpenings: zod_1.z.object({}), setManualControl: zod_1.z.object({
669
+ commandNumber: zod_1.z.string().optional().default('04'),
670
+ }), getEmergencyOpenings: zod_1.z.object({
671
+ commandNumber: zod_1.z.string().optional().default('0f'),
672
+ }), setManualControl: zod_1.z.object({
459
673
  enableOpen: zod_1.z.boolean(),
460
674
  enableClose: zod_1.z.boolean(),
675
+ commandNumber: zod_1.z.string().optional().default('05'),
461
676
  }), setFloodAlarmTime: zod_1.z.object({
462
677
  time: zod_1.z.number().min(1).max(255),
463
- }), getFloodAlarmTime: zod_1.z.object({}), setKeepAliveTValve: zod_1.z.object({
678
+ commandNumber: zod_1.z.string().optional().default('06'),
679
+ }), getFloodAlarmTime: zod_1.z.object({
680
+ commandNumber: zod_1.z.string().optional().default('10'),
681
+ }), setKeepAliveTValve: zod_1.z.object({
464
682
  time: zod_1.z.number().min(1).max(255),
683
+ commandNumber: zod_1.z.string().optional().default('02'),
465
684
  }), setWorkingVoltage: zod_1.z.object({
466
685
  voltage: zod_1.z.number().min(1840).max(2500),
467
- }), getWorkingVoltage: zod_1.z.object({}), setValveState: zod_1.z.object({
686
+ commandNumber: zod_1.z.string().optional().default('09'),
687
+ }), getWorkingVoltage: zod_1.z.object({
688
+ commandNumber: zod_1.z.string().optional().default('11'),
689
+ }), setValveState: zod_1.z.object({
468
690
  state: zod_1.z.number().min(0).max(1), // 0: open, 1: close
691
+ commandNumber: zod_1.z.string().optional().default('0c'),
469
692
  }), setOpenCloseTimeExtended: zod_1.z.object({
470
693
  openingTime: zod_1.z.number().min(1).max(65535),
471
694
  closingTime: zod_1.z.number().min(1).max(65535),
472
- }), getOpenCloseTimeExtended: zod_1.z.object({}), setSingleTimeValveState: zod_1.z.object({
695
+ commandNumber: zod_1.z.string().optional().default('0d'),
696
+ }), getOpenCloseTimeExtended: zod_1.z.object({
697
+ commandNumber: zod_1.z.string().optional().default('0e'),
698
+ }), setSingleTimeValveState: zod_1.z.object({
473
699
  state: zod_1.z.number().min(0).max(1), // 0: open, 1: close
474
700
  time: zod_1.z.number().min(1).max(65535),
701
+ commandNumber: zod_1.z.string().optional().default('14'),
475
702
  }), setDeviceFloodSensor: zod_1.z.object({
476
703
  enabled: zod_1.z.boolean(),
477
- }), getDeviceFloodSensor: zod_1.z.object({}), setJoinRetryPeriodTValve: zod_1.z.object({
704
+ commandNumber: zod_1.z.string().optional().default('0a'),
705
+ }), getDeviceFloodSensor: zod_1.z.object({
706
+ commandNumber: zod_1.z.string().optional().default('13'),
707
+ }), setJoinRetryPeriodTValve: zod_1.z.object({
478
708
  period: zod_1.z.number().min(1).max(21),
709
+ commandNumber: zod_1.z.string().optional().default('10'),
479
710
  }), setUplinkTypeTValve: zod_1.z.object({
480
711
  type: zod_1.z.enum(['01', '00']), // 01: confirmedUplinks, 00: unconfirmedUplinks
712
+ commandNumber: zod_1.z.string().optional().default('11'),
481
713
  }), setWatchDogTValveParams: zod_1.z.object({
482
714
  confirmedUplinks: zod_1.z.number().min(0).max(255),
483
715
  unconfirmedUplinks: zod_1.z.number().min(0).max(255),
484
- }), getWatchDogTValveParams: zod_1.z.object({}), requestFullData: zod_1.z.object({}) });
716
+ commandNumber: zod_1.z.string().optional().default('1c'),
717
+ }), getWatchDogTValveParams: zod_1.z.object({
718
+ commandNumber: zod_1.z.string().optional(),
719
+ }), requestFullData: zod_1.z.object({
720
+ commandNumber: zod_1.z.string().optional().default('08'),
721
+ }) });
485
722
  /* --------------------------------------- FAN COIL THERMOSTAT COMMANDS --------------------------------------- */
486
723
  const FanCoilThermostatCommandSchemas = Object.assign(Object.assign(Object.assign({}, GeneralCommandSchemas), TemperatureCommandSchemas), { setDisplayRefreshPeriod: zod_1.z.object({
487
724
  period: zod_1.z.number().min(1).max(24),
488
- }), getDisplayRefreshPeriod: zod_1.z.object({}), setHumidityVisibility: zod_1.z.object({
725
+ commandNumber: zod_1.z.string().optional().default('33'),
726
+ }), getDisplayRefreshPeriod: zod_1.z.object({
727
+ commandNumber: zod_1.z.string().optional().default('34'),
728
+ }), setHumidityVisibility: zod_1.z.object({
489
729
  state: zod_1.z.number().min(0).max(1), // 0: hide, 1: show
490
- }), getHumidityVisibility: zod_1.z.object({}), setCurrentTemperatureVisibility: zod_1.z.object({
730
+ commandNumber: zod_1.z.string().optional().default('42'),
731
+ }), getHumidityVisibility: zod_1.z.object({
732
+ commandNumber: zod_1.z.string().optional().default('43'),
733
+ }), setCurrentTemperatureVisibility: zod_1.z.object({
491
734
  state: zod_1.z.number().min(0).max(1), // 0: hide, 1: show
492
- }), getCurrentTemperatureVisibility: zod_1.z.object({}), setTargetTemperatureStep: zod_1.z.object({
735
+ commandNumber: zod_1.z.string().optional().default('40'),
736
+ }), getCurrentTemperatureVisibility: zod_1.z.object({
737
+ commandNumber: zod_1.z.string().optional().default('41'),
738
+ }), setTargetTemperatureStep: zod_1.z.object({
493
739
  value: zod_1.z.number().min(0.1).max(10).multipleOf(0.1),
494
- }), getTargetTemperatureStep: zod_1.z.object({}), setKeysLock: zod_1.z.object({
740
+ commandNumber: zod_1.z.string().optional().default('03'),
741
+ }), getTargetTemperatureStep: zod_1.z.object({
742
+ commandNumber: zod_1.z.string().optional().default('05'),
743
+ }), setKeysLock: zod_1.z.object({
495
744
  value: zod_1.z.number().min(0).max(5),
496
- }), getKeysLock: zod_1.z.object({}), setTargetTemperature: zod_1.z.object({
745
+ commandNumber: zod_1.z.string().optional().default('07'),
746
+ }), getKeysLock: zod_1.z.object({
747
+ commandNumber: zod_1.z.string().optional().default('14'),
748
+ }), setTargetTemperature: zod_1.z.object({
497
749
  targetTemperature: zod_1.z.number().min(5).max(99),
750
+ commandNumber: zod_1.z.string().optional().default('0e'),
498
751
  }), setValveOpenCloseTime: zod_1.z.object({
499
752
  value: zod_1.z.number().min(1).max(255),
500
- }), getValveOpenCloseTime: zod_1.z.object({}), setExtAutomaticTemperatureControl: zod_1.z.object({
753
+ commandNumber: zod_1.z.string().optional().default('31'),
754
+ }), getValveOpenCloseTime: zod_1.z.object({
755
+ commandNumber: zod_1.z.string().optional().default('32'),
756
+ }), setExtAutomaticTemperatureControl: zod_1.z.object({
501
757
  value: zod_1.z.number().min(0).max(1), // 0: deactivated, 1: activated
502
- }), getExtAutomaticTemperatureControl: zod_1.z.object({}), setFanSpeed: zod_1.z.object({
758
+ commandNumber: zod_1.z.string().optional().default('35'),
759
+ }), getExtAutomaticTemperatureControl: zod_1.z.object({
760
+ commandNumber: zod_1.z.string().optional().default('36'),
761
+ }), setFanSpeed: zod_1.z.object({
503
762
  value: zod_1.z.number().min(0).max(6),
504
- }), getFanSpeed: zod_1.z.object({}), setFanSpeedLimit: zod_1.z.object({
763
+ commandNumber: zod_1.z.string().optional().default('44'),
764
+ }), getFanSpeed: zod_1.z.object({
765
+ commandNumber: zod_1.z.string().optional().default('45'),
766
+ }), setFanSpeedLimit: zod_1.z.object({
505
767
  value: zod_1.z.number().min(0).max(3),
506
- }), getFanSpeedLimit: zod_1.z.object({}), setEcmVoltageRange: zod_1.z.object({
768
+ commandNumber: zod_1.z.string().optional().default('46'),
769
+ }), getFanSpeedLimit: zod_1.z.object({
770
+ commandNumber: zod_1.z.string().optional().default('47'),
771
+ }), setEcmVoltageRange: zod_1.z.object({
507
772
  min: zod_1.z.number().min(0).max(10),
508
773
  max: zod_1.z.number().min(0).max(10),
509
- }), getEcmVoltageRange: zod_1.z.object({}), setEcmStartUpTime: zod_1.z.object({
774
+ commandNumber: zod_1.z.string().optional().default('48'),
775
+ }), getEcmVoltageRange: zod_1.z.object({
776
+ commandNumber: zod_1.z.string().optional().default('49'),
777
+ }), setEcmStartUpTime: zod_1.z.object({
510
778
  value: zod_1.z.number().min(0).max(20),
511
- }), getEcmStartUpTime: zod_1.z.object({}), setEcmRelay: zod_1.z.object({
779
+ commandNumber: zod_1.z.string().optional().default('4a'),
780
+ }), getEcmStartUpTime: zod_1.z.object({
781
+ commandNumber: zod_1.z.string().optional().default('4b'),
782
+ }), setEcmRelay: zod_1.z.object({
512
783
  value: zod_1.z.number().min(0).max(1), // 0: deactivated, 1: activated
513
- }), getEcmRelay: zod_1.z.object({}), setFrostProtection: zod_1.z.object({
784
+ commandNumber: zod_1.z.string().optional().default('4c'),
785
+ }), getEcmRelay: zod_1.z.object({
786
+ commandNumber: zod_1.z.string().optional().default('4d'),
787
+ }), setFrostProtection: zod_1.z.object({
514
788
  value: zod_1.z.number().min(0).max(1), // 0: OFF, 1: ON
515
- }), getFrostProtection: zod_1.z.object({}), setFrostProtectionSettings: zod_1.z.object({
789
+ commandNumber: zod_1.z.string().optional().default('4e'),
790
+ }), getFrostProtection: zod_1.z.object({
791
+ commandNumber: zod_1.z.string().optional().default('4f'),
792
+ }), setFrostProtectionSettings: zod_1.z.object({
516
793
  threshold: zod_1.z.number().min(4).max(20),
517
794
  setpoint: zod_1.z.number().min(4).max(20),
518
- }), getFrostProtectionSettings: zod_1.z.object({}), setFctOperationalMode: zod_1.z.object({
795
+ commandNumber: zod_1.z.string().optional().default('50'),
796
+ }), getFrostProtectionSettings: zod_1.z.object({
797
+ commandNumber: zod_1.z.string().optional().default('51'),
798
+ }), setFctOperationalMode: zod_1.z.object({
519
799
  value: zod_1.z.number().min(0).max(2), // 0: ventilation, 1: heating, 2: cooling
800
+ commandNumber: zod_1.z.string().optional().default('52'),
520
801
  }), setAllowedOperationalModes: zod_1.z.object({
521
802
  value: zod_1.z.number().min(0).max(2),
522
- }), getAllowedOperationalModes: zod_1.z.object({}), setCoolingSetpointNotOccupied: zod_1.z.object({
803
+ commandNumber: zod_1.z.string().optional().default('54'),
804
+ }), getAllowedOperationalModes: zod_1.z.object({
805
+ commandNumber: zod_1.z.string().optional().default('55'),
806
+ }), setCoolingSetpointNotOccupied: zod_1.z.object({
523
807
  value: zod_1.z.number().min(5).max(30),
524
- }), getCoolingSetpointNotOccupied: zod_1.z.object({}), setHeatingSetpointNotOccupied: zod_1.z.object({
808
+ commandNumber: zod_1.z.string().optional().default('56'),
809
+ }), getCoolingSetpointNotOccupied: zod_1.z.object({
810
+ commandNumber: zod_1.z.string().optional().default('57'),
811
+ }), setHeatingSetpointNotOccupied: zod_1.z.object({
525
812
  value: zod_1.z.number().min(5).max(30),
526
- }), getHeatingSetpointNotOccupied: zod_1.z.object({}), setTempSensorCompensation: zod_1.z.object({
813
+ commandNumber: zod_1.z.string().optional().default('58'),
814
+ }), getHeatingSetpointNotOccupied: zod_1.z.object({
815
+ commandNumber: zod_1.z.string().optional().default('59'),
816
+ }), setTempSensorCompensation: zod_1.z.object({
527
817
  compensation: zod_1.z.number().min(0).max(1),
528
818
  temperature: zod_1.z.number().min(-5).max(5).multipleOf(0.1),
529
- }), getTempSensorCompensation: zod_1.z.object({}), setFanSpeedNotOccupied: zod_1.z.object({
819
+ commandNumber: zod_1.z.string().optional().default('5a'),
820
+ }), getTempSensorCompensation: zod_1.z.object({
821
+ commandNumber: zod_1.z.string().optional().default('5b'),
822
+ }), setFanSpeedNotOccupied: zod_1.z.object({
530
823
  value: zod_1.z.number().min(0).max(2), // 0: low, 1: automatic, 2: dontChange
531
- }), getFanSpeedNotOccupied: zod_1.z.object({}), setAutomaticChangeover: zod_1.z.object({
824
+ commandNumber: zod_1.z.string().optional().default('5c'),
825
+ }), getFanSpeedNotOccupied: zod_1.z.object({
826
+ commandNumber: zod_1.z.string().optional().default('5d'),
827
+ }), setAutomaticChangeover: zod_1.z.object({
532
828
  value: zod_1.z.number().min(0).max(1), // 0: deactivated, 1: activated
533
- }), getAutomaticChangeover: zod_1.z.object({}), setWiringDiagram: zod_1.z.object({
829
+ commandNumber: zod_1.z.string().optional().default('5e'),
830
+ }), getAutomaticChangeover: zod_1.z.object({
831
+ commandNumber: zod_1.z.string().optional().default('5f'),
832
+ }), setWiringDiagram: zod_1.z.object({
534
833
  value: zod_1.z.number().min(0).max(6),
535
- }), getWiringDiagram: zod_1.z.object({}), setOccFunction: zod_1.z.object({
834
+ commandNumber: zod_1.z.string().optional().default('60'),
835
+ }), getWiringDiagram: zod_1.z.object({
836
+ commandNumber: zod_1.z.string().optional().default('61'),
837
+ }), setOccFunction: zod_1.z.object({
536
838
  value: zod_1.z.number().min(0).max(7),
537
- }), getOccFunction: zod_1.z.object({}), setAutomaticChangeoverThreshold: zod_1.z.object({
839
+ commandNumber: zod_1.z.string().optional().default('62'),
840
+ }), getOccFunction: zod_1.z.object({
841
+ commandNumber: zod_1.z.string().optional().default('63'),
842
+ }), setAutomaticChangeoverThreshold: zod_1.z.object({
538
843
  coolingThreshold: zod_1.z.number().min(5).max(20),
539
844
  heatingThreshold: zod_1.z.number().min(30).max(60),
540
- }), getAutomaticChangeoverThreshold: zod_1.z.object({}), setDeviceStatus: zod_1.z.object({
845
+ commandNumber: zod_1.z.string().optional().default('64'),
846
+ }), getAutomaticChangeoverThreshold: zod_1.z.object({
847
+ commandNumber: zod_1.z.string().optional().default('65'),
848
+ }), setDeviceStatus: zod_1.z.object({
541
849
  value: zod_1.z.number().min(0).max(1), // 0: off, 1: on
542
- }), getDeviceStatus: zod_1.z.object({}), setReturnOfPowerOperation: zod_1.z.object({
850
+ commandNumber: zod_1.z.string().optional().default('66'),
851
+ }), getDeviceStatus: zod_1.z.object({
852
+ commandNumber: zod_1.z.string().optional().default('67'),
853
+ }), setReturnOfPowerOperation: zod_1.z.object({
543
854
  value: zod_1.z.number().min(0).max(2), // 0: lastStatus, 1: on, 2: off
544
- }), getReturnOfPowerOperation: zod_1.z.object({}), setDeltaTemperature1: zod_1.z.object({
855
+ commandNumber: zod_1.z.string().optional().default('68'),
856
+ }), getReturnOfPowerOperation: zod_1.z.object({
857
+ commandNumber: zod_1.z.string().optional().default('69'),
858
+ }), setDeltaTemperature1: zod_1.z.object({
545
859
  value: zod_1.z.number().min(0.5).max(10).multipleOf(0.5),
546
- }), getDeltaTemperature1: zod_1.z.object({}), setDeltaTemperature2and3: zod_1.z.object({
860
+ commandNumber: zod_1.z.string().optional().default('6a'),
861
+ }), getDeltaTemperature1: zod_1.z.object({
862
+ commandNumber: zod_1.z.string().optional().default('6b'),
863
+ }), setDeltaTemperature2and3: zod_1.z.object({
547
864
  deltaTemperature2: zod_1.z.number().min(0.5).max(10).multipleOf(0.5),
548
865
  deltaTemperature3: zod_1.z.number().min(0.5).max(10).multipleOf(0.5),
549
- }), getDeltaTemperature2and3: zod_1.z.object({}), getFrostProtectionStatus: zod_1.z.object({}), getOccupancySensorStatusSetPoint: zod_1.z.object({}), getOccupancySensorStatus: zod_1.z.object({}), getDewPointSensorStatus: zod_1.z.object({}), getFilterAlarm: zod_1.z.object({}), setHeatingCoolingTargetTempRanges: zod_1.z.object({
866
+ commandNumber: zod_1.z.string().optional().default('6c'),
867
+ }), getDeltaTemperature2and3: zod_1.z.object({
868
+ commandNumber: zod_1.z.string().optional().default('6d'),
869
+ }), getFrostProtectionStatus: zod_1.z.object({
870
+ commandNumber: zod_1.z.string().optional().default('6e'),
871
+ }), getOccupancySensorStatusSetPoint: zod_1.z.object({
872
+ commandNumber: zod_1.z.string().optional().default('70'),
873
+ }), getOccupancySensorStatus: zod_1.z.object({
874
+ commandNumber: zod_1.z.string().optional().default('71'),
875
+ }), getDewPointSensorStatus: zod_1.z.object({
876
+ commandNumber: zod_1.z.string().optional().default('72'),
877
+ }), getFilterAlarm: zod_1.z.object({
878
+ commandNumber: zod_1.z.string().optional().default('73'),
879
+ }), setHeatingCoolingTargetTempRanges: zod_1.z.object({
550
880
  heatingTempMin: zod_1.z.number().min(5).max(30),
551
881
  heatingTempMax: zod_1.z.number().min(5).max(30),
552
882
  coolingTempMin: zod_1.z.number().min(5).max(30),
553
883
  coolingTempMax: zod_1.z.number().min(5).max(30),
554
- }), getHeatingCoolingTargetTempRanges: zod_1.z.object({}), setHeatingCoolingTargetTempRangesUnoccupied: zod_1.z.object({
884
+ commandNumber: zod_1.z.string().optional().default('16'),
885
+ }), getHeatingCoolingTargetTempRanges: zod_1.z.object({
886
+ commandNumber: zod_1.z.string().optional().default('17'),
887
+ }), setHeatingCoolingTargetTempRangesUnoccupied: zod_1.z.object({
555
888
  heatingTempMin: zod_1.z.number().min(5).max(30),
556
889
  heatingTempMax: zod_1.z.number().min(5).max(30),
557
890
  coolingTempMin: zod_1.z.number().min(5).max(30),
558
891
  coolingTempMax: zod_1.z.number().min(5).max(30),
559
- }), getHeatingCoolingTargetTempRangesUnoccupied: zod_1.z.object({}), setFanOffDelayTime: zod_1.z.object({
892
+ commandNumber: zod_1.z.string().optional().default('76'),
893
+ }), getHeatingCoolingTargetTempRangesUnoccupied: zod_1.z.object({
894
+ commandNumber: zod_1.z.string().optional().default('77'),
895
+ }), setFanOffDelayTime: zod_1.z.object({
560
896
  time: zod_1.z.number().min(0).max(255),
561
- }), getFanOffDelayTime: zod_1.z.object({}), setAdditionalFanMode: zod_1.z.object({
897
+ commandNumber: zod_1.z.string().optional().default('78'),
898
+ }), getFanOffDelayTime: zod_1.z.object({
899
+ commandNumber: zod_1.z.string().optional().default('79'),
900
+ }), setAdditionalFanMode: zod_1.z.object({
562
901
  mode: zod_1.z.number().min(0).max(2), // 0: TurnOffOnTargetReach, 1: KeepOnTargetReach, 2: FanAlwaysOn
563
- }), getAdditionalFanMode: zod_1.z.object({}), getInternalTemperatureSensorError: zod_1.z.object({}), getExternalTemperatureSensorError: zod_1.z.object({}), setUserInterfaceLanguage: zod_1.z.object({
902
+ commandNumber: zod_1.z.string().optional().default('7a'),
903
+ }), getAdditionalFanMode: zod_1.z.object({
904
+ commandNumber: zod_1.z.string().optional().default('7b'),
905
+ }), getInternalTemperatureSensorError: zod_1.z.object({
906
+ commandNumber: zod_1.z.string().optional().default('7c'),
907
+ }), getExternalTemperatureSensorError: zod_1.z.object({
908
+ commandNumber: zod_1.z.string().optional().default('7d'),
909
+ }), setUserInterfaceLanguage: zod_1.z.object({
564
910
  value: zod_1.z.number().min(0).max(3), // 0: English, 1: French, 2: German, 3: Spanish
565
- }), getUserInterfaceLanguage: zod_1.z.object({}), restartDevice: zod_1.z.object({}) });
911
+ commandNumber: zod_1.z.string().optional().default('9a'),
912
+ }), getUserInterfaceLanguage: zod_1.z.object({
913
+ commandNumber: zod_1.z.string().optional().default('9b'),
914
+ }), restartDevice: zod_1.z.object({
915
+ commandNumber: zod_1.z.string().optional().default('a5'),
916
+ }) });
566
917
  /* --------------------------------------- OPEN CLOSE SENSOR COMMANDS --------------------------------------- */
567
918
  const OpenCloseSensorCommandSchemas = Object.assign(Object.assign({}, GeneralCommandSchemas), { setNotificationBlindTime: zod_1.z.object({
568
919
  time: zod_1.z.number().min(1).max(255),
569
- }), getNotificationBlindTime: zod_1.z.object({}) });
920
+ commandNumber: zod_1.z.string().optional().default('1e'),
921
+ }), getNotificationBlindTime: zod_1.z.object({
922
+ commandNumber: zod_1.z.string().optional().default('1f'),
923
+ }) });
570
924
  /* --------------------------------------- WIRELESS THERMOSTAT COMMANDS --------------------------------------- */
571
- const WirelessThermostatCommandSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, GeneralCommandSchemas), TemperatureCommandSchemas), { getTemperatureRange: zod_1.z.object({}) }), DisplayCommandSchemas), PIRCommandSchemas), ChildLockCommandSchemas), { setTargetTemperature: zod_1.z.object({
925
+ const WirelessThermostatCommandSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, GeneralCommandSchemas), TemperatureCommandSchemas), { getTemperatureRange: zod_1.z.object({
926
+ commandNumber: zod_1.z.string().optional().default('15'),
927
+ }) }), DisplayCommandSchemas), PIRCommandSchemas), ChildLockCommandSchemas), { setTargetTemperature: zod_1.z.object({
572
928
  targetTemperature: zod_1.z.number().min(5).max(99),
573
- }), getTargetTemperature: zod_1.z.object({}), setHeatingStatus: zod_1.z.object({
929
+ commandNumber: zod_1.z.string().optional().default('0e'),
930
+ }), getTargetTemperature: zod_1.z.object({
931
+ commandNumber: zod_1.z.string().optional().default('2f'),
932
+ }), setHeatingStatus: zod_1.z.object({
574
933
  status: zod_1.z.number().min(0).max(1), // 0: disabled, 1: enabled
575
- }), getHeatingStatus: zod_1.z.object({}), setDisplayRefreshPeriod: zod_1.z.object({
934
+ commandNumber: zod_1.z.string().optional().default('31'),
935
+ }), getHeatingStatus: zod_1.z.object({
936
+ commandNumber: zod_1.z.string().optional().default('32'),
937
+ }), setDisplayRefreshPeriod: zod_1.z.object({
576
938
  period: zod_1.z.number().min(1).max(24),
577
- }), getDisplayRefreshPeriod: zod_1.z.object({}), setTargetSendDelay: zod_1.z.object({
939
+ commandNumber: zod_1.z.string().optional().default('33'),
940
+ }), getDisplayRefreshPeriod: zod_1.z.object({
941
+ commandNumber: zod_1.z.string().optional().default('34'),
942
+ }), setTargetSendDelay: zod_1.z.object({
578
943
  time: zod_1.z.number().min(0).max(255),
579
- }), getTargetSendDelay: zod_1.z.object({}), setAutomaticHeatingStatus: zod_1.z.object({
944
+ commandNumber: zod_1.z.string().optional().default('35'),
945
+ }), getTargetSendDelay: zod_1.z.object({
946
+ commandNumber: zod_1.z.string().optional().default('36'),
947
+ }), setAutomaticHeatingStatus: zod_1.z.object({
580
948
  state: zod_1.z.number().min(0).max(1), // 0: turnOffAutomaticMode, 1: turnOnAutomaticMode
581
- }), getAutomaticHeatingStatus: zod_1.z.object({}), setSensorMode: zod_1.z.object({
949
+ commandNumber: zod_1.z.string().optional().default('37'),
950
+ }), getAutomaticHeatingStatus: zod_1.z.object({
951
+ commandNumber: zod_1.z.string().optional().default('38'),
952
+ }), setSensorMode: zod_1.z.object({
582
953
  state: zod_1.z.number().min(0).max(1), // 0: turnOffSensorMode, 1: turnOnSensorMode
583
- }), getSensorMode: zod_1.z.object({}), setTemperatureHysteresis: zod_1.z.object({
954
+ commandNumber: zod_1.z.string().optional().default('39'),
955
+ }), getSensorMode: zod_1.z.object({
956
+ commandNumber: zod_1.z.string().optional().default('3a'),
957
+ }), setTemperatureHysteresis: zod_1.z.object({
584
958
  hysteresis: zod_1.z.number().min(0.1).max(25.5).multipleOf(0.1),
585
- }), getTemperatureHysteresis: zod_1.z.object({}), setTargetTemperaturePrecisely: zod_1.z.object({
959
+ commandNumber: zod_1.z.string().optional().default('43'),
960
+ }), getTemperatureHysteresis: zod_1.z.object({
961
+ commandNumber: zod_1.z.string().optional().default('42'),
962
+ }), setTargetTemperaturePrecisely: zod_1.z.object({
586
963
  targetTemperature: zod_1.z.number().min(5).max(99).multipleOf(0.1),
587
- }), getTargetTemperaturePrecisely: zod_1.z.object({}), setTargetTemperatureStep: zod_1.z.object({
964
+ commandNumber: zod_1.z.string().optional().default('50'),
965
+ }), getTargetTemperaturePrecisely: zod_1.z.object({
966
+ commandNumber: zod_1.z.string().optional().default('51'),
967
+ }), setTargetTemperatureStep: zod_1.z.object({
588
968
  value: zod_1.z.number().min(0.1).max(10).multipleOf(0.1),
589
- }), getTargetTemperatureStep: zod_1.z.object({}) });
969
+ commandNumber: zod_1.z.string().optional().default('03'),
970
+ }), getTargetTemperatureStep: zod_1.z.object({
971
+ commandNumber: zod_1.z.string().optional().default('05'),
972
+ }) });
590
973
  /* --------------------------------------- CO2 SENSOR COMMANDS --------------------------------------- */
591
974
  const CO2SensorCommandSchemas = Object.assign(Object.assign({}, GeneralCommandSchemas), { setCo2BoundaryLevels: zod_1.z.object({
592
975
  good_medium: zod_1.z.number().min(0).max(1500),
593
976
  medium_bad: zod_1.z.number().min(0).max(1500),
594
- }), getCo2BoundaryLevels: zod_1.z.object({}), setCo2AutoZeroValue: zod_1.z.object({
977
+ commandNumber: zod_1.z.string().optional().default('1e'),
978
+ }), getCo2BoundaryLevels: zod_1.z.object({
979
+ commandNumber: zod_1.z.string().optional().default('1f'),
980
+ }), setCo2AutoZeroValue: zod_1.z.object({
595
981
  ppm: zod_1.z.number().min(0).max(1500),
596
- }), getCo2AutoZeroValue: zod_1.z.object({}), setNotifyPeriod: zod_1.z.object({
982
+ commandNumber: zod_1.z.string().optional().default('20'),
983
+ }), getCo2AutoZeroValue: zod_1.z.object({
984
+ commandNumber: zod_1.z.string().optional().default('21'),
985
+ }), setNotifyPeriod: zod_1.z.object({
597
986
  good_zone: zod_1.z.number().min(0).max(255),
598
987
  medium_zone: zod_1.z.number().min(0).max(255),
599
988
  bad_zone: zod_1.z.number().min(0).max(255),
600
- }), getNotifyPeriod: zod_1.z.object({}), setCo2MeasurementPeriod: zod_1.z.object({
989
+ commandNumber: zod_1.z.string().optional().default('22'),
990
+ }), getNotifyPeriod: zod_1.z.object({
991
+ commandNumber: zod_1.z.string().optional().default('23'),
992
+ }), setCo2MeasurementPeriod: zod_1.z.object({
601
993
  good_zone: zod_1.z.number().min(0).max(255),
602
994
  medium_zone: zod_1.z.number().min(0).max(255),
603
995
  bad_zone: zod_1.z.number().min(0).max(255),
604
- }), getCo2MeasurementPeriod: zod_1.z.object({}), setBuzzerNotification: zod_1.z.object({
996
+ commandNumber: zod_1.z.string().optional().default('24'),
997
+ }), getCo2MeasurementPeriod: zod_1.z.object({
998
+ commandNumber: zod_1.z.string().optional().default('25'),
999
+ }), setBuzzerNotification: zod_1.z.object({
605
1000
  duration_good_beeping: zod_1.z.number().min(0).max(255),
606
1001
  duration_good_loud: zod_1.z.number().min(0).max(255),
607
1002
  duration_good_silent: zod_1.z.number().min(0).max(255),
@@ -611,7 +1006,10 @@ const CO2SensorCommandSchemas = Object.assign(Object.assign({}, GeneralCommandSc
611
1006
  duration_bad_beeping: zod_1.z.number().min(0).max(255),
612
1007
  duration_bad_loud: zod_1.z.number().min(0).max(255),
613
1008
  duration_bad_silent: zod_1.z.number().min(0).max(255),
614
- }), getBuzzerNotification: zod_1.z.object({}), setCo2Led: zod_1.z.object({
1009
+ commandNumber: zod_1.z.string().optional().default('26'),
1010
+ }), getBuzzerNotification: zod_1.z.object({
1011
+ commandNumber: zod_1.z.string().optional().default('27'),
1012
+ }), setCo2Led: zod_1.z.object({
615
1013
  red_good: zod_1.z.number().min(0).max(255),
616
1014
  green_good: zod_1.z.number().min(0).max(255),
617
1015
  blue_good: zod_1.z.number().min(0).max(255),
@@ -624,55 +1022,105 @@ const CO2SensorCommandSchemas = Object.assign(Object.assign({}, GeneralCommandSc
624
1022
  green_bad: zod_1.z.number().min(0).max(255),
625
1023
  blue_bad: zod_1.z.number().min(0).max(255),
626
1024
  duration_bad: zod_1.z.number().min(0).max(255),
627
- }), getCo2Led: zod_1.z.object({}), setCo2AutoZeroPeriod: zod_1.z.object({
1025
+ commandNumber: zod_1.z.string().optional().default('28'),
1026
+ }), getCo2Led: zod_1.z.object({
1027
+ commandNumber: zod_1.z.string().optional().default('29'),
1028
+ }), setCo2AutoZeroPeriod: zod_1.z.object({
628
1029
  hours: zod_1.z.number().min(0).max(255),
629
- }), getCo2AutoZeroPeriod: zod_1.z.object({}) });
1030
+ commandNumber: zod_1.z.string().optional().default('2a'),
1031
+ }), getCo2AutoZeroPeriod: zod_1.z.object({
1032
+ commandNumber: zod_1.z.string().optional().default('2b'),
1033
+ }) });
630
1034
  /* --------------------------------------- CO2 DISPLAY COMMANDS --------------------------------------- */
631
1035
  const CO2DisplayCommandSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, GeneralCommandSchemas), DisplayCommandSchemas), PIRCommandSchemas), ChildLockCommandSchemas), { setCo2MeasurementBlindTime: zod_1.z.object({
632
1036
  time: zod_1.z.number().min(0).max(255),
633
- }), getCo2MeasurementBlindTime: zod_1.z.object({}), setCo2BoundaryLevels: zod_1.z.object({
1037
+ commandNumber: zod_1.z.string().optional().default('81'),
1038
+ }), getCo2MeasurementBlindTime: zod_1.z.object({
1039
+ commandNumber: zod_1.z.string().optional().default('80'),
1040
+ }), setCo2BoundaryLevels: zod_1.z.object({
634
1041
  good_medium: zod_1.z.number().min(0).max(1500),
635
1042
  medium_bad: zod_1.z.number().min(0).max(1500),
636
- }), getCo2BoundaryLevels: zod_1.z.object({}), setCo2AutoZeroValue: zod_1.z.object({
1043
+ commandNumber: zod_1.z.string().optional().default('1e'),
1044
+ }), getCo2BoundaryLevels: zod_1.z.object({
1045
+ commandNumber: zod_1.z.string().optional().default('1f'),
1046
+ }), setCo2AutoZeroValue: zod_1.z.object({
637
1047
  ppm: zod_1.z.number().min(0).max(1500),
638
- }), getCo2AutoZeroValue: zod_1.z.object({}), setCo2MeasurementPeriod: zod_1.z.object({
1048
+ commandNumber: zod_1.z.string().optional().default('20'),
1049
+ }), getCo2AutoZeroValue: zod_1.z.object({
1050
+ commandNumber: zod_1.z.string().optional().default('21'),
1051
+ }), setCo2MeasurementPeriod: zod_1.z.object({
639
1052
  good_zone: zod_1.z.number().min(0).max(255),
640
1053
  medium_zone: zod_1.z.number().min(0).max(255),
641
1054
  bad_zone: zod_1.z.number().min(0).max(255),
642
- }), getCo2MeasurementPeriod: zod_1.z.object({}), setCo2AutoZeroPeriod: zod_1.z.object({
1055
+ commandNumber: zod_1.z.string().optional().default('24'),
1056
+ }), getCo2MeasurementPeriod: zod_1.z.object({
1057
+ commandNumber: zod_1.z.string().optional().default('25'),
1058
+ }), setCo2AutoZeroPeriod: zod_1.z.object({
643
1059
  hours: zod_1.z.number().min(0).max(255),
644
- }), getCo2AutoZeroPeriod: zod_1.z.object({}), setCo2ImagesVisibility: zod_1.z.object({
1060
+ commandNumber: zod_1.z.string().optional().default('2a'),
1061
+ }), getCo2AutoZeroPeriod: zod_1.z.object({
1062
+ commandNumber: zod_1.z.string().optional().default('2b'),
1063
+ }), setCo2ImagesVisibility: zod_1.z.object({
645
1064
  chart: zod_1.z.boolean(),
646
1065
  digital_value: zod_1.z.boolean(),
647
1066
  emoji: zod_1.z.boolean(),
648
- }), getCo2ImagesVisibility: zod_1.z.object({}) });
1067
+ commandNumber: zod_1.z.string().optional().default('82'),
1068
+ }), getCo2ImagesVisibility: zod_1.z.object({
1069
+ commandNumber: zod_1.z.string().optional().default('83'),
1070
+ }) });
649
1071
  /* --------------------------------------- CO2 DISPLAY LITE COMMANDS --------------------------------------- */
650
1072
  const CO2DisplayLiteCommandSchemas = Object.assign(Object.assign(Object.assign(Object.assign({}, GeneralCommandSchemas), DisplayCommandSchemas), ChildLockCommandSchemas), { setCo2BoundaryLevels: zod_1.z.object({
651
1073
  good_medium: zod_1.z.number().min(0).max(1500),
652
1074
  medium_bad: zod_1.z.number().min(0).max(1500),
653
- }), getCo2BoundaryLevels: zod_1.z.object({}), setCo2AutoZeroValue: zod_1.z.object({
1075
+ commandNumber: zod_1.z.string().optional().default('1e'),
1076
+ }), getCo2BoundaryLevels: zod_1.z.object({
1077
+ commandNumber: zod_1.z.string().optional().default('1f'),
1078
+ }), setCo2AutoZeroValue: zod_1.z.object({
654
1079
  ppm: zod_1.z.number().min(0).max(1500),
655
- }), getCo2AutoZeroValue: zod_1.z.object({}), setCo2MeasurementPeriod: zod_1.z.object({
1080
+ commandNumber: zod_1.z.string().optional().default('20'),
1081
+ }), getCo2AutoZeroValue: zod_1.z.object({
1082
+ commandNumber: zod_1.z.string().optional().default('21'),
1083
+ }), setCo2MeasurementPeriod: zod_1.z.object({
656
1084
  good_zone: zod_1.z.number().min(0).max(255),
657
1085
  medium_zone: zod_1.z.number().min(0).max(255),
658
1086
  bad_zone: zod_1.z.number().min(0).max(255),
659
- }), getCo2MeasurementPeriod: zod_1.z.object({}), setCo2AutoZeroPeriod: zod_1.z.object({
1087
+ commandNumber: zod_1.z.string().optional().default('24'),
1088
+ }), getCo2MeasurementPeriod: zod_1.z.object({
1089
+ commandNumber: zod_1.z.string().optional().default('25'),
1090
+ }), setCo2AutoZeroPeriod: zod_1.z.object({
660
1091
  hours: zod_1.z.number().min(0).max(255),
661
- }), getCo2AutoZeroPeriod: zod_1.z.object({}), setCo2ImagesVisibility: zod_1.z.object({
1092
+ commandNumber: zod_1.z.string().optional().default('2a'),
1093
+ }), getCo2AutoZeroPeriod: zod_1.z.object({
1094
+ commandNumber: zod_1.z.string().optional().default('2b'),
1095
+ }), setCo2ImagesVisibility: zod_1.z.object({
662
1096
  chart: zod_1.z.boolean(),
663
1097
  digital_value: zod_1.z.boolean(),
664
1098
  emoji: zod_1.z.boolean(),
665
- }), getCo2ImagesVisibility: zod_1.z.object({}), setUplinkSendingOnButtonPress: zod_1.z.object({
1099
+ commandNumber: zod_1.z.string().optional().default('82'),
1100
+ }), getCo2ImagesVisibility: zod_1.z.object({
1101
+ commandNumber: zod_1.z.string().optional().default('83'),
1102
+ }), setUplinkSendingOnButtonPress: zod_1.z.object({
666
1103
  value: zod_1.z.number().min(0).max(1),
667
- }), getUplinkSendingOnButtonPress: zod_1.z.object({}), restartDevice: zod_1.z.object({}) });
1104
+ commandNumber: zod_1.z.string().optional().default('2e'),
1105
+ }), getUplinkSendingOnButtonPress: zod_1.z.object({
1106
+ commandNumber: zod_1.z.string().optional().default('2f'),
1107
+ }), restartDevice: zod_1.z.object({
1108
+ commandNumber: zod_1.z.string().optional().default('a5'),
1109
+ }) });
668
1110
  /* --------------------------------------- HT SENSOR COMMANDS --------------------------------------- */
669
1111
  const HTSensorCommandSchemas = Object.assign(Object.assign({}, GeneralCommandSchemas), { setTemperatureCompensation: zod_1.z.object({
670
1112
  negativeCompensation: zod_1.z.boolean(), // true: negative compensation, false: positive compensation
671
1113
  compensation: zod_1.z.number().min(0).max(25.5).multipleOf(0.1),
672
- }), getTemperatureCompensation: zod_1.z.object({}), setHumidityCompensation: zod_1.z.object({
1114
+ commandNumber: zod_1.z.string().optional().default('31'),
1115
+ }), getTemperatureCompensation: zod_1.z.object({
1116
+ commandNumber: zod_1.z.string().optional().default('32'),
1117
+ }), setHumidityCompensation: zod_1.z.object({
673
1118
  negativeCompensation: zod_1.z.boolean(), // true: negative compensation, false: positive compensation
674
1119
  compensation: zod_1.z.number().min(0).max(255).multipleOf(0.1),
675
- }), getHumidityCompensation: zod_1.z.object({}) });
1120
+ commandNumber: zod_1.z.string().optional().default('33'),
1121
+ }), getHumidityCompensation: zod_1.z.object({
1122
+ commandNumber: zod_1.z.string().optional().default('34'),
1123
+ }) });
676
1124
  // ------------------------------------------------ AQI LED COMMANDS ------------------------------------------------
677
1125
  const AQICommandSchemas = {
678
1126
  setAqiLed: zod_1.z.object({
@@ -682,105 +1130,205 @@ const AQICommandSchemas = {
682
1130
  greenDuration: zod_1.z.number(),
683
1131
  blueBehavior: zod_1.z.number(),
684
1132
  blueDuration: zod_1.z.number(),
1133
+ commandNumber: zod_1.z.string().optional().default('05'),
685
1134
  }),
686
1135
  };
687
1136
  /* --------------------------------------- T-FLOOD COMMANDS --------------------------------------- */
688
- const TFloodCommandSchemas = Object.assign(Object.assign({}, GeneralCommandSchemas), { getTemperature: zod_1.z.object({}), setFloodAlarmTime: zod_1.z.object({
1137
+ const TFloodCommandSchemas = Object.assign(Object.assign({}, GeneralCommandSchemas), { getTemperature: zod_1.z.object({
1138
+ commandNumber: zod_1.z.string().optional().default('01'),
1139
+ }), setFloodAlarmTime: zod_1.z.object({
689
1140
  time: zod_1.z.number().min(0).max(255),
690
- }), getFloodAlarmTime: zod_1.z.object({}), setKeepAlive: zod_1.z.object({
1141
+ commandNumber: zod_1.z.string().optional().default('06'),
1142
+ }), getFloodAlarmTime: zod_1.z.object({
1143
+ commandNumber: zod_1.z.string().optional().default('10'),
1144
+ }), setKeepAlive: zod_1.z.object({
691
1145
  time: zod_1.z.number().min(1).max(14400),
692
- }), getDeviceVersion: zod_1.z.object({}), setFloodEventSendTime: zod_1.z.object({
1146
+ commandNumber: zod_1.z.string().optional().default('02'),
1147
+ }), getDeviceVersion: zod_1.z.object({
1148
+ commandNumber: zod_1.z.string().optional().default('04'),
1149
+ }), setFloodEventSendTime: zod_1.z.object({
693
1150
  time: zod_1.z.number().min(0).max(255),
694
- }), getFloodEventSendTime: zod_1.z.object({}), setFloodEventUplinkType: zod_1.z.object({
1151
+ commandNumber: zod_1.z.string().optional().default('08'),
1152
+ }), getFloodEventSendTime: zod_1.z.object({
1153
+ commandNumber: zod_1.z.string().optional().default('09'),
1154
+ }), setFloodEventUplinkType: zod_1.z.object({
695
1155
  type: zod_1.z.enum(['01', '00']), // 01: confirmedUplinks, 00: unconfirmedUplinks
696
- }), getFloodEventUplinkType: zod_1.z.object({}) });
1156
+ commandNumber: zod_1.z.string().optional().default('13'),
1157
+ }), getFloodEventUplinkType: zod_1.z.object({
1158
+ commandNumber: zod_1.z.string().optional().default('14'),
1159
+ }) });
697
1160
  /* --------------------------------------- TRING THERMOSTAT COMMANDS --------------------------------------- */
698
1161
  const TringThermostatCommandSchemas = {
699
1162
  setThermostatTarget: zod_1.z.object({
700
1163
  target: zod_1.z.number(),
1164
+ commandNumber: zod_1.z.string().optional().default('01'),
701
1165
  }),
702
1166
  setThermostatConfig: zod_1.z.object({
703
1167
  time: zod_1.z.number(),
704
1168
  temp_span: zod_1.z.number(),
705
1169
  temp_sampling: zod_1.z.number(),
706
1170
  target: zod_1.z.number(),
1171
+ commandNumber: zod_1.z.string().optional().default('02'),
707
1172
  }),
708
1173
  setKeepAlive: zod_1.z.object({
709
1174
  time: zod_1.z.number(),
1175
+ commandNumber: zod_1.z.string().optional().default('02'),
710
1176
  }),
711
1177
  };
712
1178
  /* --------------------------------------- DSK DEVICE COMMANDS --------------------------------------- */
713
1179
  const DSKDeviceCommandSchemas = {
714
1180
  setVrvStatus: zod_1.z.object({
715
1181
  status: zod_1.z.number(),
1182
+ commandNumber: zod_1.z.string().optional().default('1e'),
716
1183
  }),
717
1184
  setVrvOnTime: zod_1.z.object({
718
1185
  time: zod_1.z.number(),
1186
+ commandNumber: zod_1.z.string().optional().default('20'),
719
1187
  }),
720
1188
  setVrvOffTime: zod_1.z.object({
721
1189
  time: zod_1.z.number(),
1190
+ commandNumber: zod_1.z.string().optional().default('21'),
722
1191
  }),
723
1192
  };
724
1193
  /* --------------------------------------- BUTTON COMMANDS --------------------------------------- */
725
1194
  const ButtonCommandSchemas = Object.assign(Object.assign({}, GeneralCommandSchemas), { setSendEventLater: zod_1.z.object({
726
1195
  value: zod_1.z.number().min(0).max(1), // 1: send later when allowed, 0: Don't send later when allowed
727
- }), getSendEventLater: zod_1.z.object({}), clearPressEventCounter: zod_1.z.object({
1196
+ commandNumber: zod_1.z.string().optional().default('1e'),
1197
+ }), getSendEventLater: zod_1.z.object({
1198
+ commandNumber: zod_1.z.string().optional().default('1f'),
1199
+ }), clearPressEventCounter: zod_1.z.object({
728
1200
  value: zod_1.z.number().min(1).max(3),
729
- }), restartDevice: zod_1.z.object({}), getSinglePressEventCounter: zod_1.z.object({}), getDoublePressEventCounter: zod_1.z.object({}), getTriplePressEventCounter: zod_1.z.object({}) });
1201
+ commandNumber: zod_1.z.string().optional().default('20'),
1202
+ }), restartDevice: zod_1.z.object({
1203
+ commandNumber: zod_1.z.string().optional().default('a5'),
1204
+ }), getSinglePressEventCounter: zod_1.z.object({
1205
+ commandNumber: zod_1.z.string().optional().default('b1'),
1206
+ }), getDoublePressEventCounter: zod_1.z.object({
1207
+ commandNumber: zod_1.z.string().optional().default('b2'),
1208
+ }), getTriplePressEventCounter: zod_1.z.object({
1209
+ commandNumber: zod_1.z.string().optional().default('b3'),
1210
+ }) });
730
1211
  /* --------------------------------------- HT PIR LITE COMMANDS --------------------------------------- */
731
1212
  const HTPirLiteCommandSchemas = Object.assign(Object.assign({}, GeneralCommandSchemas), { setUplinkSendingOnButtonPress: zod_1.z.object({
732
1213
  value: zod_1.z.number().min(0).max(1),
733
- }), getUplinkSendingOnButtonPress: zod_1.z.object({}), restartDevice: zod_1.z.object({}), setPIRSensorState: zod_1.z.object({
1214
+ commandNumber: zod_1.z.string().optional().default('2e'),
1215
+ }), getUplinkSendingOnButtonPress: zod_1.z.object({
1216
+ commandNumber: zod_1.z.string().optional().default('2f'),
1217
+ }), restartDevice: zod_1.z.object({
1218
+ commandNumber: zod_1.z.string().optional().default('a5'),
1219
+ }), setPIRSensorState: zod_1.z.object({
734
1220
  state: zod_1.z.number().min(0).max(1), // 0: disabled, 1: enabled
735
- }), getPIRSensorState: zod_1.z.object({}), setPIRSensorSensitivity: zod_1.z.object({
1221
+ commandNumber: zod_1.z.string().optional().default('36'),
1222
+ }), getPIRSensorState: zod_1.z.object({
1223
+ commandNumber: zod_1.z.string().optional().default('37'),
1224
+ }), setPIRSensorSensitivity: zod_1.z.object({
736
1225
  sensitivity: zod_1.z.number().min(12).max(255),
737
- }), getPIRSensorSensitivity: zod_1.z.object({}), setOccupancyTimeout: zod_1.z.object({
1226
+ commandNumber: zod_1.z.string().optional().default('3e'),
1227
+ }), getPIRSensorSensitivity: zod_1.z.object({
1228
+ commandNumber: zod_1.z.string().optional().default('3f'),
1229
+ }), setOccupancyTimeout: zod_1.z.object({
738
1230
  timeout: zod_1.z.number().min(15).max(65535), // in seconds, between 15 and 65535
739
- }), getOccupancyTimeout: zod_1.z.object({}) });
1231
+ commandNumber: zod_1.z.string().optional().default('38'),
1232
+ }), getOccupancyTimeout: zod_1.z.object({
1233
+ commandNumber: zod_1.z.string().optional().default('39'),
1234
+ }) });
740
1235
  /* --------------------------------------- CO2 PIR LITE COMMANDS --------------------------------------- */
741
1236
  const Co2PirLiteCommandSchemas = Object.assign(Object.assign({}, GeneralCommandSchemas), { setPIRSensorState: zod_1.z.object({
742
1237
  state: zod_1.z.number().min(0).max(1), // 0: disabled, 1: enabled
743
- }), getPIRSensorState: zod_1.z.object({}), setPIRSensorSensitivity: zod_1.z.object({
1238
+ commandNumber: zod_1.z.string().optional().default('36'),
1239
+ }), getPIRSensorState: zod_1.z.object({
1240
+ commandNumber: zod_1.z.string().optional().default('37'),
1241
+ }), setPIRSensorSensitivity: zod_1.z.object({
744
1242
  sensitivity: zod_1.z.number().min(12).max(255),
745
- }), getPIRSensorSensitivity: zod_1.z.object({}), setOccupancyTimeout: zod_1.z.object({
1243
+ commandNumber: zod_1.z.string().optional().default('3e'),
1244
+ }), getPIRSensorSensitivity: zod_1.z.object({
1245
+ commandNumber: zod_1.z.string().optional().default('3f'),
1246
+ }), setOccupancyTimeout: zod_1.z.object({
746
1247
  timeout: zod_1.z.number().min(15).max(65535), // in seconds, between 15 and 65535
747
- }), getOccupancyTimeout: zod_1.z.object({}), restartDevice: zod_1.z.object({}), setCo2BoundaryLevels: zod_1.z.object({
1248
+ commandNumber: zod_1.z.string().optional().default('38'),
1249
+ }), getOccupancyTimeout: zod_1.z.object({
1250
+ commandNumber: zod_1.z.string().optional().default('39'),
1251
+ }), restartDevice: zod_1.z.object({
1252
+ commandNumber: zod_1.z.string().optional().default('a5'),
1253
+ }), setCo2BoundaryLevels: zod_1.z.object({
748
1254
  good_medium: zod_1.z.number().min(0).max(1500),
749
1255
  medium_bad: zod_1.z.number().min(0).max(1500),
750
- }), getCo2BoundaryLevels: zod_1.z.object({}), setCo2AutoZeroValue: zod_1.z.object({
1256
+ commandNumber: zod_1.z.string().optional().default('1e'),
1257
+ }), getCo2BoundaryLevels: zod_1.z.object({
1258
+ commandNumber: zod_1.z.string().optional().default('1f'),
1259
+ }), setCo2AutoZeroValue: zod_1.z.object({
751
1260
  ppm: zod_1.z.number().min(0).max(1500),
752
- }), getCo2AutoZeroValue: zod_1.z.object({}), setCo2MeasurementPeriod: zod_1.z.object({
1261
+ commandNumber: zod_1.z.string().optional().default('20'),
1262
+ }), getCo2AutoZeroValue: zod_1.z.object({
1263
+ commandNumber: zod_1.z.string().optional().default('21'),
1264
+ }), setCo2MeasurementPeriod: zod_1.z.object({
753
1265
  good_zone: zod_1.z.number().min(0).max(255),
754
1266
  medium_zone: zod_1.z.number().min(0).max(255),
755
1267
  bad_zone: zod_1.z.number().min(0).max(255),
756
- }), getCo2MeasurementPeriod: zod_1.z.object({}), setCo2AutoZeroPeriod: zod_1.z.object({
1268
+ commandNumber: zod_1.z.string().optional().default('24'),
1269
+ }), getCo2MeasurementPeriod: zod_1.z.object({
1270
+ commandNumber: zod_1.z.string().optional().default('25'),
1271
+ }), setCo2AutoZeroPeriod: zod_1.z.object({
757
1272
  hours: zod_1.z.number().min(0).max(255),
758
- }), getCo2AutoZeroPeriod: zod_1.z.object({}) });
1273
+ commandNumber: zod_1.z.string().optional().default('2a'),
1274
+ }), getCo2AutoZeroPeriod: zod_1.z.object({
1275
+ commandNumber: zod_1.z.string().optional().default('2b'),
1276
+ }) });
759
1277
  /* --------------------------------------- Melissa --------------------------------------- */
760
1278
  const MelissaCommandSchemas = Object.assign(Object.assign({}, GeneralCommandSchemas), { setIrCodeRecording: zod_1.z.object({
761
1279
  time: zod_1.z.number().min(0).max(255),
762
1280
  position: zod_1.z.number().min(0).max(10),
1281
+ commandNumber: zod_1.z.string().optional().default('09'),
763
1282
  }) });
764
1283
  /* --------------------------------------- MULTISENSOR COMMANDS --------------------------------------- */
765
1284
  const MultiSensorCommandSchemas = Object.assign(Object.assign({}, GeneralCommandSchemas), { setLightState: zod_1.z.object({
766
1285
  enabled: zod_1.z.boolean(),
767
- }), getLightState: zod_1.z.object({}), setHallState: zod_1.z.object({
1286
+ commandNumber: zod_1.z.string().optional().default('1e'),
1287
+ }), getLightState: zod_1.z.object({
1288
+ commandNumber: zod_1.z.string().optional().default('1f'),
1289
+ }), setHallState: zod_1.z.object({
768
1290
  enabled: zod_1.z.boolean(),
769
- }), getHallState: zod_1.z.object({}), setHallBlindPeriod: zod_1.z.object({
1291
+ commandNumber: zod_1.z.string().optional().default('20'),
1292
+ }), getHallState: zod_1.z.object({
1293
+ commandNumber: zod_1.z.string().optional().default('21'),
1294
+ }), setHallBlindPeriod: zod_1.z.object({
770
1295
  period: zod_1.z.number().min(0).max(65535),
771
- }), getHallBlindPeriod: zod_1.z.object({}), setMicrophoneState: zod_1.z.object({
1296
+ commandNumber: zod_1.z.string().optional().default('22'),
1297
+ }), getHallBlindPeriod: zod_1.z.object({
1298
+ commandNumber: zod_1.z.string().optional().default('23'),
1299
+ }), setMicrophoneState: zod_1.z.object({
772
1300
  enabled: zod_1.z.boolean(),
773
- }), getMicrophoneState: zod_1.z.object({}), setMicrophoneSamplingPeriod: zod_1.z.object({
1301
+ commandNumber: zod_1.z.string().optional().default('24'),
1302
+ }), getMicrophoneState: zod_1.z.object({
1303
+ commandNumber: zod_1.z.string().optional().default('25'),
1304
+ }), setMicrophoneSamplingPeriod: zod_1.z.object({
774
1305
  period: zod_1.z.number().min(0).max(65535),
775
- }), getMicrophoneSamplingPeriod: zod_1.z.object({}), setGasState: zod_1.z.object({
1306
+ commandNumber: zod_1.z.string().optional().default('26'),
1307
+ }), getMicrophoneSamplingPeriod: zod_1.z.object({
1308
+ commandNumber: zod_1.z.string().optional().default('27'),
1309
+ }), setGasState: zod_1.z.object({
776
1310
  enabled: zod_1.z.boolean(),
777
- }), getGasState: zod_1.z.object({}), setGasMeasurementPeriod: zod_1.z.object({
1311
+ commandNumber: zod_1.z.string().optional().default('28'),
1312
+ }), getGasState: zod_1.z.object({
1313
+ commandNumber: zod_1.z.string().optional().default('29'),
1314
+ }), setGasMeasurementPeriod: zod_1.z.object({
778
1315
  minutes: zod_1.z.number().min(0).max(255),
779
- }), getGasMeasurementPeriod: zod_1.z.object({}), setPirState: zod_1.z.object({
1316
+ commandNumber: zod_1.z.string().optional().default('2a'),
1317
+ }), getGasMeasurementPeriod: zod_1.z.object({
1318
+ commandNumber: zod_1.z.string().optional().default('2b'),
1319
+ }), setPirState: zod_1.z.object({
780
1320
  enabled: zod_1.z.boolean(),
781
- }), getPirState: zod_1.z.object({}), setPirActiveReportingPeriod: zod_1.z.object({
1321
+ commandNumber: zod_1.z.string().optional().default('2c'),
1322
+ }), getPirState: zod_1.z.object({
1323
+ commandNumber: zod_1.z.string().optional().default('2d'),
1324
+ }), setPirActiveReportingPeriod: zod_1.z.object({
782
1325
  time: zod_1.z.number().min(0).max(65535),
783
- }), getPirActiveReportingPeriod: zod_1.z.object({}), getRegion: zod_1.z.object({}), restart: zod_1.z.object({}) });
1326
+ commandNumber: zod_1.z.string().optional().default('2e'),
1327
+ }), getPirActiveReportingPeriod: zod_1.z.object({
1328
+ commandNumber: zod_1.z.string().optional().default('2f'),
1329
+ }), restart: zod_1.z.object({
1330
+ commandNumber: zod_1.z.string().optional().default('a5'),
1331
+ }) });
784
1332
  /* --------------------------------------- EXPORT ALL SCHEMA GROUPS --------------------------------------- */
785
1333
  exports.DeviceCommandSchemas = {
786
1334
  GeneralCommandSchemas,