Developer Documentation
Documentation for developers interested in writing custom apps and drivers for Hubitat Elevation by using Apps Code, Drivers Code, and related features
Developer Documentation
These documents are intended for developers who want to write app or driver code in the Hubitat Elevation development environment. Regular Hubitat users should consult the main documentation.
Overview
Learn how the Hubitat Elevation platform works, how drivers and apps differ and interact, and other important concepts for getting started.
App Structure
Information on developing apps. (Apps appear as "Integrations," "Automations," or "Apps" in the user interface.).
Overview
- Overview Getting started with app development
- Building a Simple App A step-by-step explanation of how to build a functional basic app
More App How-Tos
- Building a Multi-Page App
- Parent/Child Apps
- More coming soon!
More on Apps
Driver Structure
Information on developing drivers. (Drivers are used by the code behind items in the "Devices" list in the user interface.)
Overview
Primers on Driver-Building by Protocol
- Building a Z-Wave Driver Getting started with a simple Z-Wave driver
- Building a Zigbee Driver Getting started with a simple Zigbee driver
- Building a Matter Driver Getting started with a simple Matter driver
- Building a LAN/Cloud Driver Getting started building LAN or cloud drivers
More Driver How-Tos
- Parent/Child Drivers
- More coming soon!
More on Drivers
Library Structure
Libraries are pieces of code that can be shared among multiple apps and/or drivers.
Capabilities
A list of capabilities that drivers can implement and that app inputs can select for, along with required commands and attributes for these capabilities.
Method Documentation
Information on Hubitat-provided methods and classes available to app code, driver code, or both.
- App
- Driver
- Common Methods
- Attribute
- Capability
- Device
- Event
- Hub
- HubAction
- HubMultiAction
- Matter
- Protocol
- InstalledApp
- Location
- Zwave
- Zigbee
- HexUtils
- ColorUtils
- NetworkUtils
App Interfaces
Interfaces available to apps to interact with special features of the Hubitat Elevation environment.
- Hubitat® Safety Monitor Interface
- Hub Variable API
- Rule Machine Interface: See the Rule Machine documentation for the Rule Machine API (available for use in app code on Hubitat, or an HTTP API for access outside the hub)
Driver Interfaces
Interfaces available to drivers for making various types of connections.
Common Interfaces
Interfaces available to both apps and drivers.
Allowed Imports
The following Java and Groovy classes are allowed to be imported in user code:
Z-Wave Classes
Information on Groovy class implementation of all Z-Wave command classes supported by Hubitat, useful for Z-Wave driver developers.
LIFX
Information on Groovy classes, methods, etc. provided by Hubitat for communication with LIFX devices.
Other
Additional information and tips about Hubitat app and driver development.