homebridge-econet-rheem 1.5.12 → 1.5.13-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 +10 -2
- package/config.schema.json +9 -10
- package/dist/homebridge/platform.js +10 -11
- package/dist/homebridge/platform.js.map +1 -1
- package/dist/homebridge/thermostatAccessory.js +4 -4
- package/dist/homebridge/thermostatAccessory.js.map +1 -1
- package/dist/homebridge/waterHeaterAccessory.d.ts +0 -1
- package/dist/homebridge/waterHeaterAccessory.js +3 -5
- package/dist/homebridge/waterHeaterAccessory.js.map +1 -1
- package/dist/homebridge-ui/public/index.html +17 -0
- package/dist/homebridge-ui/public/ui.js +1 -0
- package/dist/homebridge-ui/server.js +8 -2
- package/dist/homebridge-ui/server.js.map +1 -1
- package/dist/i18n/en.d.ts +80 -0
- package/dist/i18n/en.js +86 -0
- package/dist/i18n/en.js.map +1 -0
- package/dist/i18n/i18n.d.ts +89 -0
- package/dist/i18n/i18n.js +38 -0
- package/dist/i18n/i18n.js.map +1 -0
- package/dist/i18n/template.d.ts +80 -0
- package/dist/i18n/template.js +8 -0
- package/dist/i18n/template.js.map +1 -0
- package/dist/i18n/zz.d.ts +109 -0
- package/dist/i18n/zz.js +35 -0
- package/dist/i18n/zz.js.map +1 -0
- package/dist/model/api.d.ts +4 -4
- package/dist/model/api.js +47 -46
- package/dist/model/api.js.map +1 -1
- package/dist/model/auth.d.ts +2 -2
- package/dist/model/auth.js +21 -16
- package/dist/model/auth.js.map +1 -1
- package/dist/model/equipment.js +6 -6
- package/dist/model/equipment.js.map +1 -1
- package/dist/model/recoverySimulator.d.ts +3 -2
- package/dist/model/recoverySimulator.js +15 -10
- package/dist/model/recoverySimulator.js.map +1 -1
- package/dist/model/thermostat.js +12 -12
- package/dist/model/thermostat.js.map +1 -1
- package/dist/model/types.d.ts +1 -1
- package/dist/model/waterHeater.d.ts +3 -2
- package/dist/model/waterHeater.js +16 -14
- package/dist/model/waterHeater.js.map +1 -1
- package/dist/tools/log.js +6 -5
- package/dist/tools/log.js.map +1 -1
- package/dist/tools/storage.d.ts +2 -3
- package/dist/tools/storage.js +20 -18
- package/dist/tools/storage.js.map +1 -1
- package/eslint.config.ts +35 -0
- package/package.json +12 -9
- package/src/homebridge-ui/public/index.html +6 -93
- package/dist/lang/en.d.ts +0 -53
- package/dist/lang/en.js +0 -60
- package/dist/lang/en.js.map +0 -1
package/package.json
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"name": "homebridge-econet-rheem",
|
|
3
3
|
"platform": "HomebridgeEconetRheem",
|
|
4
4
|
"displayName": "Homebridge Econet Rheem",
|
|
5
|
-
"description": "Homebridge plugin
|
|
5
|
+
"description": "Homebridge plugin for control of Rheem thermostats and water heaters",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"version": "1.5.
|
|
7
|
+
"version": "1.5.13-beta.1",
|
|
8
8
|
"homepage": "https://github.com/mpatfield/homebridge-econet-rheem#readme",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
@@ -19,10 +19,11 @@
|
|
|
19
19
|
},
|
|
20
20
|
"main": "dist/homebridge/index.js",
|
|
21
21
|
"scripts": {
|
|
22
|
-
"build": "rimraf ./dist && tsc",
|
|
22
|
+
"build": "rimraf ./dist && tsc && npm run build:html && npm run build:ui",
|
|
23
|
+
"build:html": "mkdir ./dist/homebridge-ui/public && cp -r ./src/homebridge-ui/public/* ./dist/homebridge-ui/public/",
|
|
24
|
+
"build:ui": "esbuild src/homebridge-ui/ui.ts --bundle --outfile=dist/homebridge-ui/public/ui.js --minify",
|
|
23
25
|
"lint": "eslint . --max-warnings=0",
|
|
24
|
-
"prepublishOnly": "npm run lint && npm run build"
|
|
25
|
-
"watch": "npm run build && npm link && nodemon"
|
|
26
|
+
"prepublishOnly": "npm run lint && npm run build"
|
|
26
27
|
},
|
|
27
28
|
"keywords": [
|
|
28
29
|
"homebridge",
|
|
@@ -44,18 +45,20 @@
|
|
|
44
45
|
"@homebridge/plugin-ui-utils": "^2.0.2",
|
|
45
46
|
"axios": "^1.7.2",
|
|
46
47
|
"homebridge-lib": "^7.1.4",
|
|
48
|
+
"lodash.merge": "^4.6.2",
|
|
49
|
+
"node-persist": "^4.0.4",
|
|
47
50
|
"mqtt": "^5.7.0"
|
|
48
51
|
},
|
|
49
52
|
"devDependencies": {
|
|
50
|
-
"@
|
|
51
|
-
"@types/node": "^
|
|
53
|
+
"@types/lodash.merge": "^4.6.9",
|
|
54
|
+
"@types/node-persist": "^3.1.8",
|
|
52
55
|
"@types/ws": "^8.18.1",
|
|
56
|
+
"esbuild": "^0.25.5",
|
|
53
57
|
"eslint": "^9.24.0",
|
|
54
58
|
"homebridge": "^2.0.0-beta.0",
|
|
55
|
-
"
|
|
59
|
+
"jiti": "^2.4.2",
|
|
56
60
|
"rimraf": "^6.0.1",
|
|
57
61
|
"ts-node": "^10.9.2",
|
|
58
|
-
"typescript": "^5.7.3",
|
|
59
62
|
"typescript-eslint": "^8.24.1"
|
|
60
63
|
},
|
|
61
64
|
"homebridge": {
|
|
@@ -1,104 +1,17 @@
|
|
|
1
1
|
<p class="text-center">
|
|
2
2
|
<img
|
|
3
3
|
src="https://github.com/mpatfield/homebridge-econet-rheem/blob/latest/img/banner.png?raw=true"
|
|
4
|
-
alt="
|
|
4
|
+
alt="Homebridge Econet Rheem"
|
|
5
5
|
style="width: 60%;"
|
|
6
6
|
/>
|
|
7
7
|
</p>
|
|
8
8
|
<div id="support" class="text-center" style="display: none;">
|
|
9
|
-
<p
|
|
9
|
+
<p i18n="support" i18n_replace="github"></p>
|
|
10
10
|
</div>
|
|
11
11
|
<div id="pageIntro" class="text-center" style="display: none;">
|
|
12
|
-
<p class="lead"
|
|
13
|
-
<p>
|
|
14
|
-
</br
|
|
15
|
-
</p>
|
|
16
|
-
</br><button type="button" class="btn btn-primary" id="introContinue">Continue →</button>
|
|
12
|
+
<p class="lead" i18n="thankYou"></p>
|
|
13
|
+
<p i18n="needed"></p>
|
|
14
|
+
</br><button type="button" class="btn btn-primary" id="introContinue" i18n="continue", i18n_replace="arrow"></button>
|
|
17
15
|
</div>
|
|
18
|
-
<div id="spinner-container">
|
|
19
|
-
<div id="spinner" class="spinner"></div>
|
|
20
|
-
</div>
|
|
21
|
-
<style>
|
|
22
|
-
|
|
23
|
-
#spinner-container {
|
|
24
|
-
margin-top: 2rem;
|
|
25
|
-
display: none;
|
|
26
|
-
justify-content: center;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.spinner {
|
|
30
|
-
border: 8px solid #f3f3f3;
|
|
31
|
-
border-radius: 50%;
|
|
32
|
-
border-top: 8px solid #3498db;
|
|
33
|
-
width: 60px;
|
|
34
|
-
height: 60px;
|
|
35
|
-
-webkit-animation: spin 1s linear infinite; /* Safari */
|
|
36
|
-
animation: spin 1s linear infinite;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/* Safari */
|
|
40
|
-
@-webkit-keyframes spin {
|
|
41
|
-
0% { -webkit-transform: rotate(0deg); }
|
|
42
|
-
100% { -webkit-transform: rotate(360deg); }
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
@keyframes spin {
|
|
46
|
-
0% { transform: rotate(0deg); }
|
|
47
|
-
100% { transform: rotate(360deg); }
|
|
48
|
-
}
|
|
49
|
-
</style>
|
|
50
|
-
<script>
|
|
51
|
-
;(async () => {
|
|
52
|
-
|
|
53
|
-
const showSpinner = () => {
|
|
54
|
-
const spinnerContainer = document.getElementById('spinner-container')
|
|
55
|
-
spinnerContainer.style.display = 'flex'
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
const hideSpinner = () => {
|
|
59
|
-
const spinnerContainer = document.getElementById('spinner-container')
|
|
60
|
-
spinnerContainer.style.display = 'none'
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
const showIntro = () => {
|
|
64
|
-
const introContinue = document.getElementById('introContinue')
|
|
65
|
-
introContinue.addEventListener('click', async () => {
|
|
66
|
-
showSettings()
|
|
67
|
-
})
|
|
68
|
-
document.getElementById('pageIntro').style.display = 'block'
|
|
69
|
-
hideSpinner()
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
const showSupport = () => {
|
|
73
|
-
document.getElementById('support').style.display = 'block'
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
const showSettings = async () => {
|
|
77
|
-
document.getElementById('pageIntro').style.display = 'none'
|
|
78
|
-
showSpinner()
|
|
79
|
-
showSupport()
|
|
80
|
-
await homebridge.showSchemaForm()
|
|
81
|
-
hideSpinner()
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
try {
|
|
85
|
-
|
|
86
|
-
showSpinner()
|
|
87
|
-
await new Promise(r => setTimeout(r, 500))
|
|
88
|
-
|
|
89
|
-
const currentConfig = await homebridge.getPluginConfig()
|
|
90
16
|
|
|
91
|
-
|
|
92
|
-
await showSettings()
|
|
93
|
-
} else {
|
|
94
|
-
currentConfig.push({ name: 'Econet Rheem' })
|
|
95
|
-
await homebridge.updatePluginConfig(currentConfig)
|
|
96
|
-
showIntro()
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
} catch (err) {
|
|
100
|
-
homebridge.toast.error(err.message, 'Sorry, something went wrong. Please try again.')
|
|
101
|
-
hideSpinner()
|
|
102
|
-
}
|
|
103
|
-
})()
|
|
104
|
-
</script>
|
|
17
|
+
<script src="ui.js"></script>
|
package/dist/lang/en.d.ts
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
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
|
-
welcomeMessage_1: string;
|
|
12
|
-
welcomeMessage_2: string;
|
|
13
|
-
welcomeMessage_3: string;
|
|
14
|
-
welcomeMessage_4: string;
|
|
15
|
-
outOfRangeCool: string;
|
|
16
|
-
outOfRangeHeat: string;
|
|
17
|
-
setpointUnknown: string;
|
|
18
|
-
thermostat: string;
|
|
19
|
-
unknownMode: string;
|
|
20
|
-
unsupportedEquipment: string;
|
|
21
|
-
unsupportedState: string;
|
|
22
|
-
waterHeater: string;
|
|
23
|
-
authSuccess: string;
|
|
24
|
-
httpRetryMinutes: string;
|
|
25
|
-
httpRetrySeconds: string;
|
|
26
|
-
noDataReceived: string;
|
|
27
|
-
noEquipment: string;
|
|
28
|
-
reauthenticate: string;
|
|
29
|
-
reauthFailed: string;
|
|
30
|
-
authMissing: string;
|
|
31
|
-
connected: string;
|
|
32
|
-
connectionClosed: string;
|
|
33
|
-
connectionError: string;
|
|
34
|
-
clientError: string;
|
|
35
|
-
clientNotConnected: string;
|
|
36
|
-
idleConnection: string;
|
|
37
|
-
parseFailed: string;
|
|
38
|
-
reconnectInMinutes: string;
|
|
39
|
-
reconnectInSeconds: string;
|
|
40
|
-
unstableConnection: string;
|
|
41
|
-
alertCount: string;
|
|
42
|
-
availabilityState: string;
|
|
43
|
-
clientOffline: string;
|
|
44
|
-
currentTempState: string;
|
|
45
|
-
coolSetpoint: string;
|
|
46
|
-
enabledState: string;
|
|
47
|
-
heatSetpoint: string;
|
|
48
|
-
humidityState: string;
|
|
49
|
-
modeState: string;
|
|
50
|
-
runningState: string;
|
|
51
|
-
setpointState: string;
|
|
52
|
-
};
|
|
53
|
-
export default langEn;
|
package/dist/lang/en.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
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
|
-
welcomeMessage_1: 'Please ★ this plugin on GitHub if you\'re finding it useful! https://github.com/mpatfield/homebridge-econet-rheem',
|
|
14
|
-
welcomeMessage_2: 'Would you like to sponsor this plugin? https://github.com/sponsors/mpatfield',
|
|
15
|
-
welcomeMessage_3: 'Please rate us on HOOBS! https://plugins.hoobs.org/plugin/homebridge-econet-rheem',
|
|
16
|
-
welcomeMessage_4: 'Want to see this plugin in your own language? Please create a ticket! https://github.com/mpatfield/homebridge-econet-rheem/issues',
|
|
17
|
-
// Equipment
|
|
18
|
-
outOfRangeCool: 'Cool setpoint out of range, lower: %s, upper: %s, setpoint: %s',
|
|
19
|
-
outOfRangeHeat: 'Heat setpoint out of range, lower: %s, upper: %s, setpoint: %s',
|
|
20
|
-
setpointUnknown: 'Cannot determine desired setpoint when mode is %s',
|
|
21
|
-
thermostat: 'Thermostat',
|
|
22
|
-
unknownMode: 'Unknown thermostat mode:',
|
|
23
|
-
unsupportedEquipment: 'Unsupported equipment type: %s',
|
|
24
|
-
unsupportedState: 'Unsupported state:',
|
|
25
|
-
waterHeater: 'Water Heater',
|
|
26
|
-
// HTTP
|
|
27
|
-
authSuccess: 'Successfully authenticated',
|
|
28
|
-
httpRetryMinutes: 'Request failed. Retrying in %s minutes…',
|
|
29
|
-
httpRetrySeconds: 'Request failed. Retrying in %s seconds…',
|
|
30
|
-
noDataReceived: 'No data received from EcoNet',
|
|
31
|
-
noEquipment: 'No equipment found',
|
|
32
|
-
reauthenticate: 'Attempting to re-authenticate',
|
|
33
|
-
reauthFailed: 'Re-authentication failed:',
|
|
34
|
-
// MQTT
|
|
35
|
-
authMissing: 'MQTT is missing auth',
|
|
36
|
-
connected: 'Connected and listening for updates…',
|
|
37
|
-
connectionClosed: 'Connection closed',
|
|
38
|
-
connectionError: 'MQTT cannot connect',
|
|
39
|
-
clientError: 'Client error:',
|
|
40
|
-
clientNotConnected: 'Client not connected',
|
|
41
|
-
idleConnection: 'Idle connection',
|
|
42
|
-
parseFailed: 'Failed to parse message:',
|
|
43
|
-
reconnectInMinutes: 'Will attempt to reconnect in %s minutes…',
|
|
44
|
-
reconnectInSeconds: 'Will attempt to reconnect in %s seconds…',
|
|
45
|
-
unstableConnection: 'Having trouble staying connected',
|
|
46
|
-
// Debug
|
|
47
|
-
alertCount: '%s alert count = %s',
|
|
48
|
-
availabilityState: '%s availability = %s',
|
|
49
|
-
clientOffline: 'Client offline',
|
|
50
|
-
currentTempState: '%s current temp = %s',
|
|
51
|
-
coolSetpoint: '%s cool setpoint = %s',
|
|
52
|
-
enabledState: '%s enabled = %s',
|
|
53
|
-
heatSetpoint: '%s heat setpoint = %s',
|
|
54
|
-
humidityState: '%s humidity = %s',
|
|
55
|
-
modeState: '%s mode = %s',
|
|
56
|
-
runningState: '%s running = %s',
|
|
57
|
-
setpointState: '%s setpoint = %s',
|
|
58
|
-
};
|
|
59
|
-
export default langEn;
|
|
60
|
-
//# sourceMappingURL=en.js.map
|
package/dist/lang/en.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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,gBAAgB,EAAE,mHAAmH;IACrI,gBAAgB,EAAE,8EAA8E;IAChG,gBAAgB,EAAE,mFAAmF;IACrG,gBAAgB,EAAE,mIAAmI;IAErJ,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"}
|