<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>blog.matterxiaomi.com</title>
  <id>http://blog.matterxiaomi.com/</id>
  <subtitle>This site is all about blog.matterxiaomi.com.</subtitle>
  <generator uri="https://github.com/madskristensen/Miniblog.Core" version="1.0">Miniblog.Core</generator>
  <updated>2026-10-19T20:01:08Z</updated>
  <entry>
    <id>http://blog.matterxiaomi.com/blog/integrate-zigbee-devices-homeassistant-part4/</id>
    <title>Part4 - Setting up a new Zigbee network using Avatto GW70-Ti Zigbee 3.0 USB Dongle( zigbee2mqtt)</title>
    <updated>2026-10-19T20:44:54Z</updated>
    <published>2026-10-19T20:01:08Z</published>
    <link href="http://blog.matterxiaomi.com/blog/integrate-zigbee-devices-homeassistant-part4/" />
    <author>
      <name>test@example.com</name>
      <email>matterxiaomi.com</email>
    </author>
    <category term="zigbee" />
    <category term="zigbee2mqtt" />
    <content type="html">&lt;p&gt;Part4 - Setting up a new Zigbee network using Avatto GW70-Ti Zigbee 3.0 USB Dongle( zigbee2mqtt)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Avatto GW70-Ti Zigbee 3.0 USB Dongle&lt;/p&gt;
&lt;p&gt;The Avatto GW70-Ti Zigbee 3.0 USB Dongle&amp;nbsp; is built on the Texas Instruments CC2652P chip paired with a CP2102N USB-to-UART bridge, it is natively supported by Zigbee2MQTT using the standard zstack adapter driver.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="mce-toc"&gt;
&lt;h2&gt;Table of Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k5asdicg3"&gt;Architecture Overview&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1k5asdicg3"&gt;Architecture Overview&lt;/h2&gt;
&lt;p&gt;Zigbee Sensors (Temp, Motion, Switch)-&amp;gt;USB Zigbee Dongle (Pi)-&amp;gt;Zigbee2MQTT (Container)-&amp;gt;osquitto MQTT Broker (Container)-&amp;gt;Home Assistant (Container)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;step 1.Insert your USB Zigbee dongle into one of the blue USB 3.0 ports of your Raspberry Pi.&amp;nbsp;&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;ls -l /dev/ttyUSB0
ls -la /dev/serial/by-id/&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;step 2.Install&amp;nbsp;Zigbee2MQTT (Container)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;step 3.Configure Zigbee2MQTT&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;web ui&lt;/p&gt;
&lt;p&gt;http://ip:8080&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;step 4. add zigbee device -&amp;nbsp;In the Zigbee2MQTT Web UI&lt;/p&gt;
&lt;p&gt;Pair Your First Device&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;web ui&lt;/p&gt;
&lt;p&gt;http://ip:8080&lt;/p&gt;
&lt;p&gt;4.1 Enable Pairing Mode&amp;nbsp;&lt;/p&gt;
&lt;p&gt;navigate to http://&amp;lt;your-pi-ip&amp;gt;:8080 to access the Zigbee2MQTT Dashboard.&lt;/p&gt;
&lt;p&gt;Permit join (All)&lt;/p&gt;
&lt;p&gt;4.2 reset zigbee device&lt;/p&gt;
&lt;p&gt;Xiaomi Mi door and window sensor（MCCGQ01LM）&lt;/p&gt;
&lt;p&gt;Press and hold the reset button on the device for +- 5 seconds (until the blue light starts blinking).&lt;/p&gt;
&lt;p&gt;https://www.zigbee2mqtt.io/devices/MCCGQ01LM.html&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;4.3 Auo Discovery Device by Zigbee2MQTT&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;useful links&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;AVATTO Dongle Flasher&lt;/p&gt;
&lt;p&gt;https://dongle.avattosmart.com/&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Connecting Zigbee Devices to Home Assistant Container via Docker&lt;/p&gt;
&lt;p&gt;https://ohyaan.github.io/tips/smart_home__connecting_zigbee_devices_to_home_assistant_container_via_docker/&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>http://blog.matterxiaomi.com/blog/run-local-llm-server-part8/</id>
    <title>Part8 - Home Assistant + llama.cpp + Home-3B-v3 : Fully Local LLM Voice</title>
    <updated>2026-09-16T19:21:02Z</updated>
    <published>2026-09-15T19:04:39Z</published>
    <link href="http://blog.matterxiaomi.com/blog/run-local-llm-server-part8/" />
    <author>
      <name>test@example.com</name>
      <email>matterxiaomi.com</email>
    </author>
    <category term="ai" />
    <category term="llm" />
    <content type="html">&lt;p&gt;Raspberry Pi 5 (8GB) using Home Assistant, llama.cpp (llama-server), and a compact 3B model like Home-3B-v3 (or similar small-parameter quantized models) provides a private, offline smart home experience.&lt;/p&gt;
&lt;div class="mce-toc"&gt;
&lt;h2&gt;Table of Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k2lqkkmvc"&gt;Step 1: Download a quantized model&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k2lqkkmvd"&gt;Step 2: Run llama.cpp (llama-server) Locally with docker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k2lqkkmve"&gt;Step 3: Connect&amp;nbsp; Llama.cpp server to Home Assistant&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 id="mcetoc_1k2lqkkmvc"&gt;Step 1: Download a quantized model&lt;/h2&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;# 1. https://gub.com/acon96/home-llmith/Home-Llama-3.2-3B
# Home Llama 3.2 3B (Latest Stable - Best Quality &amp;amp; Multilingual)
wget -O Home-Llama-3.2-3B-Q4_K_M.gguf \
  "https://huggingface.co/acon96/Home-Llama-3.2-3B/resolve/main/Home-Llama-3.2-3B.q4_k_m.gguf"

# 2. https://gub.com/acon96/home-llmith/acon96/Home-FunctionGemma-270m
# Home FunctionGemma 270M (Ultra-fast / Low RAM - ideal for sub-second responses)
wget -O Home-FunctionGemma-270m-Q4_0.gguf \
  "https://huggingface.co/acon96/Home-FunctionGemma-270m/resolve/main/Home-FunctionGemma-270m.q4_0.gguf"

# 3. Home 3B v3 (StableLM-Zephyr base)
wget -O Home-3B-v3-Q4_K_M.gguf \
  "https://huggingface.co/acon96/Home-3B-v3-GGUF/resolve/main/Home-3B-v3.q4_k_m.gguf"&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1k2lqkkmvd"&gt;Step 2: Run llama.cpp (llama-server) Locally with docker&lt;/h2&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;docker run -it --rm \
  --name homellm \
  -v /datadocker/home-llm/models:/models \
  -p 8092:8080 \
  ghcr.io/ggml-org/llama.cpp:server-b10499  \
  -m /models/Home-3B-v3-Q4_K_M.gguf \
  --host 0.0.0.0 \
  --port 8080 \
  --threads 4 \
  --jinja&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;vist test:&lt;/p&gt;
&lt;p&gt;http://192.168.2.125:8092/&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1k2lqkkmve"&gt;Step 3: Connect&amp;nbsp; Llama.cpp server to Home Assistant&lt;/h2&gt;
&lt;p&gt;Connect Home Assistant to llama.cpp server&amp;nbsp; using a llama.cpp&amp;nbsp;integration.&lt;/p&gt;
&lt;p&gt;add llama.cpp integration&lt;/p&gt;
&lt;p&gt;URL:http://192.168.2.125:8092/v1&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>http://blog.matterxiaomi.com/blog/ha-mcp-server-part1/</id>
    <title>part 1 - Claude Code + ha mcp server  for Home Assistant</title>
    <updated>2026-08-29T18:31:44Z</updated>
    <published>2026-08-29T18:31:44Z</published>
    <link href="http://blog.matterxiaomi.com/blog/ha-mcp-server-part1/" />
    <author>
      <name>test@example.com</name>
      <email>matterxiaomi.com</email>
    </author>
    <category term="ai" />
    <category term="ha claude code" />
    <content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I use Claude Code (Anthropic&amp;rsquo;s AI assistant) directly into Home Assistant. With it, you can create automations, debug configurations, and manage your smart home using natural language through Claude Code.&lt;/p&gt;
&lt;div class="mce-toc"&gt;
&lt;h2&gt;Table of Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k17cl5co1h"&gt;What does it do?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k17cl5co1i"&gt;Usage examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k17cl5co1j"&gt;How does it work?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k17cl5co1k"&gt;Requirements&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 id="mcetoc_1k17cl5co1h"&gt;What does it do?&lt;/h2&gt;
&lt;p&gt;Create automations by describing what you want in plain English&lt;/p&gt;
&lt;p&gt;Access your entities - Claude can see your sensors, lights, climate, etc.&lt;/p&gt;
&lt;p&gt;Edit YAML configurations directly&lt;/p&gt;
&lt;p&gt;Debug automations that aren&amp;rsquo;t working&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1k17cl5co1i"&gt;Usage examples&lt;/h2&gt;
&lt;p&gt;claude &amp;ldquo;List all my automations&amp;rdquo;&lt;/p&gt;
&lt;p&gt;claude &amp;ldquo;Create an automation to turn off lights when I leave home&amp;rdquo;&lt;/p&gt;
&lt;p&gt;claude &amp;ldquo;Why isn&amp;rsquo;t my motion sensor automation working?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;claude &amp;ldquo;Show the state of all temperature sensors&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1k17cl5co1j"&gt;How does it work?&lt;/h2&gt;
&lt;p&gt;The HA-MCP Custom Component from HACS uses ha-mcp server(Model Context Protocol) which allows Claude to:&lt;/p&gt;
&lt;p&gt;Query entity states&lt;/p&gt;
&lt;p&gt;Control devices&lt;/p&gt;
&lt;p&gt;List available services&lt;/p&gt;
&lt;p&gt;Access the entire Home Assistant API&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1k17cl5co1k"&gt;Requirements&lt;/h2&gt;
&lt;p&gt;Home Assistant Docker&lt;/p&gt;
&lt;p&gt;Anthropic account&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>http://blog.matterxiaomi.com/blog/ha-mcp-server-part2/</id>
    <title>part2 - Configure the Home Assistant MCP Server for your AI assistant</title>
    <updated>2026-08-29T22:25:26Z</updated>
    <published>2026-08-29T16:29:55Z</published>
    <link href="http://blog.matterxiaomi.com/blog/ha-mcp-server-part2/" />
    <author>
      <name>test@example.com</name>
      <email>matterxiaomi.com</email>
    </author>
    <category term="ha claude code" />
    <content type="html">&lt;p&gt;Combining Claude Code with an MCP Server is the modern, safest, and most powerful way to manage Home Assistant using natural language instead of relying strictly on manual SSH commands.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The best way to start is by using the HA-MCP Custom Component from HACS.&lt;/p&gt;
&lt;p&gt;step 1. Install HA-MCP Custom Component from HACS, then restart Home Assistant.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;step 2.Start&amp;nbsp;HA-MCP Server in Home Assistant.&lt;/p&gt;
&lt;p&gt;After it's running: you can get the HA-MCP sidebar panel.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;sterp 3.Copy the connect URL from the HA-MCP Custom Componen's Configure screen&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;step 4.Paste URL into your AI client&lt;/p&gt;
&lt;p&gt;Connecting Claude Code to Home Assistant with HA-MCP Server&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;step 5.write code&lt;/p&gt;
&lt;p&gt;Claude Code is a general AI agent that happens to write code.&lt;/p&gt;
&lt;p&gt;Haiku is fine for home assistant,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;useful links&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Claude Code&lt;/p&gt;
&lt;p&gt;https://homeassistant-ai.github.io/ha-mcp/setup/?method=ha-component&amp;amp;client=claude-code&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Connect Claude Code to tools via MCP&lt;/p&gt;
&lt;p&gt;https://code.claude.com/docs/en/mcp&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>http://blog.matterxiaomi.com/blog/run-local-llm-server-part7/</id>
    <title>part 7 - Build Your Own Private AI Station: Llama server with Docker+ Open WebUI with Docker</title>
    <updated>2026-08-20T15:18:45Z</updated>
    <published>2026-08-13T08:14:47Z</published>
    <link href="http://blog.matterxiaomi.com/blog/run-local-llm-server-part7/" />
    <author>
      <name>test@example.com</name>
      <email>matterxiaomi.com</email>
    </author>
    <category term="ai" />
    <content type="html">&lt;p&gt;I am running llama.cpp&amp;nbsp; server with&amp;nbsp; Gemma 4 (E2B) model on an rp55 8GB.&lt;/p&gt;
&lt;p&gt;Connecting llama.cpp running Gemma 4 (E2B) to Home Assistant via HA-MCP allows the AI model to perform local, tool-calling smart home control.&lt;/p&gt;
&lt;p&gt;RPi5 8GB +docker llama.cpp server + Gemma 4 E2B + docker Home Assistant + ha-mcp-integration(build-in ha-mcp server )+docker Open WebUI.&lt;/p&gt;
&lt;p&gt;Open WebUI will begin using your local Llama.cpp server as a backend!&lt;/p&gt;
&lt;div class="mce-toc"&gt;
&lt;h2&gt;Table of Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k03canlal"&gt;Overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k03canlam"&gt;How it work?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k0e3osc9q"&gt;Install&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k0e3qsm916"&gt;Step 1: Install Llama.cpp server with docker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k0e3qsm917"&gt;Step 2: Install Open WebUI with docker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k0e3qsm917"&gt;Step 3: Install ha-mcp-integration(build-in ha-mcp server ) in home assistant&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k0e3m1opl"&gt;Connections&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k0e3m1opm"&gt;Step 4:&amp;nbsp;Connect &amp;nbsp;Llama.cpp server via Open WebUI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k0e3m1opn"&gt;Step 5: Connect ha-mcp server via Open WebUI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k0e3m1opo"&gt;&amp;nbsp;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 id="mcetoc_1k03canlal"&gt;Overview&lt;/h2&gt;
&lt;p&gt;Runs the full ha-mcp server inside Home Assistant.Transport: use Streamable HTTP&lt;/p&gt;
&lt;p&gt;Set up your Llama.cpp server with docker&lt;/p&gt;
&lt;p&gt;Llama.cpp server Load large models locally&lt;/p&gt;
&lt;p&gt;Enable 4GB&amp;nbsp; of ZRAM swap space to prevent hard OOM crashes during heavy context processing.&lt;/p&gt;
&lt;p&gt;Integrate with Open WebUI for a seamless interface&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;#docker images
REPOSITORY                      TAG       IMAGE ID       CREATED         SIZE
ghcr.io/ggml-org/llama.cpp      server    bde659bfc300   8 days ago      1.21GB
ghcr.io/open-webui/open-webui   v0.11.0   72c0ba641ba7   2 weeks ago     7.15GB
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1k03canlam"&gt;How it work?&lt;/h2&gt;
&lt;p&gt;Architecture Overview&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;Open WebUI Docker(port 3000)
    &amp;darr; OpenAI-compatible API
llama.cpp server (port 8080) &amp;larr; Gemma 4 E2B Q4
    &amp;darr; (tool calls via MCP)
ha-mcp (inside HA or add-on)
    &amp;darr;
Home Assistant Docker&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;┌─────────────────┐       MCP       ┌─────────────────┐      REST/WS      ┌─────────────────┐
│ MCP Host Client │ ──────────────&amp;gt; │  HA-MCP Server  │ ────────────────&amp;gt; │ Home Assistant  │
│ (Open WebUI /   │                 │   (:9584)       │                   │   (:8123)       │
│  MCP Agent)     │                 └─────────────────┘                   └─────────────────┘
└────────┬────────┘
         │ OpenAI API
         ▼
┌─────────────────┐
│  llama.cpp      │ (Gemma 4 E2B)
│  (:8080)        │
└─────────────────┘&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Note&lt;/p&gt;
&lt;p&gt;1.llama.cpp acts as an inference server (provider)&lt;/p&gt;
&lt;p&gt;2.HA-MCP acts as an MCP tool provider&lt;/p&gt;
&lt;p&gt;3.Open WebUI&amp;nbsp;sends user prompts to llama.cpp server&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1k0e3osc9q"&gt;Install&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id="mcetoc_1k0e3qsm916"&gt;Step 1: Install Llama.cpp server with docker&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Step 2: Download a Supported Model&lt;/p&gt;
&lt;p&gt;cd&amp;nbsp;/datadocker/llama-cpp&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;docker pull ghcr.io/ggml-org/llama.cpp:server-b10499&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;docker run \
  --name llama \
  --restart=unless-stopped \
  -v /datadocker/llama-cpp/models:/models \
  -p 8091:8080 \
  ghcr.io/ggml-org/llama.cpp:server:server-b10499 \
  -m /models/google_gemma-4-E2B-it-Q4_0.gguf \
  --host 0.0.0.0 \
  --port 8080 \
  --threads 4 \
  --jinja \
  --reasoning-budget 0 \
  --chat-template-kwargs '{"enable_thinking": false}' \
  --ui-mcp-proxy &lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;you will get api:&lt;/p&gt;
&lt;p&gt;http://192.168.2.134:8091/v1&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id="mcetoc_1k0e3qsm917"&gt;Step 2: Install Open WebUI with docker&lt;/h3&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;docker pull ghcr.io/open-webui/open-webui:v0.11.0

cd /datadocker/open-webui/

docker run -d -p 3000:8080 --name open-webui \
 -v /datadocker/open-webui/data:/app/backend/data \
 ghcr.io/open-webui/open-webui:v0.11.0


web ui

http://192.168.2.125:3000/&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id="mcetoc_1k0e3qsm917"&gt;Step 3: Install ha-mcp-integration(build-in ha-mcp server ) in home assistant&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;first,Install&amp;nbsp;HA-MCP Custom Component&amp;nbsp;integration in ha&lt;/p&gt;
&lt;p&gt;then Add&amp;nbsp;HA-MCP Server in HA-MCP Custom Component integration.&lt;/p&gt;
&lt;p&gt;you will get api:&lt;/p&gt;
&lt;p&gt;http://192.168.2.125:9584/private_QQz2CLU3n8xR&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1k0e3m1opl"&gt;Connections&lt;/h2&gt;
&lt;h3 id="mcetoc_1k0e3m1opm"&gt;Step 4:&amp;nbsp;Connect &amp;nbsp;Llama.cpp server via Open WebUI&lt;/h3&gt;
&lt;p&gt;connect to a AI&amp;nbsp; Provider&lt;/p&gt;
&lt;p&gt;Add the API Connection in Open WebUI&lt;/p&gt;
&lt;p&gt;Connect Llama.cpp server to Open WebUI&lt;/p&gt;
&lt;p&gt;Open WebUI will begin using your local Llama.cpp server as a backend&lt;/p&gt;
&lt;p&gt;Open Open WebUI in your browser&lt;/p&gt;
&lt;p&gt;Go to ⚙️ Admin Settings &amp;rarr; Connections &amp;rarr; OpenAI.&lt;/p&gt;
&lt;p&gt;Click ➕ Add Connection.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;http://192.168.2.134:8091/v1&lt;/p&gt;
&lt;p&gt;add http://192.168.2.134:8091/v1,it is llama.cpp with gemma4 model&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id="mcetoc_1k0e3m1opn"&gt;Step 5: Connect ha-mcp server via Open WebUI&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;add ha mcp server&lt;/p&gt;
&lt;p&gt;Open Open WebUI in your browser&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Go to ⚙️ Admin Settings &amp;rarr; Tools &amp;rarr; Integrations.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Click ➕ Add External Tool Servers.&lt;/p&gt;
&lt;p&gt;http://192.168.2.125:9584/private_QQz2CLU3n8xR&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Note&lt;/p&gt;
&lt;p&gt;you can get Connect URL via&amp;nbsp;HA-MCP Custom Component integration in ha.&lt;/p&gt;
&lt;p&gt;http://192.168.2.125:8123/config/integrations/integration/ha_mcp_tools&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;debug step by step&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class="language-markup"&gt;&lt;code&gt;http://192.168.2.134:8091/v1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;cqrs&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;0.00.013.586 W srv  llama_server: CORS is set to allow all origins ('*') and no API key is set
0.00.013.586 W srv  llama_server: this can be a security risk (cross-origin attacks)
0.00.013.587 W srv  llama_server: more info: https://github.com/ggml-org/llama.cpp/pull/25655
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;useful links&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-llama-cpp/&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;add ha mcp server&lt;/p&gt;
&lt;p&gt;https://homeassistant-ai.github.io/ha-mcp/setup/?method=ha-component&amp;amp;client=open-webui&amp;amp;scope=local&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Docker HA + HA Custom Component (in-process server)+ Docker Open WebUI +&amp;nbsp;Local access&amp;nbsp; &amp;nbsp;on same host.&lt;/p&gt;
&lt;p&gt;https://homeassistant-ai.github.io/ha-mcp/setup/?method=ha-component&amp;amp;client=open-webui&amp;amp;scope=local&lt;/p&gt;
&lt;h2 id="mcetoc_1k0e3m1opo" class="section-header" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: #3b82f680; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; box-sizing: border-box; border: 0px solid #e5e7eb; margin: 0px 0px 1rem; --tw-text-opacity: 1; flex-wrap: wrap; align-items: center; gap: 0.75rem; line-height: 1.75rem; display: flex;" tabindex="-1" data-astro-cid-oustkjpu=""&gt;&lt;span style="font-size: 14px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>http://blog.matterxiaomi.com/blog/raspberry-pi-part12/</id>
    <title>Part 12 - update Raspberry Pi OS Trixie (2025) and increase swap to 4 GB</title>
    <updated>2026-08-15T19:41:27Z</updated>
    <published>2026-08-08T06:42:20Z</published>
    <link href="http://blog.matterxiaomi.com/blog/raspberry-pi-part12/" />
    <author>
      <name>test@example.com</name>
      <email>matterxiaomi.com</email>
    </author>
    <category term="raspberry pi" />
    <content type="html">&lt;p&gt;Raspberry Pi OS Trixie (2025)&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Because the RPi 5 shares system RAM between the CPU and AI workloads, careful configuration is required to prevent out-of-memory (OOM) crashes.&lt;/p&gt;
&lt;div class="mce-toc"&gt;
&lt;h2&gt;Table of Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jvgopheda"&gt;System Requirements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jvgophedb"&gt;Raspberry Pi OS Trixie (2025)&amp;nbsp; uses rpi-swap:&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jvg1urc71"&gt;Check Current Swap Configuration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;Expand Swap Using dphys-swapfile (Bookworm and Older).&lt;/p&gt;
&lt;p&gt;Expand Swap Using rpi-swap (Trixie and Newer).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Raspberry Pi OS Trixie (2025) or newer, the system uses rpi-swap instead of dphys-swapfile.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;rpi-swap is a new package that replaces/deprecates dphys-swapfile for configuring swap on your Raspberry Pi.it is a standard swap management solution, providing better performance and reliability than the old dphys-swapfile approach.&lt;/p&gt;
&lt;p&gt;Supports: Compressed RAM swap (zram), file-based swap, or hybrid modes.&lt;/p&gt;
&lt;p&gt;Using zram avoids small/frequent writes to /var/swap so as to increase SD card longevity.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Raspberry OS Version&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.4
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="mcetoc_1jvgopheda"&gt;System Requirements&lt;/h2&gt;
&lt;p&gt;Raspberry Pi OS Trixie (2025) or newer&lt;/p&gt;
&lt;p&gt;rpi-swap is installed.&lt;/p&gt;
&lt;h2 id="mcetoc_1jvgophedb"&gt;Raspberry Pi OS Trixie (2025)&amp;nbsp; uses rpi-swap:&lt;/h2&gt;
&lt;p&gt;Config Directory: /etc/rpi/swap.conf (drop-in configuration files).&lt;/p&gt;
&lt;p&gt;Default Swap Type: Compressed RAM swap (zram).&lt;/p&gt;
&lt;p&gt;Default Swap File: /dev/zram0.&lt;/p&gt;
&lt;p&gt;Default Size: Up to 2048MB, sized to match RAM (capped at 50% of disk space).&lt;/p&gt;
&lt;p&gt;Supports: Compressed RAM swap (zram), file-based swap, or hybrid modes.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;rpi-swap&lt;/p&gt;
&lt;p&gt;rpi-swap GitHub Repository (Official):https://github.com/raspberrypi/rpi-swap&lt;/p&gt;
&lt;p&gt;Modern swap management for Raspberry Pi systems, designed to replace dphys-swapfile with a more flexible and efficient approach.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1jvg1urc71"&gt;Check Current Swap Configuration&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Check total swap size and usage:&lt;/p&gt;
&lt;p&gt;free -h&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt; free -h
               total        used        free      shared  buff/cache   available
Mem:           7.9Gi       5.7Gi       342Mi       2.7Mi       2.0Gi       2.2Gi
Swap:          2.0Gi       2.0Gi       656Ki
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Check swap details&lt;/p&gt;
&lt;pre class="language-markup"&gt;&lt;code&gt;cat /proc/meminfo | grep Swap&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt; cat /proc/meminfo | grep Swap
SwapCached:           48 kB
SwapTotal:       2097136 kB
SwapFree:          26944 kB
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;see where the swap file is located:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;swapon --show&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt; swapon --show
NAME       TYPE      SIZE USED PRIO
/dev/zram0 partition   2G   0B  100
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;rpi-swap uses systemd generators so 'rpi-zram-writeback' will not appear in the list of package files.&lt;/p&gt;
&lt;pre class="language-markup"&gt;&lt;code&gt;tree /run/systemd/generator/

 tree /run/systemd/generator/
/run/systemd/generator/
├── boot-firmware.mount
├── dev-zram0.swap
├── getty.target.wants
│   └── serial-getty@ttyAMA10.service -&amp;gt; /usr/lib/systemd/system/serial-getty@.service
├── local-fs.target.requires
│   ├── boot-firmware.mount -&amp;gt; ../boot-firmware.mount
│   └── -.mount -&amp;gt; ../-.mount
├── local-fs.target.wants
│   ├── systemd-fsck-root.service -&amp;gt; /usr/lib/systemd/system/systemd-fsck-root.service
│   └── systemd-remount-fs.service -&amp;gt; /usr/lib/systemd/system/systemd-remount-fs.service
├── -.mount
├── netplan.stamp
├── rpc_pipefs.target
├── rpi-setup-loop@var-swap.service.d
│   ├── fast-symlink.conf
│   ├── no-dependency-cycle.conf
│   └── resize-swap.conf
├── rpi-zram-writeback.timer
├── run-rpc_pipefs.mount
├── sockets.target.wants
│   └── sshd-unix-local.socket -&amp;gt; ../sshd-unix-local.socket
├── sshd-unix-local@.service -&amp;gt; /usr/lib/systemd/system/sshd@.service
├── sshd-unix-local.socket
├── swap.target.wants
│   └── dev-zram0.swap -&amp;gt; ../dev-zram0.swap
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;install/configure rpi-swap (Trixie only):&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;sudo apt install rpi-swap
sudo reboot&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Configuration files are located at:&lt;/p&gt;
&lt;p&gt;/etc/rpi/swap.conf&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;detailed configuration options&lt;/p&gt;
&lt;pre class="language-markup"&gt;&lt;code&gt;man swap.conf&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;verify that swap has been configured properly:&lt;/p&gt;
&lt;p&gt;systemctl list-units --type swap&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;systemctl list-units --type swap
  UNIT           LOAD   ACTIVE SUB    DESCRIPTION                             
  dev-zram0.swap loaded active active rpi-swap managed swap device (zram+file)

Legend: LOAD   &amp;rarr; Reflects whether the unit definition was properly loaded.
        ACTIVE &amp;rarr; The high-level unit activation state, i.e. generalization of SUB.
        SUB    &amp;rarr; The low-level unit activation state, values depend on unit type.

1 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;References&lt;/p&gt;
&lt;p&gt;rpi-swap GitHub Repository (Official):https://github.com/raspberrypi/rpi-swap&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>http://blog.matterxiaomi.com/blog/run-local-llm-server-part6/</id>
    <title>run-local-llm-server-part6 debian vmware on windows 10</title>
    <updated>2026-08-23T11:26:51Z</updated>
    <published>2026-08-05T23:49:45Z</published>
    <link href="http://blog.matterxiaomi.com/blog/run-local-llm-server-part6/" />
    <author>
      <name>test@example.com</name>
      <email>matterxiaomi.com</email>
    </author>
    <category term="ai" />
    <content type="html">&lt;p&gt;Llama.cpp is a high-performance inference engine written in C/C++ designed for running Llama and compatible models in the GGUF format.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;vmware on windows 10&lt;/p&gt;
&lt;p&gt;&lt;img src="/Posts/files/Vmware-llamacpp-Windows10-1_639229465986322537.JPG" alt="Vmware-llamacpp-Windows10-1.JPG" width="760" height="741" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Overview&lt;/h2&gt;
&lt;p&gt;Set up your Llama.cpp server&lt;/p&gt;
&lt;p&gt;Load large models locally&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;docker pull ghcr.io/ggml-org/llama.cpp:server-b10499
docker pull ghcr.io/open-webui/open-webui:v0.11.0&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Step 1: Download a model in GGUF format from Hugging Face.&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;# llama.cpp only works with GGUF

# Create a dedicated folder for models:
mkdir -p /datadocker/llama-cpp

cd /datadocker/llama-cpp

mkdir models

cd /datadocker/llama-cpp/models


https://huggingface.co/unsloth/gemma-4-E2B-it-GGUF/tree/main

https://huggingface.co/bartowski/google_gemma-4-E2B-it-GGUF/tree/main

google_gemma-4-E2B-it-Q4_0.gguf

wget https://huggingface.co/bartowski/google_gemma-4-E2B-it-GGUF/resolve/main/google_gemma-4-E2B-it-Q4_0.gguf?download=true&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Step 2: Install Llama.cpp server with docker&lt;/p&gt;
&lt;p&gt;cd /datadocker/llama-cpp&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;docker run \
  --name llama \
  --restart=unless-stopped \
  -v /datadocker/llama-cpp/models:/models \
  -p 8091:8080 \
  ghcr.io/ggml-org/llama.cpp:server \
  -m /models/google_gemma-4-E2B-it-Q4_0.gguf \
  --host 0.0.0.0 \
  --port 8080 \
  --threads 4 \
  --jinja \
  --reasoning-budget 0 \
  --chat-template-kwargs '{"enable_thinking": false}' \
  --webui-mcp-proxy 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Step 4: Connect Llama.cpp server&amp;nbsp; via WebUI&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>http://blog.matterxiaomi.com/blog/ha-mcp-server-part4/</id>
    <title>part4 - Claude Code for Home Assistant(ha-mcp Server directly inside Home Assistant)</title>
    <updated>2026-08-29T18:32:34Z</updated>
    <published>2026-08-05T00:47:39Z</published>
    <link href="http://blog.matterxiaomi.com/blog/ha-mcp-server-part4/" />
    <author>
      <name>test@example.com</name>
      <email>matterxiaomi.com</email>
    </author>
    <category term="ha claude code" />
    <category term="ai" />
    <content type="html">&lt;p&gt;Claude Code for Home Assistant&lt;/p&gt;
&lt;p&gt;Is there a guide to setup home assistant with MCP and integrate with Claude？&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I created an guide&amp;nbsp;that integrates Claude Code (Anthropic&amp;rsquo;s AI assistant) directly into Home Assistant. With it, you can create automations, debug configurations, and manage your smart home using natural language through a browser-based terminal.&lt;/p&gt;
&lt;div class="mce-toc"&gt;
&lt;h2&gt;Table of Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jvr7j40ei"&gt;Install type&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jvr7j40ej"&gt;Usage examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jvr7j40ek"&gt;How does it work?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jvr7j40el"&gt;Requirements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k0at69so4"&gt;Inside home assistant&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jvr7j40em"&gt;Installation&amp;nbsp;ha-mcp-integration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jvr7l5sdq"&gt;Copy the connect URL for AI Client&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k03bgota1"&gt;Verify the Target Server is Active:&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src="/Posts/files/ha-mcp-integration-0-0_639215424540112818.JPG" alt="Run MCP Server directly inside Home Assistant" width="1102" height="405" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jvr7j40ei"&gt;Install type&lt;/h2&gt;
&lt;p&gt;Run MCP Server directly inside Home Assistant.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Note&lt;/p&gt;
&lt;p&gt;Newly solutions&amp;nbsp; usually ran as an internal Python process inside Home Assistant.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;ha-mcp-integration is a native Home Assistant integration that embeds an MCP (Model Context Protocol) Server directly inside Home Assistant.&lt;/p&gt;
&lt;p&gt;offcial website:https://github.com/homeassistant-ai/ha-mcp-integration&lt;/p&gt;
&lt;p&gt;download:https://codeload.github.com/homeassistant-ai/ha-mcp-integration/zip/refs/tags/v1.3.0&lt;/p&gt;
&lt;h2 id="mcetoc_1jvr7j40ej"&gt;Usage examples&lt;/h2&gt;
&lt;p&gt;claude &amp;ldquo;Create an automation to turn off lights when I leave home&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Create an automation that turns on the bedroom AC when the temperature exceeds 28&amp;deg;C.&lt;/p&gt;
&lt;h2 id="mcetoc_1jvr7j40ek"&gt;How does it work?&lt;/h2&gt;
&lt;p&gt;The ha-mcp-integration&amp;nbsp;uses ha-mcp (Model Context Protocol) server which allows Claude to:&lt;/p&gt;
&lt;p&gt;Query entity states&lt;/p&gt;
&lt;p&gt;Control devices&lt;/p&gt;
&lt;p&gt;List available services&lt;/p&gt;
&lt;p&gt;Access the entire Home Assistant API&lt;/p&gt;
&lt;p&gt;Besides the built-in tools, the server can expose tools coming from MCP servers.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;ha-mcp-integration&lt;/p&gt;
&lt;p&gt;The integration starts an MCP Server inside Home Assistant..&lt;/p&gt;
&lt;p&gt;The integration registers MCP Tools&lt;/p&gt;
&lt;p&gt;AI Mcp client connects via MCP.&lt;/p&gt;
&lt;p&gt;Architecture&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;                 AI Client
       (ChatGPT / Claude / Cursor)
                    │
          MCP Protocol (HTTP/SSE)
                    │
        ┌────────────────────────┐
        │ Home Assistant         │
        │ ha-mcp-integration     │
        │                        │
        │  MCP Server            │
        │  Tool Registry         │
        │  Authentication        │
        └──────────┬─────────────┘
                   │
          Home Assistant Core
                   │
      ┌────────────┴─────────────┐
      │ States                   │
      │ Services                 │
      │ Devices                  │
      │ Areas                    │
      │ Automations              │
      │ Scripts                  │
      │ History                  │
      └──────────────────────────┘&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;ha-mcp-integration:Full MCP Server running inside Home Assistant. AI clients connect directly to it.&lt;/p&gt;
&lt;p&gt;ha_mcp_tools:A library of MCP tools used by the MCP Server.&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;ha-mcp-integration
        │
        ├── starts MCP Server
        │
        └── uses ha_mcp_tools
                 │
                 ├── call_service
                 ├── get_state
                 ├── list_entities
                 ├── search_devices
                 └── ...&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;ha-mcp-integration does not "think up" automations by itself. Instead, it exposes Home Assistant capabilities as MCP tools, allowing an AI (ChatGPT, Claude, Cursor, etc.) to inspect your Home Assistant configuration and then create or modify automations.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1jvr7j40el"&gt;Requirements&lt;/h2&gt;
&lt;p&gt;Home Assistant Docker&lt;/p&gt;
&lt;p&gt;Anthropic account&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1k0at69so4"&gt;Inside home assistant&lt;/h2&gt;
&lt;h3 id="mcetoc_1jvr7j40em"&gt;Installation&amp;nbsp;ha-mcp-integration&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;ha-mcp-integration=HA-MCP Custom Component&lt;/p&gt;
&lt;p&gt;Step 1: Download the HA-MCP Custom Component:&lt;/p&gt;
&lt;p&gt;https://github.com/homeassistant-ai/ha-mcp-integration/releases&lt;/p&gt;
&lt;pre class="language-markup"&gt;&lt;code&gt;wget https://github.com/homeassistant-ai/ha-mcp-integration/archive/refs/tags/v1.3.0.zip&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;copy custom_components/ha_mcp_tools/ into config/custom_components/&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Step 2: Restart home assistant:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Step 3: Install the HA-MCP Custom Component:&lt;/p&gt;
&lt;p&gt;&lt;img src="/Posts/files/ha-mcp-integration-2-4_639215692998923340.JPG" alt="ha-mcp-integration-2-4.JPG" width="582" height="625" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src="/Posts/files/ha-mcp-integration-2-4_639215692999403388.JPG" alt="ha-mcp-integration-2-4.JPG" width="578" height="399" /&gt;&lt;/p&gt;
&lt;p&gt;Choose Add HA-MCP Server.it&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src="/Posts/files/ha-mcp-integration-2-4_639215692999718012.JPG" alt="ha-mcp-integration-2-4.JPG" width="585" height="325" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src="/Posts/files/ha-mcp-integration-2-4_639215692999958580.JPG" alt="ha-mcp-integration-2-4.JPG" width="585" height="370" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src="/Posts/files/ha-mcp-integration-2-4_639215693000172012.JPG" alt="ha-mcp-integration-2-4.JPG" width="1683" height="819" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1jvr7l5sdq"&gt;Copy the connect URL for AI Client&lt;/h2&gt;
&lt;p&gt;http://192.168.2.125:8123/config/integrations/integration/ha_mcp_tools&lt;/p&gt;
&lt;p&gt;Copy the connect URL from the entry's Configure screen (Settings &amp;rarr; Devices &amp;amp; Services &amp;rarr; HA-MCP Custom Component &amp;rarr; HA-MCP Server &amp;rarr; Configure)&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src="/Posts/files/ha-mcp-integration-2-4_639215693000582222.JPG" alt="ha-mcp-integration-2-4.JPG" width="573" height="837" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jvr7j40en" style="font-variation-settings: normal; font-feature-settings: normal; font-family: Arial, sans-serif; margin: 2rem 0px 0.67rem; line-height: 1.2; font-size: 21.112px; color: #222222; font-variant-ligatures: none; background-color: #f9f9f9;"&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1k03bgota1"&gt;Verify the Target Server is Active:&lt;/h2&gt;
&lt;p&gt;http://192.168.2.125:9584/private_QQz2CLU3n8xRQ1&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;HA-MCP server is up and running!

To connect, paste the full URL (including the /private_... key) into the
connector or MCP settings of your AI/LLM client. No username or password required.
Setup instructions: https://homeassistant-ai.github.io/ha-mcp/

--- Seeing this page? Your URL is set up correctly ---

If this page loads in your browser, the MCP server is reachable and the
URL is correct. If your AI client still cannot connect, the problem is
not on HA-MCP's side. Common causes:

- Geo / country blocking in your reverse proxy / CDN (Cloudflare, NGINX,
  Traefik, Zoraxy, etc.). Most AI/LLM services connect from US-based
  cloud infrastructure, so if you block US IP addresses (or only allow
  your own country), that is why your client cannot connect. Allow your
  provider's IP ranges (or your client's egress IPs). For example,
  Claude.ai connects from Anthropic's network, 160.79.104.0/21.
- WAF, bot-blocking, or rate-limiting rules on the proxy that drop or
  challenge the request.
- The AI client's network can sometimes be spotty -- you may just need
  to try connecting again.
- The AI client itself refusing certain domains or proxy providers on
  its end. This is rare and outside your control; try a different
  hostname or proxy if you suspect it.

Your proxy's access logs will show the blocked attempt -- look for the
request from your AI provider's IP (e.g. an Anthropic 160.79.x.x address).

--- Cloudflare Users ---

If your LLM cannot connect, Cloudflare's "Block AI training bots"
setting is the most common cause. To disable it:

1. Log in to Cloudflare (https://dash.cloudflare.com)
2. In the left sidebar, click Domains, then click Overview
3. Click on the domain you use for connecting to Home Assistant
4. On the right side, find "Control AI Crawlers"
5. Under "Block AI training bots", open the dropdown
6. Select "do not block (allow crawlers)"

Screenshot of the setting:
https://homeassistant-ai.github.io/ha-mcp/images/cloudflare-ai-crawlers-setting.jpg&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>http://blog.matterxiaomi.com/blog/ha-mcp-server-part3/</id>
    <title>part3 - Using Claude Code to manage your Home Assistant config step by step(docker ha-mcp server))</title>
    <updated>2026-08-29T17:29:38Z</updated>
    <published>2026-08-03T16:59:35Z</published>
    <link href="http://blog.matterxiaomi.com/blog/ha-mcp-server-part3/" />
    <author>
      <name>test@example.com</name>
      <email>matterxiaomi.com</email>
    </author>
    <category term="ai" />
    <category term="ha claude code" />
    <content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1k0r32131h"&gt;Install type&lt;/h2&gt;
&lt;p&gt;Run Standalone ha-mcp&amp;nbsp; MCP Server outside Home Assistant.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Note&lt;/p&gt;
&lt;p&gt;Earlier solutions (such as the standalone ha-mcp project) usually ran as an external Python process:&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;Claude
      │
Standalone ha-mcp Server
      │
REST/WebSocket
      │
Home Assistant&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This project provides a seamless integration between Home Assistant and Claude AI via the Model Context Protocol (MCP), enabling using Claude Code to manage your Home Assistant config through natural language&amp;nbsp;&amp;nbsp;step by step.&lt;/p&gt;
&lt;div class="mce-toc"&gt;
&lt;h2&gt;Table of Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k0r32131h"&gt;Install type&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jv49apuff"&gt;Prerequisites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jv49apufg"&gt;Architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jv49apufh"&gt;Installation&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jv4cr96ra"&gt;step 1.Start MCP server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jv4cr96rb"&gt;step 2.Install HA-MCP Custom Component in Home Assistant&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1k0r32131j"&gt;Connecting Claude Code to Home Assistant's HA-MCP server&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jv4cr96rc"&gt;step 3.Create a long-lived access token in Home Assistant&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jv4cr96rd"&gt;step 4.Configure Claude&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jv49cfk7j"&gt;Usage Examples&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 id="mcetoc_1jv49apuff"&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;Home Assistant ha-mcp MCP Server&lt;/p&gt;
&lt;p&gt;https://github.com/homeassistant-ai/ha-mcp&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Integration&lt;/p&gt;
&lt;p&gt;https://github.com/homeassistant-ai/ha-mcp-integration&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;AI client&lt;/p&gt;
&lt;p&gt;Claude Desktop&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1jv49apufg"&gt;Architecture&lt;/h2&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;┌─────────────────┐
│   Claude AI     │
│  (Sonnet 4.5)   │
└────────┬────────┘
         │ MCP Protocol
         │
┌────────▼────────┐
│ Standalone  MCP Server    │
│  (WebSocket)    │
└────────┬────────┘
         │ REST API
         │
┌────────▼────────┐
│ Home Assistant  │
│   (v2026.7)    │
└─────────────────┘&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;MCP server connects to my HA instance through a Long-lived access token to&amp;nbsp; access the Home Assistant API, giving it the ability to search entities, read automation traces, reload configs, and query device states.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;ha-mcp is a standalone server built for configuring, building, and debugging your smart home&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1jv49apufh"&gt;Installation&lt;/h2&gt;
&lt;h3 id="mcetoc_1jv4cr96ra"&gt;step 1.Start MCP server&lt;/h3&gt;
&lt;p&gt;Runs the ha-mcp server.&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;docker pull ghcr.io/homeassistant-ai/ha-mcp:latest


docker run -d \
  --name ha-mcp \
  --restart unless-stopped \
  -p 9000:9000 \
  -e HOMEASSISTANT_URL=http://192.168.1.100:8123 \
  -e HOMEASSISTANT_TOKEN=xxxxxxxxxxxxxxxx \
  -e MCP_PORT=9000 \
  ghcr.io/homeassistant-ai/ha-mcp:latest \
  ha-mcp-web&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Docker (HTTP server): run ghcr.io/homeassistant-ai/ha-mcp in HTTP mode, pointed at your Home Assistant URL and a long-lived token.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Start Docker Container&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;docker run -d --name ha-mcp -p 8086:8086 -v ha-mcp-data:/home/mcpuser/.ha-mcp -e HOMEASSISTANT_URL={{HOMEASSISTANT_URL}} -e HOMEASSISTANT_TOKEN={{HOMEASSISTANT_TOKEN}} ghcr.io/homeassistant-ai/ha-mcp:latest ha-mcp-web&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Server will be at: http://YOUR_IP:8086/mcp&lt;/p&gt;
&lt;p&gt;detail:https://homeassistant-ai.github.io/ha-mcp/setup/?method=docker&amp;amp;client=claude-desktop&amp;amp;scope=local&amp;amp;platform=linux&lt;/p&gt;
&lt;h3 id="mcetoc_1k0r32131i" class="instruction-title" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: #3b82f680; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; box-sizing: border-box; border: 0px solid #e5e7eb; margin: 0px; background-color: rgba(241, 245, 249, 0.3);"&gt;&amp;nbsp;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id="mcetoc_1jv4cr96rb"&gt;step 2.Install HA-MCP Custom Component in Home Assistant&lt;/h3&gt;
&lt;p&gt;To add the Model Context Protocol Server service to your Home Assistant instance, use this Integration:&lt;/p&gt;
&lt;p&gt;https://github.com/homeassistant-ai/ha-mcp-integration&lt;/p&gt;
&lt;p&gt;source code:https://github.com/homeassistant-ai/ha-mcp/tree/master/custom_components/ha_mcp_tools&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1k0r32131j"&gt;Connecting Claude Code to Home Assistant's HA-MCP server&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id="mcetoc_1jv4cr96rc"&gt;step 3.Create a long-lived access token in Home Assistant&lt;/h3&gt;
&lt;p&gt;You may create a Long-lived access token to allow the client to access the Home Assistant API.&lt;/p&gt;
&lt;p&gt;Go to User profile &amp;gt; Security tab,select Create token.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id="mcetoc_1jv4cr96rd"&gt;step 4.Configure Claude&lt;/h3&gt;
&lt;p&gt;An LLM application acts as a client and can connect to multiple MCP servers to provide context.&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;{
  "mcpServers": {
    "homeassistant": {
      "type": "http",
      "url": "http://localhost:9090",
      "headers": { "Authorization": "Bearer your-ha-access-token" }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1jv49cfk7j"&gt;Usage Examples&lt;/h2&gt;
&lt;p&gt;Automation Creation&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;"Create an automation that turns off all lights when I leave home"
"Set up a morning routine at 7 AM with lights and coffee machine"
"Alert me when the washing machine finishes"&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;useful links&lt;/p&gt;
&lt;p&gt;https://homeassistant-ai.github.io/ha-mcp&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;download&amp;nbsp;stable release&amp;nbsp;from the latest release&lt;/p&gt;
&lt;p&gt;https://github.com/homeassistant-ai/ha-mcp/releases&lt;/p&gt;
&lt;p&gt;https://github.com/homeassistant-ai/ha-mcp/releases/tag/v8.0.0&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Home Assistant MCP Server Add-on doc&lt;/p&gt;
&lt;p&gt;https://github.com/homeassistant-ai/ha-mcp/blob/master/homeassistant-addon/README.md&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Runs the full ha-mcp server inside Home Assistant.&lt;/p&gt;
&lt;p&gt;Home Assistant MCP Setup：https://homeassistant-ai.github.io/ha-mcp/setup/?method=ha-component&amp;amp;client=open-webui&amp;amp;scope=local&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;LM Studio +ollama+unofficial HA-MCP Server+ Claude Code&lt;/p&gt;
&lt;p&gt;https://www.xda-developers.com/i-connected-my-local-llm-to-home-assistant-through-mcp/&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>http://blog.matterxiaomi.com/blog/ha-template-part1/</id>
    <title>Ha Template</title>
    <updated>2026-07-17T18:55:21Z</updated>
    <published>2026-07-11T11:26:39Z</published>
    <link href="http://blog.matterxiaomi.com/blog/ha-template-part1/" />
    <author>
      <name>test@example.com</name>
      <email>matterxiaomi.com</email>
    </author>
    <content type="html">&lt;p&gt;The Template integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] allows creating entities which derive their values from other data.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Legacy template entities (alarm_control_panel, binary_sensor, cover, fan, light, lock, sensor, switch, vacuum, weather) have been removed in 2026.6. You have to migrate to modern template entity syntax.&lt;/p&gt;
&lt;div class="mce-toc"&gt;
&lt;h2&gt;Table of Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jt8f4dn36"&gt;ha 2026.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1jt8f4dn37"&gt;ha 2026.6&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 id="mcetoc_1jt8f4dn36"&gt;ha 2026.5&lt;/h2&gt;
&lt;p&gt;Old Syntax&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;#
# ---------------------------------- vacuum Template -----------------------------------
#
# https://www.home-assistant.io/integrations/vacuum.template/  old
# https://www.home-assistant.io/integrations/template/#state-based-vacuum---custom-attributes  new
vacuum:
  - platform: template
    vacuums:
      virtual_hallway_room_vacuum:
      #  unique_id:  virtual_hallway_room_vacuum

        start:
            action: script.vacuum_start
        pause:
            action: script.vacuum_pause
        stop:
            action: script.vacuum_stop
        return_to_base:
            action: script.vacuum_return_to_dock
        clean_spot:
            action: script.vacuum_clean_spot
        locate:
            action: script.vacuum_locate_vacuum
        set_fan_speed:
            action: script.vacuum_set_fan_speed
            data:
              speed: "{{ fan_speed }}"
        fan_speeds:
            - Low
            - Medium
            - High
        value_template: "{{ states('sensor.deebotx5pro') }}"
        # battery_level_template: "{{ states('sensor.deebotx5pro_battery')|int }}"
        fan_speed_template: "{{ states('sensor.vacuum_fan_speed') }}"
        attribute_templates:
          status: &amp;gt;-
            {% if (states('sensor.robot_vacuum_robot_cleaner_movement') == "after" and states('sensor.robot_vacuum_robot_cleaner_cleaning_mode') == "stop")  %}
              Charging to Resume
            {% elif states('sensor.vacuum.deebotx5pro') == "auto" %}
              Cleaning
            {% else %}
              Charging
            {% endif %}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Legacy (removed in 2026.6)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Unsupported YAML configuration for the command_line&amp;nbsp;&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;Configuring the template integration by adding platform: template under the vacuum: key is not supported. The template integration must be configured under its own template: key instead.

To resolve this:

Remove the following from your YAML configuration file:
vacuum:
  - platform: template
Move the configuration under the template: key instead.

Restart Home Assistant.&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1jt8f4dn37"&gt;ha 2026.6&lt;/h2&gt;
&lt;p&gt;New Syntax&lt;/p&gt;
&lt;pre class="language-csharp"&gt;&lt;code&gt;#
# ---------------------------------- Template -----------------------------------
#
# https://www.home-assistant.io/integrations/template
# https://community.home-assistant.io/t/how-to-define-area-in-configuration-yaml/240296/13
template:
  # https://www.home-assistant.io/integrations/template/#vacuum   new template 20260711
  - vacuum:
      - name: Living Room Vacuum
        clean_segments:
          action: script.vacuum_start
          data:
            segment_ids: "{{ segment_ids }}"
        segments: &amp;gt;-
          {{ [
            {'id': '1', 'name': 'Kitchen'},
            {'id': '2', 'name': 'Living room', 'group': 'Upstairs'},
          ] }}
        start:
          action: script.vacuum_start
        unique_id: living_room_vacuum&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;useful links&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;https://smarthomeassistant.co.uk/articles/home-automation/home-assistant-2026-6-template-migration&lt;/p&gt;</content>
  </entry></feed>