@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.
- package/README.md +67 -1
- package/config.schema.json +92 -75
- package/dist/Accesories/ActionTriggerAccessory.d.ts +0 -1
- package/dist/Accesories/ActionTriggerAccessory.d.ts.map +1 -1
- package/dist/Accesories/ActionTriggerAccessory.js +15 -9
- package/dist/Accesories/ActionTriggerAccessory.js.map +1 -1
- package/dist/Accesories/AirQualityAccessory.d.ts +3 -1
- package/dist/Accesories/AirQualityAccessory.d.ts.map +1 -1
- package/dist/Accesories/AirQualityAccessory.js +47 -5
- package/dist/Accesories/AirQualityAccessory.js.map +1 -1
- package/dist/Accesories/ContactSensorAccessory.d.ts +3 -1
- package/dist/Accesories/ContactSensorAccessory.d.ts.map +1 -1
- package/dist/Accesories/ContactSensorAccessory.js +32 -4
- package/dist/Accesories/ContactSensorAccessory.js.map +1 -1
- package/dist/Accesories/DimmerAccessory.d.ts +4 -2
- package/dist/Accesories/DimmerAccessory.d.ts.map +1 -1
- package/dist/Accesories/DimmerAccessory.js +51 -14
- package/dist/Accesories/DimmerAccessory.js.map +1 -1
- package/dist/Accesories/DimmerRgbLightAccessory.d.ts +10 -2
- package/dist/Accesories/DimmerRgbLightAccessory.d.ts.map +1 -1
- package/dist/Accesories/DimmerRgbLightAccessory.js +149 -26
- package/dist/Accesories/DimmerRgbLightAccessory.js.map +1 -1
- package/dist/Accesories/DoorAccessory.d.ts +14 -1
- package/dist/Accesories/DoorAccessory.d.ts.map +1 -1
- package/dist/Accesories/DoorAccessory.js +146 -20
- package/dist/Accesories/DoorAccessory.js.map +1 -1
- package/dist/Accesories/ElectricityMeterAccessory.d.ts +13 -1
- package/dist/Accesories/ElectricityMeterAccessory.d.ts.map +1 -1
- package/dist/Accesories/ElectricityMeterAccessory.js +127 -12
- package/dist/Accesories/ElectricityMeterAccessory.js.map +1 -1
- package/dist/Accesories/FacadeBlindAccessory.d.ts +6 -0
- package/dist/Accesories/FacadeBlindAccessory.d.ts.map +1 -1
- package/dist/Accesories/FacadeBlindAccessory.js +205 -64
- package/dist/Accesories/FacadeBlindAccessory.js.map +1 -1
- package/dist/Accesories/FrontGateFsm.d.ts +74 -68
- package/dist/Accesories/FrontGateFsm.d.ts.map +1 -1
- package/dist/Accesories/FrontGateFsm.js +563 -403
- package/dist/Accesories/FrontGateFsm.js.map +1 -1
- package/dist/Accesories/GarageDoorOpenerAccesory.d.ts +12 -3
- package/dist/Accesories/GarageDoorOpenerAccesory.d.ts.map +1 -1
- package/dist/Accesories/GarageDoorOpenerAccesory.js +168 -21
- package/dist/Accesories/GarageDoorOpenerAccesory.js.map +1 -1
- package/dist/Accesories/GateAccessory.d.ts +12 -2
- package/dist/Accesories/GateAccessory.d.ts.map +1 -1
- package/dist/Accesories/GateAccessory.js +245 -90
- package/dist/Accesories/GateAccessory.js.map +1 -1
- package/dist/Accesories/GateLockAccessory.d.ts +17 -1
- package/dist/Accesories/GateLockAccessory.d.ts.map +1 -1
- package/dist/Accesories/GateLockAccessory.js +375 -50
- package/dist/Accesories/GateLockAccessory.js.map +1 -1
- package/dist/Accesories/LeakSensorAccessory.d.ts +3 -1
- package/dist/Accesories/LeakSensorAccessory.d.ts.map +1 -1
- package/dist/Accesories/LeakSensorAccessory.js +32 -4
- package/dist/Accesories/LeakSensorAccessory.js.map +1 -1
- package/dist/Accesories/LightBulbAccesory.d.ts +3 -2
- package/dist/Accesories/LightBulbAccesory.d.ts.map +1 -1
- package/dist/Accesories/LightBulbAccesory.js +41 -12
- package/dist/Accesories/LightBulbAccesory.js.map +1 -1
- package/dist/Accesories/PressureAccessory.d.ts +3 -1
- package/dist/Accesories/PressureAccessory.d.ts.map +1 -1
- package/dist/Accesories/PressureAccessory.js +28 -5
- package/dist/Accesories/PressureAccessory.js.map +1 -1
- package/dist/Accesories/RGBLightBulbAccesory.d.ts +9 -0
- package/dist/Accesories/RGBLightBulbAccesory.d.ts.map +1 -1
- package/dist/Accesories/RGBLightBulbAccesory.js +137 -17
- package/dist/Accesories/RGBLightBulbAccesory.js.map +1 -1
- package/dist/Accesories/RollerShutterAccessory.d.ts +6 -0
- package/dist/Accesories/RollerShutterAccessory.d.ts.map +1 -1
- package/dist/Accesories/RollerShutterAccessory.js +221 -75
- package/dist/Accesories/RollerShutterAccessory.js.map +1 -1
- package/dist/Accesories/SwitchAccessory.d.ts +3 -2
- package/dist/Accesories/SwitchAccessory.d.ts.map +1 -1
- package/dist/Accesories/SwitchAccessory.js +41 -12
- package/dist/Accesories/SwitchAccessory.js.map +1 -1
- package/dist/Accesories/TemperatureAccessory.d.ts +3 -1
- package/dist/Accesories/TemperatureAccessory.d.ts.map +1 -1
- package/dist/Accesories/TemperatureAccessory.js +28 -5
- package/dist/Accesories/TemperatureAccessory.js.map +1 -1
- package/dist/Accesories/TemperatureHumidityAccessory.d.ts +5 -1
- package/dist/Accesories/TemperatureHumidityAccessory.d.ts.map +1 -1
- package/dist/Accesories/TemperatureHumidityAccessory.js +40 -9
- package/dist/Accesories/TemperatureHumidityAccessory.js.map +1 -1
- package/dist/Accesories/ThermostatAccessory.d.ts +18 -1
- package/dist/Accesories/ThermostatAccessory.d.ts.map +1 -1
- package/dist/Accesories/ThermostatAccessory.js +193 -34
- package/dist/Accesories/ThermostatAccessory.js.map +1 -1
- package/dist/Accesories/ValveAccessory.d.ts +5 -2
- package/dist/Accesories/ValveAccessory.d.ts.map +1 -1
- package/dist/Accesories/ValveAccessory.js +47 -8
- package/dist/Accesories/ValveAccessory.js.map +1 -1
- package/dist/Accesories/WicketAccesory.d.ts +18 -3
- package/dist/Accesories/WicketAccesory.d.ts.map +1 -1
- package/dist/Accesories/WicketAccesory.js +154 -14
- package/dist/Accesories/WicketAccesory.js.map +1 -1
- package/dist/Heplers/ColorConverters.d.ts +2 -2
- package/dist/Heplers/ColorConverters.d.ts.map +1 -1
- package/dist/Heplers/ColorConverters.js +7 -3
- package/dist/Heplers/ColorConverters.js.map +1 -1
- package/dist/Heplers/DisplayName.d.ts +15 -0
- package/dist/Heplers/DisplayName.d.ts.map +1 -0
- package/dist/Heplers/DisplayName.js +174 -0
- package/dist/Heplers/DisplayName.js.map +1 -0
- package/dist/Heplers/SuplaChannelContext.d.ts +3 -1
- package/dist/Heplers/SuplaChannelContext.d.ts.map +1 -1
- package/dist/Heplers/SuplaChannelContext.js +3 -1
- package/dist/Heplers/SuplaChannelContext.js.map +1 -1
- package/dist/Heplers/SuplaMqttClient.d.ts +11 -3
- package/dist/Heplers/SuplaMqttClient.d.ts.map +1 -1
- package/dist/Heplers/SuplaMqttClient.js +215 -112
- package/dist/Heplers/SuplaMqttClient.js.map +1 -1
- package/dist/Heplers/SuplaMqttClientContext.d.ts +2 -1
- package/dist/Heplers/SuplaMqttClientContext.d.ts.map +1 -1
- package/dist/Heplers/SuplaMqttClientContext.js +2 -1
- package/dist/Heplers/SuplaMqttClientContext.js.map +1 -1
- package/dist/platform.d.ts +92 -36
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +1253 -235
- package/dist/platform.js.map +1 -1
- package/package.json +10 -5
- package/config.json +0 -3
package/dist/platform.d.ts
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service, Characteristic } from 'homebridge';
|
|
2
|
-
import {
|
|
2
|
+
import type { IPublishPacket } from 'mqtt';
|
|
3
|
+
import { DiscoverySnapshot, SuplaMqttClient } from './Heplers/SuplaMqttClient';
|
|
3
4
|
import { SuplaChannelContext } from './Heplers/SuplaChannelContext';
|
|
4
|
-
import type {
|
|
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
|
|
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
|
|
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
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
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
|
|
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
|
|
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:
|
|
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;
|
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|