ich krieg Alexa nicht an's laufen :-(

Begonnen von wolliballa73, 27 September 2020, 16:38:45

Vorheriges Thema - Nächstes Thema

wolliballa73

Hallo zusammen,

(Hinweis: alter Thread, aber leider immer noch aktuell - Update s. https://forum.fhem.de/index.php/topic,114573.msg1181010.html#msg1181010)


ich erweitere meine Gehversuche gerade in Richtung Alexa-Integration und scheitere in der Anleitung https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa bereits kurz nach der Erstellung des Devices: statt Tokens etc. bekomme ich nur STATE stopped; alexa-fhem not installed. install with 'sudo npm install -g alexa-fhem'.

Ich hatte zu meinen FHEM-Anfangszeiten (glaube ich) schon mal damit herumgespielt, das alles aber nicht weiter verfolgt. Die Lektüre diverser Threads hier haben mich veranlasst, alles nach eventuellen Überresten zu durchsuchen und diese zu beseitigen.

Aktueller Status:


       
  • Hardware: Raspi 3
  • Debian Buster (10.4)
  • alle Updates installiert (keine Fehlermeldungen bzgl. fehlender Abhängigkeiten etc. vorhanden)
  • mein Test-Device aus FHEM gelöscht
  • FHEM auf den aktuellsten Stand gebracht
  • alles, was mit "alexa" zu tun hat und von früheren Versuchen stammen könnte, eliminiert. Das da bleibt dann noch übrig:
root@smarthome.local:smarthome# find / -name "*alexa*"
/opt/fhem/FHEM/39_alexa.pm
/opt/fhem/restoreDir/2018-08-23/FHEM/39_alexa.pm
/opt/fhem/restoreDir/update/2020-09-12/FHEM/39_alexa.pm
/opt/fhem/www/images/fhemSVG/alexa.svg
/opt/fhem/www/images/fhemSVG/alexa2.svg

  • nodeJS neu installiert und sudo npm install -g alexa-fhem ausgeführt: läuft ohne erkennbare Fehler durch, danach gibt's neue Ordner unter /usr/local/lib/node_modules/alexa-fhem
  • node --version gibt v12.14.0 aus
  • /opt/fhem/alexa-fhem.cfg (wird ebenfalls mit aktuellem Zeitstempel neu erstellt):
{
   "connections" : [
      {
         "port" : "8083",
         "server" : "127.0.0.1",
         "name" : "FHEM",
         "filter" : "alexaName=..*",
         "webname" : "fhem",
         "uid" : 999
      }
   ],
   "sshproxy" : {
      "description" : "FHEM Connector",
      "ssh" : "/usr/bin/ssh"
   }
}

  • define myAlexa alexa

Dann erhalte ich die Device-Übersicht mit dem o.g. Status.
sudo npm install -g alexa-fhem kann ich ausführen so oft ich will, das ändert (erwartungsgemäß) nix.

Ich habe keine Idee mehr, was ich noch versuchen könnte, um der Lösung auf die Spur zu kommen und würde mich über ein paar zielführende Hinweise freuen!

Vielen Dank schon mal,
Matze
CU,
Matze

wolliballa73

Nachtrag:
Das Device liefert diese Werte als "Internals":
CFGFN
FUUID 5f705d99-f33f-46a8-1bd0-33abe327073ad341
FVERSION 39_alexa.pm:0.216510/2020-04-12
NAME myAlexa
NOTIFYDEV global,global:npmjs.*alexa-fhem.*
NR 676
NTFY_ORDER 50-myAlexa
STATE stopped; alexa-fhem not installed. install with 'sudo npm install -g alexa-fhem'.
TYPE alexa
logfile ./log/alexa-%Y-%m-%d.log
CU,
Matze

mr_petz

#2

wolliballa73

Vielen Dank - die Links haben sich bisher noch meiner Aufmerksamkeit entzogen  ::)

Ich fasse hier mal meine weiteren Erkenntnisse zu den dort genannten Vorschlägen zusammen (auch für mich selbst zur Dokumentation):

root@smarthome.local:smarthome# sudo id
uid=0(root) gid=0(root) groups=0(root)


root@smarthome.local:smarthome# node --version
v12.14.0


root@smarthome.local:smarthome# npm --version
6.14.8


alexa-fhem wurde nach /usr/local/lib/node_modules installiert, das binary liegt in /usr/local/lib/node_modules/alexa-fhem/bin (wobei das kein Binary ist, sondern ein Skript)

in /usr/local/bin gibt's ne Verknüpfung:
lrwxrwxrwx  1 root staff   40 Sep 27 11:28 alexa-fhem -> ../lib/node_modules/alexa-fhem/bin/alexa*
 

attr myAlexa alexaFHEM-cmd /usr/local/lib/node_modules/alexa-fhem/bin/alexa
attr myAlexa alexaFHEM-config /opt/fhem/alexa-fhem.cfg


...führen schon mal dazu, dass der ursprüngliche Fehler nicht mehr kommt.
Allerdings ist jetzt STATE=stopped :-(

das fhem.log sagt:
2020.09.30 18:22:17 2: myAlexa: starting alexa-fhem: /usr/local/lib/node_modules/alexa-fhem/bin/alexa -c /opt/fhem/alexa-fhem.cfg
2020.09.30 18:22:17 3: myAlexa: starting
2020.09.30 18:22:17 3: myAlexa: using logfile: ./log/alexa-2020-09-30.log
2020.09.30 18:22:17 3: myAlexa: read: end of file reached while sysread
2020.09.30 18:22:17 3: myAlexa: stopped


und in der alexaFHEM.log steht für jeden Startversuch:
/usr/local/lib/node_modules/alexa-fhem/lib/cli.js:15
  let startupPromise = new Promise(function (resolve) {
  ^^^

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/alexa-fhem/bin/alexa:17:1)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)



Ich hab das Gefühl, dass die Lösung nicht mehr weit entfernt ist...



CU,
Matze


wolliballa73

Hi,
Zitat von: mr_petz am 30 September 2020, 18:50:18
scheint ein node versionsproblem zu sein:

Danke für den Hinweis - aber was bedeutet das für mich jetzt? Da steht ziemlich viel Fach-Chinesisch drin   :-[

Ich hab inzwischen
root@smarthome.local:smarthome# node --version
v12.18.4
root@smarthome.local:smarthome# npm --version
6.14.6


...am Ergebnis ändert sich da aber nix. Ich bin also weiterhin für Lösungsvorschläge offen  8)
CU,
Matze

mr_petz

Kann dir da leider auch nicht helfen. sorry

wolliballa73

Hallo zusammen,

ich bin so frei und bringe mein Thema nochmal nach oben :) Jetzt wird's wieder kälter draußen und da kommen die verdrängten Themen wieder hoch!

Aktueller Stand:
Inzwischen wurde mein Raspi auf Debian 11.1 (bullseye) aktualisiert, Alexa läuft aber immer noch nicht.

root@smarthome.local:smarthome# npm --version
6.14.6
root@smarthome.local:smarthome# node --version
v12.18.4


Die Meldung in  /opt/fhem/log/alexa-xxxxxx.log ist immer noch:
SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/alexa-fhem/bin/alexa:17:1)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
/usr/local/lib/node_modules/alexa-fhem/lib/cli.js:15
  let startupPromise = new Promise(function (resolve) {
  ^^^



... und "list myAlexa" sieht so aus:
Internals:
   FUUID      5f705d99-f33f-46a8-1bd0-33abe327073ad341
   FVERSION   39_alexa.pm:0.238200/2021-02-24
   LAST_START 2021-10-20 15:21:01
   LAST_STOP  2021-10-20 15:21:01
   NAME       myAlexa
   NOTIFYDEV  global,global:npmjs.*alexa-fhem.*
   NR         117
   NTFY_ORDER 50-myAlexa
   PARTIAL   
   STARTS     1157
   STATE      stopped
   TYPE       alexa
   logfile    ./log/alexa-%Y-%m-%d.log
   CoProcess:
     cmdFn      alexa_getCMD
     name       alexaFHEM
     state      stopped
   READINGS:
     2021-10-20 15:21:01   alexaFHEM       stopped
   helper:
Attributes:
   alexaFHEM-auth crypt:5e095359425d530c730c5c591253760710
   alexaFHEM-cmd /usr/local/lib/node_modules/alexa-fhem/bin/alexa
   alexaFHEM-config /opt/fhem/alexa-fhem.cfg
   alexaFHEM-log ./log/alexa-%Y-%m-%d.log
   alexaMapping #Characteristic=<name>=<value>,...
On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um

Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

Hue=verb=stelle,valuePrefix=auf,values=rot:0;grün:128;blau:200
Hue=verb=färbe,values=rot:0;grün:120;blau:220

Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER
Saturation=verb=sättige,values=AMAZON.NUMBER

TargetPosition=verb=mach,articles=den;die,values=auf:100;zu:0
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad

Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

#Weckzeit=verb=stelle,valuePrefix=auf;für,values=AMAZON.TIME,valueSuffix=uhr
   alexaTypes #Type=<alias>[,<alias2>[,...]]
light=licht,lampen
blind=rolladen,rolläden,jalousie,jalousien,rollo,rollos
   devStateIcon stopped:control_home@red:start stopping:control_on_off@orange running.*:control_on_off@green:stop
   echoRooms  #<deviceId>=<room>

   fhemIntents #IntentName=<sample utterance>
gutenMorgen=guten morgen
guteNacht=gute nacht
   persons    #<personId>=<name>

   room       ALEXA
   stateFormat alexaFHEM



Mein Gefühl sagt mir, dass das mit dem "Syntax error" in dem Logfile nicht wirklich gut ist ;)

Ich freue mich über Infos, wie ich hier sinnvoll weitermachen sollte - Vielen Dank!

LG,
Matze
CU,
Matze

Esjay

Nabend, ist dein Problem noch immer aktuell?
Ich an deiner Stelle würde das Alexa Device löschen, anschließend npm und Node deinstallieren, und anschließend per "npmjs Modul" aus Fhem heraus sauber installieren. Dann das Device neu anlegen und nochmal ins Log schauen.

Wenn das nichts bringt, vll nochmal weg von Bullseye und testweise eine Version zurück.

Mit freundlichen Grüßen