Skip to content

UniFi Access door position sensor does not update - WebSocket reports dps:none and dps_connected:false #183046

Description

@VanDaark

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions