Alexa startet nicht als Dienst

Begonnen von dlehmann69, 26 Dezember 2016, 09:57:08

Vorheriges Thema - Nächstes Thema

dlehmann69

Hallo,

Ich poste das auch noch einmal hier, da ich vermute das es eher ein Thema mit Linux ist.

Ich habe nun auch meinen Dot bekommen. Soweit habe ich eigentlich fast alles hin bekommen. Super Arbeit und super Anleitung.

Was funktioniert:
Alexa läßt sich auf der Konsole mit ./bin/alexa starten
Alexa findet in der App auch die entsprechenden Geräte
Diese Geräte lassen sich auch schalten

Was nicht funktioniert
Alexa läßt sich nicht als Dienst starten. Weder aus FHEM noch auf der Konsole klappt der Start. Auf der Konsole bekomme ich folgende Meldungen
Code: [Auswählen]
root@homeserver:/opt/fhem/alexa-fhem# service alexa start
Alexa starting
Alexa is not running
script done
script done
Alle mögliche Benutzer habe an allen möglichen Stellen ihr config.json File hinterlegt bekommen. Auch der Nutzer fhem, unter dem FHEM läuft. Das Skript ist entsprechend angepasst. Es scheint ja auch abgearbeitet zu werden. Läuft Alexa auf der Konsole, kann ich in FHEM auch den Status abfragen und auch den Dienst über FHEM auf der Konsole stoppen. Halt nur der Start klappt nicht.

Hatte jemand auch dieses Problem und kann mir Ansatzpunkte für die Fehlersuche nennen?

BG
Dirk

Gesendet von meinem SM-T810 mit Tapatalk

FHEM 6.0 Development auf Ubuntu 20.04 GIGABYTE GB-BACE mit Intel(R) Celeron(R) CPU N3150
CUL 3.4 FW 1.53 868 MHz für FS20, FHT
CUL 3.4 FW 1.66 868 MHz für HM
configDB; DbLog
FHT80, FS20, HMS, EM1000WZ, FHTTF, HM-LC-Sw1-DR; Lightify; HM-CC-RT-DN; HM-TC-IT-WM-W-EU; HM-SEC-SCO

Wernieman

Wie sieht denn Dein Startscript aus?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

dlehmann69

Das ist das hier im Forum angebotene Script, entsprechend an mein System angepasst.

#!/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

FHEM 6.0 Development auf Ubuntu 20.04 GIGABYTE GB-BACE mit Intel(R) Celeron(R) CPU N3150
CUL 3.4 FW 1.53 868 MHz für FS20, FHT
CUL 3.4 FW 1.66 868 MHz für HM
configDB; DbLog
FHT80, FS20, HMS, EM1000WZ, FHTTF, HM-LC-Sw1-DR; Lightify; HM-CC-RT-DN; HM-TC-IT-WM-W-EU; HM-SEC-SCO

Wernieman

Stimmt Deine Obigtes Ausgabe wirklich?
<br /
Dieses ist in Deinem Startscript NICHT zu finden!
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

dlehmann69

Hallo,

Obige Ausgabe sollte jetzt stimmen.

Das Script ansich scheint ja zu funktionieren. Halt aber nur der Teil Stop und Status. Ich habe noch einmal weiter gesucht nach Ursachen für den erfolglosen Start des alexa Dienstes. Folgendes habe ich im boot.log gefunden, was ich alexa zuordnen würde:


path.js:8
    throw new TypeError('Path must be a string. Received ' +
    ^

TypeError: Path must be a string. Received undefined
    at assertPath (path.js:8:11)
    at Object.posix.join (path.js:479:5)
    at Function.User.storagePath (/opt/fhem/alexa-fhem/lib/user.js:30:15)
    at Function.User.configPath (/opt/fhem/alexa-fhem/lib/user.js:34:25)
    at Server._loadConfig (/opt/fhem/alexa-fhem/lib/server.js:30:25)
    at new Server (/opt/fhem/alexa-fhem/lib/server.js:24:23)
    at module.exports (/opt/fhem/alexa-fhem/lib/cli.js:17:16)
    at Object.<anonymous> (/opt/fhem/alexa-fhem/bin/alexa:17:22)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)


Kann damit jemand etwas anfangen?
FHEM 6.0 Development auf Ubuntu 20.04 GIGABYTE GB-BACE mit Intel(R) Celeron(R) CPU N3150
CUL 3.4 FW 1.53 868 MHz für FS20, FHT
CUL 3.4 FW 1.66 868 MHz für HM
configDB; DbLog
FHT80, FS20, HMS, EM1000WZ, FHTTF, HM-LC-Sw1-DR; Lightify; HM-CC-RT-DN; HM-TC-IT-WM-W-EU; HM-SEC-SCO

Wernieman

#5
Setze doch mal in Deinem Script mehr Logausgaben!

Und steht irgendetwas wichtiges unter "$LOGPATH/alexa-`date +%Y-%m`.log"?

Du schriebst, das es auf Konsolenebene schon nicht funktioniert, also kannst Du doch relativ einfach erst mal das Script debuggen? Oder hast Du es "irgendwoher"?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

dlehmann69

Wie erwähnt habe ich das Script hier aus dem Forum. Es wird ja scheinbar laut den Ausgaben in der Konsole auch abgearbeitet. Es läuft bis zum Start und wartet wie angegeben 2 Sekunden. Nur startet der Dienst nicht, was der Status auch feststellt.

Im alexa-... Log steht nichts neues. Nur das was auch schon im boot.log steht.

Wie kann ich den mehr Logausgaben im Script setzen?

Gesendet von meinem SM-T810 mit Tapatalk

FHEM 6.0 Development auf Ubuntu 20.04 GIGABYTE GB-BACE mit Intel(R) Celeron(R) CPU N3150
CUL 3.4 FW 1.53 868 MHz für FS20, FHT
CUL 3.4 FW 1.66 868 MHz für HM
configDB; DbLog
FHT80, FS20, HMS, EM1000WZ, FHTTF, HM-LC-Sw1-DR; Lightify; HM-CC-RT-DN; HM-TC-IT-WM-W-EU; HM-SEC-SCO

Wernieman

Wenn Du es auf der Konsole Startest ... mit welchem User?

Und ansonsten ... "echo" ist Dein Stichwort

Edit:
Du hast es hier aus dem Forum .. verstehst Du, was das Script macht?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Trebor5

Hallo ,

habe genau das gleiche Problem . Alexa startet unter Putty mit cd alexa-fhem und anschliessendem ./bin/alexa .


Geräte werden unter der Alex App gefunden und ich kann Sie auch steuern .

Sobald ich Putty schliesse geht nichts mehr und Alexa sagt mir auch " Dieses Befehl Funktioniert für dieses Gerät Flurlicht nicht "

Beim Start unter Putty kommt das  .

root@raspberrypi:~# cd alexa-fhem
root@raspberrypi:~/alexa-fhem# ./bin/alexa
[Tue Jan 31 2017 21:47:55 GMT+0100 (CET)] using /root/.alexa/config.json
[Tue Jan 31 2017 21:47:56 GMT+0100 (CET)] ---
[Tue Jan 31 2017 21:47:56 GMT+0100 (CET)] this alexa-fhem 0.1.9
[Tue Jan 31 2017 21:47:56 GMT+0100 (CET)] Fetching FHEM devices...
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] Checking devices and attributes...
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   executing: http://127.0.0.1:8085/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   executing: http://127.0.0.1:8085/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] starting longpoll: http://127.0.0.1:8085/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1485895677249
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] Fetching FHEM devices...
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] fetching: http://127.0.0.1:8085/fhem?cmd=jsonlist2%20room=Alexa&XHR=1
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] Server listening on: https://:::3000
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] got: 10 results
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] FHEM.Alexa: no service type detected
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] no device created for FHEM.Alexa (dummy)
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] FHEM.Alexa.DOIF: no service type detected
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] no device created for FHEM.Alexa.DOIF (DOIF)
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] FHEM.Alexa.Status: no service type detected
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] no device created for FHEM.Alexa.Status (dummy)
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] Flurlicht is switch
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] Flurlicht has
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   FirmwareRevision [D-firmware]
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   On [state;on,off]
  2017-01-31 21:47:57 caching: Flurlicht-D-firmware: 1.9
  2017-01-31 21:47:57 caching: Flurlicht-state: off
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] Hauptschalter is switch
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] Hauptschalter has
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   On [state;on,off]
  2017-01-31 21:47:57 caching: Hauptschalter-state: on
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] MyAlexa: no service type detected
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] no device created for MyAlexa (alexa)
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] Rollo_Wohn_Li is switch
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] Rollo_Wohn_Li has
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   PositionState [motor]
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   FirmwareRevision [D-firmware]
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   CurrentPosition [pct]
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   TargetPosition [pct]
  2017-01-31 21:47:57 caching: Rollo_Wohn_Li-motor: stop:off
  2017-01-31 21:47:57 caching: Rollo_Wohn_Li-D-firmware: 1.5
  2017-01-31 21:47:57 caching: Rollo_Wohn_Li-pct: 0
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] Rollo_Wohn_Re is switch
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] Rollo_Wohn_Re has
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   PositionState [motor]
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   FirmwareRevision [D-firmware]
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   CurrentPosition [pct]
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   TargetPosition [pct]
  2017-01-31 21:47:57 caching: Rollo_Wohn_Re-motor: stop:off
  2017-01-31 21:47:57 caching: Rollo_Wohn_Re-D-firmware: 1.5
  2017-01-31 21:47:57 caching: Rollo_Wohn_Re-pct: 0
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] Wecker_Uhrzeit is blind
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] Wecker_Uhrzeit has
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   CurrentPosition [pct]
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   TargetPosition [pct]
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] Wohnzimmer_Schreibtisch_Sw is switch
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] Wohnzimmer_Schreibtisch_Sw has
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   On [state;on,off]
  2017-01-31 21:47:57 caching: Wohnzimmer_Schreibtisch_Sw-state: on
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] alexa device is MyAlexa
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] MyAlexa is switch
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] MyAlexa has
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM] homebridgeMapping: #Characteristic=<name>=<value>,...
On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um

Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

Hue=verb=stelle,valuePrefix=auf,values=rot:0;grün:128;blau:200
Hue=verb=färbe,values=rot:0;grün:120;blau:220

Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER
Saturation=verb=sättige,values=AMAZON.NUMBER

TargetPosition=verb=mach,articles=den,values=auf:100;zu:0
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad

Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

#Weckzeit=verb=stelle,valuePrefix=auf;für,values=AMAZON.TIME,valueSuffix=uhr
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   executing: http://127.0.0.1:8085/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%201%7D&XHR=1
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   executing: http://127.0.0.1:8085/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20=%20%220.1.9%22%7D&XHR=1
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [FHEM]   executing: http://127.0.0.1:8085/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%200%7D&XHR=1
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] { stelle: 'gestellt',
  schalte: 'geschaltet',
  'färbe': 'gefärbt',
  mach: 'gemacht' }
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] [ OnIntent: [ 'schalte' ],
  prozentIntent: [ 'stelle' ],
  HueIntent: [ 'stelle' ],
  HueIntentB: [ 'färbe' ],
  SaturationIntent: [ 'stelle' ],
  SaturationIntentB: [ 'sättige' ],
  TargetPositionIntent: [ 'mach' ],
  gradIntent: [ 'stelle' ] ]
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] { OnIntent: [ 'On' ],
  prozentIntent: [ 'Brightness', 'TargetPosition', 'Volume' ],
  HueIntent: [ 'Hue' ],
  HueIntentB: [ 'Hue' ],
  SaturationIntent: [ 'Saturation' ],
  SaturationIntentB: [ 'Saturation' ],
  TargetPositionIntent: [ 'TargetPosition' ],
  gradIntent: [ 'TargetTemperature' ] }
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] { OnIntent: undefined,
  prozentIntent: 'auf',
  HueIntent: 'auf',
  HueIntentB: undefined,
  SaturationIntent: 'auf',
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'auf' }
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] { OnIntent: undefined,
  prozentIntent: 'prozent',
  HueIntent: undefined,
  HueIntentB: undefined,
  SaturationIntent: undefined,
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'grad' }
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] { light: [ 'licht', 'lampen' ],
  blind:
   [ 'rolladen',
     'rolläden',
     'jalousie',
     'jalousien',
     'rollo',
     'rollos' ] }
[Tue Jan 31 2017 21:47:57 GMT+0100 (CET)] { FHEMgutenMorgenIntent: 'gutenMorgen',
  FHEMguteNachtIntent: 'guteNacht' }



Das steht in der CFG:

define MyAlexa alexa
attr MyAlexa alexaMapping #Characteristic=<name>=<value>,...\
On=verb=schalte,valueOn=an;;ein,valueOff=aus,valueToggle=um\
\
Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
\
Hue=verb=stelle,valuePrefix=auf,values=rot:0;;grün:128;;blau:200\
Hue=verb=färbe,values=rot:0;;grün:120;;blau:220\
\
Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER\
Saturation=verb=sättige,values=AMAZON.NUMBER\
\
TargetPosition=verb=mach,articles=den,values=auf:100;;zu:0\
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
\
TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad\
\
Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
\
#Weckzeit=verb=stelle,valuePrefix=auf;;für,values=AMAZON.TIME,valueSuffix=uhr
attr MyAlexa alexaTypes #Type=<alias>[,<alias2>[,...]]\
light=licht,lampen\
blind=rolladen,rolläden,jalousie,jalousien,rollo,rollos
attr MyAlexa fhemIntents #IntentName=<sample utterance>\
gutenMorgen=guten morgen\
guteNacht=gute nacht
attr MyAlexa room Alexa



define FHEM.Alexa.Status dummy
attr FHEM.Alexa.Status room Alexa

define FHEM.Alexa dummy
attr FHEM.Alexa event-on-change-reading state
attr FHEM.Alexa room Alexa
attr FHEM.Alexa webCmd status:start:stop:restart

define FHEM.Alexa.DOIF DOIF ([FHEM.Alexa] eq "start")(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")})DOELSEIF ([FHEM.Alexa] eq "stop")(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa stop > /dev/null 2>&1 &")})DOELSEIF ([FHEM.Alexa] eq "restart")(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa restart > /dev/null 2>&1 &")})DOELSEIF ([FHEM.Alexa] eq "status")(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa status > /dev/null 2>&1 &")})
attr FHEM.Alexa.DOIF room Alexa


Habe gar keine Vorstellung wo ich da angreifen soll. Hat jemand eine Tipp ?
Odroid N2,Hauptsensoren Homematic + 1 Wire + 8Kanal Homematic auf Relay Schaltung. Forum Beiträge sind meine letzte Hoffnung nach Stundenlangen erfolglosen suchen und probieren.

bartman121

#9
Zitat
habe genau das gleiche Problem . Alexa startet unter Putty mit cd alexa-fhem und anschliessendem ./bin/alexa .


Geräte werden unter der Alex App gefunden und ich kann Sie auch steuern .

Sobald ich Putty schliesse geht nichts mehr und Alexa sagt mir auch " Dieses Befehl Funktioniert für dieses Gerät Flurlicht nicht "

Wenn Alexa nicht als Dienst sondern unter dem User läuft, dann muss man wahlweise die SSH-Session offen lassen, oder in "screen" laufen lassen


sudo apt-get install screen
screen ./bin/alexa

<Putty Schließen>
<....>

<will man später mal wieder in screen schauen, dann:>
<SSH verbinden>
screen -r


Wernieman

Alternativ: sich mit "nohup" und "&" beschäftigen. bei einem Dienst besser als screen ... as ist nur Sinfoll, wenn man mal eine (nachträgliche) Eingabe braucht.

Stichwort:
nohup Programm &
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

MadMax-FHEM

@dlehmann69
@Trebor5

Das Startscript aus dem Forum geht von folgenden Dingen aus:

- alexa-fhem ist unter: "/opt/fhem/alexa-fhem" installiert

- der user der alexa-fhem startet/starten soll heißt "pi"

- die alexa-fhem Log-Datei wird unter "/opt/fhem/log" geschrieben: dazu braucht der User "pi" dann dort auch Berechtigungen

- die config.json liegt hier: "/home/pi/.alexa/config.json"

Wenn ihr etwas anderes nutzt etc. dann müsst ihr jeweils anpassen!


Bei Trebor5 sehe ich z.B. dass mit root gestartet wird (nicht notwendig / eher nicht optimal etwas in Linux ohne Not als root zu starten)...


Was passiert bei:

sudo /etc/init.d/alexa start

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)

Trebor5

#12
HAllo

@MadMax-FHEM wenn ich als User  pi das auslöse sudo /etc/init.d/alexa start kommt

pi@raspberrypi:~ $ sudo /etc/init.d/alexa start
-su: line 0: cd: /root/alexa-fhem: Permission denied
Alexa starting
Alexa is not running
script done
script done

Wo soll ich die Pfade anpassen ?
Odroid N2,Hauptsensoren Homematic + 1 Wire + 8Kanal Homematic auf Relay Schaltung. Forum Beiträge sind meine letzte Hoffnung nach Stundenlangen erfolglosen suchen und probieren.

MadMax-FHEM

Zitat von: Trebor5 am 01 Februar 2017, 12:33:59
HAllo

@MadMax-FHEM wenn ich als User  pi das auslöse sudo /etc/init.d/alexa start kommt

pi@raspberrypi:~ $ sudo /etc/init.d/alexa start
-su: line 0: cd: /root/alexa-fhem: Permission denied
Alexa starting
Alexa is not running
script done
script done

Ist klar.
Du hast als/unter root installiert und im Startscript steht: starte als User "pi": su - "pi" -c ...
Der hat dort natürlich keine Rechte...

Diese Zeile musst du auch anpassen (den Pfad hast du ja offenbar bereits angepasst), also eigentlich da du so wie es aussieht eh "gerne" als root "arbeitest" einfach nur cd /root/alexa-fhem usw. ein "Umswitchen" auf den User "pi" brauchst du ja nicht...

Allerdings: alles als root auf einem Linux-System ist nicht wirklich schlau...
...eher sehr gefährlich...

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)

Trebor5

#14
Hallo MadMax-Fhem

würde eine Neuinstallation unter dem pi user das Problem lösen ?

Habe da gar kein Augenmerk bei der Inst. drauf gelegt.

Ich habe das Problem gelöst.

auf dem root Verzeichnis waren nur eine 700 berechtigung drauf . Geändert auf 755.  Habe jetzt mit sudo /etc/init.d/alexa start auf der Console gestartet

Alexa starting
Alexa is running PID 6219
script done
script done

In Fhem läst sich Alexa jetzt auch starten.

Vielen Dank für die Hilfe.


Odroid N2,Hauptsensoren Homematic + 1 Wire + 8Kanal Homematic auf Relay Schaltung. Forum Beiträge sind meine letzte Hoffnung nach Stundenlangen erfolglosen suchen und probieren.

MadMax-FHEM

#15
Zitat von: Trebor5 am 01 Februar 2017, 12:59:02
Hallo MadMax-Fhem

würde eine Neuinstallation unter dem pi user das Problem lösen ?

Habe da gar kein Augenmerk bei der Inst. drauf gelegt.

Kein Augenmerk drauf legen geht unter Linux eigentlich nicht.
Wenn etwas unter/als root getan wird, muss man sehr wohl "Augenmerk" drauf haben weil man muss ja erst mal root werden...


Ob es das Problem löst kann ich nicht sagen aber die Anleitungen und das Script gehen von den genannten Dingen aus:

Installation bzw. zumindest Start als User "pi" und im Verzeichnis /opt/fhem/alexa-fhem

config.json dann unter: /home/pi/.alexa

Allerdings musst du dafür sorgen, dass der User "pi" in /opt/fhem/log schreibberechtigt ist...

Ich habe unter /home/pi/alexa-fhem installiert, da passen alle Rechte.
Im Startscript dann noch die Pfade angepasst: /opt/fhem/alexa-fhem -> /home/pi/alexa-fhem und /opt/fhem/log -> /home/pi/alexa-fhem/log (oder wo immer du das Log haben willst) und nat. nicht vergessen den Pfad für die Logdatei (sollte er nicht existieren) anzulegen: mkdir /home/pi/alexa-fhem/log


Aber wenn es wirklich so ist/war, dass du ohne großes Augenmerk als/unter root installiert hast/arbeitest, dann vielleicht erst mal ein wenig mehr mit Linux etc. beschäftigen!! -> als gut gemeinten Rat verstehen...

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)

Wernieman

/root die Berechtigung 755 geben ... nicht optimal

Kannst Du nicht die Verzeichnisse verschieben?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

MadMax-FHEM

Zitat von: Wernieman am 01 Februar 2017, 16:21:37
/root die Berechtigung 755 geben ... nicht optimal

Kannst Du nicht die Verzeichnisse verschieben?

Ah jetzt habe ich gefunden worauf sich das bezieht ;)

Jep: keine gute Idee!

Also noch mal als wirklich gut gemeinten Rat: Linux-Kenntnisse aufbauen!

Ist nicht wirklich schlimm...
...und bei öfterer Anwendung (die du ja jetzzt hast ;)  ) geht das ja automatisch, wenn man nicht (wie in deinem Fall) immer gleich mit den ganz ganz großen Kanonen schießt: als root arbeiten und jeder Berechtigung auf alles...

Sorgt zwar dafür, dass "augenscheinlich" alles geht aber bei sowas geht auch ganz schnell ganz ganz ganz viel kaputt!

Aber es ist open source und open mind ;)

Jeder wie er will...

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

Wernieman

BTW:
Anfängliche Unix-Kentrnisse sind auch für Windows nützlich. Dort wird meistens dieses per GUI überdeckt .... aber Gundlagen sind nicht zu überschätzen!

BTW2:
Nur mal am Rande:
Große Windows-Server werden heute auch wieder per Kommandozeile Administriert. Also "back to the root"
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

raimundl

Ich weiß nicht ob nun alle das Problem mit dem Autostart gelöst haben?

Daher möchte ich meine Lösung (Autostart hat bei mir auch nicht funktioniert) hier kurz aufzeigen:

Ein "sleep 7" am Beginn des scripts eingefügt und es hat bei mir funktioniert.

Ich nehme an, dass fhem bei mir etwas mehr Zeit zum Start braucht und daher eine Überschneidung entstanden ist.

LG
Homematic: Licht, Heizung, Alarm, Alexa ... auf einen RaspberryPi3+mit OS "Stretch" und RPI-RF-MOD mit piVCCU3 (HMCCU), ca. 40 HM Komponenten, alexa, MobileAlerts, Hue Ledstripes....

Wernieman

Darüber wurde schon an anderer Stelle Diskutiert.

Dem Start-Script vom FHEM erzählen, das er auf andere Elemente (wie z.B. Netzwerk) warten soll.

Je nachdem, ob DU fhem per init.d oder systemd startest, wird es anders eingerichtet. Wurde aber schon mehrfach diskutiert
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

bjbrill

Ich benutze Fhem auch auf einem Ubuntu 14.05 System und hatte genau die gleichen Probleme.
Nachdem ich den User von pi auf bjorn (mein User) gewechselt hatte und dann noch einen Pfad angepasst hatte
klappte es bei mir dann auch mit dem Autostart.

export NODE_PATH=$NODE_PATH:/usr/local/lib/n

Hier einmal die ganze Autostart von mir:
#!/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
export NODE_PATH=$NODE_PATH:/usr/local/lib/n
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 - "bjorn" -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


Also bei mir hatte es geholfen.

Schöne Grüße Björn
Ubuntu-Server, Dect200, Jeelink, Unifi, ESP32, Alexa, Tasmota, zigbee2mqtt, OpenDTU.

hyper2910

Hallo,

ich komme einfach nicht weiter. Ich habe schon alles versucht.

./bin/alexa start
geht nicht.

ich mache es immer mit alexa start

jedoch kommt immer folgendes:

alexa start
Alexa starting
Alexa is not running
script done
script done


ich habe schon alles durch.

installiert habe ich unter User: pi

ich kann Starten unter Pi oder Root immer das gleiche.


kann mir jemand weiterhelfen?

Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

MadMax-FHEM

Zitat von: hyper2910 am 21 April 2017, 15:05:03

./bin/alexa start
geht nicht.

Klar, dass das nicht geht!

Entweder:

./bin/alexa

unter dem User der gedacht ist alexa-fhem zu starten (weil sonst die config.json nicht gefunden wird) und zwar wenn "man" im Installationsverzeichnis "steht"...
Also vielleicht mal so probieren...

Oder:

sudo /etc/init.d/alexa start

(sofern man init.d zum automatischen Starten nimmt)



Zitat von: hyper2910 am 21 April 2017, 15:05:03
ich mache es immer mit alexa start

jedoch kommt immer folgendes:

alexa start
Alexa starting
Alexa is not running
script done
script done


ich habe schon alles durch.

installiert habe ich unter User: pi

ich kann Starten unter Pi oder Root immer das gleiche.


kann mir jemand weiterhelfen?

Ich nehme mal an hier meinst du dann Variante "Oder" ;)

Wird ein alexa-fhem Log angelegt?
(wo steht im Script: /etc/init.d/alexa)

Wenn ja: was steht drin?

Wohin hast du alexa-fhem installiert?
Also Pfad.
Wo liegt die config.json?
Also auch Pfad... ;)

Welcher User soll denn alexa-fhem starten?
Also was steht im Script (/etc/init.d/alexa)?
Wenn du das Script einfach ohne Änderungen genommen hast, dann ist das wohl der User pi...


Zitat von: hyper2910 am 21 April 2017, 15:05:03
ich habe schon alles durch.

installiert habe ich unter User: pi

ich kann Starten unter Pi oder Root immer das gleiche.


kann mir jemand weiterhelfen?

Sehr aussagekräftige Informationen!
Bestimmt findet sich da leicht Hilfe ;)

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)

hyper2910

Hallo Joachim,

vielen Dank.

ier mal die Infos, ich bin Schritt für Schritt der Anleitung gefolgt.

Wird ein alexa-fhem Log angelegt?
(wo steht im Script: /etc/init.d/alexa)
ja  ein Log wird angelegt! in /opt/fhem/log
Wenn ja: was steht drin?

ein eintrag:
/usr/bin/env: node: No such file or directory

Wohin hast du alexa-fhem installiert?

/opt/fhem/alexa-fhem

Wo liegt die config.json?

Home/pi/.alexa/


Welcher User soll denn alexa-fhem starten?
pi

Also was steht im Script (/etc/init.d/alexa)?
#!/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
GNU nano 2.2.6 File: alxa GNU nano 2.2.6 File: alexa
#!/bin/sh
### BEGIN INIT INFO
# Provides: alexa
# Required-Start: $network $remote_fs $syslog
GNU nano 2.2.6 File: alexa
#!/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"


Wenn du das Script einfach ohne Änderungen genommen hast, dann ist das wohl der User pi...
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

MadMax-FHEM

Was kommt bei:

./bin/alexa

Wenn du als User pi im Verzeichnis /opt/fhem/alexa-fhem/ "stehst"...


Was kommt bei:

node -v

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)

hyper2910

Hi,


mit ./bin/alexa

kommt
/usr/bin/env: node no such file or directory


node command not found


Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

MadMax-FHEM

Tja, dann ist wohl node nicht (richtig) installiert...
...und ohne das läuft alexa-fhem eben nicht.

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)

hyper2910

ok, wie installiere ich die node denn richtig?
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

MadMax-FHEM

Steht im Wiki...

Welches System überhaupt?

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)

hyper2910

Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

MadMax-FHEM

Wenn der Wiki (der zugegebenermaßen für PI [und Jessie] ist) nicht weiterhilft, dann wohl eher mal in einem passenden Forum für die Plattform...
...oder google...

...oder hoffen, dass jemand der davon Ahnung hat und weiterhelfen kann hier drüber "stolpert"...

Wenn node in der passenden Version (die steht im Wiki) läuft, also node -v die richtige Version liefert und es dann immer noch nicht geht, dann gerne hier weiter...

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)

hyper2910

ok, danke

jetzt lauft schonmal node

hiermit hat er alles deinstalliert und nochmals instaliert

wget -O - https://deb.nodesource.com/setup_4.x|sudo bash

Aus dem Wiki, hat er immer nur gesagt alles neu da.
https://wiki.fhem.de/wiki/Homebridge_einrichten#NodeJS_installieren

wenn ich jetzt starte kommt, eine andere Meldung
da mache ich aber morgen weiter und meĺde mich nochmals

Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

MadMax-FHEM

Na dann...

...geht klar.

Bis denn, 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)

hyper2910

so, hatte doch keine ruhe


folgendes:
pi@cubietruck:~$ sudo /etc/init.d/alexa start
Alexa starting
Alexa is running PID 4050
script done
script done
pi@cubietruck:~$



aber bei
pi@cubietruck:~$ cd /opt/fhem/alexa-fhem
pi@cubietruck:/opt/fhem/alexa-fhem$ ./bin/alexa start
[4/21/2017, 11:40:59 PM] using /home/pi/.alexa/config.json
[4/21/2017, 11:41:00 PM] There was a problem reading your config.json file.
[4/21/2017, 11:41:00 PM] Please try pasting your config.json file here to validate it: http://jsonlint.com
[4/21/2017, 11:41:00 PM]
/opt/fhem/alexa-fhem/lib/server.js:59
throw err;
^

SyntaxError: Unexpected string
at Object.parse (native)
at Server._loadConfig (/opt/fhem/alexa-fhem/lib/server.js:53:19)
at new Server (/opt/fhem/alexa-fhem/lib/server.js:26:23)
at module.exports (/opt/fhem/alexa-fhem/lib/cli.js:17:16)
at Object. (/opt/fhem/alexa-fhem/bin/alexa:17:22)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
pi@cubietruck:/opt/fhem/alexa-fhem$
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

MadMax-FHEM

Noch mal:

es gibt nur die Möglichkeit:

sudo /etc/init.d/alexa start

ODER:

im Verzeichnis /opt/fhem/alexa-fhem

./bin/alexa

OHNE start!

Ersteres scheint ja zu klappen!?
Und das ist das eigentlich entscheidende, da das (hoffentlich auch auf CubieTruck und Wheezy) alexa-fhem beim (Re)Booten starten sollte und auch so per DOIF/Dummy aus fhem heraus gestartet wird.

Die "manuelle" Variante sollte dann allerdings eigentlich auch gehen, da diese ja vom Startscript genutzt wird...
...und wird eher genutzt, solange man noch testet, da dann alle Ausgaben direkt auf der Console zu sehen sind und nicht im Log "gesucht" werden müssen...

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)

hyper2910

#36
soweit scheint alles zu laufen

der service scheint zu laufen, nur der auf der Console kommt immer dieser fehler<.


pi@cubietruck:/opt/fhem/alexa-fhem$ ./bin/alexa
[4/22/2017, 6:35:42 PM] using /home/pi/.alexa/config.json
[4/22/2017, 6:35:42 PM] There was a problem reading your config.json file.
[4/22/2017, 6:35:42 PM] Please try pasting your config.json file here to validate it: http://jsonlint.com
[4/22/2017, 6:35:42 PM]
/opt/fhem/alexa-fhem/lib/server.js:59
throw err;
^

SyntaxError: Unexpected string
at Object.parse (native)
at Server._loadConfig (/opt/fhem/alexa-fhem/lib/server.js:53:19)
at new Server (/opt/fhem/alexa-fhem/lib/server.js:26:23)
at module.exports (/opt/fhem/alexa-fhem/lib/cli.js:17:16)
at Object. (/opt/fhem/alexa-fhem/bin/alexa:17:22)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
pi@cubietruck:/opt/fhem/alexa-fhem$



Der Skill ist aktiviert und jedoch werden keine Geräte gefunden, leider steht nichts im Log.


Hat jemand eine idee wie ich weitermachen kann?



hier mal die Config

{
    "alexa-FHEM": {
        "port": 3000,
        "name": "Alexa",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "applicationId": "amzn1.ask.skill.8e41a-ed1f-4b00-a1ab-9dfc1a2e",
        "oauthClientID": "amzn1.application-oa2-client.cca2xxxxccxx83b8cfa4f4d861"
    },

    "connections": [
        {
            "name": "FHEM",
            "server": "127.0.0.1",
            "port": "8083",
            "filter": "room=alexa"
            "auth": {"user": "xxxxx", "pass": "xxxxx"},
        }
    ]
}



Die Node version  ist 4.8.2
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

MadMax-FHEM

#37
Woher weißt du, dass der Service zu laufen scheint?

Wenn er laufen würde, dann würde auch etwas im Log stehen und zwar im alexa-fhem Log...

Wenn da nichts drin steht, dann läuft er auch nicht bzw. nicht sauber.

Und wenn ich ehrlich bin würde es mich wundern, wenn es laufen würde weil normalerweise würde dann die gleiche config.json verwendet werden...
...und die scheint ja nicht zu passen.

Ich denke hinter dem Filter-Eintrag muss noch ein komma!?
Bzw. der im Wiki angegebene Eintrag bzgl. user/passwort (wobei wo liegt der Sinn user/passwort und dann ohne https?) gleich nach z.B. dem Eintrag für Port:


    "connections": [
        {
            "name": "FHEM",
            "server": "127.0.0.1",
            "port": "8083",
            "auth": {"user": "xxxxx", "pass": "xxxxx"},
            "filter": "room=alexa"
        }
    ]


Im Log könnte man sehen, ob alexa-fhem zumindest schon mal Geräte findet.

Poste doch mal ein list eines Gerätes welches alexa-fhem/Alexa deiner Meinung nach finden sollte...

Und wie bereits öfter erwähnt würde ich die oauthclient-id und app-id unkenntlich machen, da sind die "secret identifier" deiner "Zugangsdaten" zu den Skills...

Was passiert, wenn du in Lambda auf den Test-Knopf drückst?
Da sollte "ok" (oder sowas) kommen...
(eine etwaige korrespondierende Fehlermeldung im Log kann ignoriert werden, das ist nur weil der Testaufruf "Quatsch" sendet womit alexa-fhem nichts anfangen kann)

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)

hyper2910

Im Lamba kommt eine Fehlermeldung


errorMessage": "RequestId: 2e2fe5f6-2799-11e7-xxxx-xxxxxxxxx Process exited before completing request"


Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

MadMax-FHEM

Dann läuft entweder alexa-fhem nicht oder ist von außen nicht erreichbar...

Und die anderen Punkte/Fragen?

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)

hyper2910

List eines Gerätes
welches gefunden werden sollte

Internals:
   DEF        4ceed6
   FD         82
   IP
   Id         4ceed6
   LASTSTATE  off
   MAC        AC:CF:23:4C:EE:D6
   NAME       Lader
   NR         1029
   PORT
   SNAME      GHoma
   STATE      off
   TYPE       GHoma
   Readings:
     2017-04-22 19:57:13   source          remote
     2017-04-22 19:57:13   state           off
Attributes:
   room       alexa,2.00 Wohnzimmer




im Alexa-fhem log, steht nur die Fehlermeldung.


das config habe ich dann mal geädnert

    "connections": [
        {
            "name": "FHEM",
            "server": "192.168.178.44",
            "port": "8088",
            "filter": "room=alexa",

        }
    ]
}



Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

hyper2910

Habe gerade mal als root gestartet

root@cubietruck:/opt/fhem/alexa-fhem# ./bin/alexa
[4/22/2017, 11:17:06 PM] using /root/.alexa/config.json
[4/22/2017, 11:17:06 PM] ---
[4/22/2017, 11:17:06 PM] this is alexa-fhem 0.3.3
[4/22/2017, 11:17:06 PM] Trying NAT-PMP ...
[4/22/2017, 11:17:07 PM] Fetching FHEM devices...
[4/22/2017, 11:17:07 PM] [FHEM] starting longpoll: http://192.168.178.44:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1492895827167
[4/22/2017, 11:17:07 PM] Server listening on: https://:::3000
/opt/fhem/alexa-fhem/lib/server.js:137
      if (err) throw err;
               ^

Error: "vers" must be 0. Got: 2
    at Client.onmessage (/opt/fhem/alexa-fhem/node_modules/nat-pmp/index.js:301:8)
    at Socket.<anonymous> (/opt/fhem/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)
root@cubietruck:/opt/fhem/alexa-fhem#

Da läuft es scheinbar etwas weiter
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

MadMax-FHEM

Jetzt ist die config.json doch wieder falsch, soweit ich es im Kopf habe gehört ans Ende kein Komma...

Und wenn du User/Passwort für den fhem-Zugang vergeben hast, dann muss das nat. in der Config eingetragen sein...
...oder hast du das rausgenommen?

Es liegt alexa-fhem doch eine Beispiel Config bei.
Wie wäre es die einfach an dein System anzupassen...
...dann würde sie auch eingelesen werden können...

Oder wenigstens wie im Wiki...

Solange die Config fehlerhaft ist wird das nichts werden...

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

Aber wie du siehst nimmt er dann eine andere config.json...

Nimm mal die Einträge bzgl. nat/pnp raus...
Siehe auch Wiki Troubleshooting...

Und dann entscheide wie (welcher User) mit welcher Config alexa-fhem jetzt dann laufen soll...

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)

hyper2910

Habe es gerade gesehen

Jetzt bekomme ich einen longpoll Fehler

8088",
            "webname": "fhem",                                                                                                                                                                                                                                                         [ Wrote 20 lines ]                                                                                       
root@cubietruck:~/.alexa# cd /opt/fhem/alexa-fhem
root@cubietruck:/opt/fhem/alexa-fhem# ./bin/alexa
[4/22/2017, 11:36:27 PM] using /root/.alexa/config.json
[4/22/2017, 11:36:27 PM] ---
[4/22/2017, 11:36:27 PM] this is alexa-fhem 0.3.3
[4/22/2017, 11:36:27 PM] Fetching FHEM devices...
[4/22/2017, 11:36:27 PM] [FHEM] starting longpoll: http://192.168.178.44:8088/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1492896987622
[4/22/2017, 11:36:27 PM] Server listening on: https://:::3000
[4/22/2017, 11:36:27 PM] [FHEM] longpoll error: Error: socket hang up, retry in: 5000msec
[4/22/2017, 11:36:32 PM] [FHEM] starting longpoll: http://192.168.178.44:8088/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1492896992912
[4/22/2017, 11:36:32 PM] [FHEM] longpoll error: Error: socket hang up, retry in: 10000msec
[4/22/2017, 11:36:42 PM] [FHEM] starting longpoll: http://192.168.178.44:8088/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1492897002998
[4/22/2017, 11:36:43 PM] [FHEM] longpoll error: Error: read ECONNRESET, retry in: 15000msec
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

hyper2910

Danke, habe es, morgen geht's weiter aber Geräte werden gefunden
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

der-sascha

Hallo,

kannst Du mir sagen, wie Du den longpool error behoben hast? Ich bekomme leider den gleichen Fehler angezeigt.

Viele Dank
Sascha

Gigafix

#47
Hallo der-sascha

Ich hatte auch einen longpoll Fehler. Bei mir war die Lösung, das ich den gesetzten Webnamen im FHEMWEB wieder entfernt habe, so das die Website wieder unter https://IP-Adresse:Port/fhem erreichbar war. Dann ging es.

Viele Grüße sendet
Gigafix

Edit: Die Website ist mit gesetztem Webnamen natürlich auch unter https://IP-Adresse:Port/fhem erreichbar, meldet sich dann aber mit dem gesetzten Webnamen in der Form https://IP-Adresse:Port/Webname zurück, was dann zu dem longpoll - Fehler bei mir führte.
VM Synology DS918 | CubieTruck |2x HMLAN | HMUSB | 3x HMWLAN | CCU2 | MAX-Cube | nanoCUL | ZWDongle |

nadine.schneeloch@gmx.de

Hallo,

bei mir hat bis vor einigen Tagen alles funktioniert. Jetzt bekomme ich auch den Longpool Error. Ich habe als Webname in der config.json "fhem" stehen. Gibt es noch eine andere Möglichkeit, woran es liegen könnte?

Vielen Dank
Nadine