homebridge-intratone 0.3.0 → 0.4.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 CHANGED
@@ -2,6 +2,38 @@
2
2
 
3
3
  All notable changes to `homebridge-intratone`. Versions follow [semver](https://semver.org/).
4
4
 
5
+ ## [0.4.1] - 2026-11-12
6
+
7
+ ### Fixed
8
+
9
+ - The custom settings page showed only the Connection and door panels but not the normal form, so
10
+ the phone number could not be entered. The form is now rendered on the UI host's `ready` event
11
+ (with a timeout fallback) instead of synchronously, which dropped the message.
12
+
13
+ ## [0.4.0] - 2026-11-11
14
+
15
+ ### Added
16
+
17
+ - Custom settings screen in the Homebridge UI: it lists the detected doors with an inline field to
18
+ rename each one in the Home app, and a read-only **Connection** panel showing the values the
19
+ plugin negotiated with the API (device id, session expiry, smartphone id, mobipass flags).
20
+ Renames are also stored as an `access_names` list in the config for anyone editing it by hand.
21
+
22
+ ### Changed
23
+
24
+ - The HomeKit service now defaults to **Garage door** (was Lock), and the "recommended" hint on
25
+ Lock is gone — it is the user's choice.
26
+ - Pulse duration now defaults to **30 s** (was 2 s), which suits an exterior condominium gate;
27
+ range is 1–60 s.
28
+ - The settings form keeps only the phone number and the HomeKit service at the top; everything
29
+ technical (`app_id`, `app_token`, pulse duration, `device_id`, refresh interval, identity, app
30
+ version, debug) moved under **Advanced**.
31
+
32
+ ### Note
33
+
34
+ - Installs that never set `service` or `pulse_seconds` switch to Garage door and a 30 s pulse on
35
+ upgrade; set them explicitly to keep the old behaviour.
36
+
5
37
  ## [0.3.0] - 2026-11-11
6
38
 
7
39
  ### Added
@@ -104,6 +136,8 @@ two-way audio are out of scope.
104
136
  masked.
105
137
  - MIT license.
106
138
 
139
+ [0.4.1]: https://github.com/jtoucas-DIMO/Homebridge-Intratone/releases/tag/v0.4.1
140
+ [0.4.0]: https://github.com/jtoucas-DIMO/Homebridge-Intratone/releases/tag/v0.4.0
107
141
  [0.3.0]: https://github.com/jtoucas-DIMO/Homebridge-Intratone/releases/tag/v0.3.0
108
142
  [0.2.2]: https://github.com/jtoucas-DIMO/Homebridge-Intratone/releases/tag/v0.2.2
109
143
  [0.2.1]: https://github.com/jtoucas-DIMO/Homebridge-Intratone/releases/tag/v0.2.1
package/README.md CHANGED
@@ -67,13 +67,23 @@ take the main bridge down. Everything else has a sensible default (see below).
67
67
  | `app_id` | built in | Names the official app, not your account (`app_apisip_ios`), shipped with the plugin. Set it only with `user_agent: android`. |
68
68
  | `indicatif` | `33` | Country code. |
69
69
  | `device_id` | generated | Leave empty to generate a UUID that is stored and reused forever. Set it to reuse an existing phone's registration (`device_id` claim of that phone's JWT). |
70
- | `service` | `lock` | `lock` (LockMechanism) or `garage` (GarageDoorOpener). |
71
- | `pulse_seconds` | `2` | How long a door shows as unlocked/open after a successful open. |
70
+ | `service` | `garage` | `garage` (GarageDoorOpener, default) or `lock` (LockMechanism). HomeKit only; over Matter every door is a lock. |
71
+ | `pulse_seconds` | `30` | How long a door shows as unlocked/open after a successful open. 30 s suits an exterior gate; 1–60. |
72
+ | `access_names` | – | Rename doors: a list of `{ "access_id": "…", "name": "…" }`. Easier from the settings page (below). Unnamed doors keep their detected names. |
72
73
  | `access_refresh_minutes` | `60` | How often the door list is re-fetched. |
73
74
  | `user_agent` | `ios` | `ios` or `android` client identity. |
74
75
  | `app_version` | `4.6.4` | `appversion` sent at login. |
75
76
  | `debug` | `false` | Logs every request and response at info level, plus the raw door list once at startup. Tokens, app credentials and your phone number are masked. |
76
77
 
78
+ ### Settings page
79
+
80
+ In the Homebridge UI, the top of the settings shows only what you normally set — country code,
81
+ phone number and the HomeKit service. Everything technical (`app_id`, `app_token`, pulse duration,
82
+ `device_id`, refresh interval, identity, app version, debug) is under **Advanced**. The screen
83
+ also lists the doors it detected, each with a field to rename it in the Home app, and a read-only
84
+ **Connection** panel with the values the plugin negotiated with the API (device id, session
85
+ expiry, smartphone id and the mobipass flags).
86
+
77
87
  The plugin keeps `device_id` and the current JWT in
78
88
  `<homebridge storage>/intratone/<hash>.json` (mode 0600). Delete that file only if you want to
79
89
  register as a new device.
@@ -2,8 +2,9 @@
2
2
  "pluginAlias": "Intratone",
3
3
  "pluginType": "platform",
4
4
  "singular": true,
5
+ "customUi": true,
5
6
  "strictValidation": false,
6
- "headerDisplay": "Opens Intratone / Cogelec doors from HomeKit. Run this plugin as a **child bridge**. If the mobipass key is held by another phone, transfer it with `homebridge-intratone activate` then `homebridge-intratone verify --otp <code>` (see README).",
7
+ "headerDisplay": "**Unofficial.** This plugin re-implements the REST side of the Intratone / Cogelec app so you can open your doors and gates from HomeKit, Matter and home automation — for people who want to stop using the app.\n\n⚠️ **For normal use on a phone, the official Intratone app remains the best option.** It keeps every feature of your accesses — video door entry, calls, visitor codes, history — which this plugin does not: it only does remote opening.\n\nRun it as a **child bridge** and set your account **phone number** below; `app_id` / `app_token` are built in. 4G (mobipass) doors open from one device at a time: if your phone holds the key, set **Device ID** to your phone's, or use **Claim the 4G door key** (which revokes the phone).",
7
8
  "schema": {
8
9
  "type": "object",
9
10
  "properties": {
@@ -44,21 +45,21 @@
44
45
  },
45
46
  "service": {
46
47
  "title": "HomeKit service",
47
- "description": "HomeKit only. Over Matter every door is a door lock.",
48
+ "description": "How each door appears in HomeKit. Over Matter every door is a door lock.",
48
49
  "type": "string",
49
- "default": "lock",
50
+ "default": "garage",
50
51
  "oneOf": [
51
- { "title": "Lock (recommended)", "enum": ["lock"] },
52
- { "title": "Garage door", "enum": ["garage"] }
52
+ { "title": "Garage door", "enum": ["garage"] },
53
+ { "title": "Lock", "enum": ["lock"] }
53
54
  ]
54
55
  },
55
56
  "pulse_seconds": {
56
57
  "title": "Pulse duration (s)",
57
- "description": "How long the door shows as unlocked/open after a successful command.",
58
+ "description": "How long the door shows as unlocked/open after a successful command. 30 s suits an exterior gate.",
58
59
  "type": "number",
59
- "default": 2,
60
+ "default": 30,
60
61
  "minimum": 1,
61
- "maximum": 30
62
+ "maximum": 60
62
63
  },
63
64
  "access_refresh_minutes": {
64
65
  "title": "Access list refresh (min)",
@@ -98,21 +99,40 @@
98
99
  "title": "SMS code",
99
100
  "description": "The code Intratone texts after you enable the option above and save. Enter it and save to finish claiming, then clear it.",
100
101
  "type": "string"
102
+ },
103
+ "access_names": {
104
+ "title": "Rename doors",
105
+ "description": "Give a door your own HomeKit name. Match it by access id — the log prints one per door (\"Adding … access <id> …\"), and the settings screen lists the detected doors here. Leave a name blank to keep the detected one.",
106
+ "type": "array",
107
+ "items": {
108
+ "type": "object",
109
+ "properties": {
110
+ "access_id": { "title": "Access ID", "type": "string", "placeholder": "1196062" },
111
+ "name": { "title": "Name in HomeKit", "type": "string", "placeholder": "detected name" }
112
+ }
113
+ }
101
114
  }
102
115
  }
103
116
  },
104
117
  "layout": [
105
- "name",
106
- "app_id",
107
- { "key": "app_token", "type": "password" },
108
118
  { "type": "flex", "flex-flow": "row wrap", "items": ["indicatif", "tel"] },
109
119
  "service",
110
- "pulse_seconds",
111
120
  {
112
121
  "type": "fieldset",
113
122
  "title": "Advanced",
114
123
  "expandable": true,
115
- "items": ["device_id", "access_refresh_minutes", "user_agent", "app_version", "debug"]
124
+ "expanded": false,
125
+ "items": [
126
+ "name",
127
+ "pulse_seconds",
128
+ "app_id",
129
+ { "key": "app_token", "type": "password" },
130
+ "device_id",
131
+ "access_refresh_minutes",
132
+ "user_agent",
133
+ "app_version",
134
+ "debug"
135
+ ]
116
136
  },
117
137
  {
118
138
  "type": "fieldset",
@@ -7,8 +7,15 @@ export function homeKitName(name) {
7
7
  .replace(/^[^\p{L}\p{N}]+|[^\p{L}\p{N}]+$/gu, '');
8
8
  return cleaned || 'Intratone door';
9
9
  }
10
- /** Prefix with the residence only when several residences would otherwise be ambiguous. */
11
- export function accessDisplayName(access, withResidence) {
10
+ /**
11
+ * The HomeKit name for an access. A non-empty `override` (from the config) wins; otherwise the
12
+ * detected name, prefixed with the residence only when several residences would be ambiguous.
13
+ */
14
+ export function accessDisplayName(access, withResidence, override) {
15
+ const chosen = override?.trim();
16
+ if (chosen) {
17
+ return homeKitName(chosen);
18
+ }
12
19
  return homeKitName(withResidence && access.residence ? `${access.residence} ${access.name}` : access.name);
13
20
  }
14
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"accessAccessory.js","sourceRoot":"","sources":["../src/accessAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessAccessory.js","sourceRoot":"","sources":["../src/accessAccessory.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -2,6 +2,22 @@ import { randomUUID } from 'node:crypto';
2
2
  import { DEFAULT_APP_IDS, DEFAULT_APP_TOKENS, IntratoneClient } from './intratoneClient.js';
3
3
  import { StateStore, accountKey } from './storage.js';
4
4
  import { isRecord, str } from './util.js';
5
+ /** Builds the access id → custom name map from the `access_names` config array. */
6
+ function parseNameOverrides(raw) {
7
+ const map = new Map();
8
+ if (Array.isArray(raw)) {
9
+ for (const entry of raw) {
10
+ if (isRecord(entry)) {
11
+ const id = str(entry.access_id) || str(entry.id);
12
+ const name = str(entry.name).trim();
13
+ if (id && name) {
14
+ map.set(id, name);
15
+ }
16
+ }
17
+ }
18
+ }
19
+ return map;
20
+ }
5
21
  const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
6
22
  function clamp(value, fallback, min, max) {
7
23
  const n = typeof value === 'number' ? value : Number(value);
@@ -44,14 +60,15 @@ export function parseSettings(raw) {
44
60
  tel,
45
61
  indicatif,
46
62
  deviceId,
47
- service: config.service === 'garage' ? 'garage' : 'lock',
48
- pulseMs: clamp(config.pulse_seconds, 2, 1, 30) * 1000,
63
+ service: config.service === 'lock' ? 'lock' : 'garage',
64
+ pulseMs: clamp(config.pulse_seconds, 30, 1, 60) * 1000,
49
65
  accessRefreshMs: clamp(config.access_refresh_minutes, 60, 15, 1440) * 60_000,
50
66
  identity,
51
67
  appVersion: str(config.app_version) || '4.6.4',
52
68
  debug: config.debug === true,
53
69
  claimDoorKey: config.claim_door_key === true,
54
70
  smsCode: str(config.sms_code).replace(/\s+/g, ''),
71
+ nameOverrides: parseNameOverrides(config.access_names),
55
72
  },
56
73
  };
57
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -130,7 +130,7 @@ export class MatterDoors {
130
130
  for (const access of accesses) {
131
131
  const uuid = matter.uuid.generate(`intratone:matter:${access.id}`);
132
132
  seen.add(uuid);
133
- const displayName = matterLabel(accessDisplayName(access, multiResidence));
133
+ const displayName = matterLabel(accessDisplayName(access, multiResidence, this.deps.nameOverrides.get(access.id)));
134
134
  const door = this.doors.get(uuid);
135
135
  if (!door) {
136
136
  if (!this.cached.has(uuid)) {
@@ -1 +1 @@
1
- {"version":3,"file":"matterDoors.js","sourceRoot":"","sources":["../src/matterDoors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matterDoors.js","sourceRoot":"","sources":["../src/matterDoors.ts"],"names":[],"mappings":"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"}
package/dist/platform.js CHANGED
@@ -46,6 +46,7 @@ export class IntratonePlatform {
46
46
  matter: api.matter,
47
47
  log,
48
48
  pulseMs: settings.pulseMs,
49
+ nameOverrides: settings.nameOverrides,
49
50
  open: (access) => this.openAccess(access),
50
51
  });
51
52
  }
@@ -285,7 +286,7 @@ export class IntratonePlatform {
285
286
  for (const access of accesses) {
286
287
  const id = uuid.generate(`intratone:${access.id}`);
287
288
  seen.add(id);
288
- const displayName = accessDisplayName(access, multiResidence);
289
+ const displayName = accessDisplayName(access, multiResidence, settings.nameOverrides.get(access.id));
289
290
  const existing = this.cached.get(id);
290
291
  if (existing) {
291
292
  const changed = JSON.stringify(existing.context.access) !== JSON.stringify(access);
@@ -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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"}
@@ -0,0 +1,166 @@
1
+ <!-- Custom settings page for homebridge-config-ui-x.
2
+ Shows the live connection values and the detected doors (with inline rename) above the form.
3
+ The standard form (phone number, etc.) is shown via showSchemaForm() AFTER the UI host signals
4
+ 'ready' — posting it earlier drops the message and the form never appears. -->
5
+ <div id="intratone-info" class="mb-3"></div>
6
+ <div id="intratone-doors" class="mb-3"></div>
7
+
8
+ <script>
9
+ let started = false;
10
+
11
+ async function init() {
12
+ if (started) {
13
+ return;
14
+ }
15
+ started = true;
16
+
17
+ // Render the standard schema form (country code, phone number, service, Advanced, …).
18
+ try {
19
+ homebridge.showSchemaForm();
20
+ } catch (error) {
21
+ console.error('showSchemaForm failed', error);
22
+ }
23
+
24
+ const info = document.getElementById('intratone-info');
25
+ const doors = document.getElementById('intratone-doors');
26
+
27
+ let block;
28
+ try {
29
+ const configs = await homebridge.getPluginConfig();
30
+ block = configs[0] || { platform: 'Intratone', name: 'Intratone' };
31
+ } catch (error) {
32
+ return; // Leave the standard form; nothing else to add.
33
+ }
34
+
35
+ let status;
36
+ let accesses;
37
+ try {
38
+ homebridge.showSpinner();
39
+ [status, accesses] = await Promise.allSettled([
40
+ homebridge.request('/status', { config: block }),
41
+ homebridge.request('/accesses', { config: block }),
42
+ ]);
43
+ } finally {
44
+ homebridge.hideSpinner();
45
+ }
46
+
47
+ renderInfo(info, status);
48
+ renderDoors(doors, block, accesses);
49
+ }
50
+
51
+ // The form must be shown after the host is ready; a timeout covers the case where 'ready'
52
+ // already fired before this listener was attached.
53
+ homebridge.addEventListener('ready', init);
54
+ setTimeout(init, 1500);
55
+
56
+ function note(parent, text) {
57
+ const p = document.createElement('p');
58
+ p.className = 'help-block text-muted';
59
+ p.textContent = text;
60
+ parent.appendChild(p);
61
+ }
62
+
63
+ function renderInfo(container, settled) {
64
+ container.innerHTML = '';
65
+ const title = document.createElement('h5');
66
+ title.textContent = 'Connection';
67
+ container.appendChild(title);
68
+
69
+ if (!settled || settled.status !== 'fulfilled') {
70
+ const reason = settled && settled.reason && settled.reason.message ? settled.reason.message : 'not connected yet';
71
+ note(container, 'Not connected (' + reason + '). Set the phone number below, press Save, then reopen this screen.');
72
+ return;
73
+ }
74
+ const s = settled.value;
75
+ const session = s.session || {};
76
+ const flags = s.flags || {};
77
+ const rows = [
78
+ ['Device ID', s.deviceId + (s.generatedDeviceId ? ' (generated)' : '')],
79
+ ['App ID', s.appId],
80
+ ['App version', s.appVersion],
81
+ ['Client', s.identity],
82
+ ['Session valid until', session.validUntil],
83
+ ['Smartphone ID', session.smartphoneId],
84
+ ['Mobipass key held here', s.flags ? (flags.mobipass ? 'yes' : 'no') : '?'],
85
+ ['Mobipass account', s.flags ? (flags.mobipassCompatible ? 'yes' : 'no') : '?'],
86
+ ['State file', s.stateFile],
87
+ ];
88
+ const dl = document.createElement('dl');
89
+ dl.className = 'row';
90
+ for (const [key, value] of rows) {
91
+ const dt = document.createElement('dt');
92
+ dt.className = 'col-sm-4 text-truncate';
93
+ dt.textContent = key;
94
+ const dd = document.createElement('dd');
95
+ dd.className = 'col-sm-8 text-break';
96
+ dd.textContent = value == null || value === '' ? '—' : String(value);
97
+ dl.appendChild(dt);
98
+ dl.appendChild(dd);
99
+ }
100
+ container.appendChild(dl);
101
+ }
102
+
103
+ function overridesFromConfig(block) {
104
+ const map = {};
105
+ for (const entry of (block.access_names || [])) {
106
+ if (entry && entry.access_id) {
107
+ map[entry.access_id] = entry.name || '';
108
+ }
109
+ }
110
+ return map;
111
+ }
112
+
113
+ function saveOverrides(block, map) {
114
+ const list = Object.keys(map)
115
+ .filter((id) => (map[id] || '').trim())
116
+ .map((id) => ({ access_id: id, name: map[id].trim() }));
117
+ if (list.length) {
118
+ block.access_names = list;
119
+ } else {
120
+ delete block.access_names;
121
+ }
122
+ homebridge.updatePluginConfig([block]);
123
+ }
124
+
125
+ function renderDoors(container, block, settled) {
126
+ container.innerHTML = '';
127
+ const title = document.createElement('h5');
128
+ title.textContent = 'Your doors';
129
+ container.appendChild(title);
130
+
131
+ if (!settled || settled.status !== 'fulfilled') {
132
+ const reason = settled && settled.reason && settled.reason.message ? settled.reason.message : 'unavailable';
133
+ note(container, 'Could not list your doors (' + reason + '). Set the phone number below and Save first. You can also rename doors in config.json (access_names); unnamed doors keep their detected names in the Home app.');
134
+ return;
135
+ }
136
+
137
+ const list = (settled.value && settled.value.openable) || [];
138
+ const map = overridesFromConfig(block);
139
+
140
+ note(container, list.length
141
+ ? 'Type a name to show it in the Home app. Leave blank to keep the detected name. Press Save below to apply.'
142
+ : 'No openable doors detected yet. Once they appear, you can rename them here.');
143
+
144
+ for (const door of list) {
145
+ const group = document.createElement('div');
146
+ group.className = 'form-group';
147
+
148
+ const label = document.createElement('label');
149
+ const where = door.residence ? door.residence + ' / ' : '';
150
+ label.textContent = where + door.name + ' (id ' + door.id + ')';
151
+ group.appendChild(label);
152
+
153
+ const input = document.createElement('input');
154
+ input.type = 'text';
155
+ input.className = 'form-control';
156
+ input.placeholder = door.name;
157
+ input.value = map[door.id] || '';
158
+ input.addEventListener('input', () => {
159
+ map[door.id] = input.value;
160
+ saveOverrides(block, map);
161
+ });
162
+ group.appendChild(input);
163
+ container.appendChild(group);
164
+ }
165
+ }
166
+ </script>
@@ -0,0 +1,78 @@
1
+ // Custom settings UI backend for homebridge-config-ui-x.
2
+ // Lists the account's accesses so the settings page can show detected names for renaming.
3
+ // Loaded by the UI only (never by Homebridge itself); reuses the plugin's own account code.
4
+ import { HomebridgePluginUiServer, RequestError } from '@homebridge/plugin-ui-utils';
5
+
6
+ import { openAccount, parseSettings } from '../dist/config.js';
7
+ import { decodeJwtPayload } from '../dist/intratoneClient.js';
8
+
9
+ class IntratoneUiServer extends HomebridgePluginUiServer {
10
+ constructor() {
11
+ super();
12
+ this.onRequest('/accesses', (payload) => this.listAccesses(payload));
13
+ this.onRequest('/status', (payload) => this.status(payload));
14
+ this.ready();
15
+ }
16
+
17
+ /**
18
+ * Parses the posted config and opens the account against the real storage path, so the UI acts
19
+ * as the same device as the running plugin.
20
+ *
21
+ * @param {{ config?: unknown }} payload the current platform config block from the form
22
+ */
23
+ account(payload) {
24
+ const { settings, errors } = parseSettings(payload?.config ?? {});
25
+ if (!settings) {
26
+ throw new RequestError('Fill in the phone number first.', { errors });
27
+ }
28
+ return { ...openAccount(settings, this.homebridgeStoragePath), settings };
29
+ }
30
+
31
+ /**
32
+ * The values the plugin negotiates to talk to the API — device id, the current session and the
33
+ * mobipass flags — so they can be shown read-only in the settings. Read-only: it signs in but
34
+ * changes nothing. No secret (app_token) is returned.
35
+ *
36
+ * @param {{ config?: unknown }} payload the current platform config block from the form
37
+ */
38
+ async status(payload) {
39
+ const account = this.account(payload);
40
+ try {
41
+ const session = await account.client.refresh();
42
+ const claims = decodeJwtPayload(session.jwt) ?? {};
43
+ return {
44
+ deviceId: account.deviceId,
45
+ generatedDeviceId: account.generatedDeviceId,
46
+ stateFile: account.store.file,
47
+ appId: account.settings.appId,
48
+ appVersion: account.settings.appVersion,
49
+ identity: account.settings.identity,
50
+ session: {
51
+ validUntil: new Date(session.expiresAt).toISOString(),
52
+ smartphoneId: session.smartphoneId ?? String(claims.id ?? ''),
53
+ jwtDevice: String(claims.device ?? ''),
54
+ },
55
+ flags: session.flags,
56
+ };
57
+ } catch (error) {
58
+ throw new RequestError(error instanceof Error ? error.message : String(error), {});
59
+ }
60
+ }
61
+
62
+ /**
63
+ * @param {{ config?: unknown }} payload the current platform config block from the form
64
+ * @returns {Promise<{ openable: Array<{id:string,residence:string,name:string}>, skipped: Array<{id:string,residence:string,name:string}> }>}
65
+ */
66
+ async listAccesses(payload) {
67
+ const account = this.account(payload);
68
+ try {
69
+ const { accesses } = await account.client.listAccesses();
70
+ const pick = (list) => list.map((access) => ({ id: access.id, residence: access.residence, name: access.name }));
71
+ return { openable: pick(accesses.openable), skipped: pick(accesses.skipped) };
72
+ } catch (error) {
73
+ throw new RequestError(error instanceof Error ? error.message : String(error), {});
74
+ }
75
+ }
76
+ }
77
+
78
+ (() => new IntratoneUiServer())();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge-intratone",
3
3
  "displayName": "Intratone",
4
- "version": "0.3.0",
4
+ "version": "0.4.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",
@@ -23,7 +23,8 @@
23
23
  "config.schema.json",
24
24
  "README.md",
25
25
  "CHANGELOG.md",
26
- "docs"
26
+ "docs",
27
+ "homebridge-ui"
27
28
  ],
28
29
  "engines": {
29
30
  "homebridge": "^1.8.0 || ^2.0.0-beta.0",
@@ -58,5 +59,8 @@
58
59
  "typescript": "^6.0.3",
59
60
  "typescript-eslint": "^8.72.1",
60
61
  "vitest": "^5.0.5"
62
+ },
63
+ "dependencies": {
64
+ "@homebridge/plugin-ui-utils": "^2.3.0"
61
65
  }
62
66
  }