@marcel2215/homebridge-supla-plugin 2.1.29 → 2.1.31

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 (116) hide show
  1. package/README.md +25 -1
  2. package/config.schema.json +26 -5
  3. package/dist/Accesories/ActionTriggerAccessory.d.ts +0 -1
  4. package/dist/Accesories/ActionTriggerAccessory.d.ts.map +1 -1
  5. package/dist/Accesories/ActionTriggerAccessory.js +15 -9
  6. package/dist/Accesories/ActionTriggerAccessory.js.map +1 -1
  7. package/dist/Accesories/AirQualityAccessory.d.ts +3 -1
  8. package/dist/Accesories/AirQualityAccessory.d.ts.map +1 -1
  9. package/dist/Accesories/AirQualityAccessory.js +47 -5
  10. package/dist/Accesories/AirQualityAccessory.js.map +1 -1
  11. package/dist/Accesories/ContactSensorAccessory.d.ts +3 -1
  12. package/dist/Accesories/ContactSensorAccessory.d.ts.map +1 -1
  13. package/dist/Accesories/ContactSensorAccessory.js +32 -4
  14. package/dist/Accesories/ContactSensorAccessory.js.map +1 -1
  15. package/dist/Accesories/DimmerAccessory.d.ts +5 -3
  16. package/dist/Accesories/DimmerAccessory.d.ts.map +1 -1
  17. package/dist/Accesories/DimmerAccessory.js +50 -14
  18. package/dist/Accesories/DimmerAccessory.js.map +1 -1
  19. package/dist/Accesories/DimmerRgbLightAccessory.d.ts +11 -3
  20. package/dist/Accesories/DimmerRgbLightAccessory.d.ts.map +1 -1
  21. package/dist/Accesories/DimmerRgbLightAccessory.js +148 -26
  22. package/dist/Accesories/DimmerRgbLightAccessory.js.map +1 -1
  23. package/dist/Accesories/DoorAccessory.d.ts +14 -1
  24. package/dist/Accesories/DoorAccessory.d.ts.map +1 -1
  25. package/dist/Accesories/DoorAccessory.js +146 -20
  26. package/dist/Accesories/DoorAccessory.js.map +1 -1
  27. package/dist/Accesories/ElectricityMeterAccessory.d.ts +13 -1
  28. package/dist/Accesories/ElectricityMeterAccessory.d.ts.map +1 -1
  29. package/dist/Accesories/ElectricityMeterAccessory.js +127 -12
  30. package/dist/Accesories/ElectricityMeterAccessory.js.map +1 -1
  31. package/dist/Accesories/FacadeBlindAccessory.d.ts +6 -0
  32. package/dist/Accesories/FacadeBlindAccessory.d.ts.map +1 -1
  33. package/dist/Accesories/FacadeBlindAccessory.js +205 -64
  34. package/dist/Accesories/FacadeBlindAccessory.js.map +1 -1
  35. package/dist/Accesories/FrontGateFsm.d.ts +8 -2
  36. package/dist/Accesories/FrontGateFsm.d.ts.map +1 -1
  37. package/dist/Accesories/FrontGateFsm.js +79 -19
  38. package/dist/Accesories/FrontGateFsm.js.map +1 -1
  39. package/dist/Accesories/GarageDoorOpenerAccesory.d.ts +12 -3
  40. package/dist/Accesories/GarageDoorOpenerAccesory.d.ts.map +1 -1
  41. package/dist/Accesories/GarageDoorOpenerAccesory.js +168 -21
  42. package/dist/Accesories/GarageDoorOpenerAccesory.js.map +1 -1
  43. package/dist/Accesories/GateAccessory.d.ts +6 -0
  44. package/dist/Accesories/GateAccessory.d.ts.map +1 -1
  45. package/dist/Accesories/GateAccessory.js +140 -18
  46. package/dist/Accesories/GateAccessory.js.map +1 -1
  47. package/dist/Accesories/GateLockAccessory.d.ts +17 -1
  48. package/dist/Accesories/GateLockAccessory.d.ts.map +1 -1
  49. package/dist/Accesories/GateLockAccessory.js +375 -50
  50. package/dist/Accesories/GateLockAccessory.js.map +1 -1
  51. package/dist/Accesories/LeakSensorAccessory.d.ts +3 -1
  52. package/dist/Accesories/LeakSensorAccessory.d.ts.map +1 -1
  53. package/dist/Accesories/LeakSensorAccessory.js +32 -4
  54. package/dist/Accesories/LeakSensorAccessory.js.map +1 -1
  55. package/dist/Accesories/LightBulbAccesory.d.ts +4 -3
  56. package/dist/Accesories/LightBulbAccesory.d.ts.map +1 -1
  57. package/dist/Accesories/LightBulbAccesory.js +40 -12
  58. package/dist/Accesories/LightBulbAccesory.js.map +1 -1
  59. package/dist/Accesories/PressureAccessory.d.ts +3 -1
  60. package/dist/Accesories/PressureAccessory.d.ts.map +1 -1
  61. package/dist/Accesories/PressureAccessory.js +28 -5
  62. package/dist/Accesories/PressureAccessory.js.map +1 -1
  63. package/dist/Accesories/RGBLightBulbAccesory.d.ts +10 -1
  64. package/dist/Accesories/RGBLightBulbAccesory.d.ts.map +1 -1
  65. package/dist/Accesories/RGBLightBulbAccesory.js +136 -17
  66. package/dist/Accesories/RGBLightBulbAccesory.js.map +1 -1
  67. package/dist/Accesories/RollerShutterAccessory.d.ts +6 -0
  68. package/dist/Accesories/RollerShutterAccessory.d.ts.map +1 -1
  69. package/dist/Accesories/RollerShutterAccessory.js +219 -74
  70. package/dist/Accesories/RollerShutterAccessory.js.map +1 -1
  71. package/dist/Accesories/SwitchAccessory.d.ts +4 -3
  72. package/dist/Accesories/SwitchAccessory.d.ts.map +1 -1
  73. package/dist/Accesories/SwitchAccessory.js +40 -12
  74. package/dist/Accesories/SwitchAccessory.js.map +1 -1
  75. package/dist/Accesories/TemperatureAccessory.d.ts +3 -1
  76. package/dist/Accesories/TemperatureAccessory.d.ts.map +1 -1
  77. package/dist/Accesories/TemperatureAccessory.js +28 -5
  78. package/dist/Accesories/TemperatureAccessory.js.map +1 -1
  79. package/dist/Accesories/TemperatureHumidityAccessory.d.ts +5 -1
  80. package/dist/Accesories/TemperatureHumidityAccessory.d.ts.map +1 -1
  81. package/dist/Accesories/TemperatureHumidityAccessory.js +40 -9
  82. package/dist/Accesories/TemperatureHumidityAccessory.js.map +1 -1
  83. package/dist/Accesories/ThermostatAccessory.d.ts +18 -1
  84. package/dist/Accesories/ThermostatAccessory.d.ts.map +1 -1
  85. package/dist/Accesories/ThermostatAccessory.js +193 -34
  86. package/dist/Accesories/ThermostatAccessory.js.map +1 -1
  87. package/dist/Accesories/ValveAccessory.d.ts +5 -2
  88. package/dist/Accesories/ValveAccessory.d.ts.map +1 -1
  89. package/dist/Accesories/ValveAccessory.js +47 -8
  90. package/dist/Accesories/ValveAccessory.js.map +1 -1
  91. package/dist/Accesories/WicketAccesory.d.ts +18 -3
  92. package/dist/Accesories/WicketAccesory.d.ts.map +1 -1
  93. package/dist/Accesories/WicketAccesory.js +154 -14
  94. package/dist/Accesories/WicketAccesory.js.map +1 -1
  95. package/dist/Heplers/ColorConverters.d.ts +2 -2
  96. package/dist/Heplers/ColorConverters.d.ts.map +1 -1
  97. package/dist/Heplers/ColorConverters.js +7 -3
  98. package/dist/Heplers/ColorConverters.js.map +1 -1
  99. package/dist/Heplers/DisplayName.d.ts +15 -0
  100. package/dist/Heplers/DisplayName.d.ts.map +1 -0
  101. package/dist/Heplers/DisplayName.js +174 -0
  102. package/dist/Heplers/DisplayName.js.map +1 -0
  103. package/dist/Heplers/SuplaChannelContext.d.ts +3 -1
  104. package/dist/Heplers/SuplaChannelContext.d.ts.map +1 -1
  105. package/dist/Heplers/SuplaChannelContext.js +3 -1
  106. package/dist/Heplers/SuplaChannelContext.js.map +1 -1
  107. package/dist/Heplers/SuplaMqttClient.d.ts +12 -4
  108. package/dist/Heplers/SuplaMqttClient.d.ts.map +1 -1
  109. package/dist/Heplers/SuplaMqttClient.js +214 -112
  110. package/dist/Heplers/SuplaMqttClient.js.map +1 -1
  111. package/dist/platform.d.ts +59 -3
  112. package/dist/platform.d.ts.map +1 -1
  113. package/dist/platform.js +1119 -116
  114. package/dist/platform.js.map +1 -1
  115. package/package.json +7 -3
  116. package/config.json +0 -3
@@ -1,18 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WicketAccesory = void 0;
4
+ /**
5
+ * Legacy wicket handler retained for source compatibility. It is not selected
6
+ * by the current platform mapping, but must remain fail-safe if reused.
7
+ */
4
8
  class WicketAccesory {
5
9
  constructor(platform, accessory, context) {
6
10
  this.platform = platform;
7
11
  this.accessory = accessory;
8
12
  this.context = context;
9
- this.connected = true;
13
+ this.state = this.platform.Characteristic.CurrentDoorState.CLOSED;
14
+ this.connected = false;
15
+ this.hasState = false;
16
+ this.commandUncertain = false;
17
+ this.confirmationExpired = false;
18
+ this.confirmationTimeoutMs = 15000;
10
19
  this.accessory.getService(this.platform.Service.AccessoryInformation)
11
20
  .setCharacteristic(this.platform.Characteristic.Manufacturer, 'Supla')
12
- .setCharacteristic(this.platform.Characteristic.Model, 'GarageDoorOpener');
21
+ .setCharacteristic(this.platform.Characteristic.Model, 'WicketController');
13
22
  this.service = this.accessory.getService(this.platform.Service.GarageDoorOpener)
14
23
  || this.accessory.addService(this.platform.Service.GarageDoorOpener);
15
24
  this.service.setCharacteristic(this.platform.Characteristic.Name, accessory.displayName);
25
+ this.commandUncertain = this.accessory.context.suplaWicketCommandUncertain === true;
26
+ this.confirmationExpired = this.commandUncertain;
27
+ this.platform.registerOwnerCleanup?.(this.accessory.UUID, () => {
28
+ this.clearConfirmationTimer();
29
+ });
16
30
  this.service.getCharacteristic(this.platform.Characteristic.CurrentDoorState)
17
31
  .onGet(this.handleCurrentDoorStateGet.bind(this));
18
32
  this.service.getCharacteristic(this.platform.Characteristic.TargetDoorState)
@@ -20,28 +34,154 @@ class WicketAccesory {
20
34
  .onSet(this.handleTargetDoorStateSet.bind(this));
21
35
  this.service.getCharacteristic(this.platform.Characteristic.ObstructionDetected)
22
36
  .onGet(this.handleObstructionDetectedGet.bind(this));
37
+ this.platform.registerMqttHandler(`${this.context.topic}/state/hi`, (message, _topic, packet) => {
38
+ const closed = this.platform.parseBooleanStrict(message.toString());
39
+ if (closed === undefined) {
40
+ return;
41
+ }
42
+ if (this.commandUncertain && packet?.retain === true) {
43
+ return;
44
+ }
45
+ this.state = closed
46
+ ? this.platform.Characteristic.CurrentDoorState.CLOSED
47
+ : this.platform.Characteristic.CurrentDoorState.OPEN;
48
+ this.hasState = true;
49
+ if (this.commandUncertain && packet?.retain !== true) {
50
+ if (this.state === this.platform.Characteristic.CurrentDoorState.OPEN) {
51
+ this.setCommandUncertain(false);
52
+ }
53
+ else if (this.confirmationExpired) {
54
+ this.platform.log.warn(`Wicket command for ${this.accessory.displayName} was not applied; ` +
55
+ 'reconciled from the latest live state after the confirmation window expired.');
56
+ this.setCommandUncertain(false);
57
+ }
58
+ }
59
+ this.service.updateCharacteristic(this.platform.Characteristic.CurrentDoorState, this.state);
60
+ if (!this.commandUncertain) {
61
+ const target = this.state === this.platform.Characteristic.CurrentDoorState.OPEN
62
+ ? this.platform.Characteristic.TargetDoorState.OPEN
63
+ : this.platform.Characteristic.TargetDoorState.CLOSED;
64
+ this.service.updateCharacteristic(this.platform.Characteristic.TargetDoorState, target);
65
+ }
66
+ }, this.accessory.UUID);
23
67
  this.platform.registerMqttHandler(`${this.context.topic}/state/connected`, (message) => {
24
- this.connected = this.platform.parseBoolean(message.toString());
25
- this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected ? 0 : 1);
68
+ const connected = this.platform.parseBooleanStrict(message.toString());
69
+ if (connected === undefined) {
70
+ return;
71
+ }
72
+ this.connected = connected;
73
+ if (!connected) {
74
+ this.hasState = false;
75
+ this.expirePendingConfirmation();
76
+ }
77
+ }, this.accessory.UUID);
78
+ this.platform.registerMqttTransportHandler?.((transportConnected) => {
79
+ if (!transportConnected) {
80
+ this.connected = false;
81
+ this.hasState = false;
82
+ this.expirePendingConfirmation();
83
+ }
26
84
  }, this.accessory.UUID);
27
85
  }
28
86
  async handleCurrentDoorStateGet() {
29
- return this.platform.Characteristic.TargetDoorState.CLOSED;
87
+ this.assertAvailable();
88
+ return this.state;
30
89
  }
31
90
  async handleTargetDoorStateGet() {
32
- return this.platform.Characteristic.TargetDoorState.CLOSED;
91
+ this.assertAvailable();
92
+ return this.state === this.platform.Characteristic.CurrentDoorState.OPEN
93
+ ? this.platform.Characteristic.TargetDoorState.OPEN
94
+ : this.platform.Characteristic.TargetDoorState.CLOSED;
33
95
  }
34
- async handleTargetDoorStateSet() {
96
+ async handleTargetDoorStateSet(value) {
97
+ if (value !== this.platform.Characteristic.TargetDoorState.OPEN
98
+ && value !== this.platform.Characteristic.TargetDoorState.CLOSED) {
99
+ throw new this.platform.api.hap.HapStatusError(-70410 /* this.platform.api.hap.HAPStatus.INVALID_VALUE_IN_REQUEST */);
100
+ }
101
+ if (this.commandUncertain) {
102
+ throw new this.platform.api.hap.HapStatusError(-70403 /* this.platform.api.hap.HAPStatus.RESOURCE_BUSY */);
103
+ }
104
+ this.assertAvailable();
105
+ const isOpen = this.state === this.platform.Characteristic.CurrentDoorState.OPEN;
106
+ if (value === this.platform.Characteristic.TargetDoorState.CLOSED) {
107
+ if (!isOpen) {
108
+ return;
109
+ }
110
+ throw new this.platform.api.hap.HapStatusError(-70412 /* this.platform.api.hap.HAPStatus.NOT_ALLOWED_IN_CURRENT_STATE */);
111
+ }
112
+ if (isOpen) {
113
+ return;
114
+ }
115
+ this.setCommandUncertain(true, true);
116
+ this.armConfirmationTimer();
35
117
  this.platform.log.debug(`Publishing ${this.context.topic}/execute_action = open`);
36
- this.platform.publishCommand(`${this.context.topic}/execute_action`, 'open');
37
- this.service.updateCharacteristic(this.platform.Characteristic.CurrentDoorState, this.platform.Characteristic.CurrentDoorState.OPEN);
38
- setTimeout(() => {
39
- this.service.updateCharacteristic(this.platform.Characteristic.CurrentDoorState, this.platform.Characteristic.CurrentDoorState.CLOSED);
40
- }, 1000);
118
+ try {
119
+ await this.platform.publishActionAsync(`${this.context.topic}/execute_action`, 'open');
120
+ }
121
+ catch (error) {
122
+ if (!this.platform.isPublishCompletionUnknown(error)) {
123
+ this.setCommandUncertain(false);
124
+ }
125
+ throw error;
126
+ }
41
127
  }
42
128
  async handleObstructionDetectedGet() {
43
- const state = 0;
44
- return state;
129
+ return false;
130
+ }
131
+ assertAvailable() {
132
+ if (!this.connected || !this.hasState || this.commandUncertain) {
133
+ throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
134
+ }
135
+ }
136
+ setCommandUncertain(uncertain, requirePersistence = false) {
137
+ const previous = this.commandUncertain;
138
+ const previousConfirmationExpired = this.confirmationExpired;
139
+ const previousContext = this.accessory.context.suplaWicketCommandUncertain;
140
+ this.commandUncertain = uncertain;
141
+ this.confirmationExpired = uncertain ? this.confirmationExpired : false;
142
+ this.accessory.context.suplaWicketCommandUncertain = uncertain;
143
+ try {
144
+ this.platform.api.updatePlatformAccessories([this.accessory]);
145
+ }
146
+ catch (error) {
147
+ this.commandUncertain = previous;
148
+ this.confirmationExpired = previous && !uncertain
149
+ ? true
150
+ : previousConfirmationExpired;
151
+ this.accessory.context.suplaWicketCommandUncertain = previousContext;
152
+ this.platform.log.error(`Failed to persist wicket command uncertainty for ${this.accessory.displayName}: ${error.message}`);
153
+ if (requirePersistence) {
154
+ throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
155
+ }
156
+ }
157
+ if (!this.commandUncertain) {
158
+ this.clearConfirmationTimer();
159
+ }
160
+ }
161
+ armConfirmationTimer() {
162
+ this.clearConfirmationTimer();
163
+ this.confirmationExpired = false;
164
+ this.confirmationTimer = setTimeout(() => {
165
+ this.confirmationTimer = undefined;
166
+ if (!this.commandUncertain) {
167
+ return;
168
+ }
169
+ this.confirmationExpired = true;
170
+ this.platform.log.warn(`Wicket command for ${this.accessory.displayName} was not confirmed within ` +
171
+ `${this.confirmationTimeoutMs}ms; waiting for a live state before allowing another action.`);
172
+ }, this.confirmationTimeoutMs);
173
+ }
174
+ expirePendingConfirmation() {
175
+ if (this.commandUncertain) {
176
+ this.confirmationExpired = true;
177
+ this.clearConfirmationTimer();
178
+ }
179
+ }
180
+ clearConfirmationTimer() {
181
+ if (this.confirmationTimer) {
182
+ clearTimeout(this.confirmationTimer);
183
+ this.confirmationTimer = undefined;
184
+ }
45
185
  }
46
186
  }
47
187
  exports.WicketAccesory = WicketAccesory;
@@ -1 +1 @@
1
- {"version":3,"file":"WicketAccesory.js","sourceRoot":"","sources":["../../src/Accesories/WicketAccesory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WicketAccesory.js","sourceRoot":"","sources":["../../src/Accesories/WicketAccesory.ts"],"names":[],"mappings":"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"}
@@ -8,10 +8,10 @@ export declare function RGBtoHSV(r: any, g: any, b: any): {
8
8
  s: number;
9
9
  v: number;
10
10
  };
11
- export declare function HexToRGB(hex: any): {
11
+ export declare function HexToRGB(hex: unknown): {
12
12
  r: number;
13
13
  g: number;
14
14
  b: number;
15
- };
15
+ } | undefined;
16
16
  export declare function RGBToHex(r: any, g: any, b: any): string;
17
17
  //# sourceMappingURL=ColorConverters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColorConverters.d.ts","sourceRoot":"","sources":["../../src/Heplers/ColorConverters.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,CAAC,KAAA;;;;EAiC/B;AAED,wBAAgB,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,CAAC,KAAA;;;;EA2B/B;AAED,wBAAgB,QAAQ,CAAC,GAAG,KAAA;;;;EAM3B;AAED,wBAAgB,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,CAAC,KAAA,UAU/B"}
1
+ {"version":3,"file":"ColorConverters.d.ts","sourceRoot":"","sources":["../../src/Heplers/ColorConverters.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,CAAC,KAAA;;;;EAiC/B;AAED,wBAAgB,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,CAAC,KAAA;;;;EA2B/B;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,SAAS,CAUpF;AAED,wBAAgB,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,CAAC,KAAA,UAU/B"}
@@ -86,10 +86,14 @@ function RGBtoHSV(r, g, b) {
86
86
  };
87
87
  }
88
88
  function HexToRGB(hex) {
89
+ if (typeof hex !== 'string' || !/^0x[0-9a-fA-F]{6}$/.test(hex.trim())) {
90
+ return undefined;
91
+ }
92
+ const normalized = hex.trim();
89
93
  return {
90
- r: parseInt(hex.substr(2, 2), 16),
91
- g: parseInt(hex.substr(4, 2), 16),
92
- b: parseInt(hex.substr(6, 2), 16),
94
+ r: parseInt(normalized.slice(2, 4), 16),
95
+ g: parseInt(normalized.slice(4, 6), 16),
96
+ b: parseInt(normalized.slice(6, 8), 16),
93
97
  };
94
98
  }
95
99
  function RGBToHex(r, g, b) {
@@ -1 +1 @@
1
- {"version":3,"file":"ColorConverters.js","sourceRoot":"","sources":["../../src/Heplers/ColorConverters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ColorConverters.js","sourceRoot":"","sources":["../../src/Heplers/ColorConverters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Retains the vendor's caption losslessly apart from unsafe control characters,
3
+ * and canonicalizes equivalent Unicode spellings so cache comparisons are stable.
4
+ */
5
+ export declare function normalizeVendorCaption(value: unknown): string | undefined;
6
+ /**
7
+ * Produces a HAP-compliant label without applying an ASCII-only sanitizer.
8
+ * Unicode letters and numbers (including Polish and non-Latin scripts) survive.
9
+ */
10
+ export declare function toHomeKitDisplayName(value: unknown): string | undefined;
11
+ export declare function isHomeKitDisplayName(value: unknown): value is string;
12
+ export declare function homeKitElectricityServiceName(baseName: string, metric: string): string;
13
+ export declare function generatedChannelCaption(deviceId: string, channelId: string): string;
14
+ export declare function isGeneratedChannelCaption(caption: string | undefined, deviceId: string, channelId: string): boolean;
15
+ //# sourceMappingURL=DisplayName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisplayName.d.ts","sourceRoot":"","sources":["../../src/Heplers/DisplayName.ts"],"names":[],"mappings":"AA6EA;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CASzE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAkCvE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAKpE;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAStF;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAInF;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAsBT"}
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeVendorCaption = normalizeVendorCaption;
4
+ exports.toHomeKitDisplayName = toHomeKitDisplayName;
5
+ exports.isHomeKitDisplayName = isHomeKitDisplayName;
6
+ exports.homeKitElectricityServiceName = homeKitElectricityServiceName;
7
+ exports.generatedChannelCaption = generatedChannelCaption;
8
+ exports.isGeneratedChannelCaption = isGeneratedChannelCaption;
9
+ const DASHES = /[\u2010-\u2015\u2212\uFE58\uFE63\uFF0D]/gu;
10
+ const SINGLE_QUOTES = /[\u2018\u201b\u2032]/gu;
11
+ const DOUBLE_QUOTES = /[\u201c\u201d\u201e\u201f\u2033]/gu;
12
+ const HOMEKIT_INTERIOR = /[\p{L}\p{N}\p{Zs}\u2019'&!._:;()/,-]/u;
13
+ const HOMEKIT_EDGE = /[\p{L}\p{N}]/u;
14
+ const HOMEKIT_NAME_MAX_UTF16_LENGTH = 64;
15
+ const ELECTRICITY_METRIC_NAMES = {
16
+ total_forward_active_power: { label: 'Total forward active power', unit: 'W' },
17
+ active_power: { label: 'Active power', unit: 'W' },
18
+ power: { label: 'Power', unit: 'W' },
19
+ total_forward_active_energy: { label: 'Total forward active energy', unit: 'kWh' },
20
+ energy: { label: 'Energy', unit: 'kWh' },
21
+ current: { label: 'Current', unit: 'A' },
22
+ voltage: { label: 'Voltage', unit: 'V' },
23
+ frequency: { label: 'Frequency', unit: 'Hz' },
24
+ value: { label: 'Generic value', unit: 'unknown unit' },
25
+ };
26
+ function replaceUnpairedSurrogates(value) {
27
+ let result = '';
28
+ for (let index = 0; index < value.length; index += 1) {
29
+ const code = value.charCodeAt(index);
30
+ if (code >= 0xd800 && code <= 0xdbff) {
31
+ const next = value.charCodeAt(index + 1);
32
+ if (next >= 0xdc00 && next <= 0xdfff) {
33
+ result += value[index] + value[index + 1];
34
+ index += 1;
35
+ }
36
+ else {
37
+ result += ' ';
38
+ }
39
+ continue;
40
+ }
41
+ if (code >= 0xdc00 && code <= 0xdfff) {
42
+ result += ' ';
43
+ continue;
44
+ }
45
+ result += value[index];
46
+ }
47
+ return result;
48
+ }
49
+ function replaceUnsafeControls(value) {
50
+ let result = '';
51
+ for (const character of value) {
52
+ const codePoint = character.codePointAt(0);
53
+ const isUnsafe = /\p{Cc}|\p{Zl}|\p{Zp}/u.test(character)
54
+ || (/\p{Cf}/u.test(character) && codePoint !== 0x200c && codePoint !== 0x200d);
55
+ result += isUnsafe ? ' ' : character;
56
+ }
57
+ return result;
58
+ }
59
+ function stripInvalidEdges(value) {
60
+ const characters = Array.from(value);
61
+ while (characters.length > 0 && !HOMEKIT_EDGE.test(characters[0])) {
62
+ characters.shift();
63
+ }
64
+ while (characters.length > 0 && !HOMEKIT_EDGE.test(characters[characters.length - 1])) {
65
+ characters.pop();
66
+ }
67
+ return characters.join('').trim();
68
+ }
69
+ function truncateUtf16Safely(value, maxLength = HOMEKIT_NAME_MAX_UTF16_LENGTH) {
70
+ let result = '';
71
+ for (const character of value) {
72
+ if (result.length + character.length > maxLength) {
73
+ break;
74
+ }
75
+ result += character;
76
+ }
77
+ return result;
78
+ }
79
+ /**
80
+ * Retains the vendor's caption losslessly apart from unsafe control characters,
81
+ * and canonicalizes equivalent Unicode spellings so cache comparisons are stable.
82
+ */
83
+ function normalizeVendorCaption(value) {
84
+ if (value === undefined || value === null) {
85
+ return undefined;
86
+ }
87
+ const normalized = replaceUnsafeControls(replaceUnpairedSurrogates(String(value)))
88
+ .normalize('NFC')
89
+ .replace(/\p{Zs}+/gu, ' ')
90
+ .trim();
91
+ return normalized || undefined;
92
+ }
93
+ /**
94
+ * Produces a HAP-compliant label without applying an ASCII-only sanitizer.
95
+ * Unicode letters and numbers (including Polish and non-Latin scripts) survive.
96
+ */
97
+ function toHomeKitDisplayName(value) {
98
+ const vendorName = normalizeVendorCaption(value);
99
+ if (!vendorName) {
100
+ return undefined;
101
+ }
102
+ const mapped = vendorName
103
+ .replace(DASHES, '-')
104
+ .replace(SINGLE_QUOTES, '\u2019')
105
+ .replace(DOUBLE_QUOTES, ' ');
106
+ let result = '';
107
+ let insertedSeparator = false;
108
+ for (const character of mapped) {
109
+ if (HOMEKIT_INTERIOR.test(character)) {
110
+ result += character;
111
+ insertedSeparator = false;
112
+ }
113
+ else if (result && !insertedSeparator) {
114
+ // Do not concatenate words that were separated by an unsupported symbol.
115
+ result += ' ';
116
+ insertedSeparator = true;
117
+ }
118
+ }
119
+ result = result.replace(/\p{Zs}+/gu, ' ').trim();
120
+ result = stripInvalidEdges(truncateUtf16Safely(result));
121
+ if (!result) {
122
+ return undefined;
123
+ }
124
+ // HAP-NodeJS's current validation requires distinct start and end code points.
125
+ if (Array.from(result).length === 1) {
126
+ result = `${result} Device`;
127
+ }
128
+ return result;
129
+ }
130
+ function isHomeKitDisplayName(value) {
131
+ if (typeof value !== 'string' || value.length > HOMEKIT_NAME_MAX_UTF16_LENGTH) {
132
+ return false;
133
+ }
134
+ return /^[\p{L}\p{N}][\p{L}\p{N}\p{Zs}\u2019'&!._:;()/,-]*[\p{L}\p{N}]$/u.test(value);
135
+ }
136
+ function homeKitElectricityServiceName(baseName, metric) {
137
+ const metadata = ELECTRICITY_METRIC_NAMES[metric]
138
+ ?? { label: 'Metric', unit: 'unknown unit' };
139
+ const suffix = toHomeKitDisplayName(`${metadata.label}; ${metadata.unit}`) ?? 'Meter';
140
+ const separator = ' - ';
141
+ const safeBase = toHomeKitDisplayName(baseName) ?? 'Supla';
142
+ const baseLimit = Math.max(1, HOMEKIT_NAME_MAX_UTF16_LENGTH - separator.length - suffix.length);
143
+ const shortenedBase = stripInvalidEdges(truncateUtf16Safely(safeBase, baseLimit)) || 'S';
144
+ return `${shortenedBase}${separator}${suffix}`;
145
+ }
146
+ function generatedChannelCaption(deviceId, channelId) {
147
+ return deviceId === 'legacy'
148
+ ? `RollerShutter ${channelId}`
149
+ : `Device ${deviceId} Channel ${channelId}`;
150
+ }
151
+ function isGeneratedChannelCaption(caption, deviceId, channelId) {
152
+ const normalized = normalizeVendorCaption(caption);
153
+ if (!normalized) {
154
+ return true;
155
+ }
156
+ const folded = normalized.toLocaleLowerCase('pl-PL').replace(/\p{Zs}+/gu, ' ');
157
+ const placeholders = [
158
+ generatedChannelCaption(deviceId, channelId),
159
+ `Device ${deviceId}`,
160
+ `Channel ${channelId}`,
161
+ `Urządzenie ${deviceId}`,
162
+ `Kanał ${channelId}`,
163
+ 'Unknown',
164
+ 'Undefined',
165
+ 'Null',
166
+ 'Unnamed',
167
+ 'No caption',
168
+ 'N/A',
169
+ 'None',
170
+ '-',
171
+ ];
172
+ return placeholders.some(value => value.toLocaleLowerCase('pl-PL') === folded);
173
+ }
174
+ //# sourceMappingURL=DisplayName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisplayName.js","sourceRoot":"","sources":["../../src/Heplers/DisplayName.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export declare class SuplaChannelContext {
6
6
  deviceId: string;
7
7
  channelId: string;
8
8
  rawTopic?: string | undefined;
9
- constructor(topic: string, channelType: string, channelFunction: string, channelCaption: string, deviceId: string, channelId: string, rawTopic?: string | undefined);
9
+ channelCaptionAuthoritative?: boolean | undefined;
10
+ channelCaptionSource?: "retained" | "authoritative_snapshot" | "cache" | "generated" | undefined;
11
+ constructor(topic: string, channelType: string, channelFunction: string, channelCaption: string, deviceId: string, channelId: string, rawTopic?: string | undefined, channelCaptionAuthoritative?: boolean | undefined, channelCaptionSource?: "retained" | "authoritative_snapshot" | "cache" | "generated" | undefined);
10
12
  }
11
13
  //# sourceMappingURL=SuplaChannelContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SuplaChannelContext.d.ts","sourceRoot":"","sources":["../../src/Heplers/SuplaChannelContext.ts"],"names":[],"mappings":"AAAA,qBAAa,mBAAmB;IAErB,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,MAAM;IACnB,eAAe,EAAE,MAAM;IACvB,cAAc,EAAE,MAAM;IACtB,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,MAAM;IACjB,QAAQ,CAAC,EAAE,MAAM;gBANjB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,YAAA;CAG3B"}
1
+ {"version":3,"file":"SuplaChannelContext.d.ts","sourceRoot":"","sources":["../../src/Heplers/SuplaChannelContext.ts"],"names":[],"mappings":"AAAA,qBAAa,mBAAmB;IAErB,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,MAAM;IACnB,eAAe,EAAE,MAAM;IACvB,cAAc,EAAE,MAAM;IACtB,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,MAAM;IACjB,QAAQ,CAAC,EAAE,MAAM;IACjB,2BAA2B,CAAC,EAAE,OAAO;IACrC,oBAAoB,CAAC,EAAE,UAAU,GAAG,wBAAwB,GAAG,OAAO,GAAG,WAAW;gBARpF,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,YAAA,EACjB,2BAA2B,CAAC,EAAE,OAAO,YAAA,EACrC,oBAAoB,CAAC,EAAE,UAAU,GAAG,wBAAwB,GAAG,OAAO,GAAG,WAAW,YAAA;CAG9F"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SuplaChannelContext = void 0;
4
4
  class SuplaChannelContext {
5
- constructor(topic, channelType, channelFunction, channelCaption, deviceId, channelId, rawTopic) {
5
+ constructor(topic, channelType, channelFunction, channelCaption, deviceId, channelId, rawTopic, channelCaptionAuthoritative, channelCaptionSource) {
6
6
  this.topic = topic;
7
7
  this.channelType = channelType;
8
8
  this.channelFunction = channelFunction;
@@ -10,6 +10,8 @@ class SuplaChannelContext {
10
10
  this.deviceId = deviceId;
11
11
  this.channelId = channelId;
12
12
  this.rawTopic = rawTopic;
13
+ this.channelCaptionAuthoritative = channelCaptionAuthoritative;
14
+ this.channelCaptionSource = channelCaptionSource;
13
15
  }
14
16
  }
15
17
  exports.SuplaChannelContext = SuplaChannelContext;
@@ -1 +1 @@
1
- {"version":3,"file":"SuplaChannelContext.js","sourceRoot":"","sources":["../../src/Heplers/SuplaChannelContext.ts"],"names":[],"mappings":";;;AAAA,MAAa,mBAAmB;IAC9B,YACS,KAAa,EACb,WAAmB,EACnB,eAAuB,EACvB,cAAsB,EACtB,QAAgB,EAChB,SAAiB,EACjB,QAAiB;QANjB,UAAK,GAAL,KAAK,CAAQ;QACb,gBAAW,GAAX,WAAW,CAAQ;QACnB,oBAAe,GAAf,eAAe,CAAQ;QACvB,mBAAc,GAAd,cAAc,CAAQ;QACtB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAS;IAE1B,CAAC;CACF;AAXD,kDAWC"}
1
+ {"version":3,"file":"SuplaChannelContext.js","sourceRoot":"","sources":["../../src/Heplers/SuplaChannelContext.ts"],"names":[],"mappings":";;;AAAA,MAAa,mBAAmB;IAC9B,YACS,KAAa,EACb,WAAmB,EACnB,eAAuB,EACvB,cAAsB,EACtB,QAAgB,EAChB,SAAiB,EACjB,QAAiB,EACjB,2BAAqC,EACrC,oBAAoF;QARpF,UAAK,GAAL,KAAK,CAAQ;QACb,gBAAW,GAAX,WAAW,CAAQ;QACnB,oBAAe,GAAf,eAAe,CAAQ;QACvB,mBAAc,GAAd,cAAc,CAAQ;QACtB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAS;QACjB,gCAA2B,GAA3B,2BAA2B,CAAU;QACrC,yBAAoB,GAApB,oBAAoB,CAAgE;IAE7F,CAAC;CACF;AAbD,kDAaC"}
@@ -1,16 +1,25 @@
1
- import { IPublishPacket, MqttClient } from 'mqtt';
1
+ import { MqttClient } from 'mqtt';
2
2
  import { Logger } from 'homebridge';
3
3
  import { SuplaMqttClientContext } from './SuplaMqttClientContext';
4
4
  import { SuplaChannelContext } from './SuplaChannelContext';
5
- type RegisterHandler = (topic: string, handler: (message: Buffer, topic: string, packet: IPublishPacket) => void) => () => void;
5
+ export interface DiscoverySnapshot<T> {
6
+ items: T[];
7
+ observedIds: Set<string>;
8
+ authoritative: boolean;
9
+ complete: boolean;
10
+ warnings: string[];
11
+ }
6
12
  export declare class SuplaMqttClient {
7
13
  private readonly context;
8
14
  private readonly log;
9
15
  client: MqttClient;
10
16
  constructor(context: SuplaMqttClientContext, log: Logger);
11
- discoverChannelsAsync(registerHandler?: RegisterHandler): Promise<Array<SuplaChannelContext>>;
17
+ discoverChannelsAsync(): Promise<Array<SuplaChannelContext>>;
18
+ discoverChannelsSnapshotAsync(): Promise<DiscoverySnapshot<SuplaChannelContext>>;
12
19
  private discoverCloudChannelsAsync;
13
20
  private discoverLegacyRollerShuttersAsync;
21
+ private collectRetainedMessages;
22
+ private waitForConnection;
14
23
  private resolveProtocol;
15
24
  private resolveIncludeHidden;
16
25
  private escapeRegex;
@@ -19,5 +28,4 @@ export declare class SuplaMqttClient {
19
28
  private resolveBoolean;
20
29
  private resolveTopicScheme;
21
30
  }
22
- export {};
23
31
  //# sourceMappingURL=SuplaMqttClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SuplaMqttClient.d.ts","sourceRoot":"","sources":["../../src/Heplers/SuplaMqttClient.ts"],"names":[],"mappings":"AAAA,OAAa,EAAC,cAAc,EAAE,UAAU,EAAC,MAAM,MAAM,CAAC;AAEtD,OAAO,EAAC,MAAM,EAAC,MAAM,YAAY,CAAC;AAClC,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAE1D,KAAK,eAAe,GAAG,CACrB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,KAAK,IAAI,KACtE,MAAM,IAAI,CAAC;AAEhB,qBAAa,eAAe;IAGxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHf,MAAM,EAAE,UAAU,CAAC;gBAEP,OAAO,EAAG,sBAAsB,EAChC,GAAG,EAAG,MAAM;IAuClB,qBAAqB,CAAC,eAAe,CAAC,EAAE,eAAe,GAAI,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAiB7F,0BAA0B;YAuI1B,iCAAiC;IAoG/C,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,kBAAkB;CAU3B"}
1
+ {"version":3,"file":"SuplaMqttClient.d.ts","sourceRoot":"","sources":["../../src/Heplers/SuplaMqttClient.ts"],"names":[],"mappings":"AAAA,OAAa,EAAiB,UAAU,EAAC,MAAM,MAAM,CAAC;AAGtD,OAAO,EAAC,MAAM,EAAC,MAAM,YAAY,CAAC;AAClC,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAO1D,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,qBAAa,eAAe;IAGxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHf,MAAM,EAAE,UAAU,CAAC;gBAEP,OAAO,EAAG,sBAAsB,EAChC,GAAG,EAAG,MAAM;IAuClB,qBAAqB,IAAK,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAI7D,6BAA6B,IAAI,OAAO,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;YAsB/E,0BAA0B;YAgI1B,iCAAiC;YAiFjC,uBAAuB;YAyHvB,iBAAiB;IAwB/B,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,kBAAkB;CAU3B"}