@marcel2215/homebridge-supla-plugin 2.1.28 → 2.1.30

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 (120) hide show
  1. package/README.md +67 -1
  2. package/config.schema.json +92 -75
  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 +4 -2
  16. package/dist/Accesories/DimmerAccessory.d.ts.map +1 -1
  17. package/dist/Accesories/DimmerAccessory.js +51 -14
  18. package/dist/Accesories/DimmerAccessory.js.map +1 -1
  19. package/dist/Accesories/DimmerRgbLightAccessory.d.ts +10 -2
  20. package/dist/Accesories/DimmerRgbLightAccessory.d.ts.map +1 -1
  21. package/dist/Accesories/DimmerRgbLightAccessory.js +149 -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 +74 -68
  36. package/dist/Accesories/FrontGateFsm.d.ts.map +1 -1
  37. package/dist/Accesories/FrontGateFsm.js +563 -403
  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 +12 -2
  44. package/dist/Accesories/GateAccessory.d.ts.map +1 -1
  45. package/dist/Accesories/GateAccessory.js +245 -90
  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 +3 -2
  56. package/dist/Accesories/LightBulbAccesory.d.ts.map +1 -1
  57. package/dist/Accesories/LightBulbAccesory.js +41 -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 +9 -0
  64. package/dist/Accesories/RGBLightBulbAccesory.d.ts.map +1 -1
  65. package/dist/Accesories/RGBLightBulbAccesory.js +137 -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 +221 -75
  70. package/dist/Accesories/RollerShutterAccessory.js.map +1 -1
  71. package/dist/Accesories/SwitchAccessory.d.ts +3 -2
  72. package/dist/Accesories/SwitchAccessory.d.ts.map +1 -1
  73. package/dist/Accesories/SwitchAccessory.js +41 -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 +11 -3
  108. package/dist/Heplers/SuplaMqttClient.d.ts.map +1 -1
  109. package/dist/Heplers/SuplaMqttClient.js +215 -112
  110. package/dist/Heplers/SuplaMqttClient.js.map +1 -1
  111. package/dist/Heplers/SuplaMqttClientContext.d.ts +2 -1
  112. package/dist/Heplers/SuplaMqttClientContext.d.ts.map +1 -1
  113. package/dist/Heplers/SuplaMqttClientContext.js +2 -1
  114. package/dist/Heplers/SuplaMqttClientContext.js.map +1 -1
  115. package/dist/platform.d.ts +92 -36
  116. package/dist/platform.d.ts.map +1 -1
  117. package/dist/platform.js +1253 -235
  118. package/dist/platform.js.map +1 -1
  119. package/package.json +10 -5
  120. package/config.json +0 -3
@@ -1,7 +1,17 @@
1
1
  import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service, Characteristic } from 'homebridge';
2
- import { SuplaMqttClient } from './Heplers/SuplaMqttClient';
2
+ import type { IPublishPacket } from 'mqtt';
3
+ import { DiscoverySnapshot, SuplaMqttClient } from './Heplers/SuplaMqttClient';
3
4
  import { SuplaChannelContext } from './Heplers/SuplaChannelContext';
4
- import type { FrontGateTimingConfig } from './Accesories/FrontGateFsm';
5
+ import type { FrontGateConfig } from './Accesories/FrontGateFsm';
6
+ export type MqttMessageHandler = (message: Buffer, topic: string, packet: IPublishPacket) => void;
7
+ export interface MqttHandlerOptions {
8
+ noLocal?: boolean;
9
+ }
10
+ export type MqttPublishFailureKind = 'definite_failure' | 'completion_unknown';
11
+ export interface MqttPublishHapError extends Error {
12
+ mqttPublishFailureKind: MqttPublishFailureKind;
13
+ cause?: unknown;
14
+ }
5
15
  /**
6
16
  * HomebridgePlatform
7
17
  * This class is the main constructor for your plugin, this is where you should
@@ -22,9 +32,6 @@ export declare class SuplaPlatform implements DynamicPlatformPlugin {
22
32
  private readonly coveringExecuteActionClose;
23
33
  private readonly coveringExecuteActionStop;
24
34
  private readonly coveringTravelTimeSeconds;
25
- private readonly gateControlMode;
26
- private readonly gateExecuteActionOpen;
27
- private readonly gateExecuteActionClose;
28
35
  private readonly gateExecuteActionToggle;
29
36
  private readonly gateLockControlMode;
30
37
  private readonly gateLockExecuteAction;
@@ -32,31 +39,44 @@ export declare class SuplaPlatform implements DynamicPlatformPlugin {
32
39
  private readonly gateLockPulseSeconds;
33
40
  private readonly gateLockSetOnPayload;
34
41
  private readonly gateLockSetOffPayload;
35
- private readonly gatePartialHiMode;
36
- private readonly gateReverseFollowUpDelayMs;
37
- private readonly gateOpenAssumeDelayMs;
38
- private readonly gateCommandCooldownMs;
39
- private readonly gatePublishRetryDelayMs;
40
- private readonly gateStrictReverseDoublePulse;
41
- private readonly gateDebugTimeline;
42
42
  private readonly frontGateFullTravelMs;
43
43
  private readonly frontGateReversePauseMs;
44
- private readonly frontGateWrongDirectionRunMs;
45
44
  private readonly frontGateMinimumPulseGapMs;
46
- private readonly frontGateCloseRetryLimit;
45
+ private readonly frontGateUnknownOpenPolicy;
46
+ private readonly frontGateUnknownClosePolicy;
47
+ private readonly frontGateSeekClosedMaxPulses;
48
+ private readonly frontGateAssumeOpenAfterTravel;
49
+ private readonly frontGateSensorFallbackToControlChannel;
50
+ private readonly mqttProtocolVersion;
47
51
  private readonly commandQos;
48
52
  private readonly commandRetain;
49
53
  private readonly mqttHandlers;
50
54
  private readonly mqttHandlerOwners;
51
55
  private readonly mqttWildcardHandlers;
56
+ private readonly mqttNoLocalTopics;
57
+ private readonly mqttTransportHandlers;
58
+ private readonly channelRegistry;
52
59
  private readonly ownerCleanups;
60
+ private readonly shutdownDrains;
61
+ private readonly gateLockFailSafeTasks;
53
62
  private readonly mqttDesiredSubscriptions;
54
63
  private readonly mqttSubscriptions;
55
64
  private readonly mqttPendingSubscriptions;
65
+ private readonly mqttPendingSubscriptionOperations;
56
66
  private readonly mqttRetryTimers;
57
67
  private readonly mqttRetryState;
58
68
  private mqttRouterAttached;
69
+ private mqttTransportConnected;
70
+ private mqttTransportEpoch;
71
+ private nextMqttSubscriptionOperationId;
72
+ private shutdownPromise?;
73
+ private shuttingDown;
74
+ private readonly accountNamespace;
75
+ private readonly publishTimeoutMs;
59
76
  constructor(log: Logger, config: PlatformConfig, api: API);
77
+ private start;
78
+ private shutdownGracefully;
79
+ private performGracefulShutdown;
60
80
  /**
61
81
  * This function is invoked when homebridge restores cached accessories from disk at startup.
62
82
  * It should be used to setup event handlers for characteristics and update respective values.
@@ -67,13 +87,43 @@ export declare class SuplaPlatform implements DynamicPlatformPlugin {
67
87
  * Accessories must only be registered once, previously created accessories
68
88
  * must not be registered again to prevent "duplicate UUID" errors.
69
89
  */
70
- discoverDevices(channelsOverride?: Array<SuplaChannelContext>): void;
90
+ discoverDevices(channelsOverride?: Array<SuplaChannelContext>, snapshot?: DiscoverySnapshot<SuplaChannelContext>): void;
71
91
  private loadChannelsFromConfig;
92
+ private loadPersistedChannels;
93
+ private isSafeLegacyCacheMigration;
72
94
  private persistChannels;
95
+ private getChannelCachePath;
96
+ private getLegacyChannelCachePath;
97
+ private computeAccountNamespace;
98
+ private stampAccessoryIdentity;
99
+ private isAccessoryAccountCompatible;
100
+ private isChannelAccountCompatible;
101
+ private isUnscopedLegacyChannel;
102
+ private shouldMigrateUnscopedLegacyAccessories;
73
103
  private normalizeChannelContext;
74
104
  private getChannelUuid;
75
105
  private getChannelSignature;
76
- private resetAccessoryServices;
106
+ private getChannelRegistryKey;
107
+ private addChannelToRegistry;
108
+ private replaceChannelRegistry;
109
+ private deduplicateChannels;
110
+ private mergeChannels;
111
+ private isKnownMetadata;
112
+ getKnownChannels(): SuplaChannelContext[];
113
+ private isSupportedChannel;
114
+ private isExplicitlyUnsupportedChannel;
115
+ private getExpectedServiceUuids;
116
+ private isExplicitNoFunction;
117
+ private cleanupObsoleteServices;
118
+ private prepareAccessoryForReconfiguration;
119
+ private removeObsoleteOptionalCharacteristics;
120
+ private revokeAccessoryHandlers;
121
+ private resolveHomeKitDisplayName;
122
+ private captureAccessoryNames;
123
+ private restoreAccessoryNames;
124
+ private restoreAccessoryContext;
125
+ private areChannelContextsEqual;
126
+ private updateAccessoryNames;
77
127
  private setupAccessory;
78
128
  private isLeakSensorChannel;
79
129
  getCoveringControlMode(): 'set' | 'execute_action' | 'hybrid';
@@ -83,9 +133,6 @@ export declare class SuplaPlatform implements DynamicPlatformPlugin {
83
133
  getCoveringExecuteActionClose(): string;
84
134
  getCoveringExecuteActionStop(): string;
85
135
  getCoveringTravelTimeSeconds(): number;
86
- getGateControlMode(): 'execute_action' | 'toggle';
87
- getGateExecuteActionOpen(): string;
88
- getGateExecuteActionClose(): string;
89
136
  getGateExecuteActionToggle(): string;
90
137
  getGateLockControlMode(): 'execute_action' | 'set_on_pulse';
91
138
  getGateLockExecuteAction(): string;
@@ -93,37 +140,46 @@ export declare class SuplaPlatform implements DynamicPlatformPlugin {
93
140
  getGateLockPulseSeconds(): number;
94
141
  getGateLockSetOnPayload(): string;
95
142
  getGateLockSetOffPayload(): string;
96
- getGatePartialHiMode(): 'moving' | 'open_endstop' | 'pedestrian_endstop' | 'ignore';
97
- getGateReverseFollowUpDelayMs(): number;
98
- getGateOpenAssumeDelayMs(): number;
99
- getGateCommandCooldownMs(): number;
100
- getGatePublishRetryDelayMs(): number;
101
- getGateStrictReverseDoublePulse(): boolean;
102
- getGateDebugTimeline(): boolean;
103
- getFrontGateTimings(): FrontGateTimingConfig;
143
+ claimGateLockFailSafe(accessoryUuid: string): void;
144
+ transferGateLockFailSafe(accessory: PlatformAccessory, stateTopic: string, commandTopic: string, offPayload: string): void;
145
+ private attemptGateLockFailSafe;
146
+ private scheduleGateLockFailSafeRetry;
147
+ getFrontGateConfig(): FrontGateConfig;
148
+ shouldFallbackFrontGateSensorToControlChannel(): boolean;
149
+ isMqttNoLocalAvailable(): boolean;
104
150
  getFrontGatePulseAction(): string;
105
151
  private normalizeCoveringControlMode;
106
- private normalizeGateControlMode;
107
152
  private normalizeGateLockControlMode;
108
- private normalizeGatePartialHiMode;
109
- private normalizeGateReverseFollowUpDelayMs;
110
- private normalizeGateOpenAssumeDelayMs;
111
- private normalizeGateCommandCooldownMs;
112
- private normalizeGatePublishRetryDelayMs;
153
+ private normalizeDurationSeconds;
113
154
  private normalizeFrontGateFullTravelMs;
114
155
  private normalizeFrontGateReversePauseMs;
115
- private normalizeFrontGateWrongDirectionRunMs;
116
156
  private normalizeFrontGateMinimumPulseGapMs;
117
- private normalizeFrontGateCloseRetryLimit;
157
+ private normalizeFrontGateUnknownOpenPolicy;
158
+ private normalizeFrontGateUnknownClosePolicy;
159
+ private normalizeFrontGateSeekClosedMaxPulses;
160
+ private normalizeMqttProtocolVersion;
118
161
  private normalizeTopicSuffix;
119
162
  normalizeTopicBase(topic: string): string;
120
- registerMqttHandler(topic: string, handler: (message: Buffer, topic: string) => void, ownerId: string): () => void;
163
+ registerMqttHandler(topic: string, handler: MqttMessageHandler, ownerId: string, options?: MqttHandlerOptions): () => void;
164
+ registerMqttTransportHandler(handler: (connected: boolean) => void, ownerId: string): () => void;
121
165
  registerOwnerCleanup(ownerId: string, cleanup: () => void): () => void;
166
+ registerShutdownDrain(ownerId: string, drain: () => Promise<void>): () => void;
122
167
  private unregisterMqttHandlers;
123
168
  private unregisterAllMqttHandlers;
124
169
  publishCommand(topic: string, payload: string | Buffer, callback?: (error?: Error) => void): void;
170
+ publishCommandAsync(topic: string, payload: string | Buffer): Promise<void>;
171
+ publishGateAction(topic: string, payload: string | Buffer, callback?: (error?: Error) => void): void;
172
+ publishActionAsync(topic: string, payload: string | Buffer): Promise<void>;
173
+ publishGateActionAsync(topic: string, payload: string | Buffer): Promise<void>;
174
+ isPublishCompletionUnknown(error: unknown): error is MqttPublishHapError;
175
+ private publishMqttAsync;
176
+ private publishMqtt;
125
177
  parseBoolean(value: unknown): boolean;
178
+ parseBooleanStrict(value: unknown): boolean | undefined;
179
+ parseFiniteNumberStrict(value: unknown): number | undefined;
126
180
  private runOwnerCleanup;
181
+ private updateMqttTransportState;
182
+ private advanceMqttTransportEpoch;
127
183
  private clearActiveSubscriptions;
128
184
  private clearAllSubscriptionRetries;
129
185
  private clearSubscriptionRetry;
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}