@mp-consulting/homebridge-unifi-access 1.0.2 → 1.0.3
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,6 +3,7 @@
|
|
|
3
3
|
* access-hub-api.ts: Hub API commands and door discovery for the UniFi Access hub.
|
|
4
4
|
*/
|
|
5
5
|
import { UGT_SIDE_DOOR_TARGET_NAME } from "../access-device-catalog.js";
|
|
6
|
+
import { AccessReservedNames } from "../access-types.js";
|
|
6
7
|
import { AUTO_LOCK_DELAY_MS } from "./access-hub-types.js";
|
|
7
8
|
import { toDpsState, toLockState } from "./access-hub-utils.js";
|
|
8
9
|
// Unified utility function to execute lock and unlock actions on a hub door.
|
|
@@ -39,10 +40,12 @@ export async function hubDoorLockCommand(hub, isLocking, isSideDoor = false) {
|
|
|
39
40
|
}
|
|
40
41
|
// When unlocking from HomeKit, the controller doesn't send the events to the events API. Manually update the state and schedule the auto-lock.
|
|
41
42
|
if (!isLocking) {
|
|
42
|
-
hub.hkLockState = hub.hap.Characteristic.LockCurrentState.UNSECURED;
|
|
43
43
|
if (isSideDoor) {
|
|
44
44
|
hub.hkSideDoorLockState = hub.hap.Characteristic.LockCurrentState.UNSECURED;
|
|
45
45
|
}
|
|
46
|
+
else {
|
|
47
|
+
hub.hkLockState = hub.hap.Characteristic.LockCurrentState.UNSECURED;
|
|
48
|
+
}
|
|
46
49
|
setTimeout(() => {
|
|
47
50
|
if (isSideDoor) {
|
|
48
51
|
hub.hkSideDoorLockState = hub.hap.Characteristic.LockCurrentState.SECURED;
|
|
@@ -137,6 +140,9 @@ export function initializeDoorState(hub, doorData, isSideDoor) {
|
|
|
137
140
|
if (isSideDoor) {
|
|
138
141
|
hub._hkSideDoorDpsState = newDpsState;
|
|
139
142
|
hub._hkSideDoorLockState = newLockState;
|
|
143
|
+
// Update the side door contact sensor service directly since it was already created before door discovery.
|
|
144
|
+
hub.accessory.getServiceById(hub.hap.Service.ContactSensor, AccessReservedNames.CONTACT_DPS_SIDE)
|
|
145
|
+
?.updateCharacteristic(hub.hap.Characteristic.ContactSensorState, newDpsState);
|
|
140
146
|
}
|
|
141
147
|
else {
|
|
142
148
|
hub._hkDpsState = newDpsState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-hub-api.js","sourceRoot":"","sources":["../../src/hub/access-hub-api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAc,EAAE,SAAkB,EAAE,UAAU,GAAG,KAAK;IAE7F,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7C,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5F,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAE5E,8JAA8J;IAC9J,qJAAqJ;IACrJ,IAAG,CAAC,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAEtF,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,6FAA6F,EAAE,QAAQ,CAAC,CAAC;QAEvH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mCAAmC;IACnC,IAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAEjB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE3E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6HAA6H;IAC7H,IAAG,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAE/B,IAAG,CAAC,MAAM,EAAE,CAAC;YAEX,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAEjG,OAAO,KAAK,CAAC;QACf,CAAC;QAED,kDAAkD;QAClD,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,MAAM,GAAG,SAAS,CAAC;QAE7F,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAE9D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACxB,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,IAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;YAE3D,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAExD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,+IAA+I;QAC/I,IAAG,CAAC,SAAS,EAAE,CAAC;YAEd,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"access-hub-api.js","sourceRoot":"","sources":["../../src/hub/access-hub-api.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mp-consulting/homebridge-unifi-access",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"displayName": "UniFi Access",
|
|
5
5
|
"description": "Complete HomeKit support for UniFi Access devices — locks, doorbells, sensors, and readers — with automatic device discovery and realtime events.",
|
|
6
6
|
"author": "Mickael Palma",
|