Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen aktiv!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt aktiv! Infos im Forum!
Mehr anzeigen
Weniger anzeigen

Alexa Smarthome Skill (Payload Version 3)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • jonofe
    antwortet
    Zitat von Sascha1983 Beitrag anzeigen
    So, läuft soweit, aber... Von 8 Geräten findet er nur 4. Wie kann ich das ändern?
    Projekt aktiviert?

    Keine Leerzeichen oder Sonderzeichen in der DeviceId?



    Einen Kommentar schreiben:


  • Sascha1983
    antwortet
    So, läuft soweit, aber... Von 8 Geräten findet er nur 4. Wie kann ich das ändern?

    Einen Kommentar schreiben:


  • Sascha1983
    antwortet
    Nein, habe keinen zweiten. Habe aber das Problem gefunden. Der Name ist noch von der erst Konfiguration von mir. Habe jetzt edomi nochmal neu aktiviert und siehe da.... Er findest die Lampe. Vielen Dank für deine Unterstützung. Ich denke, wenn du aus den ganzen Files ein zip machst, damit auch die AWS Files dabei sind, muss man wirklich nicht viel an der Doku anpassen und jeder kann es eigenständig installieren.
    danke für deine schnelle Hilfe.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Du hast doch noch ein zweites Smarthome Device konfiguriert, oder? Mit dem Namen "test"?
    Ich vermute dort hast du keine Funktions ausgewählt (z.B. eine 1 auf E10 als Powercontroller)?
    Kannst du das mal prüfen? Oder am besten das andere Device einfach löschen, so dass der Test nur mit einem Device läuft.
    Ich vermute, dass dann eine korrekte Discovery Response generiert wird.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Kannst du mir mal das JSON an A5 des Alexa Smarthome Skill LBS zusenden? => edomi(at)anrath.net

    Einen Kommentar schreiben:


  • Sascha1983
    antwortet
    Screenshot_20180731-130428.jpg Hallo,

    Wie gewünscht....

    Habe dir jetzt beide skills auf einem Screenshot gesendet. Wie gesagt, der custom läuft und der PLv3 noch nicht so ganz.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Na immerhin sehe ich da schon Daten von zwei Geräten. Eins mit Namen test und eins mit Namen Küche.
    Kannst du mal die Logikseite des Skill LBS und insbesondereder beiden Device LBS posten.

    Einen Kommentar schreiben:


  • Sascha1983
    antwortet
    Also, soweit folgendes Ergebnis:

    im log vom Skill:

    Status received from EDOMI: {"event":{"header":{"messageId":"36189c6e-0e36-4e5e-bea5-d401db5b74bc","name":"Discover.Response","namespac e":"Alexa.Discovery","payloadVersion":"3"},"pay loa d":{"endpoints":[{"endpointId":1,"manufacturerName":"EDOMI Smarthome Skill - (c) jonofe","friendlyName":"test","description":"test" ,"displayCategories":["OTHER"],"cookie":{},"capabilities":[]},{"endpointId":"Powercontroller","manufacturerNa m e":"EDOMI Smarthome Skill - (c) jonofe","friendlyName":"k\u00fcche","description": "k\u00fcche","displayCategories":["Light"],"cookie":{},"capabilities":[{"type":"AlexaInterface","interface":"Alexa.Pow erC ontroller","version":"3","properties":{"supported" :[{"name":"powerState"}],"proactivelyReported":false,"retrievable":true }}]}]}}}

    JSON RESPONSE:
    {"event":{"header":{"messageId":"36189c6e-0e36-4e5e-bea5-d401db5b74bc","name":"Discover.Response","namespac e":"Alexa.Discovery","payloadVersion":"3"},"pay loa d":{"endpoints":[{"endpointId":1,"manufacturerName":"EDOMI Smarthome Skill - (c) jonofe","friendlyName":"test","description":"test" ,"displayCategories":["OTHER"],"cookie":{},"capabilities":[]},{"endpointId":"Powercontroller","manufacturerNa m e":"EDOMI Smarthome Skill - (c) jonofe","friendlyName":"k\u00fcche","description": "k\u00fcche","displayCategories":["Light"],"cookie":{},"capabilities":[{"type":"AlexaInterface","interface":"Alexa.Pow erC ontroller","version":"3","properties":{"supported" :[{"name":"powerState"}],"proactivelyReported":false,"retrievable":true }}]}]}}}


    Nur leider findet er nichts..... Also er meldet keine neuen Geräte gefunden.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Das sieht so aus, als wäre dein Alexa Skill und Lambda Setup korrekt. Lediglich der Callback auf deinen Smarthome Skill liefert keine Response.
    Das kann jetzt verschiedene Ursachen haben. Du solltest den Kommunikationsweg nun wie folgt prüfen:
    1. Log des Reverseproxy (apache oder nginx) prüfen, ob die Lambda Funktion versucht das Skill-Skript aufzurufen
    2. Wenn das erfolgreich war, dann das Log des Skillskripts auf dem EDOMI Server prüfen, ob der Aufruf vom Reverseproxy bis zum Edomi Server durchgeht (ggf. Firewall zwischen RevProxy und Edomi Server freischalten, bzw. RevProxy korrekt konfigurieren)
    3. Wenn das auch funktioniert sollte das Skillskript mit dem Smarthomeskill-LBS 1200 kommunizieren (hier wieder einen anderen Port wählen, wenn 800x bei dir nicht funktioniert). Es sollte dann etwas im Log des LBS auftauchen
    4. Wenn auch dies funktioniert, dann den Smarthomeskill Device LBS prüfen, ob dieser korrekt konfiguriert ist. Hier sollte mindestens einer vorhanden sein, damit eine entsprechende Antwort auf "Alexa finde meine smarten Geräte" generiert wird.

    Am besten dann die entsprechenden Logs/Ergebniss dieser 4 Prüfungen hier posten. Dann sehen wir weiter ...

    Einen Kommentar schreiben:


  • Sascha1983
    antwortet
    Klasse, das hat schonmal etwas geholfen. Immerhin bekomme ich einen Connect im Log. Leider sagt er Payload V2 und im Shell von AWS kommt folgendes:

    Response: { "stackTrace": [ [ "/var/task/edomi-aws-lambda-skill-adapter-PLv3.py", 21, "lambda_handler", "return json.loads(response.text)" ], [ "/usr/lib64/python2.7/json/__init__.py", 339, "loads", "return _default_decoder.decode(s)" ], [ "/usr/lib64/python2.7/json/decoder.py", 364, "decode", "obj, end = self.raw_decode(s, idx=_w(s, 0).end())" ], [ "/usr/lib64/python2.7/json/decoder.py", 382, "raw_decode", "raise ValueError("No JSON object could be decoded")" ] ], "errorType": "ValueError", "errorMessage": "No JSON object could be decoded" } Request ID: "20f52a85-9368-11e8-a0bb-65ebd8d8fb6e" Function Logs: START RequestId: 20f52a85-9368-11e8-a0bb-65ebd8d8fb6e Version: $LATEST #### Starte EDOMI SmartHome Skill Handler #### Event: {u'header': {u'messageId': u'F8752B11-69BB-4246-B923-3BFB27C06C7D', u'name': u'DiscoverAppliancesRequest', u'namespace': u'Alexa.ConnectedHome.Discovery', u'payloadVersion': u'2'}, u'payload': {u'accessToken': u'1'}} Response: u'' No JSON object could be decoded: ValueError Traceback (most recent call last): File "/var/task/edomi-aws-lambda-skill-adapter-PLv3.py", line 21, in lambda_handler return json.loads(response.text) File "/usr/lib64/python2.7/json/__init__.py", line 339, in loads return _default_decoder.decode(s) File "/usr/lib64/python2.7/json/decoder.py", line 364, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/lib64/python2.7/json/decoder.py", line 382, in raw_decode raise ValueError("No JSON object could be decoded") ValueError: No JSON object could be decoded END RequestId: 20f52a85-9368-11e8-a0bb-65ebd8d8fb6e REPORT RequestId: 20f52a85-9368-11e8-a0bb-65ebd8d8fb6e Duration: 924.66 ms Billed Duration: 1000 ms

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Versuche mal die angehängte ZIP Datei zum deployen der Lambda Funktion zu verwenden.
    Und dann wie in der Anleitung beschrieben, die URL anpassen.

    Angehängte Dateien

    Einen Kommentar schreiben:


  • Sascha1983
    antwortet
    Unbenannt.JPG Also ich habe nochmal alles durchgeschaut.... in der AWS bekomme ich folgende Meldung beim Test der Lambda


    auch im Skill test, bekomme ich als Rückmeldung, keine Geräte gefunden und entsprechend keine Reaktion im Log von Edomi.
    Zuletzt geändert von Sascha1983; 29.07.2018, 11:17.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Das klingt danach als würdest du gerade die Custom Skill Anleitung auf einen Smarthome Skill anwenden.

    Wenn du bis Kapitel 8 alles erfolgreich durchgeführt hast, dann muss du mit Kapitel 12 weitermachen, denn Kapitel 9-11 beziehen sich ausschließlich auf den Alexa Custom Skill.

    Ab Kapitel 12.5 müssen dann die Files aus dem ersten Post dieses Threads verwendet werden.

    Einen Kommentar schreiben:


  • Sascha1983
    antwortet
    so, habe mich mal daran versucht..
    wenn ich bei amazon einen Skill anlege, muss ich doch smart home auswählen oder??? in diesem Fall gibt es als Endpoint nur die Möglichkeit einen AWS zu nutzen. In der Anleitung heisst es man soll den https von sich einrichten. Gibt es da einen Tipp??

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Leider sind es Projekte wie:
    - Fassade streichen
    - Randsteine setzen
    - Rasen erneuern
    - Bewässerunganlage
    - Mähroboter
    - Kameras

    Also nur teilweise und eher später mit Edomi Bezug

    Einen Kommentar schreiben:

Lädt...
X