Names & Structure
SITE
This name appears on the Overview page.
TUNNEL
BIOMETRIC 192.168.0.201 · no entrance set
RFID 192.168.0.234 · no entrance set
Optionally attach its first device now:
TUNNEL
BIOMETRIC 192.168.0.202 · no entrance set
RFID 192.168.0.220 · no entrance set
Optionally attach its first device now:
Site Topology
🏗 Kohima Tunnel Project
▸ Tunnel_ET
◂ (no entrance set)
⚉ Biometric_ET 192.168.0.201:4370 · ZKTeco MB460 · online
▭ UHF_ET 192.168.0.234:9500 · TimeWatch TW-UR12 · online
▸ Tunnel_MT
◂ (no entrance set)
⚉ Biometric_MT 192.168.0.202:4370 · ZKTeco MB460 · online
▭ UHF_MT 192.168.0.220:9500 · TimeWatch TW-UR12 · online
Assigning Devices (devices.json)
You can also add devices directly in the "Names & Structure" panel above (under a tunnel or entrance) — a device added that way with a real IP/port is polled exactly the same as one from devices.json. The difference is durability: devices.json is a version-controlled file that survives a database wipe/reseed and re-syncs its devices back in by key; a device added only through this page lives in the database and would need to be re-added if the database is ever recreated from scratch. Use whichever fits — the file for a setup you want to track/reproduce, the form above for something quick.
Workflow
  1. SSH into the Pi (or plug in a keyboard/monitor directly).
  2. Open /media/exy/cipher/project_2026/my/sentri_systems/Claude/tunnel-id-system-workdir/data/devices.json in an editor (nano works fine).
  3. Add a new object to the "devices" array — give it a unique key, a tunnel and entrance name (created automatically if new), the device_type ("biometric" or "rfid"), and its static ip_address + port.
  4. Save the file, then either restart the app (systemctl restart tunnel-id or re-run run.py), or click Sync Now above to reconcile it into the dashboard without a restart.
  5. Confirm the device appears in the topology tree above with the correct tunnel/entrance and IP.
Example entry
{ "key": "tunnel_a_north_bio", "name": "Tunnel A - North Portal Biometric", "tunnel": "Tunnel A", "entrance": "North Portal", "device_type": "biometric", "model": "ZKTeco MB360", "ip_address": "192.168.2.102", "port": 4370 }
Static IPs only. Every device on the site network should have a fixed IP set on the device itself (not via DHCP) — the Pi and each biometric/RFID unit stay on a small isolated LAN segment with no DNS needed. The key field must stay stable once set; renaming it in the file will register as a brand-new device rather than updating the existing one.
Live demo · simulated data · snapshot 17 Sep 2026
This action is available in the live system