39_alexa.pm und alexa-fhem test version

Begonnen von justme1968, 03 Januar 2019, 22:43:10

Vorheriges Thema - Nächstes Thema

dk3572

Sehr gut, funktioniert.

Vielen Dank und schönen Abend noch.

Gruß Dieter

axel.mohnen

Hallo,

Im Alexa device wird folgender Fehler angezeigt:
Zitatstopped; alexa-fhem not installed. install with 'sudo npm install -g alexa-fhem'.

Dabei ist die Installation von Alexa-Fhem einwandfrei durchgelaufen:
Node –version: v8.15.1
sudo npm install -g alexa-fhem:
/usr/local/bin/alexa-fhem -> /usr/local/lib/node_modules/alexa-fhem/bin/alexa
+ alexa-fhem@0.5.37

Release: Raspbian GNU/Linux 7 (wheezy) - "never change a running system  ;)

FHEM logfile: 2019.12.06 21:09:49 2: alexa: alexa-fhem not installed. install with 'sudo npm install -g alexa-fhem'.
Alexa log: Kein Eintrag

Sollten das Alexa-Fhem nicht unter /opt/fhem installiert werden?
Vielen Dank im Voraus.
Viele Grüsse
Axel


gvzdus

Versuche bitte mal, das Attribut "alexaFHEM-cmd" auf /usr/local/bin/alexa-fhem zu setzen - warum auch immer er das Programm nicht findet.

justme1968

/usr/local/bin ist nicht im pfad deines fhem prozesses. auch mal im forum das ist vor kurzem schon mal passiert.

opt wird nicht verwendet.

falls du eine alte installation hast: alles löschen. inklusive altem autostart. das config file aufheben.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

axel.mohnen

Hallo gvzdus und justme1968,

vielen Dank für die schnelle Hilfe.
Mit "alexaFHEM-cmd" auf /usr/local/bin/alexa-fhem" bin ich jetzt schon einen Schritt weiter.
Alexa STATE: stopped

Jetzt kommt folgende Meldung (Exception) im alexa log:
/usr/local/lib/node_modules/alexa-fhem/lib/user.js:92
    (async () => {
           ^

SyntaxError: Unexpected token (
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:542:28)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/usr/local/lib/node_modules/alexa-fhem/lib/server.js:11:29)
/usr/local/lib/node_modules/alexa-fhem/lib/user.js:92
    (async () => {
           ^


Gruss
Axel

justme1968

deine node version ist zu alt. vermutlich hast du zwei versionen installiert und fhem benutzt die falsche.

bitte schau dir PATH im fhem start script an und reparier das. wie oben vorgeschlagen am besten den anderen vorfall suchen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

axel.mohnen

Hallo justme,

in meiner init.d steht noch nichts mit "PATH" (siehe unten).

Muss ich dort folgendes hinzufügen?
Zitatexport PATH=$PATH:/usr/local/bin
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules

#!/bin/sh
# description: Start or stop the fhem server

### BEGIN INIT INFO
# Provides:             fhem.pl
# Required-Start:       $local_fs $remote_fs
# Required-Stop:        $local_fs $remote_fs
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    FHEM server
### END INIT INFO

set -e
cd /opt/fhem
port=7072

case "$1" in
'start')
        echo "Starting fhem..."
/opt/hmcfgusb/hmland -l 127.0.0.1 -p 1234 -r 03:00 -d
        perl fhem.pl fhem.cfg
        RETVAL=$?
        ;;
'stop')
        echo "Stopping fhem..."
        perl fhem.pl $port "shutdown"
        RETVAL=$?
sudo pkill hmland       
;;
'status')
        cnt=`ps -ef | grep "fhem.pl" | grep -v grep | wc -l`
        if [ "$cnt" -eq "0" ] ; then
                echo "fhem is not running"
        else
                echo "fhem is running"
        fi
        ;;
*)
        echo "Usage: $0 { start | stop | status }"
        RETVAL=1
        ;;
esac
exit $RETVAL


Vielen Dank
Gruss
Axel

justme1968

da ich deine installation nicht kenne kann ich dir nicht sagen wo das problem genau liegt.

am besten vergleichst du mal die umgebung von deinem manuellen test mit dem was du aus fhem heraus siehst.

normalerweise würde local nach vorne kommen. da ich aber nicht weiss wo deine beiden node versionen installiert sind kann ich auch dazu nichts sagen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

zeldi

Ich habe nirgendwo gefunden, hat jemand erfahrungen mit diese Modul auf Windows?

Die erste Problem war das "which" Befehl auf Windows existiert nicht. Ich habe das manuel mit "alexaFHEM-cmd" attribute gelöst.
Jetzt ist Problem mit CoProcess.pm
kill( SIGKILL, $hash->{PID} );

Mit Meldung:
Your vendor has not defined POSIX macro SIGKILL, used at FHEM/CoProcess.pm line 250

Windows versteht SIGKILL nicht, aber es kann emulierbar sein.
Soll ich liebere auf cygwin umstehen oder mit coprocess auf windows speielen?

MfG,
Rok

justme1968

das ganze ist unter windows nicht getestet und nicht unterstützt.

je nach perl version wirst du vermutlich auch noch an anderen stellen probleme bekommen. der ssh tunnel des fhem connectors wird ebenfalls nicht laufen.

ich würde fhem unter linux laufen lassen. wenn nicht nativ dann in einer vm.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

axel.mohnen

Hallo,

ich habe ein upgrade von Wezzy auf Jessie auf meinem RasPI durchgeführt.
Jetzt ist schonmal mein ursprüngliches Problem gelöst (falscher Nodejs Pfad).
Das Alexa device scheint jetzt zu laufen (Grünes Logo) aber die Proxy Verbinding funktioniert noch nicht.
Ich sehe folgenden Fehler im Alexa-Log:

Zitat*** CONFIG: parsed completely
[2019-12-14 20:27:53] os.homedir()=/opt/fhem
[2019-12-14 20:27:53] this is alexa-fhem 0.5.37
Startup rejected. Reason: Error: ENOENT: no such file or directory, open './key.pem'

Was könnte das heissen?
Vielen Dank für eure Hilfe.
Gruss
Axel

MadMax-FHEM

#896
Hast du noch eine "alte" config.json laufen/"am Start" ODER Einträge für z.B. Custom Skill aus einer alten config.json übernommen!?

WEIL: einen solchen Eintrag gibt es bei der automatisch generierten config.json (die jetzt auch alexa-fhem.cfg heißt und unter "Edit Files" zu finden ist) NICHT (mehr)!!

EDIT: wenn du (weiterhin zusätzlich) "eigene Sachen" (Custom Skill "eigenen" Smart Home Skill) laufen lassen willst, dann in der config.json (siehe aber Antwort zuvor) besser den ganzen Pfad zu den key.pem etc. eintragen ODER die *.pem Dateien unter /opt/fhem/.ssh kopieren (aber aufpassen: nicht, dass du dir damit andere ssh-Zugänge "zerschießt")...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

axel.mohnen

Hallo Joachim,

vielen Dank für den Hinweis. Ich werde das prüfen.
In der Tat, ich hatte vor einem Jahr versucht den alten FHEM Alexa Adapter zu installieren.
Hatte ich aber verworfen (weil zu aufwendig).
https://wiki.fhem.de/wiki/Alexa-Fhem

Gruss Axel

MadMax-FHEM

Einfach mal unter "Edit Files" schauen, was in der config.json (alexa-fhem.json) steht...
...und schauen was davon du noch brauchst.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

axel.mohnen

Hallo Joachim,

eine config.json habe ich nicht gefunden nur alexa-fhem.cfg.

den fehlenden ./key.pem habe ich generiert.
Jetzt laufe ich in den nächsten Fehler.
Leider konnte ich nichts über diese Fehlermeldung finden.

ZitatalexaFHEMstopped; failed to connect to fhem: Error: connect ENETUNREACH 10.0.1.21:8083

Ich denke es hat was mit dem SSH Tunnel zutun...

Vielen Dank.

Viele Grüsse
Axel