@homebridge-plugins/homebridge-resideo 3.2.0-beta.0 → 3.2.0-beta.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.
- package/CHANGELOG.md +2 -0
- package/dist/homebridge-ui/public/index.html +117 -63
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
### Changed
|
|
4
4
|
|
|
5
5
|
- feat(ui): add, remove and hide devices from the config via the devices tab
|
|
6
|
+
- style(ui): standardise the custom ui layout and sync the support tab with the readme
|
|
7
|
+
- feat(ui): add a remove all devices action to the my devices tab
|
|
6
8
|
|
|
7
9
|
## v3.1.5 (2026-07-24)
|
|
8
10
|
|
|
@@ -62,9 +62,7 @@
|
|
|
62
62
|
<button type="button" class="btn btn-primary" id="menuSettings">
|
|
63
63
|
Settings
|
|
64
64
|
</button>
|
|
65
|
-
<button type="button" class="btn btn-primary" id="menuDevices">
|
|
66
|
-
Devices
|
|
67
|
-
</button>
|
|
65
|
+
<button type="button" class="btn btn-primary" id="menuDevices">My Devices</button>
|
|
68
66
|
<button type="button" class="btn btn-primary mr-0" id="menuHome">
|
|
69
67
|
Support
|
|
70
68
|
</button>
|
|
@@ -120,6 +118,17 @@
|
|
|
120
118
|
</button>
|
|
121
119
|
</div>
|
|
122
120
|
</li>
|
|
121
|
+
<li class="list-group-item">
|
|
122
|
+
<div class="d-flex justify-content-between align-items-center">
|
|
123
|
+
<div class="pr-2">
|
|
124
|
+
<div>Remove All Devices</div>
|
|
125
|
+
<div class="text-muted action-desc" id="removeAllText">Remove every device from the plugin config.</div>
|
|
126
|
+
</div>
|
|
127
|
+
<button type="button" class="btn btn-primary m-0 ml-3 py-1 min-w-50" id="removeAllBtn" aria-label="Remove all devices from the config">
|
|
128
|
+
<i aria-hidden="true" class="fas fa-arrow-right"></i>
|
|
129
|
+
</button>
|
|
130
|
+
</div>
|
|
131
|
+
</li>
|
|
123
132
|
<li class="list-group-item">
|
|
124
133
|
<div class="d-flex justify-content-between align-items-center">
|
|
125
134
|
<div class="pr-2">
|
|
@@ -167,66 +176,65 @@
|
|
|
167
176
|
</table>
|
|
168
177
|
</div>
|
|
169
178
|
</div>
|
|
170
|
-
<div id="pageSupport" class="mt-4" style="display: none
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
</ul>
|
|
179
|
+
<div id="pageSupport" class="mt-4" style="display: none">
|
|
180
|
+
<p class="text-center lead">Thank you for using <strong>homebridge-resideo</strong></p>
|
|
181
|
+
<h5>Plugin Information</h5>
|
|
182
|
+
<ul>
|
|
183
|
+
<li>This plugin allows you to view and control your <a href="https://www.resideo.com" target="_blank">Resideo</a> (Honeywell Home) devices within HomeKit. The plugin:</li>
|
|
184
|
+
<ul>
|
|
185
|
+
<li>requires a (free) Resideo developer account to work - this is separate from the Resideo account you use in the Resideo app</li>
|
|
186
|
+
<li>connects to the Resideo cloud to discover and control your devices</li>
|
|
187
|
+
</ul>
|
|
188
|
+
</ul>
|
|
189
|
+
<h5>Prerequisites</h5>
|
|
190
|
+
<ul>
|
|
191
|
+
<li>To use this plugin, you will need to already have:</li>
|
|
192
|
+
<ul>
|
|
193
|
+
<li><a href="https://nodejs.org" target="_blank">Node</a>: latest version of <code>v22</code> or <code>v24</code> - any other major version is not supported.</li>
|
|
194
|
+
<li><a href="https://homebridge.io" target="_blank">Homebridge</a>: <code>v2</code> - refer to link for more information and installation instructions.</li>
|
|
195
|
+
</ul>
|
|
196
|
+
</ul>
|
|
197
|
+
<h5>Setup</h5>
|
|
198
|
+
<ul>
|
|
199
|
+
<li><a href="https://github.com/homebridge-plugins/homebridge-resideo/wiki/Installation" target="_blank">Installation</a></li>
|
|
200
|
+
<li><a href="https://github.com/homebridge-plugins/homebridge-resideo/wiki/Configuration" target="_blank">Configuration</a></li>
|
|
201
|
+
<li><a href="https://github.com/homebridge-plugins/homebridge-resideo/wiki/Beta-Version" target="_blank">Beta Version</a></li>
|
|
202
|
+
<li><a href="https://github.com/homebridge-plugins/homebridge-resideo/wiki/Node-Version" target="_blank">Node Version</a></li>
|
|
203
|
+
</ul>
|
|
204
|
+
<h5>Supported Devices</h5>
|
|
205
|
+
<ul>
|
|
206
|
+
<li><a href="https://www.resideo.com/us/en/products/air/thermostats/wifi-thermostats/t10-pro-smart-thermostat-with-redlinkr-room-sensor-thx321wfs2001w-u/" target="_blank">T10 Thermostat</a> - already HomeKit certified</li>
|
|
207
|
+
<li><a href="https://www.resideo.com/us/en/products/air/thermostats/wifi-thermostats/t9-smart-thermostat-with-sensor-rcht9610wfsw2003-u/" target="_blank">T9 Thermostat</a> - already HomeKit certified</li>
|
|
208
|
+
<ul>
|
|
209
|
+
<li><a href="https://www.resideo.com/us/en/products/air/thermostat-accessories/t9-smart-sensor-rchtsensor-1pk-u/" target="_blank">T9 Smart Roomsensors</a></li>
|
|
210
|
+
</ul>
|
|
211
|
+
<li><a href="https://www.resideo.com/us/en/products/air/thermostats/wifi-thermostats/t6-pro-smart-thermostat-multi-stage-3-heat-2-cool-th6320wf2003-u/" target="_blank">T6 Thermostat</a> - already HomeKit certified</li>
|
|
212
|
+
<li><a href="https://www.resideo.com/us/en/products/air/thermostats/wifi-thermostats/t5-smart-thermostat-with-c-wire-adapter-rcht8612wf2005-u/" target="_blank">T5 Thermostat</a> - already HomeKit certified</li>
|
|
213
|
+
<li><a href="https://www.resideo.com/us/en/products/air/thermostats/wifi-thermostats/the-round-smart-thermostat-rch9310wf5003-u/" target="_blank">Round Thermostat</a> - already HomeKit certified</li>
|
|
214
|
+
<li>Some Total Comfort Control thermostats</li>
|
|
215
|
+
<ul>
|
|
216
|
+
<li>Pushing commands may not be supported on some.</li>
|
|
217
|
+
</ul>
|
|
218
|
+
<li><a href="https://www.resideo.com/us/en/products/water/spot-leak-detection/wifi-water-leak-freeze-detector-rchw3610wf1001-u/" target="_blank">WiFi Water Leak & Freeze Detector</a></li>
|
|
219
|
+
<li>Water Shutoff Valves</li>
|
|
220
|
+
</ul>
|
|
221
|
+
<h5>Help/About</h5>
|
|
222
|
+
<ul>
|
|
223
|
+
<li><a href="https://github.com/homebridge-plugins/homebridge-resideo/wiki/Common-Errors" target="_blank">Common Errors</a></li>
|
|
224
|
+
<li><a href="https://github.com/homebridge-plugins/homebridge-resideo/issues/new/choose" target="_blank">Support Request</a></li>
|
|
225
|
+
<li><a href="https://github.com/homebridge-plugins/homebridge-resideo/blob/latest/CHANGELOG.md" target="_blank">Changelog</a></li>
|
|
226
|
+
<li><a href="https://github.com/sponsors/bwp91" target="_blank">About Me</a></li>
|
|
227
|
+
</ul>
|
|
228
|
+
<h5>Credits</h5>
|
|
229
|
+
<ul>
|
|
230
|
+
<li>To <a href="https://github.com/donavanbecker" target="_blank">@donavanbecker</a>: the original creator and maintainer of this plugin.</li>
|
|
231
|
+
<li>To the creators/contributors of <a href="https://homebridge.io" target="_blank">Homebridge</a> who make this plugin possible.</li>
|
|
232
|
+
</ul>
|
|
233
|
+
<h5>Disclaimer</h5>
|
|
234
|
+
<ul>
|
|
235
|
+
<li>I am in no way affiliated with Resideo or Honeywell and this plugin is a personal project that I maintain in my free time.</li>
|
|
236
|
+
<li>Use this plugin entirely at your own risk - please see licence for more information.</li>
|
|
237
|
+
</ul>
|
|
230
238
|
</div>
|
|
231
239
|
<script>
|
|
232
240
|
; (async () => {
|
|
@@ -238,6 +246,7 @@
|
|
|
238
246
|
// so staged-but-unsaved edits made in the Settings tab are respected
|
|
239
247
|
let pickerAccessories = []
|
|
240
248
|
let removeConfirmTimer
|
|
249
|
+
let removeAllConfirmTimer
|
|
241
250
|
|
|
242
251
|
// The action buttons always show the settings-page arrow; the row text
|
|
243
252
|
// (and the button's aria-label) says what the arrow will do
|
|
@@ -452,6 +461,51 @@
|
|
|
452
461
|
homebridge.toast.error(err.message, 'Error')
|
|
453
462
|
}
|
|
454
463
|
})
|
|
464
|
+
const resetRemoveAllButton = () => {
|
|
465
|
+
const btn = document.getElementById('removeAllBtn')
|
|
466
|
+
clearTimeout(removeAllConfirmTimer)
|
|
467
|
+
delete btn.dataset.confirm
|
|
468
|
+
btn.classList.remove('btn-danger')
|
|
469
|
+
btn.classList.add('btn-primary')
|
|
470
|
+
btn.innerHTML = actionArrow
|
|
471
|
+
btn.setAttribute('aria-label', 'Remove all devices from the config')
|
|
472
|
+
document.getElementById('removeAllText').innerHTML = 'Remove every device from the plugin config.'
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
document.getElementById('removeAllBtn').addEventListener('click', async () => {
|
|
476
|
+
try {
|
|
477
|
+
const btn = document.getElementById('removeAllBtn')
|
|
478
|
+
const blocks = await getConfigBlocks()
|
|
479
|
+
const config = blocks[0]
|
|
480
|
+
const total = config.options && Array.isArray(config.options.devices) ? config.options.devices.length : 0
|
|
481
|
+
if (total === 0) {
|
|
482
|
+
resetRemoveAllButton()
|
|
483
|
+
homebridge.toast.info('There are no devices in the config.', 'Nothing To Remove')
|
|
484
|
+
return
|
|
485
|
+
}
|
|
486
|
+
if (btn.dataset.confirm !== 'yes') {
|
|
487
|
+
// Removing everything always asks for a second click, since any
|
|
488
|
+
// settings on the entries would be lost
|
|
489
|
+
btn.dataset.confirm = 'yes'
|
|
490
|
+
btn.classList.remove('btn-primary')
|
|
491
|
+
btn.classList.add('btn-danger')
|
|
492
|
+
btn.innerHTML = actionArrow
|
|
493
|
+
btn.setAttribute('aria-label', 'Confirm removing all devices from the config')
|
|
494
|
+
document.getElementById('removeAllText').innerHTML = 'Any settings on these entries will be lost. Click again to remove all ' + total + (total === 1 ? ' entry.' : ' entries.')
|
|
495
|
+
removeAllConfirmTimer = setTimeout(resetRemoveAllButton, 5000)
|
|
496
|
+
return
|
|
497
|
+
}
|
|
498
|
+
delete config.options.devices
|
|
499
|
+
await homebridge.updatePluginConfig(blocks)
|
|
500
|
+
resetRemoveAllButton()
|
|
501
|
+
setConfigButton(false)
|
|
502
|
+
setHideControl(false)
|
|
503
|
+
homebridge.toast.success(total + ' device entr' + (total === 1 ? 'y' : 'ies') + ' removed - press Save to apply.', 'Removed From Config')
|
|
504
|
+
} catch (err) {
|
|
505
|
+
homebridge.toast.error(err.message, 'Error')
|
|
506
|
+
}
|
|
507
|
+
})
|
|
508
|
+
|
|
455
509
|
// ===== End device picker =====
|
|
456
510
|
const hostname = window.location.hostname
|
|
457
511
|
try {
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@homebridge-plugins/homebridge-resideo",
|
|
3
3
|
"displayName": "Resideo",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "3.2.0-beta.
|
|
5
|
+
"version": "3.2.0-beta.2",
|
|
6
6
|
"description": "The Resideo plugin allows you to access your Resideo device(s) from HomeKit.",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "bwp91",
|