Remove UHPPOTE/ZKTeco; Dingtian is the only access driver
Neither UHPPOTE nor ZKTeco is used — the Dingtian relay controller was chosen and verified. Remove their code and re-scope the wiki. Code: - delete access-uhppote.ts, uhppoted.d.ts, access.ts (zkteco/esp32-relay stubs), and the three uhppote-*.mjs hardware test scripts. - remove the `uhppoted` npm dependency from @parking/devices and @parking/server. - unregister uhppote/zkteco/esp32-relay from the driver registry; drop their exports. Catalog access drivers = dingtian only. Build green (5/5). - refresh now-stale example comments (registry/interfaces/setup/api) to use current examples; keep the two "UHPPOTE blocker" references that explain why the precondition capability exists. Wiki (kept pages, re-scoped): - uhppote-controller, zkteco-controller -> rejected/historical with callouts; uhppote-vs-esp32 -> historical (detection-vs-prevention lens still useful). - re-point all "current device" framing (standing-decisions, bom, overview, open-questions, device-registry, device-discovery, index) to dingtian-relay. - transferable concepts (network-isolation, event-log-ingestion, barrier-not-a- door, threat-model) untouched. Raw source immutable. Links lint clean.
This commit is contained in:
+8
-7
@@ -29,11 +29,12 @@ deployed on-site at a parking facility. Two forces shape nearly every decision:
|
||||
rest ([[disk-os-hardening]]) defends a secondary threat.
|
||||
- **Devices** sit behind a [[device-adapter-pattern]] (swap hardware → new adapter only), with
|
||||
the [[barrier-not-a-door]] safety principle keeping physical safety in barrier-operator firmware.
|
||||
- **Access control** hinges on the [[trust-boundary]] fork:
|
||||
[[uhppote-vs-esp32|detection vs. prevention]]. Today: [[uhppote-controller]] behind
|
||||
[[network-isolation]], its open [[uhppote-udp-protocol]] contained, its log made trustworthy by
|
||||
[[event-log-ingestion]]. Upgrade path: the [[esp32-custom-controller]] with
|
||||
[[challenge-response-auth]] and [[fail-state-safety]].
|
||||
- **Access control** today is the **[[dingtian-relay]]** relay+input controller behind
|
||||
[[network-isolation]] — chosen because its inputs are **decoupled from its relays**, enabling
|
||||
host-in-the-loop ticket-first entry (resolving [[access-controller-button-flow]]). The
|
||||
[[uhppote-controller]] and [[zkteco-controller]] were evaluated and **rejected** (historical).
|
||||
The deeper fork is still the [[trust-boundary]] ([[uhppote-vs-esp32|detection vs. prevention]]);
|
||||
the [[esp32-custom-controller]] remains the prevention-grade alternative.
|
||||
- **Readers** split two ways ([[entry-exit-readers]]): permit holders via [[wiegand]]
|
||||
(autonomous), casual/transient via host-side [[lpr-camera]] / QR; both can share a relay.
|
||||
- A reference [[bom]] lists recommended devices.
|
||||
@@ -47,6 +48,6 @@ modes (fail-open on exit)**, the **reconciliation channel**, and **backup/durabi
|
||||
|
||||
- *Security-first:* [[threat-model]] → [[append-only-event-chain]] → [[reconciliation]] →
|
||||
[[uhppote-vs-esp32]].
|
||||
- *Hardware-first:* [[bom]] → [[uhppote-controller]] → [[entry-exit-readers]] →
|
||||
[[esp32-custom-controller]].
|
||||
- *Hardware-first:* [[bom]] → [[dingtian-relay]] → [[access-controller-button-flow]] →
|
||||
[[entry-exit-readers]].
|
||||
- *Stack-first:* [[technology-stack]] → [[offline-first]] → [[device-adapter-pattern]].
|
||||
|
||||
Reference in New Issue
Block a user