Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration

Begonnen von gvzdus, 23 Dezember 2018, 15:30:36

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

#360
Welche node Version hast du?

/etc/init.d/alexa-fhem gibt es mit der neuen Version/Variante nicht (mehr)...

Wenn (wie du dchreibst) bei "sudo npm install -g alexa-fhem" alles gut ging/keine Fehler gab ist "does not exist" eigenartig...

Gibt es unter /opt/fhem ein .alexa bzw. ein alexa-fhem ?

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)

snx

Zitat von: MadMax-FHEM am 26 Januar 2019, 10:10:46
Welche node Version hast du?
Node: v11.8.0
Npm: 6.5.0
Alexa-fhem: Aktuellste, also meine ganzen Versuche sind von gestern Abend/heute Nacht

Zitat von: MadMax-FHEM am 26 Januar 2019, 10:10:46
etc/init.d/alexa-fhem gibt es mit der neuen Version/Variante nicht (mehr)...
Das beruhigt mich schon mal, d.h. die fhem-seite kümmert sich komplett um den Start/Stop?

Zitat von: MadMax-FHEM am 26 Januar 2019, 10:10:46
Wenn (wie du dchreibst) bei "sudo npm install -g alexa-fhem" alles gut ging/keine Fehler gab ist "does not exist" eigenartig...
Zumindest keinerlei console messages ;)

Zitat von: MadMax-FHEM am 26 Januar 2019, 10:10:46
Gibt es unter /opt/fhem ein .alexa bzw. ein alexa-fhem ?

find /opt -name alexa*
/opt/fhem/alexa-fhem.cfg
/opt/fhem/www/images/fhemSVG/alexa.svg
/opt/fhem/www/images/fhemSVG/alexa2.svg
/opt/fhem/FHEM/alexa-fhem.cfg
/opt/fhem/alexa-fhem.cfg.previous
/opt/fhem/log/alexa-2019-01-25.log
/opt/fhem/log/alexa-2019-01-26.log
find: `/opt/fhem/.ssh': Permission denied
find: `/opt/fhem/.alexa': Permission denied

Zudem wurde durch die Installation m.e.n. folgendes angelegt:

/usr/local/bin/alexa-fhem
/usr/local/lib/node_modules/.bin/alexa-fhem
/usr/local/lib/node_modules/alexa-fhem
/usr/local/lib/node_modules/alexa-fhem/bin/alexa


Will nicht zu viel durcheinander bringen,
habe im Zuge meines rumprobierens allerdings auch Schnipsel hier im Threads gefunden und ausprobiert:

sudo -u fhem /usr/local/bin/alexa-fhem -c /opt/fhem/alexa-fhem.cfg -A

Bin mir nicht sicher ob .ssh und .alexa nicht erst dadurch entstanden sind...zumindest wurde in diesem Zuge ein Key generiert. Das Script endet aber mit einem Fehler.

MadMax-FHEM

Sorry, ja alexa-fhem ist ja jetzt unter /usr/bin ;)
Sieht also nicht so schlecht aus...
...erst mal.

Hab grad nur Handy da kuckt sich's nicht so einfach... ;)

Steht etwas im alexa-fhem Log!?
Sollte über dein alexa-Modul (dort wo "does not exist" steht) erreichbar sein...

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)

snx

Schreibe ebenfalls am Handy ;)
Also das Log ist leer, was mich auch schon die ganze Zeit wundert.
Habe auch schon mehr mals in FHEM Stop/Start/restart/.. probiert, ändert sich aber nichts.

justme1968

wenn es ein 'does not exist' gibt findet fhem kein alexa-fhem executable zum starten. wenn nichts gestartet wird gibt es auch kein log.

entweder findest du raus warum das so ist, oder du setzt alexaFHEM-cmd.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

snx

Zitat von: justme1968 am 26 Januar 2019, 11:38:57
entweder findest du raus warum das so ist, oder du setzt alexaFHEM-cmd.
Kann es an Rechten liegen, bzw. wo wird das exec gesucht?
Vorhanden ist es ja, wir man oben in meiner Liste sieht.
Und sorry, aber was heißt "setzt alexaFHEM-cmd"?

MadMax-FHEM

#366
Zitat von: snx am 26 Januar 2019, 11:53:03
Kann es an Rechten liegen, bzw. wo wird das exec gesucht?
Vorhanden ist es ja, wir man oben in meiner Liste sieht.
Und sorry, aber was heißt "setzt alexaFHEM-cmd"?

Zitat von: device specific help
alexaFHEM-cmd
The command to use as alexa-fhem.

EDIT: alexaFHEM-cmd ist ein Attribut bei deinem alexa-Device

Wenn du bei den Pfadauszügen alles gepostet hättest inkl. "prompt" etc. (am besten noch ls -la) dann könnte man auch bzgl. Rechten schauen... ;)

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)

snx

Danke, bin einen Schritt weiter.
Durch das Attribut alexaFHEM-cmd = /usr/local/bin/alexa-fhem wird die exec nun gefunden. Wundert mich trotzdem, dass ich die Angabe machen muss.

Nun ist der Status immer schonmal nur stopped und es wird auch permanent versucht zu starten, was allerdings zu folgendem Log Eintrag führt:
/usr/bin/env: node: No such file or directory
Node findet man unter:

find /usr -name node
/usr/local/bin/node
/usr/local/n/versions/node
/usr/local/n/versions/node/11.8.0/bin/node
/usr/local/n/versions/node/11.8.0/share/doc/node
/usr/local/n/versions/node/11.8.0/include/node
/usr/local/share/doc/node
/usr/local/include/node


Bezüglich der Rechte: wollte nicht direkt zu viel Posten, bin mir nicht sicher welche pfade relevant sein könnten:
ls -la /opt/fhem
total 1144
drwxr-xr-x 14 fhem fhem      4096 Jan 26 09:33 .
drwxr-xr-x  6 root root      4096 Mar 22  2015 ..
drwx------  2 fhem dialout   4096 Jan 26 09:30 .alexa
-rw-r--r--  1 fhem dialout    341 Jan 26 09:56 alexa-fhem.cfg
-rw-r--r--  1 fhem dialout    311 Jan 26 00:21 alexa-fhem.cfg.previous
drwxr-xr-x  2 fhem dialout   4096 Jan 25 20:31 backup
-rw-r--r--  1 fhem dialout 275958 Jan 25 20:33 CHANGED
-rw-r--r--  1 fhem fhem     39621 Jan 25 20:33 configDB.pm
drwxrwxr-x 32 fhem fhem      4096 Sep 19  2016 contrib
drwxr-xr-x  2 fhem dialout   4096 May  5  2015 demolog
drwxrwxr-x  4 fhem fhem      4096 Feb 11  2018 docs
drwxrwxr-x  6 fhem fhem     20480 Jan 26 09:11 FHEM
-rwxrwxrwx  1 fhem fhem    135051 Jan 25 20:30 fhem.cfg
-rw-r--r--  1 fhem dialout  19987 Jan 25 20:33 fhem.cfg.demo
-rw-rw-r--  1 fhem fhem         0 Jan 26 12:44 fhem.heartbeat
-rw-r--r--  1 fhem dialout 155626 Jan 25 20:33 fhem.pl
-rwxr--r--  1 fhem fhem    284273 Jan 26 12:15 fhem.save
-rw-rw-r--  1 fhem fhem      5231 Apr  3  2015 functions.sh
drwxr-xr-x  2 fhem fhem      4096 Apr  2  2015 hm
drwxrwxr-x  3 fhem fhem      4096 Jan 26 00:39 log
-rw-r--r--  1 fhem dialout  39072 Jan 25 20:33 MAINTAINER.txt
-rw-r--r--  1 fhem dialout 112159 Mar  9  2018 regSave.cfg
drwxrwxr-x  7 fhem fhem      4096 Jan 25 20:33 restoreDir
drwx------  2 fhem dialout   4096 Jan 26 09:33 .ssh
drwxrwxr-x  2 fhem fhem      4096 Apr  8  2016 unused
-rwxrwxr-x  1 fhem fhem       448 Mar 27  2015 watchdog.sh
drwxrwxr-x 10 fhem fhem      4096 Nov 23  2016 www

ls -la /usr/local/bin/alex*
lrwxrwxrwx 1 root staff 40 Jan 26 09:18 /usr/local/bin/alexa-fhem -> ../lib/node_modules/alexa-fhem/bin/alexa

ls -la /usr/local/lib/node_modules/alexa-fhem/bin
total 12
drwxr-sr-x 2 snx  pi   4096 Jan 26 09:18 .
drwxr-sr-x 5 root root 4096 Jan 26 09:18 ..
-rwxr-xr-x 1 snx  pi    564 Oct 26  1985 alexa


hoehenrooster

Einige Geräte werden nicht gefunden

Erstmal ein grosses Lob, nach der Anleitung hat die Implementierung gut funktioniert.
Ich habe einige Geräte mit ALEX-Namen versehen. Diese werden auch bei der Gerätesuche von Alexa gefunden, ausser den mit Tasmota geflashten und als MQTT_device eingebundenen Sonoff-S20-Steckdosen. Mir fehlt im Moment ein Ansatz zu einer systematische Fehlersuche. Wie solte ich am besten vorgehen?

justme1968

schau dir das hier an: https://wiki.fhem.de/wiki/FHEM_Connector#Was_geht_alles_.3F und wie homebridgeMapping funktioniert. in wiki gibt es mehrere artikel dazu und in den beiden threads hier sogar konkrete beispiele zu mqtt devices.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

hoehenrooster

@justme1968: Danke, habe die Dummys und notifys noch angelegt. Manchmal hat man ein Brett vor dem Kopf.......

justme1968

du brauchst keine dummys und notifys. du brauchst ein homebridgeMapping in deinen geräten.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

gvzdus

@snx
Deine Installation ist etwas unkonventionell. Er scheint alles - inkl. nodejs - unter /usr/local/bin zu installieren, aber dieser Pfad scheint in der Suche nicht eingeschlossen zu sein. Deswegen der schon sehr frühe Fehler.

Ich hoffe, dass Du mit einem
sudo ln -s /usr/local/bin/node /usr/bin/node

mehr als ein kleines Stück weiter kommst.

snx

Vielen Dank, ich wollt es nicht wahr haben aber der einfache symlink funktioniert.
Kannst du mir evt. auch beim Verständnis weiterhelfen?

In der ENV PATH Variable ist auch der "/usr/local/bin" drin.
Habe im Modul nachgesehen, dass mittels "which alexa-fhem" gesucht wird, was in der Console mit sämtlichen Benutzern funktioniert.

Daher habe ich den Symlink vorher nicht versucht.
Dadurch funktioniert nun auch das alexa-fhem Script mit der Startzeile "#!/usr/bin/env node" obwohl ich es genau so wenig verstehe, da die Doku sagt es wird in den PATHs nach node gesucht, was ebenfalls hätte klappen müssen.

gvzdus

Die Anzahl und Auswahl der Environment-Variablen, die übergeben werden (also hier von FHEM an node) ist mir auch schleierhaft. Eigentlich hat z.B. so ziemlich jedes Environment eine HOME-Variable - ist aber auch nicht der Fall. Da ja das Home-Dir wg. SSH recht zentral ist, habe ich ein paar Zeilen Code in das Suchen des Homedirs gesteckt.
Ich vermute, genauso wird auch die PATH-Variable nicht übergeben / exportiert, und entsprechend sucht er nicht unter /usr/local/...