@xyo-network/pentair-plugin 2.56.0 → 2.56.2

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.
@@ -1,332 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { FindUnits, RemoteLogin, UnitConnection } from 'node-screenlogic';
3
- export class Controller {
4
- static HEAT_MODE_HEAT_PUMP = 3;
5
- static HEAT_MODE_OFF = 0;
6
- static HEAT_MODE_SOLAR = 1;
7
- static HEAT_MODE_SOLAR_PREFERRED = 2;
8
- static HEAT_MODE_UNCHANGED = 4;
9
- static POOL_CIRCUIT_ID = 505;
10
- static SPA_CIRCUIT_ID = 500;
11
- ip_address;
12
- log;
13
- password;
14
- port;
15
- username;
16
- constructor(settings) {
17
- this.log = settings?.log ?? console;
18
- this.ip_address = settings?.ip_address;
19
- this.port = settings?.port;
20
- this.username = settings?.username;
21
- this.password = settings?.password;
22
- }
23
- _getConnection() {
24
- if (this.ip_address) {
25
- return this._getConnectionByIPAddress();
26
- }
27
- else if (this.username && this.password) {
28
- return this._getConnectionByRemoteLogin();
29
- }
30
- else {
31
- return this._getConnectionByBroadcast();
32
- }
33
- }
34
- /** get a connection by udp broadcast */
35
- _getConnectionByBroadcast() {
36
- return new Promise((resolve, reject) => {
37
- const finder = new FindUnits();
38
- finder
39
- .on('serverFound', (server) => {
40
- finder.close();
41
- const connection = new UnitConnection(server);
42
- connection.gatewayName = server.gatewayName;
43
- resolve(connection);
44
- })
45
- .on('error', (err) => {
46
- reject(err);
47
- });
48
- finder.search();
49
- });
50
- }
51
- /** get a connection by IP address */
52
- _getConnectionByIPAddress() {
53
- return new Promise((resolve, _reject) => {
54
- const connection = new UnitConnection(this.port || 80, this.ip_address, this.password);
55
- connection.gatewayName = this.username ?? 'Pentair: XX-XX-XX';
56
- resolve(connection);
57
- });
58
- }
59
- /** find a unit by remote login */
60
- _getConnectionByRemoteLogin() {
61
- return new Promise((resolve, reject) => {
62
- const remote = new RemoteLogin(this.username);
63
- remote
64
- .on('gatewayFound', (unit) => {
65
- remote.close();
66
- if (unit && unit.gatewayFound) {
67
- const connection = new UnitConnection(unit.port, unit.ipAddr, this.password);
68
- connection.gatewayName = this.username;
69
- resolve(connection);
70
- }
71
- else {
72
- reject(new ControllerError('no remote unit found'));
73
- }
74
- })
75
- .on('error', (err) => {
76
- reject(err);
77
- });
78
- remote.connect();
79
- });
80
- }
81
- _getPoolConfig(connection) {
82
- let softwareVersion = '';
83
- return new Promise((resolve, reject) => {
84
- connection
85
- .once('version', (version) => {
86
- softwareVersion = version.version;
87
- connection.getControllerConfig();
88
- })
89
- .once('controllerConfig', (poolConfig) => {
90
- //this.log.debug('controllerConfig', poolConfig)
91
- resolve(new PoolConfig(connection.gatewayName, softwareVersion, poolConfig));
92
- })
93
- .on('error', (err) => {
94
- reject(err);
95
- });
96
- connection.getVersion();
97
- });
98
- }
99
- _getPoolStatus(connection) {
100
- return new Promise((resolve, reject) => {
101
- connection
102
- .once('poolStatus', (status) => {
103
- //this.log.debug('poolStatus', status)
104
- resolve(new PoolStatus(status));
105
- })
106
- .on('error', (err) => {
107
- reject(err);
108
- });
109
- connection.getPoolStatus();
110
- });
111
- }
112
- _login(connection) {
113
- return new Promise((resolve, reject) => {
114
- connection
115
- .once('loggedIn', () => {
116
- resolve();
117
- })
118
- .once('loginFailed', () => {
119
- reject(new ControllerError('unable to login'));
120
- })
121
- .on('error', (err) => {
122
- reject(err);
123
- });
124
- connection.connect();
125
- });
126
- }
127
- _sendLightCommand(connection, cmd) {
128
- return new Promise((resolve, reject) => {
129
- connection
130
- .once('sentLightCommand', () => {
131
- resolve();
132
- })
133
- .once('badParameter', () => {
134
- reject(new ControllerError('bad parameter passed to send light command'));
135
- })
136
- .on('error', (err) => {
137
- reject(err);
138
- });
139
- connection.sendLightCommand(0, cmd);
140
- });
141
- }
142
- _setCircuitState(connection, circuitId, circuitState) {
143
- return new Promise((resolve, reject) => {
144
- connection
145
- .once('circuitStateChanged', () => {
146
- resolve();
147
- })
148
- .once('badParameter', () => {
149
- reject(new ControllerError('bad parameter passed to set command'));
150
- })
151
- .on('error', (err) => {
152
- reject(err);
153
- });
154
- connection.setCircuitState(0, circuitId, circuitState ? 1 : 0);
155
- });
156
- }
157
- _setHeatMode(connection, bodyType, heatMode) {
158
- return new Promise((resolve, reject) => {
159
- connection
160
- .once('heatModeChanged', () => {
161
- resolve();
162
- })
163
- .once('badParameter', () => {
164
- reject(new ControllerError('bad parameter passed to set command'));
165
- })
166
- .on('error', (err) => {
167
- reject(err);
168
- });
169
- connection.setHeatMode(0, bodyType, heatMode);
170
- });
171
- }
172
- _setHeatPoint(connection, bodyType, heatPoint) {
173
- return new Promise((resolve, reject) => {
174
- connection
175
- .once('setPointChanged', () => {
176
- resolve();
177
- })
178
- .once('badParameter', () => {
179
- reject(new ControllerError('bad parameter passed to set command'));
180
- })
181
- .on('error', (err) => {
182
- reject(err);
183
- });
184
- connection.setSetPoint(0, bodyType, heatPoint);
185
- });
186
- }
187
- async getPoolConfig() {
188
- const connection = await this._getConnection();
189
- try {
190
- await this._login(connection);
191
- return await this._getPoolConfig(connection);
192
- }
193
- finally {
194
- connection.close();
195
- }
196
- }
197
- async getPoolStatus() {
198
- const connection = await this._getConnection();
199
- try {
200
- await this._login(connection);
201
- return await this._getPoolStatus(connection);
202
- }
203
- finally {
204
- connection.close();
205
- }
206
- }
207
- async sendLightCommand(cmd) {
208
- const connection = await this._getConnection();
209
- try {
210
- await this._login(connection);
211
- return await this._sendLightCommand(connection, cmd);
212
- }
213
- finally {
214
- connection.close();
215
- }
216
- }
217
- async setCircuitState(circuitId, circuitState) {
218
- const connection = await this._getConnection();
219
- try {
220
- await this._login(connection);
221
- return await this._setCircuitState(connection, circuitId, circuitState);
222
- }
223
- finally {
224
- connection.close();
225
- }
226
- }
227
- async setHeatMode(bodyType, heatMode) {
228
- const connection = await this._getConnection();
229
- try {
230
- await this._login(connection);
231
- return await this._setHeatMode(connection, bodyType, heatMode);
232
- }
233
- finally {
234
- connection.close();
235
- }
236
- }
237
- async setHeatPoint(bodyType, heatPoint) {
238
- const connection = await this._getConnection();
239
- try {
240
- await this._login(connection);
241
- return await this._setHeatPoint(connection, bodyType, heatPoint);
242
- }
243
- finally {
244
- connection.close();
245
- }
246
- }
247
- }
248
- export class ControllerError extends Error {
249
- }
250
- export class PoolCircuit {
251
- id;
252
- name;
253
- constructor(id, name) {
254
- this.id = id;
255
- this.name = name;
256
- }
257
- }
258
- export class PoolConfig {
259
- circuits = [];
260
- deviceId;
261
- gatewayName;
262
- hasPool;
263
- hasSpa;
264
- isCelsius;
265
- poolMaxSetPoint;
266
- poolMinSetPoint;
267
- softwareVersion;
268
- spaMaxSetPoint;
269
- spaMinSetPoint;
270
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
271
- constructor(gatewayName, softwareVersion, config) {
272
- this.gatewayName = gatewayName;
273
- this.deviceId = gatewayName.replace('Pentair: ', '');
274
- this.softwareVersion = softwareVersion;
275
- this.isCelsius = config.degC;
276
- this.poolMinSetPoint = config.minSetPoint[0] ?? 0;
277
- this.poolMaxSetPoint = config.maxSetPoint[0] ?? 0;
278
- this.spaMinSetPoint = config.minSetPoint[1] ?? 0;
279
- this.spaMaxSetPoint = config.maxSetPoint[1] ?? 0;
280
- this.hasSpa = false;
281
- this.hasPool = false;
282
- this.circuits = [];
283
- for (const circuit of config.bodyArray) {
284
- const poolCircuit = new PoolCircuit(circuit.circuitId, circuit.name);
285
- this.circuits.push(poolCircuit);
286
- if (poolCircuit.id === Controller.POOL_CIRCUIT_ID) {
287
- this.hasPool = true;
288
- }
289
- else if (poolCircuit.id === Controller.SPA_CIRCUIT_ID) {
290
- this.hasSpa = true;
291
- }
292
- }
293
- }
294
- }
295
- export class PoolStatus {
296
- airTemperature;
297
- circuitState = new Map();
298
- hasPool;
299
- hasSpa;
300
- isPoolActive;
301
- isPoolHeating;
302
- isSpaActive;
303
- isSpaHeating;
304
- poolHeatMode;
305
- poolSetPoint;
306
- poolTemperature;
307
- spaHeatMode;
308
- spaSetPoint;
309
- spaTemperature;
310
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
311
- constructor(status) {
312
- // save circuit state
313
- this.circuitState = new Map();
314
- for (const circuit of status.circuitArray) {
315
- this.circuitState.set(circuit.id, circuit.state);
316
- }
317
- this.hasPool = this.circuitState.get(Controller.POOL_CIRCUIT_ID) !== undefined;
318
- this.hasSpa = this.circuitState.get(Controller.SPA_CIRCUIT_ID) !== undefined;
319
- this.poolTemperature = status.currentTemp[0];
320
- this.poolSetPoint = status.setPoint[0];
321
- this.isPoolActive = this.hasPool && status.isPoolActive();
322
- this.isPoolHeating = this.hasPool && status.heatStatus[0] !== 0;
323
- this.poolHeatMode = status.heatMode[0];
324
- this.spaTemperature = status.currentTemp[1];
325
- this.spaSetPoint = status.setPoint[1];
326
- this.isSpaActive = this.hasSpa && status.isSpaActive();
327
- this.isSpaHeating = this.hasSpa && status.heatStatus[1] !== 0;
328
- this.spaHeatMode = status.heatMode[1];
329
- this.airTemperature = status.airTemp;
330
- }
331
- }
332
- //# sourceMappingURL=controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/screenlogic/controller.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from './controller';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/screenlogic/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
@@ -1,102 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { UnitConnection } from 'node-screenlogic';
4
- interface ControllerOptions {
5
- ip_address?: string;
6
- log?: typeof console;
7
- password?: string;
8
- port?: number;
9
- username?: string;
10
- }
11
- export declare class Controller {
12
- static readonly HEAT_MODE_HEAT_PUMP = 3;
13
- static readonly HEAT_MODE_OFF = 0;
14
- static readonly HEAT_MODE_SOLAR = 1;
15
- static readonly HEAT_MODE_SOLAR_PREFERRED = 2;
16
- static readonly HEAT_MODE_UNCHANGED = 4;
17
- static readonly POOL_CIRCUIT_ID = 505;
18
- static readonly SPA_CIRCUIT_ID = 500;
19
- private readonly ip_address?;
20
- private readonly log;
21
- private readonly password?;
22
- private readonly port?;
23
- private readonly username?;
24
- constructor(settings?: ControllerOptions);
25
- _getConnection(): Promise<UnitConnection>;
26
- /** get a connection by udp broadcast */
27
- _getConnectionByBroadcast(): Promise<UnitConnection>;
28
- /** get a connection by IP address */
29
- _getConnectionByIPAddress(): Promise<UnitConnection>;
30
- /** find a unit by remote login */
31
- _getConnectionByRemoteLogin(): Promise<UnitConnection>;
32
- _getPoolConfig(connection: UnitConnection): Promise<PoolConfig>;
33
- _getPoolStatus(connection: UnitConnection): Promise<PoolStatus>;
34
- _login(connection: UnitConnection): Promise<void>;
35
- _sendLightCommand(connection: UnitConnection, cmd: number): Promise<void>;
36
- _setCircuitState(connection: UnitConnection, circuitId: number, circuitState: boolean): Promise<void>;
37
- _setHeatMode(connection: UnitConnection, bodyType: number, heatMode: number): Promise<void>;
38
- _setHeatPoint(connection: UnitConnection, bodyType: number, heatPoint: number): Promise<void>;
39
- getPoolConfig(): Promise<PoolConfig>;
40
- getPoolStatus(): Promise<PoolStatus>;
41
- sendLightCommand(cmd: number): Promise<void>;
42
- setCircuitState(circuitId: number, circuitState: boolean): Promise<void>;
43
- setHeatMode(bodyType: number, heatMode: number): Promise<void>;
44
- setHeatPoint(bodyType: number, heatPoint: number): Promise<void>;
45
- }
46
- export declare class ControllerError extends Error {
47
- }
48
- export interface PoolCircuitJson {
49
- id: number;
50
- name: string;
51
- }
52
- export declare class PoolCircuit implements PoolCircuitJson {
53
- readonly id: number;
54
- readonly name: string;
55
- constructor(id: number, name: string);
56
- }
57
- export interface PoolConfigJson {
58
- circuits: PoolCircuitJson[];
59
- deviceId: string;
60
- gatewayName: string;
61
- hasPool: boolean;
62
- hasSpa: boolean;
63
- isCelsius: boolean;
64
- poolMaxSetPoint: number;
65
- poolMinSetPoint: number;
66
- softwareVersion: string;
67
- spaMaxSetPoint: number;
68
- spaMinSetPoint: number;
69
- }
70
- export declare class PoolConfig implements PoolConfigJson {
71
- circuits: PoolCircuit[];
72
- readonly deviceId: string;
73
- readonly gatewayName: string;
74
- readonly hasPool: boolean;
75
- readonly hasSpa: boolean;
76
- readonly isCelsius: boolean;
77
- readonly poolMaxSetPoint: number;
78
- readonly poolMinSetPoint: number;
79
- readonly softwareVersion: string;
80
- readonly spaMaxSetPoint: number;
81
- readonly spaMinSetPoint: number;
82
- constructor(gatewayName: string, softwareVersion: string, config: any);
83
- }
84
- export declare class PoolStatus {
85
- readonly airTemperature: number;
86
- readonly circuitState: Map<number, number>;
87
- readonly hasPool: boolean;
88
- readonly hasSpa: boolean;
89
- readonly isPoolActive: boolean;
90
- readonly isPoolHeating: boolean;
91
- readonly isSpaActive: boolean;
92
- readonly isSpaHeating: boolean;
93
- readonly poolHeatMode: number;
94
- readonly poolSetPoint: number;
95
- readonly poolTemperature: number;
96
- readonly spaHeatMode: number;
97
- readonly spaSetPoint: number;
98
- readonly spaTemperature: number;
99
- constructor(status: any);
100
- }
101
- export {};
102
- //# sourceMappingURL=controller.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/screenlogic/controller.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from './controller';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/screenlogic/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}