Home Controller

Provides multi-source control for Miele, LG ThinQ, HUUM, Phyn, and A.O. Smith MCP integrations with automated reports and slash commands.
  • javascript

0

GitHub Stars

javascript

Language

6 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "winsthuang-home-controller": {
      "command": "/absolute/path/to/miele-mcp-wrapper.sh",
      "args": []
    }
  }
}

You can run a unified MCP server that connects five home automation sources—Miele, LG ThinQ, HUUM Sauna, Phyn Water Monitor, and A.O. Smith Water Heaters—so you can monitor and control your devices from a single interface. This MCP setup lets you query device status, trigger actions, and receive centralized data and reports, all through standardized commands and slash actions.

How to use

Use an MCP client to connect to the five servers defined in your multi-server configuration. You can query current device status, start or stop appliances, and view energy or usage data. The system exposes a consistent set of tools across devices so you can orchestrate actions like starting a washer, checking sauna temperature, or pulling a water consumption report from Phyn.

Key capabilities include querying all connected devices, retrieving detailed status for each device, and issuing control commands such as starting, stopping, or adjusting operating modes. You can also access automated reports and run slash commands to get quick status updates for specific subsystems (laundry, kitchen, sauna, water, etc.).

How to install

Prerequisites: ensure you have Node.js v18+ installed for the MCP server wrappers and the required runtime environments for any integration you enable.

# Install Node.js if needed (example for macOS with Homebrew)
brew install node@18

# Install Python and pipx for LG ThinQ MCP server (if not already installed)
pipx ensurepath

# Install project dependencies
npm install

# Start all MCP wrapper servers (example start command shown in wrappers if available in your setup)
npm start

Configuration and setup details

The following MCP server configurations are defined to run locally as stdio servers. Each server uses a wrapper script to load credentials from your .env file. The servers are designed to be started by Claude Code via the provided wrapper scripts.

{
  "mcpServers": {
    "miele": {
      "type": "stdio",
      "command": "/absolute/path/to/miele-mcp-wrapper.sh",
      "args": []
    },
    "lg-thinq": {
      "type": "stdio",
      "command": "/absolute/path/to/lg-thinq-mcp-wrapper.sh",
      "args": []
    },
    "huum": {
      "type": "stdio",
      "command": "/absolute/path/to/huum-mcp-wrapper.sh",
      "args": []
    },
    "phyn": {
      "type": "stdio",
      "command": "/absolute/path/to/phyn-mcp-wrapper.sh",
      "args": []
    },
    "aosmith": {
      "type": "stdio",
      "command": "/absolute/path/to/aosmith-mcp-wrapper.sh",
      "args": []
    }
  }
}

Security and maintenance

Credentials are stored in a local .env file and are not committed to version control. Tokens and session data stay on your machine, and the wrappers load environment variables automatically from .env when they start.

If a token expires (for services that use expiring tokens), re-run the authentication helper or re-create the token as required by the specific integration, then restart the MCP wrappers to refresh the session.

Testing your setup

Test each integration to ensure you can list devices and retrieve status before enabling full automation.

# Miele test (example)
./test-miele-mcp.cjs

# LG ThinQ test (example)
./test-lg-dryer.cjs

# HUUM sauna test (example)
node test-huum-sauna.cjs

# Phyn test (example)
node test-phyn-mcp.cjs

# A.O. Smith test (example)
node test-aosmith-mcp.cjs

Slash commands and usage examples

After configuring, you can use slash commands to quickly check device status or control devices. Examples include querying laundry status, checking all kitchen appliances, or adjusting the sauna temperature. You can also run natural language queries like “What appliances do I have?” or “Heat the sauna to 80 degrees.”

/laundry-status
/kitchen-status
/sauna-status
/home-status
/start-washer
/start-dryer
/start-sauna
/stop-sauna
/water-status
/water-report
/water-heater-status
/set-water-heater

Troubleshooting

If a server configuration is not loading, verify that the .mcp.json is in the correct location and that all environment variables referenced in .env are present. Restart Claude Code after you make changes and check the logs for errors.

For each integration, verify credentials and network connectivity. If an integration returns 401 Unauthorized, re-authenticate or re-enter credentials and restart its wrapper.

Available tools

get_devices

Query all devices connected to an account for a specific service (e.g., Miele devices, Phyn devices, etc.).

get_device_status

Retrieve detailed status for a specific device by identifier.

device_action

Perform an action on a device such as start, stop, pause, or switch power on/off.

get_sauna_status

Fetch current HUUM sauna status including temperature, door state, and heater state.

start_sauna

Start the sauna with a target temperature and ensure safety checks (door closed) before activation.

stop_sauna

Turn off the HUUM sauna heater.

toggle_light

Toggle the sauna lighting on or off.

get_consumption

Retrieve historical water usage data for Phyn devices across different durations.

shutoff_valve

Open or close the main Phyn Plus shutoff valve.

get_energy_usage

Return energy consumption data for A.O. Smith water heaters, including lifetime and recent usage.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational