[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

Es liegt vermutlich daran, dass du zwar genericDeviceType switch hast aber der Sauger ja kein on/off kennt...

Entweder noch mittels homeBridgemapping/alexaMapping oder über einen Dummy mittels Event schalten...

Es gibt übrigens auch ein robotvacuum icon... ;)

https://forum.fhem.de/index.php/topic,66267.msg624167.html#msg624167

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

justme1968

wenn es kein on und off kommando gibt musst du es per homebridge mapping konfogurieren
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Lucky2k12

Danke für die Antworten, das Icon hab ich direkt eingebaut, sehr schick 8)

ich hab's jetzt mal so versucht:
attr vacuum homebridgeMapping On=verb=schalte,valueOn:Cleaning,valueOff:/Charging|Docked/, cmdOn:start,cmdOff:charge

da passt aber noch etwas nicht. Er wird immer noch nicht erkannt

Der Robo wird gestartet mit
set vacuum start
stop mit
set vacuum charge
dann gibts noch die Kommandos "stop" und "pause".

Einige mögliche Werte von state:
Docked|Cleaning|Charging|Paused|Returning to base

Gruß
HP T610, HM, Jeelink, LGW, mapleCUL868+434

pandabear_de

Hi,
leider verzweifel ich gerade... Ich habe seit Tagen alles durchkämmt und finde den Fehler nicht... Hat einer von Euch einen Hinweis?

Alexa läuft als User Alexa. Manuell kan ich Alexa als User alexa auch starten und alles funktioniert...

alexa@raspi-home:/opt/fhem/alexa-fhem$ bin/alexa -U /home/alexa/.alexa/
[8/27/2017, 9:14:27 AM] using /home/alexa/.alexa/config.json
[8/27/2017, 9:14:28 AM] ---
[8/27/2017, 9:14:28 AM] this is alexa-fhem 0.3.4
[8/27/2017, 9:14:28 AM] Fetching FHEM devices...
...


Wenn ich aber den Service starte, bekomme ich den Fehler
sudo service alexa status
● alexa.service - Node.js Alexa Server
   Loaded: loaded (/etc/systemd/system/alexa.service; enabled)
   Active: activating (auto-restart) (Result: exit-code) since Sun 2017-08-27 10:26:42 CEST; 6s ago
  Process: 29240 ExecStart=/opt/fhem/alexa-fhem/bin/alexa -U /home/alexa/.alexa (code=exited, status=217/USER)
Main PID: 29240 (code=exited, status=217/USER)

Aug 27 10:26:42 raspi-home systemd[1]: Unit alexa.service entered failed state.


sudo journalctl --since "2 minutes ago" ergibt...
Aug 27 10:31:29 raspi-home systemd[1]: alexa.service holdoff time over, scheduling restart.
Aug 27 10:31:29 raspi-home systemd[1]: Stopping Node.js Alexa Server...
Aug 27 10:31:29 raspi-home systemd[1]: Starting Node.js Alexa Server...
Aug 27 10:31:29 raspi-home systemd[1]: Started Node.js Alexa Server.
Aug 27 10:31:29 raspi-home systemd[29479]: Failed at step USER spawning /opt/fhem/alexa-fhem/bin/alexa: No such process
Aug 27 10:31:29 raspi-home systemd[1]: alexa.service: main process exited, code=exited, status=217/USER
Aug 27 10:31:29 raspi-home systemd[1]: Unit alexa.service entered failed state.


Hier meine alexa.service Datei..
[Unit]
Description=Node.js Alexa Server
After=syslog.target network-online.target

[Service]
Type=simple
User=alexa #oder ein anderer Benutzer wie fhem
WorkingDirectory=/opt/fhem/alexa-fhem
#ExecStart=/opt/fhem/alexa-fhem/bin/alexa $ALEXA_OPTS
ExecStart=/opt/fhem/alexa-fhem/bin/alexa -U /home/alexa/.alexa
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target


Alles was ich gelesen habe, lässt auf ein Berechtigungsproblem hindeuten, aber wo...

Meine Verzeichnisse:
pi@raspi-home:/etc/systemd/system $ ls -l /opt/fhem/alexa-fhem
total 44
drwxr-xr-x 2 alexa alexa 4096 Jul 15 15:47 bin
-rw-r--r-- 1 alexa alexa 1403 Aug 26 22:02 cert.pem
-rw-r--r-- 1 alexa alexa  573 Feb 19  2017 config-sample.json
-rwxr-xr-x 1 alexa alexa  150 Nov  5  2016 createKey.sh
-rw-r--r-- 1 alexa alexa 1679 Aug 26 22:02 key.pem
-rw-r--r-- 1 alexa alexa 1183 Dec 23  2016 lambda.js
drwxr-xr-x 2 alexa alexa 4096 Jul 15 15:47 lib
drwxr-xr-x 7 alexa alexa 4096 Jul 15 15:47 node_modules
-rw-r--r-- 1 alexa alexa  373 Apr 26 08:39 package.json
-rw-r--r-- 1 alexa alexa 2830 Nov  8  2016 README.md
-rw-r--r-- 1 alexa alexa 1597 Mar 13 08:38 TODO


pi@raspi-home:/etc/systemd/system $ ls -l /opt/fhem/alexa-fhem/bin/
total 4
-rwxr-xr-x 1 alexa alexa 339 Nov  3  2016 alexa


pi@raspi-home:/etc/systemd/system $ ls -l /home/alexa/.alexa/
total 12
-rw-r--r-- 1 alexa alexa 1432 Aug  7 06:25 cert.pem
-rw-r--r-- 1 alexa alexa  546 Aug 26 22:36 config.json
-rw-r--r-- 1 alexa alexa 1679 Aug  7 06:25 key.pem


Danke für Eure Hilfe

amenomade

Dein /home/alexa/.alexa/config.json wäre auch interessant/relevant. (anonymisiert)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

pandabear_de

Hier meine Config...

pi@raspi-home:/etc/systemd/system $ cat /home/alexa/.alexa/config.json
{
    "alexa": {
        "name": "Alexa Fhem",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": "amzn1.ask.skill.xxxx",
        "oauthClientID": "amzn1.application-oa2-client.xxxxx"
    },
   
    "connections": [
        {
            "name": "fhem",
            "server": "127.0.0.1",
            "port": "8083",
            "ssl": false,
            "filter": "room=Alexa"
        }
    ]
}

amenomade

Hmmm.... scheint alles i.O. zu sein.

Deine Zertifikate in /opt/fhem/alexa-fhem und in /home/alexa/.alexa haben unterschiedliche Uhrzeiten. Sind die gleich?

Andere Frage: hast Du es schon geschaft, alexa manuelle zu starten (nicht als Dienst)?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

pandabear_de

Zitat von: amenomade am 27 August 2017, 11:26:50
Hmmm.... scheint alles i.O. zu sein.

Deine Zertifikate in /opt/fhem/alexa-fhem und in /home/alexa/.alexa haben unterschiedliche Uhrzeiten. Sind die gleich?

Andere Frage: hast Du es schon geschaft, alexa manuelle zu starten (nicht als Dienst)?

Ja.  Auf meinem Raspi habe ich mit su- alexa mich als Alexa User eingeloggt.
cd /opt/fhem/alexa-fhem
/opt/fhem/alexa-fhem/bin/alexa -U /home/alexa/.alex

Danach kann ich Alexa nutzen und sehe auf dem Terminal die Interaktion

MadMax-FHEM

Jep, ohne Dienst läuft es...
...soweit ich gelesen hab...

Wie sieht denn das "Diensstart-Script" aus?
Hast du dort User und Pfade angepasst!?

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)

amenomade

Der hat aber schon seine alexa.service Datei gezeigt. Mit systemd gibt es nix weiteres oder?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

Versuch mal in alexa.service, alexa in Debugmode als Dienst zu starten, mit
ExecStart=/opt/fhem/alexa-fhem/bin/alexa --debug -U /home/alexa/.alexa

Dann journalctl zeigen.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Lucky2k12

Zitat von: Lucky2k12 am 27 August 2017, 09:26:55
...
Der Robo wird gestartet mit
set vacuum start
stop mit
set vacuum charge
dann gibts noch die Kommandos "stop" und "pause".
Einige mögliche Werte von state:
Docked|Cleaning|Charging|Paused|Returning to base
Ups, peinlich. Der Alexa-prozess lief aus irgendeinem Grund nicht Da kann er natürlich nix erkennen.
mit folgendem Mapping wird auch was erkannt:
attr vacuum homebridgeMapping On=state;;values=Cleaning:valueOn,Docked:valueOff,cmdOn:start,cmdOff:charge

und Alexa antwortet brav mit "OK", wenn ich sage "Alexa, starte den Staubsauger" oder "schalte den Staubsauger ein"
nur leider startet da nichts.
alexa.log:

[2017-08-27 11:42:31] [FHEM] vacuum: executing set cmd for On with value 1
[2017-08-27 11:42:31] [FHEM]   executing: http://192.168.178.xx:8083/fhem?cmd=set%20cmdOff%20undefined%201&XHR=1
response :{"header":{"name":"TurnOnConfirmation","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"xxxxxx-yyyy-4e69-bd79-zzzzzzzz"},"payload":{}}


wieso kommt da kein device und cmdOff?? Ich steh auf dem Schlauch.  :P
HP T610, HM, Jeelink, LGW, mapleCUL868+434

pandabear_de

Zitat von: amenomade am 27 August 2017, 11:47:01
Versuch mal in alexa.service, alexa in Debugmode als Dienst zu starten, mit
ExecStart=/opt/fhem/alexa-fhem/bin/alexa --debug -U /home/alexa/.alexa

Dann journalctl zeigen.
Gute Idee mit dem --debug

Sieht fast so aus, als ob der service mit root läuft, oder?
pi@raspi-home:/etc/systemd/system $ sudo journalctl --since "2 minutes ago"
Aug 27 11:57:07 raspi-home sudo[1675]: pi : TTY=pts/1 ; PWD=/etc/systemd/system ; USER=root ; COMMAND=/usr/sbin/service alexa start
Aug 27 11:57:07 raspi-home sudo[1675]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
Aug 27 11:57:07 raspi-home systemd[1]: Starting Node.js Alexa Server...
Aug 27 11:57:07 raspi-home systemd[1]: Started Node.js Alexa Server.
Aug 27 11:57:07 raspi-home systemd[1700]: Failed at step USER spawning /opt/fhem/alexa-fhem/bin/alexa: No such process
Aug 27 11:57:08 raspi-home sudo[1675]: pam_unix(sudo:session): session closed for user root
Aug 27 11:57:08 raspi-home systemd[1]: alexa.service: main process exited, code=exited, status=217/USER
Aug 27 11:57:08 raspi-home systemd[1]: Unit alexa.service entered failed state.


alexa.service
[Unit]
Description=Node.js Alexa Server
After=syslog.target network-online.target

[Service]
Type=simple
User=alexa #oder ein anderer Benutzer wie fhem
WorkingDirectory=/opt/fhem/alexa-fhem
#ExecStart=/opt/fhem/alexa-fhem/bin/alexa $ALEXA_OPTS
ExecStart=/opt/fhem/alexa-fhem/bin/alexa --debug -U /home/alexa/.alexa
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target



... und ja vorher dem start noch folgendes ausgeführt
pi@raspi-home:/etc/systemd/system $ sudo systemctl daemon-reload

MadMax-FHEM

Zitat von: amenomade am 27 August 2017, 11:45:28
Der hat aber schon seine alexa.service Datei gezeigt. Mit systemd gibt es nix weiteres oder?

Äh, jep auch richtig...
Bin aktuell nur mobil drauf, da ist alles so klein... ;)

Hmmm, aber wenn starten als user alexa vin der cinsole aus klappt (habe ich so gelesen), dann kann es ja nur am "Startscript" liegen...
Also "user-Umschaltung", Arbeitsverzeichnis etc.

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)

pandabear_de

Zitat von: amenomade am 27 August 2017, 11:26:50
Deine Zertifikate in /opt/fhem/alexa-fhem und in /home/alexa/.alexa haben unterschiedliche Uhrzeiten. Sind die gleich?

Ich hatte neue Zertifikate gestern erzeugt aber sie nicht nach /home/alexa/.alexa kopiert, da sie ja dort nicht benötigt werden. Um Fehlerquellen auszuschließen, habe ich die Dateien unter /home/alexa/.alexa nun umbenannt. Keine Veränderung  :(
pi@raspi-home:/home/alexa/.alexa $ sudo mv cert.pem _cert.pem_
pi@raspi-home:/home/alexa/.alexa $ sudo mv key.pem _key.pem_