The problem
The UniFi Access integration creates a door-position binary sensor, but the entity does not update when the physical door is opened or closed.
The Door Position Sensor is physically connected to a UniFi Access Hub and works correctly on the hardware side:
- the Access Hub LED reacts when the contact is opened/closed,
- the Door Position input is configured in UniFi Access,
- the input mode is Normally Closed (NC),
- the WebSocket connection between Home Assistant and UniFi Access is active and receiving realtime messages.
However, the Home Assistant door-position binary sensor remains unchanged.
This appears related to the previously reported and now locked issue #169952, but I have additional WebSocket debug data from a current 2026.9.x Home Assistant installation.
What I expected
The binary sensor representing the door position should change state immediately when the physical door is opened or closed.
What happened instead
The Home Assistant binary sensor does not change state.
With debug logging enabled for unifi_access_api.websocket, opening/closing the door produces a valid realtime update, but the payload reports:
{
"event": "access.data.v2.device.update",
"data": {
"name": "UA-HUB-DOOR-9B36",
"alias": "Acces HUB",
"device_type": "UAH-DOOR",
"firmware": "v4.13.4.0",
"version": "v4.13.4",
"location_states": [
{
"lock": "locked",
"dps": "none",
"dps_connected": false,
"is_unavailable": false
}
]
},
"meta": {
"object_type": "device",
"target_field": ["location_states"]
}
}
A corresponding location update is received immediately afterwards:
{
"event": "access.data.v2.location.update",
"data": {
"location_type": "door",
"name": "Acces HUB",
"state": {
"lock": "locked",
"dps": "none",
"dps_connected": false,
"is_unavailable": false
}
}
}
The WebSocket itself appears healthy; regular "Hello" keepalive messages and other Access updates are received correctly.
The key observation is that the realtime payload is successfully received and parsed, but reports dps: "none" and dps_connected: false, despite the physical DPS/contact input working and the Access Hub LED reacting correctly.
UniFi Access configuration
- Door Position Sensor input configured
- Normally Closed (NC)
- Physical contact operation confirmed by the Access Hub LED
Hardware / firmware
- Device type:
UAH-DOOR
- Access Hub firmware:
v4.13.4.0
- Access Hub version:
v4.13.4
- Home Assistant: 2026.9.x, Home Assistant OS
- Integration: UniFi Access
Additional information
This looks very similar to #169952, but in this case the debug log confirms that Home Assistant receives the realtime event successfully.
The interesting question is whether UniFi Access itself is exposing the DPS state incorrectly through its API, or whether unifi_access_api is interpreting the newer payload incorrectly.
I can provide additional diagnostics, raw WebSocket logs, or targeted debug output if useful.
The problem
The UniFi Access integration creates a door-position binary sensor, but the entity does not update when the physical door is opened or closed.
The Door Position Sensor is physically connected to a UniFi Access Hub and works correctly on the hardware side:
However, the Home Assistant door-position binary sensor remains unchanged.
This appears related to the previously reported and now locked issue #169952, but I have additional WebSocket debug data from a current 2026.9.x Home Assistant installation.
What I expected
The binary sensor representing the door position should change state immediately when the physical door is opened or closed.
What happened instead
The Home Assistant binary sensor does not change state.
With debug logging enabled for
unifi_access_api.websocket, opening/closing the door produces a valid realtime update, but the payload reports:{ "event": "access.data.v2.device.update", "data": { "name": "UA-HUB-DOOR-9B36", "alias": "Acces HUB", "device_type": "UAH-DOOR", "firmware": "v4.13.4.0", "version": "v4.13.4", "location_states": [ { "lock": "locked", "dps": "none", "dps_connected": false, "is_unavailable": false } ] }, "meta": { "object_type": "device", "target_field": ["location_states"] } }A corresponding location update is received immediately afterwards:
{ "event": "access.data.v2.location.update", "data": { "location_type": "door", "name": "Acces HUB", "state": { "lock": "locked", "dps": "none", "dps_connected": false, "is_unavailable": false } } }The WebSocket itself appears healthy; regular
"Hello"keepalive messages and other Access updates are received correctly.The key observation is that the realtime payload is successfully received and parsed, but reports
dps: "none"anddps_connected: false, despite the physical DPS/contact input working and the Access Hub LED reacting correctly.UniFi Access configuration
Hardware / firmware
UAH-DOORv4.13.4.0v4.13.4Additional information
This looks very similar to #169952, but in this case the debug log confirms that Home Assistant receives the realtime event successfully.
The interesting question is whether UniFi Access itself is exposing the DPS state incorrectly through its API, or whether
unifi_access_apiis interpreting the newer payload incorrectly.I can provide additional diagnostics, raw WebSocket logs, or targeted debug output if useful.