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

homey app driver capabilities

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.

Install TypeScript utilities

homey app add-types

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.

Migrate to Homey Compose

homey app 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.

Validate a Homey app

homey app validate

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 has supports a --level=publish option which will also check whether your app includes valid assets.

Run a Homey app in development mode

homey app run

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

homey app install

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.

Publish a Homey app to the Homey App Store

homey app publish

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

homey app 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 apps version.

Open the App Store Page of your Homey app

homey app view

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

Additional Commands

Login with an Athom account

homey login

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

homey logout

The Homey CLI remembers 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

homey docs

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

Select a Homey

homey select

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.