@marcel2215/homebridge-supla-plugin 2.1.32 → 2.1.33
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 +1 -67
- package/config.json +3 -0
- package/config.schema.json +75 -92
- package/dist/Accesories/ActionTriggerAccessory.d.ts +1 -0
- package/dist/Accesories/ActionTriggerAccessory.d.ts.map +1 -1
- package/dist/Accesories/ActionTriggerAccessory.js +9 -15
- package/dist/Accesories/ActionTriggerAccessory.js.map +1 -1
- package/dist/Accesories/AirQualityAccessory.d.ts +1 -3
- package/dist/Accesories/AirQualityAccessory.d.ts.map +1 -1
- package/dist/Accesories/AirQualityAccessory.js +5 -47
- package/dist/Accesories/AirQualityAccessory.js.map +1 -1
- package/dist/Accesories/ContactSensorAccessory.d.ts +1 -3
- package/dist/Accesories/ContactSensorAccessory.d.ts.map +1 -1
- package/dist/Accesories/ContactSensorAccessory.js +4 -32
- package/dist/Accesories/ContactSensorAccessory.js.map +1 -1
- package/dist/Accesories/DimmerAccessory.d.ts +3 -7
- package/dist/Accesories/DimmerAccessory.d.ts.map +1 -1
- package/dist/Accesories/DimmerAccessory.js +16 -84
- package/dist/Accesories/DimmerAccessory.js.map +1 -1
- package/dist/Accesories/DimmerRgbLightAccessory.d.ts +3 -11
- package/dist/Accesories/DimmerRgbLightAccessory.d.ts.map +1 -1
- package/dist/Accesories/DimmerRgbLightAccessory.js +26 -148
- package/dist/Accesories/DimmerRgbLightAccessory.js.map +1 -1
- package/dist/Accesories/DoorAccessory.d.ts +1 -14
- package/dist/Accesories/DoorAccessory.d.ts.map +1 -1
- package/dist/Accesories/DoorAccessory.js +20 -146
- package/dist/Accesories/DoorAccessory.js.map +1 -1
- package/dist/Accesories/ElectricityMeterAccessory.d.ts +1 -13
- package/dist/Accesories/ElectricityMeterAccessory.d.ts.map +1 -1
- package/dist/Accesories/ElectricityMeterAccessory.js +12 -127
- package/dist/Accesories/ElectricityMeterAccessory.js.map +1 -1
- package/dist/Accesories/FacadeBlindAccessory.d.ts +0 -6
- package/dist/Accesories/FacadeBlindAccessory.d.ts.map +1 -1
- package/dist/Accesories/FacadeBlindAccessory.js +64 -205
- package/dist/Accesories/FacadeBlindAccessory.js.map +1 -1
- package/dist/Accesories/FrontGateFsm.d.ts +68 -74
- package/dist/Accesories/FrontGateFsm.d.ts.map +1 -1
- package/dist/Accesories/FrontGateFsm.js +403 -563
- package/dist/Accesories/FrontGateFsm.js.map +1 -1
- package/dist/Accesories/GarageDoorOpenerAccesory.d.ts +3 -12
- package/dist/Accesories/GarageDoorOpenerAccesory.d.ts.map +1 -1
- package/dist/Accesories/GarageDoorOpenerAccesory.js +21 -168
- package/dist/Accesories/GarageDoorOpenerAccesory.js.map +1 -1
- package/dist/Accesories/GateAccessory.d.ts +2 -12
- package/dist/Accesories/GateAccessory.d.ts.map +1 -1
- package/dist/Accesories/GateAccessory.js +89 -258
- package/dist/Accesories/GateAccessory.js.map +1 -1
- package/dist/Accesories/GateLockAccessory.d.ts +1 -17
- package/dist/Accesories/GateLockAccessory.d.ts.map +1 -1
- package/dist/Accesories/GateLockAccessory.js +50 -375
- package/dist/Accesories/GateLockAccessory.js.map +1 -1
- package/dist/Accesories/LeakSensorAccessory.d.ts +1 -3
- package/dist/Accesories/LeakSensorAccessory.d.ts.map +1 -1
- package/dist/Accesories/LeakSensorAccessory.js +4 -32
- package/dist/Accesories/LeakSensorAccessory.js.map +1 -1
- package/dist/Accesories/LightBulbAccesory.d.ts +3 -4
- package/dist/Accesories/LightBulbAccesory.d.ts.map +1 -1
- package/dist/Accesories/LightBulbAccesory.js +12 -40
- package/dist/Accesories/LightBulbAccesory.js.map +1 -1
- package/dist/Accesories/PressureAccessory.d.ts +1 -3
- package/dist/Accesories/PressureAccessory.d.ts.map +1 -1
- package/dist/Accesories/PressureAccessory.js +5 -28
- package/dist/Accesories/PressureAccessory.js.map +1 -1
- package/dist/Accesories/RGBLightBulbAccesory.d.ts +1 -10
- package/dist/Accesories/RGBLightBulbAccesory.d.ts.map +1 -1
- package/dist/Accesories/RGBLightBulbAccesory.js +17 -136
- package/dist/Accesories/RGBLightBulbAccesory.js.map +1 -1
- package/dist/Accesories/RollerShutterAccessory.d.ts +0 -6
- package/dist/Accesories/RollerShutterAccessory.d.ts.map +1 -1
- package/dist/Accesories/RollerShutterAccessory.js +75 -221
- package/dist/Accesories/RollerShutterAccessory.js.map +1 -1
- package/dist/Accesories/SwitchAccessory.d.ts +3 -4
- package/dist/Accesories/SwitchAccessory.d.ts.map +1 -1
- package/dist/Accesories/SwitchAccessory.js +12 -40
- package/dist/Accesories/SwitchAccessory.js.map +1 -1
- package/dist/Accesories/TemperatureAccessory.d.ts +1 -3
- package/dist/Accesories/TemperatureAccessory.d.ts.map +1 -1
- package/dist/Accesories/TemperatureAccessory.js +5 -28
- package/dist/Accesories/TemperatureAccessory.js.map +1 -1
- package/dist/Accesories/TemperatureHumidityAccessory.d.ts +1 -5
- package/dist/Accesories/TemperatureHumidityAccessory.d.ts.map +1 -1
- package/dist/Accesories/TemperatureHumidityAccessory.js +9 -40
- package/dist/Accesories/TemperatureHumidityAccessory.js.map +1 -1
- package/dist/Accesories/ThermostatAccessory.d.ts +1 -18
- package/dist/Accesories/ThermostatAccessory.d.ts.map +1 -1
- package/dist/Accesories/ThermostatAccessory.js +34 -193
- package/dist/Accesories/ThermostatAccessory.js.map +1 -1
- package/dist/Accesories/ValveAccessory.d.ts +2 -5
- package/dist/Accesories/ValveAccessory.d.ts.map +1 -1
- package/dist/Accesories/ValveAccessory.js +8 -47
- package/dist/Accesories/ValveAccessory.js.map +1 -1
- package/dist/Accesories/WicketAccesory.d.ts +3 -18
- package/dist/Accesories/WicketAccesory.d.ts.map +1 -1
- package/dist/Accesories/WicketAccesory.js +14 -154
- 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 +3 -7
- package/dist/Heplers/ColorConverters.js.map +1 -1
- package/dist/Heplers/SuplaChannelContext.d.ts +1 -3
- package/dist/Heplers/SuplaChannelContext.d.ts.map +1 -1
- package/dist/Heplers/SuplaChannelContext.js +1 -3
- package/dist/Heplers/SuplaChannelContext.js.map +1 -1
- package/dist/Heplers/SuplaMqttClient.d.ts +3 -11
- package/dist/Heplers/SuplaMqttClient.d.ts.map +1 -1
- package/dist/Heplers/SuplaMqttClient.js +112 -215
- package/dist/Heplers/SuplaMqttClient.js.map +1 -1
- package/dist/Heplers/SuplaMqttClientContext.d.ts +1 -2
- package/dist/Heplers/SuplaMqttClientContext.d.ts.map +1 -1
- package/dist/Heplers/SuplaMqttClientContext.js +1 -2
- package/dist/Heplers/SuplaMqttClientContext.js.map +1 -1
- package/dist/platform.d.ts +36 -93
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +236 -1285
- package/dist/platform.js.map +1 -1
- package/package.json +5 -10
- package/dist/Heplers/DisplayName.d.ts +0 -15
- package/dist/Heplers/DisplayName.d.ts.map +0 -1
- package/dist/Heplers/DisplayName.js +0 -174
- package/dist/Heplers/DisplayName.js.map +0 -1
package/dist/platform.d.ts
CHANGED
|
@@ -1,17 +1,7 @@
|
|
|
1
1
|
import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service, Characteristic } from 'homebridge';
|
|
2
|
-
import
|
|
3
|
-
import { DiscoverySnapshot, SuplaMqttClient } from './Heplers/SuplaMqttClient';
|
|
2
|
+
import { SuplaMqttClient } from './Heplers/SuplaMqttClient';
|
|
4
3
|
import { SuplaChannelContext } from './Heplers/SuplaChannelContext';
|
|
5
|
-
import type {
|
|
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
|
-
}
|
|
4
|
+
import type { FrontGateTimingConfig } from './Accesories/FrontGateFsm';
|
|
15
5
|
/**
|
|
16
6
|
* HomebridgePlatform
|
|
17
7
|
* This class is the main constructor for your plugin, this is where you should
|
|
@@ -32,6 +22,9 @@ export declare class SuplaPlatform implements DynamicPlatformPlugin {
|
|
|
32
22
|
private readonly coveringExecuteActionClose;
|
|
33
23
|
private readonly coveringExecuteActionStop;
|
|
34
24
|
private readonly coveringTravelTimeSeconds;
|
|
25
|
+
private readonly gateControlMode;
|
|
26
|
+
private readonly gateExecuteActionOpen;
|
|
27
|
+
private readonly gateExecuteActionClose;
|
|
35
28
|
private readonly gateExecuteActionToggle;
|
|
36
29
|
private readonly gateLockControlMode;
|
|
37
30
|
private readonly gateLockExecuteAction;
|
|
@@ -39,44 +32,31 @@ export declare class SuplaPlatform implements DynamicPlatformPlugin {
|
|
|
39
32
|
private readonly gateLockPulseSeconds;
|
|
40
33
|
private readonly gateLockSetOnPayload;
|
|
41
34
|
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;
|
|
44
45
|
private readonly frontGateMinimumPulseGapMs;
|
|
45
|
-
private readonly
|
|
46
|
-
private readonly frontGateUnknownClosePolicy;
|
|
47
|
-
private readonly frontGateSeekClosedMaxPulses;
|
|
48
|
-
private readonly frontGateAssumeOpenAfterTravel;
|
|
49
|
-
private readonly frontGateSensorFallbackToControlChannel;
|
|
50
|
-
private readonly mqttProtocolVersion;
|
|
46
|
+
private readonly frontGateCloseRetryLimit;
|
|
51
47
|
private readonly commandQos;
|
|
52
48
|
private readonly commandRetain;
|
|
53
49
|
private readonly mqttHandlers;
|
|
54
50
|
private readonly mqttHandlerOwners;
|
|
55
51
|
private readonly mqttWildcardHandlers;
|
|
56
|
-
private readonly mqttNoLocalTopics;
|
|
57
|
-
private readonly mqttTransportHandlers;
|
|
58
|
-
private readonly channelRegistry;
|
|
59
52
|
private readonly ownerCleanups;
|
|
60
|
-
private readonly shutdownDrains;
|
|
61
|
-
private readonly gateLockFailSafeTasks;
|
|
62
53
|
private readonly mqttDesiredSubscriptions;
|
|
63
54
|
private readonly mqttSubscriptions;
|
|
64
55
|
private readonly mqttPendingSubscriptions;
|
|
65
|
-
private readonly mqttPendingSubscriptionOperations;
|
|
66
56
|
private readonly mqttRetryTimers;
|
|
67
57
|
private readonly mqttRetryState;
|
|
68
58
|
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;
|
|
76
59
|
constructor(log: Logger, config: PlatformConfig, api: API);
|
|
77
|
-
private start;
|
|
78
|
-
private shutdownGracefully;
|
|
79
|
-
private performGracefulShutdown;
|
|
80
60
|
/**
|
|
81
61
|
* This function is invoked when homebridge restores cached accessories from disk at startup.
|
|
82
62
|
* It should be used to setup event handlers for characteristics and update respective values.
|
|
@@ -87,44 +67,13 @@ export declare class SuplaPlatform implements DynamicPlatformPlugin {
|
|
|
87
67
|
* Accessories must only be registered once, previously created accessories
|
|
88
68
|
* must not be registered again to prevent "duplicate UUID" errors.
|
|
89
69
|
*/
|
|
90
|
-
discoverDevices(channelsOverride?: Array<SuplaChannelContext
|
|
70
|
+
discoverDevices(channelsOverride?: Array<SuplaChannelContext>): void;
|
|
91
71
|
private loadChannelsFromConfig;
|
|
92
|
-
private loadPersistedChannels;
|
|
93
|
-
private isSafeLegacyCacheMigration;
|
|
94
72
|
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;
|
|
103
73
|
private normalizeChannelContext;
|
|
104
74
|
private getChannelUuid;
|
|
105
75
|
private getChannelSignature;
|
|
106
|
-
private
|
|
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 getLegacyNoFunctionServiceUuids;
|
|
117
|
-
private isExplicitNoFunction;
|
|
118
|
-
private cleanupObsoleteServices;
|
|
119
|
-
private prepareAccessoryForReconfiguration;
|
|
120
|
-
private removeObsoleteOptionalCharacteristics;
|
|
121
|
-
private revokeAccessoryHandlers;
|
|
122
|
-
private resolveHomeKitDisplayName;
|
|
123
|
-
private captureAccessoryNames;
|
|
124
|
-
private restoreAccessoryNames;
|
|
125
|
-
private restoreAccessoryContext;
|
|
126
|
-
private areChannelContextsEqual;
|
|
127
|
-
private updateAccessoryNames;
|
|
76
|
+
private resetAccessoryServices;
|
|
128
77
|
private setupAccessory;
|
|
129
78
|
private isLeakSensorChannel;
|
|
130
79
|
getCoveringControlMode(): 'set' | 'execute_action' | 'hybrid';
|
|
@@ -134,6 +83,9 @@ export declare class SuplaPlatform implements DynamicPlatformPlugin {
|
|
|
134
83
|
getCoveringExecuteActionClose(): string;
|
|
135
84
|
getCoveringExecuteActionStop(): string;
|
|
136
85
|
getCoveringTravelTimeSeconds(): number;
|
|
86
|
+
getGateControlMode(): 'execute_action' | 'toggle';
|
|
87
|
+
getGateExecuteActionOpen(): string;
|
|
88
|
+
getGateExecuteActionClose(): string;
|
|
137
89
|
getGateExecuteActionToggle(): string;
|
|
138
90
|
getGateLockControlMode(): 'execute_action' | 'set_on_pulse';
|
|
139
91
|
getGateLockExecuteAction(): string;
|
|
@@ -141,46 +93,37 @@ export declare class SuplaPlatform implements DynamicPlatformPlugin {
|
|
|
141
93
|
getGateLockPulseSeconds(): number;
|
|
142
94
|
getGateLockSetOnPayload(): string;
|
|
143
95
|
getGateLockSetOffPayload(): string;
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
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;
|
|
151
104
|
getFrontGatePulseAction(): string;
|
|
152
105
|
private normalizeCoveringControlMode;
|
|
106
|
+
private normalizeGateControlMode;
|
|
153
107
|
private normalizeGateLockControlMode;
|
|
154
|
-
private
|
|
108
|
+
private normalizeGatePartialHiMode;
|
|
109
|
+
private normalizeGateReverseFollowUpDelayMs;
|
|
110
|
+
private normalizeGateOpenAssumeDelayMs;
|
|
111
|
+
private normalizeGateCommandCooldownMs;
|
|
112
|
+
private normalizeGatePublishRetryDelayMs;
|
|
155
113
|
private normalizeFrontGateFullTravelMs;
|
|
156
114
|
private normalizeFrontGateReversePauseMs;
|
|
115
|
+
private normalizeFrontGateWrongDirectionRunMs;
|
|
157
116
|
private normalizeFrontGateMinimumPulseGapMs;
|
|
158
|
-
private
|
|
159
|
-
private normalizeFrontGateUnknownClosePolicy;
|
|
160
|
-
private normalizeFrontGateSeekClosedMaxPulses;
|
|
161
|
-
private normalizeMqttProtocolVersion;
|
|
117
|
+
private normalizeFrontGateCloseRetryLimit;
|
|
162
118
|
private normalizeTopicSuffix;
|
|
163
119
|
normalizeTopicBase(topic: string): string;
|
|
164
|
-
registerMqttHandler(topic: string, handler:
|
|
165
|
-
registerMqttTransportHandler(handler: (connected: boolean) => void, ownerId: string): () => void;
|
|
120
|
+
registerMqttHandler(topic: string, handler: (message: Buffer, topic: string) => void, ownerId: string): () => void;
|
|
166
121
|
registerOwnerCleanup(ownerId: string, cleanup: () => void): () => void;
|
|
167
|
-
registerShutdownDrain(ownerId: string, drain: () => Promise<void>): () => void;
|
|
168
122
|
private unregisterMqttHandlers;
|
|
169
123
|
private unregisterAllMqttHandlers;
|
|
170
124
|
publishCommand(topic: string, payload: string | Buffer, callback?: (error?: Error) => void): void;
|
|
171
|
-
publishCommandAsync(topic: string, payload: string | Buffer): Promise<void>;
|
|
172
|
-
publishGateAction(topic: string, payload: string | Buffer, callback?: (error?: Error) => void): void;
|
|
173
|
-
publishActionAsync(topic: string, payload: string | Buffer): Promise<void>;
|
|
174
|
-
publishGateActionAsync(topic: string, payload: string | Buffer): Promise<void>;
|
|
175
|
-
isPublishCompletionUnknown(error: unknown): error is MqttPublishHapError;
|
|
176
|
-
private publishMqttAsync;
|
|
177
|
-
private publishMqtt;
|
|
178
125
|
parseBoolean(value: unknown): boolean;
|
|
179
|
-
parseBooleanStrict(value: unknown): boolean | undefined;
|
|
180
|
-
parseFiniteNumberStrict(value: unknown): number | undefined;
|
|
181
126
|
private runOwnerCleanup;
|
|
182
|
-
private updateMqttTransportState;
|
|
183
|
-
private advanceMqttTransportEpoch;
|
|
184
127
|
private clearActiveSubscriptions;
|
|
185
128
|
private clearAllSubscriptionRetries;
|
|
186
129
|
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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"}
|