Spezifikation v0.1 · offen · herstellerneutral

Home Assistant: Festlegen, was KI-Agenten dürfen

Home-Mandate for Home Assistant sitzt zwischen deinen KI-Agenten und deinem Zuhause. Für jedes Gerät und jede Aktion entscheidet es: erlauben, nachfragen oder ablehnen – mit Freigabe auf dem Handy, Not-Aus und einem Protokoll, das sich nicht unbemerkt ändern lässt.

Erste Version

Das ist die erste Version von Home-Mandate for Home Assistant. Lies die Grenzen dieser Version(öffnet eine andere Website in einem neuen Tab) und mach Backups.

Warum ein Token nicht reicht

Ein KI-Agent mit einem Home-Assistant-Token kann alles, was dieser Token kann: die Haustür aufschließen, die Alarmanlage abschalten, das Garagentor öffnen. Eine Prompt-Injection in einer E-Mail oder Webseite, die der Agent liest, genügt, damit er es versucht. Geräte für Assistenten freizugeben kennt nur an oder aus – keine Zeitfenster, keine Grenzwerte, keine Rückfrage vor einer Aktion.

Home-Mandate behält die Zugangsdaten von Home Assistant für sich. Jeder Agent bekommt eine eigene Identität und ein eigenes Mandat, und jede Anfrage wird nach festen Regeln außerhalb des Sprachmodells entschieden – kein Agent kann sich mehr Rechte herbeireden. Warum Mandate?

So funktioniert es

  1. Der Agent fragt an Er verbindet sich per MCP und meldet sich mit OAuth 2.1 an. Einen Home-Assistant-Token sieht er nie.
  2. Das Mandat entscheidet Home-Mandate schlägt das Gerät nach und prüft das Mandat des Agenten: erlauben, nachfragen oder ablehnen.
  3. Du bestätigst Bei „nachfragen“ zeigt dein Handy in der Companion-App Erlauben und Ablehnen. Keine Antwort heißt nein.
  4. Home Assistant führt aus Nur eine erlaubte oder bestätigte Aktion erreicht Home Assistant. Alles landet im Protokoll.

Die Entscheidung trifft der Referenz-Evaluator der Home-Mandate-Spezifikation, nie ein Sprachmodell. Was nicht erlaubt ist, wird verweigert. Geräte, die ein Agent nicht lesen darf, gibt es für ihn nicht: Sie werden weder aufgelistet noch in Fehlern genannt.

Beispiel: ein erstes Mandat

Ein Mandat für einen Sprachassistenten, der im Haushalt hilft, könnte so aussehen. Home-Mandate bringt drei Vorlagen zum Start mit.

Erlauben

  • Licht in Wohnzimmer und Küche schalten
  • Temperaturen und Fenstersensoren lesen
  • Heizung einstellen, höchstens 22 °C

Erst nachfragen

  • Haustür aufschließen
  • Garagentor öffnen

Ablehnen

  • Alarmanlage abschalten
  • Alles, was im Mandat nicht steht
Ausprobieren, ohne etwas zu installieren

Im Spielplatz schreibst du ein Mandat und siehst sofort, welche Anfragen es erlaubt, nachfragt oder verweigert.

Zum Spielplatz

Was du festlegen kannst

  • Erlauben, nachfragen oder ablehnen je Gerät, Bereich, Kategorie und Aktion – mit Zeitfenstern, Wochentagen, Grenzwerten (Helligkeit, Temperatur, Position, Lautstärke) und einer Obergrenze an Aktionen pro Stunde.
  • Kritische Aktionen – aufschließen, Tor oder Garage öffnen, Alarmanlage abschalten, Skripte ausführen, Kamerabilder – brauchen eine Rückfrage, auch wo eine Regel sie erlaubt, außer die Regel sagt ausdrücklich etwas anderes.
  • Rückfragen gehen über die Home-Assistant-Companion-App an die Handys der Personen, die du auswählst.
  • Ein Not-Aus stoppt alle Agenten auf einmal; einzelne Agenten lassen sich sperren.
  • Jede Entscheidung, Rückfrage und Änderung landet in einem verketteten Protokoll mit signierten Prüfpunkten.
  • Agenten bekommen kurzlebige Tokens, die an Home-Mandate gebunden sind; ohne Home-Assistant-Administrator wird kein Agent zugelassen.
  • Weboberfläche auf Deutsch und Englisch in der Seitenleiste von Home Assistant; Verwaltung auch auf der Kommandozeile.

Installation

  1. Voraussetzungen prüfenHome Assistant OS ab 2026.9 auf amd64 oder aarch64 – oder Home Assistant Container mit Docker oder Podman Compose. Die Companion-App auf dem Handy aller, die Rückfragen beantworten sollen.
  2. Home-Mandate installierenUnter Home Assistant OS das Repository unten im App Store hinzufügen (Einstellungen → Apps → App Store → ⋮ → Repositories) und Home-Mandate installieren. Mit Home Assistant Container läuft es über die Compose-Datei neben Home Assistant.
  3. Freigebende und ein Mandat einrichtenWähle, wer Rückfragen beantwortet, markiere kritische Geräte und starte mit einer der Vorlagen.
  4. Den ersten Agenten verbindenClaude Desktop, Claude Code, claude.ai, ChatGPT oder ein anderer MCP-Client meldet sich an; ein Home-Assistant-Administrator lässt ihn zu und wählt sein Mandat.

Das Repository für den App Store:

https://github.com/home-mandate/ha-home-mandate

Schritt für Schritt (auf Englisch): Home Assistant OS(öffnet eine andere Website in einem neuen Tab), Container-Modus(öffnet eine andere Website in einem neuen Tab), erste Schritte(öffnet eine andere Website in einem neuen Tab) und Agenten verbinden(öffnet eine andere Website in einem neuen Tab).

Erreichbarkeit von außen

Die meisten Agenten laufen nicht in deinem Heimnetz, sie müssen Home-Mandate also über HTTPS erreichen. Home-Mandate spricht nur TLS 1.3. Unter Home Assistant OS nutzt es ein Zertifikat in /ssl, etwa von der Let’s-Encrypt- oder DuckDNS-App, und braucht ein TLS-Passthrough oder eine Portweiterleitung.

Im Container-Modus kann Home-Mandate auch hinter deinem eigenen Reverse Proxy laufen: Es gibt Anleitungen für Traefik, nginx, Nginx Proxy Manager und Caddy(öffnet eine andere Website in einem neuen Tab).

Konformität

Home-Mandate for Home Assistant enthält den Referenz-Evaluator der Spezifikation und prüft bei jeder Änderung ihre Konformitätsfälle. Welche Version und welche Klassen es besteht, steht in der Liste der Implementierungen, geprüft anhand der veröffentlichten Berichte.

Fragen

Welche KI-Agenten funktionieren damit?

Jeder Agent, der MCP über HTTPS spricht und sich mit OAuth 2.1 anmeldet – zum Beispiel Claude Desktop, Claude Code, claude.ai und ChatGPT. Clients ohne Anmeldung im Browser koppeln sich mit einem Code.

#which-agents
Ersetzt es die Freigabe von Geräten für Assist?

Nein. Assist funktioniert weiter wie bisher. Home-Mandate ist der Zugang für KI-Agenten, die keinen Home-Assistant-Token bekommen sollen – mit Regeln je Agent statt einer Liste für alle.

#assist
Gehört das zu Home Assistant?

Nein. Home-Mandate for Home Assistant ist ein unabhängiges Open-Source-Projekt und setzt die offene Home-Mandate-Spezifikation um. Es nutzt die öffentlichen Schnittstellen von Home Assistant und verlangt von Home Assistant selbst nichts.

#official
Und openHAB, ioBroker oder andere Plattformen?

Die Spezifikation steht jeder Plattform offen. Implementierungen für andere Plattformen sind willkommen und erscheinen in der Liste der Implementierungen.

#other-platforms

Home-Mandate for Home Assistant steht unter AGPL-3.0-or-later. Quellcode, Releases und Issues: github.com/home-mandate/ha-home-mandate(öffnet eine andere Website in einem neuen Tab).