For the complete documentation index, see llms.txt. This page is also available as Markdown.

Homey CLI

This page contains an overview of all Homey CLI commands.

The Homey command-line interface (CLI) is the tool you need for Homey App development. It enables you to create and run apps on Homey for development and debugging purposes. Additionally, it contains various utilities that make Homey App development faster and easier. Read the getting started guide to learn how to install the Homey CLI.

App Commands

The Homey CLI has commands that help when developing a Homey app. These commands all start with homey app. By default all commands expect a Homey app to be in the current working directory, however it is possible to provide a --path option to execute the command on a Homey app that is not in the current working directory.

Create a new Homey app

homey app create

With this command you can create a new empty Homey app. This is a great base to start developing a new Homey app. Read the getting started guide to learn more.

Adding a new Driver

homey app driver create

This command will add a new driver to your Homey app.

Adding a new Flow

homey app flow create

This adds a new Flow card to your app. If you want to add a new Flow card with a device filter you can use the following command.

homey app driver flow create

Change the capabilities of a Driver

If you want to update the capabilities of your driver you can use this command. This is helpful because it shows a list of all available capabilities and allows you to toggle which one your driver has.

Add/update firmware updates of a Driver

Add firmware updates to a driver. Supported for Zigbee and Z-Wave devices.

Install TypeScript utilities

If you want to use TypeScript in your app this command installs all the packages that are necessary. Read the TypeScript guide to learn more.

Add GitHub workflows

This command adds GitHub Actions workflows for validating, versioning, and publishing your app.

Build a Homey app for publishing

Use this command to create a production build of your app that is ready for publishing.

Migrate to Homey Compose

If you have an older Homey app that doesn't use Homey Compose this command will split up your App Manifest into the various Homey Compose files.

Dependency utilities

This command group contains dependency-related utilities for Python-based apps.

Discovery utilities

This command group contains utilities for working with app discovery strategies.

Validate a Homey app

This command checks whether your Homey app has a valid App Manifest. This is automatically checked when you use homey app run, homey app install, and homey app publish. This command also supports a --level=publish option, which checks whether your app includes valid assets.

Run a Homey app in development mode

You can use this command to run and debug your Homey App. You can see the console output of your app live while the command is running. Quitting the command will uninstall the app from Homey.

Install a Homey app

Using this command you can install apps on your Homey without having to keep a command running. This can be useful for longer term testing. Note that unlike homey app run you cannot see the console output from your app when using this command.

Open your app in Homey Developer Tools

Use this command to quickly open your app in the Homey Developer Tools.

Publish a Homey app to the Homey App Store

When you want to share your Homey app with other people you can use this command to publish it to the Homey App Store. Read more about publishing your app in the publishing guide.

Update a Homey app's version

This command updates the version of your Homey app. Homey apps use semver and with this command you can choose to bump the version by a "patch", "minor", or "major" version. homey app publish will also ask whether you want to update your app's version.

Translate your app with OpenAI

Use this command to translate your app's .json and README.txt files.

Open the App Store Page of your Homey app

Install the dependencies of a Homey app

This command installs the libraries a Homey app depends on. For Python apps this pre-compiles the dependencies for distribution with the app.

Add dependencies to a Homey app

This command adds any libraries given (optionally with version constraints) as a dependency of the Homey app. If an already added dependency is added again with a version constraint, its version constraint will be updated. For Python apps this updates the pre-compiled dependencies for distribution with the app.

Remove dependencies from a Homey app

This command removes any libraries given as a dependency of the Homey app. For Python apps this updates the pre-compiled dependencies for distribution with the app.

List dependencies of a Homey app

If you want to quickly open the Homey App Store page of your app you can use this command.

Widget commands

Use this command to create a widget for your app. Read the Widgets guide to learn how widgets work and what files are generated.

Top-level Commands

Direct Homey API commands

Use homey api to inspect and call the Homey API directly. It includes helpers such as homey api schema, homey api raw, and homey api diagnose, plus manager-specific commands like homey api devices and homey api flow.

This command shows the dependency structure of the Homey app.

Additional Commands

Login with an Athom account

In order to use the Homey CLI to run or publish your Homey app you need to login to your Athom account. This command will automatically open the Homey OAuth2 dialog in your default browser.

Logout the current user

The Homey CLI stays logged into your Athom account until you logout. It is therefore recommended to logout if you logged in on a computer that isn't yours or that is used by people you do not know.

Open the Homey Apps SDK documentation

A useful shortcut to quickly open the Homey Apps SDK documentation.

Generate shell completion scripts

Use this command to generate a shell completion script for your shell.

List your Homeys

Lists the Homeys available on your Athom account.

Select a Homey

If you have multiple Homeys you can use this command to select which Homey you want to test your app with. This command only affects the behaviour of homey app run and homey app install.

Open Homey Developer Tools

Open the Homey Developer Tools in your browser.

Unselect the active Homey

Clears the currently selected Homey.

Show the current logged in user

Shows which Athom account is currently logged in.

Last updated

Was this helpful?