homebridge-ariston-heater 0.1.0 → 0.1.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.
@@ -3,11 +3,19 @@ export declare class AristonHeaterAccessory {
3
3
  private log;
4
4
  private api;
5
5
  private service;
6
+ private eveCharacteristics;
7
+ private eveAntiLeg?;
8
+ private eveHeatReq?;
9
+ private eveShowers?;
6
10
  private cached;
7
11
  private variant;
8
12
  private plantId;
9
13
  private timer?;
10
14
  private pollInterval;
15
+ private refreshOnGet;
16
+ private refreshOnGetCooldown;
17
+ private lastRefreshAt;
18
+ private refreshing;
11
19
  private debug;
12
20
  private client;
13
21
  private name;
@@ -18,7 +26,10 @@ export declare class AristonHeaterAccessory {
18
26
  private initialize;
19
27
  private schedule;
20
28
  private refresh;
29
+ private triggerRefresh;
30
+ private maybeRefreshOnDemand;
21
31
  private pushState;
32
+ private getShowersCount;
22
33
  private onGetCurrentTemperature;
23
34
  private onGetTargetTemperature;
24
35
  private onSetTargetTemperature;
package/dist/accessory.js CHANGED
@@ -7,16 +7,28 @@ class AristonHeaterAccessory {
7
7
  var _a, _b;
8
8
  this.log = log;
9
9
  this.api = api;
10
- this.cached = { currentTemp: null, targetTemp: null, power: null };
10
+ this.cached = {
11
+ currentTemp: null,
12
+ targetTemp: null,
13
+ power: null,
14
+ antiLeg: null,
15
+ heatReq: null,
16
+ avShw: null,
17
+ };
11
18
  this.variant = null;
19
+ this.lastRefreshAt = 0;
20
+ this.refreshing = null;
12
21
  const ServiceCtor = api.hap.Service;
13
22
  const CharacteristicCtor = api.hap.Characteristic;
14
23
  this.name = config.name || 'Ariston Heater';
15
24
  this.plantId = config.gateway || null;
16
- this.pollInterval = Math.max(15, Number(config.pollInterval) || 30);
25
+ this.pollInterval = Math.max(15, Number(config.pollInterval) || 1800);
17
26
  this.debug = !!config.debug;
18
27
  this.minTemp = Math.max(1, Number((_a = config.minTemp) !== null && _a !== void 0 ? _a : 35));
19
28
  this.maxTemp = Math.max(this.minTemp + 1, Number((_b = config.maxTemp) !== null && _b !== void 0 ? _b : 70));
29
+ this.eveCharacteristics = config.eveCharacteristics !== false; // default true
30
+ this.refreshOnGet = config.refreshOnGet !== false; // default true
31
+ this.refreshOnGetCooldown = Math.max(2, Number(config.refreshOnGetCooldownSeconds) || 10);
20
32
  const cacheDir = (api && api.user && api.user.storagePath && api.user.storagePath()) || process.cwd();
21
33
  this.client = new client_1.AristonClient({
22
34
  baseURL: config.baseURL,
@@ -44,13 +56,89 @@ class AristonHeaterAccessory {
44
56
  .setProps({ validValues: [CharacteristicCtor.TargetHeatingCoolingState.OFF, CharacteristicCtor.TargetHeatingCoolingState.HEAT] })
45
57
  .onGet(this.onGetTargetHeatingCoolingState.bind(this))
46
58
  .onSet(this.onSetTargetHeatingCoolingState.bind(this));
59
+ // Eve-only custom characteristics (not visible in Apple Home)
60
+ if (this.eveCharacteristics) {
61
+ const H = this.api.hap;
62
+ const makeUUID = (suffix) => `0D5B${suffix}-A1F7-4C2E-8E0B-2B7E5B2A9A10`;
63
+ class EveAntiLegCharacteristic extends H.Characteristic {
64
+ constructor() {
65
+ super('Anti Legionella', EveAntiLegCharacteristic.UUID, {
66
+ format: "bool" /* H.Formats.BOOL */,
67
+ perms: ["pr" /* H.Perms.PAIRED_READ */, "ev" /* H.Perms.NOTIFY */],
68
+ });
69
+ }
70
+ }
71
+ EveAntiLegCharacteristic.UUID = makeUUID('0001');
72
+ class EveHeatReqCharacteristic extends H.Characteristic {
73
+ constructor() {
74
+ super('Heating Active', EveHeatReqCharacteristic.UUID, {
75
+ format: "bool" /* H.Formats.BOOL */,
76
+ perms: ["pr" /* H.Perms.PAIRED_READ */, "ev" /* H.Perms.NOTIFY */],
77
+ });
78
+ }
79
+ }
80
+ EveHeatReqCharacteristic.UUID = makeUUID('0002');
81
+ class EveShowersCharacteristic extends H.Characteristic {
82
+ constructor() {
83
+ super('Showers', EveShowersCharacteristic.UUID, {
84
+ format: "uint8" /* H.Formats.UINT8 */,
85
+ perms: ["pr" /* H.Perms.PAIRED_READ */, "ev" /* H.Perms.NOTIFY */],
86
+ minValue: 0,
87
+ maxValue: 4,
88
+ minStep: 1,
89
+ });
90
+ }
91
+ }
92
+ EveShowersCharacteristic.UUID = makeUUID('0003');
93
+ try {
94
+ this.eveAntiLeg = this.service.getCharacteristic(EveAntiLegCharacteristic);
95
+ }
96
+ catch {
97
+ try {
98
+ this.eveAntiLeg = this.service.addCharacteristic(EveAntiLegCharacteristic);
99
+ }
100
+ catch { }
101
+ }
102
+ if (this.eveAntiLeg)
103
+ this.eveAntiLeg.onGet(async () => !!this.cached.antiLeg);
104
+ try {
105
+ this.eveHeatReq = this.service.getCharacteristic(EveHeatReqCharacteristic);
106
+ }
107
+ catch {
108
+ try {
109
+ this.eveHeatReq = this.service.addCharacteristic(EveHeatReqCharacteristic);
110
+ }
111
+ catch { }
112
+ }
113
+ if (this.eveHeatReq)
114
+ this.eveHeatReq.onGet(async () => !!this.cached.heatReq);
115
+ try {
116
+ this.eveShowers = this.service.getCharacteristic(EveShowersCharacteristic);
117
+ }
118
+ catch {
119
+ try {
120
+ this.eveShowers = this.service.addCharacteristic(EveShowersCharacteristic);
121
+ }
122
+ catch { }
123
+ }
124
+ if (this.eveShowers)
125
+ this.eveShowers.onGet(async () => this.getShowersCount());
126
+ }
47
127
  this.initialize();
128
+ // Cleanup on Homebridge shutdown
129
+ try {
130
+ this.api.on('shutdown', () => {
131
+ if (this.timer)
132
+ clearInterval(this.timer);
133
+ });
134
+ }
135
+ catch { }
48
136
  }
49
137
  getServices() {
50
138
  return [this.service];
51
139
  }
52
140
  async initialize() {
53
- var _a, _b, _c;
141
+ var _a, _b, _c, _d, _e, _f;
54
142
  try {
55
143
  await this.client.login();
56
144
  if (!this.plantId) {
@@ -65,6 +153,9 @@ class AristonHeaterAccessory {
65
153
  this.cached.currentTemp = (_a = best.fields.currentTemp) !== null && _a !== void 0 ? _a : null;
66
154
  this.cached.targetTemp = (_b = best.fields.targetTemp) !== null && _b !== void 0 ? _b : null;
67
155
  this.cached.power = (_c = best.fields.powerState) !== null && _c !== void 0 ? _c : null;
156
+ this.cached.antiLeg = (_d = best.fields.antiLeg) !== null && _d !== void 0 ? _d : null;
157
+ this.cached.heatReq = (_e = best.fields.heatReq) !== null && _e !== void 0 ? _e : null;
158
+ this.cached.avShw = (_f = best.fields.avShw) !== null && _f !== void 0 ? _f : null;
68
159
  this.pushState();
69
160
  this.schedule();
70
161
  }
@@ -75,7 +166,6 @@ class AristonHeaterAccessory {
75
166
  schedule() {
76
167
  if (this.timer)
77
168
  clearInterval(this.timer);
78
- // Slightly delay first refresh to stagger multiple accessories
79
169
  setTimeout(() => this.refresh().catch(() => { }), 2000);
80
170
  this.timer = setInterval(() => this.refresh().catch(() => { }), this.pollInterval * 1000);
81
171
  }
@@ -85,21 +175,48 @@ class AristonHeaterAccessory {
85
175
  try {
86
176
  const best = await this.client.getBestVelisPlantData(this.plantId);
87
177
  this.variant = best.kind;
88
- const { currentTemp, targetTemp, powerState } = best.fields;
178
+ const { currentTemp, targetTemp, powerState, antiLeg, heatReq, avShw } = best.fields;
89
179
  this.cached.currentTemp = typeof currentTemp === 'number' ? currentTemp : this.cached.currentTemp;
90
180
  this.cached.targetTemp = typeof targetTemp === 'number' ? targetTemp : this.cached.targetTemp;
91
181
  this.cached.power = typeof powerState === 'boolean' ? powerState : this.cached.power;
182
+ this.cached.antiLeg = typeof antiLeg === 'boolean' ? antiLeg : this.cached.antiLeg;
183
+ this.cached.heatReq = typeof heatReq === 'boolean' ? heatReq : this.cached.heatReq;
184
+ this.cached.avShw = typeof avShw === 'number' ? avShw : this.cached.avShw;
92
185
  this.pushState();
186
+ this.lastRefreshAt = Date.now();
93
187
  }
94
188
  catch (e) {
95
- this.log('Refresh failed:', (e === null || e === void 0 ? void 0 : e.message) || e);
96
- // Optional: backoff a bit to avoid hammering if errors persist
189
+ const msg = (e === null || e === void 0 ? void 0 : e.message) || String(e);
190
+ const isRate = (e === null || e === void 0 ? void 0 : e.name) === 'RateLimitError';
191
+ const delay = isRate && typeof (e === null || e === void 0 ? void 0 : e.retryAfter) === 'number' ? Math.max(1000, e.retryAfter * 1000) : 500;
192
+ this.log(isRate ? 'Rate limited, backing off:' : 'Refresh failed:', msg, isRate ? `(retry in ${Math.round(delay / 1000)}s)` : '');
97
193
  try {
98
- await new Promise((r) => setTimeout(r, 500));
194
+ await new Promise((r) => setTimeout(r, delay));
99
195
  }
100
196
  catch { }
101
197
  }
102
198
  }
199
+ triggerRefresh() {
200
+ if (this.refreshing)
201
+ return this.refreshing;
202
+ this.refreshing = (async () => {
203
+ try {
204
+ await this.refresh();
205
+ }
206
+ finally {
207
+ this.refreshing = null;
208
+ }
209
+ })();
210
+ return this.refreshing;
211
+ }
212
+ maybeRefreshOnDemand() {
213
+ if (!this.refreshOnGet)
214
+ return;
215
+ const now = Date.now();
216
+ if (now - this.lastRefreshAt >= this.refreshOnGetCooldown * 1000) {
217
+ this.triggerRefresh();
218
+ }
219
+ }
103
220
  pushState() {
104
221
  const C = this.api.hap.Characteristic;
105
222
  if (typeof this.cached.currentTemp === 'number')
@@ -110,13 +227,35 @@ class AristonHeaterAccessory {
110
227
  this.service.updateCharacteristic(C.TargetHeatingCoolingState, this.cached.power ? C.TargetHeatingCoolingState.HEAT : C.TargetHeatingCoolingState.OFF);
111
228
  this.service.updateCharacteristic(C.CurrentHeatingCoolingState, this.cached.power ? C.CurrentHeatingCoolingState.HEAT : C.CurrentHeatingCoolingState.OFF);
112
229
  }
230
+ // Update Eve custom characteristics
231
+ try {
232
+ if (this.eveAntiLeg && typeof this.cached.antiLeg === 'boolean')
233
+ this.eveAntiLeg.updateValue(!!this.cached.antiLeg);
234
+ }
235
+ catch { }
236
+ try {
237
+ if (this.eveHeatReq && typeof this.cached.heatReq === 'boolean')
238
+ this.eveHeatReq.updateValue(!!this.cached.heatReq);
239
+ }
240
+ catch { }
241
+ try {
242
+ if (this.eveShowers)
243
+ this.eveShowers.updateValue(this.getShowersCount());
244
+ }
245
+ catch { }
246
+ }
247
+ getShowersCount() {
248
+ const n = typeof this.cached.avShw === 'number' ? Math.round(this.cached.avShw) : 0;
249
+ return Math.max(0, Math.min(4, n));
113
250
  }
114
251
  async onGetCurrentTemperature() {
115
252
  var _a;
253
+ this.maybeRefreshOnDemand();
116
254
  return (_a = this.cached.currentTemp) !== null && _a !== void 0 ? _a : 0;
117
255
  }
118
256
  async onGetTargetTemperature() {
119
257
  var _a;
258
+ this.maybeRefreshOnDemand();
120
259
  return (_a = this.cached.targetTemp) !== null && _a !== void 0 ? _a : 0;
121
260
  }
122
261
  async onSetTargetTemperature(value) {
@@ -141,6 +280,7 @@ class AristonHeaterAccessory {
141
280
  }
142
281
  async onGetTargetHeatingCoolingState() {
143
282
  const C = this.api.hap.Characteristic;
283
+ this.maybeRefreshOnDemand();
144
284
  return this.cached.power ? C.TargetHeatingCoolingState.HEAT : C.TargetHeatingCoolingState.OFF;
145
285
  }
146
286
  async onSetTargetHeatingCoolingState(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"accessory.js","sourceRoot":"","sources":["../src/accessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessory.js","sourceRoot":"","sources":["../src/accessory.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -14,9 +14,16 @@ export interface PlantBest {
14
14
  currentTemp?: number;
15
15
  targetTemp?: number;
16
16
  powerState?: boolean;
17
+ antiLeg?: boolean;
18
+ heatReq?: boolean;
19
+ avShw?: number;
17
20
  };
18
21
  score: number;
19
22
  }
23
+ export declare class RateLimitError extends Error {
24
+ retryAfter?: number;
25
+ constructor(message: string, retryAfter?: number);
26
+ }
20
27
  export declare class AristonClient {
21
28
  private http;
22
29
  private token;
@@ -28,6 +35,8 @@ export declare class AristonClient {
28
35
  private log;
29
36
  private debug;
30
37
  constructor({ baseURL, userAgent, username, password, log, debug, cacheDir }?: AristonClientOpts);
38
+ private parseRetryAfter;
39
+ private doGet;
31
40
  login(): Promise<string>;
32
41
  discoverVelis(): Promise<any[]>;
33
42
  private extractFields;
package/dist/client.js CHANGED
@@ -3,9 +3,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.AristonClient = void 0;
6
+ exports.AristonClient = exports.RateLimitError = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
8
  const storage_1 = require("./storage");
9
+ class RateLimitError extends Error {
10
+ constructor(message, retryAfter) {
11
+ super(message);
12
+ this.name = 'RateLimitError';
13
+ this.retryAfter = retryAfter;
14
+ }
15
+ }
16
+ exports.RateLimitError = RateLimitError;
9
17
  class AristonClient {
10
18
  constructor({ baseURL, userAgent, username, password, log = console, debug = false, cacheDir } = {}) {
11
19
  this.token = null;
@@ -24,6 +32,32 @@ class AristonClient {
24
32
  });
25
33
  this.storage = new storage_1.VariantStorage(cacheDir, log);
26
34
  }
35
+ parseRetryAfter(v) {
36
+ if (!v)
37
+ return undefined;
38
+ // Retry-After can be seconds or HTTP-date
39
+ const s = String(v);
40
+ const asNum = Number(s);
41
+ if (Number.isFinite(asNum) && asNum > 0)
42
+ return Math.min(600, Math.max(1, Math.floor(asNum))); // cap to 10 minutes
43
+ const d = Date.parse(s);
44
+ if (!Number.isNaN(d)) {
45
+ const secs = Math.ceil((d - Date.now()) / 1000);
46
+ return secs > 0 ? Math.min(600, secs) : 1;
47
+ }
48
+ return undefined;
49
+ }
50
+ async doGet(path, headers) {
51
+ var _a;
52
+ const res = await this.http.get(path, { headers });
53
+ if (this.debug)
54
+ this.log.log(`[GET ${path}] status=${res.status}`);
55
+ if (res.status === 429) {
56
+ const ra = this.parseRetryAfter((_a = res.headers) === null || _a === void 0 ? void 0 : _a['retry-after']);
57
+ throw new RateLimitError('Rate limited', ra);
58
+ }
59
+ return res;
60
+ }
27
61
  async login() {
28
62
  const body = {
29
63
  usr: this.username,
@@ -45,11 +79,15 @@ class AristonClient {
45
79
  const headers = { 'ar.authToken': this.token };
46
80
  const paths = ['velis/medPlants', 'velis/plants'];
47
81
  for (const p of paths) {
48
- const res = await this.http.get(p, { headers });
49
- if (this.debug)
50
- this.log.log(`[GET ${p}] status=${res.status}`);
51
- if (res.status === 200 && Array.isArray(res.data) && res.data.length)
52
- return res.data;
82
+ try {
83
+ const res = await this.doGet(p, headers);
84
+ if (res.status === 200 && Array.isArray(res.data) && res.data.length)
85
+ return res.data;
86
+ }
87
+ catch (e) {
88
+ if (e instanceof RateLimitError)
89
+ throw e;
90
+ }
53
91
  }
54
92
  return [];
55
93
  }
@@ -61,7 +99,10 @@ class AristonClient {
61
99
  const currentTemp = get(raw, ['temp', 'wtrTemp', 'currentTemp', 'currTemp', 'tCur']);
62
100
  const targetTemp = get(raw, ['procReqTemp', 'reqTemp', 'targetTemp', 'tSet']);
63
101
  const powerState = get(raw, ['on', 'power', 'pwr']);
64
- return { currentTemp, targetTemp, powerState };
102
+ const antiLeg = get(raw, ['antiLeg', 'antiLegionella', 'antiLegionellaActive']);
103
+ const heatReq = get(raw, ['heatReq', 'heatingReq', 'heatingRequest']);
104
+ const avShw = get(raw, ['avShw', 'availableShowers', 'avShow']);
105
+ return { currentTemp, targetTemp, powerState, antiLeg, heatReq, avShw };
65
106
  }
66
107
  async getBestVelisPlantData(plantId) {
67
108
  var _a;
@@ -70,7 +111,7 @@ class AristonClient {
70
111
  if (cached) {
71
112
  try {
72
113
  const url = `velis/${cached}/${encodeURIComponent(plantId)}`;
73
- const res = await this.http.get(url, { headers });
114
+ const res = await this.doGet(url, headers);
74
115
  if (this.debug)
75
116
  this.log.log(`[GET ${url}] status=${res.status} (cached)`);
76
117
  if (res.status === 200 && res.data && Object.keys(res.data).length) {
@@ -78,7 +119,10 @@ class AristonClient {
78
119
  return { kind: cached, data: res.data, fields, score: 99 };
79
120
  }
80
121
  }
81
- catch { }
122
+ catch (e) {
123
+ if (e instanceof RateLimitError)
124
+ throw e;
125
+ }
82
126
  }
83
127
  const variants = ['sePlantData', 'medPlantData', 'slpPlantData', 'onePlantData', 'evoPlantData'];
84
128
  const isNum = (v) => typeof v === 'number' && Number.isFinite(v);
@@ -97,12 +141,12 @@ class AristonClient {
97
141
  return score;
98
142
  };
99
143
  const candidates = [];
144
+ let saw429 = false;
145
+ let maxRetryAfter;
100
146
  for (const v of variants) {
101
147
  const url = `velis/${v}/${encodeURIComponent(plantId)}`;
102
148
  try {
103
- const res = await this.http.get(url, { headers });
104
- if (this.debug)
105
- this.log.log(`[GET ${url}] status=${res.status}`);
149
+ const res = await this.doGet(url, headers);
106
150
  if (res.status === 200 && res.data && Object.keys(res.data).length) {
107
151
  const fields = this.extractFields(res.data);
108
152
  const score = scoreCandidate(fields);
@@ -110,13 +154,21 @@ class AristonClient {
110
154
  }
111
155
  }
112
156
  catch (e) {
157
+ if (e instanceof RateLimitError) {
158
+ saw429 = true;
159
+ if (typeof e.retryAfter === 'number')
160
+ maxRetryAfter = Math.max(maxRetryAfter || 0, e.retryAfter);
161
+ }
113
162
  if (this.debug)
114
163
  this.log.error(`[GET ${url}] error: ${(e === null || e === void 0 ? void 0 : e.message) || e}`);
115
164
  // continue with next variant
116
165
  }
117
166
  }
118
- if (!candidates.length)
167
+ if (!candidates.length) {
168
+ if (saw429)
169
+ throw new RateLimitError('Rate limited', maxRetryAfter);
119
170
  throw new Error('No plant data');
171
+ }
120
172
  candidates.sort((a, b) => b.score - a.score || variants.indexOf(a.kind) - variants.indexOf(b.kind));
121
173
  const best = candidates[0];
122
174
  this.storage.setVariant(plantId, best.kind);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "homebridge-ariston-heater",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "displayName": "Homebridge Ariston Heater",
5
5
  "description": "Homebridge plugin for Ariston Velis/Lydos water heaters (Ariston NET)",
6
6
  "license": "MIT",