Control your Homey with AI assistants using natural language
AI Chat Control brings the power of AI to your smart home by connecting your Homey to advanced AI assistants like Claude. Using natural language, you can ask your AI assistant to control devices, trigger flows, and get information about your home - all without navigating through apps or remembering exact commands. The app uses the Model Context Protocol (MCP) standard, making it compatible with any MCP-enabled AI assistant.
The app works by running a local server on your Homey that communicates with your AI assistant. This means you need to be on the same network as your Homey for the connection to work. The app also provides a special Flow trigger card that lets you create custom commands - when your AI assistant sends a specific command, your Flow can perform any action you want, from playing your favorite radio station to running complex multi-device routines.
Once you've completed the setup, start with these example questions to see what AI Chat Control can do:
Method 1: Via Homey App
Method 2: Via Router
Model Context Protocol (MCP) is a standard that allows AI assistants like Claude to communicate with external tools and services. AI Chat Control uses MCP to let Claude control your Homey.
Windows:
%APPDATA%\Claude\claude_desktop_config.json
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Linux:
~/.config/Claude/claude_desktop_config.json
Open the file in a text editor and add the following configuration:
{
"mcpServers": {
"homey": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://[YOUR-HOMEY-IP]:3000/mcp",
"--allow-http"
]
}
}
}
Replace [YOUR-HOMEY-IP] with your Homey's actual IP address (e.g., 192.168.1.50)
If you already have other MCP servers configured, your file might look like this:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/username/Documents"]
},
"homey": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://192.168.1.50:3000/mcp",
"--allow-http"
]
}
}
}
Flow trigger cards are "When..." cards you can add to your Flows. The AI Chat Control app provides an "AI Tool call" card that lets Claude start your Flows with custom commands.
This card has two purposes: it teaches Claude what your Flow does and what information is needed, and it triggers the Flow to run when Claude sends the command with the required parameters. Only Flows with this card are made available to Claude as tools.
| Field | Description | Example |
|---|---|---|
| Command | The command name that will trigger this Flow | play_radio, bedtime_routine |
| Description | Explain to the AI what this command does | Play a radio station on the kitchen radio |
| Parameters | Optional parameters that Claude can provide (one per line) | streamUrl: string |
When the trigger fires, these tokens become available in your Flow:
{{Command}} - The command name{{Parameter 1}} - First parameter value{{Parameter 2}} - Second parameter value{{Parameter 3}} - Third parameter value{{Parameter 4}} - Fourth parameter value{{Parameter 5}} - Fifth parameter valueplay_radioPlay a radio station on the kitchen radiostreamUrl: string - Radio stream URL
streamName: string - Name of the radio station
{{Parameter 1}} (this is the streamUrl parameter){{Parameter 2}} (this is the streamName parameter)After creating or modifying a Flow, ask Claude to refresh:
"Refresh the Homey flows"
Claude will use the refresh_homey_flows tool to discover your new Flow. Alternatively, you can restart Claude Desktop.
Ask Claude:
"Start radio station BBC1 on the kitchen radio"
Claude will parse this request and call the play_radio command with the appropriate URL and station name.
Format: parameter_name: type - Description
IMPORTANT: Each parameter must be on its own line. Don't put multiple parameters on the same line.
Types you can use:
string - Any textnumber - Numbers (e.g., 42, 3.14)boolean - true or falseOptional parameters: Add ? after the validation
volume: number(0-100)? - Optional volume level
Ranges (for numbers): Specify min-max in parentheses
temperature: number(16-30) - Temperature in degrees Celsius
brightness: number(0-100) - Brightness percentage
Enums (for strings): Specify allowed values separated by | in parentheses
mode: string(on|off|auto) - Operating mode
color: string(red|green|blue) - Light color
bedtime_routine instead of br)turn_on_lights)These commands work out of the box without creating any Flows. Just ask Claude and it will control your devices directly.
To start a Flow using Claude, the Flow must contain an "AI Tool call" card. You cannot start existing Flows that don't have this card.
These questions leverage Claude's intelligence to analyze and interpret your Homey data in smart ways.
ping [homey-ip]http://[YOUR-HOMEY-IP]:3000/mcpOpen a browser and go to:
http://[YOUR-HOMEY-IP]:3000/health
You should see a JSON response with status information. If you get an error or timeout, the app may not be running.
Visit the Homey Community Forum for help.
When asking for help, include: