[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

Zitat von: SGi am 21 Februar 2017, 22:42:27
Hallo Joachim,

> Bevor ich jetzt (lang) suche: wie lauten die (identischen) Aufrufe?

/etc/init.d/alexa start > /dev/null 2>&1 &


> Wenn du per Console startest wird der Dummy-Status etc. richtig angezeigt, oder!?

Ja.

> Wenn du per Console: sudo /etc/init.d/alexa start (oder auch mit ohne sudo) startest und dann versuchst per DOIF oder Web-Cmd-Fenster (  {system("sudo /etc/init.d/alexa stop &")}    ) dann stoppst was passiert??

Ohne sudo. Prozess wird gestoppt und Status wechselt. Wie es sein soll. Aber Start/Restart geht nicht.

Es scheint so, als ob das einfach nur deswegen hängt, weil der per DOIF abgesetzte Befehl (ohne sudo) ein Passwort haben will und es natürlich vom DOIF nicht bekommt. Denn in der Konsole werde ich jetzt auch bei /etc/init.d/alexa start immer nach dem PW des users fhem gefragt, unter dem ich alexa starte. Aber warum fragt er nach dem Passwort ?

Im alexa-script steht
su - "fhem" -c "cd $ALEXAPATH;./bin/alexa > $LOGPATH ... usw

Aber in der sudoers eigentlich
# User privilege specification
root    ALL=(ALL) ALL
fhem    ALL=(ALL) NOPASSWD: /etc/init.d/alexa

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


Da ich den sudo ja gar nicht im DOIF benutze, könnte das Scipt also doch auch ohne "su" auskommen, da es ja "nur" als fhem gestartet einwandfrei läuft.
Weglassen von su - "fhem" -c im Script vermeidet zwar dann die Passwortabfrage in der Konsole, ändert aber nichts an der Tatsache, dass das DOIF trotzdem immer noch beim Alexa-Starten hängt...

Sven

Gibt es beim Weglassen des su - "fhem" -c im Script wenigstens ein Log-File von alexa-fhem?

Weil ohne Ausgabe/Log wird es schwer herauszufinden WARUM das Script WO hängt, wenn es aus fhem heraus gestartet wird.

Wie hast du die Einträge in der sudoers erstellt?
Welche hast du hinzugefügt?
(also welche waren schon drin)


Ansonsten und v.a. ohne Ausgaben/Log wird es wirklich schwer...

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)

tagedieb

Hallo Joachim

auch Dir vielen Dank für deine Zeit

diesen Thread hatte ich schon gelesen - doch nach Eingabe der Befehle geschah gar nichts  :-[
nach betätigen der Stopptaste im dummy erscheint auf der Console[Wed Feb 22 2017 16:21:46 GMT+0100 (CET)] Got SIGTERM, shutting down alexa-fhem...
root@cubie:/opt/fhem/alexa-fhem#

nach Ausführung des Aufrufesroot@cubie:~# /etc/init.d/alexa start > /dev/null 2>&1 &
[2] 4207
[1]   Done                    /etc/init.d/alexa start > /dev/null 2>&1  (wd: /opt/fhem/alexa-fhem)
(wd now: ~)
root@cubie:~#

wenn ich per Console starte wird der Status des dummy NICHT richtig angezeigt - erst nach betätigen des Button "status" aktualisiert sich der Status
starten kann ich zur Zeit nur aus dem alexa-fherm verzeichnis mit der Eingabe ./bin/alexa (ohne sudo)
das ist meine Sudoers#
# 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
cubie   ALL=(ALL:ALL) ALL

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

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

#includedir /etc/sudoers.d
ALL     ALL = NOPASSWD: /usr/bin/mplayer  (alter Eintrag)
fhem ALL=(ALL) NOPASSWD: ALL (neuer Eintrag)


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

tagedieb

Hallo zusammen

irgendetwas läuft bei mir gewaltig schief :-[ - ich wollte nach dem Wiki Beispiel den dummy Alexa.Party anlegen und hier kommt nach der Eingabe attr Alexa.Party genericDeviceType switch

Alexa.Party: unknown attribute genericDeviceType. Type 'attr Alexa.Party ?' for a detailed list.

Was habe ich nicht installiert oder falsch installiert, das dieses Attribut nicht vorhanden ist?
Gibt es dazu ein extra Modul?

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

Brice

notfalls einpflegen per

attr global userattr genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock
FHEM auf RPi 4 4GB (Buster) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080

justme1968

wenn du alexa-fhem startest und alles funktioniert wird das attribut automatisch hinzugefügt.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

MadMax-FHEM

Zitat von: tagedieb am 22 Februar 2017, 16:33:49
Hallo Joachim

auch Dir vielen Dank für deine Zeit

diesen Thread hatte ich schon gelesen - doch nach Eingabe der Befehle geschah gar nichts  :-[
nach betätigen der Stopptaste im dummy erscheint auf der Console[Wed Feb 22 2017 16:21:46 GMT+0100 (CET)] Got SIGTERM, shutting down alexa-fhem...
root@cubie:/opt/fhem/alexa-fhem#

nach Ausführung des Aufrufesroot@cubie:~# /etc/init.d/alexa start > /dev/null 2>&1 &
[2] 4207
[1]   Done                    /etc/init.d/alexa start > /dev/null 2>&1  (wd: /opt/fhem/alexa-fhem)
(wd now: ~)
root@cubie:~#

wenn ich per Console starte wird der Status des dummy NICHT richtig angezeigt - erst nach betätigen des Button "status" aktualisiert sich der Status
starten kann ich zur Zeit nur aus dem alexa-fherm verzeichnis mit der Eingabe ./bin/alexa (ohne sudo)
das ist meine Sudoers#
# 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
cubie   ALL=(ALL:ALL) ALL

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

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

#includedir /etc/sudoers.d
ALL     ALL = NOPASSWD: /usr/bin/mplayer  (alter Eintrag)
fhem ALL=(ALL) NOPASSWD: ALL (neuer Eintrag)


Gruss tagedieb

Äh, eigentlich war die Antwort für SGi aber ich versuch mich hier dann auch mal (gezielt)... ;)

Ich sehe du arbeitest als root...

Unter welchem User läuft fhem?

Welche User gibt es auf deinem System?

Welches System überhaupt?
(falls schon mal genannt, sorry. Da ich versuche zu helfen bin ich mal "faul" zu suchen ;)  )

Im Startscript: /etc/init.d/alexa
wird ja die Ausführung des Starts an den User pi "übergeben": su - "pi" -c ...
(außer du hast das angepasst)

Und noch mal langsam zum "Mitschreiben" ;)  was geht und was nicht:

also start per ./bin/alexa aus dem Installationsverzeichnis geht? Ja, oder!?

start mittels /etc/init.d/alexa start (sudo brauchst du nicht, da du eh als root "arbeitest") geht? Ja, oder!?
(ich würde das umlenken auf /dev/null beim Starten auf der Console mal weglassen)

Wird beim starten mittels /etc/init.d/alexa start der Zustand des Dummy richtig gesetzt? nein, oder!?
(vorausgesetzt das Starten mit dieser Methode klappt)

Ein Starten per DOIF/Dummy von fhem heraus klappt nicht, oder!?

So, das sollte erst mal reichen um Klarheit zu bekommen...

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)

Radikant

Zitat von: DeeSPe am 21 Februar 2017, 22:15:19
Fehlermeldung auch lesen! Daraus geht eindeutig hervor was das Problem ist!!!
Wenn man die Fehlermeldung liest und Dein init Skript anguckt müsste einem das Problem sofort ins Auge stechen!

Gruß
Dan

Das Problem hat meine Augen erstochen...  ;D

War wohl ein Kopierfehler.....  ::)

Wenn ich Alexa-FHEM starte kommt Folgendes:
pi@FHEM:~ $ sudo service alexa start
pi@FHEM:~ $ sudo service alexa status
● alexa.service - LSB: Start daemon at boot time for alexa
   Loaded: loaded (/etc/init.d/alexa)
   Active: active (exited) since Mi 2017-02-22 18:16:16 CET; 1min 50s ago
  Process: 717 ExecStart=/etc/init.d/alexa start (code=exited, status=0/SUCCESS)

Feb 22 18:15:34 FHEM alexa[717]: SSH is enabled and the default password fo...d.
Feb 22 18:15:34 FHEM alexa[717]: This is a security risk - please login as ...d.
Feb 22 18:15:34 FHEM alexa[717]: -su: /opt/fhem/log/alexa-2017-02.log: Kein...ng
Feb 22 18:15:34 FHEM su[752]: pam_unix(su:session): session closed for user pi
Feb 22 18:15:34 FHEM alexa[717]: Alexa starting
Feb 22 18:15:36 FHEM alexa[717]: Alexa is not running
Feb 22 18:16:16 FHEM alexa[717]: script done
Feb 22 18:16:16 FHEM alexa[717]: script done
Feb 22 18:16:16 FHEM systemd[1]: Started LSB: Start daemon at boot time for...a.
Feb 22 18:18:02 FHEM systemd[1]: Started LSB: Start daemon at boot time for...a.
Hint: Some lines were ellipsized, use -l to show in full.
pi@FHEM:~ $


Meine neue Config (alexa-fhem liegt in /home/pi):
#!/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="/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



Was mache ich jetzt falsch ?  :-[

LG
Rudolf :D
Aller Anfang ist schwer...

tagedieb

Hallo Joachom

Äh, eigentlich war die Antwort für SGi aber ich versuch mich hier dann auch mal (gezielt)... ;) Dankeschöööön  :)

Ich sehe du arbeitest als root... auf der Console stets

Unter welchem User läuft fhem?  fhem

Welche User gibt es auf deinem System? root, admin, fhem

Welches System überhaupt? debian 8.7
(falls schon mal genannt, sorry. Da ich versuche zu helfen bin ich mal "faul" zu suchen ;)  )

Im Startscript: /etc/init.d/alexa
wird ja die Ausführung des Starts an den User pi "übergeben": su - "pi" -c ...
(außer du hast das angepasst) auf "fhem" geändert

Und noch mal langsam zum "Mitschreiben" ;)  was geht und was nicht:

also start per ./bin/alexa aus dem Installationsverzeichnis geht? Ja, oder!? ja

start mittels /etc/init.d/alexa start (sudo brauchst du nicht, da du eh als root "arbeitest") geht? Ja, oder!? nein
(ich würde das umlenken auf /dev/null beim Starten auf der Console mal weglassen)
nein:root@cubie:~# /etc/init.d/alexa start
Alexa starting
Alexa is not running
script done
script done

nur stop funktioniert

Wird beim starten mittels /etc/init.d/alexa start der Zustand des Dummy richtig gesetzt? nein, oder!? kann ich nicht sagen - funktioniert ja nicht  ???
(vorausgesetzt das Starten mit dieser Methode klappt)

Ein Starten per DOIF/Dummy von fhem heraus klappt nicht, oder!? nein

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

MadMax-FHEM

Zitat von: tagedieb am 22 Februar 2017, 19:04:41
Hallo Joachom

Äh, eigentlich war die Antwort für SGi aber ich versuch mich hier dann auch mal (gezielt)... ;) Dankeschöööön  :)

Ich sehe du arbeitest als root... auf der Console stets

Unter welchem User läuft fhem?  fhem

Welche User gibt es auf deinem System? root, admin, fhem

Welches System überhaupt? debian 8.7
(falls schon mal genannt, sorry. Da ich versuche zu helfen bin ich mal "faul" zu suchen ;)  )

Im Startscript: /etc/init.d/alexa
wird ja die Ausführung des Starts an den User pi "übergeben": su - "pi" -c ...
(außer du hast das angepasst) auf "fhem" geändert

Und noch mal langsam zum "Mitschreiben" ;)  was geht und was nicht:

also start per ./bin/alexa aus dem Installationsverzeichnis geht? Ja, oder!? ja

start mittels /etc/init.d/alexa start (sudo brauchst du nicht, da du eh als root "arbeitest") geht? Ja, oder!? nein
(ich würde das umlenken auf /dev/null beim Starten auf der Console mal weglassen)
nein:root@cubie:~# /etc/init.d/alexa start
Alexa starting
Alexa is not running
script done
script done

nur stop funktioniert

Wird beim starten mittels /etc/init.d/alexa start der Zustand des Dummy richtig gesetzt? nein, oder!? kann ich nicht sagen - funktioniert ja nicht  ???
(vorausgesetzt das Starten mit dieser Methode klappt)

Ein Starten per DOIF/Dummy von fhem heraus klappt nicht, oder!? nein

Gruss tagedieb

So, dann weiter:

Wohin hast du alexa-fhem installiert?

Mit welchem User führst du ./bin/alexa aus? root?

Auf der Console immer root? Warum??!!
Als root arbeiten ist nie gut....
...aber jeder wie er (sein system kaputt machen) will... ;)

Steht etwas im Log (von alexa-fhem -> LOG_PATH)?

Im DOIF steht der Startbefehl aber dann schon mit sudo!?

User fhem in sudoers?
(auch sorry falls das schon wo steht / komme langsam durcheinander mit den: das automatische Starten geht nicht Problemen ;)  Wobei die meisten eigentlich Linux-Probleme sind... Weil das System kein PI ist [für den das mal erstellt wurde] und oder weil die User etc. andere sind)

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)

Stefan G.

Hallo,
kann man irgendwie steuern wie aws Lambda auf alexa-fhem zugreift? Ich meine per http oder https.
Bei mir wird die Seite nicht per https von extern erreicht, muss dann in der config.json ssl auf true stehen, oder hat das nichts damit zu tun?

Gruß Stefan

justme1968

der zugriff von außen ist immer per https.

der ssl parameter ist nur für den zugriff auf fhem.

was bedeutet die seite wird nicht per https erreicht? welche seite?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Stefan G.

Hallo,

sorry, ich meint sie wird nur per https von extern erreicht.
Geräte finde ich in der App trotzdem nicht. Wenn ich von extern zugreife sehe ich in der Console folgenden Hinweis:
ERROR: SyntaxError: Unexpected end of input from ::ffff:80.150.181.210

Ich denke das ist ok?

Grup Stefan

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Stefan G.

Hallo,

was ist denn im Wiki mit "Wenn ihr im Browser dann einen Quellcode von Alexa seht, funktioniert die Portumleitung." gemeint?
Ich bekomme da in der alexa Console folgende Meldung "ERROR: UnsupportedOperationError from ::ffff:34.248.116.144"
Was müsste denn da ungefähr stehen wenn es richtig wäre?

Gruß Stefan

Master_Nick

Ich würde sagen das ist gemeint:

https://xxx.xxxx.xxx.xxx:3000/

oder aber eben eine der bekannten diesen https://wurst.no-ip.org:3000

{"header":{"name":"UnsupportedOperationError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"XXXXXXXXXXXXXXXXXXXXXXXXX"},"payload":{}}


Also ist es richtig - du erreichst ja was ;-)
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)