@mp-consulting/homebridge-unifi-access 1.0.0

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.
Files changed (74) hide show
  1. package/.claude/settings.local.json +91 -0
  2. package/CHANGELOG.md +13 -0
  3. package/LICENSE.md +22 -0
  4. package/README.md +159 -0
  5. package/config.schema.json +202 -0
  6. package/dist/access-controller.d.ts +41 -0
  7. package/dist/access-controller.js +342 -0
  8. package/dist/access-controller.js.map +1 -0
  9. package/dist/access-device-catalog.d.ts +43 -0
  10. package/dist/access-device-catalog.js +151 -0
  11. package/dist/access-device-catalog.js.map +1 -0
  12. package/dist/access-device.d.ts +68 -0
  13. package/dist/access-device.js +330 -0
  14. package/dist/access-device.js.map +1 -0
  15. package/dist/access-events.d.ts +27 -0
  16. package/dist/access-events.js +152 -0
  17. package/dist/access-events.js.map +1 -0
  18. package/dist/access-options.d.ts +32 -0
  19. package/dist/access-options.js +65 -0
  20. package/dist/access-options.js.map +1 -0
  21. package/dist/access-platform.d.ts +15 -0
  22. package/dist/access-platform.js +74 -0
  23. package/dist/access-platform.js.map +1 -0
  24. package/dist/access-types.d.ts +30 -0
  25. package/dist/access-types.js +42 -0
  26. package/dist/access-types.js.map +1 -0
  27. package/dist/hub/access-hub-api.d.ts +13 -0
  28. package/dist/hub/access-hub-api.js +140 -0
  29. package/dist/hub/access-hub-api.js.map +1 -0
  30. package/dist/hub/access-hub-events.d.ts +2 -0
  31. package/dist/hub/access-hub-events.js +229 -0
  32. package/dist/hub/access-hub-events.js.map +1 -0
  33. package/dist/hub/access-hub-mqtt.d.ts +2 -0
  34. package/dist/hub/access-hub-mqtt.js +137 -0
  35. package/dist/hub/access-hub-mqtt.js.map +1 -0
  36. package/dist/hub/access-hub-services.d.ts +4 -0
  37. package/dist/hub/access-hub-services.js +451 -0
  38. package/dist/hub/access-hub-services.js.map +1 -0
  39. package/dist/hub/access-hub-types.d.ts +145 -0
  40. package/dist/hub/access-hub-types.js +35 -0
  41. package/dist/hub/access-hub-types.js.map +1 -0
  42. package/dist/hub/access-hub-utils.d.ts +20 -0
  43. package/dist/hub/access-hub-utils.js +128 -0
  44. package/dist/hub/access-hub-utils.js.map +1 -0
  45. package/dist/hub/access-hub.d.ts +39 -0
  46. package/dist/hub/access-hub.js +185 -0
  47. package/dist/hub/access-hub.js.map +1 -0
  48. package/dist/hub/index.d.ts +4 -0
  49. package/dist/hub/index.js +7 -0
  50. package/dist/hub/index.js.map +1 -0
  51. package/dist/index.d.ts +3 -0
  52. package/dist/index.js +11 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/settings.d.ts +16 -0
  55. package/dist/settings.js +49 -0
  56. package/dist/settings.js.map +1 -0
  57. package/docs/FeatureOptions.md +120 -0
  58. package/docs/MQTT.md +116 -0
  59. package/docs/api_reference.pdf +0 -0
  60. package/docs/media/homebridge-unifi-access.png +0 -0
  61. package/docs/media/homebridge-unifi-access.svg +21 -0
  62. package/eslint.config.mjs +99 -0
  63. package/homebridge-ui/public/app.js +104 -0
  64. package/homebridge-ui/public/index.html +267 -0
  65. package/homebridge-ui/public/modules/constants.js +22 -0
  66. package/homebridge-ui/public/modules/controllers.js +202 -0
  67. package/homebridge-ui/public/modules/discovery.js +89 -0
  68. package/homebridge-ui/public/modules/dom-helpers.js +41 -0
  69. package/homebridge-ui/public/modules/feature-options.js +625 -0
  70. package/homebridge-ui/public/modules/state.js +26 -0
  71. package/homebridge-ui/public/styles.css +533 -0
  72. package/homebridge-ui/server.js +374 -0
  73. package/package.json +83 -0
  74. package/scripts/event-schema-monitor.ts +350 -0
@@ -0,0 +1,120 @@
1
+ <div align="center">
2
+
3
+ ![homebridge-unifi-access: Native HomeKit support for UniFi Access](media/homebridge-unifi-access.svg)
4
+
5
+ # Homebridge UniFi Access
6
+
7
+ [![Downloads](https://img.shields.io/npm/dt/@mp-consulting/homebridge-unifi-access?color=%230559C9&logo=icloud&logoColor=%23FFFFFF&style=for-the-badge)](https://www.npmjs.com/package/@mp-consulting/homebridge-unifi-access)
8
+ [![Version](https://img.shields.io/npm/v/@mp-consulting/homebridge-unifi-access?color=%230559C9&label=Latest%20Version&logo=ubiquiti&logoColor=%23FFFFFF&style=for-the-badge)](https://www.npmjs.com/package/@mp-consulting/homebridge-unifi-access)
9
+ [![verified-by-homebridge](https://img.shields.io/badge/homebridge-verified-blueviolet?color=%23491F59&style=for-the-badge&logoColor=%23FFFFFF&logo=homebridge)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
10
+ [![License](https://img.shields.io/npm/l/@mp-consulting/homebridge-unifi-access?color=%230559C9&logo=open%20source%20initiative&logoColor=%23FFFFFF&style=for-the-badge)](../LICENSE.md)
11
+
12
+ Complete HomeKit support for the [UniFi Access](https://ui.com/door-access) ecosystem using [Homebridge](https://homebridge.io).
13
+
14
+ </div>
15
+
16
+ `@mp-consulting/homebridge-unifi-access` is a [Homebridge](https://homebridge.io) plugin that provides HomeKit support to the [UniFi Access](https://ui.com/door-access) device ecosystem. [UniFi Access](https://ui.com/door-access) is [Ubiquiti's](https://www.ui.com) door access security platform, with doorbell, reader, lock, and controller hardware options for you to choose from, as well as an app which you can use to view, configure and manage your door access security.
17
+
18
+ ### Feature Options
19
+
20
+ Feature options allow you to enable or disable certain features in this plugin. These feature options provide unique flexibility by also allowing you to set a scope for each option that allows you more granular control in how this plugin makes features and capabilities available in HomeKit.
21
+
22
+ The priority given to these options works in the following order, from highest to lowest priority where settings that are higher in priority will override the ones below:
23
+
24
+ * Device options that are enabled or disabled.
25
+ * Controller options that are enabled or disabled.
26
+ * Global options that are enabled or disabled.
27
+
28
+ All feature options can be set at any scope level, or at multiple scope levels. If an option isn't applicable to a particular category of device, it is ignored. For example, if you have two doorbells in your environment, and want to enable the same feature options on both, you can enable the doorbell-related feature options globally rather than specifying them for each individual doorbell. If you want to override a global feature option you've set, you can override the global feature option for the individual doorbell in this example.
29
+
30
+ **Note: it's strongly recommended that you use the [Homebridge webUI](https://github.com/homebridge/homebridge-config-ui-x) to configure this plugin - it's easier to use for most people, and will ensure you always have a valid configuration.**
31
+
32
+ #### Specifying Scope
33
+ There are two types of scope specifiers that you can use with feature options - MAC addresses.
34
+
35
+ Scoping rules:
36
+
37
+ * If you don't use a scoping specifier, feature options will be applied globally for all devices.
38
+ * To use a device or controller-specific feature option, append the option with `.MAC`, where `MAC` is the MAC address of either a UniFi Access controller or a hub.
39
+
40
+ `@mp-consulting/homebridge-unifi-access` will log all devices it discovers on startup, including MAC addresses, which you can use to tailor the feature options you'd like to enable or disable on a per-device basis.
41
+
42
+ ### Getting Started
43
+ Before using these features, you should understand how feature options propagate to controllers and the devices attached to them. If you choose to disable a controller from being available to HomeKit, you will also disable all the devices attached to that controller. If you've disabled a controller, you can selectively enable a single device associated with that controller by explicitly using the `Enable.` Feature Option with that device's MAC address. This provides you a lot of richness in how you enable or disable devices for HomeKit use.
44
+
45
+ The `options` setting is an array of strings used to customize Feature Options in your `config.json`. I would encourage most users, however, to use the [Homebridge webUI](https://github.com/homebridge/homebridge-config-ui-x), to configure Feature Options as well as other options in this plugin. It contains additional validation checking of parameters to ensure the configuration is always valid.
46
+
47
+ ### <A NAME="reference"></A>Feature Options Reference
48
+ Feature options provide a rich mechanism for tailoring your `@mp-consulting/homebridge-unifi-access` experience. The reference below is divided into functional category groups:
49
+
50
+ * [Device](#device): Device feature options.
51
+ * [Controller](#controller): Controller feature options.
52
+ * [Hub](#hub): Hub feature options.
53
+ * [AccessMethod](#accessmethod): Access method feature options.
54
+ * [Log](#log): Logging feature options.
55
+
56
+ #### <A NAME="device"></A>Device feature options.
57
+
58
+ These option(s) apply to: all Access device types.
59
+
60
+ | Option | Description
61
+ |-------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------
62
+ | <A NAME="Device"></A>`Device` | Make this device available in HomeKit. **(default: enabled)**.
63
+ | <A NAME="Device.SyncName"></A>`Device.SyncName` | Synchronize the UniFi Access name of this device with HomeKit. Synchronization is one-way only, syncing the device name from UniFi Access to HomeKit. **(default: disabled)**.
64
+
65
+ #### <A NAME="controller"></A>Controller feature options.
66
+
67
+ These option(s) apply to: Access controllers.
68
+
69
+ | Option | Description
70
+ |-------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------
71
+ | <A NAME="Controller.DelayDeviceRemoval"></A><CODE>Controller.DelayDeviceRemoval<I>.Value</I></CODE> | Delay, in seconds, before removing devices that are no longer detected on the Access controller. By default, devices are added and removed in realtime. **(default: 60)**.
72
+ | <A NAME="Controller.Publish.Telemetry"></A>`Controller.Publish.Telemetry` | Publish all the realtime telemetry received from the Access controller to MQTT. **(default: disabled)**.
73
+
74
+ #### <A NAME="hub"></A>Hub feature options.
75
+
76
+ These option(s) apply to: all Access device types.
77
+
78
+ | Option | Description
79
+ |-------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------
80
+ | <A NAME="Hub.Door.UseLock"></A>`Hub.Door.UseLock` | Use a lock accessory instead of a garage door opener accessory for the gate. **(default: disabled)**. <BR>*Supported on UniFi Access Gate.*
81
+ | <A NAME="Hub.Door.UseGarageOpener"></A>`Hub.Door.UseGarageOpener` | Use a garage door opener accessory instead of a lock accessory. This is a visual preference only within HomeKit; the underlying lock behavior and feature options remain the same. **(default: disabled)**. <BR>*Supported on UniFi Access Ultra.*
82
+ | <A NAME="Hub.LockDelayInterval"></A><CODE>Hub.LockDelayInterval<I>.Value</I></CODE> | Delay, in minutes, before locking the door lock relay once it's been unlocked by HomeKit. If set to 0, it will remain unlocked indefinitely. This applies regardless of whether you use a lock or garage door opener accessory. By default, the door lock relay will lock five seconds after unlocking. **(default: 0)**.
83
+ | <A NAME="Hub.Lock.Trigger"></A>`Hub.Lock.Trigger` | Add a switch accessory to control the door lock relay. This can be useful in automation scenarios where you want to work around HomeKit's security restrictions and trigger events when a lock or unlock event occurs. This works with both lock and garage door opener accessories. **(default: disabled)**.
84
+ | <A NAME="Hub.Doorbell"></A>`Hub.Doorbell` | Add a doorbell accessory to handle doorbell ring events in HomeKit. **(default: enabled)**. <BR>*Supported on UniFi Access hubs that have a doorbell.*
85
+ | <A NAME="Hub.Doorbell.Trigger"></A>`Hub.Doorbell.Trigger` | Add a switch accessory for automation scenarios to reflect (but not trigger) doorbell ring events on an Access doorbell. **(default: disabled)**. <BR>*Supported on UniFi Access hubs that have a doorbell.*
86
+ | <A NAME="Hub.DPS"></A>`Hub.DPS` | Add a contact sensor accessory for the door position sensor. **(default: enabled)**. <BR>*Supported on UniFi Access Ultra.*
87
+ | <A NAME="Hub.REL"></A>`Hub.REL` | Add a contact sensor accessory for the remote release. **(default: enabled)**. <BR>*Supported on UniFi Access Hub.*
88
+ | <A NAME="Hub.REN"></A>`Hub.REN` | Add a contact sensor accessory for the request to enter sensor. **(default: enabled)**. <BR>*Supported on UniFi Access Hub.*
89
+ | <A NAME="Hub.REX"></A>`Hub.REX` | Add a contact sensor accessory for the request to exit sensor. **(default: enabled)**. <BR>*Supported on UniFi Access Ultra.*
90
+ | <A NAME="Hub.SideDoor"></A>`Hub.SideDoor` | Add a lock accessory for the side door (pedestrian gate) on UniFi Access Gate Hub devices. **(default: enabled)**. <BR>*Supported on UniFi Access Gate.*
91
+ | <A NAME="Hub.SideDoor.DPS"></A>`Hub.SideDoor.DPS` | Add a contact sensor accessory for the side door position sensor. **(default: enabled)**. <BR>*Supported on UniFi Access Gate.*
92
+ | <A NAME="Hub.SideDoor.Lock.Trigger"></A>`Hub.SideDoor.Lock.Trigger` | Add a switch accessory to control the side door lock. This can be useful in automation scenarios where you want to work around HomeKit's security restrictions for controlling locks. **(default: disabled)**. <BR>*Supported on UniFi Access Gate.*
93
+
94
+ #### <A NAME="accessmethod"></A>Access method feature options.
95
+
96
+ These option(s) apply to: all Access device types.
97
+
98
+ | Option | Description
99
+ |-------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------
100
+ | <A NAME="AccessMethod.Face"></A>`AccessMethod.Face` | Add a switch accessory to control the face unlock access method. **(default: enabled)**. <BR>*Supported on UniFi Access readers that support face unlock authentication.*
101
+ | <A NAME="AccessMethod.Hand"></A>`AccessMethod.Hand` | Add a switch accessory to control the hand wave unlock access method. **(default: enabled)**. <BR>*Supported on UniFi Access readers that support hand wave authentication.*
102
+ | <A NAME="AccessMethod.Mobile"></A>`AccessMethod.Mobile` | Add a switch accessory to control the mobile unlock access method. **(default: enabled)**. <BR>*Supported on UniFi Access readers that support mobile authentication.*
103
+ | <A NAME="AccessMethod.NFC"></A>`AccessMethod.NFC` | Add a switch accessory to control the NFC card access method. **(default: enabled)**. <BR>*Supported on UniFi Access readers that support NFC authentication.*
104
+ | <A NAME="AccessMethod.PIN"></A>`AccessMethod.PIN` | Add a switch accessory to control the PIN unlock access method. **(default: enabled)**. <BR>*Supported on UniFi Access readers that support PIN authentication.*
105
+ | <A NAME="AccessMethod.QR"></A>`AccessMethod.QR` | Add a switch accessory to control the QR unlock access method. **(default: enabled)**. <BR>*Supported on UniFi Access readers that support QR code authentication.*
106
+ | <A NAME="AccessMethod.TouchPass"></A>`AccessMethod.TouchPass` | Add a switch accessory to control the Touch Pass access method. **(default: enabled)**. <BR>*Supported on UniFi Access readers that support Touch Pass.*
107
+
108
+ #### <A NAME="log"></A>Logging feature options.
109
+
110
+ These option(s) apply to: all Access device types.
111
+
112
+ | Option | Description
113
+ |-------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------
114
+ | <A NAME="Log.Doorbell"></A>`Log.Doorbell` | Log doorbell ring events in Homebridge. **(default: enabled)**. <BR>*Supported on UniFi Access hubs that have a doorbell.*
115
+ | <A NAME="Log.DPS"></A>`Log.DPS` | Log door position sensor events in Homebridge. **(default: enabled)**. <BR>*Supported on UniFi Access Ultra.*
116
+ | <A NAME="Log.REL"></A>`Log.REL` | Log door remote release events in Homebridge. **(default: enabled)**. <BR>*Supported on UniFi Access Hub.*
117
+ | <A NAME="Log.REN"></A>`Log.REN` | Log door request to enter events in Homebridge. **(default: enabled)**. <BR>*Supported on UniFi Access Hub.*
118
+ | <A NAME="Log.REX"></A>`Log.REX` | Log door request to exit events in Homebridge. **(default: enabled)**. <BR>*Supported on UniFi Access Ultra.*
119
+ | <A NAME="Log.Lock"></A>`Log.Lock` | Log lock events in Homebridge. **(default: enabled)**. <BR>*Supported on UniFi Access hubs.*
120
+
package/docs/MQTT.md ADDED
@@ -0,0 +1,116 @@
1
+ <div align="center">
2
+
3
+ ![homebridge-unifi-access: Native HomeKit support for UniFi Access](media/homebridge-unifi-access.svg)
4
+
5
+ # Homebridge UniFi Access
6
+
7
+ [![Downloads](https://img.shields.io/npm/dt/@mp-consulting/homebridge-unifi-access?color=%230559C9&logo=icloud&logoColor=%23FFFFFF&style=for-the-badge)](https://www.npmjs.com/package/@mp-consulting/homebridge-unifi-access)
8
+ [![Version](https://img.shields.io/npm/v/@mp-consulting/homebridge-unifi-access?color=%230559C9&label=Latest%20Version&logo=ubiquiti&logoColor=%23FFFFFF&style=for-the-badge)](https://www.npmjs.com/package/@mp-consulting/homebridge-unifi-access)
9
+ [![verified-by-homebridge](https://img.shields.io/badge/homebridge-verified-blueviolet?color=%23491F59&style=for-the-badge&logoColor=%23FFFFFF&logo=homebridge)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
10
+ [![License](https://img.shields.io/npm/l/@mp-consulting/homebridge-unifi-access?color=%230559C9&logo=open%20source%20initiative&logoColor=%23FFFFFF&style=for-the-badge)](../LICENSE.md)
11
+
12
+ Complete HomeKit support for the [UniFi Access](https://ui.com/door-access) ecosystem using [Homebridge](https://homebridge.io).
13
+
14
+ </div>
15
+
16
+ `@mp-consulting/homebridge-unifi-access` is a [Homebridge](https://homebridge.io) plugin that provides HomeKit support to the [UniFi Access](https://ui.com/door-access) device ecosystem. [UniFi Access](https://ui.com/door-access) is [Ubiquiti's](https://www.ui.com) door access security platform, with doorbell, reader, lock, and controller hardware options for you to choose from, as well as an app which you can use to view, configure and manage your door access security.
17
+
18
+ ### MQTT Support
19
+
20
+ [MQTT](https://mqtt.org) is a popular Internet of Things (IoT) messaging protocol that can be used to weave together different smart devices and orchestrate or instrument them in an infinite number of ways. In short - it lets things that might not normally be able to talk to each other communicate across ecosystems, provided they can support MQTT.
21
+
22
+ `@mp-consulting/homebridge-unifi-access` will publish MQTT events if you've configured a broker in the controller-specific settings. The plugin supports a rich set of capabilities over MQTT, including:
23
+
24
+ * Doorbell ring events.
25
+ * Lock events, including triggering locks via MQTT.
26
+ * Door position sensor (DPS) events.
27
+ * Terminal input events (REL, REN, REX).
28
+ * Motion detection events, including triggering motion via MQTT.
29
+ * Side door events for UA Gate devices.
30
+ * Raw telemetry publishing.
31
+
32
+ ### How to configure and use this feature
33
+
34
+ This documentation assumes you know what MQTT is, what an MQTT broker does, and how to configure it. Setting up an MQTT broker is beyond the scope of this documentation. There are plenty of guides available on how to do so just a search away.
35
+
36
+ You configure MQTT settings within a `controller` configuration block. The settings are:
37
+
38
+ | Configuration Setting | Description
39
+ |-----------------------|----------------------------------
40
+ | `mqttUrl` | The URL of your MQTT broker. **This must be in URL form**, e.g.: `mqtt://user:password@1.2.3.4`.
41
+ | `mqttTopic` | The base topic to publish to. The default is: `unifi/access`.
42
+
43
+ To reemphasize the above: **mqttUrl** must be a valid URL. Simply entering in a hostname without specifying it in URL form will result in an error. The URL can use any of these protocols: `mqtt`, `mqtts`, `tcp`, `tls`, `ws`, `wss`.
44
+
45
+ When events are published, by default, the topics look like:
46
+
47
+ ```sh
48
+ unifi/access/1234567890AB/lock
49
+ unifi/access/ABCDEF123456/doorbell
50
+ ```
51
+
52
+ In the above example, `1234567890AB` and `ABCDEF123456` are the MAC addresses of your Access hub or other devices. We use MAC addresses as an easy way to guarantee unique identifiers that won't change. `@mp-consulting/homebridge-unifi-access` provides you information about your devices and their respective MAC addresses in the homebridge log on startup. Additionally, you can use the UniFi Access app or webUI to lookup what the MAC addresses are of your devices, should you need to do so.
53
+
54
+ ### <A NAME="publish"></A>Topics Published
55
+
56
+ The topics and messages that `@mp-consulting/homebridge-unifi-access` publishes are:
57
+
58
+ #### Door and Lock Topics
59
+
60
+ | Topic | Message Published | Device Scope
61
+ |-----------------------|----------------------------------|----------------------------------
62
+ | `doorbell` | `true` when ringing, `false` when ring ends. | Hubs with doorbells.
63
+ | `dps` | `true` when open, `false` when closed, `unknown` if not wired. | UA Ultra, UA Hub, UA Hub Door Mini, UA Gate.
64
+ | `lock` | `true` when locked, `false` when unlocked. | All hubs.
65
+ | `rel` | `true` when open, `false` when closed. | UA Hub (remote release sensor).
66
+ | `ren` | `true` when open, `false` when closed. | UA Hub (request to enter sensor).
67
+ | `rex` | `true` when open, `false` when closed. | UA Ultra, UA Hub, UA Hub Door Mini (request to exit sensor).
68
+
69
+ #### Side Door Topics (UA Gate Only)
70
+
71
+ | Topic | Message Published | Description
72
+ |-----------------------|----------------------------------|----------------------------------
73
+ | `sidedoor/dps` | `true` when open, `false` when closed, `unknown` if not wired. | Side door (pedestrian gate) position sensor.
74
+ | `sidedoor/lock` | `true` when locked, `false` when unlocked. | Side door (pedestrian gate) lock state.
75
+
76
+ #### Motion and Telemetry Topics
77
+
78
+ | Topic | Message Published | Description
79
+ |-----------------------|----------------------------------|----------------------------------
80
+ | `motion` | `true` when motion detected, `false` when motion ends. | Motion detection events.
81
+ | `telemetry` | JSON payload of raw event data. | Published when `Controller.Publish.Telemetry` is enabled.
82
+
83
+ Messages are published to MQTT when an action occurs on an Access device that triggers the respective event, or when an MQTT message is received for one of the topics `@mp-consulting/homebridge-unifi-access` subscribes to.
84
+
85
+ ### <A NAME="subscribe"></A>Topics Subscribed
86
+
87
+ The topics that `@mp-consulting/homebridge-unifi-access` subscribes to are:
88
+
89
+ #### Door and Lock Topics
90
+
91
+ | Topic | Message Expected | Description
92
+ |-------------------------|----------------------------------|----------------------------------
93
+ | `doorbell/get` | `true` | Triggers a publish of the current doorbell ring status.
94
+ | `dps/get` | `true` | Triggers a publish of the current door position sensor state.
95
+ | `lock/get` | `true` | Triggers a publish of the current lock state.
96
+ | `lock/set` | `true` to unlock momentarily (auto-relocks based on configured delay), `false` to unlock indefinitely. | Controls the door lock relay.
97
+
98
+ #### Side Door Topics (UA Gate Only)
99
+
100
+ | Topic | Message Expected | Description
101
+ |-------------------------|----------------------------------|----------------------------------
102
+ | `sidedoor/dps/get` | `true` | Triggers a publish of the current side door position sensor state.
103
+ | `sidedoor/lock/get` | `true` | Triggers a publish of the current side door lock state.
104
+ | `sidedoor/lock/set` | `true` to lock, `false` to unlock. | Controls the side door lock relay.
105
+
106
+ #### Motion Topics
107
+
108
+ | Topic | Message Expected | Description
109
+ |-------------------------|----------------------------------|----------------------------------
110
+ | `motion/trigger` | `true` | Triggers a motion event on the device.
111
+
112
+ ### Some Fun Facts
113
+ * MQTT support is disabled by default. It's enabled when an MQTT broker is specified in the configuration.
114
+ * MQTT is configured per-controller. This allows you to have different MQTT brokers for different Access controllers, if needed.
115
+ * If connectivity to the broker is lost, it will perpetually retry to connect in one-minute intervals.
116
+ * If a bad URL is provided, MQTT support will not be enabled.
Binary file