Hallo,
nachdem ich immer noch auf eine Einladung zum Kauf eines Amazon-Echo's warte, habe ich zwischenzeitlich doch an der Anbindung über einen Gira Homeserver Logikbaustein weitergearbeitet.
Um den Baustein allgemeingültig zu machen, suche ich aktuell noch nach einer Lösung dem Baustein mehrer "textuelle Konfigurationen" als Parameter zu übergeben.
So braucht der Baustein z.B.: für die Kommunikation über Https ein SSL-Zertifikat welches ich aktuell im Baustein hardcodiert habe.
Die einzige Möglichkeit die mir bis jetzt eingefallen ist:
Nachdem der Baustein einen Https-Server bereitstellt, könnte man eine Konfigurations-Webseite bauen in der man die benötigten Konfigurationsdateien über FileUpload hochladen kann.
Einfacher umzusetzen wäre es jedoch über den "Gira Experten", aber über die Bausteineingänge kommt man hier nicht weiter - oder habe ich da etwas übersehen?
Viele Grüße
Werner
Update 16.01.2017
Neue Version V0.3 des Logikbausteins auf https://github.com/Picpol/HS-AmazonEcho hochgeladen.
Vielen Dank auch wieder an Marcus alias tunneltruppe, das er sich als Versuchskaninchen bereit erklärt hat.
!!!Beim Update des Logikbausteins von Version V0.2 auf V0.3 geht die JSON-Gerätekonfiguration im Gira Homeserver verloren und muss deshalb im Anschluß neu "hochgeladen" werden!!!
Änderungen von V0.2 auf V0.3:
Update 17.12.2016:
Neue Version V0.2 des Logikbausteins auf https://github.com/Picpol/HS-AmazonEcho hochgeladen.
Hinweis: Auch hier gilt "Never change a running System". Falls es also läuft und man nicht die Solltemperatur eines Raumes per Sprachkommando steuern möchte, oder die Appliance-ID's vorgeben möchte, gibt es keinen zwingenden Grund upzudaten.
Änderungen von V0.1 auf V0.2:
Zum Update von V0.1 auf V0.2: muss man sowohl die GiraHS.js als auch den Logikbaustein updaten.
Die Ein- und Ausgänge des Bausteins haben sich allerdings geändert:
Update 6.12.2016:
Der Logikbaustein hat zwischenzeitlich die offizielle Bausteinnummer 13626 bekommen und wurde in die Rubrik "Weitere Bausteine" einsortiert. Verweise auf die alte Bausteinummer 10013 sind bitte entsprechend mit 13626 zu ersetzen.
Den Baustein und alle weiteren zur Anbindung nötigen Dokumente findet man unter https://github.com/Picpol/HS-AmazonEcho
Vielen Dank auch nochmal an tunneltruppe für die Unterstützung beim Test und der Dokumentation.
Hinweis: Ich bin kein Python-Profi und auch kein SSL-Guru, also falls jemand Hinweise oder Verbesserungsvorschläge hat, nehme ich diese gerne entgegen. Des Weiteren ist die Einrichtung relativ umfangreich und nicht ganz ohne (siehe auch Kommentare im Projektforum: Smarthome.py zur Einrichung der Amazon-Konfiguration)
nachdem ich immer noch auf eine Einladung zum Kauf eines Amazon-Echo's warte, habe ich zwischenzeitlich doch an der Anbindung über einen Gira Homeserver Logikbaustein weitergearbeitet.
Um den Baustein allgemeingültig zu machen, suche ich aktuell noch nach einer Lösung dem Baustein mehrer "textuelle Konfigurationen" als Parameter zu übergeben.
So braucht der Baustein z.B.: für die Kommunikation über Https ein SSL-Zertifikat welches ich aktuell im Baustein hardcodiert habe.
Die einzige Möglichkeit die mir bis jetzt eingefallen ist:
Nachdem der Baustein einen Https-Server bereitstellt, könnte man eine Konfigurations-Webseite bauen in der man die benötigten Konfigurationsdateien über FileUpload hochladen kann.
Einfacher umzusetzen wäre es jedoch über den "Gira Experten", aber über die Bausteineingänge kommt man hier nicht weiter - oder habe ich da etwas übersehen?
Viele Grüße
Werner
Update 16.01.2017
Neue Version V0.3 des Logikbausteins auf https://github.com/Picpol/HS-AmazonEcho hochgeladen.
Vielen Dank auch wieder an Marcus alias tunneltruppe, das er sich als Versuchskaninchen bereit erklärt hat.
!!!Beim Update des Logikbausteins von Version V0.2 auf V0.3 geht die JSON-Gerätekonfiguration im Gira Homeserver verloren und muss deshalb im Anschluß neu "hochgeladen" werden!!!
Änderungen von V0.2 auf V0.3:
- zusätzliche Möglichkeit über den Custom-Skill Werte vom KNX-Bus abzufragen
- in der JSON-Konfiguration können jetzt Javascript-Kommentare verwendet werden
- statt der Angabe des "onOff" Attributes, kann jetzt ein "on" und/oder "off" Attribut verwendet werden um eine 1-Bit KNX-Gruppenadresse anzugeben. Damit kann man festlegen, ob ein Gerät mit dem jeweiligem Sprachkommando nur ein oder ausgeschaltet werden darf.
- die maximale Länge Bytes (Zeichen) der JSON Konfiguration ist jetzt 50.000 - bislang nur 10.000
- "Favicon-Requests" der Browser werden nicht mehr als unautorisierte Zugriffe gezählt
- im Log wird für die Set-Percentage und Set-Temperature Requestes auch der gesendete Wert ausgegeben
- kleinere Fehlerbehebungen und Verbesserungen
Update 17.12.2016:
Neue Version V0.2 des Logikbausteins auf https://github.com/Picpol/HS-AmazonEcho hochgeladen.
Hinweis: Auch hier gilt "Never change a running System". Falls es also läuft und man nicht die Solltemperatur eines Raumes per Sprachkommando steuern möchte, oder die Appliance-ID's vorgeben möchte, gibt es keinen zwingenden Grund upzudaten.
Änderungen von V0.1 auf V0.2:
- Unterstützung der "Temperature Control Messages" des Amazon "Smart Home Skill API "
D.h. auf Raumebene kann optional mit dem Schlüsselwort "targetTemperature":"X/Y/Z" eine KNX Gruppenadresse für die Solltemperaturvorgabe des Raumes angegeben werden - auf Raumebene und Geräteebene kann optional mit dem Schlüsselwort "id": die Appliance-ID vorgegeben werden. Der ID darf nur aus Buchstaben und Ziffern bestehen, da Alexa sonst damit nicht klarkommt. Für die Aliasenamen wird zusätzlich automatische eine laufende Nummer angehängt.
- Log-Ausgabe mit der Möglichkeit diese über die Homeserver Debug-Seite einzusehen
- Die Fehlerbehandlung sollte besser geworden sein
- Das Character-Encoding sollte besser gehandhabt werden z.B.:
korrekte Darstellung der Umlaute nach dem abspeichern der Konfiguration
korrekte Behandlung von Umlauten im im Access-Token - sonstige kleinere Änderungen
- das erste Gerät in der Appliance-Liste wird nicht mehr unter dem Raumnamen an Alexa gemeldet.
- das optionale Schlüsselwort "value" zur Vorgabe des Einschaltwertes wurde umbenannt in "onValue"
Zum Update von V0.1 auf V0.2: muss man sowohl die GiraHS.js als auch den Logikbaustein updaten.
Die Ein- und Ausgänge des Bausteins haben sich allerdings geändert:
- zwei zusätzliche Eingänge zur Steuerung der Log-Ausgabe (am besten erstmal Default-Werte verwenden)
- der bisherige Textausgang A1 (Systemlog) entfällt und muss durch einen Zählerausgang ersetzt werden.
Dieser protokolliert die Anzahl der Zugriffe ohne gültiges Access Token.
Update 6.12.2016:
Der Logikbaustein hat zwischenzeitlich die offizielle Bausteinnummer 13626 bekommen und wurde in die Rubrik "Weitere Bausteine" einsortiert. Verweise auf die alte Bausteinummer 10013 sind bitte entsprechend mit 13626 zu ersetzen.
Den Baustein und alle weiteren zur Anbindung nötigen Dokumente findet man unter https://github.com/Picpol/HS-AmazonEcho
Vielen Dank auch nochmal an tunneltruppe für die Unterstützung beim Test und der Dokumentation.
Hinweis: Ich bin kein Python-Profi und auch kein SSL-Guru, also falls jemand Hinweise oder Verbesserungsvorschläge hat, nehme ich diese gerne entgegen. Des Weiteren ist die Einrichtung relativ umfangreich und nicht ganz ohne (siehe auch Kommentare im Projektforum: Smarthome.py zur Einrichung der Amazon-Konfiguration)
Kommentar