Commit Graph
6 Commits
Author SHA1 Message Date
mrcharles 13b0976ad6 fix(doorman): unlock dispatch via shell_command — rest_command absent [#345 #355]
ci / lint (push) Successful in 47s
rest_command integration silently fails to register on this box
(404 services, valid config+secret; root-cause pending #741).
shell_command curl is the working mechanism; arm-switch gate unchanged.
https://projects.knownelement.com/issues/355
2026-09-04 16:01:40 -05:00
mrcharles 528dab5100 chore(garden): themes dir placeholder, empty-include markers, doorman contract pointer [#784]
ci / lint (push) Failing after 9s
Gardening pass: themes/ dir must exist for include_dir_merge_named;
scenes/scripts marked intentionally-empty; cross-repo contract pointer
to KNEL/doorman README. dev only.
https://projects.knownelement.com/issues/784
2026-09-04 07:46:10 -05:00
mrcharles 2519aec5b6 feat(doorman): honor local_unlock flag from break-glass scans [#345]
Break-glass badges fire the relay locally on the reader host (no HA
dependency); the flagged scan still reaches HA for the audit trail
but skips re-dispatch. NOTE: deployed while pfv-bms is down — YAML
lint clean, ha core check to run at Friday boot before arming.

https://projects.knownelement.com/issues/345
2026-09-03 08:15:21 -05:00
mrcharles 66a5c45b7e feat(doorman): unlock dispatch — arm switch + rest_command to doorctl [#345]
Founder-approved: valid badge + armed input_boolean -> rest_command
fires the pfvsvrpi doorctl endpoint (Tailscale-bound, token+source
allowlisted, self-securing relay). Disarm = boolean off = log-only.
URL secret on-box only (doorman_unlock_url).

https://projects.knownelement.com/issues/345
2026-09-03 07:08:06 -05:00
mrcharles 85fdd1aa5e fix(doorman): HA Jinja has no split filter — method-call parsing [#345]
Live webhook test caught it: TemplateRuntimeError 'No filter named
split'. enabled_ids/holder rebuilt with row.split('|') method calls
in a namespace loop.

https://projects.knownelement.com/issues/345
2026-09-03 06:11:26 -05:00
mrcharles 908c14d8e4 feat(doorman): badge scan ingest + roster whitelist sensors [#345]
Roster fetched live from KNEL/access-roster via gitea API (no git
mechanics; access-roster stays the single gated source of truth).
Known/disabled/unknown decision branches + last-scan entities.
UNLOCK deliberately not wired - pending HA->Pi control path (#741).

Validated: yamllint clean, ha core check passed on staged copy.
https://projects.knownelement.com/issues/345
2026-09-03 06:02:51 -05:00