homebridge-econet-rheem 1.5.11 → 1.5.12-beta.1
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/CHANGELOG.md +6 -0
- package/dist/homebridge/platform.d.ts +4 -1
- package/dist/homebridge/platform.js +57 -59
- package/dist/homebridge/platform.js.map +1 -1
- package/dist/homebridge/thermostatAccessory.js +11 -6
- package/dist/homebridge/thermostatAccessory.js.map +1 -1
- package/dist/homebridge/waterHeaterAccessory.js +9 -5
- package/dist/homebridge/waterHeaterAccessory.js.map +1 -1
- package/dist/lang/en.d.ts +50 -0
- package/dist/lang/en.js +62 -0
- package/dist/lang/en.js.map +1 -0
- package/dist/model/api.d.ts +21 -30
- package/dist/model/api.js +261 -226
- package/dist/model/api.js.map +1 -1
- package/dist/model/auth.d.ts +11 -0
- package/dist/model/auth.js +51 -0
- package/dist/model/auth.js.map +1 -0
- package/dist/model/{enums.d.ts → constants.d.ts} +4 -0
- package/dist/model/{enums.js → constants.js} +6 -1
- package/dist/model/constants.js.map +1 -0
- package/dist/model/equipment.d.ts +8 -8
- package/dist/model/equipment.js +18 -32
- package/dist/model/equipment.js.map +1 -1
- package/dist/model/recoverySimulator.d.ts +2 -1
- package/dist/model/recoverySimulator.js +13 -12
- package/dist/model/recoverySimulator.js.map +1 -1
- package/dist/model/thermostat.d.ts +5 -5
- package/dist/model/thermostat.js +70 -70
- package/dist/model/thermostat.js.map +1 -1
- package/dist/model/types.d.ts +83 -0
- package/dist/model/types.js +23 -0
- package/dist/model/types.js.map +1 -0
- package/dist/model/waterHeater.d.ts +6 -4
- package/dist/model/waterHeater.js +39 -39
- package/dist/model/waterHeater.js.map +1 -1
- package/dist/tools/storage.d.ts +6 -0
- package/dist/tools/storage.js +25 -0
- package/dist/tools/storage.js.map +1 -0
- package/dist/tools/temperature.d.ts +3 -0
- package/dist/tools/temperature.js +14 -0
- package/dist/tools/temperature.js.map +1 -0
- package/dist/tools/time.d.ts +4 -0
- package/dist/tools/time.js +5 -0
- package/dist/tools/time.js.map +1 -0
- package/dist/tools/version.d.ts +1 -0
- package/dist/tools/version.js +18 -0
- package/dist/tools/version.js.map +1 -0
- package/example_responses/auth.json +45 -0
- package/example_responses/locations.json +1656 -0
- package/package.json +3 -1
- package/dist/model/enums.js.map +0 -1
- package/dist/model/utils.d.ts +0 -9
- package/dist/model/utils.js +0 -53
- package/dist/model/utils.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,12 @@ Do you have a leak sensor and/or shut off valve on your water heater? I would li
|
|
|
6
6
|
|
|
7
7
|
All notable changes to homebridge-econet-rheem will be documented in this file.
|
|
8
8
|
|
|
9
|
+
## 1.5.12 (2025-06-??)
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
While there are no new features in this release, significant portions of the code have been rewritten and modernized. This will make it much easier to maintain and improve this plugin going forward.
|
|
14
|
+
|
|
9
15
|
## 1.5.11 (2025-05-28)
|
|
10
16
|
|
|
11
17
|
### Fixed
|
|
@@ -9,5 +9,8 @@ export declare class EconetRheemPlatform implements DynamicPlatformPlugin {
|
|
|
9
9
|
private econetApi;
|
|
10
10
|
constructor(log: Logger, config: PlatformConfig, api: API);
|
|
11
11
|
configureAccessory(accessory: PlatformAccessory): void;
|
|
12
|
-
private
|
|
12
|
+
private teardown;
|
|
13
|
+
private setup;
|
|
14
|
+
private initializeAccessory;
|
|
15
|
+
private removeAccessory;
|
|
13
16
|
}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
import path from 'path';
|
|
1
2
|
import { PLATFORM_NAME, PLUGIN_NAME } from './settings.js';
|
|
2
3
|
import { ThermostatAccessory } from '../homebridge/thermostatAccessory.js';
|
|
3
4
|
import { WaterHeaterAccessory } from '../homebridge/waterHeaterAccessory.js';
|
|
4
|
-
import
|
|
5
|
+
import strings from '../lang/en.js';
|
|
6
|
+
import { EconetApi } from '../model/api.js';
|
|
7
|
+
import { EquipmentType } from '../model/constants.js';
|
|
8
|
+
import getVersion from '../tools/version.js';
|
|
9
|
+
import { STORAGE_FILE_NAME } from '../tools/storage.js';
|
|
5
10
|
export class EconetRheemPlatform {
|
|
6
11
|
log;
|
|
7
12
|
config;
|
|
@@ -16,85 +21,78 @@ export class EconetRheemPlatform {
|
|
|
16
21
|
this.api = api;
|
|
17
22
|
this.Service = this.api.hap.Service;
|
|
18
23
|
this.Characteristic = this.api.hap.Characteristic;
|
|
24
|
+
this.log.info('v%s | System %s | Node %s | HB v%s | HAPNodeJS v%s', getVersion(), process.platform, process.version, api.serverVersion, api.hap.HAPLibraryVersion());
|
|
19
25
|
this.api.on('didFinishLaunching', () => {
|
|
20
|
-
this.
|
|
26
|
+
this.setup();
|
|
21
27
|
});
|
|
22
28
|
this.api.on('shutdown', () => {
|
|
23
|
-
|
|
24
|
-
this.econetApi.unsubscribe();
|
|
25
|
-
}
|
|
29
|
+
this.teardown();
|
|
26
30
|
});
|
|
27
31
|
}
|
|
28
32
|
configureAccessory(accessory) {
|
|
29
|
-
this.log.info(
|
|
33
|
+
this.log.info(strings.restoringDevice, accessory.displayName);
|
|
30
34
|
this.accessories.set(accessory.context.serialNumber, accessory);
|
|
31
35
|
}
|
|
32
|
-
|
|
36
|
+
teardown() {
|
|
37
|
+
this.econetApi?.teardown();
|
|
38
|
+
}
|
|
39
|
+
async setup() {
|
|
33
40
|
const email = this.config.email;
|
|
34
41
|
const password = this.config.password;
|
|
35
42
|
const verbose = this.config.verbose;
|
|
36
43
|
const debugMQTT = this.config.mqtt_debug;
|
|
37
44
|
if (!email || !password) {
|
|
38
|
-
this.log.error(
|
|
45
|
+
this.log.error(strings.badConfig);
|
|
39
46
|
return;
|
|
40
47
|
}
|
|
41
48
|
try {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const deviceName = thermostat.deviceName;
|
|
51
|
-
const existingAccessory = this.accessories.get(serialNumber);
|
|
52
|
-
if (existingAccessory) {
|
|
53
|
-
this.log.info('Updating existing thermostat:', deviceName);
|
|
54
|
-
new ThermostatAccessory(this, existingAccessory, thermostat);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
this.log.info('Adding new thermostat:', deviceName);
|
|
58
|
-
const uuid = this.api.hap.uuid.generate(serialNumber);
|
|
59
|
-
const accessory = new this.api.platformAccessory(deviceName, uuid);
|
|
60
|
-
accessory.context.serialNumber = serialNumber;
|
|
61
|
-
new ThermostatAccessory(this, accessory, thermostat);
|
|
62
|
-
this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
|
|
63
|
-
this.accessories.set(serialNumber, accessory);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
for (const waterHeater of waterHeaters) {
|
|
67
|
-
const serialNumber = waterHeater.serialNumber;
|
|
68
|
-
currentSerialNumbers.add(serialNumber);
|
|
69
|
-
const deviceName = waterHeater.deviceName;
|
|
70
|
-
const existingAccessory = this.accessories.get(serialNumber);
|
|
71
|
-
if (existingAccessory) {
|
|
72
|
-
this.log.info('Updating existing water heater:', deviceName);
|
|
73
|
-
new WaterHeaterAccessory(this, existingAccessory, waterHeater, this.config.wh_sim_disable);
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
this.log.info('Adding new water heater:', deviceName);
|
|
77
|
-
const uuid = this.api.hap.uuid.generate(serialNumber);
|
|
78
|
-
const accessory = new this.api.platformAccessory(deviceName, uuid);
|
|
79
|
-
accessory.context.serialNumber = serialNumber;
|
|
80
|
-
new WaterHeaterAccessory(this, accessory, waterHeater, this.config.wh_sim_disable);
|
|
81
|
-
this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
|
|
82
|
-
this.accessories.set(serialNumber, accessory);
|
|
83
|
-
}
|
|
49
|
+
const storageFilePath = path.join(this.api.user.storagePath(), STORAGE_FILE_NAME);
|
|
50
|
+
this.econetApi = await EconetApi.connect(this.log, email, password, storageFilePath, verbose, debugMQTT);
|
|
51
|
+
const equipments = Array.from(this.econetApi.equipments.values());
|
|
52
|
+
if (equipments.length === 0) {
|
|
53
|
+
this.log.error(strings.noEquipment);
|
|
54
|
+
this.accessories.forEach(accessory => this.removeAccessory(accessory));
|
|
55
|
+
this.teardown();
|
|
56
|
+
return;
|
|
84
57
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
58
|
+
const keepSerials = new Set();
|
|
59
|
+
equipments.forEach(equipment => {
|
|
60
|
+
keepSerials.add(equipment.serialNumber);
|
|
61
|
+
this.initializeAccessory(equipment);
|
|
62
|
+
});
|
|
63
|
+
this.accessories.forEach(accessory => {
|
|
64
|
+
if (!keepSerials.has(accessory.context.serialNumber)) {
|
|
65
|
+
this.removeAccessory(accessory);
|
|
90
66
|
}
|
|
91
|
-
}
|
|
92
|
-
this.econetApi.subscribe();
|
|
93
|
-
this.log.debug('Subscribed to Econet MQTT updates');
|
|
67
|
+
});
|
|
94
68
|
}
|
|
95
69
|
catch (error) {
|
|
96
|
-
this.log.error(
|
|
70
|
+
this.log.error(strings.setupFailed, error instanceof Error ? error.message : String(error));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
initializeAccessory(equipment) {
|
|
74
|
+
let accessory = this.accessories.get(equipment.serialNumber);
|
|
75
|
+
if (!accessory) {
|
|
76
|
+
const deviceName = equipment.deviceName;
|
|
77
|
+
this.log.info(strings.newEquipment, deviceName);
|
|
78
|
+
const uuid = this.api.hap.uuid.generate(equipment.serialNumber);
|
|
79
|
+
accessory = new this.api.platformAccessory(deviceName, uuid);
|
|
80
|
+
accessory.context.serialNumber = equipment.serialNumber;
|
|
81
|
+
this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
|
|
82
|
+
this.accessories.set(equipment.serialNumber, accessory);
|
|
83
|
+
}
|
|
84
|
+
switch (equipment.type) {
|
|
85
|
+
case EquipmentType.THERMOSTAT:
|
|
86
|
+
new ThermostatAccessory(this, accessory, equipment);
|
|
87
|
+
break;
|
|
88
|
+
case EquipmentType.WATER_HEATER:
|
|
89
|
+
new WaterHeaterAccessory(this, accessory, equipment, this.config.wh_sim_disable);
|
|
97
90
|
}
|
|
98
91
|
}
|
|
92
|
+
removeAccessory(accessory) {
|
|
93
|
+
this.log.info(strings.removeDevice, accessory.displayName);
|
|
94
|
+
this.api.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
|
|
95
|
+
this.accessories.delete(accessory.context.serialNumber);
|
|
96
|
+
}
|
|
99
97
|
}
|
|
100
98
|
//# sourceMappingURL=platform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/homebridge/platform.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/homebridge/platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import strings from '../lang/en.js';
|
|
2
|
+
import { TemperatureUnits, ThermostatOperationMode } from '../model/constants.js';
|
|
3
|
+
import { toCelsius, fromCelsius } from '../tools/temperature.js';
|
|
4
|
+
import getVersion from '../tools/version.js';
|
|
3
5
|
export class ThermostatAccessory {
|
|
4
6
|
platform;
|
|
5
7
|
accessory;
|
|
@@ -13,8 +15,8 @@ export class ThermostatAccessory {
|
|
|
13
15
|
this.Characteristic = platform.api.hap.Characteristic;
|
|
14
16
|
const Service = platform.api.hap.Service;
|
|
15
17
|
this.accessory.getService(Service.AccessoryInformation)
|
|
16
|
-
.setCharacteristic(this.Characteristic.Manufacturer,
|
|
17
|
-
.setCharacteristic(this.Characteristic.Model,
|
|
18
|
+
.setCharacteristic(this.Characteristic.Manufacturer, strings.brand)
|
|
19
|
+
.setCharacteristic(this.Characteristic.Model, strings.thermostat)
|
|
18
20
|
.setCharacteristic(this.Characteristic.SerialNumber, this.thermostat.serialNumber)
|
|
19
21
|
.setCharacteristic(this.Characteristic.FirmwareRevision, getVersion());
|
|
20
22
|
this.service = this.accessory.getService(Service.Thermostat) ||
|
|
@@ -44,13 +46,17 @@ export class ThermostatAccessory {
|
|
|
44
46
|
.onSet(this.setTargetTemperature.bind(this));
|
|
45
47
|
const minHeatTemp = toCelsius(this.thermostat.heatSetPointLimits[0], this.thermostat.units);
|
|
46
48
|
const maxHeatTemp = toCelsius(this.thermostat.heatSetPointLimits[1], this.thermostat.units);
|
|
49
|
+
const heatSetpoint = toCelsius(this.thermostat.heatSetPoint, this.thermostat.units);
|
|
47
50
|
this.service.getCharacteristic(this.Characteristic.HeatingThresholdTemperature)
|
|
51
|
+
.setValue(heatSetpoint)
|
|
48
52
|
.setProps({ minValue: minHeatTemp, maxValue: maxHeatTemp, minStep: 0.1 })
|
|
49
53
|
.onGet(this.getHeatingThresholdTemperature.bind(this))
|
|
50
54
|
.onSet(this.setHeatingThresholdTemperature.bind(this));
|
|
51
55
|
const minCoolTemp = toCelsius(this.thermostat.coolSetPointLimits[0], this.thermostat.units);
|
|
52
56
|
const maxCoolTemp = toCelsius(this.thermostat.coolSetPointLimits[1], this.thermostat.units);
|
|
57
|
+
const coolSetpoint = toCelsius(thermostat.coolSetPoint, this.thermostat.units);
|
|
53
58
|
this.service.getCharacteristic(this.Characteristic.CoolingThresholdTemperature)
|
|
59
|
+
.setValue(coolSetpoint)
|
|
54
60
|
.setProps({ minValue: minCoolTemp, maxValue: maxCoolTemp, minStep: 0.1 })
|
|
55
61
|
.onGet(this.getCoolingThresholdTemperature.bind(this))
|
|
56
62
|
.onSet(this.setCoolingThresholdTemperature.bind(this));
|
|
@@ -60,7 +66,6 @@ export class ThermostatAccessory {
|
|
|
60
66
|
handleEquipmentUpdate(serial) {
|
|
61
67
|
if (serial === this.thermostat.serialNumber) {
|
|
62
68
|
this.updateCharacteristics();
|
|
63
|
-
this.platform.log.debug(`Received update for ${serial}, refreshed accessory state`);
|
|
64
69
|
}
|
|
65
70
|
}
|
|
66
71
|
updateCharacteristics() {
|
|
@@ -122,7 +127,7 @@ export class ThermostatAccessory {
|
|
|
122
127
|
mode = ThermostatOperationMode.AUTO;
|
|
123
128
|
break;
|
|
124
129
|
default:
|
|
125
|
-
this.platform.log.error(
|
|
130
|
+
this.platform.log.error(strings.unsupportedState, state);
|
|
126
131
|
return;
|
|
127
132
|
}
|
|
128
133
|
this.thermostat.setMode(mode);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thermostatAccessory.js","sourceRoot":"","sources":["../../src/homebridge/thermostatAccessory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"thermostatAccessory.js","sourceRoot":"","sources":["../../src/homebridge/thermostatAccessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import strings from '../lang/en.js';
|
|
2
|
+
import { TemperatureUnits } from '../model/constants.js';
|
|
3
|
+
import { toCelsius, fromCelsius } from '../tools/temperature.js';
|
|
4
|
+
import getVersion from '../tools/version.js';
|
|
3
5
|
export class WaterHeaterAccessory {
|
|
4
6
|
platform;
|
|
5
7
|
accessory;
|
|
@@ -15,8 +17,8 @@ export class WaterHeaterAccessory {
|
|
|
15
17
|
this.Characteristic = platform.api.hap.Characteristic;
|
|
16
18
|
const Service = platform.api.hap.Service;
|
|
17
19
|
this.accessory.getService(Service.AccessoryInformation)
|
|
18
|
-
.setCharacteristic(this.Characteristic.Manufacturer,
|
|
19
|
-
.setCharacteristic(this.Characteristic.Model,
|
|
20
|
+
.setCharacteristic(this.Characteristic.Manufacturer, strings.brand)
|
|
21
|
+
.setCharacteristic(this.Characteristic.Model, strings.waterHeater)
|
|
20
22
|
.setCharacteristic(this.Characteristic.SerialNumber, this.waterHeater.serialNumber)
|
|
21
23
|
.setCharacteristic(this.Characteristic.FirmwareRevision, getVersion());
|
|
22
24
|
this.service = this.accessory.getService(Service.HeaterCooler) ||
|
|
@@ -30,6 +32,7 @@ export class WaterHeaterAccessory {
|
|
|
30
32
|
this.service.getCharacteristic(this.Characteristic.CurrentHeaterCoolerState)
|
|
31
33
|
.onGet(this.getCurrentState.bind(this));
|
|
32
34
|
this.service.getCharacteristic(this.Characteristic.TargetHeaterCoolerState)
|
|
35
|
+
.setValue(this.Characteristic.TargetHeaterCoolerState.HEAT)
|
|
33
36
|
.setProps({ validValues: [this.Characteristic.TargetHeaterCoolerState.HEAT] })
|
|
34
37
|
.onGet(this.getTargetState.bind(this))
|
|
35
38
|
.onSet(this.setTargetState.bind(this));
|
|
@@ -37,7 +40,9 @@ export class WaterHeaterAccessory {
|
|
|
37
40
|
.onGet(this.getCurrentTemperature.bind(this));
|
|
38
41
|
const minTemp = toCelsius(this.waterHeater.limits[0], this.waterHeater.units);
|
|
39
42
|
const maxTemp = toCelsius(this.waterHeater.limits[1], this.waterHeater.units);
|
|
43
|
+
const setpoint = toCelsius(this.waterHeater.setPoint, this.waterHeater.units);
|
|
40
44
|
this.service.getCharacteristic(this.Characteristic.HeatingThresholdTemperature)
|
|
45
|
+
.setValue(setpoint)
|
|
41
46
|
.setProps({ minValue: minTemp, maxValue: maxTemp, minStep: 0.1 })
|
|
42
47
|
.onGet(this.getHeatingThresholdTemperature.bind(this))
|
|
43
48
|
.onSet(this.setHeatingThresholdTemperature.bind(this));
|
|
@@ -47,7 +52,6 @@ export class WaterHeaterAccessory {
|
|
|
47
52
|
handleEquipmentUpdate(serial) {
|
|
48
53
|
if (serial === this.waterHeater.serialNumber) {
|
|
49
54
|
this.updateCharacteristics();
|
|
50
|
-
this.platform.log.debug(`Received update for ${serial}, refreshed accessory state`);
|
|
51
55
|
}
|
|
52
56
|
}
|
|
53
57
|
updateCharacteristics() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waterHeaterAccessory.js","sourceRoot":"","sources":["../../src/homebridge/waterHeaterAccessory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"waterHeaterAccessory.js","sourceRoot":"","sources":["../../src/homebridge/waterHeaterAccessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
declare const langEn: {
|
|
2
|
+
brand: string;
|
|
3
|
+
redacted: string;
|
|
4
|
+
undefined: string;
|
|
5
|
+
badConfig: string;
|
|
6
|
+
newEquipment: string;
|
|
7
|
+
removeDevice: string;
|
|
8
|
+
restoringDevice: string;
|
|
9
|
+
setupComplete: string;
|
|
10
|
+
setupFailed: string;
|
|
11
|
+
welcomeMessages: string[];
|
|
12
|
+
outOfRangeCool: string;
|
|
13
|
+
outOfRangeHeat: string;
|
|
14
|
+
setpointUnknown: string;
|
|
15
|
+
thermostat: string;
|
|
16
|
+
unknownMode: string;
|
|
17
|
+
unsupportedEquipment: string;
|
|
18
|
+
unsupportedState: string;
|
|
19
|
+
waterHeater: string;
|
|
20
|
+
authSuccess: string;
|
|
21
|
+
httpRetryMinutes: string;
|
|
22
|
+
httpRetrySeconds: string;
|
|
23
|
+
noDataReceived: string;
|
|
24
|
+
noEquipment: string;
|
|
25
|
+
reauthenticate: string;
|
|
26
|
+
reauthFailed: string;
|
|
27
|
+
authMissing: string;
|
|
28
|
+
connected: string;
|
|
29
|
+
connectionClosed: string;
|
|
30
|
+
connectionError: string;
|
|
31
|
+
clientError: string;
|
|
32
|
+
clientNotConnected: string;
|
|
33
|
+
idleConnection: string;
|
|
34
|
+
parseFailed: string;
|
|
35
|
+
reconnectInMinutes: string;
|
|
36
|
+
reconnectInSeconds: string;
|
|
37
|
+
unstableConnection: string;
|
|
38
|
+
alertCount: string;
|
|
39
|
+
availabilityState: string;
|
|
40
|
+
clientOffline: string;
|
|
41
|
+
currentTempState: string;
|
|
42
|
+
coolSetpoint: string;
|
|
43
|
+
enabledState: string;
|
|
44
|
+
heatSetpoint: string;
|
|
45
|
+
humidityState: string;
|
|
46
|
+
modeState: string;
|
|
47
|
+
runningState: string;
|
|
48
|
+
setpointState: string;
|
|
49
|
+
};
|
|
50
|
+
export default langEn;
|
package/dist/lang/en.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
const langEn = {
|
|
2
|
+
// General
|
|
3
|
+
brand: 'EcoNet',
|
|
4
|
+
redacted: '****redacted****',
|
|
5
|
+
undefined: 'undefined',
|
|
6
|
+
// Startup
|
|
7
|
+
badConfig: 'One or more required variables are missing from the config. Please check the documentation. https://github.com/mpatfield/homebridge-econet-rheem',
|
|
8
|
+
newEquipment: 'Adding new device:',
|
|
9
|
+
removeDevice: 'Removing device:',
|
|
10
|
+
restoringDevice: 'Restoring device:',
|
|
11
|
+
setupComplete: '✓ Setup complete.',
|
|
12
|
+
setupFailed: 'Setup failed:',
|
|
13
|
+
welcomeMessages: [
|
|
14
|
+
'Please ★ this plugin on GitHub if you\'re finding it useful! https://github.com/mpatfield/homebridge-econet-rheem',
|
|
15
|
+
'Would you like to sponsor this plugin? https://github.com/sponsors/mpatfield',
|
|
16
|
+
'Please rate us on HOOBS! https://plugins.hoobs.org/plugin/homebridge-econet-rheem',
|
|
17
|
+
'Want to see this plugin in your own language? Please create a ticket! https://github.com/mpatfield/homebridge-econet-rheem/issues',
|
|
18
|
+
],
|
|
19
|
+
// Equipment
|
|
20
|
+
outOfRangeCool: 'Cool setpoint out of range, lower: %s, upper: %s, setpoint: %s',
|
|
21
|
+
outOfRangeHeat: 'Heat setpoint out of range, lower: %s, upper: %s, setpoint: %s',
|
|
22
|
+
setpointUnknown: 'Cannot determine desired setpoint when mode is %s',
|
|
23
|
+
thermostat: 'Thermostat',
|
|
24
|
+
unknownMode: 'Unknown thermostat mode:',
|
|
25
|
+
unsupportedEquipment: 'Unsupported equipment type: %s',
|
|
26
|
+
unsupportedState: 'Unsupported state:',
|
|
27
|
+
waterHeater: 'Water Heater',
|
|
28
|
+
// HTTP
|
|
29
|
+
authSuccess: 'Successfully authenticated',
|
|
30
|
+
httpRetryMinutes: 'Request failed. Retrying in %s minutes…',
|
|
31
|
+
httpRetrySeconds: 'Request failed. Retrying in %s seconds…',
|
|
32
|
+
noDataReceived: 'No data received from EcoNet',
|
|
33
|
+
noEquipment: 'No equipment found',
|
|
34
|
+
reauthenticate: 'Attempting to re-authenticate',
|
|
35
|
+
reauthFailed: 'Re-authentication failed:',
|
|
36
|
+
// MQTT
|
|
37
|
+
authMissing: 'MQTT is missing auth',
|
|
38
|
+
connected: 'Connected and listening for updates…',
|
|
39
|
+
connectionClosed: 'Connection closed',
|
|
40
|
+
connectionError: 'MQTT cannot connect',
|
|
41
|
+
clientError: 'Client error:',
|
|
42
|
+
clientNotConnected: 'Client not connected',
|
|
43
|
+
idleConnection: 'Idle connection',
|
|
44
|
+
parseFailed: 'Failed to parse message:',
|
|
45
|
+
reconnectInMinutes: 'Will attempt to reconnect in %s minutes…',
|
|
46
|
+
reconnectInSeconds: 'Will attempt to reconnect in %s seconds…',
|
|
47
|
+
unstableConnection: 'Having trouble staying connected',
|
|
48
|
+
// Debug
|
|
49
|
+
alertCount: '%s alert count = %s',
|
|
50
|
+
availabilityState: '%s availability = %s',
|
|
51
|
+
clientOffline: 'Client offline',
|
|
52
|
+
currentTempState: '%s current temp = %s',
|
|
53
|
+
coolSetpoint: '%s cool setpoint = %s',
|
|
54
|
+
enabledState: '%s enabled = %s',
|
|
55
|
+
heatSetpoint: '%s heat setpoint = %s',
|
|
56
|
+
humidityState: '%s humidity = %s',
|
|
57
|
+
modeState: '%s mode = %s',
|
|
58
|
+
runningState: '%s running = %s',
|
|
59
|
+
setpointState: '%s setpoint = %s',
|
|
60
|
+
};
|
|
61
|
+
export default langEn;
|
|
62
|
+
//# sourceMappingURL=en.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/lang/en.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG;IAEb,UAAU;IACV,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,kBAAkB;IAC5B,SAAS,EAAE,WAAW;IAEtB,UAAU;IACV,SAAS,EAAE,kJAAkJ;IAC7J,YAAY,EAAE,oBAAoB;IAClC,YAAY,EAAE,kBAAkB;IAChC,eAAe,EAAE,mBAAmB;IACpC,aAAa,EAAE,mBAAmB;IAClC,WAAW,EAAE,eAAe;IAC5B,eAAe,EAAE;QACf,mHAAmH;QACnH,8EAA8E;QAC9E,mFAAmF;QACnF,mIAAmI;KACpI;IAED,YAAY;IACZ,cAAc,EAAE,gEAAgE;IAChF,cAAc,EAAE,gEAAgE;IAChF,eAAe,EAAE,mDAAmD;IACpE,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,0BAA0B;IACvC,oBAAoB,EAAE,gCAAgC;IACtD,gBAAgB,EAAE,oBAAoB;IACtC,WAAW,EAAE,cAAc;IAE3B,OAAO;IACP,WAAW,EAAE,4BAA4B;IACzC,gBAAgB,EAAE,yCAAyC;IAC3D,gBAAgB,EAAE,yCAAyC;IAC3D,cAAc,EAAE,8BAA8B;IAC9C,WAAW,EAAE,oBAAoB;IACjC,cAAc,EAAE,+BAA+B;IAC/C,YAAY,EAAE,2BAA2B;IAEzC,OAAO;IACP,WAAW,EAAE,sBAAsB;IACnC,SAAS,EAAE,sCAAsC;IACjD,gBAAgB,EAAE,mBAAmB;IACrC,eAAe,EAAE,qBAAqB;IACtC,WAAW,EAAE,eAAe;IAC5B,kBAAkB,EAAE,sBAAsB;IAC1C,cAAc,EAAE,iBAAiB;IACjC,WAAW,EAAE,0BAA0B;IACvC,kBAAkB,EAAE,0CAA0C;IAC9D,kBAAkB,EAAE,0CAA0C;IAC9D,kBAAkB,EAAE,kCAAkC;IAEtD,QAAQ;IACR,UAAU,EAAE,qBAAqB;IACjC,iBAAiB,EAAE,sBAAsB;IACzC,aAAa,EAAE,gBAAgB;IAC/B,gBAAgB,EAAE,sBAAsB;IACxC,YAAY,EAAE,uBAAuB;IACrC,YAAY,EAAE,iBAAiB;IAC/B,YAAY,EAAE,uBAAuB;IACrC,aAAa,EAAE,kBAAkB;IACjC,SAAS,EAAE,cAAc;IACzB,YAAY,EAAE,iBAAiB;IAC/B,aAAa,EAAE,kBAAkB;CAClC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/dist/model/api.d.ts
CHANGED
|
@@ -1,48 +1,39 @@
|
|
|
1
1
|
import { Logger } from 'homebridge';
|
|
2
2
|
import { Equipment } from './equipment.js';
|
|
3
|
-
export declare const WATER_HEATER = "WH";
|
|
4
|
-
export declare const THERMOSTAT = "HVAC";
|
|
5
|
-
export declare class PyeconetError extends Error {
|
|
6
|
-
constructor(message: string);
|
|
7
|
-
}
|
|
8
|
-
export declare class InvalidCredentialsError extends PyeconetError {
|
|
9
|
-
constructor(message: string);
|
|
10
|
-
}
|
|
11
|
-
export declare class InvalidResponseFormat extends PyeconetError {
|
|
12
|
-
constructor(message: string);
|
|
13
|
-
}
|
|
14
|
-
export declare class GenericHTTPError extends PyeconetError {
|
|
15
|
-
constructor(message: string);
|
|
16
|
-
}
|
|
17
3
|
export declare class EconetApi {
|
|
18
4
|
readonly log: Logger;
|
|
19
5
|
private readonly email;
|
|
20
6
|
private readonly password;
|
|
21
|
-
readonly
|
|
7
|
+
readonly storageFilePath: string;
|
|
22
8
|
private readonly verbose;
|
|
23
9
|
private readonly debugMQTT;
|
|
24
|
-
private
|
|
25
|
-
private
|
|
26
|
-
|
|
27
|
-
private equipment;
|
|
10
|
+
private _auth?;
|
|
11
|
+
private retryIndex;
|
|
12
|
+
readonly equipments: Map<string, Equipment>;
|
|
28
13
|
private mqttClient;
|
|
29
14
|
private shouldReconnect;
|
|
30
15
|
private isReconnecting;
|
|
31
16
|
private reconnectCount;
|
|
32
17
|
private idleMQTTTimer;
|
|
33
|
-
constructor(log: Logger, email: string, password: string,
|
|
34
|
-
static
|
|
35
|
-
|
|
36
|
-
subscribe(): void;
|
|
37
|
-
private connect;
|
|
38
|
-
private resetIdleMQTTTimer;
|
|
39
|
-
private reconnect;
|
|
18
|
+
constructor(log: Logger, email: string, password: string, storageFilePath: string, verbose: boolean, debugMQTT: boolean);
|
|
19
|
+
static connect(log: Logger, email: string, password: string, storageFilePath: string, verbose: boolean, debugMQTT: boolean): Promise<EconetApi>;
|
|
20
|
+
teardown(): void;
|
|
40
21
|
publish(payload: {
|
|
41
22
|
[key: string]: number;
|
|
42
23
|
}, deviceId: string, serialNumber: string): void;
|
|
43
|
-
|
|
44
|
-
private
|
|
45
|
-
|
|
46
|
-
|
|
24
|
+
private get auth();
|
|
25
|
+
private set auth(value);
|
|
26
|
+
private httpRequest;
|
|
27
|
+
private retryHTTPIfPossible;
|
|
28
|
+
private authenticate;
|
|
29
|
+
private mqttConnect;
|
|
30
|
+
private mqttSubscribe;
|
|
31
|
+
private mqttMessageReceived;
|
|
32
|
+
private mqttConnectionClosed;
|
|
33
|
+
private resetIdleMQTTTimer;
|
|
34
|
+
private mqttReconnect;
|
|
35
|
+
private getLocations;
|
|
47
36
|
private saveMQTT;
|
|
37
|
+
private logIfVerbose;
|
|
38
|
+
private desensitize;
|
|
48
39
|
}
|