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

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

Vorheriges Thema - Nächstes Thema

tagedieb

dann sollte in dem aufgehendem Feld auch etwas angezeigt werden

hast du aktuelle systemsoftware? alle liberies?

hast du schon einmal komplett alles neu gestartet? -
Du hattest mehrere Probleme erwähnt - was noch? vielleicht hängt es damit zusammen?


gruss tagedieb
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

xeenon

Eines der Probleme ist das ich alexa nicht über systemctl automatisch starten lassen kann.

Das andere Problem ist beim advanced Skill, wo man eigl die types benötigt. Da meckert er bei den Samples rum das etwas nicht definiert ist, obwohl es in den types steht.

Ich bin zur Zeit in der Arbeit. Kann erst heute Nacht genauer nachsehen. Dann geb ich ein paar mehr Infos aus.

Neustart hat im übrigen nichts gebracht.

tagedieb

Hallo xeenon

ZitatEines der Probleme ist das ich alexa nicht über systemctl automatisch starten lassen kann.
du startest aber den Alexa server, mit dem gleichen user der im script steht? oder unter root?
an den Eintrag in der sudoers hast du gedacht? und die Dateirechte stimmen auch?
ZitatDas andere Problem ist beim advanced Skill, wo man eigl die types benötigt. Da meckert er bei den Samples rum das etwas nicht definiert ist, obwohl es in den types steht.
was "meckert" er denn? denn hier ist es manchmal schon die Schreibweise
kannst du mal bitte einen Bildschirmausdruck anhängen?

kannst du denn fhem per alexa mit dem SmartHome skill steuern?

Gruss tagedieb

FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

rogerknop

Hallo,
ich habe nun auch mit dieser super Anleitung begonnen - Danke @justme1968 !!!
Leider bin ich schon recht früh gescheitert.
Neuer Raspberry 3 mit Jessie. FHEM installiert unter /opt/fhem und darunter alexa-fhem.
Nun scheitere ich daran den systemd Dienst zu starten - Kapitel "Alexa-Fhem als Service (systemd) installieren"
Abweichend habe ich in /etc/default/alexa   ALEXA_OPTS=-U /home/pi/.alexa   eingetragen, da ich die Beschreibung oben so verstanden habe, die config und /home/pi abzulegen.
Im Log (sudo journalctl -u alexa) sehe ich dann folgdendes:
Process: 22852 ExecStart=/opt/fhem/alexa-fhem/bin/alexa $ALEXA_OPTS (code=exited, status=217/USER)

Die user pi, alexa und fhem sind der dialout Gruppe zugeordnet sowie auch die kompletten Verzeichnisse: /opt/fhem & /home/pi/.alexa

Habe schon nach status=217/user ge'google't, aber leider ohne Erfolg.
Es wäre super, wenn mir jemand einen Tipp geben könnte.

Danke & Grüße,
  Roger

Nachtrag:
Habe nun noch versucht mit dem DOIF Alexa-Fhem aus Fhem heraus zu starten. Leider auch Fehlanzeige.
Mit dem Aufruf  /opt/fhem/alexa-fhem/bin/alexa klappt es. Da bekomme ich mit http://<router-ip>:3000 die JSON Antwort.
Keiner einen Tipp?

eddi79

Hallo zusammen,

jetzt im richtigen Thread (sorry):

die Installsation von Alexa FHEM hat super geklappt. Steuerung per Sprache ebenfalls. Allerdings bekomme ich das Startscript in der init.d einfach nicht hin, so dass ich Alexa FHEM immer per Putty manuell starten muss (und das Fenster offen lasse ;-) ). --> Keine Lösung so.
Vielleicht kann jemand mal drüber sehen was ich falsch mache.

Meines sieht derzeit so aus:

#!/bin/sh
### BEGIN INIT INFO
# Provides: alexa
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time for alexa
# Description: Enable service provided by daemon.
### END INIT INFO
export PATH=$PATH:/usr/local/bin
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules
PID=`pidof alexa`
export ALEXAPATH="/home/pi/alexa-fhem"
export LOGPATH="/home/pi/alexa-fhem/log"
case "$1" in
start)
if ps -p $PID > /dev/null 2>&1; then
    echo "Alexa is already running"
else
    $ALEXAPATH/bin/alexa > $LOGPATH/alexa-`date +%Y-%m`.log 2>&1 &
    echo "Alexa starting"
fi
;;
stop)
if ! ps -p $PID > /dev/null 2>&1; then
        echo "Alexa is not running"
else
        kill $PID
        echo "Alexa closed"
fi
;;
restart)
if ! ps -p $PID > /dev/null 2>&1; then
        $0 start
else
        $0 stop
        $0 start
fi
;;
status)
if ps -p $PID > /dev/null 2>&1; then
        echo "Alexa is running PID $PID"
else
        echo "Alexa is not running"
fi
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
exit 0


Wenn ich es mit "sudo service alexa start" aufrufe erhalte ich Folgendes:
"Job for alexa.service failed. See 'systemctl status alexa.service' and 'journalctl -xn' for details."
bzw im systemctl:
● alexa.service - LSB: Start daemon at boot time for alexa
   Loaded: loaded (/etc/init.d/alexa)
   Active: failed (Result: exit-code) since Sun 2017-03-26 21:11:41 CEST; 21s ago
  Process: 1424 ExecStart=/etc/init.d/alexa start (code=exited, status=203/EXEC)


Ich weiß einfach nicht was ich falsch mache...

Vielleicht hat jemand einen Tipp. Ist vermutlich was kleines - aber ich min zu doof dafür :-(.

Danke
Markus

MadMax-FHEM

Mal die Fragen aus dem "falschen" Thread beantworten... ;)
...und wie dort angemerkt bitte "Code-Tags" (das # im Menü)...

Lässt sich auch nachträglich "korrigieren"... ;)

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)

eddi79

Sorry, hier der Nachtrag:

"Wenn du es per putty startest mit welchem User?"

Unter Putty starte ich es unter dem user "pi".


"Wo liegt die config.json?"

/home/pi/.alexa



"EDIT: gibt es den Log-Pfad (/home/pi/alexa-fhem/log)? Wird die Logdatei geschrieben? Was steht drin?"

Den Pfad /home/pi/alexa-fhem/log gibt es (hab ich wie beschrieben angelegt - allerdings steht keine Logdatei drin ?!


Und bitte: code-Tags verwenden (das # im Menü)...
Das wusste ich nicht. Ändere ich gleich ab - anders ist wirklich unübersichtlich.

Danke
Markus

MadMax-FHEM

Warum hast du dann den Teil:

else
     su - "pi" -c "cd $ALEXAPATH;./bin/alexa > $LOGPATH/alexa-`date +%Y-%m`.log 2>&1 &"


rausgenommen?

Bzw. abgeändert in:


else
     $ALEXAPATH/bin/alexa > $LOGPATH/alexa-`date +%Y-%m`.log 2>&1 &


Das Script wird bei Start verm. als root ausgeführt...
...und daher alexa-fhem nicht als User pi gestartet...

Nimm mal das Originalscript (https://forum.fhem.de/index.php/topic,60244.msg517271.html#msg517271) und teste mal mit:


sudo /etc/init.d/alexa start


Was kommt/passiert?

User pi in sudoers eingetragen?

Oder wenn du Jessie hast wie im Wiki beschrieben per systemd starten...
Nicht vergessen: bei dir läuft es als User pi und nicht fhem!

EDIT: nicht vergessen das DOIF etc. anzupassen falls du per systemd startest...

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)

eddi79

Mein script sieht jetzt wieder so aus:

#!/bin/sh
### BEGIN INIT INFO
# Provides: alexa
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time for alexa
# Description: Enable service provided by daemon.
### END INIT INFO
export PATH=$PATH:/usr/local/bin
export NODE_PATH=$NODE_PATH:/home/pi/alexa-fhem/lib/node_modules
PID=`pidof alexa`
export ALEXAPATH="/home/pi/alexa-fhem"
export LOGPATH="/home/pi/alexa-fhem/log"

case "$1" in
start)
if ps -p $PID > /dev/null 2>&1; then
    echo "Alexa is already running"
else
    su - "pi" -c "cd $ALEXAPATH;./bin/alexa > $LOGPATH/alexa-`date +%Y-%m`.log 2>&1 &"
    echo "Alexa starting"
    sleep 2
    $0 status
fi
;;
stop)
if ! ps -p $PID > /dev/null 2>&1; then
    echo "Alexa is not running"
else
    kill $PID
    echo "Alexa closed"
fi
;;
restart)
if ! ps -p $PID > /dev/null 2>&1; then
    $0 start
else
    $0 stop
    $0 start
fi
;;
status)
if ps -p $PID > /dev/null 2>&1; then
    echo "Alexa is running PID $PID"
else
    echo "Alexa is not running"
fi
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
echo "script done"
exit 0


Hatt die Änderung vorgenommen, weil es mit dem anderen Script nicht klappte (war aber natürlich blöd von mir).

Wenn ich versuche zu starten kommt folgendes:

pi@raspberrypi:/etc/init.d $ sudo alexa start
sudo: alexa: command not found
pi@raspberrypi:/etc/init.d $

Mit den Sudoers hab ich ein Problem:

pi@raspberrypi:/etc/init.d $ sudo adduser pi sudoers
adduser: The group `sudoers' does not exist.
pi@raspberrypi:/etc/init.d $

alternativ:

pi@raspberrypi:/etc/init.d $ sudo adduser pi sudo
The user `pi' is already a member of `sudo'.
pi@raspberrypi:/etc/init.d $


Würde das auch so passen ?

LG
Markus

MadMax-FHEM

Warum interpretieren hier immer "alle"... ;)

Wenn ich schreibe:

probiere: sudo /etc/init.d/alexa start

Dann ist schon gemeint EXAKT SO!

Er kennt das Kommando "alexa" natürlich nicht da /etc/init.d/ nicht im PATH ist...

Und es wird nicht erst mal "lokal" geschaut außer: "./alexa" aber auch das war nicht gemeint...

Genauso mit dem Script etc.

Tstststs...

Wurde im Umfeld von alexa-fhem schon oft angemerkt:

GENAU SO MACHEN WIE GESCHRIEBEN...
...OHNE INTERPRETATIONEN...

Wenn man sich dran hält (und nicht auch noch sonstige Dinge anders hat wie Betriebssystem, User, Installationspfad, ...) dann klappt es meistens sofort...

Also dann bitte noch mal...

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)

rogerknop

Zitat von: rogerknop am 23 März 2017, 10:05:14
Hallo,
ich habe nun auch mit dieser super Anleitung begonnen - Danke @justme1968 !!!
Leider bin ich schon recht früh gescheitert.
Neuer Raspberry 3 mit Jessie. FHEM installiert unter /opt/fhem und darunter alexa-fhem.
Nun scheitere ich daran den systemd Dienst zu starten - Kapitel "Alexa-Fhem als Service (systemd) installieren"
Abweichend habe ich in /etc/default/alexa   ALEXA_OPTS=-U /home/pi/.alexa   eingetragen, da ich die Beschreibung oben so verstanden habe, die config und /home/pi abzulegen.
Im Log (sudo journalctl -u alexa) sehe ich dann folgdendes:
Process: 22852 ExecStart=/opt/fhem/alexa-fhem/bin/alexa $ALEXA_OPTS (code=exited, status=217/USER)

Die user pi, alexa und fhem sind der dialout Gruppe zugeordnet sowie auch die kompletten Verzeichnisse: /opt/fhem & /home/pi/.alexa

Habe schon nach status=217/user ge'google't, aber leider ohne Erfolg.
Es wäre super, wenn mir jemand einen Tipp geben könnte.

Danke & Grüße,
  Roger

Nachtrag:
Habe nun noch versucht mit dem DOIF Alexa-Fhem aus Fhem heraus zu starten. Leider auch Fehlanzeige.
Mit dem Aufruf  /opt/fhem/alexa-fhem/bin/alexa klappt es. Da bekomme ich mit http://<router-ip>:3000 die JSON Antwort.
Keiner einen Tipp?

Also mein Alexa mit Sprachsteuerung läuft nun bis auf den systemd Service.
Ich bekomme immer die Meldung: (code=exited, status=217/USER)
Hat niemand eine Idee, woran es liegen könnte?

MadMax-FHEM

Zitat von: eddi79 am 28 März 2017, 12:12:56
Mit den Sudoers hab ich ein Problem:

pi@raspberrypi:/etc/init.d $ sudo adduser pi sudoers
adduser: The group `sudoers' does not exist.
pi@raspberrypi:/etc/init.d $

alternativ:

pi@raspberrypi:/etc/init.d $ sudo adduser pi sudo
The user `pi' is already a member of `sudo'.
pi@raspberrypi:/etc/init.d $


Würde das auch so passen ?

LG
Markus

Wenn es eine Standard-Installation ist, sollte der User pi passen...

...aber immer eins nach dem andern...

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)

eddi79

Ich habe es nun exakt so gemacht:
Ergebnis:


pi@raspberrypi:~ $ sudo /etc/init.d/alexa start
sudo: unable to execute /etc/init.d/alexa: No such file or directory
pi@raspberrypi:~ $


Ich bin überzeugt davon, dass ich was falsch mache :-( nur was....

das script names alexa liegt unter /etc/init.d

Wenn ich es mit vi /etc/init.d/alexa ansehe zeigt er es mir auch an.

LG
Markus


MadMax-FHEM

Dann wird es wohl nicht ausführbar sein...

Was sagt ein ls -la /etc/init.d/alexa

Bzw. mal ein:

sudo chmod +x /etc/init.d/alexa

Und dann noch mal ausführen...

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)

eddi79

Folgendes gemacht:

pi@raspberrypi:~ $ ls -la /etc/init.d/alexa
-rwxr-xr-x 1 pi pi 1237 Mar 28 11:56 /etc/init.d/alexa
pi@raspberrypi:~ $ sudo chmod +x /etc/init.d/alexa
pi@raspberrypi:~ $ sudo /etc/init.d/alexa start
sudo: unable to execute /etc/init.d/alexa: No such file or directory
pi@raspberrypi:~ $


Leider noch ohne Erfolg  :'(