Ich beschäftige mich seit einer Weile mit dem Thema KI in Home Assistant und habe mir verschiedene Ansätze angeschaut: lokale Sprachmodelle mit Ollama, eigene Hardware, verschiedene Modelle. Alles super interessant, aber ehrlich gesagt auch ziemlich aufwendig. OpenRouter ist da ein anderer Weg. Du kriegst Cloud-LLMs wie DeepSeek, GPT-4o oder Claude direkt in Home Assistant, ohne irgendwelche Hardware anzuschaffen, und das für unter 10 Euro im Jahr. Ich zeige dir, wie das Ganze funktioniert, was es wirklich kostet und wie du die Integration in ein paar Minuten einrichtest.
Was OpenRouter eigentlich ist
OpenRouter ist im Kern ein Vermittler. Du schickst deine Anfrage dorthin, OpenRouter analysiert sie und leitet sie an das Sprachmodell weiter, das für diese Anfrage am besten geeignet ist. Das Ganze passiert automatisch. Du musst dich also nicht selbst entscheiden, welches Modell du nimmst, wenn du das nicht möchtest.
Über 350 Modelle sind dort angeschlossen, davon rund 38 wirklich sinnvoll für den Einsatz als Sprachassistent in Home Assistant. Neben diesem Auto-Routing kannst du aber auch gezielt ein bestimmtes Modell festlegen, wenn du mehr Kontrolle möchtest.
Wichtig ist, dass die Anfragen natürlich dein Zuhause verlassen. Text, deine Anfrage und die Liste der freigegebenen Entities gehen über OpenRouter zum jeweiligen Modellanbieter und zurück. Wer das nicht möchte, bleibt bei einer lokalen Lösung wie Ollama. Für alle anderen ist OpenRouter wahnsinnig praktisch.
Lokal vs. Cloud: was passt wirklich zu dir
Ich finde es sinnvoll, das einmal ehrlich nebeneinander zu stellen, denn beide Ansätze haben ihre Berechtigung.
Eine lokale Lösung mit Ollama bedeutet einmalige Hardwarekosten von irgendwo um die 600 Euro für einen vernünftigen Mini-PC, null laufende Kosten danach und 100% Offline-Betrieb. Keine Daten verlassen das Haus. Der Haken: lokale Modelle haben kein Weltwissen, sie kennen nur das, was zum Zeitpunkt des Trainings bekannt war. Komplexere Anfragen, die aktuelles Wissen brauchen, funktionieren dann einfach nicht gut.
OpenRouter dreht das um. Volles Weltwissen, immer aktuelle Modelle, keine Hardware. Dafür gehen Anfragen durchs Internet und du brauchst eine funktionierende Verbindung. Wer kein Mini-Rechenzentrum zuhause betreiben möchte und trotzdem einen schlauen Assistenten haben will, fährt mit OpenRouter definitiv besser.
Was das Ganze wirklich kostet
Eine typische Home-Assistant-Sprachanfrage besteht aus ungefähr 300 bis 1200 Input-Tokens und 20 bis 300 Output-Tokens. Der System-Prompt, die freigegebenen Entities und deine eigentliche Anfrage kommen zusammen als Input, die Antwort des Modells ist der Output.
Ich habe mal ein paar Modelle hochgerechnet, mit 30 Anfragen pro Tag als Basis:
1Gemini 2.0 Flash: ~ 0,90 € pro Jahr
2GPT-4o-mini: ~ 1,30 € pro Jahr
3DeepSeek V3: ~ 2,50 € pro Jahr
4DeepSeek R1: ~ 5,80 € pro Jahr
5GPT-4o: ~ 21,70 € pro Jahr
6Claude Sonnet 4: ~ 28,30 € pro JahrDeepSeek V3 trifft dabei das beste Verhältnis aus Preis und Leistung für normale Home-Assistant-Anfragen. Mit 10 Euro Guthaben kommst du auf zwei bis drei Jahre. Für einfache Befehle wie "Mach das Licht aus" liegt der Preis pro Anfrage bei etwa einem hundertstel Cent. Selbst komplexere Auswertungen kosten nur Bruchteile eines Cents.
Ein wichtiger Punkt noch: du kannst in OpenRouter ein Credit-Limit pro Monat setzen. Damit läufst du nie in eine Kostenfalle, egal wie viele Anfragen gestellt werden.
OpenRouter einrichten: Schritt für Schritt
Du brauchst mindestens Home Assistant 2025.8, denn seit dieser Version gibt es eine offizielle OpenRouter-Integration in HA Core.
Schritt 1: Account und API-Key
Geh auf openrouter.ai und registriere dich. Das geht auch einfach mit einem Google-Account. Danach lädst du Guthaben auf: Profilbild → Credits → Add Credits. Ich empfehle 10 Euro als Start, die reichen wahnsinnig lang.
Danach gehst du in der Sidebar auf Keys, klickst auf Create Key, gibst ihm einen Namen und setzt optional ein Credit-Limit. Den erzeugten Key sofort kopieren, er wird danach nicht mehr vollständig angezeigt.
Schritt 2: Integration in Home Assistant
In Home Assistant gehst du auf Einstellungen → Geräte & Dienste → Integration hinzufügen, suchst nach OpenRouter und fügst deinen API-Key ein. Das war's. HA validiert den Key direkt und die Integration ist angelegt.
Schritt 3: Konversationsagent anlegen
Auf der Integration-Karte klickst du auf Konversationsagent hinzufügen. Dort wählst du ein Modell aus, ich empfehle für den Einstieg DeepSeek V3 oder Auto Router. Dann passt du den System-Prompt auf Deutsch an:
1Du bist mein Sprachassistent in einem Smart Home.
2Antworte kurz und freundlich auf Deutsch, maximal 3 Sätze.
3
4Nutze die verfügbaren Tools, um Geräte zu steuern oder Zustände
5abzufragen. Wenn du eine Information brauchst, frage sie ab,
6bevor du antwortest.
7
8Bei Steuerungs-Anfragen: erst ausführen, dann bestätigen ("Erledigt.").
9Wenn du etwas nicht weißt, sag es ehrlich statt zu raten.Wichtig: die Checkbox Assist muss angehakt sein. Ohne diesen Haken kann das Modell nur reden, aber nichts schalten.
Schritt 4: Assist-Pipeline einrichten
Unter Einstellungen → Sprachassistenten legst du eine neue Pipeline an oder bearbeitest eine bestehende. Als Konversationsagent wählst du den gerade angelegten OpenRouter-Agenten aus. Für Spracheingabe und -ausgabe empfehle ich die Add-ons Whisper (Spracherkennung, Modell medium-int8) und Piper (Sprachausgabe, Stimme de_DE-thorsten-medium).
Schritt 5: Entities freigeben
Im Tab Expose entscheidest du, welche Entities das Modell sehen und steuern darf. Eine gute Faustregel sind 50 bis 100 Entities. Mehr macht die Anfragen teurer und die Antworten nicht unbedingt besser. Freigeben lohnt sich für alle Lichter, Schalter, Heizungsregler, wichtige Sensoren wie Wetter, Strompreis oder Solar, und Szenen. Diagnose-Entities wie Signalstärke oder letzte Reset-Zeiten braucht das Modell nicht.
Auch auf die Friendly Names achten: das Modell findet Geräte über den lesbaren Namen, nicht über die Entity-ID. light.wz_deckenlampe_1 sollte also lieber "Wohnzimmer Decke" heißen.
KI-Tasks in Automationen nutzen
Neben dem Sprachassistenten kannst du OpenRouter auch direkt in Automationen verwenden. Dazu fügst du über die Integration einen KI-Task hinzu und wählst ein Modell aus, das Structured Outputs unterstützt, also DeepSeek V3, GPT-4o-mini oder Auto Router.
Damit lässt sich zum Beispiel ein tägliches Briefing bauen. Ich habe das mal als Automation ausgearbeitet:
1alias: "KI Morning Briefing"
2description: >-
3 Generiert ein Tagesbriefing aus Wetter, Kalender und Strompreis
4 und pushed es als persistente Notification.
5triggers:
6 - trigger: state
7 entity_id: input_button.morning_briefing_testen
8actions:
9 - action: ai_task.generate_data
10 data:
11 task_name: "Morning Briefing"
12 instructions: >-
13 Fasse meinen Tag in drei Sätzen zusammen, freundlich auf Deutsch:
14 - Wetter: {{ states('weather.pirateweather') }},
15 {{ state_attr('weather.pirateweather', 'temperature') }} Grad
16 - Nächster Kalendereintrag: {{ state_attr('calendar.privat', 'message') }}
17 um {{ state_attr('calendar.privat', 'start_time') }}
18 - Strompreis aktuell: {{ states('sensor.tibber_strompreis') }} Cent
19 entity_id: ai_task.openrouter_deepseek_v3
20 response_variable: briefing
21 - action: persistent_notification.create
22 data:
23 title: "Guten Morgen"
24 message: "{{ briefing.data }}"
25mode: singleDie Entity-ID für den KI-Task findest du unter Entwicklerwerkzeuge → Zustände, einfach nach ai_task filtern. Die IDs in den Templates musst du natürlich auf dein eigenes Setup anpassen.
Kosten im Blick behalten
In OpenRouter siehst du unter Activity jede einzelne Anfrage mit Modell und Kosten. Das ist wahnsinnig transparent. Zusätzlich kannst du einen REST-Sensor in Home Assistant einrichten, der das verbleibende Guthaben direkt anzeigt:
1sensor:
2 - platform: rest
3 name: OpenRouter Credits
4 resource: https://openrouter.ai/api/v1/credits
5 headers:
6 Authorization: !secret OPENROUTER_BEARER_TOKEN
7 value_template: >-
8 {{ (value_json.data.total_credits - value_json.data.total_usage) | round(2) }}
9 unit_of_measurement: "$"
10 scan_interval: 3600In der secrets.yaml ergänzt du dann:
OPENROUTER_BEARER_TOKEN: "Bearer sk-or-v1-DEIN_KEY"Und damit du auch rechtzeitig Bescheid bekommst, wenn das Guthaben zur Neige geht:
1automation:
2 - id: openrouter_credits_warning
3 alias: "OpenRouter Guthaben niedrig"
4 triggers:
5 - trigger: numeric_state
6 entity_id: sensor.openrouter_credits
7 below: 2
8 actions:
9 - action: notify.mobile_app_dein_handy
10 data:
11 title: "OpenRouter"
12 message: "Nur noch {{ states('sensor.openrouter_credits') }} $ Guthaben."Wenn etwas nicht funktioniert
Ein paar häufige Probleme, die ich kenne und wie man sie löst:
Wenn der Agent auf Englisch antwortet, ist noch der Default-Prompt aktiv. Einfach in die Konfiguration des Konversationsagenten gehen und den System-Prompt auf Deutsch umschreiben.
Wenn das Modell keine Entities findet, ist wahrscheinlich die Expose-Liste leer oder der Assist-Haken fehlt. Ohne den Haken in den Konversationsagenten-Einstellungen kann das Modell weder Entities sehen noch steuern.
Wenn die Antworten zu vage sind, lohnt es sich, auf DeepSeek V3 zu wechseln statt Auto Router zu verwenden. Manche Anfragen werden vom Auto Router an kleinere Modelle geleitet, die dann nicht die nötige Reasoning-Tiefe haben.
Wenn die Kosten höher als erwartet sind, ist der häufigste Grund eine zu lange Entities-Liste. Über 100 freigegebene Entities treiben den Token-Verbrauch pro Anfrage spürbar nach oben.
Ich finde OpenRouter wirklich eine der elegantesten Lösungen für alle, die KI in Home Assistant nutzen möchten, ohne sich tief in Modell-Hosting einzuarbeiten. 10 Euro Guthaben aufladen, Integration einrichten, fertig. Nutzt du das Ganze schon oder überlegst du noch, ob lokal oder Cloud die bessere Wahl für dich ist? Lass es mich gerne in den Kommentaren wissen.
