homebridge-unifi-access 1.9.2 → 1.10.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.
@@ -3,7 +3,7 @@
3
3
  * access-device.ts: Base class for all UniFi Access devices.
4
4
  */
5
5
  import { ACCESS_MOTION_DURATION, ACCESS_OCCUPANCY_DURATION } from "./settings.js";
6
- import { validateName } from "homebridge-plugin-utils";
6
+ import { sanitizeName } from "homebridge-plugin-utils";
7
7
  import { AccessReservedNames } from "./access-types.js";
8
8
  import util from "node:util";
9
9
  export class AccessBase {
@@ -31,10 +31,6 @@ export class AccessBase {
31
31
  }
32
32
  // Configure the device information for HomeKit.
33
33
  setInfo(accessory, device) {
34
- // If we don't have a device, we're done.
35
- if (!device) {
36
- return false;
37
- }
38
34
  // Update the manufacturer information for this device.
39
35
  accessory.getService(this.hap.Service.AccessoryInformation)?.updateCharacteristic(this.hap.Characteristic.Manufacturer, "Ubiquiti Inc.");
40
36
  // Update the model information for this device.
@@ -43,11 +39,11 @@ export class AccessBase {
43
39
  accessory.getService(this.hap.Service.AccessoryInformation)?.updateCharacteristic(this.hap.Characteristic.Model, deviceModel);
44
40
  }
45
41
  // Update the serial number for this device.
46
- if (device.mac?.length) {
42
+ if (device.mac.length) {
47
43
  accessory.getService(this.hap.Service.AccessoryInformation)?.updateCharacteristic(this.hap.Characteristic.SerialNumber, device.mac.replace(/:/g, "").toUpperCase());
48
44
  }
49
45
  // Update the firmware revision for this device.
50
- if (device.firmware?.length) {
46
+ if (device.firmware.length) {
51
47
  // Capture the version of the device firmware, ensuring we get major, minor, and patch levels if they exist.
52
48
  const versionRegex = /^v(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:\.(.+))?$/;
53
49
  const match = versionRegex.exec(device.firmware);
@@ -71,13 +67,12 @@ export class AccessDevice extends AccessBase {
71
67
  super(controller);
72
68
  this.hints = {};
73
69
  this.listeners = {};
74
- // Set the accessory, if we have it. Otherwise, we expect configureDevice to assign it.
75
- if (accessory) {
76
- this.accessory = accessory;
77
- }
70
+ // Set the accessory.
71
+ this.accessory = accessory;
78
72
  }
79
73
  // Configure device-specific settings.
80
74
  configureHints() {
75
+ this.hints.enabled = this.hasFeature("Device");
81
76
  this.hints.logMotion = this.hasFeature("Log.Motion");
82
77
  this.hints.motionDuration = this.getFeatureNumber("Motion.Duration") ?? ACCESS_MOTION_DURATION;
83
78
  this.hints.occupancyDuration = this.getFeatureNumber("Motion.OccupancySensor.Duration") ?? ACCESS_OCCUPANCY_DURATION;
@@ -105,7 +100,7 @@ export class AccessDevice extends AccessBase {
105
100
  // Configure the device information details for HomeKit.
106
101
  configureInfo() {
107
102
  // Sync the Access name with HomeKit, if configured.
108
- if (this.hints.syncName) {
103
+ if (this.hints.syncName && this.uda.alias) {
109
104
  this.accessoryName = this.uda.alias;
110
105
  }
111
106
  return this.setInfo(this.accessory, this.uda);
@@ -136,10 +131,6 @@ export class AccessDevice extends AccessBase {
136
131
  if (!motionService) {
137
132
  // We don't have it, add the motion sensor to the device.
138
133
  motionService = new this.hap.Service.MotionSensor(this.accessoryName);
139
- if (!motionService) {
140
- this.log.error("Unable to add motion sensor.");
141
- return false;
142
- }
143
134
  this.accessory.addService(motionService);
144
135
  isInitialized = false;
145
136
  this.log.info("Enabling motion sensor.");
@@ -182,18 +173,14 @@ export class AccessDevice extends AccessBase {
182
173
  // Add the switch to the device, if needed.
183
174
  if (!switchService) {
184
175
  switchService = new this.hap.Service.Switch(switchName, AccessReservedNames.SWITCH_MOTION_SENSOR);
185
- if (!switchService) {
186
- this.log.error("Unable to add motion sensor switch.");
187
- return false;
188
- }
189
176
  switchService.addOptionalCharacteristic(this.hap.Characteristic.ConfiguredName);
190
177
  this.accessory.addService(switchService);
191
178
  }
192
179
  // Activate or deactivate motion detection.
193
- switchService.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => {
180
+ switchService.getCharacteristic(this.hap.Characteristic.On).onGet(() => {
194
181
  return this.accessory.context.detectMotion === true;
195
182
  });
196
- switchService.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => {
183
+ switchService.getCharacteristic(this.hap.Characteristic.On).onSet((value) => {
197
184
  if (this.accessory.context.detectMotion !== value) {
198
185
  this.log.info("Motion detection %s.", (value === true) ? "enabled" : "disabled");
199
186
  }
@@ -222,26 +209,20 @@ export class AccessDevice extends AccessBase {
222
209
  // Add the switch to the device, if needed.
223
210
  if (!triggerService) {
224
211
  triggerService = new this.hap.Service.Switch(triggerName, AccessReservedNames.SWITCH_MOTION_TRIGGER);
225
- if (!triggerService) {
226
- this.log.error("Unable to add motion sensor trigger.");
227
- return false;
228
- }
229
212
  triggerService.addOptionalCharacteristic(this.hap.Characteristic.ConfiguredName);
230
213
  this.accessory.addService(triggerService);
231
214
  }
232
215
  const motionService = this.accessory.getService(this.hap.Service.MotionSensor);
233
216
  const switchService = this.accessory.getServiceById(this.hap.Service.Switch, AccessReservedNames.SWITCH_MOTION_SENSOR);
234
217
  // Activate or deactivate motion detection.
235
- triggerService.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => {
218
+ triggerService.getCharacteristic(this.hap.Characteristic.On).onGet(() => {
236
219
  return motionService?.getCharacteristic(this.hap.Characteristic.MotionDetected).value === true;
237
220
  });
238
- triggerService.getCharacteristic(this.hap.Characteristic.On)?.onSet((isOn) => {
221
+ triggerService.getCharacteristic(this.hap.Characteristic.On).onSet((isOn) => {
239
222
  if (isOn) {
240
223
  // Check to see if motion events are disabled.
241
224
  if (switchService && !switchService.getCharacteristic(this.hap.Characteristic.On).value) {
242
- setTimeout(() => {
243
- triggerService?.updateCharacteristic(this.hap.Characteristic.On, false);
244
- }, 50);
225
+ setTimeout(() => triggerService.updateCharacteristic(this.hap.Characteristic.On, false), 50);
245
226
  }
246
227
  else {
247
228
  // Trigger the motion event.
@@ -253,9 +234,7 @@ export class AccessDevice extends AccessBase {
253
234
  }
254
235
  // If the motion sensor is still on, we should be as well.
255
236
  if (motionService?.getCharacteristic(this.hap.Characteristic.MotionDetected).value) {
256
- setTimeout(() => {
257
- triggerService?.updateCharacteristic(this.hap.Characteristic.On, true);
258
- }, 50);
237
+ setTimeout(() => triggerService.updateCharacteristic(this.hap.Characteristic.On, true), 50);
259
238
  }
260
239
  });
261
240
  // Initialize the switch.
@@ -270,7 +249,7 @@ export class AccessDevice extends AccessBase {
270
249
  this.controller.mqtt?.subscribe(this.id, "motion/trigger", (message) => {
271
250
  const value = message.toString();
272
251
  // When we get the right message, we trigger the motion event.
273
- if (value?.toLowerCase() !== "true") {
252
+ if (value.toLowerCase() !== "true") {
274
253
  return;
275
254
  }
276
255
  // Trigger the motion event.
@@ -295,10 +274,6 @@ export class AccessDevice extends AccessBase {
295
274
  if (!occupancyService) {
296
275
  // We don't have it, add the occupancy sensor to the device.
297
276
  occupancyService = new this.hap.Service.OccupancySensor(this.accessoryName);
298
- if (!occupancyService) {
299
- this.log.error("Unable to add occupancy sensor.");
300
- return false;
301
- }
302
277
  this.accessory.addService(occupancyService);
303
278
  }
304
279
  // Have we previously initialized this sensor? We assume not by default, but this allows for scenarios where you may be dynamically reconfiguring a sensor at
@@ -328,7 +303,7 @@ export class AccessDevice extends AccessBase {
328
303
  }
329
304
  // Utility for checking feature options on a device.
330
305
  hasFeature(option) {
331
- return this.controller.hasFeature(option, this.id);
306
+ return this.controller.hasFeature(option, this.uda);
332
307
  }
333
308
  // Utility function for reserved identifiers for switches.
334
309
  isReservedName(name) {
@@ -349,11 +324,11 @@ export class AccessDevice extends AccessBase {
349
324
  // Utility function to return the current accessory name of this device.
350
325
  get accessoryName() {
351
326
  return this.accessory.getService(this.hap.Service.AccessoryInformation)?.getCharacteristic(this.hap.Characteristic.Name).value ??
352
- (this.uda?.alias ?? "Unknown");
327
+ (this.uda.alias ?? "Unknown");
353
328
  }
354
329
  // Utility function to set the current accessory name of this device.
355
330
  set accessoryName(name) {
356
- const cleanedName = validateName(name);
331
+ const cleanedName = sanitizeName(name);
357
332
  // Set all the internally managed names within Homebridge to the new accessory name.
358
333
  this.accessory.displayName = cleanedName;
359
334
  this.accessory._associatedHAPAccessory.displayName = cleanedName;
@@ -1 +1 @@
1
- {"version":3,"file":"access-device.js","sourceRoot":"","sources":["../src/access-device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"access-device.js","sourceRoot":"","sources":["../src/access-device.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { validateName } from "homebridge-plugin-utils";
1
+ import { sanitizeName } from "homebridge-plugin-utils";
2
2
  import { AccessReservedNames } from "./access-types.js";
3
3
  import { EventEmitter } from "node:events";
4
4
  export class AccessEvents extends EventEmitter {
@@ -37,30 +37,20 @@ export class AccessEvents extends EventEmitter {
37
37
  }
38
38
  // Process Access API update events.
39
39
  udaUpdates(packet) {
40
- let accessDevice;
41
- switch (packet.data.device_type) {
42
- case "UA-Hub-Door-Mini":
43
- case "UA-ULTRA":
44
- case "UAH":
45
- case "UAH-DOOR":
46
- default:
47
- // Lookup the device.
48
- accessDevice = this.controller.deviceLookup(packet.event_object_id);
49
- // No device found, we're done.
50
- if (!accessDevice) {
51
- break;
52
- }
53
- // Update our device configuration state.
54
- accessDevice.uda = packet.data;
55
- // If we have services on the accessory associated with the Access device that have a StatusActive characteristic set, update our availability state.
56
- accessDevice.accessory.services.filter(x => x.testCharacteristic(this.hap.Characteristic.StatusActive))
57
- ?.map(x => x.updateCharacteristic(this.hap.Characteristic.StatusActive, accessDevice?.isOnline ?? false));
58
- // Sync names, if configured to do so.
59
- if (accessDevice.hints.syncName && (accessDevice.accessoryName !== validateName(accessDevice.uda.alias))) {
60
- accessDevice.log.info("Name change detected. A restart of Homebridge may be needed in order to complete name synchronization with HomeKit.");
61
- accessDevice.configureInfo();
62
- }
63
- break;
40
+ // Lookup the device.
41
+ const accessDevice = this.controller.deviceLookup(packet.event_object_id);
42
+ // We have the device, let's check for device updates.
43
+ if (accessDevice) {
44
+ // Update our device configuration state.
45
+ accessDevice.uda = packet.data;
46
+ // If we have services on the accessory associated with the Access device that have a StatusActive characteristic set, update our availability state.
47
+ accessDevice.accessory.services.filter(x => x.testCharacteristic(this.hap.Characteristic.StatusActive))
48
+ .map(x => x.updateCharacteristic(this.hap.Characteristic.StatusActive, accessDevice.isOnline));
49
+ // Sync names, if configured to do so.
50
+ if (accessDevice.hints.syncName && accessDevice.uda.alias && (accessDevice.accessoryName !== sanitizeName(accessDevice.uda.alias))) {
51
+ accessDevice.log.info("Name change detected. A restart of Homebridge may be needed in order to complete name synchronization with HomeKit.");
52
+ accessDevice.configureInfo();
53
+ }
64
54
  }
65
55
  // Update the internal list we maintain.
66
56
  this.udaDeviceState[packet.event_object_id] = packet.data;
@@ -76,7 +66,7 @@ export class AccessEvents extends EventEmitter {
76
66
  return;
77
67
  }
78
68
  // Remove the device.
79
- this.controller.removeHomeKitDevice(accessDevice);
69
+ this.controller.removeHomeKitDevice(accessDevice.accessory);
80
70
  return;
81
71
  }
82
72
  }
@@ -96,20 +86,21 @@ export class AccessEvents extends EventEmitter {
96
86
  this.emit(packet.event, packet);
97
87
  // Emit messages based on the specific device.
98
88
  this.emit(packet.event_object_id, packet);
89
+ // For v2 device update events, we need to unpack the metadata to determine which device we're targeting.
90
+ if ((packet.event === "access.data.v2.device.update") && (packet.meta?.object_type === "device")) {
91
+ this.emit(packet.meta.id, packet);
92
+ }
99
93
  // Finally, emit messages based on the specific event and device combination.
100
94
  this.emit(packet.event + "." + packet.event_object_id, packet);
101
95
  // If enabled, publish all the event traffic coming from the Access controller to MQTT.
102
96
  if (this.mqttPublishTelemetry) {
103
- this.controller.mqtt?.publish(this.controller.uda.host.mac.replace(/:/g, ""), "telemetry", JSON.stringify(packet));
97
+ this.controller.mqtt?.publish(this.controller.id ?? "", "telemetry", JSON.stringify(packet));
104
98
  }
105
99
  });
106
100
  return true;
107
101
  }
108
102
  // Motion event processing from UniFi Access.
109
103
  motionEventHandler(accessDevice) {
110
- if (!accessDevice) {
111
- return;
112
- }
113
104
  // Only notify the user if we have a motion sensor and it's active.
114
105
  const motionService = accessDevice.accessory.getService(this.hap.Service.MotionSensor);
115
106
  if (motionService) {
@@ -118,9 +109,6 @@ export class AccessEvents extends EventEmitter {
118
109
  }
119
110
  // Motion event delivery to HomeKit.
120
111
  motionEventDelivery(accessDevice, motionService) {
121
- if (!accessDevice) {
122
- return;
123
- }
124
112
  // If we have disabled motion events, we're done here.
125
113
  if (("detectMotion" in accessDevice.accessory.context) && !accessDevice.accessory.context.detectMotion) {
126
114
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"access-events.js","sourceRoot":"","sources":["../src/access-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"access-events.js","sourceRoot":"","sources":["../src/access-events.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,17 @@
1
+ import { AccessDevice } from "./access-device.js";
1
2
  import type { AccessDeviceConfig } from "unifi-access";
2
- import type { PlatformAccessory } from "homebridge";
3
+ import type { CharacteristicValue, PlatformAccessory } from "homebridge";
3
4
  import type { AccessController } from "./access-controller.js";
4
- import { AccessDevice } from "./access-device.js";
5
+ declare const sensorInputs: readonly ["Dps", "Rel", "Ren", "Rex"];
6
+ type SensorInput = typeof sensorInputs[number];
7
+ export type AccessHubHKProps = {
8
+ [K in `hk${SensorInput}State`]: CharacteristicValue;
9
+ };
10
+ export type AccessHubWiredProps = {
11
+ [P in `is${SensorInput}Wired`]: boolean;
12
+ };
13
+ export interface AccessHub extends AccessHubHKProps, AccessHubWiredProps {
14
+ }
5
15
  export declare class AccessHub extends AccessDevice {
6
16
  private _hkLockState;
7
17
  private doorbellRingRequestId;
@@ -10,20 +20,26 @@ export declare class AccessHub extends AccessDevice {
10
20
  constructor(controller: AccessController, device: AccessDeviceConfig, accessory: PlatformAccessory);
11
21
  protected configureHints(): boolean;
12
22
  private configureDevice;
23
+ private configureAccessMethodSwitches;
13
24
  private configureDoorbell;
14
- private configureDps;
25
+ private configureTerminalInputs;
15
26
  private configureLock;
16
27
  private configureDoorbellTrigger;
17
28
  private configureLockTrigger;
18
29
  private configureMqtt;
30
+ private checkUltraInputs;
19
31
  private hubLockCommand;
20
- private get hkDpsState();
21
- private set hkDpsState(value);
22
32
  private get hkLockState();
23
33
  private set hkLockState(value);
24
34
  private get hubDpsState();
25
35
  private get hubLockState();
26
- private get isDpsWired();
36
+ private get hubRelState();
37
+ private get hubRenState();
38
+ private get hubRexState();
39
+ private isWired;
40
+ private getContactSensorState;
41
+ private setContactSensorState;
27
42
  private hasCapability;
28
43
  private eventHandler;
29
44
  }
45
+ export {};