mclimate-payload-helper 1.2.1 → 1.2.2

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 (41) hide show
  1. package/dist/decoders/commandsReadingHelper.d.ts.map +1 -1
  2. package/dist/decoders/commandsReadingHelper.js +153 -121
  3. package/dist/decoders/commandsReadingHelper.js.map +1 -1
  4. package/dist/encoders/Co2DisplayCommonCommands.d.ts +4 -0
  5. package/dist/encoders/Co2DisplayCommonCommands.d.ts.map +1 -1
  6. package/dist/encoders/Co2DisplayCommonCommands.js +38 -0
  7. package/dist/encoders/Co2DisplayCommonCommands.js.map +1 -1
  8. package/package.json +1 -1
  9. package/src/decoders/commandsReadingHelper.ts +142 -122
  10. package/dist/encoders/FanCoilThermostat.d.ts +0 -61
  11. package/dist/encoders/FanCoilThermostat.d.ts.map +0 -1
  12. package/dist/encoders/FanCoilThermostat.js +0 -719
  13. package/dist/encoders/FanCoilThermostat.js.map +0 -1
  14. package/dist/encoders/SetAqiLed.d.ts +0 -6
  15. package/dist/encoders/SetAqiLed.d.ts.map +0 -1
  16. package/dist/encoders/SetAqiLed.js +0 -46
  17. package/dist/encoders/SetAqiLed.js.map +0 -1
  18. package/dist/encoders/types/enumValidation.d.ts +0 -6
  19. package/dist/encoders/types/enumValidation.d.ts.map +0 -1
  20. package/dist/encoders/types/enumValidation.js +0 -50
  21. package/dist/encoders/types/enumValidation.js.map +0 -1
  22. package/dist/encoders/types/schemaValidatedEnums.d.ts +0 -40
  23. package/dist/encoders/types/schemaValidatedEnums.d.ts.map +0 -1
  24. package/dist/encoders/types/schemaValidatedEnums.js +0 -181
  25. package/dist/encoders/types/schemaValidatedEnums.js.map +0 -1
  26. package/dist/types/deviceTypes.d.ts +0 -19
  27. package/dist/types/deviceTypes.d.ts.map +0 -1
  28. package/dist/types/deviceTypes.js +0 -23
  29. package/dist/types/deviceTypes.js.map +0 -1
  30. package/dist/types/index.d.ts +0 -2
  31. package/dist/types/index.d.ts.map +0 -1
  32. package/dist/types/index.js +0 -18
  33. package/dist/types/index.js.map +0 -1
  34. package/dist/types/types.d.ts +0 -13
  35. package/dist/types/types.d.ts.map +0 -1
  36. package/dist/types/types.js +0 -9
  37. package/dist/types/types.js.map +0 -1
  38. package/dist/validation.d.ts +0 -3
  39. package/dist/validation.d.ts.map +0 -1
  40. package/dist/validation.js +0 -8
  41. package/dist/validation.js.map +0 -1
@@ -1588,10 +1588,24 @@ export const commandsReadingHelper = (hexData: string, payloadLength: number, de
1588
1588
  {
1589
1589
  try {
1590
1590
  let data
1591
- command_len = 3
1592
- let state = parseInt(commands[i + 1], 16)
1593
- let time = (parseInt(commands[i + 2], 16) << 8) | parseInt(commands[i + 3], 16)
1594
- data = { relayTimerInSeconds: { state, time } }
1591
+ if (deviceType === DeviceType.Vicki) {
1592
+ command_len = 2;
1593
+ let notificationByte = parseInt(commands[i + 1], 16);
1594
+ // Extract notification flags from bits
1595
+ let temperatureRestoredAfterManualBoost = !!(notificationByte & 0x01); // Bit 0
1596
+ let temperatureChangedByHeatingSchedule = !!(notificationByte & 0x02); // Bit 1
1597
+ data = {
1598
+ notifications: {
1599
+ temperatureRestoredAfterManualBoost: temperatureRestoredAfterManualBoost,
1600
+ temperatureChangedByHeatingSchedule: temperatureChangedByHeatingSchedule
1601
+ }
1602
+ };
1603
+ }else{
1604
+ command_len = 3
1605
+ let state = parseInt(commands[i + 1], 16)
1606
+ let time = (parseInt(commands[i + 2], 16) << 8) | parseInt(commands[i + 3], 16)
1607
+ data = { relayTimerInSeconds: { state, time } }
1608
+ }
1595
1609
  Object.assign(resultToPass, { ...resultToPass }, { ...data })
1596
1610
  } catch (e) {
1597
1611
  throw new CustomError({
@@ -1656,6 +1670,9 @@ export const commandsReadingHelper = (hexData: string, payloadLength: number, de
1656
1670
  if (deviceType === DeviceType.FanCoilThermostat) {
1657
1671
  command_len = 1
1658
1672
  data = { fanSpeedNotOccupied: parseInt(commands[i + 1], 16) }
1673
+ }else{
1674
+ command_len = 1
1675
+ data = { manualChangeRelayState: parseInt(commands[i + 1], 16) }
1659
1676
  }
1660
1677
  Object.assign(resultToPass, { ...resultToPass }, { ...data })
1661
1678
  } catch (e) {
@@ -1701,6 +1718,11 @@ export const commandsReadingHelper = (hexData: string, payloadLength: number, de
1701
1718
  data = {
1702
1719
  overheatingEvents: { events: parseInt(commands[i + 1], 16), temperature: parseInt(commands[i + 2], 16) },
1703
1720
  }
1721
+ } else if (deviceType === DeviceType.Vicki) {
1722
+ command_len = 1;
1723
+ let offsetByte = parseInt(commands[i + 1], 16);
1724
+ let offsetHours = (offsetByte & 0x80) ? (offsetByte - 256) : offsetByte;
1725
+ data = { deviceTimeZone: offsetHours };
1704
1726
  }
1705
1727
  Object.assign(resultToPass, { ...resultToPass }, { ...data })
1706
1728
  } catch (e) {
@@ -1754,6 +1776,10 @@ export const commandsReadingHelper = (hexData: string, payloadLength: number, de
1754
1776
  current: (parseInt(commands[i + 2], 16) << 8) | parseInt(commands[i + 3], 16),
1755
1777
  },
1756
1778
  }
1779
+ }else{
1780
+ command_len = 1;
1781
+ let timeValue = parseInt(commands[i + 1], 16);
1782
+ data = { autoSetpointRestoreStatus: timeValue === 0 ? 0 : timeValue * 10 };
1757
1783
  }
1758
1784
  Object.assign(resultToPass, { ...resultToPass }, { ...data })
1759
1785
  } catch (e) {
@@ -1893,6 +1919,9 @@ export const commandsReadingHelper = (hexData: string, payloadLength: number, de
1893
1919
  if (deviceType === DeviceType.FanCoilThermostat) {
1894
1920
  command_len = 1
1895
1921
  data = { frostProtectionStatus: parseInt(commands[i + 1], 16) }
1922
+ }else{
1923
+ command_len = 1;
1924
+ data = { timeRequestByMACcommand: parseInt(commands[i + 1], 16) };
1896
1925
  }
1897
1926
  Object.assign(resultToPass, { ...resultToPass }, { ...data })
1898
1927
  } catch (e) {
@@ -2307,23 +2336,6 @@ export const commandsReadingHelper = (hexData: string, payloadLength: number, de
2307
2336
  }
2308
2337
  }
2309
2338
  break
2310
- case '58': {
2311
- command_len = 1;
2312
- let notificationByte = parseInt(commands[i + 1], 16);
2313
-
2314
- // Extract notification flags from bits
2315
- let temperatureRestoredAfterManualBoost = !!(notificationByte & 0x01); // Bit 0
2316
- let temperatureChangedByHeatingSchedule = !!(notificationByte & 0x02); // Bit 1
2317
-
2318
- let data = {
2319
- notifications: {
2320
- temperatureRestoredAfterManualBoost: temperatureRestoredAfterManualBoost,
2321
- temperatureChangedByHeatingSchedule: temperatureChangedByHeatingSchedule
2322
- }
2323
- };
2324
- Object.assign(resultToPass, { ...resultToPass }, { ...data })
2325
- }
2326
- break;
2327
2339
  case '5a':
2328
2340
  {
2329
2341
  try {
@@ -2441,24 +2453,6 @@ export const commandsReadingHelper = (hexData: string, payloadLength: number, de
2441
2453
  }
2442
2454
  }
2443
2455
  break
2444
- case '5d':
2445
- {
2446
- try {
2447
- command_len = 1
2448
- let data = { manualChangeRelayState: parseInt(commands[i + 1], 16) }
2449
-
2450
- Object.assign(resultToPass, { ...resultToPass }, { ...data })
2451
- } catch (e) {
2452
- throw new CustomError({
2453
- message: `Failed to process command '5d'`,
2454
- hexData,
2455
- command,
2456
- deviceType,
2457
- originalError: e as Error,
2458
- })
2459
- }
2460
- }
2461
- break
2462
2456
  case '5e':
2463
2457
  {
2464
2458
  try {
@@ -2487,116 +2481,142 @@ export const commandsReadingHelper = (hexData: string, payloadLength: number, de
2487
2481
  })
2488
2482
  }
2489
2483
  }
2490
- break
2491
- case '60': {
2492
- command_len = 1;
2493
- let offsetByte = parseInt(commands[i + 1], 16);
2494
- let offsetHours = (offsetByte & 0x80) ? (offsetByte - 256) : offsetByte;
2495
- let data = { deviceTimeZone: offsetHours };
2496
- Object.assign(resultToPass, { ...resultToPass }, { ...data })
2497
- }
2498
2484
  break;
2499
- case '62': {
2500
- command_len = 1;
2501
- let timeValue = parseInt(commands[i + 1], 16);
2502
- let data = { autoSetpointRestoreStatus: timeValue === 0 ? 0 : timeValue * 10 };
2503
- Object.assign(resultToPass, { ...resultToPass }, { ...data })
2504
- }
2505
- break;
2506
-
2507
2485
  case '64': {
2508
- command_len = 1;
2509
- let ledDurationValue = parseInt(commands[i + 1], 16);
2510
- let durationInSeconds = ledDurationValue / 2; // As per the docs, value is divided by 2 to get seconds
2486
+ try {
2487
+ command_len = 1;
2488
+ let ledDurationValue = parseInt(commands[i + 1], 16);
2489
+ let durationInSeconds = ledDurationValue / 2; // As per the docs, value is divided by 2 to get seconds
2511
2490
 
2512
- let data = {
2513
- ledIndicationDuration: durationInSeconds
2514
- };
2515
- Object.assign(resultToPass, { ...resultToPass }, { ...data })
2491
+ let data = {
2492
+ ledIndicationDuration: durationInSeconds
2493
+ };
2494
+ Object.assign(resultToPass, { ...resultToPass }, { ...data })
2495
+ } catch (e) {
2496
+ throw new CustomError({
2497
+ message: `Failed to process command '64'`,
2498
+ hexData,
2499
+ command,
2500
+ deviceType,
2501
+ originalError: e as Error,
2502
+ })
2503
+ }
2516
2504
  }
2517
2505
  break;
2518
-
2519
2506
  case '66': {
2520
- command_len = 2;
2507
+ try {
2508
+ command_len = 2;
2521
2509
 
2522
- let tempHigh = parseInt(commands[i + 1], 16);
2523
- let tempLow = parseInt(commands[i + 2], 16);
2524
- let targetTemp = (tempHigh << 8) | tempLow;
2525
- let data = {
2526
- offlineTargetTemperature: targetTemp === 0 ? 0 : targetTemp / 10
2527
- };
2528
- Object.assign(resultToPass, { ...resultToPass }, { ...data })
2510
+ let tempHigh = parseInt(commands[i + 1], 16);
2511
+ let tempLow = parseInt(commands[i + 2], 16);
2512
+ let targetTemp = (tempHigh << 8) | tempLow;
2513
+ let data = {
2514
+ offlineTargetTemperature: targetTemp === 0 ? 0 : targetTemp / 10
2515
+ };
2516
+ Object.assign(resultToPass, { ...resultToPass }, { ...data })
2517
+ } catch (e) {
2518
+ throw new CustomError({
2519
+ message: `Failed to process command '66'`,
2520
+ hexData,
2521
+ command,
2522
+ deviceType,
2523
+ originalError: e as Error,
2524
+ })
2525
+ }
2529
2526
  }
2530
2527
  break;
2531
2528
  case '68': {
2532
- command_len = 1;
2533
- let data = { internalAlgoTemporaryState: parseInt(commands[i + 1], 16) === 0 ? true : false };
2534
- Object.assign(resultToPass, { ...resultToPass }, { ...data })
2529
+ try {
2530
+ command_len = 1;
2531
+ let data = { internalAlgoTemporaryState: parseInt(commands[i + 1], 16) === 0 ? true : false };
2532
+ Object.assign(resultToPass, { ...resultToPass }, { ...data })
2533
+ } catch (e) {
2534
+ throw new CustomError({
2535
+ message: `Failed to process command '68'`,
2536
+ hexData,
2537
+ command,
2538
+ deviceType,
2539
+ originalError: e as Error,
2540
+ })
2541
+ }
2535
2542
  }
2536
2543
  break;
2537
2544
  case '6a': {
2538
- command_len = 12;
2539
- let temperatureLevels: { [key: string]: number } = {};
2545
+ try {
2546
+ command_len = 12;
2547
+ let temperatureLevels: { [key: string]: number } = {};
2540
2548
 
2541
- // Process 6 scale levels (0-5), each with a 2-byte temperature value
2542
- for (let level = 0; level < 6; level++) {
2543
- let tempHighByte = parseInt(commands[i + 1 + (level * 2)], 16);
2544
- let tempLowByte = parseInt(commands[i + 2 + (level * 2)], 16);
2545
- let tempValue = (tempHighByte << 8) | tempLowByte;
2549
+ // Process 6 scale levels (0-5), each with a 2-byte temperature value
2550
+ for (let level = 0; level < 6; level++) {
2551
+ let tempHighByte = parseInt(commands[i + 1 + (level * 2)], 16);
2552
+ let tempLowByte = parseInt(commands[i + 2 + (level * 2)], 16);
2553
+ let tempValue = (tempHighByte << 8) | tempLowByte;
2546
2554
 
2547
- // The temperature values are pre-multiplied by 10
2548
- temperatureLevels['level' + level] = tempValue / 10;
2549
- }
2555
+ // The temperature values are pre-multiplied by 10
2556
+ temperatureLevels['level' + level] = tempValue / 10;
2557
+ }
2550
2558
 
2551
- let data = {
2552
- temperatureLevels: temperatureLevels
2553
- };
2559
+ let data = {
2560
+ temperatureLevels: temperatureLevels
2561
+ };
2554
2562
 
2555
- Object.assign(resultToPass, { ...resultToPass }, { ...data })
2563
+ Object.assign(resultToPass, { ...resultToPass }, { ...data })
2564
+ } catch (e) {
2565
+ throw new CustomError({
2566
+ message: `Failed to process command '6a'`,
2567
+ hexData,
2568
+ command,
2569
+ deviceType,
2570
+ originalError: e as Error,
2571
+ })
2572
+ }
2556
2573
  }
2557
2574
  break;
2558
2575
  case '6c': {
2559
- command_len = 4;
2560
- let eventsHighByte = parseInt(commands[i + 2], 16); // Events 19-16
2561
- let eventsMidByte = parseInt(commands[i + 3], 16); // Events 15-8
2562
- let eventsLowByte = parseInt(commands[i + 4], 16); // Events 7-0
2576
+ try {
2577
+ command_len = 4;
2578
+ let eventsHighByte = parseInt(commands[i + 2], 16); // Events 19-16
2579
+ let eventsMidByte = parseInt(commands[i + 3], 16); // Events 15-8
2580
+ let eventsLowByte = parseInt(commands[i + 4], 16); // Events 7-0
2563
2581
 
2564
- // Create a more structured and readable format for heating events
2565
- let heatingEventStates: { [key: string]: boolean } = {};
2582
+ // Create a more structured and readable format for heating events
2583
+ let heatingEventStates: { [key: string]: boolean } = {};
2566
2584
 
2567
- // Process all 20 events (0-19) in a single loop
2568
- for (let eventIdx = 0; eventIdx < 20; eventIdx++) {
2569
- // Calculate which bit to check
2570
- let bitPosition;
2571
- if (eventIdx >= 16) {
2572
- // Events 16-19 in high byte
2573
- bitPosition = eventIdx - 16;
2574
- heatingEventStates[eventIdx] = !!(eventsHighByte & (1 << bitPosition));
2575
- } else if (eventIdx >= 8) {
2576
- // Events 8-15 in mid byte
2577
- bitPosition = eventIdx - 8;
2578
- heatingEventStates[eventIdx] = !!(eventsMidByte & (1 << bitPosition));
2579
- } else {
2580
- // Events 0-7 in low byte
2581
- bitPosition = eventIdx;
2582
- heatingEventStates[eventIdx] = !!(eventsLowByte & (1 << bitPosition));
2585
+ // Process all 20 events (0-19) in a single loop
2586
+ for (let eventIdx = 0; eventIdx < 20; eventIdx++) {
2587
+ // Calculate which bit to check
2588
+ let bitPosition;
2589
+ if (eventIdx >= 16) {
2590
+ // Events 16-19 in high byte
2591
+ bitPosition = eventIdx - 16;
2592
+ heatingEventStates[eventIdx] = !!(eventsHighByte & (1 << bitPosition));
2593
+ } else if (eventIdx >= 8) {
2594
+ // Events 8-15 in mid byte
2595
+ bitPosition = eventIdx - 8;
2596
+ heatingEventStates[eventIdx] = !!(eventsMidByte & (1 << bitPosition));
2597
+ } else {
2598
+ // Events 0-7 in low byte
2599
+ bitPosition = eventIdx;
2600
+ heatingEventStates[eventIdx] = !!(eventsLowByte & (1 << bitPosition));
2601
+ }
2583
2602
  }
2584
- }
2585
2603
 
2586
- let data = {
2587
- heatingEventStates: heatingEventStates
2588
- };
2604
+ let data = {
2605
+ heatingEventStates: heatingEventStates
2606
+ };
2589
2607
 
2590
- Object.assign(resultToPass, { ...resultToPass }, { ...data });
2591
- break;
2592
- }
2593
- case '6e': {
2594
- command_len = 1;
2595
- let data = { timeRequestByMACcommand: parseInt(commands[i + 1], 16) };
2596
- Object.assign(resultToPass, { ...resultToPass }, { ...data });
2608
+ Object.assign(resultToPass, { ...resultToPass }, { ...data });
2609
+ } catch (e) {
2610
+ throw new CustomError({
2611
+ message: `Failed to process command '6c'`,
2612
+ hexData,
2613
+ command,
2614
+ deviceType,
2615
+ originalError: e as Error,
2616
+ })
2617
+ }
2597
2618
  break;
2598
2619
  }
2599
-
2600
2620
  case '9b':
2601
2621
  {
2602
2622
  try {
@@ -1,61 +0,0 @@
1
- import { BaseCommand } from '../encoders';
2
- import { FanCoilThermostatCommandTypes } from '../encoders/types';
3
- export declare class FanCoilThermostatCommands {
4
- static setTargetTemperatureStep(params: FanCoilThermostatCommandTypes.SetTargetTemperatureStepParams): BaseCommand;
5
- static getTargetTemperatureStep(): BaseCommand;
6
- static setKeysLock(params: FanCoilThermostatCommandTypes.SetKeysLockParams): BaseCommand;
7
- static getKeysLock(): BaseCommand;
8
- static setFanCoilTarget(params: FanCoilThermostatCommandTypes.SetFanCoilTargetParams): BaseCommand;
9
- static setTargetTemperature(params: FanCoilThermostatCommandTypes.SetTargetTemperatureFanCoilParams): BaseCommand;
10
- static setFctOperationalMode(params: FanCoilThermostatCommandTypes.SetFctOperationalModeParams): BaseCommand;
11
- static setValveOpenCloseTime(params: FanCoilThermostatCommandTypes.SetValveOpenCloseTimeParams): BaseCommand;
12
- static getValveOpenCloseTime(): BaseCommand;
13
- static setExtAutomaticTemperatureControl(params: FanCoilThermostatCommandTypes.SetExtAutomaticTemperatureControlParams): BaseCommand;
14
- static getExtAutomaticTemperatureControl(): BaseCommand;
15
- static setFanSpeed(params: FanCoilThermostatCommandTypes.SetFanSpeedParams): BaseCommand;
16
- static getFanSpeed(): BaseCommand;
17
- static setFanSpeedLimit(params: FanCoilThermostatCommandTypes.SetFanSpeedLimitParams): BaseCommand;
18
- static getFanSpeedLimit(): BaseCommand;
19
- static setEcmVoltageRange(params: FanCoilThermostatCommandTypes.SetEcmVoltageRangeParams): BaseCommand;
20
- static getEcmVoltageRange(): BaseCommand;
21
- static setEcmStartUpTime(params: FanCoilThermostatCommandTypes.SetEcmStartUpTimeParams): BaseCommand;
22
- static getEcmStartUpTime(): BaseCommand;
23
- static setEcmRelay(params: FanCoilThermostatCommandTypes.SetEcmRelayParams): BaseCommand;
24
- static getEcmRelay(): BaseCommand;
25
- static setFrostProtection(params: FanCoilThermostatCommandTypes.SetFrostProtectionParams): BaseCommand;
26
- static getFrostProtection(): BaseCommand;
27
- static setFrostProtectionSettings(params: FanCoilThermostatCommandTypes.SetFrostProtectionSettingsParams): BaseCommand;
28
- static getFrostProtectionSettings(): BaseCommand;
29
- static setAllowedOperationalModes(params: FanCoilThermostatCommandTypes.SetAllowedOperationalModesParams): BaseCommand;
30
- static getAllowedOperationalModes(): BaseCommand;
31
- static setCoolingSetpointNotOccupied(params: FanCoilThermostatCommandTypes.SetCoolingSetpointNotOccupiedParams): BaseCommand;
32
- static getCoolingSetpointNotOccupied(): BaseCommand;
33
- static setHeatingSetpointNotOccupied(params: FanCoilThermostatCommandTypes.SetHeatingSetpointNotOccupiedParams): BaseCommand;
34
- static getHeatingSetpointNotOccupied(): BaseCommand;
35
- static setTempSensorCompensation(params: FanCoilThermostatCommandTypes.SetTempSensorCompensationParams): BaseCommand;
36
- static getTempSensorCompensation(): BaseCommand;
37
- static setFanSpeedNotOccupied(params: FanCoilThermostatCommandTypes.SetFanSpeedNotOccupiedParams): BaseCommand;
38
- static getFanSpeedNotOccupied(): BaseCommand;
39
- static setAutomaticChangeover(params: FanCoilThermostatCommandTypes.SetAutomaticChangeoverParams): BaseCommand;
40
- static getAutomaticChangeover(): BaseCommand;
41
- static setWiringDiagram(params: FanCoilThermostatCommandTypes.SetWiringDiagramParams): BaseCommand;
42
- static getWiringDiagram(): BaseCommand;
43
- static setOccFunction(params: FanCoilThermostatCommandTypes.SetOccFunctionParams): BaseCommand;
44
- static getOccFunction(): BaseCommand;
45
- static setAutomaticChangeoverThreshold(params: FanCoilThermostatCommandTypes.SetAutomaticChangeoverThresholdParams): BaseCommand;
46
- static getAutomaticChangeoverThreshold(): BaseCommand;
47
- static setDeviceStatus(params: FanCoilThermostatCommandTypes.SetDeviceStatusParams): BaseCommand;
48
- static getDeviceStatus(): BaseCommand;
49
- static setReturnOfPowerOperation(params: FanCoilThermostatCommandTypes.SetReturnOfPowerOperationParams): BaseCommand;
50
- static getReturnOfPowerOperation(): BaseCommand;
51
- static setDeltaTemperature1(params: FanCoilThermostatCommandTypes.SetDeltaTemperature1Params): BaseCommand;
52
- static getDeltaTemperature1(): BaseCommand;
53
- static setDeltaTemperature2and3(params: FanCoilThermostatCommandTypes.SetDeltaTemperature2and3Params): BaseCommand;
54
- static getDeltaTemperature2and3(): BaseCommand;
55
- static getFrostProtectionStatus(): BaseCommand;
56
- static getOccupancySensorStatusSetPoint(): BaseCommand;
57
- static getOccupancySensorStatus(): BaseCommand;
58
- static getDewPointSensorStatus(): BaseCommand;
59
- static getFilterAlarm(): BaseCommand;
60
- }
61
- //# sourceMappingURL=FanCoilThermostat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FanCoilThermostat.d.ts","sourceRoot":"","sources":["../../src/encoders/FanCoilThermostat.ts"],"names":[],"mappings":"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"}