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

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

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

@Bigsonic1

Zitat/root/alexa-fhem

Warum hast du unter "/root" installiert?????

Dann kann das nicht funktionieren:

Zitat-su: line 0: cd: /root/alexa-fhem: Permission denied

Weil im Script steht su - "pi" also führe als User pi aus (wenn nicht geändert) und der kommt nat. nicht nach /root/alexa-fhem!

Also erst mal das glatt ziehen!

Entweder in /root/ lassen NICHT ZU EMPFEHLEN und alles als root ausführen NOCH WENIGER ZU EMPFEHLEN!

Oder woanders hin installieren...

Für einen "Quicktest" da du eh unter root "arbeitest" (auch nicht zu empfehlen!) einfach mal das su - "pi" -c wegnehmen und nur den Startbefehl lassen.

Sollte aber nicht die Dauerlösung sein.

Wenn das dann sauber geht mal den Rest noch mal probieren und erneut posten...

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)

MadMax-FHEM

@Tommy82,

da ist wohl echt was "schräg".

Ist aber wohl eher ein "Linux-Rechte-Problem" (-"Durcheinander") denn ein Problem mit alexa-fhem an sich...

Was für ein System hast du??

Also HW-Plattform und Betriebssystem...

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)

Tommy82

#737
Ist ein Cubitruck mit Debian GNU/Linux 8 inux version 3.4.104-sunxi

Aber an welchen Rechten könnte es liegen?  der User "thomas" brauch nun für sudo kein PW mehr, also kann es das ja nicht mehr sein
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

MadMax-FHEM

Zitat von: Tommy82 am 15 Januar 2017, 20:33:32
Ist ein Cubitruck mit Debian GNU/Linux 8 inux version 3.4.104-sunxi

Aber an welchen Rechten könnte es liegen?  der User "thomas" brauch nun für sudo kein PW mehr, also kann es das ja nicht mehr sein

Hmmm, dann vielleicht erst mal in einem passenden Forum klären warum das mit dem Passwort so ist?!

Weil die Frage ist ob hier jemand drüber stolpert, der genau da weiterhelfen kann...
...ich leider nicht wirklich...

Bzw. würde das in diesem Thread wohl eh zu weit weg führen...

Gruß und viel Erfolg, 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)

Tommy82

HM, versteh nur nicht wo es an den Berechtigungen noch  liegen kann, glaub eher das noch irgendwas anderes schief ist............
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

MadMax-FHEM

#740
Zitat von: Tommy82 am 15 Januar 2017, 20:03:18
Dazu kommt das der Alexa Dienst nach einem Neustart automatisch läuft und auch in Fhem der Status richtig angezeigt wird. Wenn ich denn Dienst aber dann stoppen will (hab vorher thomas wieder den sudoers hinzugefügt) dann wird der Dienst nicht gestoppt, irgendwas passt noch nicht

Wenn du statt einem Stopp aus fhem ein:

sudo /etc/init.d/alexa stop

eingibst, was passiert dann??

EDIT: vielleicht mal ohne, dass du den User hinzufügst... Und dann vielleicht mal mit, also nach Hinzufügen...

Aber ich denke du musst es schaffen, dass bei Verwendung von sudo unter User thomas kein Passwort verlangt wird...
...weil sonst vermutlich der Aufruf (vom DOIF/Dummy) genau an der Passworteingabe scheitert/hängen bleibt...
...weil ja keiner eins eingeben kann.

EDIT2: ist der Eintrag für thomas am Ende der sudoers Datei!? Irgendwo hier im Thread war das schon mal ein Problem... Also wenn der Eintrag nicht am Ende stand. Ist auch beim Raspberry für den User pi so...

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)

Tommy82

Also wenn ich den User hinzugefügt hab dann wird der Alexa Dienst durch sudo /etc/init.d/alexa stop gestoppt.
Es scheint so alsob der User "thomas" nun fest in der sudoers sei, denn auch nach einem Neustart kann der user sudo ohne PW ausführen

Nur um die sudoers mal auszuschließen hier mal die aktuelle Ansicht, hab den USer "thomas" an mehreren Stellen versucht, wie man auch jetzt sieht.


#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
fhem ALL=(ALL) NOPASSWD:/etc/init.d/alexa
thomas ALL=(ALL) NOPASSWD:ALL
fhem ALL=(ALL) NOPASSWD: ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
thomas ALL=(ALL) NOPASSWD:ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

ALL     ALL = NOPASSWD: /usr/bin/mplayer
www-data ALL=NOPASSWD:/var/emu/script/sudowebscript.sh,/usr/bin/last
thomas ALL=(ALL) NOPASSWD:ALL




Also ein PW muss der user thomas nicht mehr eingeben beim ausführen von sudo.

Anbei auch mal das geänderte skript, nicht das ich da einen Bock gebnaut habe
#!/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/thomas/alexa-fhem"
export LOGPATH="/home/thomas/alexa-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 - "thomas" -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

Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

MadMax-FHEM

Hmmm, so viele Einträge für thomas, ob das so gut ist weiß ich nicht.

Allerdings ist es (neuerdings) bei Raspbian Jessie so, dass durch den Eintrag:

#includedir /etc/sudoers.d

unter genau diesem Verzeichnis weitere User/Einträge eingelesen/hinzugefügt werden...

Zitat
#
# As of Debian version 1.7.2p1-1, the default /etc/sudoers file created on
# installation of the package now includes the directive:
#
#    #includedir /etc/sudoers.d
#
# This will cause sudo to read and parse any files in the /etc/sudoers.d
# directory that do not end in '~' or contain a '.' character.
#
# Note that there must be at least one file in the sudoers.d directory (this
# one will do), and all files in this directory should be mode 0440.
#
# Note also, that because sudoers contents can vary widely, no attempt is
# made to add this directive to existing sudoers files on upgrade.  Feel free
# to add the above directive to the end of your /etc/sudoers file to enable
# this functionality for existing installations if you wish!
#
# Finally, please note that using the visudo command is the recommended way
# to update sudoers content, since it protects against many failure modes.
# See the man page for visudo for more information.
#

In dem Verzeichnis ist bei mir (Raspbian Jessie) eine Datei "010_pi-nopasswd" mit folgendem Inhalt:

pi ALL=(ALL) NOPASSWD: ALL

Wenn du nun kein Passwort mehr für den User thomas eingeben musst, geht es nun??

Oder gibt es weiterhin Probleme??

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)

Bigsonic1

#743
@MadMax-FHEM
Vielen Dank, weiß auch nicht warum ich das nach root gepackt habe,
ich hab jetzt nochmal neu installiert, da wo es hin soll.
Funktioniert jetzt!!!  :D



Tommy82

Zitat von: MadMax-FHEM am 15 Januar 2017, 21:25:56
Hmmm, so viele Einträge für thomas, ob das so gut ist weiß ich nicht.

Allerdings ist es (neuerdings) bei Raspbian Jessie so, dass durch den Eintrag:

#includedir /etc/sudoers.d

unter genau diesem Verzeichnis weitere User/Einträge eingelesen/hinzugefügt werden...

In dem Verzeichnis ist bei mir (Raspbian Jessie) eine Datei "010_pi-nopasswd" mit folgendem Inhalt:

pi ALL=(ALL) NOPASSWD: ALL

Wenn du nun kein Passwort mehr für den User thomas eingeben musst, geht es nun??

Oder gibt es weiterhin Probleme??

Gruß, Joachim
Die vielen Einträge werde ich auch wieder auf einen reduzieren, ist beim testen entstanden.

Also der User "thomas" brauch auf jedenfall kein PW mehr angeben, allerdings funktionieren die Befehle aus Fehm heraus immer noch nicht. Wenn ich z.b. Alexa über Fhem stoppen will, und prüfe dann den Status von Alex auf der Konsole über ein sudo /etc/init.d/alexa status
dann ist sie weiterhin aktiv, das gleiche beim starten bzw. restarten.
Auch der Status Dummy verändert sich nicht, wird allerdings beim Systemstart richtig gesetzt
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

baerbel

Guten Morgen in die Runde,

nachdem ich die meisten Hürden bei der Installation gemeistert bekommen habe (vor allem Dank des Forums) hänge ich an einer Sache, die auch schon ein paar mal angesprochen wurde, bei mir leider allerdings nicht zum Erfolg geführt hat.

Es geht um alexa-fhem. Ich kann den Dienst starten, stoppen, Restarten - sowohl über UI als auch CLI - aber:

Sobald sich meine Fritzbox nächtens vom Provider trennen lässt stoppt alexa-fhem, was reichlich schade ist, denn aus dem Bett heraus will sie dann morgens  nicht mehr mit mir sprechen ;-)

Im Logfile steht folgendes:

2017-01-14 03:13:56 caching: Heizung.EG.Wohnzimmer.Arbeitsplatz.Temperatur-ValvePosition: 0
  2017-01-14 03:13:56 caching: Heizung.EG.Wohnzimmer.Arbeitsplatz.Temperatur-measured-temp: 25.9
  2017-01-14 03:14:16 caching: Steckdose.EG.Kueche.Kaffemaschine-voltage: 231.532 V
/home/pi/alexa-fhem/lib/server.js:133
      if (err) throw err;
               ^

Error: "vers" must be 0. Got: 2
    at Client.onmessage (/home/pi/alexa-fhem/node_modules/nat-pmp/index.js:301:8)
    at Socket.<anonymous> (/home/pi/alexa-fhem/node_modules/nat-pmp/index.js:367:32)
    at emitTwo (events.js:87:13)
    at Socket.emit (events.js:172:7)
    at UDP.onMessage (dgram.js:506:8)


Habe es mit Strato dyndns probiert, alternative mit AVM dyndns Dienst - es ändert nichts an dem Verhalten, sodass ich in der Früh erstmal Alexa-fhem händisch starten muss.

Da ganze nachst stattfindet, kann ich nicht sagen wie lange die dyndns Aktualisierung benötigt und ob das der Grund dafür sein könnte. Ich bin der auf 0.1.9 was alexa-fhem angeht.

Vielleicht hat ja jemand ähnliche Herausforderung gehabt ... oder eine Idee, wie man das geregelt bekommt.

Vielen Dank vorab -

Grüße,

Bernd

MadMax-FHEM

#746
Zitat von: Tommy82 am 16 Januar 2017, 06:39:44
Die vielen Einträge werde ich auch wieder auf einen reduzieren, ist beim testen entstanden.

Also der User "thomas" brauch auf jedenfall kein PW mehr angeben, allerdings funktionieren die Befehle aus Fehm heraus immer noch nicht. Wenn ich z.b. Alexa über Fhem stoppen will, und prüfe dann den Status von Alex auf der Konsole über ein sudo /etc/init.d/alexa status
dann ist sie weiterhin aktiv, das gleiche beim starten bzw. restarten.
Auch der Status Dummy verändert sich nicht, wird allerdings beim Systemstart richtig gesetzt

Eieiei jetzt wird es langsam eigenartig.

Gut, dann hilft nur Detailanalyse...

Steht was im "alexa-Log"?
Müsste eigentlich...

Dann mal sehen ob die Befehle ohne DOIF/Dummy gehen.
Funktioniert folgendes:

{system("sudo /etc/init.d/alexa stop &")}

bzw.

{system("sudo /etc/init.d/alexa start &")}

im WEB-cmd von fhem.

Hiermit sollte alexa-fhem gestartet/gestoppt werden...


Was passiert mit dem Dummy-Status wenn du folgendes auf der Linux-Console ausführst:

perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status on"

bzw.

perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status off"

(evtl. mal mit und ohne sudo / nur um zu sehen, ob beide "Umgebungen" funktionieren)

Hierbei sollte sich der Status des Dummy ändern...


Achja: für den Telnet-Zugang (7072) hast du nicht "zufällig" user/passwort eingestellt!?

Wobei ich das hier sehr eigenartig finde:

ZitatAuch der Status Dummy verändert sich nicht, wird allerdings beim Systemstart richtig gesetzt

EDIT: ich hoffe du hattest es noch nicht getestet. Habe die Aufrufe die per fhem-WEB eingegeben werde sollten noch mal korrigiert. SORRY!!

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)

justme1968

ja. du brauchst nur eine lambda funktion. egal wie viele fhem skills. du musst nur alle trigger eintragen. d.h. smart home und skills kit.

die skill id des smart home skills musste noch nie ins config file.

vom smart home api wird die skill id beim aufruf überhaupt nicht übergeben sondern nur die oauthClientID. das custom skill api übergibt keine oauthClientID sondern nur die applicationId.

beide werden jeweils verwendet um zu prüfen ob die requests überhaupt zugelassen werden. zusätzlich kann man hierüber durch das konfigurieren mehrere gleicher skills einen workaround bauen um die jeweiligen echos zu unterscheiden. das geht aber wirklich gut nur wenn man auch pro echo einen eigenen amazon account verwendet.

gruss
  andre

ps: verlink das video doch auch noch auf der wiki seite.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

baerbel

Guten Morgen,

wollte nochmal in die Runde fragen, ob jemand ein ähnliches Phänomen hat, wie hier beschrieben:

https://forum.fhem.de/index.php/topic,60452.msg562206.html#msg562206

Nach der Providertrennung stoppt der Alexa Dienst -

Vielen Dank !!!!

Grüße,

/Bernd

justme1968

schmeiss die beiden nat zeilen aus der config und richte das portforwaring von hand fest ein.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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