[gelöst (workaround)] alexa.service startet nicht automatisch

Begonnen von Brot, 27 Oktober 2017, 22:47:17

Vorheriges Thema - Nächstes Thema

Brot

Hi...

Ich bekomme meinen alexa.service nicht zum Laufen...

Ich beginne mit:
sudo systemctl daemon-reload
(ohne Mecker)

Dann:
pi@raspberrypi:/opt/fhem/alexa-fhem/bin $ sudo systemctl enable alexa
Synchronizing state of alexa.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable alexa


Schließlich noch:
sudo systemctl start alexa
(ohne Mecker)

Jetzt noch prüfen was es sagt:
pi@raspberrypi:/opt/fhem/alexa-fhem/bin $ sudo systemctl status alexa
● alexa.service - Node.js Alexa Server
   Loaded: loaded (/etc/systemd/system/alexa.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Fri 2017-10-27 22:37:34 CEST; 6s ago
  Process: 1593 ExecStart=/opt/fhem/alexa-fhem/bin/alexa -U /home/pi/.alexa (code=exited, status=210/CHROOT)
Main PID: 1593 (code=exited, status=210/CHROOT)

Okt 27 22:37:34 raspberrypi systemd[1]: alexa.service: Failed with result 'exit-code'.


...und ich bin einwandfrei verwirrt.  :o

Hat mir wer ne Idee was da schief läuft?

-Brot
diverse Raspberry Pis, Orange Pi 3, Odroid N2, Alexa, jede Menge ESP8266er
Raspbian, FHEM, NextCloud, Pi-Hole, OctoPrint, MagicMirror²
Tasmota, Eqiva Bluetooth Thermo, Senseo-ESP8266-Mod, Conbee-II HUE, Z-Wave, BTLE_FlowerSens...

Brot

Ja gut... Dann halt nicht.

Ich habe daher:

Den Service gestoppt...
sudo systemctl stop alexa.service

...den aus dem Daemon genommen...
sudo systemctl disable alexa.service

...dem Daemon gesagt, dass sich was geändert hat...
sudo systemctl daemon-reload...

...zukünftige Verwechslungen in Richtung init.d unterbunden...
sudo mv /etc/systemd/system/alexa.service /etc/systemd/system/alexa.save

...in init.d den guten, alten, alterhegebrachten service erstellt...
cd /etc/init.d
sudo nano alexa


...eingepflanzt...
#!/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="/opt/fhem/alexa-fhem"
export LOGPATH="/opt/fhem/log"
case "$1" in
start)
if ps -p $PID > /dev/null 2>&1; then
        echo "Alexa is already running"
        perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is already running"
        perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status on"
        perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
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"
        perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is not running"
        perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status off"
        perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
else
        kill $PID
        echo "Alexa closed"
        perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa closed"
        perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status off"
        perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
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"
        perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa running as PID $PID"
        perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status on"
        perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
else
        echo "Alexa is not running"
        perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is not running"
        perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status off"
        perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
fi
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
echo "script done"
exit 0


...dem daemon übergeben...
sudo systemctl enable alexa

...und die Kiste neu gestartet:
sudo reboot

Läuft dann halt so.

Wer braucht schon diesen super fancy systemd-Prozess..? Nur weil der bei jedem und seiner Mutter läuft..? Andere sammeln Oldtimer... Beschäftige ich mich halt mit init.d...  :-\

-seine Brothaltigkeit
diverse Raspberry Pis, Orange Pi 3, Odroid N2, Alexa, jede Menge ESP8266er
Raspbian, FHEM, NextCloud, Pi-Hole, OctoPrint, MagicMirror²
Tasmota, Eqiva Bluetooth Thermo, Senseo-ESP8266-Mod, Conbee-II HUE, Z-Wave, BTLE_FlowerSens...

Michi990

Habe gestern 6 Stunden versucht, Alexa zum laufen zu bringen. Immer SSH Fehler. Heute nochmals 4 Stunden. Hundert mal mit den Node-Versionen gespielt etc. Nie wollte es.

Hab dann heute nochmal alles installiert, immer mit den aktuellsten Versionen (neuer als in den teils veralteten Anleitungen). Aber wieder wollte der Service nicht starten. Dann bin ich auf deinen Beitrag gestoßen und hab es damit auch zu init.d umgebaut. Und siehe da, Service startet und in FHEM kommen direkt die Tokens und es funktioniert perfekt.

Vielen Dank!!

MadMax-FHEM

@Michi990: welche Version von alexa-fhem hast du?

Weil der Beitrag ist von 2017!!

Aktuell gibt es den alexa-fhem Connector: https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa

Und wenn das OS aktuell ist, also bei Raspbian Buster, dann einfach nodejs installieren, alexa-fhem laut Wiki installieren, alexa-Device in fhem anlegen (weil das kümmert sich dann auch um Start etc.) und fertig.

Nach welchen Anleitungen bist du denn vorgegangen? Welches OS?

Und: keine offenen Ports etc. mehr...

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)