Hallo,
ich wollte gerade alexa-fhem als service starten. Habe das getan was in Wiki drin steht: https://wiki.fhem.de/wiki/Alexa-Fhem#Alexa-Fhem_als_Service_.28systemd.29_installieren
Aber es kommt eine Fehlermeldung beim Statusabruf:
pi@mainrasp:/opt/fhem $ sudo systemctl status alexa
● alexa.service - Node.js Alexa Server
Loaded: loaded (/etc/systemd/system/alexa.service; enabled)
Active: activating (auto-restart) (Result: exit-code) since Mi 2017-06-21 17:15:43 CEST; 1s ago
Process: 10566 ExecStart=/opt/fhem/alexa-fhem/bin/alexa $ALEXA_OPTS (code=exited, status=217/USER)
Main PID: 10566 (code=exited, status=217/USER)
Jun 21 17:15:43 mainrasp systemd[1]: Unit alexa.service entered failed state.
Folgendes Vorgehensweise:
sudo useradd -M --system alexa
sudo usermod -a -G dialout alexa
sudo nano /etc/default/alexa #INhalt: ALEXA_OPTS=-U /opt/fhem/.alexa
sudo nano /etc/systemd/system/alexa.service
#Inhalt:
[Unit]
Description=Node.js Alexa Server
After=syslog.target network-online.target
[Service]
Type=simple
User=alexa #oder ein anderer Benutzer wie fhem
EnvironmentFile=/etc/default/alexa
# oder wo auch immer eure alexa-fhem liegt
ExecStart=/opt/fhem/alexa-fhem/bin/alexa $ALEXA_OPTS
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
Dann habe ich die Berechtigungen noch geändert:
pi@mainrasp:/opt/fhem $ sudo chown -R alexa /opt/fhem/.alexa
pi@mainrasp:/opt/fhem $ sudo chown -R alexa /opt/fhem/alexa-fhem
Dann:sudo systemctl daemon-reload
sudo systemctl enable alexa
sudo systemctl start alexa
und dann kommt beim Statusabruf: code=exited, status=217/USER
Mit folgendem Auftruf als Benutzer pi funktioniert es:
/opt/fhem/alexa-fhem/bin/alexa -U /opt/fhem/.alexa
Mit diesen Berechtigungen unter Linux habe ich immer wieder mal Probleme...
Freu mich über jede Hilfe.
Gruß,
Jörg
Was sagt journalctl?
sudo journalctl --since 17:00 -u alexa
Als workaround ums ans laufen zu bekommen
User=alexa
in
User=pi
ändern und es sollte laufen
den Fehler hatte ich auch, als ich es installiert habe. Ich muss mal zuhause heute Abend schauen was genau es war. Ich meine es lag daran, dass im Userverzeichnis von alexa etwas in die Ordner geschrieben werden musst, was eigentlich in nem anderen Ordner vorhanden war. Es waren zwei Dateien, aber kann dir gerade nicht sagen welche.
Edit: Schau mal hier: https://forum.fhem.de/index.php/topic,71612.msg631360.html#msg631360 glaube da irgendwo hatte ich auch meine Lösung gefunden
Vielen Dank für eure Hilfe.
Als ich den User von alexa nach pi wechselte hat es noch nicht funktioniert.
Das 2. Problem war der Parameter ALEXA_OPTS=-U /opt/fhem/.alexa aus dem EnvironmentFile /etc/default/alexa.
Habe dann einfach, wie in dem Link von Amenophis86 beschrieben, EnvironmentFile in der /etc/systemd/system/alexa.service gelöscht und die Zeile ExecStart so gesetzt: /opt/fhem/alexa-fhem/bin/alexa -U /opt/fhem/.alexa
Dann hat es funktioniert.
Warum auch so umständlich und den Parameter erst in eine Datei schreiben um ihn dann in dem alexa.service wieder zu laden und an dem exec Befahl anzuhängen... Verstehe ich grad nicht, aber gut.
Gruß und Danke,
Jörg
Aus der Anleitung:
ZitatUm das Aha-Erlebnis zu vergrößern, ist jetzt ein guter Zeitpunkt, 1 oder besser mind. 2 Geräte für den Alexa-Dienst zuzuweisen. Von Haus aus wird keines Deiner FHEM-Geräte automatisch Alexa zugewiesen!
Wähle die Geräte aus, rufe sie auf und setze das Attribut "alexaName".
Als blutiger Anfänger habe ich damit Schwierigkeiten.
Kann mir jemand beschreiben, wie/wo ich die Geräte auswählen muss und wo das Attribut zu setzen ist?
Mit Attribut ist sicher der Name gemeint, den das Gerät in Alexa führt, richtig?
Vielen Dank im Voraus!
Wenn Du Anfänger bist, dann geh lieber direkt auf FHEM-Connector, statt das alte alexa-fhem.
Doku hier: https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa
Danke, ich stelle die Frage neu ein.