Skip to content

feat(ui/discovery): intelligent door setup wizard with progressive disclosure and live sniffer - #3

Merged
spelech merged 5 commits into
developfrom
feat/door-setup-progressive-disclosure
Sep 7, 2026
Merged

spelech merged 5 commits into
developfrom
feat/door-setup-progressive-disclosure

Conversation

@spelech

@spelech spelech commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Summary

Transforms the AccessControl door configuration experience from transport-level MQTT complexity into an intuitive, progressive disclosure wizard:

  • Strict Discovery Filtering: Filters raw homelab telemetry (battery, linkquality, temp, humidity, power, etc.) to only surface true binary contact sensors with human-friendly device names and models.
  • Physical Activity Sniffer: Live real-time buffer (GET /api/discovery/sniff?since=...) detects contact state changes when physically opening/closing a door.
  • Progressive Disclosure UI:
    • Direct Z-Wave JS mode renders interactive node cards and completely hides MQTT topic fields.
    • Selecting an integrated lock automatically provisions Built-In Keypad inheritance.
    • Searchable contact sensor catalog eliminates button swarms.
  • Controls & Persistence Testing:
    • SQLite Dapper integration test verifying door model persistence.
    • Playwright end-to-end Flow 3 audit against live container, published to Agent Preview Hub.

Verification

  • dotnet build AccessControl.slnx: 0 warnings, 0 errors.
  • dotnet test AccessControl.slnx: All 107 unit & harness tests pass.
  • npm test && npm run lint: All 59 Vitest tests pass, 0 ESLint warnings.
  • npm run harness: All 5 Playwright flows pass against live container.
  • Preview Hub: https://preview.wileyriley.com/accesscontrol-harness/

@spelech
spelech merged commit 61a7203 into develop Sep 7, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant