Ankündigung
Einklappen
Keine Ankündigung bisher.
Amazon-Echo Logikbaustein
Einklappen
X
-
Hi. Ich biete mich auch sehr gern zum Testen an. Bin Informatiker und besitze auch einen Gira HS. Leider scheitert es bei mir ebenso am Echo.
-
Guten Abend Werner,Zitat von wernerL Beitrag anzeigenHallo Stephan,
der Logikbaustein hätte jetzt einen Stand wo ein anderer User diesen testen könnte.
Allerdings umfasst die komplette Einrichtung bis zur funktionierenden Sprachsteuerung eine ganze Reihe von teilweise nicht trivialen Konfigurationsschritten. Ein gewisser Teil der "externen" Konfiguration läuft zwar analog wie z.B.: bei FHEM Punkte 1.3 - 1.6 ab siehe (http://www.fhemwiki.de/wiki/Alexa-Fhem) allerdings existiert (noch) keine eigene vollständige Dokumentation hierfür. Genau für diesen Punkt würde ich auch noch jemanden suchen, der das übernehmen könnte.
Nachdem die Resonanz allerdings bis jetzt nicht sehr groß ist, wärst du vielleicht auch der Einzige der diese Dokumentation dann verwenden würde.
Also falls du Interesse hast und dir das zutraust gib mir Bescheid.
Gruß Werner
ich habe meinen noch nicht bekommen, aber würde mich anbieten Dir bei der Doku zu helfen.
Ich lese mich erstmal bei fhem ein. Wenn Du noch Daten/ Teile der Instalation oder was auch immer
hast kannst Du die mir per PM zukommen. Wie und welchen Style die Doku haben soll, kannst Du mir
sagen.
Laß uns einfach anfangen und keinen Druck gegenseitig aufbauen!!!
Ggf. machen wir erstmal ein Word Dokumment zum hin und hersenden!!
Ggf. muss Du mir aber auch halt helfen....
Also wenn Du hilfe brauchst melde Dich!!!
Gruß Marcus
Einen Kommentar schreiben:
-
Im aktuellen Stand sind von der Smart Home Skill API die "Discovery Messages", "On/Off Messages" und die "Percentage Messages" umgesetzt.
Die Konfiguration der steuerbaren "Geräte" kann aktuell entweder:
a) über eine zusätzliche Kennzeichnung ([Switchable] bzw. [Lighting]) im Namen des Kommunikationsobjekts im Gira Experten oder
b) über eine textuelle Konfiguration erfolgen.
Beispiel für a)
GrpAdr="1/2/3" Bezeichnung="Küche [Switchable]" Datentyp="1-bit Schalt..."
GrpAdr="1/2/4" Bezeichnung="Diele Wandleuchte [Lighting]" Datentyp="8-bit (0..100%/EIS6)"
Alexa schalte das Licht in der Küche ein
Alexa dimme das Licht in der Diele auf 70%
Beispiel für b)
Alexa schalte die Deckenleuchte im Windfang einCode:[ {"room" : "Windfang", "appliances" : [{"name" : "Deckenleuchte", "onOff" : "1/0/1", "aliases":["Eingang"]}]}, {"room" : "Diele", "appliances" : [ {"name" : "Wandleuchten", "onOff":"1/0/10", "percent":"1/0/11"}, {"name" : "Deckenleuchte", "onOff":"1/0/12"}, {"name" : "Vitrine", "onOff":"1/0/13", "aliases" : ["Deko Diele", "Dekobeleuchtung Diele"]} ]}, {"room" : "Lichtszene", "appliances" : [ {"name" : "Essen", "onOff":"2/7/41", "value":"0"}, {"name" : "Küche", "onOff":"2/7/41", "value":"1"}, {"name" : "Deko", "onOff":"2/7/41", "value":"2"} ]} ]
Alexa dimme die Wandleuchten in der Diele auf 70%
Alexa starte die Lichtszene Essen
Wie sich herausgestellt hat, ist Variante a) eigentlich nur für einen ersten kurzen Test mit ein paar Geräten geeignet. Zum einen ist es unschön in den Namen der Kommunikationsobjekte rumzupfuschen, zum anderen ist man in der Konfiguration zu sehr eingeschränkt.
Variante b) ist erstmal ein erster Entwurf. (Beim schreiben ist mir gerade aufgefallen, dass es vielleicht eher "group" statt "room" heissen sollte.)
Gruß Werner
Einen Kommentar schreiben:
-
Wie weit sind die Funktionen des Bausteins? Nur an/aus oder auch %? Habe noch keinen Echo. Gira Hs wäre vorhanden.
Einen Kommentar schreiben:
-
Hallo Stephan,
der Logikbaustein hätte jetzt einen Stand wo ein anderer User diesen testen könnte.
Allerdings umfasst die komplette Einrichtung bis zur funktionierenden Sprachsteuerung eine ganze Reihe von teilweise nicht trivialen Konfigurationsschritten. Ein gewisser Teil der "externen" Konfiguration läuft zwar analog wie z.B.: bei FHEM Punkte 1.3 - 1.6 ab siehe (http://www.fhemwiki.de/wiki/Alexa-Fhem) allerdings existiert (noch) keine eigene vollständige Dokumentation hierfür. Genau für diesen Punkt würde ich auch noch jemanden suchen, der das übernehmen könnte.
Nachdem die Resonanz allerdings bis jetzt nicht sehr groß ist, wärst du vielleicht auch der Einzige der diese Dokumentation dann verwenden würde.
Also falls du Interesse hast und dir das zutraust gib mir Bescheid.
Gruß Werner
Einen Kommentar schreiben:
-
Bin wie gesagt ein paar Tage unterwegs. Wenn ich wieder da bin melde ich mich wieder bei dir.
Gruß
Werner
Einen Kommentar schreiben:
-
Das klingt interessant! Wenn Du da etwas hast würde mich das definitiv interessieren.
Gruß
Stephan
Einen Kommentar schreiben:
-
Hallo Stephan,
die Anbindung läuft aktuell über den Alexa Smart Home Skill mit einer AWS-Lambda-Funktion quasi als Zwischenschicht.
Allerdings habe ich mich noch nicht um die "Temperature Control Messages" gekümmert, weil ich dafür momentan noch keinen Anwendungsfall habe.
Nachdem die Möglichkeiten mit dem Smart Home Skill im Augenblick doch noch sehr eingeschränkt sind, werde ich wohl die weiteren Funktionen die ich gerne hätte, parallel über einen Custom-Skill anbinden.
Gruße
Werner
Einen Kommentar schreiben:
-
Ich meine die Amazon Alexa API, welche u. a. die Schnittstelle zu Amazon Echo zur Verfügung stellt. Oder gegen welche Schnittstelle entwickelst Du Deinen Baustein?
Gruß
Stephan
Einen Kommentar schreiben:
-
Erstmal Danke für deinen Tipp.
Mein Versuch den Text des SSL-Zertifikats über einen Bausteineingang dem Programm zu übergeben klappt leider nicht.
Egal ob über den Init-Wert eines ausgelagerten 14-Byt Text Kommunikationsobjekts oder als Default-Wert am Bausteineingang selbst.
Es wird von dem mehrzeiligen Text des SSL-Zertifikats nur die erste Zeile "-----BEGIN PRIVATE KEY-----" übernommen.
Evtl. könnte man vieleicht tricksen, wenn man die Zeilenumbrüche im Text des SSL-Zertifikats unter Berücksichtigung des Escaping's im Text durch z.B.: "\n" ersetzt und dann vom Logikbaustein wieder in Zeilenumbrüche zurück umwandelt. Zu diesem Test komme ich allerdings erst nächste Woche, da ich jetzt erstmal bis Dientstag unterwegs bin.
Zu deinen Fragen:
Mir ist leider nicht klar welche API du meinst.
Den "Baustein" habe ich mit dem Python Logikgenerator von NilsS entwickelt, wobei das Ganze mit einem klassischen Logikbaustein eigentlich nicht mehr viel zu tun hat.
Es ist wohl eher ein eigenständiges HTTPS-Webservice Modul bestehend aus mehreren Python-Klassen was man in einen Logikbaustein verpackt hat um es mit dem Gira Homeserver zu nutzen.
Gruß Werner
Einen Kommentar schreiben:
-
Hallo Werner!
Ein SSL-Zertifikat ist nichts anderes als Text. Das kannst Du in einem Editor öffnen, kopieren und im Experten in ein Text-Objekt als Init-Wert legen. Das Objekt verbindest Du dann mit einem Eingang Deines Bausteins, der dann diese Infos beim Durchlaufen zur Verfügung hat.
Allerdings finde ich jetzt gerade in der API nicht die Stelle, die ein vom HTTPS-Protokoll separates Zertifikat benötigt. Wie setzt Du den Baustein denn um? Soweit ich die API überblicke ist das mit den Standard-Bordmitteln der offiziellen HS-Logik-Doku nur mit äußerstem Aufwand möglich...
Einen Kommentar schreiben:
-
Amazon-Echo Logikbaustein
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:- 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)Zuletzt geändert von wernerL; 16.01.2017, 13:56.Stichworte: -
- Likes 4

Einen Kommentar schreiben: