Device Types
Device types classify each device by what kind of equipment it is — a TV, a thermostat, a camera, an amplifier, a controller, and so on. Every device carries exactly one device type, and optionally a finer subtype. The type is mostly an organizational classification, but it also feeds a couple of concrete behaviors, so it is worth setting correctly when you commission a device.
Overview
GEM creates a standard set of device types automatically the first time it boots, so on most jobs you pick from the existing list rather than creating your own. When you add a device, GEM will often pre-select the type for you from the driver you chose — a driver advertises the type(s) it usually pairs with, and the device editor fills the Type field in automatically. You can always override it.
What the device type actually drives:
- Controller identification — a device classified as a
controlleris treated as a parent controller / gateway. Other devices can then be attached to it through the Controller field in the device editor, which is how you model a hub (or processor) with child devices behind it. - Commissioning shortcuts — when GEM adds devices from a network scan or a bulk import, it resolves the type from the driver's advertised hint and falls back to the catch-all
nonetype when nothing matches.
Beyond that, the type (and subtype) is a classification you can organize and query by. It is not shown as a column in the main device grid, and it is not used for UI icon selection.
Open it from the Device Types button at the top of the Devices page: Open Device Types. There is no separate menu entry — Device Types lives off the Devices page.
The default device types
On a fresh install GEM creates a none type (the catch-all used when no type matches) plus the following standard types. You can add your own and delete the ones you don't use.
| Name | Typical equipment |
|---|---|
none | Unclassified / fallback |
audio_matrix | Multi-zone audio matrix switchers |
audio_receiver | AV receivers, integrated amps |
cable_receiver | Cable set-top boxes |
camera | IP cameras |
controller | Hubs, gateways, processors that own child devices |
dvr | DVRs / NVRs |
intercom | Door stations, intercoms |
light | Lighting controllers / loads |
lock | Door locks |
media_player | Streamers, media players |
plc | PLCs / logic controllers |
power_controller | PDUs, power / energy control |
projector | Projectors |
pump | Pumps |
satellite_receiver | Satellite set-top boxes |
security_system | Alarm panels |
thermostat | Thermostats / HVAC |
transceiver | RF / IR transceivers |
tv | TVs, displays |
video_matrix | Video matrix switchers |
Names are stored in lowercase with underscores. If the driver you're adding doesn't match any of these, the device editor leaves the type at the catch-all none — pick a closer type from the list (or create one) so the device is classified.
Viewing device types
The first tab, Device Types, lists the configured types:
- ID — unique identifier
- Name — system name
- Description — optional description
Toolbar actions are Add and Delete. Existing rows are click-to-edit — click a Name or Description cell to change it in place.
A device type can't be deleted while any device (or subtype) still references it. Reassign or remove those devices first.
Creating a device type
- On the Device Types tab, click Add.
- Fill in the New Device Type form:
- Name — system name, normalized to lowercase_with_underscores. Examples:
av_receiver,lighting_controller,thermostat. - Description — optional, human-readable (e.g. "Lutron Caséta dimmer").
- Name — system name, normalized to lowercase_with_underscores. Examples:
- Click Save.
You can also create a type on the fly while editing a device — the + next to the Type field in the device editor adds one without leaving the form.
Subtypes
The second tab, Subtypes, manages device subtypes — refinements of a device type (for example, type thermostat with subtypes heat_pump and radiant). Each subtype belongs to exactly one parent device type.
The subtype grid columns are ID, Device Type (the parent), Name, and Description, with Add, Reload, and Delete actions. The parent Device Type is fixed once a subtype is created; Name and Description are click-to-edit.
To create one:
- On the Subtypes tab, click Add.
- In the New Device Subtype form:
- Device Type — pick the parent type (required).
- Name — normalized to lowercase_with_underscores.
- Description — optional.
- Click Save.
Once a type has subtypes, they appear in the Sub Type dropdown of the device editor whenever that type is selected.
Assigning a type to a device
Device type (and subtype) is set in the device editor, not on this page:
- Go to System → Devices and add or edit a device: Open Devices.
- Set Type (required). If you picked a driver, GEM may have already filled this in — adjust if needed.
- Optionally set Sub Type (only types that have subtypes will offer options here).
- Save.
The + icons beside the Type and Sub Type fields let you add a new type or subtype inline.
Database reference
| Field | Type | Notes |
|---|---|---|
id | integer | Primary key (none is id 0) |
name | string | Required, lowercase_with_underscores |
description | string | Optional |
A subtype adds a device_type_id that links it to its parent type. The parent type can't be deleted while subtypes (or devices) still reference it.
Related documentation
- Devices — device management and type/subtype assignment
- Subsystems — the other way GEM organizes devices and zones