Hallo zusammen,
aufgrund der gemachten Erfahrungen in der Bastel-Ecke des Forums mit der Einbindung von Amazon Echo in Symcon über die HA Bridge, möchte ich in Abstimmung mit dem Forums-Mitglied drdigital, in diesem Bereich des Forums nochmal seine Anleitung posten.
Diese Anleitung soll eine Übergangslösung darstellen, bis der eigentliche Symcon Skill bei Amazon endlich durch ist bzw. wenn man nicht warten will bis der Skill verfügbar ist, kann man sich dieser Lösung bedienen.
Update: Seit dem 23.02.2017 ist der offizielle Symcon Skill für Amazon Echo verfügbar. Anbei der Link zum Thema im Forum.
Wenn jemand dennoch mit der HA Bridge arbeiten will und dazu Fragen hat, darf er sich natürlich weiterhin gerne melden.
Nun zur Anleitung
Zuerst muss die HA Bridge installiert werden - anbei die Github Adresse:
https://github.com/bwssytems/ha-bridge
Die Bridge muss gestartet sein
Wenn diese läuft, emuliert die HA Bridge im Prinzip eine HUE Bridge.
In der Alexa App gibt es den Bereich Smarthome und dort den Punkt “Meine Geräte”
Dort kann man nach den neuen Geräten suchen lassen.
Diesen Schritt, mit dem Suchen nach Geräten, muss man später ausführen, nachdem man die Devices in der HA Bridge angelegt hat
Der WebServer Port der HA Bridge steht per Default auf Port 80. Dieser Port ist auch der bevorzugte Port, damit die Alexa App auch bei der Geräte-Suche die Devices der HA Bridge finden kann.
Alternativ hat bei anderen Usern auch der Port 81 ohne Probleme funktioniert. Allerdings hat ein Versuch mit dem Port 8080 nicht geklappt.
Wenn man aber Port 80 bei der HA Bridge nutzt, ist damit auch die Voraussetzung für die Funktion mit Google Home gegeben, da dort Port 80 zwingend vorgegeben wird.
In diesem Zusammenhang ist es wichtig zu erwähnen, dass diese Anleitung ebenso mit Google Home funktioniert.
Bevor es losgehen kann, sollte man das Bayaro URL Skript in IPS anlegen, wie von Bayaro in folgendem Post beschrieben:
IP-Symcon - Wie kann ich… 2.0 - Seite 7
Durch diese Lösung von Bayaro wird ermöglicht, dass jedes Skript per URL angesprochen und jede Variable per URL gesetzt werden kann.
Alternative dazu ist, ein Webhook in Symcon anzulegen.
Dies wird hier im Post von kalastaja beschrieben.
Die HA Bridge kann auch mit Json umgehen, aber das habe ich noch nicht zum laufen gebracht.Erstes Beispiel - Licht AN/AUS:
Wir legen dazu zwei Skripte in Symcon an, das eine mit dem Befehl zum Einschalten und das Andere zum Ausschalten. In meinem Beispiel sind das Licht-Buero-An und Licht-Buero-Aus.
Der Inhalt von Licht-Buero-An besipielsweise, ist in meinem Fall:
<?
EIB_Switch(54448 /*[KNX-original\Ergeschoss\Büro EG\Beleuchtung Büro EG Ein/Aus]*/, true);
?>
Die IDs müsst Ihr auf Eure Devices anpassen. Ich habe KNX/EIB, deshalb verwende ich “EIB_Switch”. Bei anderen Lösungen braucht man natürlich auch den passenden Befehl
In der HA Bridge kann man über das Webinterface Einstellungen vornehmen.
Unter Add/Edit kann man ein Device anlegen.
Mein Device habe ich Licht Buero getauft.
Weiter unten muss man dann für das On Item unter Target Item die URL für die Ausführung des Licht-Buero-An-Skripts eingeben.
In meinem Fall ist das
http://192.168.178.8:3777/user/WebhookBY.php?RUNScriptID=49340
Damit wird das On item mit dieser URL verknüpft. Die IP-Adresse 192.168.178.8 ist durch die IP-Adresse Eures eigenen Symcon-Servers zu ersetzen.
Gleiches macht man auch mit dem Off Item. Dort steht mein Target Item, entsprechend zum passenden Licht-Buero-Aus-Skript, auf
http://192.168.178.8:3777/user/WebhookBY.php?RUNScriptID=25834
Nicht vergessen den grünen Button “Add” zu drücken, wenn man die Target Items anlegt!
Außerdem muss man, wenn man fertig ist, noch den Button “Add Bridge Device” drücken, damit alles gespeichert wird.
Das sieht dann in etwa so aus:
Jetzt kann man über die Buttons “Test ON” und “Test OFF” schon die Funktion testen.
Wenn das klappt, muss man nur noch die Alexa App nochmal nach den Geräten suchen lassen und kann dann die Sprachsteuerung nutzen.
Hier kann ich sagen: “Alexa, Licht Buero einschalten” oder “Alexa, Licht Buero An”. Es wird beides verstanden und ausgeführt.
Hilfsvariable setzen mit der HA Bridge und Beispiel Rolladen:
Erstellen einer Hilfsvariable, deren Wert über die HA Bridge per Sprache gesetzt wird
Typ: INTEGER auswählen
Ergebnis ist eine neue Integer Hilfsvariable mit einer ID, die wir gleich brauchen. Bei mir ist es die ID 13635
Dann in der HA Bridge unter Add/Edit wieder ein Device anlegen
Diesem Device habe ich den Rufnamen “Rollladen Buero” gegeben.
Weiter unten muss man dann für das Dim Item unter Target Item die URL für das Setzen der gerade erstellten Hilfsvariable (ID 13635) eingeben.
In meinem Fall ist das wie folgt:
http://192.168.178.8:3777/user/WebhookBY.php?SETVarID13635=&SETVarVALUE=${intensity.percent}
Wieder nicht vergessen den grünen Button “Add” zu drücken, wenn man die Target Items anlegt!
Außerdem muss man, wenn man fertig ist, noch den Button “Add Bridge Device” drücken, damit alles gespeichert wird.
Das sieht dann in etwa so aus:
Jetzt kann man über den Buttons “Test Dim” schon die Funktion testen.
Wenn das klappt, muss man nochmal die Alexa App nach den Geräten suchen lassen und kann dann die Sprachsteuerung nutzen.
Die Hilfsvariable kann jetzt schon mit z.B. “Alexa, Rollladen Buero auf xx%” oder ”Alexa setze Rolladen Buero auf xx%” oder “Alexa, dimme Rollladen Buero auf xx%” gesetzt werden.
Damit die Hilfsvariable nun den Rolladen fahren kann,
muss man unter der oben angelegten Hilfsvariable ein Skript mit folgendem Inhalt anlegen
<?
SC_Move(36940 /*[KNX-original\Ergeschoss\Büro EG\Shutter Control EG Büro]*/, $_IPS['VALUE']);
?>
Ich arbeite mit dem Shutter Control Modul von Symcon. Deshalb sieht der Befehl “SC_Move” so aus.
Die ID 36940 ist mein Shutter Control vom Rollladen Büro.
Das Ereignis triggert die Änderung der Hilfsvariable. Also wenn sich der Wert der Hilfsvariable ändert, wird das Skript ausgeführt und das Skript holt sich den zu sendenden Wert von der Hilfsvariable.
Der Rollladen kann jetzt mit z.B. “Alexa, Rollladen Buero auf xx%” oder ”Alexa setze Rolladen Buero auf xx%” oder “Alexa, dimme Rollladen Buero auf xx%” gefahren werden.
Ich hoffe, die Anleitung ist verständlich.
Alternative Möglichkeit zur Bearbeitung der HA Bridge Konfig (device.db) mit Texteditor
Für diejenigen, die lieber mit einem Texteditor arbeiten, kann die Konfiguration der HA Bridge
auch mit einem Texteditor erfolgen.
Hierzu ist die Datei device.db zu bearbeiten.
Vorteil dieser Methode ist, dass man nur das nötigste in der Konfigurationsdatei hat.
Also nicht wundern, wenn diese anders aussieht, als die durch das Webinterface erstellte Konfig.
Die oben zwei aufgeführten Beispiele sehen im Texteditor so aus.
[
{
"id":"1",
"name":"Licht Buero",
"deviceType":"switch",
"offUrl":"[{\"item\":\"http://192.168.178.8:3777/user/WebhookBY.php?RUNScriptID\u003d25834\"}]",
"onUrl":"[{\"item\":\"http://192.168.178.8:3777/user/WebhookBY.php?RUNScriptID\u003d49340\"}]"
},
{
"id":"2",
"name":"Rollladen Buero",
"deviceType":"switch",
"offUrl":"",
"dimUrl":"[{\"item\":\"http://192.168.178.8:3777/user/WebhookBY.php?SETVarID\u003d13635\u0026SETVarVALUE\u003d${intensity.percent}\"}]",
"onUrl":""
}
]
Durch copy and paste kann die device.db einfach erweitert werden.
Wichtig ist hier nur, dass die Änderungen in der HA Bridge erst nach einem Neustart sichtbar sind.
Spracherkennung:
Betreffend der Spracherkennung und der verwendbaren Sprachbefehle, gibt es die Möglichkeit sich in diesem Thread auszutauschen
Fragen zu dieser Anleitung bitte im passenden Thread in der Bastel-Ecke stellen.
Amazon Echo zum Schalten von IP-Symcon Variablen per ESP8266 oder Wemos D1 mini