Einrichtungshinweise für die Vorbereitung auf die Alexa Sprachsteuerung.
Auch wenn auf dieser Seite sehr viel Text steht der Ihnen vielleicht nicht so wichtig vorkommt ist es für die spätere Bedienung der Homematic Geräte von größter Bedeutung, dass Sie alle Teile dieser Dokumentation verstanden haben. Die Hinweise in dieser Anleitung basieren auf vielen Tests und haben sich als ideales Schema für eine einfache und gut funktionierende Steuerung über Alexa erwiesen. Lesen Sie die folgenden Abschnitte aus diesem Grund sorgfältig durch.
Die Homematic Zentrale (CCU1 oder CCU2) sollte grundlegend eingerichtet sein. Sie ist im lokalen Netzwerk über eine IP-Adresse erreichbar. Die Web-Oberfläche der Zentrale sollte mit einem Kennwort abgesichert sein. Für die Nutzung des HConnect Skills ist es nicht erforderlich, dass die Zentrale aus dem Internet erreichbar ist. Auf keinem Fall sollten Sie in Ihrer Firewall oder ihrem Router/DSL-Modem eine Weiterleitung auf die Homematic Zentrale einrichten. Die Homematic- Zentrale muss aber in der Lage sein eine Verbindung zum Internet aufzubauen.
Die Geräte welche über den HConnect Skill gesteuert werden sollen sind and die Zentrale angelernt. Bitte beachten Sie dazu unbedingt auf eine durchgängig eindeutige Benennung der Geräte (siehe weiter unten). Wenn viele Komponenten an der Zentrale betrieben werden macht es wirklich keinen Spaß mit der Sprachsteuerung zu arbeiten wenn das Namensschema nicht durchgängig eingehalten wird.
Hinweis: Nicht alle Einstellungen werden bei den unterschiedlichen Modellen der Homematic-Zentralen angeboten. Die Einstellungen welche gemacht werden können variieren auch je nach eingesetzter Firmware-Version. Fehlt eine Option, so ist dies nicht schlimm, da dann die Restriktionen die damit verbunden wären nicht in Kraft treten. Stellen Sie einfach die Optionen ein, welche in Ihren Einstellungen vorhanden sind. Bei einer originalen CCU2 gibt es in den Firewall-Einstellungen z.B. die Port-Einstellungen nicht. Dies macht aber nichts, da man dort dann auch keine falsche Einstellung haben kann.
Unter "Einstellungen --> Systemsteuerung --> Firewall konfigurieren" gibt es Einstellungen welche kontrolliert werden müssen. Im folgenden wird ein minimales Setup dargestellt, welches die größte Sicherheit bietet, da nur benötigte Schnittstellen für ausgewählte IP-Adressen und Ports frei gegeben werden.
Unter "Einstellungen --> Systemsteuerung --> Sicherheit" muss nur eine Einstellung kontrolliert werden. Diese Option ist ggfs. bei Ihnen nicht verfügbar, in diesem Fall müssen Sie nichts weiteres tun. Es handelt sich hierbei um die Option AUTHENTIFIZIERUNG, welche ein- oder ausgeschaltet werden kann. Damit legen Sie fest, dass beim Zugriff auf die Homematic-Schnittstellen ein Benutzername und Kennwort erforderlich werden oder nicht.
Option eingeschaltet: Sie müssen in diesem Fall in Ihrer Homematic-Zentrale einen Benutzer mit Kennwort für HConnect anlegen. Hier reicht es aus einen Gastzugangs-Benutzer zu verwenden. Ist der Benutzer angelegt, so hinterlegen Sie in Ihrer Konfiguration unter Konfiguration -> Sonstiges -> Geräteerkennung den Benutzernamen und das vergebene Kennwort. Speichern Sie die neue Konfiguration und übernehmen Sie diese dann unter Konfiguration -> Verwaltung.
Option ausgeschaltet: Alles in Ordnung. Sie müssen nichts weiteres einstellen.
Nach Änderungen der Firwalleinstellungen oder den Sicherheitseinstellungen die CCU immer neu starten. Erst dann treten die Änderungen vollumfänglich in Kraft.
Dies ist zwar nicht immer unbedingt erforderlich, dennoch ist es bei einigen Setups vorgekommen, dass die Einstellungen erst nach einem Neustart der Homematic-Zentrale tatsächlich funktioniert haben. Aus diesem Grund vorsichtshalber einmal die Homematic-Zentrale neu starten bevor mit den weiteren Schritten begonnen wird.
Damit HConnect die Geräte der Homematic-Zentrale einlesen und steuern kann wird das XML-API AddOn auf der CCU benötigt. Die Installation dieses AddOns ist Vorraussetzung für die Nutzung des Skills. Die XML-API kann einfach über die Verwaltungsseite der Homematic über Einstellungen/Systemsteuerung/Zusatzsoftware installiert werden.
Achtung: Wird die XmlApi in der Version 2 oder höher eingesetzt, so ist auf HConnect unter Konfiguration/Sonstiges/XmlApi Zugriffsschlüssel ein Zugriffsschlüssel der Homematic-Zentrale einzutragen, welcher zunächst auf der Homematic-Zentrale erstellt werden muss. Nur mit diesem Zugriffsschlüssel kann HConnect dann auf Ihre Homematic-Zentrale zugreifen. Tragen Sie hier keinen oder einen falschen Wert ein, so wird die Geräteerkennung von HConnect fehlschlagen und Sie erhalten Fehlermeldungen, dass Geräte nicht erkannt werden konnten. Um den Zugriffsschlüssel zu erzeugen verwenden Sie die WebUI der Homematic-Zentrale. Navigieren Sie dort zu Einstellungen/Systemsteuerung/Zusatzsoftware. Klicken Sie dort auf den Button "EINSTELLEN" der Zusatzsoftware "XML-API". Es erscheint eine Seite aller möglichen Urls der XmlApi. Klicken Sie dort auf die angezeigte Url "tokenregister.cgi". Es wird dann ein neuer Zugriffsschlüssel erzeugt und angezeigt. Diesen Wert müssen Sie auf dieser Konfigurationsseite eintragen. Der erzeugte Zugriffsschlüssel enthält keine Beschreibung. Möchten Sie eine Beschreibung für einen Zugriffsschlüssel dokumentieren, so können Sie an dieser Stelle die im Browser angezeigte Url erweitern. Wird dort z.B. "http://192.168.100.1/addons/xmlapi/tokenregister.cgi?sid=@xxxxx@" angezeigt (wobei 192.168.100.1 die IP-Adresse Ihrer Homematic-Zentrale ist und @xxxxx@ ihr eigener Zugriffsschlüssel für die Konfigurationssitzung in der WebUI ist), so erzeugen Sie einen neuen Zugriffsschlüssel mit Beschreibung, indem Sie die ändern (z.B. auf "http://192.168.100.1/addons/xmlapi/tokenregister.cgi?sid=@xxxxx@&desc=HConnect Zugriff") und die geänderte Url dann mit ENTER bestätigen. Den vorher erzeugten Zugriffsschlüssel ohne Beschreibung, welchen Sie dann nicht mehr benötigen, können Sie auf der Verwaltungsseite der XmlApi dann mit der Url "tokenrevoke.cgi" wieder löschen (Auch hier müssen Sie die Url mit dem alten Token erweitern)
Es ist wichtig zu wissen, dass in der Homematic Zentrale alle Objekte (Geräte, Kanäle, Systemvariablen etc.) über einen Namen verfügen. Diese Namen müssen systemübergreifend eindeutig sein. D.h. der Name einer Systemvariable darf nicht gleichzeitig dem Namen eines Gerätes entsprechen. Dies hört sich erst einmal einfach an. Oftmals stört dies tatsächlich erst später wenn die Konfiguration der Zentrale schon weit fortgeschritten ist. Es liegt z.B. nahe einem Dimmaktor für die Deckenlampe im Wohnzimmer den Namen "Deckenlampe Wohnzimmer" zu geben. Doch wenn man später den entsprechenden Schaltkanal des Dimmaktors über einen Namen ansprechen möchte bekommt man schon einen Konflikt, denn den würde ich ja gerne auch "Deckenlampe Wohnzimmer" nennen.
Aus diesem Grund habe ich mir angewöhnt die Geräte nach Art und Raum zu benennen, z.B. "DA Wohnzimmer 1" für einen Dimmaktor im Wohnzimmer. Diese Vorgehensweise macht die weitere Konfiguration wesentlich einfacher.
Wirklich wichtig für die Verwendung mit dem Alexa Skill sind die Namen der Kanäle der Geräte welche Sie steuern möchten. Dann genau über diese Namen kommunizieren Sie mit Alexa. Jedes Geräte hat in der Regel mehrere Kanäle. Einige Kanäle dienen zur Steuerung des Gerätes und einige Kanäle sind wiederum nur dazu gedacht umd Daten von dem entsprechenden Gerät abzufragen.
Das HConnect-Gateway liest aus der Homematic-Zentrale alle Geräte und Kanäle mit deren Datenpunkten ein und stellt nach definierten Regeln entsprechende "Alexa-Geräte" zur Verfügung. Dazu werden für alle unterstützten Geräte alle Kanäle eingelesen und ermittelt welche Aktionen mit diesen durchgeführt werden können. Wenn ein neues Gerät an die Homematic Zentrale angelernt wird, so sind die Kanäle der Geräte jeweils mit einem Standardnamen belegt. Diese folgen dem Muster "{Gerätetyp} {Interface}:X" wobei X jeweils eine fortlaufende Nummer für jeden Kanal dieses Gerätes ist. HConnect-Gateway geht deshalb davon aus, dass alle Kanäle, welche einen : im Namen haben, einen "nicht konfigurierten" Kanal darstellen und ignoriert diese Kanäle. Denn schließlich möchte niemand später seine Deckenlampe über einen solchen Namen ansprechen.
Die folgende Beispielkonfiguration beinhaltet 2 Komponenten
Im folgenden wird eine Benennung für die Tischlampe im Esszimmer konfiguriert. Die Tischlampe im Esszimmer wird dabei über einen Homematik Dimmaktor gesteuert.
Benennen Sie alle Geräte, welche Sie mit dem Alexa Skill steuern möchten mit sinnvollen Namen. Die Namen der Geräte haben keinen Einfluss auf die Sprachsteuerung, sie sollten aber wie oben beschrieben Geräte nicht nach dem Muster "Tischlampe Esszimmer", sondern lieber "DA Esszimmer 2" benennen, da wir den Namen "Tischlampe Esszimmer" oder "Esszimmer Tischlampe" gleich für den entsprechenden Schaltkanal benötigen.
Beispielkonfiguration:
Gerätename: "DA Esszimmer 2"
Benennen Sie alle Kanäle, die eine Aktion auslösen können die Sie später über das Alexa Skill steuern möchten mit sinnvollen Namen. Weisen Sie diese einem Gewerk und einem Raum zu. Die Zuweisung zu Gewerk und Raum ist später von Relevanz wenn Sie z.B. mit "Alexa, schalte das Licht im Esszimmer aus" alle Lampen im Esszimmer ausschalten möchten. Wenn Sie allen Kanälen welche eine Lampe im Esszimmer schalten können das Gewerk "Licht" und den Raum "Esszimmer" zugewiesen haben müssen Sie keine weitere Konfiguration mehr vornehmen. Das HConnect-Gateway wird dann auf diesen Befehl hin alle Lampen im Esszimmer ausschalten.
Bei der Benennung der Kanäle können Sie entweder das Schema "{Raum} {Gerätename}" oder auch umgekehrt "{Gerätename} Raum" verwenden. Egal welches Schema Sie in der Homematic Konfiguration bevorzugen können Sie später über die HConnect-Konfiguration erreichen, dass Sie sowohl über den Befehl "Alexa, schalte die Tischlampe im Esszimmer ein", als auch über den Befehl "Alexa, schalte im Esszimmer die Tischlampe ein" die Tischlampe steuern können. Da wir einen Dimmaktor verwenden sind später folgende Befehle über die Sprachsteuerung möglich:
Wer etwa auch folgendes möchte:
... der erstellt einfach einen Raum mit dem Namen "Wohnung" und weist diesen Raum zusätzlich dem entsprechenden Kanal zu
Beispielkonfiguration:
# | Kanalname | Gewerk | Raum |
---|---|---|---|
1 | Esszimmer Tischlampe | Licht | Esszimmer, ggfs. auch zusätzlich den Raum Wohnung |
Im folgenden werden Benennungen für eine Heizungssteuerung im Wohnzimmer konfiguriert. Da eine Steuerung für die Heizung meist zusätzlich noch mit einer virtuellen Gerätegruppe verbunden ist, ist sind mehrere Konfigurationsschritte zu erledigen. Hier noch ein Hinweis: Auch wenn es in einem Raum nur ein Gerät für die Heizungssteuerung gibt, z.B. eine einzelnes Heizkörperthermostat, so ist es immer empfehlenswert eine virtuelle Gruppe für die Heizungssteuerung anlegen zu lassen. Bei einer späteren Erweiterung mit z.B. einem weiteren Heizkörperthermostat oder einem Wandthermostat ist die Erweiterung dann umso einfacher.
In unserem Beispiel gibt es 3 Geräte für die Heizungssteuerung im Wohnzimmer:
Die Gerätebenennungen sind hier nur der Vollständigkeit halber aufgeführt. Die Namen sind für die Sprachsteuerung nicht von Bedeutung, sind aber hier aufgeführt, da diese Namen nicht mit den Kanalbenennungen kollidieren dürfen.
Beispielkonfiguration:
Gerätename für 1. Heizkörperthermostat: "Heizkörperthermostat Esszimmer (Gerät)"
Gerätename für 2. Heizkörperthermostat: "Heizkörperthermostat Wohnzimmer (Gerät)"
Gerätename für das Wandthermostat: "Wandthermostat Wohnzimmer"
Gerätename für die Heizungssteuerungsgruppe: "Heizung Wohnzimmer (Gruppe)"
Dies sind die wichtigen Namen und Zuordnungen zu Gewerk und Raum. Mit dieser angegebenen Beispielkonfiguration sind später über die Sprachsteuerung die folgenden Befehle möglich:
Die gleichen Befehle können in diesem Beispiel dann auch für Heizkörperthermostat Wohnzimmer und Heizkörperthermostat Esszimmer gegeben werden. Dies macht aber nicht wirklich Sinn, da die beiden Thermostate und das Wandthermostat sich in der gleichen Gruppe befinden. Es werden dadurch sowieso alle Thermostate immer gleich eingestellt. Damit HConnect-Gateway diese Heizkörperthermostat nicht als steuerbares Gerät an Alexa meldet kann man also die Standardbenamung mit dem Doppelpunkt im Namen stehen lassen (wie oben beschrieben werden Kanäle mit : im Namen ja ignoriert).
Beispielkonfiguration:
# | Kanalname | Gewerk | Raum |
---|---|---|---|
1 | Heizkörperthermostat Esszimmer | Heizung | Wohnzimmer |
2 | Heizkörperthermostat Wohnzimmer | Heizung | Wohnzimmer |
3 | Heizung Wohnzimmer | Heizung | Wohnzimmer und Wohnung SR |
3 | Wandthermostat Wohnzimmer :X | Heizung | Wohnzimmer |
Wirklich wichtig ist nur, dass alle Steuergeräte für die Heizung in einem Raum sich in einer Gruppe befinden und der Steuerkanal (angegeben als Verknüpfungspartner Heizungsthermostat Sender) dem Gewerk Heizung zugeordnet ist. Da bei der Heizungssteuerung alles über einen einzelnen Kanal erfolgt und dieser bereits seinen Raum im Namen hat werden die zugrodneten Räume ebenfalls ignoriert. Nur für den Fall, dass man mehrere Heizungen über einen Befehl schalten möchte (im angegebenen Beispiel über "Heizung in der Wohnung") kann man hier Räume mit einem besonderen Anhang anlegen (im Beispiel "Heizung Wohnung SR") und diesen speziellen Raum dann allen Kanälen zuordnen. Das hier angegebene "Postfix" SR kann frei gewählt werden und muss in der Konfiguration von HConnect-Gateway eingetragen werden. (Siehe Konfiguration HConnect-Gateway)