node-red-contrib-unifi-ultimate 1.1.7
Node-RED nodes for Ubiquiti UniFi integrations, including UniFi Protect, UniFi Access, and UniFi Network.
The most italian Ubiquiti Unifi Nodes for Node-RED
Control and monitor your UniFi Network, UniFi Protect, and UniFi Access devices directly from Node-RED. UniFi Ultimate brings the full power of the Ubiquiti UniFi ecosystem to Node-RED. Monitor and control UniFi Network, Protect, and Access using intuitive nodes, receive real-time events, manage devices, PoE ports, cameras, and client presence, and build powerful automation workflows without complex coding.
Install
In Node-RED:
- Open
Manage palette. - Select
Install. - Search for
node-red-contrib-unifi-ultimate. - Install the package.
Quick Start
- Add a config node for your UniFi product: Unifi Network Config, Unifi Protect Config, or Unifi Access Config.
- Enter your UniFi controller address and login credentials.
- Add the matching node to your flow.
- Select the device you want to control or monitor.
- Select the action.
- Click Deploy.
- Send any message into the node to run the action.
Tip: For most actions, the incoming message is just a trigger — the node uses the device and action you configured in the editor.
The only exception is Clients Control with a controlled by msg.payload action: sendtrueto enable (PoE or the port) andfalseto disable it, on every target in its list.
Custom port: Each config node has an optional Port field. Leave it empty to use the default (
443for Network/Protect,12445for Access). Set it when your controller listens on a custom port — for example a UniFi OS server that uses11443. A port written directly in the controller address (host:port) takes precedence over this field.
Self-signed certificates: Each config node has an Allow self-signed certificate option, enabled by default. UniFi controllers almost always present a self-signed certificate, so keep it checked for UniFi OS / UXG setups. Uncheck it only if your controller uses a certificate signed by a trusted certificate authority and you want strict verification.
Use Network nodes to work with:
- sites
- UniFi devices such as switches and access points
- connected clients such as phones, computers, and IoT devices
- switch ports and PoE control
- client presence detection
Things you can do:
- Check whether a device or phone is connected to your network.
- Track presence either by the exact UniFi client ID or by client name; name matching tolerates private/rotating MAC addresses by resolving the active client again on every poll.
- Re-send the current presence state at a fixed interval with the Presence node's Resend field (e.g. to keep a dashboard or home-automation system in sync).
- Count how many clients are currently online.
- List the site's configured networks, Wi-Fi broadcasts, and WAN interfaces.
- List VPN servers and site-to-site VPN tunnels.
- List existing guest Wi-Fi vouchers.
- Create guest Wi-Fi vouchers.
- Read CPU usage, memory, and uptime from a switch or access point.
- Read the temperature of a switch (where supported).
- Restart a UniFi device.
- Control a list of clients/ports at once with the Clients Control node: pick targets by switch+port or by client (its uplink switch/port is resolved automatically) and apply one action to all of them, getting a single summary message back.
- Switch PoE on/off or power-cycle it, and enable/disable the whole switch port (the UniFi Port State toggle), driven by the editor or by
msg.payload. - Let Clients Control automatically find which switch port a client is connected to.
- Restart a whole list of switches/APs at once, or power-cycle all their active PoE ports, with the Restart node.
- Get notified when any client joins or leaves a specific network (for example your Guest network), including the device name — set the Presence Detection node's Watch by to Network (join/leave).
Use Protect nodes to work with:
- cameras
- sensors (motion, contact, temperature, humidity, leak)
- lights
- chimes
- viewers
- bridges and Link Stations
- alarm hubs and key fobs
- sirens, relays, and speakers
- NVR
Things you can do:
- Receive motion, ring, contact, tamper, leak, and low-battery alerts.
- Read the current state of a camera or sensor.
- Take a camera snapshot.
- Control PTZ cameras (move to preset, start/stop patrol).
- Display a custom message on a doorbell screen.
- Switch a viewer to a different live feed.
- Monitor bridges, Link Stations, alarm hubs, key fobs, sirens, relays, and speakers.
- Play or stop a siren, control relay outputs, and test speaker or siren sound.
Automatic KNX AI camera adapter
When node-red-contrib-knx-ultimate is installed, every configured Unifi Protect Config instance automatically publishes its cameras to the KNX AI chat runtime. No Protect Device node, selector, or intermediate wire is required. KNX AI can then:
- send a current camera snapshot to Telegram or RedBot;
- describe a fresh snapshot with the configured vision-capable LLM;
- create persistent chat notifications for unclassified motion or generic smart detections, as well as line crossings, intrusion zones, and loiter zones;
- filter smart events by the camera's supported classifications, including people, animals, vehicles, faces, license plates, and packages, and optionally by an exact line or zone exposed by Protect.
The integration uses the generic node-red.knx-ai.camera-adapters.v1 runtime contract, so other camera packages can register the same catalog/snapshot/event capabilities without vendor-specific code in KNX AI. Protect API keys remain inside this config node and are never copied into KNX AI.
Use Access nodes to work with:
- doors
- Access devices (hubs, intercoms)
- door events (unlock, ring, DPS, emergency)
- lock rules and schedules
- visitors, access policies, holiday groups, and door groups
- recent system logs
- doorbell actions
Things you can do:
- Unlock a door remotely.
- Set a temporary unlock window with a custom duration.
- Enable lockdown or evacuation mode.
- Receive door events in real time.
- Trigger or cancel an intercom doorbell.
- Read visitors, access policies, schedules, holiday groups, and door groups.
- Inspect recent Access system-log entries and the door-group topology.
Outputs
Every node has two outputs:
| Output | When it fires |
|---|---|
| 1 — result | The action completed successfully. The result is available in msg.payload. |
| 2 — error | Something went wrong (connection problem, timeout, unsupported action). |
When an error occurs, the node status turns red and the error message comes out of the second output. Connect it to a debug node to see what happened, or wire it to any notification logic in your flow.
Repeat periodically — for read actions, you can tick Emit periodically in the node editor to have the node send the result automatically at a fixed interval, without needing an Inject node. The Presence Detection node offers a similar Resend (s) field: set it above 0 to re-emit the last known presence value on that cadence (even when unchanged). Resent messages carry msg.eventName = "repeat" so you can tell them apart from real state changes; leave it at 0 to disable.
Example Flows
Import from examples/:
| Flow file | What it demonstrates |
|---|---|
| examples/unifi-protect-info.json | Read the state of a Protect camera |
| examples/unifi-protect-sensor-observe.json | Receive sensor events (motion, temperature, humidity, …) |
| examples/unifi-protect-camera-actions.json | Take snapshots, move PTZ, show doorbell messages |
| examples/unifi-access-door-control.json | Door state, remote unlock, temporary lock rule |
| examples/unifi-access-intercom-doorbell.json | Intercom — receive ring, trigger and cancel doorbell |
Notes
- You need valid login credentials for the UniFi application you want to use.
- Some actions are only available on specific device models.
- UniFi behavior can vary between application versions.