Rev 2026-06-25 TCEC Access Control System Documentation

CHAPTER 05User Manual — Daily Operations

Day-to-day operation of the TCEC access control system for tenants and the building manager.

5.1 Accessing the System

InterfaceURL / AddressUsed For
Access Control UIprox.tcec.caAccess log, arm/disarm, tenant management
Home Assistantha.tcec.ca · 192.168.191.121:8123Full HA configuration and entity control
SSH (admin only)ssh oracle@192.168.191.121File editing, log tailing, DB queries
Kiosk (on-site)Pi 4 at 192.168.191.109 — auto-starts on bootOn-site display of access log
Documentationprox.tcec.ca/app/manualThis manual

5.2 Reading the Access Log

The access log at prox.tcec.ca shows all card swipe events in reverse chronological order.

ColumnContent
TimestampDate and time of the swipe event
TenantName and card number of the cardholder
DoorDoor ID that was swiped (e.g. 123b, main_entrance)
ResultGranted   Denied   Armed   Disarmed — stored at event time
PhotoThumbnail if a camera captured the entry

5.3 Arming the Building

Design Principle: The system prioritises availability over purity — a valid card swipe always disarms. Accountability is enforced through audit logging, not lockouts.

5.4 Disarming the Building

Any valid tenant card swiped at any door reader disarms the system. You do not need to return to the arming station. The disarm event is logged with tenant identity and timestamp.

The System Administrator may also arm or disarm via the button in the access control web UI — these events are logged as System Administrator.

5.5 Viking C-4000 Intercom — Visitor Entry

5.6 Managing Tenants and Cards

Tenant and card management is currently performed via direct SQLite queries over SSH. A web UI is planned.

Add a new tenant and card

ssh oracle@192.168.191.121
sqlite3 /config/prox_cards.db

INSERT INTO tenants (name, phone, email, unit, active)
  VALUES ('Jane Smith', '613-555-0100', 'jane@example.com', '123C', 1);

INSERT INTO cards (card_number, tenant_id, active)
  VALUES (752519, last_insert_rowid(), 1);

.quit

Grant door access

INSERT INTO door_permissions (tenant_id, door_id) VALUES (3, '123c');

Deactivate a card

UPDATE cards SET active = 0 WHERE card_number = 752519;

Query recent denials

SELECT timestamp, card_number, door_id FROM access_log
  WHERE display_result = 'Denied' ORDER BY id DESC LIMIT 20;

5.7 Voice Announcements

← Previous4 · ConfigurationNext →6 · Maintenance