Overview
GEM is a single-controller automation platform. One GEM server runs on a machine at the site and talks to every piece of equipment — AV receivers, lighting and shade controllers, thermostats, locks, cameras, access control panels — through a library of device drivers. Clients (web, mobile, and wall-mounted touchpanels) connect to that server to view and control the system in real time.
Requirements
Supported platforms
Installation
Most sites install GEM with a single command. The installer provisions everything GEM needs — system dependencies, PostgreSQL, a bundled Node.js runtime, and a service to keep it running — and then hands off to a browser-based setup wizard that walks you through database, ports, and notifications.
Configuration
GEM's server configuration lives in gem.json at the install root, loaded at startup. The standard installer writes a working gem.json for you; this page explains the settings you're most likely to change.
First Boot
The first time the GEM server starts it bootstraps itself. Understanding what happens makes the first login — and any troubleshooting — straightforward.
Quick Start
This walks you through commissioning your first device end to end — from adding hardware to controlling a zone. It assumes GEM is installed and you can log in as an administrator (see First Boot).
Install from Source
This path is for developers working from the GEM source tree. For production sites, use the hosted installer instead — it provisions the runtime, database, and service for you.