With our URL Scheme, you can create links to content in Controller for HomeKit. It's also possible to execute Scenes and Workflows with a link.
Quick Start
After installing Controller for HomeKit on a device, all links starting with controllerforhomekit://
will open the app.
You can open specific screens from the main menu like this:
controllerforhomekit://v1/cameras
controllerforhomekit://v1/accessories
controllerforhomekit://v1/scenes
By default, all links refer to the currently selected Home in Controller. However, you can append a URL parameter 'home' to open a specific Home:
controllerforhomekit://v1/scenes?home=Example%20Home
You can open specific detail views, like one particular Scene, by appending its name and including a Home name:
controllerforhomekit://v1/cameras/Example%20Camera?home=Example%20Home
You can open a view with a Smart Folder pre-selected by using the URL parameter 'folder':
controllerforhomekit://v1/scenes?home=Example%20Home&folder=My%20Lights
For Scenes and Workflows, you can use the parameter 'action' to make the app execute them.
controllerforhomekit://v1/scenes/Example%20Scene?home=Example%20Home&action=execute
Tip: When you create a Widget in Controller for HomeKit, you can touch and hold an action to copy the URL it uses to the clipboard.
URL Pattern
The general pattern for links to Controller looks like this:
controllerforhomekit://<api-version>/<view>/<target>?home=<home>&folder=<folder>?action=<action>
API Version
Currently, the only valid value for api-version is 'v1'.
View
The view parameter allows you to specify the views you can access from the app's main menu and zones. Valid values are:
cameras, accessories, scenes, automations, workflows, rooms, zones, backups, logs, maintenance, serviceGroups, widgets, watchScreens, nfcTags, settings
Target
The target parameter lets you specify a particular detail view in one of the main views. E.g., a specific Scene. You can set a target for the following views:
cameras, accessories, scenes, automations, workflows, rooms, zones, widgets
The value for the target is the name of the object you want to open. If the name contains a space or special characters, you need to percent-encode them. See Special Characters.
When you specify a target, you always need to provide a home.
To open the workflow "Check Windows" in the Home "My Home" the URL needs to look like this:
controllerforhomekit://v1/workflows/Check%20Windows?home=My%20Home
Home
The home parameter is optional, but it becomes mandatory when a target or folder is specified. It defines what Home Controller will select. If you provide no Home, the currently selected Home remains selected.
You need to percent-encode spaces and special characters in the Home name. See Special Characters.
Folder
The folder parameter lets you open a main view with a selected Smart Folder. You can specify a folder for the following views:
accessories, scenes, automations, logs
You need to percent-encode spaces and special characters in the folder name. See Special Characters.
When you specify a folder, you always need to provide a home.
To open the Smart Folder "Motion Sensors" in the Home "My Home" the URL needs to look like this:
controllerforhomekit://v1/accessories?home=My%20Home&folder=Motion%20Sensors
Action
The action parameter allows you to tell Controller for HomKit what action the URL should trigger. The app will open the URL target if no action is specified.
There are currently two options supported:
open, execute
The action execute can only be used if the target parameter is a Scene or a Workflow. It will apply the Scene or run the Workflow immediately instead of opening its detail view.
Special Characters
URLs cannot contain spaces or special characters like exclamation marks, question marks, or ampersands. If your target, folder, or Home includes a special character, you must percent-encode it.
For example, you must replace each space with %20. That means if you want to open a Scene 'Late Night' in your Home 'My Home', the URL needs to look like this:
controllerforhomekit://v1/scenes/Late%20Night?home=My%20Home
You can learn more about percent-encoding and the codes for different characters here: https://www.w3schools.com/tags/ref_urlencode.ASP