Home Assistant Alexa Skill
Ein privater, selbst gehosteter Alexa Custom Skill, mit dem du Home Assistant per Sprache abfragen kannst — Stromverbrauch, Stromkosten, sowie Waschmaschine und Trockner. Läuft als Alexa-hosted Skill (Node.js), keine eigene AWS-Infrastruktur nötig.
Hinweis: Raumtemperaturen laufen mittlerweile nicht mehr über diesen Custom Skill, sondern über die native Nabu-Casa-Smart-Home-Integration (Entitäten in der Alexa-App den Räumen zugewiesen). Details dazu in SETUP.md.
Beispiele:
"Alexa, frag Home Assistant was ist die aktuelle Leistung" → "Der aktuelle Stromverbrauch beträgt 645 Watt."
"Alexa, frag Home Assistant wie hoch sind die Stromkosten diesen Monat" → "Die Stromkosten für diesen Monat betragen 45,23 Euro."
"Alexa, frag Home Assistant wie lange läuft die Waschmaschine noch" → "Die Waschmaschine ist 96 Prozent fertig und endet um 21:30 Uhr."
"Alexa, frag Home Assistant wie lange läuft der Trockner noch" → "Der Trockner ist 40 Prozent fertig und endet um 22:15 Uhr."
Inhalt dieses Repos
home-assistant-skill/
├── index.js # Config: ruft die Factories mit den echten Entity-IDs auf,
│ # registriert die Handler
├── factories.js # makeApplianceIntent, makeSimpleSensorIntent,
│ # makeSlotSensorIntent, PERIOD_PHRASES
├── ha-client.js # getHaState() - HA REST API Client
├── static-handlers.js # Launch/Help/Cancel/Fallback/Error (Pflicht-Handler)
├── package.json # Node-Abhängigkeiten (ask-sdk-core, dotenv, ...)
├── .env.example # Vorlage für HA_URL / HA_TOKEN
├── ARCHITECTURE.md # Details zur Factory-Struktur, Beispiele für neue Sensoren
├── SETUP.md # Vollständige Schritt-für-Schritt-Anleitung
└── README.md # diese Übersicht
Warum ein Custom Skill (statt nur die native Nabu-Casa-Integration)?
Home Assistant über Nabu Casa bietet bereits einen offiziellen Smart Home Skill, der native Sprachbefehle wie "Alexa, wie warm ist es im Wohnzimmer" ohne Skill-Namen unterstützt — das funktioniert zuverlässig, sobald die Entität freigegeben und einem Raum in der Alexa-App zugeordnet ist. Für Temperatur ist das die einfachste Lösung, und genau darüber laufen Temperaturabfragen bei uns inzwischen — nicht mehr über diesen Custom Skill.
Für alles darüber hinaus (Stromverbrauch, Stromkosten, Gerätestatus wie Waschmaschine/Trockner) hat Alexa aber keine eingebaute Sprachgrammatik — die native Integration unterstützt praktisch nur Temperatursensoren. Dafür ist dieser Custom Skill gedacht. Nachteil: Du musst immer den Invocation Name sagen (z.B. "frag Home Assistant ..."), das ist eine feste Grammatikregel von Alexa für alle Custom Skills und lässt sich nicht umgehen.
Voraussetzungen
- Amazon Developer Account (Identitätsverifizierung ggf. erforderlich)
- Home Assistant Instanz, die per HTTPS von außen erreichbar ist (Nabu Casa Cloud, eigener Reverse Proxy oder Tunnel)
- Long-Lived Access Token aus Home Assistant
Die vollständige Schritt-für-Schritt-Anleitung (Skill anlegen, Intents, Slots, Code einrichten, Testen) steht in SETUP.md.
Details zur Code-Architektur (Factory-Funktionen, wie man neue Sensoren/Geräte ergänzt) stehen in ARCHITECTURE.md.
Status
✅ GetPowerUsageIntent — aktueller Stromverbrauch (Netzbezug + Keller)
✅ GetPowerKammerUsageIntent — aktueller Stromverbrauch Kammer-Serverschrank
✅ GetEnergyCostIntent — Stromkosten nach Tag/Woche/Monat
✅ GetEnergyCostKammerIntent — Stromkosten Kammer-Serverschrank nach Tag/Woche/Monat
✅ GetWashingMachineIntent — Waschmaschinen-Fortschritt und Endzeit
✅ GetDryerIntent — Trockner-Fortschritt und Endzeit
✅ Temperatur — läuft über native Nabu-Casa-Smart-Home-Integration, nicht mehr über diesen Skill