edilkamin 1.8.0 → 1.10.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.
- package/.github/dependabot.yml +5 -1
- package/README.md +56 -1
- package/dist/cjs/package.json +4 -4
- package/dist/cjs/src/cli.js +234 -6
- package/dist/cjs/src/index.d.ts +1 -1
- package/dist/cjs/src/library.d.ts +32 -2
- package/dist/cjs/src/library.js +302 -9
- package/dist/cjs/src/library.test.js +273 -3
- package/dist/cjs/src/types.d.ts +17 -1
- package/dist/esm/package.json +4 -4
- package/dist/esm/src/cli.js +234 -6
- package/dist/esm/src/index.d.ts +1 -1
- package/dist/esm/src/library.d.ts +32 -2
- package/dist/esm/src/library.js +302 -9
- package/dist/esm/src/library.test.js +273 -3
- package/dist/esm/src/types.d.ts +17 -1
- package/package.json +4 -4
- package/src/cli.ts +425 -6
- package/src/library.test.ts +379 -2
- package/src/library.ts +399 -9
- package/src/types.ts +20 -0
package/.github/dependabot.yml
CHANGED
|
@@ -11,7 +11,11 @@ updates:
|
|
|
11
11
|
open-pull-requests-limit: 5
|
|
12
12
|
commit-message:
|
|
13
13
|
prefix: ":arrow_up:"
|
|
14
|
-
|
|
14
|
+
# Ignore non-LTS Node.js versions for @types/node
|
|
15
|
+
# Update this when bumping to the next LTS (e.g., 26.x -> ignore 27.x)
|
|
16
|
+
ignore:
|
|
17
|
+
- dependency-name: "@types/node"
|
|
18
|
+
versions: ["25.x"]
|
|
15
19
|
# GitHub Actions dependencies
|
|
16
20
|
- package-ecosystem: "github-actions"
|
|
17
21
|
directory: "/"
|
package/README.md
CHANGED
|
@@ -154,6 +154,57 @@ const wifiMac = bleToWifiMac(bleMac); // "a8032afed508"
|
|
|
154
154
|
to the [proprietary mobile app](https://play.google.com/store/apps/details?id=com.edilkamin.stufe)
|
|
155
155
|
- improving the interoperability (Nest, HomeAssistant...)
|
|
156
156
|
|
|
157
|
+
## Device Control Methods
|
|
158
|
+
|
|
159
|
+
The library provides comprehensive control over Edilkamin stoves:
|
|
160
|
+
|
|
161
|
+
### Power Control
|
|
162
|
+
|
|
163
|
+
```js
|
|
164
|
+
setPowerOn(token, mac); // Turn on
|
|
165
|
+
setPowerOff(token, mac); // Turn off
|
|
166
|
+
setPower(token, mac, 1); // 1=on, 0=off
|
|
167
|
+
getPower(token, mac); // Returns boolean
|
|
168
|
+
setPowerLevel(token, mac, 3); // Set power level (1-5)
|
|
169
|
+
getPowerLevel(token, mac); // Returns 1-5
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Fan Speed
|
|
173
|
+
|
|
174
|
+
```js
|
|
175
|
+
setFan1Speed(token, mac, 3); // Set fan 1 speed (0-5)
|
|
176
|
+
setFan2Speed(token, mac, 3); // Set fan 2 speed (0-5)
|
|
177
|
+
setFan3Speed(token, mac, 3); // Set fan 3 speed (0-5)
|
|
178
|
+
getFan1Speed(token, mac); // Get fan 1 speed
|
|
179
|
+
getFan2Speed(token, mac); // Get fan 2 speed
|
|
180
|
+
getFan3Speed(token, mac); // Get fan 3 speed
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Operating Modes
|
|
184
|
+
|
|
185
|
+
```js
|
|
186
|
+
setAirkare(token, mac, true); // Enable/disable air quality mode
|
|
187
|
+
setRelax(token, mac, true); // Enable/disable comfort mode
|
|
188
|
+
setStandby(token, mac, true); // Enable/disable standby mode
|
|
189
|
+
getStandby(token, mac); // Get standby status
|
|
190
|
+
setStandbyTime(token, mac, 30); // Set standby timer (minutes)
|
|
191
|
+
getStandbyTime(token, mac); // Get standby timer
|
|
192
|
+
setAuto(token, mac, true); // Enable/disable auto mode
|
|
193
|
+
getAuto(token, mac); // Get auto mode status
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Temperature Control
|
|
197
|
+
|
|
198
|
+
```js
|
|
199
|
+
setTargetTemperature(token, mac, 22); // Set zone 1 temperature
|
|
200
|
+
getTargetTemperature(token, mac); // Get zone 1 target
|
|
201
|
+
getEnvironmentTemperature(token, mac); // Get ambient temperature
|
|
202
|
+
setEnvironment2Temperature(token, mac, 20); // Set zone 2 temperature
|
|
203
|
+
getEnvironment2Temperature(token, mac); // Get zone 2 target
|
|
204
|
+
setEnvironment3Temperature(token, mac, 18); // Set zone 3 temperature
|
|
205
|
+
getEnvironment3Temperature(token, mac); // Get zone 3 target
|
|
206
|
+
```
|
|
207
|
+
|
|
157
208
|
## Roadmap
|
|
158
209
|
|
|
159
210
|
- [x] AWS Amplify/ Cognito authentication
|
|
@@ -161,7 +212,11 @@ const wifiMac = bleToWifiMac(bleMac); // "a8032afed508"
|
|
|
161
212
|
- [x] authenticated endpoint call
|
|
162
213
|
- [ ] ~list stoves~
|
|
163
214
|
- [x] turn stove on/off
|
|
164
|
-
- [
|
|
215
|
+
- [x] set temperature
|
|
216
|
+
- [x] power level control
|
|
217
|
+
- [x] fan speed control
|
|
218
|
+
- [x] operating modes (Airkare, Relax, Standby, Auto)
|
|
219
|
+
- [x] multi-zone temperature control
|
|
165
220
|
|
|
166
221
|
## Limitations
|
|
167
222
|
|
package/dist/cjs/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "edilkamin",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/cjs/src/index.js",
|
|
6
6
|
"module": "dist/esm/src/index.js",
|
|
@@ -70,9 +70,9 @@
|
|
|
70
70
|
"@eslint/eslintrc": "^3.2.0",
|
|
71
71
|
"@eslint/js": "^9.16.0",
|
|
72
72
|
"@types/mocha": "^10.0.10",
|
|
73
|
-
"@types/node": "^
|
|
73
|
+
"@types/node": "^24",
|
|
74
74
|
"@types/pako": "^2.0.4",
|
|
75
|
-
"@types/sinon": "^
|
|
75
|
+
"@types/sinon": "^21.0.0",
|
|
76
76
|
"@types/web-bluetooth": "^0.0.21",
|
|
77
77
|
"@typescript-eslint/eslint-plugin": "^8.17.0",
|
|
78
78
|
"@typescript-eslint/parser": "^8.17.0",
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"mocha": "^11.7.5",
|
|
85
85
|
"nyc": "^17.1.0",
|
|
86
86
|
"prettier": "^3.7.4",
|
|
87
|
-
"sinon": "^
|
|
87
|
+
"sinon": "^21.0.1",
|
|
88
88
|
"ts-node": "^10.9.1",
|
|
89
89
|
"typedoc": "^0.28.15",
|
|
90
90
|
"typescript": "^5.7.2"
|
package/dist/cjs/src/cli.js
CHANGED
|
@@ -153,15 +153,80 @@ const createProgram = () => {
|
|
|
153
153
|
description: "Retrieve device power status",
|
|
154
154
|
getter: (api, jwtToken, mac) => api.getPower(jwtToken, mac),
|
|
155
155
|
},
|
|
156
|
+
{
|
|
157
|
+
commandName: "getPowerLevel",
|
|
158
|
+
description: "Retrieve manual power level (1-5)",
|
|
159
|
+
getter: (api, jwtToken, mac) => api.getPowerLevel(jwtToken, mac),
|
|
160
|
+
},
|
|
156
161
|
{
|
|
157
162
|
commandName: "getEnvironmentTemperature",
|
|
158
163
|
description: "Retrieve environment temperature",
|
|
159
164
|
getter: (api, jwtToken, mac) => api.getEnvironmentTemperature(jwtToken, mac),
|
|
160
165
|
},
|
|
161
166
|
{
|
|
162
|
-
commandName: "
|
|
163
|
-
description: "Retrieve target temperature",
|
|
164
|
-
getter: (api, jwtToken, mac) => api.
|
|
167
|
+
commandName: "getEnvironment1Temperature",
|
|
168
|
+
description: "Retrieve Environment 1 target temperature",
|
|
169
|
+
getter: (api, jwtToken, mac) => api.getEnvironment1Temperature(jwtToken, mac),
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
commandName: "getFan1Speed",
|
|
173
|
+
description: "Retrieve fan 1 speed",
|
|
174
|
+
getter: (api, jwtToken, mac) => api.getFan1Speed(jwtToken, mac),
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
commandName: "getFan2Speed",
|
|
178
|
+
description: "Retrieve fan 2 speed",
|
|
179
|
+
getter: (api, jwtToken, mac) => api.getFan2Speed(jwtToken, mac),
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
commandName: "getFan3Speed",
|
|
183
|
+
description: "Retrieve fan 3 speed",
|
|
184
|
+
getter: (api, jwtToken, mac) => api.getFan3Speed(jwtToken, mac),
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
commandName: "getStandby",
|
|
188
|
+
description: "Retrieve Standby mode status",
|
|
189
|
+
getter: (api, jwtToken, mac) => api.getStandby(jwtToken, mac),
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
commandName: "getStandbyTime",
|
|
193
|
+
description: "Retrieve standby waiting time in minutes",
|
|
194
|
+
getter: (api, jwtToken, mac) => api.getStandbyTime(jwtToken, mac),
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
commandName: "getAuto",
|
|
198
|
+
description: "Retrieve Auto mode status",
|
|
199
|
+
getter: (api, jwtToken, mac) => api.getAuto(jwtToken, mac),
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
commandName: "getEnvironment2Temperature",
|
|
203
|
+
description: "Retrieve Environment 2 target temperature",
|
|
204
|
+
getter: (api, jwtToken, mac) => api.getEnvironment2Temperature(jwtToken, mac),
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
commandName: "getEnvironment3Temperature",
|
|
208
|
+
description: "Retrieve Environment 3 target temperature",
|
|
209
|
+
getter: (api, jwtToken, mac) => api.getEnvironment3Temperature(jwtToken, mac),
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
commandName: "getMeasureUnit",
|
|
213
|
+
description: "Retrieve temperature unit (true=Fahrenheit, false=Celsius)",
|
|
214
|
+
getter: (api, jwtToken, mac) => api.getMeasureUnit(jwtToken, mac),
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
commandName: "getLanguage",
|
|
218
|
+
description: "Retrieve display language code (0-9)",
|
|
219
|
+
getter: (api, jwtToken, mac) => api.getLanguage(jwtToken, mac),
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
commandName: "getPelletInReserve",
|
|
223
|
+
description: "Retrieve pellet reserve status (true=low/reserve, false=ok)",
|
|
224
|
+
getter: (api, jwtToken, mac) => api.getPelletInReserve(jwtToken, mac),
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
commandName: "getPelletAutonomyTime",
|
|
228
|
+
description: "Retrieve estimated pellet autonomy time",
|
|
229
|
+
getter: (api, jwtToken, mac) => api.getPelletAutonomyTime(jwtToken, mac),
|
|
165
230
|
},
|
|
166
231
|
].forEach(({ commandName, description, getter }) => {
|
|
167
232
|
addLegacyOption(addMacOption(addAuthOptions(program.command(commandName).description(description)))).action((options) => executeGetter(options, getter));
|
|
@@ -174,13 +239,176 @@ const createProgram = () => {
|
|
|
174
239
|
setter: (api, jwtToken, mac, value) => api.setPower(jwtToken, mac, value),
|
|
175
240
|
},
|
|
176
241
|
{
|
|
177
|
-
commandName: "
|
|
178
|
-
description: "Set
|
|
179
|
-
setter: (api, jwtToken, mac, value) => api.
|
|
242
|
+
commandName: "setPowerLevel",
|
|
243
|
+
description: "Set manual power level (1-5)",
|
|
244
|
+
setter: (api, jwtToken, mac, value) => api.setPowerLevel(jwtToken, mac, value),
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
commandName: "setEnvironment1Temperature",
|
|
248
|
+
description: "Set Environment 1 target temperature (degrees Celsius)",
|
|
249
|
+
setter: (api, jwtToken, mac, value) => api.setEnvironment1Temperature(jwtToken, mac, value),
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
commandName: "setFan1Speed",
|
|
253
|
+
description: "Set fan 1 speed (0-5)",
|
|
254
|
+
setter: (api, jwtToken, mac, value) => api.setFan1Speed(jwtToken, mac, value),
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
commandName: "setFan2Speed",
|
|
258
|
+
description: "Set fan 2 speed (0-5)",
|
|
259
|
+
setter: (api, jwtToken, mac, value) => api.setFan2Speed(jwtToken, mac, value),
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
commandName: "setFan3Speed",
|
|
263
|
+
description: "Set fan 3 speed (0-5)",
|
|
264
|
+
setter: (api, jwtToken, mac, value) => api.setFan3Speed(jwtToken, mac, value),
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
commandName: "setAirkare",
|
|
268
|
+
description: "Enable/disable Airkare mode (1=on, 0=off)",
|
|
269
|
+
setter: (api, jwtToken, mac, value) => api.setAirkare(jwtToken, mac, value === 1),
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
commandName: "setRelax",
|
|
273
|
+
description: "Enable/disable Relax mode (1=on, 0=off)",
|
|
274
|
+
setter: (api, jwtToken, mac, value) => api.setRelax(jwtToken, mac, value === 1),
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
commandName: "setStandby",
|
|
278
|
+
description: "Enable/disable Standby mode (1=on, 0=off)",
|
|
279
|
+
setter: (api, jwtToken, mac, value) => api.setStandby(jwtToken, mac, value === 1),
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
commandName: "setStandbyTime",
|
|
283
|
+
description: "Set standby waiting time in minutes",
|
|
284
|
+
setter: (api, jwtToken, mac, value) => api.setStandbyTime(jwtToken, mac, value),
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
commandName: "setAuto",
|
|
288
|
+
description: "Enable/disable Auto mode (1=on, 0=off)",
|
|
289
|
+
setter: (api, jwtToken, mac, value) => api.setAuto(jwtToken, mac, value === 1),
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
commandName: "setEnvironment2Temperature",
|
|
293
|
+
description: "Set Environment 2 target temperature (degrees Celsius)",
|
|
294
|
+
setter: (api, jwtToken, mac, value) => api.setEnvironment2Temperature(jwtToken, mac, value),
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
commandName: "setEnvironment3Temperature",
|
|
298
|
+
description: "Set Environment 3 target temperature (degrees Celsius)",
|
|
299
|
+
setter: (api, jwtToken, mac, value) => api.setEnvironment3Temperature(jwtToken, mac, value),
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
commandName: "setMeasureUnit",
|
|
303
|
+
description: "Set temperature unit (1=Fahrenheit, 0=Celsius)",
|
|
304
|
+
setter: (api, jwtToken, mac, value) => api.setMeasureUnit(jwtToken, mac, value === 1),
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
commandName: "setLanguage",
|
|
308
|
+
description: "Set display language (0=IT,1=FR,2=EN,3=ES,4=PT,5=DA,6=NL,7=DE,8=HU,9=PL)",
|
|
309
|
+
setter: (api, jwtToken, mac, value) => api.setLanguage(jwtToken, mac, value),
|
|
180
310
|
},
|
|
181
311
|
].forEach(({ commandName, description, setter }) => {
|
|
182
312
|
addLegacyOption(addMacOption(addAuthOptions(program.command(commandName).description(description)).requiredOption("-v, --value <number>", "Value to set", parseFloat))).action((options) => executeSetter(options, setter));
|
|
183
313
|
});
|
|
314
|
+
// Indexed getter commands (require --index parameter)
|
|
315
|
+
addLegacyOption(addMacOption(addAuthOptions(program
|
|
316
|
+
.command("getFanSpeed")
|
|
317
|
+
.description("Retrieve fan speed by index (1-3)")).requiredOption("-i, --index <number>", "Fan index (1, 2, or 3)", parseInt))).action((options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
318
|
+
const { username, password, mac, index, legacy = false } = options;
|
|
319
|
+
const normalizedMac = mac.replace(/:/g, "");
|
|
320
|
+
const storage = (0, token_storage_1.createFileStorage)();
|
|
321
|
+
(0, library_1.configureAmplify)(storage);
|
|
322
|
+
let jwtToken;
|
|
323
|
+
try {
|
|
324
|
+
jwtToken = yield (0, library_1.getSession)(false, legacy);
|
|
325
|
+
}
|
|
326
|
+
catch (_a) {
|
|
327
|
+
if (!username) {
|
|
328
|
+
throw new Error("No session found. Please provide --username to sign in.");
|
|
329
|
+
}
|
|
330
|
+
const pwd = password || (yield promptPassword());
|
|
331
|
+
jwtToken = yield (0, library_1.signIn)(username, pwd, legacy);
|
|
332
|
+
}
|
|
333
|
+
const apiUrl = legacy ? constants_1.OLD_API_URL : constants_1.NEW_API_URL;
|
|
334
|
+
const api = (0, library_1.configure)(apiUrl);
|
|
335
|
+
const result = yield api.getFanSpeed(jwtToken, normalizedMac, index);
|
|
336
|
+
console.log(JSON.stringify(result, null, 2));
|
|
337
|
+
}));
|
|
338
|
+
addLegacyOption(addMacOption(addAuthOptions(program
|
|
339
|
+
.command("getTargetTemperature")
|
|
340
|
+
.description("Retrieve target temperature by environment index (1-3)")).requiredOption("-i, --index <number>", "Environment index (1, 2, or 3)", parseInt))).action((options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
341
|
+
const { username, password, mac, index, legacy = false } = options;
|
|
342
|
+
const normalizedMac = mac.replace(/:/g, "");
|
|
343
|
+
const storage = (0, token_storage_1.createFileStorage)();
|
|
344
|
+
(0, library_1.configureAmplify)(storage);
|
|
345
|
+
let jwtToken;
|
|
346
|
+
try {
|
|
347
|
+
jwtToken = yield (0, library_1.getSession)(false, legacy);
|
|
348
|
+
}
|
|
349
|
+
catch (_a) {
|
|
350
|
+
if (!username) {
|
|
351
|
+
throw new Error("No session found. Please provide --username to sign in.");
|
|
352
|
+
}
|
|
353
|
+
const pwd = password || (yield promptPassword());
|
|
354
|
+
jwtToken = yield (0, library_1.signIn)(username, pwd, legacy);
|
|
355
|
+
}
|
|
356
|
+
const apiUrl = legacy ? constants_1.OLD_API_URL : constants_1.NEW_API_URL;
|
|
357
|
+
const api = (0, library_1.configure)(apiUrl);
|
|
358
|
+
const result = yield api.getTargetTemperature(jwtToken, normalizedMac, index);
|
|
359
|
+
console.log(JSON.stringify(result, null, 2));
|
|
360
|
+
}));
|
|
361
|
+
// Indexed setter commands (require --index and --value parameters)
|
|
362
|
+
addLegacyOption(addMacOption(addAuthOptions(program
|
|
363
|
+
.command("setFanSpeed")
|
|
364
|
+
.description("Set fan speed by index (1-3)"))
|
|
365
|
+
.requiredOption("-i, --index <number>", "Fan index (1, 2, or 3)", parseInt)
|
|
366
|
+
.requiredOption("-v, --value <number>", "Fan speed (0-5)", parseFloat))).action((options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
367
|
+
const { username, password, mac, index, value, legacy = false } = options;
|
|
368
|
+
const normalizedMac = mac.replace(/:/g, "");
|
|
369
|
+
const storage = (0, token_storage_1.createFileStorage)();
|
|
370
|
+
(0, library_1.configureAmplify)(storage);
|
|
371
|
+
let jwtToken;
|
|
372
|
+
try {
|
|
373
|
+
jwtToken = yield (0, library_1.getSession)(false, legacy);
|
|
374
|
+
}
|
|
375
|
+
catch (_a) {
|
|
376
|
+
if (!username) {
|
|
377
|
+
throw new Error("No session found. Please provide --username to sign in.");
|
|
378
|
+
}
|
|
379
|
+
const pwd = password || (yield promptPassword());
|
|
380
|
+
jwtToken = yield (0, library_1.signIn)(username, pwd, legacy);
|
|
381
|
+
}
|
|
382
|
+
const apiUrl = legacy ? constants_1.OLD_API_URL : constants_1.NEW_API_URL;
|
|
383
|
+
const api = (0, library_1.configure)(apiUrl);
|
|
384
|
+
const result = yield api.setFanSpeed(jwtToken, normalizedMac, index, value);
|
|
385
|
+
console.log(JSON.stringify(result, null, 2));
|
|
386
|
+
}));
|
|
387
|
+
addLegacyOption(addMacOption(addAuthOptions(program
|
|
388
|
+
.command("setTargetTemperature")
|
|
389
|
+
.description("Set target temperature by environment index (1-3)"))
|
|
390
|
+
.requiredOption("-i, --index <number>", "Environment index (1, 2, or 3)", parseInt)
|
|
391
|
+
.requiredOption("-v, --value <number>", "Temperature in degrees Celsius", parseFloat))).action((options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
392
|
+
const { username, password, mac, index, value, legacy = false } = options;
|
|
393
|
+
const normalizedMac = mac.replace(/:/g, "");
|
|
394
|
+
const storage = (0, token_storage_1.createFileStorage)();
|
|
395
|
+
(0, library_1.configureAmplify)(storage);
|
|
396
|
+
let jwtToken;
|
|
397
|
+
try {
|
|
398
|
+
jwtToken = yield (0, library_1.getSession)(false, legacy);
|
|
399
|
+
}
|
|
400
|
+
catch (_a) {
|
|
401
|
+
if (!username) {
|
|
402
|
+
throw new Error("No session found. Please provide --username to sign in.");
|
|
403
|
+
}
|
|
404
|
+
const pwd = password || (yield promptPassword());
|
|
405
|
+
jwtToken = yield (0, library_1.signIn)(username, pwd, legacy);
|
|
406
|
+
}
|
|
407
|
+
const apiUrl = legacy ? constants_1.OLD_API_URL : constants_1.NEW_API_URL;
|
|
408
|
+
const api = (0, library_1.configure)(apiUrl);
|
|
409
|
+
const result = yield api.setTargetTemperature(jwtToken, normalizedMac, index, value);
|
|
410
|
+
console.log(JSON.stringify(result, null, 2));
|
|
411
|
+
}));
|
|
184
412
|
// Command: register
|
|
185
413
|
addLegacyOption(addAuthOptions(program
|
|
186
414
|
.command("register")
|
package/dist/cjs/src/index.d.ts
CHANGED
|
@@ -4,4 +4,4 @@ export { API_URL, NEW_API_URL, OLD_API_URL } from "./constants";
|
|
|
4
4
|
export { configure, getSession, signIn } from "./library";
|
|
5
5
|
export { serialNumberDisplay, serialNumberFromHex, serialNumberToHex, } from "./serial-utils";
|
|
6
6
|
export { BufferEncodedType, CommandsType, DeviceAssociationBody, DeviceAssociationResponse, DeviceInfoRawType, DeviceInfoType, DiscoveredDevice, EditDeviceAssociationBody, StatusType, TemperaturesType, UserParametersType, } from "./types";
|
|
7
|
-
export declare const deviceInfo: (jwtToken: string, macAddress: string) => Promise<import("./types").DeviceInfoType>, registerDevice: (jwtToken: string, macAddress: string, serialNumber: string, deviceName?: string, deviceRoom?: string) => Promise<import("./types").DeviceAssociationResponse>, editDevice: (jwtToken: string, macAddress: string, deviceName?: string, deviceRoom?: string) => Promise<import("./types").DeviceAssociationResponse>, setPower: (jwtToken: string, macAddress: string, value: number) => Promise<unknown>, setPowerOff: (jwtToken: string, macAddress: string) => Promise<unknown>, setPowerOn: (jwtToken: string, macAddress: string) => Promise<unknown>, getPower: (jwtToken: string, macAddress: string) => Promise<boolean>, getEnvironmentTemperature: (jwtToken: string, macAddress: string) => Promise<number>, getTargetTemperature: (jwtToken: string, macAddress: string) => Promise<number>, setTargetTemperature: (jwtToken: string, macAddress: string, temperature: number) => Promise<unknown>;
|
|
7
|
+
export declare const deviceInfo: (jwtToken: string, macAddress: string) => Promise<import("./types").DeviceInfoType>, registerDevice: (jwtToken: string, macAddress: string, serialNumber: string, deviceName?: string, deviceRoom?: string) => Promise<import("./types").DeviceAssociationResponse>, editDevice: (jwtToken: string, macAddress: string, deviceName?: string, deviceRoom?: string) => Promise<import("./types").DeviceAssociationResponse>, setPower: (jwtToken: string, macAddress: string, value: number) => Promise<unknown>, setPowerOff: (jwtToken: string, macAddress: string) => Promise<unknown>, setPowerOn: (jwtToken: string, macAddress: string) => Promise<unknown>, getPower: (jwtToken: string, macAddress: string) => Promise<boolean>, getEnvironmentTemperature: (jwtToken: string, macAddress: string) => Promise<number>, getTargetTemperature: (jwtToken: string, macAddress: string, envIndex: 1 | 2 | 3) => Promise<number>, setTargetTemperature: (jwtToken: string, macAddress: string, envIndex: 1 | 2 | 3, temperature: number) => Promise<unknown>;
|
|
@@ -48,8 +48,38 @@ declare const configure: (baseURL?: string) => {
|
|
|
48
48
|
setPowerOff: (jwtToken: string, macAddress: string) => Promise<unknown>;
|
|
49
49
|
setPowerOn: (jwtToken: string, macAddress: string) => Promise<unknown>;
|
|
50
50
|
getPower: (jwtToken: string, macAddress: string) => Promise<boolean>;
|
|
51
|
+
setPowerLevel: (jwtToken: string, macAddress: string, level: number) => Promise<unknown>;
|
|
52
|
+
getPowerLevel: (jwtToken: string, macAddress: string) => Promise<number>;
|
|
53
|
+
setFanSpeed: (jwtToken: string, macAddress: string, fanIndex: 1 | 2 | 3, speed: number) => Promise<unknown>;
|
|
54
|
+
getFanSpeed: (jwtToken: string, macAddress: string, fanIndex: 1 | 2 | 3) => Promise<number>;
|
|
55
|
+
setFan1Speed: (jwtToken: string, macAddress: string, speed: number) => Promise<unknown>;
|
|
56
|
+
setFan2Speed: (jwtToken: string, macAddress: string, speed: number) => Promise<unknown>;
|
|
57
|
+
setFan3Speed: (jwtToken: string, macAddress: string, speed: number) => Promise<unknown>;
|
|
58
|
+
getFan1Speed: (jwtToken: string, macAddress: string) => Promise<number>;
|
|
59
|
+
getFan2Speed: (jwtToken: string, macAddress: string) => Promise<number>;
|
|
60
|
+
getFan3Speed: (jwtToken: string, macAddress: string) => Promise<number>;
|
|
61
|
+
setAirkare: (jwtToken: string, macAddress: string, enabled: boolean) => Promise<unknown>;
|
|
62
|
+
setRelax: (jwtToken: string, macAddress: string, enabled: boolean) => Promise<unknown>;
|
|
63
|
+
setStandby: (jwtToken: string, macAddress: string, enabled: boolean) => Promise<unknown>;
|
|
64
|
+
getStandby: (jwtToken: string, macAddress: string) => Promise<boolean>;
|
|
65
|
+
setStandbyTime: (jwtToken: string, macAddress: string, minutes: number) => Promise<unknown>;
|
|
66
|
+
getStandbyTime: (jwtToken: string, macAddress: string) => Promise<number>;
|
|
67
|
+
setAuto: (jwtToken: string, macAddress: string, enabled: boolean) => Promise<unknown>;
|
|
68
|
+
getAuto: (jwtToken: string, macAddress: string) => Promise<boolean>;
|
|
51
69
|
getEnvironmentTemperature: (jwtToken: string, macAddress: string) => Promise<number>;
|
|
52
|
-
getTargetTemperature: (jwtToken: string, macAddress: string) => Promise<number>;
|
|
53
|
-
setTargetTemperature: (jwtToken: string, macAddress: string, temperature: number) => Promise<unknown>;
|
|
70
|
+
getTargetTemperature: (jwtToken: string, macAddress: string, envIndex: 1 | 2 | 3) => Promise<number>;
|
|
71
|
+
setTargetTemperature: (jwtToken: string, macAddress: string, envIndex: 1 | 2 | 3, temperature: number) => Promise<unknown>;
|
|
72
|
+
setEnvironment1Temperature: (jwtToken: string, macAddress: string, temperature: number) => Promise<unknown>;
|
|
73
|
+
getEnvironment1Temperature: (jwtToken: string, macAddress: string) => Promise<number>;
|
|
74
|
+
setEnvironment2Temperature: (jwtToken: string, macAddress: string, temperature: number) => Promise<unknown>;
|
|
75
|
+
getEnvironment2Temperature: (jwtToken: string, macAddress: string) => Promise<number>;
|
|
76
|
+
setEnvironment3Temperature: (jwtToken: string, macAddress: string, temperature: number) => Promise<unknown>;
|
|
77
|
+
getEnvironment3Temperature: (jwtToken: string, macAddress: string) => Promise<number>;
|
|
78
|
+
setMeasureUnit: (jwtToken: string, macAddress: string, isFahrenheit: boolean) => Promise<unknown>;
|
|
79
|
+
getMeasureUnit: (jwtToken: string, macAddress: string) => Promise<boolean>;
|
|
80
|
+
setLanguage: (jwtToken: string, macAddress: string, languageCode: number) => Promise<unknown>;
|
|
81
|
+
getLanguage: (jwtToken: string, macAddress: string) => Promise<number>;
|
|
82
|
+
getPelletInReserve: (jwtToken: string, macAddress: string) => Promise<boolean>;
|
|
83
|
+
getPelletAutonomyTime: (jwtToken: string, macAddress: string) => Promise<number>;
|
|
54
84
|
};
|
|
55
85
|
export { configure, configureAmplify, createAuthService, getSession, headers, signIn, };
|