alexa-fhem: amazon alexa smart home skill für fhem, api version 3

Begonnen von justme1968, 19 Dezember 2017, 22:16:30

Vorheriges Thema - Nächstes Thema

Murdock

Hallo zusammen,

ich habe den Smart Homeskill Skill erfolgreich auf Payload Version 3 umgestellt, neu verknüpft und zum laufen bekommen mit alexa-fhem version 4.4. Die Steuerung über Alexa funktioniert mit dem Geräten, welche noch in der Alexa App zu finden waren. Neue Geräte werden aber nicht angelegt, wenn ich diese über die Alexa App suche.

Ein Test über die Lamda Konosle gibt folgendes aus :

"header": {
    "name": "InvalidAccessTokenError",
    "payloadVersion": "2",
    "namespace": "Alexa.ConnectedHome.Control",
    "messageId": "288707d3-r2d2-c3po-86a0-ab96cb60fdf8"
  },
  "payload": {}
}


Irgendwo scheint die Umstellung auf Payload Version 3 wohl nicht geklappt zu haben, obwohl ich nun alles noch einmal überprüft habe.
Sonst funktioniert alles wie vorher, auch der Custom Skill reagiert normal. Aber neue Geräte will er einfach nicht anlegen.

Bitte gebt mir doch ein paar Tipps, wie ich den Fehler finden kann um wieder wie gewohnt alles über Alexa  zu steuern.

Danke

Gruß
Sven
fhem auf Raspberry PI  3 - V3 Cul 868 MHZ - V3 Cul433 MHZ - Jeelink 868MHZ - HMMLan - Gigaset G Tag - Nut LT-BT

TomLee

Sieht die config.json auch wieder wie vorher aus ?

Siehe hier und die Antwort darauf, gleicher Fehler.

Gruß

Thomas

Murdock

Zitat von: TomLee am 29 April 2018, 19:14:09
Sieht die config.json auch wieder wie vorher aus ?

Siehe hier und die Antwort darauf, gleicher Fehler.

Gruß

Thomas

Hallo Thomas,

ja, die config.json ist richtig configuriert, auch mit dem richtigen Raum als Filter. Daran liegt es also nicht.

Gruß
Sven
fhem auf Raspberry PI  3 - V3 Cul 868 MHZ - V3 Cul433 MHZ - Jeelink 868MHZ - HMMLan - Gigaset G Tag - Nut LT-BT

TomLee

Dann mal die anderen erwähnten Punkte von MadMax-FHEM's Antwort auf den verlinkten Fehler durchgehen, zeigen.

Aber nicht hier, neuen Thread aufmachen.
Oder in dem verlinkten, würde ja  auch passen, du findest ja auch keine Geräte mehr.

Murdock

#244
Ich konnte es lösen. Es fehlte das Attribut genericDeviceType.
Mit Attribut
attr licht genericDeviceType switch
ist das Gerät dann in der Alexa App aufgetaucht nach dem Suchen.

Der Syntax für das ganze Gerät sieht dann so aus:
define licht dummy
attr licht alexaName flurlicht
attr licht alias strahler
attr licht genericDeviceType switch
attr licht group Lichtschalter
attr licht room alexa
attr licht setList off on

define lichtAn notify licht:on set FHEM1 cmd set schalter1 on
define lichtAus notify licht:off set FHEM1 cmd set schalter1 off


Meine Frage an justme1968 wäre jetzt aber, wieso in der Lamda Konsole beim Test immer noch Payload Version 2 ausgegeben wird, obwohl Version 3 ja schon greift und konfiguriert ist ? Was wird denn da bei euch ausgegeben ?

{
  "header": {
    "name": "InvalidAccessTokenError",
    "payloadVersion": "2",
    "namespace": "Alexa.ConnectedHome.Control",
    "messageId": "5e01fba7-R2D2-C3PO-8744-29d566d6d484"
  },
  "payload": {}
}


Danke

Gruß
Sven

fhem auf Raspberry PI  3 - V3 Cul 868 MHZ - V3 Cul433 MHZ - Jeelink 868MHZ - HMMLan - Gigaset G Tag - Nut LT-BT

volschin

#245
Ich habe heute folgende E-Mail von Amazon bekommen:
ZitatYour AWS Account currently has one or more Lambda functions configured to use the Node.js v4.3 runtime. The Node Foundation declared End-of-Life (EOL) for Node.js v4 on April 30, 2018. As a result, this version of Node.js is no longer receiving bug fixes, security updates, or performance improvements from the Node Foundation. Per the AWS Lambda runtime support policy [2] , language runtimes that have been end-of-lifed by the supplier are deprecated in AWS Lambda. While invocations of Lambda functions configured to use Node.js v4.3 will continue to work normally, the ability to create new Lambda functions configured to use the Node.js v4.3 runtime will be disabled on July 31, 2018. Code updates to existing functions using Node.js v4.3 will be disabled on October 31, 2018. We strongly encourage you to update all your functions to a newer version of Node.js (v6.10 or v8.10) so that you continue to benefit from important security, performance, and functionality enhancements offered by the Node Foundation via more recent releases.

Which version of Node.js should I migrate to?

While Node.js v6.10 is available on AWS Lambda, we recommend that you migrate directly to Node.js v8.10, a newer version with improved ES6 support and other language and API improvements. The AWS Lambda programming model for Node.js v8.10 maintains backwards compatibility with previous versions to simplify portability. We recommend that you test your Lambda function to validate its behavior on the newer version of Node.js.

Ich habe den node.js auf v8.10 gestellt. Es scheint noch alles zu funktionieren.
Ist sicher für den ein oder anderen interessant, der jetzt auch Mail bekommt.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

juelich

Bitte einmal für Dummys: Wo und wie genau stellt man denn die Mode.js um?
Viele Grüße

Markus

stefanru

Hi Juelich,

Node.js und dies ist der Code den du bei Amazon unter AWS Lamda angelegt hast.
Direkt über dem Editor ist ein Dropdown Menü in dem du die Runtime Version auswählen kannst.

Hier anmelden:
https://aws.amazon.com/
und dann nach Lamba suchen. Deine Lamda Funktion öffnen und anpassen.

Gruß,
Stefan

balli1187

#248
Zitat von: stefanru am 11 Mai 2018, 21:12:20
Hi Juelich,

Node.js und dies ist der Code den du bei Amazon unter AWS Lamda angelegt hast.
Direkt über dem Editor ist ein Dropdown Menü in dem du die Runtime Version auswählen kannst.

Hier anmelden:
https://aws.amazon.com/
und dann nach Lamba suchen. Deine Lamda Funktion öffnen und anpassen.

Gruß,
Stefan
Das mag jetzt vielleicht doof klingen aber die Node-Version auf meinem Server muss doch sicher auch aktualisiert werden oder?!
Auf welche Version sollte man aktuell gehen?

Gesendet von iPhone mit Tapatalk
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

stefanru

Ich hatte bei der Installation die aktuelle drauf gemacht.

Sieht bei mir so auf dem Raspberry aus:
fhem@raspberrypi:~$ node -v
v9.10.1

Läuft ohne Probleme.

Gruß,
Stefan

Markus.

Hallo zusammen,

Wie macht man denn am saubersten und zertörungsfrei ein Node update auf dem server ?


Gruß

Markus

stefanru

Hi Markus,

das kommt etwas darauf an woher du es als erstes installiert hast.
Hab jetzt n (Interactively Manage Your Node.js Versions) verwendet. Das ist ziemlich cool auch zum Updaten.
https://github.com/tj/n

Markus.

Hi Stefan,

Nunja bin nach wiki vorgegangen und hab die 4.8.7 drauf. Raspi läuft auf Stretch.

Gruß

Markus

Tommy82

Hi, also ich habe sowohl im AWS wie auch auf meinem cubietruck auf die Node 8.x umgestellt und alles läuft ohne Probleme


Gesendet von iPhone mit Tapatalk
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

stefanru

Hi Marcus,

ja das ist etwas alt.
Da hast du dir mit
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
eine 4er Version ins repository gelegt und installiert.

Für ne 8er müsstest du das hier ins repository schreiben:
https://deb.nodesource.com/setup_8.x

Der Austausch macht eigentlich keine Probleme. Habe vorhin mal auf eine 10er geupdated, keine Probleme.
Ich würde dir empfehlen die nodejs runter zu werfen und mit n zu installieren.
Dann sind folge updates ganz einfach.
Das runterwerfen ist aber etwas tricky. Habe da einiges googeln müssen.

Einfacher ist es sicher einfach eine neue Version ins repository zu schreiben und zu updaten.

Z.b.:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
Oder noch besser gleich die 10er:
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

Gruß,
Stefan