Zitat von 2Fast4You78
Beitrag anzeigen
Ankündigung
Einklappen
Keine Ankündigung bisher.
Alexa Custom Skill für EDOMI (LBS 19000646 und 19000647)
Einklappen
X
-
Zitat von jonofe Beitrag anzeigenLambda wäre eine Alternative zum alexa.php Skript. Allerdings muss auch die Lambda Funktion den EDOMI Server erreichen. Daher ist es hier keine Alternative zum Reverse Proxy.
Ich kenne mich mit Lambda überhaupt nicht aus. Dachte, dass man dort sowas wie einen Mini-Repeater installieren könnte, der dann mit dem alexa.php Skript spricht.
Kommentar
-
Zitat von jonofe Beitrag anzeigen
Nein, das sollte nicht notwendig sein. Wenn false, dann false. Nur wenn es nicht auf false gesetzt wird, dann ist eine userId notwendig.
Kommentar
-
Zitat von Nanosonde Beitrag anzeigen
Ok, logisch. Ich dachte mehr daran, dass der Umweg über Lambda evtl. eine direkte Kommunikation per IPv6 ermöglichen würde.
Ich kenne mich mit Lambda überhaupt nicht aus. Dachte, dass man dort sowas wie einen Mini-Repeater installieren könnte, der dann mit dem alexa.php Skript spricht.
Code:import requests import json from pprint import pprint def lambda_handler(event, context): access_token = event['payload']['accessToken'] url = 'https://alexa.xxxxxx.xxx/admin/lbs/xxxxx-xxxxxxxxx-xxxxx.php' headers = {"content-type": "application/json"} data = json.dumps(event) response = requests.post(url, headers=headers, data=data, verify=True) return json.loads(response.text)
Zuletzt geändert von jonofe; 08.03.2017, 19:30.
Kommentar
-
Zitat von jonofe Beitrag anzeigen
Kleiner Ausblick: Bald wird es auch einen passenden Smarthome Skill geben, der sich in den Alexa Command Validator integriert. Dauert aber noch etwas.
Gunnar
Kommentar
-
@jonofe:
Tolle Arbeit, danke
Bei der Rolladenpositionierung überlege ich gerade wie eigentlich der einfachste Weg ist, die 0-100% Werte bei der ALEXA Ausgabe in die 0-255 Positionswerte für das KO zu konvertieren. Mit einem reinen Multiplikator LBS funktioniert das nicht direkt, da der bei der Initialisierung ja sofort ein 0 Produkt ausliefert (Eingang leer). Wer kann mir hier bitte helfen? Vorab Danke
Kommentar
-
Zitat von Nanosonde Beitrag anzeigen
3)
Klappt auch schon das Abfragen von Messwerten?
"Alexa, starte edomi und gib mit den Raumtemperatur des Wohnzimmers".
Die Anfrage ist sogar noch etwas einfacher.
"Alexa, frag Edomi nach der Außentemperatur" gibt mit folgender Logik die aktuelle Außentemperatur, sowie die Min- und Max-Werte (aus dem entsprechenden Datenarchiv) der vergangenen 12 Stunden aus:
Zwischenablage01.jpg
Die Rechnerei mit mal 10 und dann div/mod war notwendig, um in allen Fällen korrekte Angaben mit einer NachKOMMAStelle zu erzeugen. Hab in einem anderen Thread mal angeregt, ein LBS zu erstellen, in dem genau dieselben mathematischen/String- Funktionen wie in Visuelementen auf KO-Werte angewendet werden können.... dann wirds einfacher.
Der Response-Text im Command Validator lautet in meinem Fall "Die Außentemperatur beträgt %1% Komma %2% Grad Celsius. Das Minimum der letzten zwölf Stunden war %3% Komma %4%, das Maximum %5% Komma %6% Grad Celsius."
In der Amazon-Skill-Verwaltung muss lediglich unter den "custom Slot types" der "group type" um den value "Außentemperatur" (oder was auch immer Du abfragen willst) ergänzt werden.
Läuft bestens.
Grüße,
Gunnar
Kommentar
-
alexa_logik.PNGNabend André,
Meine Alexa hört soweit schon auf mich, ich habe allerdings recht viele Fehler im Log der folgenden Art im Alexa ReceiverLBS19000642 [v0.2]: File: /usr/local/edomi/www/data/liveproject/lbs/EXE19000646.php | Error: 2 | Line: 80 | stream_socket_accept(): accept failed: Connection timed out
Kommentar
-
Was genau war es denn? Wenn man damit EDOMI abschießen kann, dann würde ich das gerne im Error handling abfangen.
Keine Ahnung wie ich das hinbekommen habe!
Jetzt habe ich aber noch 2 Fragen.
a.) Gibt es einen Weg bestimmte Funktionen einem dot zuzuordnen, bzw. anderen Dots zu verbieten?
b.) Ich schalte die Musik in meinem Büro mit dem Kommando
"Alexa schalte Licht im Büro an/aus"
Was muß ich unternehmen, damit ich hier Musik <Raumbezeichnung> sagen kann?
Gruß Hartwig
Kommentar
-
Zitat von hartwigm Beitrag anzeigen
a.) Gibt es einen Weg bestimmte Funktionen einem dot zuzuordnen, bzw. anderen Dots zu verbieten?
Zitat von hartwigm Beitrag anzeigenb.) Ich schalte die Musik in meinem Büro mit dem Kommando
"Alexa schalte Licht im Büro an/aus"
Was muß ich unternehmen, damit ich hier Musik <Raumbezeichnung> sagen kann?
Danach sollten dann folgende Befehle möglich sein:
Alexa, starte EDOMI und schalte die Musik im Büro ein.
Alexa, starte EDOMI und schalte im Büro die Musik ein.
Alexa, starte EDOMI und schalte die Musik ein.
Den Alexa Command Validator musst du natürlich entsprechend an den Eingängen konfigurieren.
Kommentar
-
Zitat von 2Fast4You78 Beitrag anzeigenMeine Alexa hört soweit schon auf mich, ich habe allerdings recht viele Fehler im Log der folgenden Art im Alexa Receiver
Hast du eine Idee?
Kommentar
-
Im Custom Slot Type "Switch_Name_Type" das Wort "Musik" ergänzen.
Als Antwort bekomme ich nur einfachen Schaltbefehl empfangen
der Receiver liefert {"group":"schalten","name":"musik","location":""," value":0,"queue":179962176}
mache ich das mit Licht, dann wird Location korrekt belegtGruß Hartwig
Kommentar
Kommentar