[alexa-fhem | Generell] Alles zu Installation und damit verbundenen Problemen

Begonnen von prodigy7, 09 November 2016, 19:42:01

Vorheriges Thema - Nächstes Thema

heuckmann


amenomade

Dann musst Du in der Log auf Cloudwatch gucken, was dort passiert.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

heuckmann

Später - ich muss jetzt erst einmal prüfen warum der Alexa-Fhem Dienst sich nicht mehr starten lässt.... ::)

heuckmann

...Den Dienst habe ich wieder ans Laufen bekommen.

Wenn ich den LAMDA Test mache schreibt Cloudwatch ins LOG das hier:




19:37:41
START RequestId: ab7763d2-9bdf-11e7-b975-6da5c2c09046 Version: $LATEST

19:37:41
2017-09-17T19:37:41.826Z ab7763d2-9bdf-11e7-b975-6da5c2c09046 EVENT: [object Object]

19:37:41
2017-09-17T19:37:41.827Z ab7763d2-9bdf-11e7-b975-6da5c2c09046 CONTEXT: [object Object]

19:37:42
2017-09-17T19:37:42.839Z ab7763d2-9bdf-11e7-b975-6da5c2c09046 STATUS: 200

19:37:42
2017-09-17T19:37:42.839Z ab7763d2-9bdf-11e7-b975-6da5c2c09046 HEADERS: {"date":"Sun, 17 Sep 2017 19:37:42 GMT","connection":"close","transfer-encoding":"chunked"}

19:37:42
2017-09-17T19:37:42.867Z ab7763d2-9bdf-11e7-b975-6da5c2c09046 BODY: "{\"header\":{\"name\":\"UnsupportedOperationError\",\"payloadVersion\":\"2\",\"namespace\":\"Alexa.ConnectedHome.Control\",\"messageId\":\"fc886c43-fea4-4c0f-8be5-2d7c6b908040\"},\"payload\":{}}"

19:37:42
END RequestId: ab7763d2-9bdf-11e7-b975-6da5c2c09046

19:37:42
REPORT RequestId: ab7763d2-9bdf-11e7-b975-6da5c2c09046 Duration: 1060.81 ms Billed Duration: 1100 ms Memory Size: 128 MB Max Memory Used: 23 MB
No newer events found at the moment. Retry.



amenomade

Was mich interessiert ist aber nicht die Log vom Test, sondern die Log von der Suche.

In console.aws.amazon.com/lambda, die fhem lambda Funktion auswählen, dann monitoring Reiter, dann view journal/logs
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

heuckmann

@amenomade

Zu 1: Da läuft bei der Suche kein LOG rein.
(Nur der Lambda-test erzeugt einen LOG)

Zu 2: Habe ich gemacht - auch gelöscht und neu angelegt - kleine Änderung.


PS: Ich finde das ziemlich merkwürdig, dass der Austausch einer FB gegen einen andere FB - solche Probleme nach sich zieht.. aber naja...wir werden ja nicht dümmer dadurch.

UPDATE:
======

Was habe ich seit gestern abend gemacht?

Den SmarthomeSkill noch einmal gelöscht und neu gesetzt.
Den Trigger gelöscht und neu angelegt.
Die notwendigen Anpassungen in config.json gemacht.

Tests Tests Tests... es ändert sich aber nix.

LAMBDA Tests werden im ./bin/alexa --debug angezeigt und auch im Amazon Monitoring LOG gelistet.

Amazon Gerätesuche bleibt erfolglos - kein LOG kein Hinweis im LOG.

Menno - das kann doch nicht so kompliziert sein...

amenomade

ZitatPS: Ich finde das ziemlich merkwürdig, dass der Austausch einer FB gegen einen andere FB - solche Probleme nach sich zieht.
Ich eigentlich auch.  Allerdings hast Du auch ein Update von Alexa gemacht... (hast Du übrigens die Zertifikatsdateien  wieder importiert?)

Das Du den Test in der alexa-fhem Log siehst, aber die Directive "DiscoverAppliancesRequest" nicht, ist auch ein Wunder.

Hast Du in der lambda Funktion die letzte Version des Codes, wie es im package 0.3.4 liegt? Dann nw. gibt es "console.log" Kommandos, die auf jeden Fall in eine Log im CloudWatch landen müssten. Wenn Du nichts hast, musst Du vielleicht etwas aktivieren, bin aber kein Profi davon. Aber ein Blick in der Log seitens Amazon wäre auf jeden Fall holfreich.
  console.log(`EVENT: ${event}`);
  console.log(`CONTEXT: ${context}`);
...
   console.log(`STATUS: ${result.statusCode}`);
    console.log(`HEADERS: ${JSON.stringify(result.headers)}`);
...
      console.log(`BODY: ${JSON.stringify(body)}`);
...
    console.log(`problem with request: ${e.message}`);


http://docs.aws.amazon.com/de_de/lambda/latest/dg/monitoring-functions-logs.html
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

heuckmann

Ja - habe die key.pem und cert.pem immer wieder aus den alten Verzeichnissen zurück geholt.
Gabs bei der lambda.js Unterschiede zu 0.1.9 ? Meine nix gesehn zu haben - habs aber trotzdem mal kopiert - nüscht.

Aber sag mir doch mal was es hiermit auf sich hat - irgendwie meine ich nie eine Rückmeldung aus dem Lambda Test hierzu gelesen zu haben.? Ist das nur ein "normaler Error aus dem Test?

[9/18/2017, 1:18:53 PM] event not supported
[9/18/2017, 1:18:53 PM] ERROR: UnsupportedOperationError from 34.251.184.83

response :{"header":{"name":"UnsupportedOperationError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"2c643468-4aec-4d86-b577-f77a                     f77d2826"},"payload":{}}

Das mit der Console probiere ich jetzt aus.

amenomade

ZitatIst das nur ein "normaler Error aus dem Test?
Ja, ist es.

Bei mir hab ich erst geschaft, die Cloudwatch Logs generiert zu kriegen, indem ich eine neue Role policy kreiert habe und mit der Lambda Funktion verknüpft:

1. In https://console.aws.amazon.com/iam/home links (Service = IAM in URL) auf Roles klicken, Create Role, AWS Services > Lambda auswählen, unten auf Next:Permissions klicken, in Filter by Policy Type "log" eintragen (ohne quotes), CloudWatchLogsFullAccess hacken, auf Next: Review klicken, Name vergeben und mit "Create role" bestätigen

2. Dann immer noch in der Console, oben Links auf "Services" klicken, Lambda auswählen, auf deine lambda Funktion klicken, dann Reiter Configuration, dort in Existing role den neuen Role auswählen, und oben Save (and Test, wenn Du willst).

3. Eine Suche von den Devices starten (aus alexa.amazon.com oder aus der App)

4. Dann zurück in der Console im lambda Service, Reiter Monitoring: nw. wurde ein neues group/stream /aws/lambda/<Name deiner lambda Funktion> kreiert. Da liegt die Log.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

heuckmann

Hab ich gemacht - auch auf die Gefahr hin, das Du mich umbringst....

es wird kein LOG in "meiner" Gruppe abgestellt.....

"No Log Streams To Show"

amenomade

Das verstehe ich aber nicht. Auch mit einem neuen Role, der explizit alle Berechtigungen auf den Logs hat? Bist du überhaupt mit den richtigen Konten angemeldet?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

heuckmann

Was meinst Du mit dem richtigen Konto angemeldet?

Ich bin mit dem Konto angemeldet worüber ich Anfang des Jahres die Erstinstallation Alexa gemacht habe und die ja bis Ende Juli ohne Probleme lief.
Hier sind ja auch ohne Ende LOG-Dateien aus den Tests angelegt. - Und der Lambda Test kommt ja auch rein.
Deswegen verstehe ich die Frage nicht so richtig... :(

Irgendwo habe ich gelesen, dass das bis zu 4 Std dauern kann damit die die Role überhaupt funktioniert?

Das schlimme bei der ganze Sache hier ist ja, dass ich langsam glaube den RPi komplett incl FHEM neu aufzusetzen zu müssen weil der Wurm da irgendwie drin ist.

Aber ich wehre mich noch vor dieser Möglichkeit - obgleich ich in derZeit die ich mit Fehlersuche verbracht habe sicherlich hätte 20 RPis neu aufsetzen können....

Was sagen denn die anderen? Bin ich tatsächlich der erste mit so einem Problem????

heuckmann

Ich habe di ganze Nacht noch einmal alles von vorne neu gesetzt kopiert gemacht getan - was nun anders ist als gestern nachmittag vermag ich nicht zu sagen - ich bin aber ein Schritt weiter - ich bekomme ein  ERROR: InvalidAccessTokenError from xxxx  zurück.

Da habe ich doch hier irgendwo was im Forum  gelesen.. ich geh mal auf die Suche. :o


#################UPDATE ++++++++++++++++++++

Hmpf - ich habe zwar einiges mit Token gefunden passt aber nicht genau zu das hier:

[9/19/2017, 12:04:16 PM] ERROR: InvalidAccessTokenError from 52.51.179.250

response :{"header":{"name":"InvalidAccessTokenError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"db66c844-e34b-4424-b574-c721a4f6c60a"},"payload":{}}

[9/19/2017, 12:04:17 PM] clientID amzn1.application-oa2-client.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnot authorized
[9/19/2017, 12:04:17 PM] { aud: 'amzn1.application-oa2-client.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',

  user_id: 'amzn1.account.xxxxxxxxxxxxxxxxxxxxxxx',
  iss: 'https://www.amazon.com',
  exp: 3586,
  app_id: 'amzn1.application.xxxxxxxxxxxxxxxxxxxxxxx',
  iat: xxxxxxxxxxxxxxxxxx }



Das kommt wenn ich im DEBUG Modus eine Gerätesuche in Amazon Alexa mache.

Trigger hatte ich auch mal gelöscht und neu angelegt.

Den Skill in alexa.amazon.de habe ich auch bereits deaktiviert und neu verknüpft.


######### Update 2 +++++++++++++++++

Ich habe den Amazon Skill & Lambda - beides komplett neu angelegt.

Schön ist ja, dass nun bei Gerätesuche ich Rückmeldungen bekomme - aber es bleibt bei den oben InvalidAccessTokenError und clientID amzn1.application-oa2-client.xxxxxxxxxxx not authorized

heuckmann

...Wieder eine lange Nacht for the birds...

Ich komme da nicht weiter ...  :(

Hat niemand eine Idee?