homebridge-salus-cloud 0.1.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platformAccessory.js","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { SalusPropertyMap } from './types.js';
2
+ export declare function baseNameForProperty(name: string): string;
3
+ export declare function normalizeModelName(model: string): string;
4
+ export declare function parseBooleanLike(value: unknown): boolean | undefined;
5
+ export declare function parseNumberLike(value: unknown): number | undefined;
6
+ export declare function hasAnyPropertyBase(map: SalusPropertyMap, baseNames: string[]): boolean;
7
+ export declare function findPropertyByBaseName(map: SalusPropertyMap, baseNames: string[]): string | undefined;
8
+ export declare function getNumberProperty(map: SalusPropertyMap, baseNames: string[]): number | undefined;
9
+ export declare function getStringProperty(map: SalusPropertyMap, baseNames: string[]): string | undefined;
10
+ export declare function getBooleanProperty(map: SalusPropertyMap, baseNames: string[]): boolean | undefined;
11
+ export declare function normalizeTemperatureFromX100(value: number): number;
12
+ export declare function normalizePercentage(value: unknown): number | undefined;
13
+ export declare function encodePercentageLike(sample: unknown, percentage: number): number | string;
14
+ export declare function encodeBooleanLike(sample: unknown, enabled: boolean): number | string | boolean;
15
+ export declare function clamp(value: number, minValue: number, maxValue: number): number;
@@ -0,0 +1,185 @@
1
+ /* eslint-disable @typescript-eslint/no-use-before-define */
2
+ export function baseNameForProperty(name) {
3
+ const parts = name.split(':');
4
+ return parts[parts.length - 1] ?? name;
5
+ }
6
+ export function normalizeModelName(model) {
7
+ return model.replaceAll(/[^A-Za-z0-9]/g, '_').replaceAll(/_+/g, '_');
8
+ }
9
+ export function parseBooleanLike(value) {
10
+ if (typeof value === 'boolean') {
11
+ return value;
12
+ }
13
+ if (typeof value === 'number') {
14
+ return value !== 0;
15
+ }
16
+ if (typeof value === 'string') {
17
+ const normalized = value.trim().toLowerCase();
18
+ if (normalized === '') {
19
+ return undefined;
20
+ }
21
+ if (normalized === 'true' || normalized === 'on' || normalized === 'open' || normalized === 'locked') {
22
+ return true;
23
+ }
24
+ if (normalized === 'false' || normalized === 'off' || normalized === 'closed' || normalized === 'unlocked') {
25
+ return false;
26
+ }
27
+ const parsed = Number(normalized);
28
+ if (!Number.isNaN(parsed)) {
29
+ return parsed !== 0;
30
+ }
31
+ }
32
+ return undefined;
33
+ }
34
+ export function parseNumberLike(value) {
35
+ if (typeof value === 'number' && Number.isFinite(value)) {
36
+ return value;
37
+ }
38
+ if (typeof value === 'string') {
39
+ const trimmed = value.trim();
40
+ if (trimmed.length === 0) {
41
+ return undefined;
42
+ }
43
+ const parsed = Number(trimmed);
44
+ if (Number.isFinite(parsed)) {
45
+ return parsed;
46
+ }
47
+ }
48
+ return undefined;
49
+ }
50
+ export function hasAnyPropertyBase(map, baseNames) {
51
+ const names = new Set(baseNames);
52
+ for (const prop of map.values()) {
53
+ if (names.has(prop.baseName)) {
54
+ return true;
55
+ }
56
+ }
57
+ return false;
58
+ }
59
+ export function findPropertyByBaseName(map, baseNames) {
60
+ for (const baseName of baseNames) {
61
+ for (const [name, prop] of map) {
62
+ if (prop.baseName === baseName || name === baseName) {
63
+ return name;
64
+ }
65
+ }
66
+ }
67
+ return undefined;
68
+ }
69
+ export function getNumberProperty(map, baseNames) {
70
+ for (const baseName of baseNames) {
71
+ for (const prop of map.values()) {
72
+ if (prop.baseName === baseName || prop.name === baseName) {
73
+ const parsed = parseNumberLike(prop.value);
74
+ if (parsed !== undefined) {
75
+ return parsed;
76
+ }
77
+ }
78
+ }
79
+ }
80
+ return undefined;
81
+ }
82
+ export function getStringProperty(map, baseNames) {
83
+ for (const baseName of baseNames) {
84
+ for (const prop of map.values()) {
85
+ if (prop.baseName === baseName || prop.name === baseName) {
86
+ if (typeof prop.value === 'string') {
87
+ return prop.value;
88
+ }
89
+ }
90
+ }
91
+ }
92
+ return undefined;
93
+ }
94
+ export function getBooleanProperty(map, baseNames) {
95
+ for (const baseName of baseNames) {
96
+ for (const prop of map.values()) {
97
+ if (prop.baseName === baseName || prop.name === baseName) {
98
+ const parsed = parseBooleanLike(prop.value);
99
+ if (parsed !== undefined) {
100
+ return parsed;
101
+ }
102
+ }
103
+ }
104
+ }
105
+ return undefined;
106
+ }
107
+ export function normalizeTemperatureFromX100(value) {
108
+ if (Math.abs(value) >= 100) {
109
+ return Math.round(value) / 100;
110
+ }
111
+ return value;
112
+ }
113
+ export function normalizePercentage(value) {
114
+ const numeric = parseNumberLike(value);
115
+ if (numeric !== undefined) {
116
+ if (numeric <= 1 && numeric >= 0) {
117
+ return Math.round(numeric * 100);
118
+ }
119
+ if (numeric > 100 && numeric <= 255) {
120
+ return clamp(Math.round((numeric / 255) * 100), 0, 100);
121
+ }
122
+ return clamp(Math.round(numeric), 0, 100);
123
+ }
124
+ if (typeof value === 'string') {
125
+ const trimmed = value.trim();
126
+ if (/^[0-9a-fA-F]{6}$/.test(trimmed)) {
127
+ const head = Number.parseInt(trimmed.slice(0, 2), 16);
128
+ return clamp(Math.round((head / 255) * 100), 0, 100);
129
+ }
130
+ }
131
+ return undefined;
132
+ }
133
+ export function encodePercentageLike(sample, percentage) {
134
+ const bounded = clamp(Math.round(percentage), 0, 100);
135
+ if (typeof sample === 'string' && /^[0-9a-fA-F]{6}$/.test(sample.trim())) {
136
+ const suffix = sample.trim().slice(2);
137
+ const scaled = Math.round((bounded / 100) * 255).toString(16).padStart(2, '0').toUpperCase();
138
+ return `${scaled}${suffix}`;
139
+ }
140
+ return bounded;
141
+ }
142
+ export function encodeBooleanLike(sample, enabled) {
143
+ if (typeof sample === 'boolean') {
144
+ return enabled;
145
+ }
146
+ if (typeof sample === 'number') {
147
+ return enabled ? 1 : 0;
148
+ }
149
+ if (typeof sample === 'string') {
150
+ const trimmed = sample.trim();
151
+ const normalized = trimmed.toLowerCase();
152
+ if (normalized === 'true' || normalized === 'false') {
153
+ return preserveStringCase(trimmed, enabled ? 'true' : 'false');
154
+ }
155
+ if (normalized === 'on' || normalized === 'off') {
156
+ return preserveStringCase(trimmed, enabled ? 'on' : 'off');
157
+ }
158
+ if (normalized === 'open' || normalized === 'closed') {
159
+ return preserveStringCase(trimmed, enabled ? 'open' : 'closed');
160
+ }
161
+ if (normalized === 'locked' || normalized === 'unlocked') {
162
+ return preserveStringCase(trimmed, enabled ? 'locked' : 'unlocked');
163
+ }
164
+ if (normalized === '1' || normalized === '0') {
165
+ return enabled ? '1' : '0';
166
+ }
167
+ }
168
+ return enabled ? 1 : 0;
169
+ }
170
+ export function clamp(value, minValue, maxValue) {
171
+ return Math.max(minValue, Math.min(maxValue, value));
172
+ }
173
+ function preserveStringCase(sample, nextValue) {
174
+ if (sample === sample.toUpperCase()) {
175
+ return nextValue.toUpperCase();
176
+ }
177
+ if (sample === sample.toLowerCase()) {
178
+ return nextValue;
179
+ }
180
+ if (sample[0] === sample[0]?.toUpperCase() && sample.slice(1) === sample.slice(1).toLowerCase()) {
181
+ return `${nextValue[0]?.toUpperCase() ?? ''}${nextValue.slice(1)}`;
182
+ }
183
+ return nextValue;
184
+ }
185
+ //# sourceMappingURL=propertyUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propertyUtils.js","sourceRoot":"","sources":["../src/propertyUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import type { Logging } from 'homebridge';
2
+ import type { SalusDevice, SalusPlatformConfig, SalusPropertyMap } from './types.js';
3
+ export declare class SalusCloudClient {
4
+ private readonly log;
5
+ private readonly config;
6
+ private session;
7
+ private authRequestInFlight;
8
+ private readonly requestTimeoutMs;
9
+ private readonly maxRetries;
10
+ private readonly retryBaseDelayMs;
11
+ private readonly verboseLogging;
12
+ private readonly allowInsecureTls;
13
+ private readonly serviceApiBaseCandidates;
14
+ private readonly cognitoEndpoint;
15
+ private readonly cognitoClientId;
16
+ private readonly companyCode;
17
+ private activeServiceApiBaseUrl;
18
+ private readonly propertyCacheByDsn;
19
+ private readonly deviceIdToDsn;
20
+ private readonly deviceKeyToDsn;
21
+ private preferredShadowVariantDescription;
22
+ private readonly preferredWriteAttemptByKey;
23
+ private insecureTlsInFlight;
24
+ private insecureTlsPreviousValue;
25
+ private insecureTlsHadPreviousValue;
26
+ constructor(log: Logging, config: SalusPlatformConfig);
27
+ getCloudBaseUrl(): string;
28
+ listDevices(): Promise<SalusDevice[]>;
29
+ listProperties(dsn: string): Promise<SalusPropertyMap>;
30
+ setDatapoint(dsn: string, propertyName: string, value: unknown): Promise<void>;
31
+ private rememberPreferredWriteAttempt;
32
+ private rebuildDeviceIndex;
33
+ private replacePropertyCache;
34
+ private mergeIntoPropertyCache;
35
+ private fetchDeviceShadows;
36
+ private buildWriteAttempts;
37
+ private findDeviceIdByDsn;
38
+ private findDeviceKeyByDsn;
39
+ private updateCachedProperty;
40
+ private ensureLoggedIn;
41
+ private login;
42
+ private refreshSession;
43
+ private authenticateWithPassword;
44
+ private authenticateWithRefreshToken;
45
+ private cognitoInitiateAuth;
46
+ private requestServiceJsonWithPathFallback;
47
+ private requestServiceJson;
48
+ private buildServiceHeaders;
49
+ private getOrderedServiceApiBaseUrls;
50
+ private retryDelay;
51
+ private fetchWithTimeout;
52
+ }