homebridge-intratone 0.4.2 → 0.5.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 +32 -0
- package/config.schema.json +3 -2
- package/dist/platform.js +12 -1
- package/dist/platform.js.map +1 -1
- package/homebridge-ui/public/index.html +105 -71
- package/homebridge-ui/server.js +12 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,36 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `homebridge-intratone`. Versions follow [semver](https://semver.org/).
|
|
4
4
|
|
|
5
|
+
## [0.5.1] - 2026-11-12
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- The **Regenerate device ID** button did nothing: the settings UI runs in a sandboxed iframe
|
|
10
|
+
without `allow-modals`, so the `window.confirm()` it used was blocked. It now confirms inline.
|
|
11
|
+
- The settings page left a large empty area and a prominent "Device identity" block. The device-ID
|
|
12
|
+
tools are now a compact, collapsed **Device ID (advanced)** section, and the page resizes to its
|
|
13
|
+
content so there is no empty space.
|
|
14
|
+
|
|
15
|
+
## [0.5.0] - 2026-11-12
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- "Regenerate device ID" button on the settings page, to switch to a brand-new device identity
|
|
20
|
+
without the terminal. (A new device does not hold the 4G key until it is claimed.)
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- Renaming a door in the config now actually changes its name in the Home app. HomeKit fixes a
|
|
25
|
+
bridged accessory's name when it is first added, so the plugin now removes and re-adds an
|
|
26
|
+
accessory when its name changes (this resets that one accessory's room and automations).
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
|
|
30
|
+
- The settings page no longer shows a prominent "Connection" panel; the technical values stay in
|
|
31
|
+
Advanced. The Advanced **Device ID** field is now pre-filled with the effective id (it was blank
|
|
32
|
+
because the id lives in a state file, not the config). The **App token** field is empty by
|
|
33
|
+
design — it is built in — and now says so.
|
|
34
|
+
|
|
5
35
|
## [0.4.2] - 2026-11-12
|
|
6
36
|
|
|
7
37
|
### Fixed
|
|
@@ -145,6 +175,8 @@ two-way audio are out of scope.
|
|
|
145
175
|
masked.
|
|
146
176
|
- MIT license.
|
|
147
177
|
|
|
178
|
+
[0.5.1]: https://github.com/jtoucas-DIMO/Homebridge-Intratone/releases/tag/v0.5.1
|
|
179
|
+
[0.5.0]: https://github.com/jtoucas-DIMO/Homebridge-Intratone/releases/tag/v0.5.0
|
|
148
180
|
[0.4.2]: https://github.com/jtoucas-DIMO/Homebridge-Intratone/releases/tag/v0.4.2
|
|
149
181
|
[0.4.1]: https://github.com/jtoucas-DIMO/Homebridge-Intratone/releases/tag/v0.4.1
|
|
150
182
|
[0.4.0]: https://github.com/jtoucas-DIMO/Homebridge-Intratone/releases/tag/v0.4.0
|
package/config.schema.json
CHANGED
|
@@ -22,8 +22,9 @@
|
|
|
22
22
|
},
|
|
23
23
|
"app_token": {
|
|
24
24
|
"title": "App token",
|
|
25
|
-
"description": "Built in for the iOS app
|
|
26
|
-
"type": "string"
|
|
25
|
+
"description": "Built in for the iOS app, so this is empty by design — leave it blank to use the shipped token. Set it only to override it (if it stops working) or with the Android identity.",
|
|
26
|
+
"type": "string",
|
|
27
|
+
"placeholder": "built-in — leave empty"
|
|
27
28
|
},
|
|
28
29
|
"tel": {
|
|
29
30
|
"title": "Phone number",
|
package/dist/platform.js
CHANGED
|
@@ -288,7 +288,7 @@ export class IntratonePlatform {
|
|
|
288
288
|
seen.add(id);
|
|
289
289
|
const displayName = accessDisplayName(access, multiResidence, settings.nameOverrides.get(access.id));
|
|
290
290
|
const existing = this.cached.get(id);
|
|
291
|
-
if (existing) {
|
|
291
|
+
if (existing && existing.displayName === displayName) {
|
|
292
292
|
const changed = JSON.stringify(existing.context.access) !== JSON.stringify(access);
|
|
293
293
|
this.attach(existing, access, displayName);
|
|
294
294
|
if (changed) {
|
|
@@ -296,6 +296,17 @@ export class IntratonePlatform {
|
|
|
296
296
|
}
|
|
297
297
|
continue;
|
|
298
298
|
}
|
|
299
|
+
if (existing) {
|
|
300
|
+
// HomeKit fixes a bridged accessory's name when it is first added; changing the Name
|
|
301
|
+
// characteristic afterwards does not rename it in the Home app. The only reliable way to
|
|
302
|
+
// apply a new name is to remove the accessory and add it again — which resets that one
|
|
303
|
+
// accessory's room and automations.
|
|
304
|
+
this.log.info(`Renaming "${existing.displayName}" → "${displayName}" (re-adding; HomeKit keeps the old name otherwise).`);
|
|
305
|
+
this.handlers.get(id)?.dispose();
|
|
306
|
+
this.handlers.delete(id);
|
|
307
|
+
this.cached.delete(id);
|
|
308
|
+
this.api.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [existing]);
|
|
309
|
+
}
|
|
299
310
|
const accessory = new this.api.platformAccessory(displayName, id, category);
|
|
300
311
|
accessory.context.access = access;
|
|
301
312
|
this.attach(accessory, access, displayName);
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
<!-- Custom settings page for homebridge-config-ui-x.
|
|
2
|
-
|
|
3
|
-
The standard form (phone number,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
<div id="intratone-doors" class="mb-
|
|
2
|
+
Adds a rename-your-doors list, and a collapsed "Device ID" advanced area with a Regenerate
|
|
3
|
+
button. The standard form (phone number, service, Advanced) is shown via showSchemaForm().
|
|
4
|
+
Note: the UI runs in a sandboxed iframe without allow-modals, so window.confirm/alert are
|
|
5
|
+
blocked — confirmation is done inline. -->
|
|
6
|
+
<div id="intratone-doors" class="mb-2"></div>
|
|
7
|
+
<div id="intratone-device"></div>
|
|
7
8
|
|
|
8
9
|
<script>
|
|
9
10
|
let started = false;
|
|
11
|
+
let block = { platform: 'Intratone', name: 'Intratone' };
|
|
12
|
+
|
|
13
|
+
function fit() {
|
|
14
|
+
try {
|
|
15
|
+
if (typeof homebridge.fixScrollHeight === 'function') {
|
|
16
|
+
homebridge.fixScrollHeight();
|
|
17
|
+
}
|
|
18
|
+
} catch (e) { /* ignore */ }
|
|
19
|
+
}
|
|
10
20
|
|
|
11
21
|
async function init() {
|
|
12
22
|
if (started) {
|
|
@@ -14,15 +24,12 @@
|
|
|
14
24
|
}
|
|
15
25
|
started = true;
|
|
16
26
|
|
|
17
|
-
const info = document.getElementById('intratone-info');
|
|
18
27
|
const doors = document.getElementById('intratone-doors');
|
|
28
|
+
const device = document.getElementById('intratone-device');
|
|
19
29
|
|
|
20
|
-
let block;
|
|
21
30
|
try {
|
|
22
31
|
let configs = await homebridge.getPluginConfig();
|
|
23
32
|
if (!configs.length) {
|
|
24
|
-
// config-ui-x renders the schema form only once a config block exists (it gates on
|
|
25
|
-
// pluginConfig.length). Create an empty one so the phone-number form appears on first setup.
|
|
26
33
|
await homebridge.updatePluginConfig([{ platform: 'Intratone', name: 'Intratone' }]);
|
|
27
34
|
configs = await homebridge.getPluginConfig();
|
|
28
35
|
}
|
|
@@ -32,82 +39,107 @@
|
|
|
32
39
|
return;
|
|
33
40
|
}
|
|
34
41
|
|
|
35
|
-
//
|
|
42
|
+
// Fill the Advanced "Device ID" field with the effective id so it is not blank (needs the
|
|
43
|
+
// phone number set; harmless to skip before then).
|
|
44
|
+
try {
|
|
45
|
+
if (!block.device_id) {
|
|
46
|
+
const info = await homebridge.request('/device', { config: block });
|
|
47
|
+
if (info && info.deviceId) {
|
|
48
|
+
block.device_id = info.deviceId;
|
|
49
|
+
await homebridge.updatePluginConfig([block]);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
} catch (error) {
|
|
53
|
+
// No phone number yet — leave Device ID blank for now.
|
|
54
|
+
}
|
|
55
|
+
|
|
36
56
|
try {
|
|
37
57
|
homebridge.showSchemaForm();
|
|
38
58
|
} catch (error) {
|
|
39
59
|
console.error('showSchemaForm failed', error);
|
|
40
60
|
}
|
|
41
61
|
|
|
42
|
-
let status;
|
|
43
62
|
let accesses;
|
|
44
63
|
try {
|
|
45
64
|
homebridge.showSpinner();
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
]);
|
|
65
|
+
accesses = await homebridge.request('/accesses', { config: block });
|
|
66
|
+
} catch (error) {
|
|
67
|
+
accesses = { error: (error && error.message) ? error.message : String(error) };
|
|
50
68
|
} finally {
|
|
51
69
|
homebridge.hideSpinner();
|
|
52
70
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
71
|
+
renderDoors(doors, accesses);
|
|
72
|
+
renderDeviceTools(device);
|
|
73
|
+
fit();
|
|
56
74
|
}
|
|
57
75
|
|
|
58
|
-
// The form must be shown after the host is ready; a timeout covers the case where 'ready'
|
|
59
|
-
// already fired before this listener was attached.
|
|
60
76
|
homebridge.addEventListener('ready', init);
|
|
61
77
|
setTimeout(init, 1500);
|
|
62
78
|
|
|
63
|
-
function note(parent, text) {
|
|
79
|
+
function note(parent, text, cls) {
|
|
64
80
|
const p = document.createElement('p');
|
|
65
|
-
p.className = 'help-block text-muted';
|
|
81
|
+
p.className = (cls || 'help-block text-muted') + ' mb-1';
|
|
66
82
|
p.textContent = text;
|
|
67
83
|
parent.appendChild(p);
|
|
68
84
|
}
|
|
69
85
|
|
|
70
|
-
function
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
title.textContent = 'Connection';
|
|
74
|
-
container.appendChild(title);
|
|
75
|
-
|
|
76
|
-
if (!settled || settled.status !== 'fulfilled') {
|
|
77
|
-
const reason = settled && settled.reason && settled.reason.message ? settled.reason.message : 'not connected yet';
|
|
78
|
-
note(container, 'Not connected (' + reason + '). Set the phone number below, press Save, then reopen this screen.');
|
|
79
|
-
return;
|
|
86
|
+
function newUuid() {
|
|
87
|
+
if (self.crypto && typeof crypto.randomUUID === 'function') {
|
|
88
|
+
return crypto.randomUUID().toUpperCase();
|
|
80
89
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
90
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
91
|
+
const r = Math.random() * 16 | 0;
|
|
92
|
+
return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);
|
|
93
|
+
}).toUpperCase();
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function renderDeviceTools(container) {
|
|
97
|
+
container.innerHTML = '';
|
|
98
|
+
const details = document.createElement('details');
|
|
99
|
+
details.addEventListener('toggle', fit);
|
|
100
|
+
|
|
101
|
+
const summary = document.createElement('summary');
|
|
102
|
+
summary.textContent = 'Device ID (advanced)';
|
|
103
|
+
summary.style.cursor = 'pointer';
|
|
104
|
+
details.appendChild(summary);
|
|
105
|
+
|
|
106
|
+
note(details, 'Generate a new device identity. A new device will NOT open the 4G doors until you claim the key (which revokes the phone) or set the ID back. The ID in use is shown in Advanced → Device ID.');
|
|
107
|
+
|
|
108
|
+
const bar = document.createElement('div');
|
|
109
|
+
const regen = document.createElement('button');
|
|
110
|
+
regen.type = 'button';
|
|
111
|
+
regen.className = 'btn btn-secondary btn-sm';
|
|
112
|
+
regen.textContent = 'Regenerate device ID';
|
|
113
|
+
regen.addEventListener('click', () => {
|
|
114
|
+
const id = newUuid();
|
|
115
|
+
bar.innerHTML = '';
|
|
116
|
+
note(bar, 'Set new device ID ' + id + '?', 'text-danger');
|
|
117
|
+
const yes = document.createElement('button');
|
|
118
|
+
yes.type = 'button';
|
|
119
|
+
yes.className = 'btn btn-danger btn-sm mr-2';
|
|
120
|
+
yes.textContent = 'Confirm';
|
|
121
|
+
yes.addEventListener('click', () => {
|
|
122
|
+
block.device_id = id;
|
|
123
|
+
homebridge.updatePluginConfig([block]);
|
|
124
|
+
homebridge.toast.success('New device ID set. Press Save, then restart the Intratone child bridge.', 'Device ID');
|
|
125
|
+
renderDeviceTools(container);
|
|
126
|
+
fit();
|
|
127
|
+
});
|
|
128
|
+
const no = document.createElement('button');
|
|
129
|
+
no.type = 'button';
|
|
130
|
+
no.className = 'btn btn-link btn-sm';
|
|
131
|
+
no.textContent = 'Cancel';
|
|
132
|
+
no.addEventListener('click', () => { renderDeviceTools(container); fit(); });
|
|
133
|
+
bar.appendChild(yes);
|
|
134
|
+
bar.appendChild(no);
|
|
135
|
+
fit();
|
|
136
|
+
});
|
|
137
|
+
bar.appendChild(regen);
|
|
138
|
+
details.appendChild(bar);
|
|
139
|
+
container.appendChild(details);
|
|
108
140
|
}
|
|
109
141
|
|
|
110
|
-
function overridesFromConfig(
|
|
142
|
+
function overridesFromConfig() {
|
|
111
143
|
const map = {};
|
|
112
144
|
for (const entry of (block.access_names || [])) {
|
|
113
145
|
if (entry && entry.access_id) {
|
|
@@ -117,7 +149,7 @@
|
|
|
117
149
|
return map;
|
|
118
150
|
}
|
|
119
151
|
|
|
120
|
-
function saveOverrides(
|
|
152
|
+
function saveOverrides(map) {
|
|
121
153
|
const list = Object.keys(map)
|
|
122
154
|
.filter((id) => (map[id] || '').trim())
|
|
123
155
|
.map((id) => ({ access_id: id, name: map[id].trim() }));
|
|
@@ -129,30 +161,32 @@
|
|
|
129
161
|
homebridge.updatePluginConfig([block]);
|
|
130
162
|
}
|
|
131
163
|
|
|
132
|
-
function renderDoors(container,
|
|
164
|
+
function renderDoors(container, accesses) {
|
|
133
165
|
container.innerHTML = '';
|
|
134
166
|
const title = document.createElement('h5');
|
|
135
167
|
title.textContent = 'Your doors';
|
|
168
|
+
title.className = 'mb-1';
|
|
136
169
|
container.appendChild(title);
|
|
137
170
|
|
|
138
|
-
if (!
|
|
139
|
-
const reason =
|
|
140
|
-
note(container, 'Could not list your doors (' + reason + '). Set the phone number below and Save first
|
|
171
|
+
if (!accesses || accesses.error) {
|
|
172
|
+
const reason = accesses && accesses.error ? accesses.error : 'unavailable';
|
|
173
|
+
note(container, 'Could not list your doors (' + reason + '). Set the phone number below and Save first; unnamed doors keep their detected names in the Home app.');
|
|
141
174
|
return;
|
|
142
175
|
}
|
|
143
176
|
|
|
144
|
-
const list =
|
|
145
|
-
const map = overridesFromConfig(
|
|
177
|
+
const list = accesses.openable || [];
|
|
178
|
+
const map = overridesFromConfig();
|
|
146
179
|
|
|
147
180
|
note(container, list.length
|
|
148
|
-
? 'Type a name to show it in the Home app.
|
|
149
|
-
: 'No openable doors detected yet.
|
|
181
|
+
? 'Type a name to show it in the Home app, then press Save. Renaming an existing door re-adds it (it may briefly lose its room/automations).'
|
|
182
|
+
: 'No openable doors detected yet.');
|
|
150
183
|
|
|
151
184
|
for (const door of list) {
|
|
152
185
|
const group = document.createElement('div');
|
|
153
|
-
group.className = 'form-group';
|
|
186
|
+
group.className = 'form-group mb-2';
|
|
154
187
|
|
|
155
188
|
const label = document.createElement('label');
|
|
189
|
+
label.className = 'mb-1';
|
|
156
190
|
const where = door.residence ? door.residence + ' / ' : '';
|
|
157
191
|
label.textContent = where + door.name + ' (id ' + door.id + ')';
|
|
158
192
|
group.appendChild(label);
|
|
@@ -164,7 +198,7 @@
|
|
|
164
198
|
input.value = map[door.id] || '';
|
|
165
199
|
input.addEventListener('input', () => {
|
|
166
200
|
map[door.id] = input.value;
|
|
167
|
-
saveOverrides(
|
|
201
|
+
saveOverrides(map);
|
|
168
202
|
});
|
|
169
203
|
group.appendChild(input);
|
|
170
204
|
container.appendChild(group);
|
package/homebridge-ui/server.js
CHANGED
|
@@ -4,16 +4,26 @@
|
|
|
4
4
|
import { HomebridgePluginUiServer, RequestError } from '@homebridge/plugin-ui-utils';
|
|
5
5
|
|
|
6
6
|
import { openAccount, parseSettings } from '../dist/config.js';
|
|
7
|
-
import { decodeJwtPayload } from '../dist/intratoneClient.js';
|
|
8
7
|
|
|
9
8
|
class IntratoneUiServer extends HomebridgePluginUiServer {
|
|
10
9
|
constructor() {
|
|
11
10
|
super();
|
|
12
11
|
this.onRequest('/accesses', (payload) => this.listAccesses(payload));
|
|
13
|
-
this.onRequest('/
|
|
12
|
+
this.onRequest('/device', (payload) => this.device(payload));
|
|
14
13
|
this.ready();
|
|
15
14
|
}
|
|
16
15
|
|
|
16
|
+
/**
|
|
17
|
+
* The effective device id (config value, else the stored one, else a freshly generated one),
|
|
18
|
+
* resolved without any network call, so the settings page can show it in the Device ID field.
|
|
19
|
+
*
|
|
20
|
+
* @param {{ config?: unknown }} payload the current platform config block from the form
|
|
21
|
+
*/
|
|
22
|
+
device(payload) {
|
|
23
|
+
const account = this.account(payload);
|
|
24
|
+
return { deviceId: account.deviceId, generatedDeviceId: account.generatedDeviceId };
|
|
25
|
+
}
|
|
26
|
+
|
|
17
27
|
/**
|
|
18
28
|
* Parses the posted config and opens the account against the real storage path, so the UI acts
|
|
19
29
|
* as the same device as the running plugin.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-intratone",
|
|
3
3
|
"displayName": "Intratone",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.5.1",
|
|
5
5
|
"description": "Unofficial Homebridge plugin to open Intratone / Cogelec doors and gates from HomeKit and Matter (remote open, no doorbell).",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "jtoucas-DIMO",
|