[Step-by-Step Tutorial] CCU2 mit Amazon Echo

openHAB - open Home Automation Bus

Moderator: Co-Administratoren

Gifty43
Beiträge: 3
Registriert: 31.12.2016, 10:51

[Step-by-Step Tutorial] CCU2 mit Amazon Echo

Beitrag von Gifty43 » 31.12.2016, 12:22

Hallo miteinander

Während den letzten Wochen habe ich über diverse Möglichkeiten gelesen, wie der Amazon Echo mit einer Homematic CCU2 verbunden werden kann.
Leider habe ich nirgendwo ein Tutorial gefunden, welche diese Implementation Schritt-für-Schritt aufzeigt. Gestern habe ich mich also selber ans Werk gemacht und war erfolgreich. Gerne liefere ich euch dieses hiermit nach - eventuell erspart es jemandem Zeit, welcher sich vorher noch nicht mit den Möglichkeiten auseinandergesetzt hat.

Meine Ausgangslage:
- CCU2 mit 5 Heizköperthermostaten (2 separat und 3 zusammen in einer Gruppe) und 1 Wandthermostat seit letztem Herbst erfolgreich in Betrieb.
- Letzten Monat ein Amazon Echo Dot gekauft, welcher derzeit nur zur Steuerung von Philips Hue dient.

Mein Ziel:
- Mit dem Amazon Echo die Temperatur der Heizkörperthermostate per Echo Dot Sprachsteuerung zu ändern.

Konzept:
Von einem Homematic Cloud-Dienst möchte ich nicht abhängig sein, deshalb muss eine lokale Lösung her. Auf einem Intel NUC Mini-Computer im Netzwerk läuft ein VMware ESXi Server, der bereits einige virtuelle Maschinen hostet. Auf diesem soll eine weitere virtuelle Maschine mit Linux (CentOS 7) installiert werden, um "openHAB2" darauf betreiben zu können.
Die Sprachbefehle sollen schlussendlich von Amazon Echo über openHAB2 an die CCU2 gesendet werden.

1. Installation von CentOS 7
Erstmal wird eine virtuelle Maschine im VMware ESXi Server angelegt und die CentOS7 Minimal ISO gemounted. Ihr könnt hier natürlich auch eine andere Linux Distribution nehmen; diese auf einem Standalone PC oder Computing-Stick installieren; oder auch einen Raspberry Pi verwenden. Die Befehle, welche ich unten nenne, weichen dann unter Umständen ab.

Auf die Grundinstallation von CentOS 7 gehe ich nicht detailliert ein; lediglich die folgenden Änderungen habe ich in der Setup-Oberfläche vorgenommen:
- Statische IP vergeben und Netzwerkadapter aktiviert.
- Deutsche Zeitzone ausgewählt.
- Schalter für Zeitsynchronisation per NTP aktiviert.
- Deutsche Tastatur eingestellt.
- Vorgeschlagene Partitionierung bestätigt.

Während die Installation läuft, habt ihr Gelegenheit, ein Root-Passwort zu vergeben. Nehmt diese Gelegenheit wahr. :)

Sollte jemand bei diesem Schritt nicht weiterkommen, meldet euch - ich unterstütze gerne.

2. Vorbereitung des Linux Servers für openHAB2
Einen Hostnamen für den Server vergeben:

Code: Alles auswählen

hostnamectl set-hostname <HOSTNAME>
Aktuelle Updates und weitere benötigte Software installieren:

Code: Alles auswählen

yum update
yum install wget
yum install unzip
yum install java-1.8.0-openjdk
3. Installation von openHAB
Aktueller Snapshot von openHAB2 herunterladen und entpacken:

Code: Alles auswählen

cd /tmp
wget https://openhab.ci.cloudbees.com/job/openHAB-Distribution/lastSuccessfulBuild/artifact/distributions/openhab-offline/target/openhab-offline-2.0.0-SNAPSHOT.zip
sudo unzip openhab-offline-2.0.0-SNAPSHOT.zip -d /opt/openhab2
Einen User für openHAB anlegen und enstprechende Rechte vergeben:

Code: Alles auswählen

sudo adduser --system --user-group openhab
sudo chown -hR openhab:openhab /opt/openhab2
Um später von einem anderen Computer auf die Webseite zugreifen zu können, muss eine Firewall-Regel für Port 8080 angelegt werden:

Code: Alles auswählen

firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=1900/udp
Nun können wir openHAB erstmals starten:

Code: Alles auswählen

sudo su -s /bin/bash -c '/opt/openhab2/start.sh' openhab
Versucht anschliessend von einem anderen Computer im gleichen Netwerk, auf die Weboberfläche von openHAB zuzugreifen: http://<IP>:8080

Wählt in der Weboberfläche die "Standard" Installation aus. Danach das "Paper UI".

Gebt openHAB nun etwa 15 Minuten Zeit, damit es sich initialisieren kann.

Falls alles soweit funktioniert, beendet openHAB (vorerst) wieder:

Code: Alles auswählen

logout
4. openHAB als Service starten
Damit openHAB beim Beenden unserer Terminal-Session nicht auch gleich stoppt, installieren wir es als Service.
Wir legen mit folgendem Befehl eine neue Datei an:

Code: Alles auswählen

vi /lib/systemd/system/openhab2.service
und kopieren folgenden Inhalt hinein:

Code: Alles auswählen

[Unit]
Description=The openHAB 2 Home Automation Bus Solution
Documentation=http://docs.openhab.org
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=openhab
Group=openhab
GuessMainPID=yes
WorkingDirectory=/opt/openhab2
#EnvironmentFile=/etc/default/openhab2
ExecStart=/opt/openhab2/start.sh server
ExecStop=/bin/kill -SIGINT $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target
Danach legen wir den Service an und starten ihn:

Code: Alles auswählen

sudo systemctl daemon-reload
sudo systemctl enable openhab2.service
sudo systemctl start openhab2.service
Ob der Service läuft, könnt ihr mit folgendem Befehl überprüfen:

Code: Alles auswählen

sudo systemctl status openhab2.service
5. Konfiguration von openHAB
Bevor wir loslegen, deaktivieren wir auf unserem Linux Server temporär die Firewall:

Code: Alles auswählen

systemctl stop firewalld
Damit sparen wir uns in der Konfigurationphase einige Probleme.

Von einem Rechner mit grafischem Interface und Webbrowser im gleichen Netz verbinden wir uns erneut mit der Weboberfläche von openHAB: http://<IP>:8080

Wählt wieder die "Paper UI" aus.

Navigiert links im Menu zu "Add-Ons" und installiert:
- In der Kategorie "BINDINGS" das "Homematic Binding" (für die Kommunikation mit Homematic)
- In der Kategorie "MISC" die "Hue Emulation" (für die Kommunikation mit Amazon Echo)

Nach erfolgreicher Installation, navigiert im Menü nach "Configuration -> Services", wählt oben "IO" aus und klickt bei der "HUE Emulation" auf "Configure". Wählt hier bei "Enable Device Pairing" "Pairing Enabled" aus und klickt auf "Save".
Dies ist nötig, damit der Amazon Echo später unsere Geräte findet.
01.PNG
Nun fügen wir unsere Homematic CCU2 hinzu. Im Menü finden wir unter "Inbox" die Möglichkeit, Geräte zu suchen und manuell zu erfassen. Leider wird die CCU2 nicht automatisch erkannt, dies ist aber nicht weiter schlimm. Wir klicken oben auf das weisse "+" auf blauem Kreis, wählen "Homematic Binding" aus und klicken unten auf "Add Manually". Wir möchten eine "Homematic Bridge" hinzufügen. Das wichtigste ist unter "Gateway Address" die IP Adresse der Homematic CCU2 anzugeben. Wir speichern diesen Eintrag mit dem weissen Haken auf blauem Kreis (oben).
02.PNG
Es dauert nun einige Minuten, dann werden unter dem Menüpunkt "Inbox" sämtliche von der CCU2 ansteuerbare Geräte gefunden. Alle Geräte, welche wir ansteuern möchten, bestätigen wir mit dem entsprechenden weissen Haken auf blauem Kreis und vergeben einen für uns passenden Namen.

Die zu nutzenden Geräte werden dann zum Menüpunkt "Configuration -> Things" verschoben. Hier können wir auch den für die Ansteuerung nötigen String einsehen.
03.PNG
Nun geht es darum, diese Things für den Amazon Echo verfügbar zu machen - sogenannte "Items" zu erstellen.

Dazu legen wir (wiederum auf der Linux Konsole) eine Datei an:

Code: Alles auswählen

vi /opt/openhab2/conf/items/homematic.items
und erfassen pro Zeile ein anzusteuerndes Gerät nach folgendem Schema:

Code: Alles auswählen

<Art des Übermittlungswertes> <Name der Variable> "<Name des Gerätes>" [ "<Wertkategorie>" ] {channel="<String für Ansteuerung>"}
Am Schluss sieht das dann (bei meinen zwei Heizkörperthermostaten und dem einen Wandthermostat) so aus:

Code: Alles auswählen

Number homematic_liv_temp "Living room thermostat" [ "TargetTemperature" ] {channel="homematic:HM-TC-IT-WM-W-EU:0165d838:MEQxxxxxxx:2#SET_TEMPERATURE"}
Number homematic_bed_temp "Bathroom thermostat" [ "TargetTemperature" ] {channel="homematic:HM-CC-RT-DN:0165d838:LEQxxxxxxx:4#SET_TEMPERATURE"}
Number homematic_off_temp "Office thermostat" [ "TargetTemperature" ] {channel="homematic:HM-CC-RT-DN:0165d838:MEQxxxxxxx:4#SET_TEMPERATURE"}
Nachdem ihr diese Konfigurationsdatei gespeichert habt, könnt ihr auf eurem Amazon Echo ein Device Discovery laufen lassen. Er sollte nun eure Homematic Geräte erkennen.

Mit dem Sprachbefehl "Alexa, set <Name des Gerätes> to 24 degrees" wird der Thermostat entsprechend eingestellt.

Ganz zum Schluss nicht vergessen, die Firewall wieder einzuschalten (für ein erneutes Discovery muss diese wieder deaktiviert werden):

Code: Alles auswählen

systemctl start firewalld
Ich hoffe, ich konnte damit einigen von euch eine Hilfestellung anbieten. Bei Fragen oder Problemen stehe ich gerne zur Verfügung,

Diverse Links, welche zum Herstellen dieser Lösung beigetragen haben:
-http://docs.openhab.org/installation/linux.html
-http://onesmarthome.de/smart-home-openh ... iguration/
-http://homematic-forum.de/forum/viewtop ... 64&t=33601

Frohe Festtage und einen guten Rutsch ins neue Jahr! :D


EDIT; 31.12.16, 15:14: Einige Bilder hinzugefügt.
Zuletzt geändert von alchy am 02.09.2018, 20:43, insgesamt 2-mal geändert.
Grund: verschoben aus HomeMatic CCU

Gürol
Beiträge: 3
Registriert: 08.01.2017, 18:23

Re: [Step-by-Step Tutorial] CCU2 mit Amazon Echo

Beitrag von Gürol » 17.01.2017, 05:57

Ich bin wohl die Zielgruppe dieses Tutorials. :wink:
Habe mein Amazon Echo noch keine 72 Stunden und will schnelle Ergebnisse (ohne unendliche Forumseiten durch zu arbeiten).

Ich hatte gestern Abend beim durcharbeiten von diesem Tutorial drei Probleme, wovon ich die ersten zwei selber gelöst bekommen habe.

Zu meiner Kenntnisstand sollte ich vielleicht sagen, daß ich kein Unix/Linux User bin. Ich bin lediglich ein erfahrener Windows Benutzer.

Problem-1: Von OpenHAB2 gibt es keine offline Version mehr, daher muß die wget Zeile angepasst werden (damit die online-Version heruntergeladen wird)
Die nächste Zeile natürlich auch, weil die Datei nun anders heißt.

Code: Alles auswählen

wget https://openhab.ci.cloudbees.com/job/openHAB-Distribution/lastSuccessfulBuild/artifact/distributions/openhab/target/openhab-2.0.0-SNAPSHOT.zip
sudo unzip openhab-2.0.0-SNAPSHOT.zip -d /opt/openhab2
Problem-2: Ich konnte keine Verbindung zu OpenHAB2 herstellen. (d.h. Firewall Regel hat nicht gereicht.) Erst als ich den Firewall abschaltete bekam ich kontakt.

Code: Alles auswählen

systemctl stop firewalld
Problem-3: OpenHAB2 konnte keine Verbindung zu meiner CCU2 herstellen. :cry: Hier konnte ich mir unter CentOS nicht mehr weiterhelfen. :? Ich habe mir OpenHAB2 unter Windows installiert. :D

Diesen Tutorial habe ich trotzdem weiter verwendet um die Sache abzuschliessen.

Siehe da: ERFOLG! Es funktioniert!! :D

Gruß
Gürol

AndreasM.
Beiträge: 1
Registriert: 18.01.2017, 21:39

Re: [Step-by-Step Tutorial] CCU2 mit Amazon Echo

Beitrag von AndreasM. » 18.01.2017, 21:44

Guten Abend.
Die Beschreibung ist super, nun versuche ich jedoch gerade vergeblich 3 Termostate auf die gleiche Temperatur zu bringen als Group in der Mappingstabelle. Ich weiss aber die Syntax leider nicht.
Im Moment sieht meine Mappingsdatei wie folgt aus:

Code: Alles auswählen


Number homematic_liv_temp "Wohnzimmer Temperatur" [ "TargetTemperature" ] {channel="homematic:HM-CC-RT-DN:ef9ac1e1:XXX:4#SET_TEMPERATURE"}
Number homematic_eat1_temp "Wohnzimmer Temperatur" [ "TargetTemperature" ] {channel="homematic:HM-CC-RT-DN:ef9ac1e1:XXX:4#SET_TEMPERATURE"}
Number homematic_eat2_temp "Wohnzimmer Temperatur" [ "TargetTemperature" ] {channel="homematic:HM-CC-RT-DN:ef9ac1e1:XXX:4#SET_TEMPERATURE"}


eitljoerg@gmx.at
Beiträge: 14
Registriert: 12.05.2016, 13:04

Re: [Step-by-Step Tutorial] CCU2 mit Amazon Echo

Beitrag von eitljoerg@gmx.at » 18.01.2017, 21:55

Hallo,


bei mir hat unter Raspbian Jessie auch soweit alles funktioniert.
Homematic Things werden erkannt, Werte werden unter Control angezeigt.
Leider schnalle ich das "discovery" am Echo nicht, der meine homemtic.items- config ist Müll.
mit "Discovery" meinst du [Smart Home] -->[Meine Geräte] --> [Geräte suchen] ?

meine homematic.items config sieht wie folgt aus(hab mir die Beispiele als Kommentar drinnengelassen)

Code: Alles auswählen

#<Art des Übermittlungswertes> <Name der Variable> "<Name des Gerätes>" [ "<Wertkategorie>" ] {channel="<String für Ansteuerung>"}
#Number homematic_liv_temp "Living room thermostat" [ "TargetTemperature" ] {channel="homematic:HM-TC-IT-WM-W-EU:0165d838:MEQxxxxxxx:2#SET_TEMPERATURE"}
Number Wohnzimmer_Dimmaktor "Wohnzimmer Dimmaktor" ["Level"] {channel="homematic:HM-LC-Dim1TPBU-FM:34303eef:MEQxxxxxxx:1#LEVEL"}
Wie hast du die Namen vergeben, wofür steht "homematic_liv_temp"? ist das der Sensorname in der CCU?

Bitte Danke für etwas Unterstützung

Benutzeravatar
Dragonfly
Beiträge: 1249
Registriert: 04.01.2010, 11:40
Wohnort: Tyrol
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: [Step-by-Step Tutorial] CCU2 mit Amazon Echo

Beitrag von Dragonfly » 19.01.2017, 09:30

Hier ist auch noch was:
http://homematic-forum.de/forum/viewtop ... 64&t=33601

"homematic_liv_temp" ist sowas wie die Einzigartige Beizeichnung eines Items (wie SN:Kanal-wenn du von der CCU redest).

"discovery" am Echo:
in openHAB muß der HUE-Emulator auf "discovery enable" gestellt werden.
auf http://alexa.amazon.de kann man sich einloggen; dort den HUE-Skill aktivieren und den Anweisungen Folgen

["Level"] gibt es nicht - hier muß ["Lighting"] verwendet werden.

Viel Glück!


PS: Vielleicht liest ja ein Mod mit und schiebt das ganze nache openHAB :wink:

eitljoerg@gmx.at
Beiträge: 14
Registriert: 12.05.2016, 13:04

Re: [Step-by-Step Tutorial] CCU2 mit Amazon Echo

Beitrag von eitljoerg@gmx.at » 19.01.2017, 19:51

Hallo Dragonfly!


Danke für den Support.
Leider findet die Hue Skill keine Bridge an.
Raspian hängt per Patchkabel im LAN, Handy mit Alexa App ist im selben Netzwerk über WLAN.
Hue Skill meldet immer es könne keine Bridge finden.
Pairing im Hue Emulator ist ein.
Habs auch schon mit der statischen IP vom Raspian im HUE Emulator versucht, leider kein Erfolg...
Was könnte noch sein?
Wie gesagt. openHAB2 findet die Homematic Komponenten, sich auch steuerbar

DAnke, LG

Benutzeravatar
Dragonfly
Beiträge: 1249
Registriert: 04.01.2010, 11:40
Wohnort: Tyrol
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: [Step-by-Step Tutorial] CCU2 mit Amazon Echo

Beitrag von Dragonfly » 19.01.2017, 20:48

Poste nochmal alle items bitte....

eitljoerg@gmx.at
Beiträge: 14
Registriert: 12.05.2016, 13:04

Re: [Step-by-Step Tutorial] CCU2 mit Amazon Echo

Beitrag von eitljoerg@gmx.at » 19.01.2017, 21:34

Hallo, habe erst einen Item:

Code: Alles auswählen

Number Wohnzimmer_Dimmaktor "Wohnzimmer Dimmaktor" [ "Lighting" ] { channel="homematic:HM-LC-Dim1TPBU-FM:34303eef:MEQ1004056:1#LEVEL" }
Habe gerade vorher den IOBroker Skill von Alexa gesehen.
Würde das nicht einen ähnlichen Zweck erfüllen?

Danke!

Benutzeravatar
Dragonfly
Beiträge: 1249
Registriert: 04.01.2010, 11:40
Wohnort: Tyrol
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: [Step-by-Step Tutorial] CCU2 mit Amazon Echo

Beitrag von Dragonfly » 19.01.2017, 22:06

Number ist falsch.

Dimmer sollte passen. Aber google noch mal nach, hab ich nicht.

Wie alt ist die oh Installation?

Ja, ioBroker sollte den gleichen effekt haben...

Gesendet von meinem FRD-L09 mit Tapatalk

eitljoerg@gmx.at
Beiträge: 14
Registriert: 12.05.2016, 13:04

Re: [Step-by-Step Tutorial] CCU2 mit Amazon Echo

Beitrag von eitljoerg@gmx.at » 19.01.2017, 22:25

Hallo,

die Installation ist einen Tag alt.
Hab jetzt das "Number" aus der Zeile genommen, brachte aber wohl nix.

Code: Alles auswählen

Wohnzimmer_Dimmaktor "Wohnzimmer Dimmaktor" [ "Lighting" ] { channel="homematic:HM-LC-Dim1TPBU-FM:34303eef:MEQ1004056:1#LEVEL" }
Die Datei liegt dann im Items Ordner von openhab /etc/openhab2/items und ist mit "homematic.items" benannt.
Es ist schon richtig das ich im Myhue Konto nach der Bridge suche und dann das Discovery in der Alexa App starte, oder?

Antworten

Zurück zu „openHAB“