IoT Adapter
The IoT Adapter (zs-iot) is an on-premise gateway service running on Raspberry Pi. It manages local IoT devices (smart locks, Wi-Fi access points, cameras) and bridges them to ZenEdge in the cloud.
Why On-Premise?
- Local network access — Many IoT devices (UniFi APs, door controllers) are only accessible on the local network
- Low latency — Device commands execute locally without cloud round-trips
- Reliability — Core device control works even during cloud connectivity issues
- Security — Device credentials never leave the local network
Tech Stack
| Component | Technology |
|---|---|
| Runtime | Node.js |
| Framework | Express |
| Database | SQLite (local persistence) |
| Networking | Tailscale (mesh VPN to cloud) |
| Hardware | Raspberry Pi 4 (recommended) |
What It Does
- Device Registry — Manages local IoT devices and their configurations
- Adapter Protocol — Implements the 7-endpoint contract for each device
- Booking Sync — Receives booking events and triggers device actions
- Voucher Generation — Creates Wi-Fi vouchers for UniFi networks
- Health Reporting — Reports device health to ZenEdge
- Remote Management — Accepts commands from ZenEdge via Tailscale
Architecture
Next Steps
- Hardware Requirements — What you need
- Installation — Step-by-step setup
- Supported Vendors — Compatible devices