Skip to main content

Gateways

A gateway is an IoT controller the Adapter talks to; every device belongs to one gateway. The page opens with four counters — total gateways, online, devices onboarded, offline gateways — plus Refresh all and Add Gateway.

Gateway card (one per registered controller)

  • Name, host:port and online/offline badge.

  • Auth headers in use (e.g. X-API-KEY, Authorization).

  • Health line: healthy/offline, failure count, last check time, and the exact error when offline (e.g. HTTP 402 trial ended, connection timeout).

  • Device mix bar (lock, Wi-Fi, camera, sensor, other) and total device count.

  • Actions: View devices, Edit (pencil), and a menu with Discover devices, Ping gateway, Run diagnostic, Delete gateway.

Right-hand panels: Fleet Health (% of gateways online), Device Mix (counts by device type) and Recent Activity (latest events such as webhook.delivered, humidity.reading_set, alert.device_offline.email_sent).

Add / edit gateway

The connection is tested before saving (Test & Save). Credentials are encrypted with AES-256-GCM. Fields depend on the gateway type:

Gateway typeConnection fieldsCredentials
UniFi / genericHost/IP, port (default 443), base path (for slug-based multi-tenant gateways like ZenPhantom)Any number of auth headers (name + value)
igloohome (cloud)igloohome cloud APIClient ID, client secret, optional webhook signing public key (RSA-2048), webhook verification mode: off / observe / enforce
pod-controller (MQTT)Broker host (default mqtt.zenspace.io, port 1883)Broker username and password — write-only; engine reconnects on next reconcile (~10 min)

Common optional fields: Site/Zone, Organization ID, Skip TLS certificate verification (for self-signed certs), and per-gateway offline alerts — alert recipients, reminder repeat (hours), max reminders and offline threshold (minutes). Blank alert fields inherit the global values from System → Offline alerts.