senn-techsenn-tech
Smart Home
Smart Home2026-10-16· Von Franz Senn

Home Assistant neben Loxone mit lokalem Sprachmodell: Was wir gebaut haben, was nicht und warum

Wir bauen in einem Neubau Home Assistant neben einen Loxone Miniserver. Loxone bleibt die Steuerung, Home Assistant liefert, was Loxone nicht kann, und ein lokales Sprachmodell soll später das Wohnzimmer bedienen, ohne dass ein Wort das Haus verlässt. Der Stand ist ein Test: Home Assistant läuft seit dem 14. Oktober 2026 in einem Container, die Verbindung zu Loxone ist noch nicht eingerichtet. Dieser Beitrag beschreibt die Regeln, die sich beim Planen und Messen ergeben haben, nicht ein fertiges Haus.

Warum es Home Assistant überhaupt braucht

Der Grund ist einer, und er zählt: Loxone hat keinen Radar-Melder. Der Präsenzmelder Tree arbeitet mit Infrarot und akustisch, der ältere Bewegungsmelder Tree war reines Infrarot. Eine Volltextsuche in der Loxone-Wissensdatenbank nach Radar, mmWave und 24 GHz hat bei uns keinen Treffer geliefert. Die eigene Dokumentation nennt die Schwäche selbst. Die Eigenschaft „Präsenzdauer ohne Bewegung" hat den Standardwert 1800 Sekunden, und die Präsenz endet, wenn für diese Dauer keine Bewegung mehr erfasst wurde. Das verhindert, dass Umgebungsgeräusche die Präsenz ungewollt aktiv halten. Es heißt auch: Wer still sitzt, fällt heraus, und wer weg ist, aber das Radio laufen lässt, bleibt drin.

Home Assistant liest dafür mmWave-Sensoren, die auch Menschen ohne Bewegung erkennen. Fällt der Grund weg, weil Loxone selbst einen Radarmelder bringt, fällt der ganze Aufbau weg. Wir wollen ihn nicht aus Gewohnheit weiterbauen.

Die Regel: Sensorwerte hinein, Logik bleibt in Loxone

Wer was entscheidetmmWave-SensorESPHome, Zonen undMehrfachzieleHome Assistantliest und gibt weiterVirtueller EingangLoxone nimmt den Wert anLichtlogik in Loxonebleibt die einzige SteuerungLichtläuft auch, wenn HomeAssistant neu startet
Der Sensorwert geht über einen virtuellen Eingang nach Loxone. Die Logik liegt nicht in Home Assistant. (Quelle: Eigene Planung, Stand 29.8.2026)

Die Richtung ist nicht beliebig. Das PyLoxone-Issue 511 zeigt, dass ein Schreibzugriff von Home Assistant auf die Lichtsteuerung V2 still fehlschlägt, der Schalter fällt nach zwei Sekunden zurück. Und ein Neustart von Home Assistant darf das Licht im Gäste-WC nicht ausschalten. Für den Weg in den virtuellen Eingang reicht deshalb ein rest_command von Home Assistant, PyLoxone ist dafür gar nicht nötig.

PV-Anlage und Wärmepumpe lesen wir deshalb über Loxone und nicht über einen zweiten Modbus-Client in Home Assistant. Der Dongle der PV-Anlage verträgt nur zwei gleichzeitige Verbindungen.

Zwei Kauffallen bei den Sensoren

Der 15-Euro-Zigbee-Melder ist eine Kauflotterie. Die Bezeichnung „ZY-M100" bezeichnet eine Familie: Zigbee2MQTT führt sieben Modelleinträge, die sich nur an der Tuya-manufacturerName unterscheiden, vor dem Kauf nicht sichtbar. Eine neue Charge mit unbekannter ID endet als „Unsupported device". Wir setzen deshalb auf ESPHome mit dem Sensor LD2450, der Mehrziel- und Zonenerkennung kann. Die Komponente steckt in ESPHome selbst, ohne Zusatzpaket. mmWave braucht ohnehin Dauerstrom, ein Zigbee-Funknetz bringt hier nur ein zweites Netz.

Die Repositories der beliebten Everything-Presence-Geräte haben keine LICENSE-Datei, bei mehreren hundert Sternen. Wer ein Gerät privat betreibt, ist davon nicht berührt. Wer den Code übernimmt, ändert oder gewerblich nutzt, hat kein Nutzungsrecht.

Das lokale Sprachmodell

Das Ziel ist ein Sprachassistent im Wohnzimmer wie Google Assistant, vollständig lokal. Die Sprachkette im Test besteht aus Home Assistant, Piper (Stimme de_DE-thorsten-medium) und Speech-to-Phrase für Deutsch. Als Modellrechner haben wir die AMD-Karte R9700 mit 32 GB vorgesehen, die wir aus einem anderen Server ausgebaut haben. Das ist ein eigener kleiner Rechner im Haus, ohne Proxmox, weil eine Last keinen Hypervisor braucht.

Bei der Wahl der Engine haben wir gemessen. Die Messung liegt auf derselben Karte mit demselben Modell, Qwen3.8-27B, 256 Token je Anfrage, am 27. August 2026.

Token pro Sekunde auf der R9700, gleiche Karte, gleiches Modellllama.cpp mit MTP, 1 Anfrage36.9vLLM, 1 Anfrage26.1llama.cpp mit MTP, 8 Anfragen133.4vLLM, 8 Anfragen62.50140
Eigene Messung vom 27.8.2026, Qwen3.8-27B, 256 Token je Anfrage. Der Vorsprung bei einer Anfrage kommt vom MTP-Draftkopf, den vLLM auf dieser Architektur nicht nutzen kann. Ohne ihn macht llama.cpp 25,3 Token pro Sekunde. (Quelle: Eigene Messung, 27.8.2026)

Ein Haus-Assistent ist ein Strom, also zählt die erste Spalte: 36,9 gegen 26,1 Token pro Sekunde. Wir nehmen llama.cpp. Dazu ist ROCm der einzige brauchbare Weg, Vulkan reißt die Karte auf RDNA4 in einen Page-Fault.

Zwei Punkte haben Zeit gekostet oder hätten sie gekostet:

  • Ein 27B-Modell mit Nachdenken ist das falsche Werkzeug für „Licht an". Mit Spracherkennung, Prefill und Sprachausgabe rechnen wir mit drei bis fünf Sekunden, gegen etwa eine Sekunde bei Google. Das ist eine Schätzung, kein Messwert. Deshalb steht in Home Assistant „Befehle zuerst lokal bearbeiten": Gerätebefehle treffen einen Intent und laufen in unter einer Sekunde, das Modell bekommt nur echte Fragen.
  • Ohne enable_thinking: false liefert das Modell message.content leer, alles steht in reasoning_content, mit HTTP 200 und ohne Fehler. Das ist uns im Homelab schon zweimal passiert.

Fallen im Home-Assistant-Test

  • Piper meldet die Sprache de_DE. Wer de oder de-DE in die Pipeline schreibt, bekommt „Language not supported".
  • Beim ersten Einrichten legt Home Assistant einen TTS-Dienst von Google Translate an. Der schickt den Text an Google. Wir haben ihn gelöscht und prüfen nach jedem neuen Einrichten, ob er wieder da ist.
  • Der MCP-Server von Home Assistant begrenzt nur, was über MCP sichtbar ist. Das Long-Lived Token ist ein normales Benutzertoken und öffnet die gesamte Schnittstelle dieses Benutzers. Zugang deshalb nur mit einem eigenen Benutzer mit möglichst wenigen Rechten, nach dem Leerräumen der freigegebenen Entitäten, und Home Assistant gehört nicht ins Internet. Die Integration bietet zusätzlich die Option, den Endpunkt auf Administratorkonten zu beschränken, und Clients sehen nach der Dokumentation nur Entitäten, die ihnen freigegeben sind.
  • Nach dem Umzug des Hausnetzes funktionierten Loxone-Geräte nicht mehr, die per Hostname eingetragen waren. In der Loxone Config gehören IP-Adressen hinein, und Reservierungen im DHCP, weil Namen im neuen Netz nicht aufgelöst werden.

Was offen ist

PyLoxone ist installiert, aber noch nicht eingerichtet, der virtuelle Eingang in Loxone fehlt. Der Test läuft vorerst mit einem Testzugang, vor dem Echtbetrieb braucht Home Assistant in Loxone einen eigenen Benutzer mit minimalen Rechten. Das Mikrofon im Raum ist noch nicht gekauft, geplant ist die Home Assistant Voice Preview Edition, rund 60 Euro je Raum. PyLoxone hat im Wesentlichen einen Entwickler (559 Commits gegen 35 beim Zweiten), ist aber unter Apache 2.0 lizenziert und hat keine Alternative, der nächste Kandidat hat sechs Sterne gegen 304.

So haben wir gearbeitet

Dieser Beitrag beruht auf unseren eigenen Planungs- und Messnotizen vom 29. August bis 14. Oktober 2026, auf der Dokumentation von Home Assistant (MCP-Server) und auf den Repositories von PyLoxone und ESPHome. Die Messung zu llama.cpp und vLLM ist unsere, ihre Rohdaten liegen bei uns. Die Angabe „drei bis fünf Sekunden" ist eine Schätzung. Den Aufbau im Wohnzimmer gibt es noch nicht.

Weiterführende Quellen

Primärquellen

Fragen?
Warum braucht ein Loxone-Haus überhaupt Home Assistant?+

Weil Loxone keinen Radar-Präsenzmelder hat. Der Präsenzmelder Tree arbeitet mit Infrarot und akustisch, und die Dokumentation nennt als Standard, dass die Präsenz endet, wenn 1800 Sekunden keine Bewegung erfasst wurde. Wer still sitzt, fällt heraus. Home Assistant liest mmWave-Sensoren, die Anwesenheit ohne Bewegung erkennen. Bringt Loxone selbst einen Radarmelder, entfällt der Grund.

Reicht ein 27B-Modell für Sprachbefehle?+

Für Fragen ja, für Befehle wie Licht an nicht allein. Mit Spracherkennung, Verarbeitung und Sprachausgabe rechnen wir mit drei bis fünf Sekunden, das ist eine Schätzung. Home Assistant bearbeitet Gerätebefehle deshalb zuerst über eigene Intents in unter einer Sekunde, das Modell bekommt nur echte Fragen.

Ist der MCP-Zugang von Home Assistant sicher?+

Er begrenzt nur, was über MCP sichtbar ist. Das Long-Lived Token ist ein normales Benutzertoken und öffnet die gesamte Schnittstelle dieses Benutzers. Deshalb gehört dazu ein eigener Benutzer mit möglichst wenigen Rechten, eine geleerte Liste freigegebener Entitäten und kein Zugang aus dem Internet.