[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

#390
@robu:

du schreibst immer von ./bin/alexa (das ist klar / aber: in welchem Pfad?) und das Script (WELCHES?) liegt unter /opt/fhem/alexa-fhem.

Das alexa Start-Script muss nat. nach /etc/init.d/ allerdings hätte dann "sudo chmod 755 /etc/init.d/alexa" ja einen Fehler werfen müssen...

Oder meinst du mit "Script" die "Alexa-Engine"??

Hast du die Einträge in sudoers ans ENDE eingefügt??!

Was kommt denn, wenn du "sudo /etc/init.d/alexa start" direkt auf der Console eingibst??

EDIT: und ja: unter welchem User? (mit welchen Rechten? Normal oder geändert)...

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)

robu

@McUles

unter /home/fhem/ existierte der Ordner /.alexa nicht. Habe ich nun angelegt. Frage nicht, wo ich ursprünglich die config.json abgelegt habe  ???

Im alexa-Logfile steht dennoch
[2016-12-13 10:01:14] using /.alexa/config.json
[2016-12-13 10:01:14] Couldn't find a config.json file at '/.alexa/config.json'. Look at config-sample.json for an example.


@MadMax-FHEM

robu@raspberrypi:/opt/fhem/alexa-fhem $ ./bin/alexa

Script (lambda.js) liegt unter /opt/fhem/alexa-fhem
Start-Script alexa liegt unter /etc/init.d

sudoers
# User privilege specification
root    ALL=(ALL:ALL) ALL
robu    ALL=(ALL:ALL) ALL
fhem    ALL=(ALL) NOPASSWD: ALL

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


Console
robu@raspberrypi:~ $ sudo /etc/init.d/alexa start
Kein Verzeichnis, Anmeldung mit HOME=/
Alexa starting
Alexa is running PID 4655
script done
script done

McUles

Die lambda.js brauchst du auf dem PI gar nicht ;)
Mit welchem Benutzer lässt du FHEM den laufen?
FHEM @Proxmox, 27" Touchscreen@PI3
1xZME_UZB1@PI2, 1xZME_RAZ_EU@PI2, 1xZME_WALLC-S, 1xFIBEFGS-222, 2xFIBEFGS-212, 6xFIB_FGMS-001, 4xZME_05467
1xMAXCube, 12xMAX! Heizkörper-Thermostat+
1xHM-LGW-O-TW-W-EU, 5xHM-CC-RT-DN, 2xHM-TC-IT-WM-W-EU, 1xHM-LC-Sw4-DR, 1xKeymatic, 3xHM-ES-PMSw1-Pl
Liste zu lang...

robu

Welcher Benutzer? Oh, das kann ich nicht genau sagen  :-[

Den Autostart für Fhem habe ich in /etc/rc.local eingefügt. Entweder Benutzer robu oder fhem  ???

MadMax-FHEM

Das ist aber schon wichtig zu wissen!

Denn die Datei "config.json" muss (so wie ich das verstehe) unter:

/home/<USER DER ALEXA STARTET>/.alexa/config.json
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)

robu

#395
Der User pi war es. Habe jetzt die config.json unter /home/pi/.alexa/ abgelegt.

alexa-2016-12.log:
[2016-12-13 10:41:16] using /home/pi/.alexa/config.json
[2016-12-13 10:41:16] ---
[2016-12-13 10:41:16] this alexa-fhem 0.1.3
[2016-12-13 10:41:16] Trying NAT-PMP ...
[2016-12-13 10:41:16] Trying NAT-UPNP ...
[2016-12-13 10:41:17] Fetching FHEM devices...
[2016-12-13 10:41:18] [FHEM] Checking devices and attributes...
[2016-12-13 10:41:18] [FHEM]   executing: http://192.168.178.44:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2016-12-13 10:41:18] [FHEM]   executing: http://192.168.178.44:8083/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1
[2016-12-13 10:41:18] [FHEM] starting longpoll: http://192.168.178.44:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1481622078445
[2016-12-13 10:41:18] [FHEM] Fetching FHEM devices...
[2016-12-13 10:41:18] [FHEM] fetching: http://192.168.178.44:8083/fhem?cmd=jsonlist2%20room=alexa&XHR=1
[2016-12-13 10:41:18] Server listening on: https://:::3000
[2016-12-13 10:41:18] [FHEM] There was a problem connecting to FHEM (http://192.168.178.44:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1).
[2016-12-13 10:41:18] [FHEM]   401: Authorization Required
[2016-12-13 10:41:18] [FHEM] There was a problem connecting to FHEM (http://192.168.178.44:8083/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1).
[2016-12-13 10:41:18] [FHEM]   401: Authorization Required
[2016-12-13 10:41:18] [FHEM] longpoll ended, reconnect in: 200msec
[2016-12-13 10:41:18] [FHEM] There was a problem connecting to FHEM
[2016-12-13 10:41:18] [FHEM]   401: Authorization Required
[2016-12-13 10:41:19] [FHEM] starting longpoll: http://192.168.178.44:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1481622079173
[2016-12-13 10:41:19] Current external IP address:
[2016-12-13 10:41:19] [FHEM] longpoll ended, reconnect in: 700msec
[2016-12-13 10:41:19] NAT-UPNP failed: Error: Request failed: 500
[2016-12-13 10:41:20] [FHEM] starting longpoll: http://192.168.178.44:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1481622080122
[2016-12-13 10:41:20] [FHEM] longpoll ended, reconnect in: 1200msec
[2016-12-13 10:41:21] [FHEM] starting longpoll: http://192.168.178.44:8083/fhem.pl?
...


Jetzt funktioniert das Steuern über FHEM  :)

ABER: Nach einem Neustart des RasPi wird alexa nicht mit gestartet

McUles

Das Script unter /etc/init.d hast du ja angelegt wenn ich mich recht erinnere?
Dann einfach mal folgendes eingeben: update-rc.d alexa defaults
FHEM @Proxmox, 27" Touchscreen@PI3
1xZME_UZB1@PI2, 1xZME_RAZ_EU@PI2, 1xZME_WALLC-S, 1xFIBEFGS-222, 2xFIBEFGS-212, 6xFIB_FGMS-001, 4xZME_05467
1xMAXCube, 12xMAX! Heizkörper-Thermostat+
1xHM-LGW-O-TW-W-EU, 5xHM-CC-RT-DN, 2xHM-TC-IT-WM-W-EU, 1xHM-LC-Sw4-DR, 1xKeymatic, 3xHM-ES-PMSw1-Pl
Liste zu lang...

robu

Habe updat-rc.d alexa defaults eingegeben. Musste aber eine sudo davor setzen. (als Benutzer robu)

Ohoh, da habe ich wahrscheinlich mit den Benutzern ordentlich was durcheinander gewürfelt.

Die Steuerung von alexa über FHEM funktioniert nur, wenn ich auch die Console geöffnet habe  :(

McUles

Ich habe gerade gesehen das du recht viele Fehlermeldungen in deinem letzten Log hast, scheinbar kann Alexa nicht auf deinen Fhem connecten.
Hast du Basic Auth eingerichtet?
FHEM @Proxmox, 27" Touchscreen@PI3
1xZME_UZB1@PI2, 1xZME_RAZ_EU@PI2, 1xZME_WALLC-S, 1xFIBEFGS-222, 2xFIBEFGS-212, 6xFIB_FGMS-001, 4xZME_05467
1xMAXCube, 12xMAX! Heizkörper-Thermostat+
1xHM-LGW-O-TW-W-EU, 5xHM-CC-RT-DN, 2xHM-TC-IT-WM-W-EU, 1xHM-LC-Sw4-DR, 1xKeymatic, 3xHM-ES-PMSw1-Pl
Liste zu lang...

robu

Ich habe den Benutzer pi in sudoers hinzugefügt. -> jetzt funktioniert das Starten von alexa aus FHEM heraus auch ohne dem vorherigen Öffnen der Console.

Trotzdem gibt es nocht Probleme bei der Anmeldung von Alexa-Fhem an FHEM:
[2016-12-13 11:03:48] using /home/pi/.alexa/config.json
[2016-12-13 11:03:48] ---
[2016-12-13 11:03:48] this alexa-fhem 0.1.3
[2016-12-13 11:03:48] Trying NAT-PMP ...
[2016-12-13 11:03:48] Trying NAT-UPNP ...
[2016-12-13 11:03:48] Fetching FHEM devices...
[2016-12-13 11:03:49] [FHEM] Checking devices and attributes...
[2016-12-13 11:03:49] [FHEM]   executing: http://192.168.178.44:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2016-12-13 11:03:49] [FHEM]   executing: http://192.168.178.44:8083/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1
[2016-12-13 11:03:49] [FHEM] starting longpoll: http://192.168.178.44:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1481623429972
[2016-12-13 11:03:49] [FHEM] Fetching FHEM devices...
[2016-12-13 11:03:49] [FHEM] fetching: http://192.168.178.44:8083/fhem?cmd=jsonlist2%20room=alexa&XHR=1
[2016-12-13 11:03:50] Server listening on: https://:::3000
[2016-12-13 11:03:50] [FHEM] There was a problem connecting to FHEM (http://192.168.178.44:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1).
[2016-12-13 11:03:50] [FHEM]   401: Authorization Required


basicAuth für 8083 ist eingerichtet

McUles

Ok, dann muss da @justme1968 was dazu sagen.
Habe bei mir kein Basic Auth eingerichtet.
FHEM @Proxmox, 27" Touchscreen@PI3
1xZME_UZB1@PI2, 1xZME_RAZ_EU@PI2, 1xZME_WALLC-S, 1xFIBEFGS-222, 2xFIBEFGS-212, 6xFIB_FGMS-001, 4xZME_05467
1xMAXCube, 12xMAX! Heizkörper-Thermostat+
1xHM-LGW-O-TW-W-EU, 5xHM-CC-RT-DN, 2xHM-TC-IT-WM-W-EU, 1xHM-LC-Sw4-DR, 1xKeymatic, 3xHM-ES-PMSw1-Pl
Liste zu lang...

justme1968

wenn du basic auth verwendest musst du natürlich die daten auch im alexa config file angeben:"auth": {"user": "fhem", "pass": "fhempassword"},und wenn du auch noch ssl verwendest auch noch das:"ssl": true,jeweils bei den connections am besten nach der server zeile.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

McUles

Zitat von: justme1968 am 13 Dezember 2016, 11:22:56
wenn du basic auth verwendest musst du natürlich die daten auch im alexa config file angeben:"auth": {"user": "fhem", "pass": "fhempassword"},und wenn du auch noch ssl verwendest auch noch das:"ssl": true,jeweils bei den connections am besten nach der server zeile.
Kannst du das vielleicht noch im Wiki ergänzen?
FHEM @Proxmox, 27" Touchscreen@PI3
1xZME_UZB1@PI2, 1xZME_RAZ_EU@PI2, 1xZME_WALLC-S, 1xFIBEFGS-222, 2xFIBEFGS-212, 6xFIB_FGMS-001, 4xZME_05467
1xMAXCube, 12xMAX! Heizkörper-Thermostat+
1xHM-LGW-O-TW-W-EU, 5xHM-CC-RT-DN, 2xHM-TC-IT-WM-W-EU, 1xHM-LC-Sw4-DR, 1xKeymatic, 3xHM-ES-PMSw1-Pl
Liste zu lang...

robu

Erstmal vielen Dank für eure Geduld mit mir :)

Nachdem ich "auth" und "ssl" in die config.json eingefügt habe, klappt auch die Anmeldung nach einem Neustart des Raspberry

[2016-12-13 11:32:56] using /home/pi/.alexa/config.json
[2016-12-13 11:32:57] ---
[2016-12-13 11:32:57] this alexa-fhem 0.1.3
[2016-12-13 11:32:57] Fetching FHEM devices...
[2016-12-13 11:32:58] [FHEM] Checking devices and attributes...
[2016-12-13 11:32:58] [FHEM]   executing: https://192.168.178.44:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2016-12-13 11:32:58] [FHEM]   executing: https://192.168.178.44:8083/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1
[2016-12-13 11:32:58] [FHEM] starting longpoll: https://192.168.178.44:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1481625178543
[2016-12-13 11:32:58] [FHEM] Fetching FHEM devices...
[2016-12-13 11:32:58] [FHEM] fetching: https://192.168.178.44:8083/fhem?cmd=jsonlist2%20room=alexa&XHR=1
[2016-12-13 11:32:58] Server listening on: https://:::3000


Alexa findet aber meine Devices nicht mehr. Das hatte zuvor mit dem Ausführen von ./bin/alexa funktioniert

[2016-12-13 11:33:18] accepted new token
**** Received Directive: {"header":{"namespace":"Alexa.ConnectedHome.Control","name":"TurnOnRequest","payloadVersion":"2","messageId":"5fb7acf6-2829-46ed-ac05-9a437108e318"},"payload":{"accessToken":"Atza|IwEBICffvzFr1i_RFMYAURk1O...","appliance":{"applianceId":"d_wz_tv","additionalApplianceDetails":{"device":"d.wz_tv"}}}}
response :{"header":{"name":"UnsupportedTargetError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"914866b3-7366-4bb1-a4b7-12959062544a"},"payload":{}}


Unter http://alexa.amazon.de/ findet Alexa den Dummy:
fernseher name: d.wz_tv, alias: Fernseher, room: alexa

robu

Yeahh  :)

SSL auf "false" gesetzt und es läuft!

Vielen vielen Dank an Euch alle!