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

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

Vorheriges Thema - Nächstes Thema

Absolute Beginner

Hallo Joachim, ich bin leider Linux-Anfänger und verstehe vieles nicht, was für Dich selbstverständlich ist. Ich bin Schritt für Schritt nach der Anleitung im Wiki vorgegangen. Mit Deiner Hilfe konnte ich ja letztendlich mit ./bin/alexa den Dienst starten und alle Zusammenhänge von Amazon, AWS Lambda und FHEM verifizieren. Der nächste Schritt war da ja, Alexa-FHEM aus FHEM heraus starten zu können. Das Startscript

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


habe ich gemäß Wiki unter /etc/init.d/alexa abgespeichert und folgendes ausgeführt:
sudo chmod 755 /etc/init.d/alexa
sudo update-rc.d alexa defaults

danach die Datei sudoers um die Zeile
fhem ALL=(ALL) NOPASSWD: ALL

ergänzt und die drei Devices angelegt. Das funktioniert ja auch soweit korrekt - nur das die Dummys nicht das anzeigen, was gerade passiert - die Statusmeldung vom Dummy FHEM.Status.dummy besteht immer nur aus drei Fragezeichen. Ich habe gegenüber dem Text aus dem Wiki keinerlei Veränderungen durchgeführt. Ändert der dummy FHEM.Alexa seinen Status, wenn du alexa-fhem aus fhem heraus (nach)startest? Ja, er zeigt eine leuchtende Glühbirne (das 'läuft-Symbol), wenn ich start, stop oder restart drücke. Das DOIF zeigt immer genau den Zustand an (cmd1-4).

Weil ich wollte, das Alexa bei einem reboot automatisch startet, habe ich den im Wiki stehenden Block "Alexa-Fhem als Service installieren" befolgt. In der Datei /etc/default/alexa habe ich den Ort der config.json-Datei editiert (nun: /home/pi/.alexa). Aber vielleicht hätte ich genau diesen Schritt überhaupt nicht machen sollen.

Starte ich wie folgt:

pi@raspberrypi: $ sudo /etc/init.d/alexa start
Alexa starting
Alexa is running PID 843
script done
script done


erfolgt auch keine Passwort-Abfrage und es wird selbstverständlich auch ein Log erzeugt.
(Starte ich ohne sudo und es kommt eine Passwort-Abfrage - wenn die nicht beantwortet wird läuft das Script nicht durch und alexa-fhem startet nicht. Dann wird auch kein log geschrieben)






Raspberry Pi 3 - CUL868 - Jessie - FHEM5.8 - MQTT - Node-RED
HM-TC-IT-WM-W-EU, HM-LC-BI1PBU-FM, HM-Sec-SCo, HM-WDS30-0T2-SM, SOMFY, Echo, ESP, SonOff

MadMax-FHEM

Bei dem geposteten Script fehlt ja mehr als die Hälfte!

Lösche doch mal das Alexa-Log (dann ist es leichter die Ausgaben nur eines Starts zu posten), starte alexa-fhem mal per:

sudo /etc/init.d/alexa start

Poste den Inhalt des Alexa-Log.

Und dann starte mal von fhem heraus und poste ebenso den Inhalt der Alexa-Log Datei.

Nur um zu sehen, welches config.json (jeweils) verwendet wird...


Normalerweise sollten beide dummy den Status ändern.
Der dummy FHEM.Alexa sollte am Ende des Start-(Stop-, Statusabfrage-, Restart-)Vorgangs wieder eine Glühbirne im Zustand "aus" haben.
Das "an" kommt durch das Drücken des "Knopfes", danach wird im Script der Zustand wieder zurückgeschaltet (also sollte) damit das DOIF "weiterschaltet".

D.h. wenn du alexa-fhem per fhem startest (sollte es tatsächlich dann laufen) kannst du es vermutlich so nicht mehr ausschalten bzw. neustarten...
...da das DOIF "fest steckt".


So wenn du das komplette Script gepostet hast und die beiden Logeinträge, dann kümmern wir uns mal (schon mal vorab) um die Statusanzeige.

Was passiert, wenn du folgendes ausführst:

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

Fehlerausgaben?
Wenn ja (würde ich erwarten), dann bitte posten, eh klar... ;)

Ist ein Unterschied zu:

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

Hast du einen Telnet Port bei fhem aktiv?
Sollte beim fhem Start in der fhem Logdatei stehen bzw. unter "Everything" (Alles auf Deutsch?) ein telnetPort zu finden sein.
Ist einer vorhanden?
Ist dort der Port 7072 eingestellt?

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)

Absolute Beginner

sorry, das war ein Kopierfehler - das Startscript ist schon vollständig vorhanden!

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




so, jetzt Start nach 'sudo /etc/init.d/alexa start':

[2017-4-3 20:19:05] using /home/pi/.alexa/config.json
[2017-4-3 20:19:05] ---
[2017-4-3 20:19:05] this alexa-fhem 0.3.0
[2017-4-3 20:19:05] Fetching FHEM devices...
[2017-4-3 20:19:05] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1491243545673
[2017-4-3 20:19:05] Server listening on: https://:::3000
[2017-4-3 20:19:05] [FHEM] Checking devices and attributes...
[2017-4-3 20:19:05] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&fwcsrf=csrf_165129335391352&XHR=1
[2017-4-3 20:19:05] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE=alexa&fwcsrf=csrf_165129335391352&XHR=1
[2017-4-3 20:19:05] [FHEM] Fetching FHEM devices...
[2017-4-3 20:19:05] [FHEM] fetching: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20room=AlexaRoom&fwcsrf=csrf_165129335391352&XHR=1
[2017-4-3 20:19:05] [FHEM] alexa device is MyAlexa
[2017-4-3 20:19:05] [FHEM] MyAlexa is switch
[2017-4-3 20:19:05] [FHEM] MyAlexa has
[2017-4-3 20:19:05] [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;die,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
[2017-4-3 20:19:05] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%201%7D&fwcsrf=csrf_165129335391352&XHR=1
[2017-4-3 20:19:05] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20=%20%220.3.0%22%7D&fwcsrf=csrf_165129335391352&XHR=1
[2017-4-3 20:19:05] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%200%7D&fwcsrf=csrf_165129335391352&XHR=1
[2017-4-3 20:19:05] perfectOfVerb:
[2017-4-3 20:19:05] { stelle: 'gestellt',
  schalte: 'geschaltet',
  'färbe': 'gefärbt',
  mach: 'gemacht' }
[2017-4-3 20:19:05] [ OnIntent: [ 'schalte' ],
  prozentIntent: [ 'stelle' ],
  HueIntent: [ 'stelle' ],
  HueIntentB: [ 'färbe' ],
  SaturationIntent: [ 'stelle' ],
  SaturationIntentB: [ 'sättige' ],
  TargetPositionIntent: [ 'mach' ],
  gradIntent: [ 'stelle' ] ]
[2017-4-3 20:19:05] { OnIntent: [ 'On' ],
  prozentIntent: [ 'Brightness', 'TargetPosition', 'Volume' ],
  HueIntent: [ 'Hue' ],
  HueIntentB: [ 'Hue' ],
  SaturationIntent: [ 'Saturation' ],
  SaturationIntentB: [ 'Saturation' ],
  TargetPositionIntent: [ 'TargetPosition' ],
  gradIntent: [ 'TargetTemperature' ] }
[2017-4-3 20:19:05] { OnIntent: undefined,
  prozentIntent: 'auf',
  HueIntent: 'auf',
  HueIntentB: undefined,
  SaturationIntent: 'auf',
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'auf' }
[2017-4-3 20:19:05] { OnIntent: undefined,
  prozentIntent: 'prozent',
  HueIntent: undefined,
  HueIntentB: undefined,
  SaturationIntent: undefined,
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'grad' }
[2017-4-3 20:19:05] alexaTypes:
[2017-4-3 20:19:05] { light: [ 'licht', 'lampen' ],
  blind:
   [ 'rolladen',
     'rolläden',
     'jalousie',
     'jalousien',
     'rollo',
     'rollos' ] }
[2017-4-3 20:19:05] fhemIntents:
[2017-4-3 20:19:05] { FHEMgutenMorgenIntent: 'gutenMorgen',
  FHEMguteNachtIntent: 'guteNacht' }
[2017-4-3 20:19:06] [FHEM] got: 4 results
[2017-4-3 20:19:06] [FHEM] AZ_Licht1 is Switch
[2017-4-3 20:19:06] [FHEM] AZ_Licht1 has
[2017-4-3 20:19:06] [FHEM]   On [state;on,off]
  2017-04-03 20:19:06 caching: AZ_Licht1-state: off
[2017-4-3 20:19:06] [FHEM] Alexa.Party is switch
[2017-4-3 20:19:06] [FHEM] Alexa.Party has
[2017-4-3 20:19:06] [FHEM]   On [state;on,off]
  2017-04-03 20:19:06 caching: Alexa.Party-state: on
[2017-4-3 20:19:06] [FHEM] TestDummy is switch
[2017-4-3 20:19:06] [FHEM] TestDummy has
[2017-4-3 20:19:06] [FHEM]   On [state;on,off]
  2017-04-03 20:19:06 caching: TestDummy-state: off
[2017-4-3 20:19:06] [FHEM] WZ_Licht1 is switch
[2017-4-3 20:19:06] [FHEM] WZ_Licht1 has
[2017-4-3 20:19:06] [FHEM]   On [state;on,off]
  2017-04-03 20:19:06 caching: WZ_Licht1-state: off



Start nun aus FHEM heraus:


[2017-4-3 20:23:06] using /home/pi/.alexa/config.json
[2017-4-3 20:23:06] ---
[2017-4-3 20:23:06] this alexa-fhem 0.3.0
[2017-4-3 20:23:06] Fetching FHEM devices...
[2017-4-3 20:23:06] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1491243786669
[2017-4-3 20:23:06] Server listening on: https://:::3000
[2017-4-3 20:23:06] [FHEM] Checking devices and attributes...
[2017-4-3 20:23:06] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&fwcsrf=csrf_165129335391352&XHR=1
[2017-4-3 20:23:06] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE=alexa&fwcsrf=csrf_165129335391352&XHR=1
[2017-4-3 20:23:06] [FHEM] Fetching FHEM devices...
[2017-4-3 20:23:06] [FHEM] fetching: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20room=AlexaRoom&fwcsrf=csrf_165129335391352&XHR=1
[2017-4-3 20:23:06] [FHEM] alexa device is MyAlexa
[2017-4-3 20:23:06] [FHEM] MyAlexa is switch
[2017-4-3 20:23:06] [FHEM] MyAlexa has
[2017-4-3 20:23:06] [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;die,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
[2017-4-3 20:23:06] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%201%7D&fwcsrf=csrf_165129335391352&XHR=1
[2017-4-3 20:23:06] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20=%20%220.3.0%22%7D&fwcsrf=csrf_165129335391352&XHR=1
[2017-4-3 20:23:06] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%200%7D&fwcsrf=csrf_165129335391352&XHR=1
[2017-4-3 20:23:06] perfectOfVerb:
[2017-4-3 20:23:06] { stelle: 'gestellt',
  schalte: 'geschaltet',
  'färbe': 'gefärbt',
  mach: 'gemacht' }
[2017-4-3 20:23:06] [ OnIntent: [ 'schalte' ],
  prozentIntent: [ 'stelle' ],
  HueIntent: [ 'stelle' ],
  HueIntentB: [ 'färbe' ],
  SaturationIntent: [ 'stelle' ],
  SaturationIntentB: [ 'sättige' ],
  TargetPositionIntent: [ 'mach' ],
  gradIntent: [ 'stelle' ] ]
[2017-4-3 20:23:06] { OnIntent: [ 'On' ],
  prozentIntent: [ 'Brightness', 'TargetPosition', 'Volume' ],
  HueIntent: [ 'Hue' ],
  HueIntentB: [ 'Hue' ],
  SaturationIntent: [ 'Saturation' ],
  SaturationIntentB: [ 'Saturation' ],
  TargetPositionIntent: [ 'TargetPosition' ],
  gradIntent: [ 'TargetTemperature' ] }
[2017-4-3 20:23:06] { OnIntent: undefined,
  prozentIntent: 'auf',
  HueIntent: 'auf',
  HueIntentB: undefined,
  SaturationIntent: 'auf',
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'auf' }
[2017-4-3 20:23:06] { OnIntent: undefined,
  prozentIntent: 'prozent',
  HueIntent: undefined,
  HueIntentB: undefined,
  SaturationIntent: undefined,
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'grad' }
[2017-4-3 20:23:06] alexaTypes:
[2017-4-3 20:23:06] { light: [ 'licht', 'lampen' ],
  blind:
   [ 'rolladen',
     'rolläden',
     'jalousie',
     'jalousien',
     'rollo',
     'rollos' ] }
[2017-4-3 20:23:06] fhemIntents:
[2017-4-3 20:23:06] { FHEMgutenMorgenIntent: 'gutenMorgen',
  FHEMguteNachtIntent: 'guteNacht' }
[2017-4-3 20:23:07] [FHEM] got: 4 results
[2017-4-3 20:23:07] [FHEM] AZ_Licht1 is Switch
[2017-4-3 20:23:07] [FHEM] AZ_Licht1 has
[2017-4-3 20:23:07] [FHEM]   On [state;on,off]
  2017-04-03 20:23:07 caching: AZ_Licht1-state: off
[2017-4-3 20:23:07] [FHEM] Alexa.Party is switch
[2017-4-3 20:23:07] [FHEM] Alexa.Party has
[2017-4-3 20:23:07] [FHEM]   On [state;on,off]
  2017-04-03 20:23:07 caching: Alexa.Party-state: on
[2017-4-3 20:23:07] [FHEM] TestDummy is switch
[2017-4-3 20:23:07] [FHEM] TestDummy has
[2017-4-3 20:23:07] [FHEM]   On [state;on,off]
  2017-04-03 20:23:07 caching: TestDummy-state: off
[2017-4-3 20:23:07] [FHEM] WZ_Licht1 is switch
[2017-4-3 20:23:07] [FHEM] WZ_Licht1 has
[2017-4-3 20:23:07] [FHEM]   On [state;on,off]
  2017-04-03 20:23:07 caching: WZ_Licht1-state: off


Ich habe beide set-Befehle (mal mit, mal ohne Sudo) bei laufendem Alexa-Fhem ausgeführt - es kommen keine Fehlermeldungen!

Ja, und der Telnet-Port 7072 ist aktiv.
Raspberry Pi 3 - CUL868 - Jessie - FHEM5.8 - MQTT - Node-RED
HM-TC-IT-WM-W-EU, HM-LC-BI1PBU-FM, HM-Sec-SCo, HM-WDS30-0T2-SM, SOMFY, Echo, ESP, SonOff

MadMax-FHEM

Also alexa-fhem wird (soll) als User pi gestartet werden.

Der Eintrag des Users fhem war somit (zumindest hierfür) unnötig...
...sollte aber auch nicht schaden...

Hmm, keine Fehler...

Ändert sich der Status des dummy, wenn du die set Befehle ausführst?


Kannst du alexa-fhem stoppen, wenn du es per fhem gestartet hast?
Sollte nicht gehen...

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)

Absolute Beginner

Am Status irgend eines Dummys ändert sich nichts, wenn ich die set-Befehle ausführe.

Ja, ich kann alexa-fhem stoppen, wenn ich es per fhem gestartet habe. Ich stoppe alexa durch den Befehl 'sudo killall alexa' in der Konsole. Im Log steht "Got SIGTERM, shutting down alexa-fhem...".
Raspberry Pi 3 - CUL868 - Jessie - FHEM5.8 - MQTT - Node-RED
HM-TC-IT-WM-W-EU, HM-LC-BI1PBU-FM, HM-Sec-SCo, HM-WDS30-0T2-SM, SOMFY, Echo, ESP, SonOff

MadMax-FHEM

Zitat von: Absolute Beginner am 03 April 2017, 21:02:34
Am Status irgend eines Dummys ändert sich nichts, wenn ich die set-Befehle ausführe.

Ja, ich kann alexa-fhem stoppen, wenn ich es per fhem gestartet habe. Ich stoppe alexa durch den Befehl 'sudo killall alexa' in der Konsole. Im Log steht "Got SIGTERM, shutting down alexa-fhem...".

So wieder verwirrung:

mit starten aus fhem meinte ich über das DOIF/Dummy.
Wenn du von starten per fhem sprichst was meinst du dann/machst du dann?

Das was du machst ist nicht wirklich stoppen, sondern eben (wie der Name sagt) killen, also aus dem Leben reißen...
Wo gibst du das ein?
Im fhem-Web oder auf der Linux-Console?

EDIT: wenn ich von stoppen aus fhem spreche, dann meine ich erneut das DOIF/Dummy...

EDIT2: dazu sind der DOIF/Dummy ja da...

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)

Absolute Beginner

Ich wollte vermeiden, dass irgend ein Prozess da noch aktiv ist. Wenn ich jetzt also über den Dummy alexa-fhem starte und kurze Zeit später genauso wieder stoppe, wird im DOIF cmd_1 und cmd_2 angezeigt, sonst ändert sich an den Dummy-Anzeigen nichts. Das Logfile zeigt den Start von Alexa-fhem und auch das Abschalten an.
Raspberry Pi 3 - CUL868 - Jessie - FHEM5.8 - MQTT - Node-RED
HM-TC-IT-WM-W-EU, HM-LC-BI1PBU-FM, HM-Sec-SCo, HM-WDS30-0T2-SM, SOMFY, Echo, ESP, SonOff

MadMax-FHEM

So, dann wäre noch interessant ein list des DOIF und der beiden dummy zu haben, dann haben wir alles beeinander... ;)

Weil wenn die "Lampe" des Dummy nicht von eingeschaltet wieder auf ausgeschaltet geht (und das sollte durch das Script geschehen), dann dürfte das DOIF gar nicht mehr weiterschalten...

Und dann können wir mal schauen was noch wie zum Laufen zu bekommen ist, nachdem ein automatischer Start beim Booten ja so gar nicht will...

Was dann halt noch geht/gehen sollte ist ja das bereits genannte notify auf global:INITIALIZED und damit dann alexa-fhem nach/beim Starten von fhem (was ja hoffentlich automatisch startet) zu starten.
Wie gesagt ohne fhem kann ja auch alexa-fhem nicht wirklich starten/laufen.

Allerdings scheint bei dir einiges durcheinander zu sein...
...bliebe zu überlegen, ein neues System aufzusetzen und sich dann vorher für eine Variante zu entscheiden und diese dann sauber durchzuziehen.

EDIT: sollte dir das mit dem notify etc. nicht gefallen.


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)

Absolute Beginner

#1418
Neuaufsetzen das Systems... ein Horrorgedanke. Das wäre dann das dritte Mal (zuletzt hatte ich mich beim Editieren von Sudoers ausgesperrt...).

Hier mein list (meintest Du das so):

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

define FHEM.Alexa dummy
attr FHEM.Alexa event-on-change-reading state
attr FHEM.Alexa room AlexaControl
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 AlexaControl



Device                        FHEM.Alexa                                                                                    2017-04-03 21:16:59
cmd                            2                                                                                                    2017-04-03 21:16:59
cmd_event                 FHEM.Alexa                                                                                    2017-04-03 21:16:59
cmd_nr                       2                                                                                                    2017-04-03 21:16:59
e_FHEM.Alexa_STATE stop                                                                                               2017-04-03 21:16:59
error                           {system ("sudo /etc/init.d/alexa stop > /dev/null 2>&1 &")}: -1  2017-04-03 21:16:59
state                          cmd_2                                                                                            2017-04-03 21:16:59


Bei den beiden Dummys kann ich im Auswahlfeld 'set' nichts auswählen - alles blank.

FHEM.Alexa:

NAME   FHEM.Alexa
NR        234
STATE   on
TYPE     dummy


Notify: da kenne ich mich leider nicht aus. Ich würde mich mit manuellem Start behelfen.
Raspberry Pi 3 - CUL868 - Jessie - FHEM5.8 - MQTT - Node-RED
HM-TC-IT-WM-W-EU, HM-LC-BI1PBU-FM, HM-Sec-SCo, HM-WDS30-0T2-SM, SOMFY, Echo, ESP, SonOff

MadMax-FHEM

Naja, nicht ganz aber was ich sehen wollte hab ich gefunden ;)

Ein list geht wie folgt:

list <GERÄTENAME>

EDIT: also natürlich statt <GERÄTENAME> den tatsächlichen Namen des "Gerätes"... ;)

im fhem Web-Cmd-Fenster eintippen 'Enter' und das was dann kommt einfach kopieren und dann hier Posten ;)


Also gut, wenn ein Neuaufsetzen eher nicht in Frage kommt und es so nicht geht, obwohl eigentlich alles was wir bis jetzt durch haben eigentlich passt/passen müsste gibt es wie gesagt noch den genannten notify:

define nStartAlexa notify global:INITIALIZED set FHEM.Alexa start

Damit sollte eigentlich alexa-fhem beim/nach dem Start von fhem gestartet werden...

EDIT4: vorausgesetzt, dass alexa-fhem tatsächlich startet, wenn du auf den "start-Knopf" des Dummy drückst ;)

EDIT2: evtl. statt dem start ein restart, dann wird alexa-fhem normalerweise vorher (versucht zu) gestoppt (sollte es laufen) und dann gestartet... Denn bei start kommt wohl wieder ein Fehler, wenn alexa-fhem evtl. doch schon läuft... Vielleicht mal probieren was besser geht/dir besser gefällt...

EDIT3: eine gute Lösung ist das allerdings nicht, da ich ein ungutes Gefühl hätte, wenn ein System nicht wie erwartet tut und ich weiß/schwer vermute, dass etwas nicht richtig gut läuft... Wer weiß was sich dann als nächstes "komisch" verhält... Aber jeder sein eigenes System... ;)


Was komisch ist, ist, dass die Dummy den Status nicht ändern (daher kannst du eigentlich den dummy 'FHEM.Alexa.Status' auch löschen, da dieser eh nichts tut / den anderen dummy brauchst du! Außer du führst beim notify keinen set start des dummy aus sondern gleich direkt den Startbefehl aus dem DOIF)...
...und es aber beim Ausführen des per-Kommandos per TelNet auch keinen Fehler gibt...
...weil ohne Fehler würde ich erwarten/erwartet haben, dass dann dieser auch ausgeführt wird (und sich der Status des/der dummy ändert/ändern)...
...und bei einem Fehler hätte man einen Anhaltspunkt...

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)

Absolute Beginner

... und wieder was dazugelernt - Danke Joachim!

das mit dem Notify checke ich die Tage mal, heute ist erst mal Ruhe. Du bist ein sehr geduldiger Zeitgenosse.

Danke,
Werner
Raspberry Pi 3 - CUL868 - Jessie - FHEM5.8 - MQTT - Node-RED
HM-TC-IT-WM-W-EU, HM-LC-BI1PBU-FM, HM-Sec-SCo, HM-WDS30-0T2-SM, SOMFY, Echo, ESP, SonOff

wthiess

Hallo Alexaprofis!

Ich musste meine Raspi neu aufsetzen. Nun bekomme ich es nicht mehr hin das ich mit Fhem den Alexadienst starte. Ich möchte auf keinen Fall als
dienst laufen lassen. Mit "./bin/alexa" startet Alexa und funktioniert auch mit Fhem.
Wo könnte ich ein Berechtigungsproblem haben?
2017.04.07 16:02:46 2: FHEM.Alexa.DOIF: {system ("sudo /etc/init.d/alexa stop > /dev/null 2>&1 &")}: -1
2017.04.07 16:02:47 2: FHEM.Alexa.DOIF: {system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")}: -1



lg
Wolfgang


selber gelöst Berechtigung auf den Logs wars.
                                                                                                                                                                                                                                                                                                                                                                                                                                             
Raspberry Pi 3; 8xRelais; Aptodec Nano V3.0 Pro; FS1000a; RF-5V; Hama TS33C; 3x Brennerstuhl FunkSteckdosen; 9x Dooya funk Rollo; KWL Systemair VR400; Thermokon Modbusthermostat; diverse China Modbus Thermostate; 1-wire Bus; Telegram; QuickFhem; FhemNative; Firmata; Alexa ......

Merlin123

Es wurde zwar schon in einem separaten Thread gefragt, ich weiß aber nicht, ob den alle wahrgenommen haben:
Ich (und der Threadersteller) haben das Problem, dass beim Gerätesuchlauf von Alexa Geräte gefunden werden, die es nicht mehr gibt.
Bei mir wurden KNX Geräte via Autocreate in FHEM angelegt, die bei einem Suchlauf in Alexa auch gefunden wurden. (Wollte eigentlich was ganz anderes einbinden ;) )
Diese habe ich dann in FHEM umbenannt und das richtige Device usw. zugewiesen.
Wenn ich jetzt alle "falschen" Geräte in Alexa lösche und neu suchen lasse, findet er sowohl die neuen Geräte als auch die alten, die es aber so gar nicht mehr gibt.
Weiß jemand, wie man die loswerden kann?
Klar: Man kann sie einfach ignorieren, aber ist halt unschön :D
Gruß,
Oliver

Junior

Zitat von: Fixel2012 am 14 Dezember 2016, 22:17:15
Ich danke euch, es lag an einem anderen Fehler! Ist echt unfassbar, dass man seine Lampen nun Sprach-steuern kann, echt super! Nochmal ein großes Dank!

Wenn ich die alexa Datei händisch starte kirege folgenden Error(funktionieren tut es trotzdem, kann eine Test Lampe an und ausschalten.):

[12/14/2016, 10:10:08 PM] using /home/pi/.alexa/config.json
[12/14/2016, 10:10:09 PM] ---
[12/14/2016, 10:10:09 PM] this alexa-fhem 0.1.3
fs.js:549
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: ENOENT: no such file or directory, open './key.pem'
    at Error (native)
    at Object.fs.openSync (fs.js:549:18)
    at Object.fs.readFileSync (fs.js:397:15)
    at Server.startServer (/opt/fhem/alexa-fhem/lib/server.js:93:15)
    at Server.run (/opt/fhem/alexa-fhem/lib/server.js:197:8)
    at module.exports (/opt/fhem/alexa-fhem/lib/cli.js:30:10)
    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)
    at Module.load (module.js:343:32)


Dem Error entnehme ich, dass die key.pem Datei fehlt, diese ist aber im Verzeichnis und wurde auch vor etwas längerer Zeit korrekt erstellt. Den Dienst konnte ich vor einigen Tagen ohne Fehlermeldung starten.

Ist es außerdem möglich dummys mit alexa zu schalten(simples an/aus)?

Grüße

Felix


Moin, wie wurde der Fehler behoben? habe auf 0.3.0 geupdatet, die cert.pm und key.pm übernommen. Die sind also DEFINITIV im Ordner vorhanden. Jemand ne Idee?

Absolute Beginner

@ Joachim: endlich habe ich mich mal wieder um Alexa gekümmert und dein Define

define nStartAlexa notify global:INITIALIZED set FHEM.Alexa start


getestet, auch mal mit 'on' statt 'start' am Ende. Tut sich nichts - von alleine will alexa-fhem nicht starten. Ist auch nicht so schlimm, weil ich das händisch im Dummy, aber nicht ganz so schön realisieren kann. Ein bisschen blöd ist aber schon das Gefühl, das irgendetwas Elementares in meiner Installation nicht korrekt ist. Meinst Du, ich sollte den letzten Schritt aus dem Wiki ("Alexa-Fhem als Service (systemd) installieren") für mich rückgängig machen?
Raspberry Pi 3 - CUL868 - Jessie - FHEM5.8 - MQTT - Node-RED
HM-TC-IT-WM-W-EU, HM-LC-BI1PBU-FM, HM-Sec-SCo, HM-WDS30-0T2-SM, SOMFY, Echo, ESP, SonOff