Alexa-Fhem: Alles zu 401: Authorization Required

Begonnen von Sir BuB, 28 Juli 2017, 11:34:33

Vorheriges Thema - Nächstes Thema

Sir BuB

Da ich jetzt seit Tagen damit rummache, einfach nicht weiter komme und es in einzelnen Themen auftaucht aber nie gebündelt wird, mach ich dieses Thema auf:

Alexa-fhem nach dieser Anleitung installiert:
https://wiki.fhem.de/wiki/Alexa-Fhem + tutorial 23 (https://haus-automatisierung.com/)

Beim manuellen starten con Alexa erhalte ich folgende Fehlermeldung. Habe viel im Forum recherchiert und ausprobiert aber das Resultat bleibt mehr oder weniger gleich.

[2017-7-28 09:34:53] [FHEM] longpoll ended, reconnect in: 200msec
[2017-7-28 09:34:53] [FHEM] There was a problem connecting to FHEM (http://127.0.0.1:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1).
[2017-7-28 09:34:53] [FHEM]   401: Authorization Required
[2017-7-28 09:34:53] [FHEM] There was a problem connecting to FHEM (http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1).
[2017-7-28 09:34:53] [FHEM]   401: Authorization Required
[2017-7-28 09:34:53] [FHEM] There was a problem connecting to FHEM
[2017-7-28 09:34:53] [FHEM]   401: Authorization Required



config.json ist angepasst und ergänzt um die auth Zeilen...

laut der fhem.cfg is basicAuth verwendet.
...
attr allowed_WEB basicAuth <xxxxxxx>
....

Der Port 3000 ist von aussen nicht erreichbar. Nach meinem Verstädnis kann er auch erst erreichbar sein, wenn der Dienst läuft, oder?

die prinzipielle Anmeldung per putty geht mit: wget --user jb --password <xxxx> http://127.0.0.1:8083/fhem
Ergebnis:
--2017-07-28 11:08:23--  http://127.0.0.1:8083/fhem
Verbindungsaufbau zu 127.0.0.1:8083... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 401 Authorization Required
Wiederverwendung der bestehenden Verbindung zu 127.0.0.1:8083.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 6316 (6,2K) [text/html]
In »»fhem.1«« speichern.


Die config.json sieht so aus:

{
    "alexa": {
        "port": 3000,
        "name": "Alexa",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": "amzn1.ask.skill.xxxxxx",
        "oauthClientID": "amzn1.application-oa2-client.xxxxxx"
    },

    "connections": [
        "auth": {"user": "jb", "pass": "<xxxxxx>"},   {
            "name": "FHEM",
            "server": "127.0.0.1",
            "port": "8083",
            "ssl":false,
            "webname": "fhem",
            "filter": "room=Alexa"
        }
    ]
}



Was kann ich noch einstellen/probieren?

MadMax-FHEM

#1
Hi,

gib doch mal die gesamte Ausgabe beim Start hier an.

Bzw. welche Version von alexa-fhem hast du?
(Wird am Anfang beim Start ausgegeben)

EDIT: ok laut Signatur wohl 0.3.4, also aktuell...

Steht etwas im fhem Log?

EDIT2: evtl. mal einen weiteren Web-Zugang ohne auth, also zum Test... Wenn es dann geht, stimmt etwas mit user/passwort oder dem Eintrag in der config.json 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)

cs-online

#2
Hallo, also hier mal meine funtktionierende config.json. Das einzige, was mir auffällt ist, daß die nat-pmp leer ist. Rein gehört da die Adresse des Routers (Fritzbox o.ä.)




pi@FHEM-Jessie:~ $ sudo nano ~/.alexa/config.json
  GNU nano 2.2.6       Datei: /home/pi/.alexa/config.json

{
    "alexa": {
        "port": 3000,
        "name": "MyAlexa",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "nat-pmp": "192.168.2.1",
        "nat-upnp": false,
        "applicationId": "amzn1.ask.skill.f40946ce-9e9f-4807-b41f-148f3c14261b",
        "oauthClientID": "amzn1.application-oa2-client.b512b110e978460ea131f23c$
    },

    "connections": [
        {
            "name": "FHEM",
            "server": "127.0.0.1",
            "port": "8083",
            "webname": "fhem",
            "auth": {"user": "admin", "pass": "Tanja"},
            "filter": "room=Alexa"
        }
    ]
}


Wobei bei Dir hoffentlich die xxxxxxx bei "applicationId": "amzn1.ask.skill.xxx", und   "oauthClientID": "amzn1.application-oa2-client.xxx durch die richtigen Werte deiner Amazon-Einstellungen ersetzt wurden ?!
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

MadMax-FHEM

nat-pmp leer ist schon ok...
...sofern man dann eben die Portweiterleitung/Freigabe selbst einrichtet...

Aber aktuell geht es wohl eher noch um den Kontakt zu fhem bzw. dort die Daten abzurufen...

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

#4
Zitat{
    "alexa": {
        "port": 3000,
        "name": "Alexa",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": "amzn1.ask.skill.xxxxxx",
        "oauthClientID": "amzn1.application-oa2-client.xxxxxx"
    },

    "connections": [
        "auth": {"user": "jb", "pass": "<xxxxxx>"},   {
            "name": "FHEM",
            "server": "127.0.0.1",
            "port": "8083",
            "ssl":false,
            "webname": "fhem",
            "filter": "room=Alexa"
        }
    ]
}
4

Ein { ist anscheinend gerutscht?

Versuch mit:
{
    "alexa": {
        "port": 3000,
        "name": "Alexa",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": "amzn1.ask.skill.xxxxxx",
        "oauthClientID": "amzn1.application-oa2-client.xxxxxx"
    },

    "connections": [
     {
        "auth": {"user": "jb", "pass": "<xxxxxx>"},   
            "name": "FHEM",
            "server": "127.0.0.1",
            "port": "8083",
            "ssl":false,
            "webname": "fhem",
            "filter": "room=Alexa"
        }
    ]
}
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Sir BuB

Vielen Dank für die Hinweise, die { war verrutscht, habe ich korrigiert , allerdings ohne Veränderung des Resultates.

den Testweb zugang habe ich per
define TestWeb FHEMWEB 8088
eingerichtet, allerdings kann ich ihn im Browser nicht nutzen. Er findet die Seite nicht. Fehlt hier noch ne Konfiguration?

amenomade

ZitatVielen Dank für die Hinweise, die { war verrutscht, habe ich korrigiert , allerdings ohne Veränderung des Resultates.

Und natürlich hast Du auch alexa-fhem neu gestartet?
Wenn wirklich immer noch die gleiche Fehlermeldung kommt, bitte dann alexa im debug mode starten und Auszug (anonymisiert) hier posten.
./bin/alexa --debug
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Sir BuB

ich bin nun einen schritt weiter. Allerdings kommt jetzt folgende Meldung beim start:
[2017-8-4 12:02:46] using /home/pi/.alexa/config.json
[2017-8-4 12:02:46] ---
[2017-8-4 12:02:46] this is alexa-fhem 0.3.4
[2017-8-4 12:02:47] Fetching FHEM devices...
[2017-8-4 12:02:47] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1501840967041
[2017-8-4 12:02:47] Server listening on: https://:::3000
[2017-8-4 12:02:47] [FHEM] longpoll error: Error: read ECONNRESET, retry in: 5000msec
[2017-8-4 12:02:52] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1501840972295
[2017-8-4 12:02:52] [FHEM] longpoll error: Error: read ECONNRESET, retry in: 10000msec


Die amazon parameter habe ich alle geprüft und scheinen zu stimmen. Die Suche im Forum hier hat mich noch nicht weiter gebracht. Noch Ideen?

amenomade

Ist Fhem unter http://127.0.0.1:8083/fhem aus dem Rechner, wo Alexa installiert ist, in einem Browser erreichbar?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

kmidt

Hallo gibt es hierzu nun eine Lösung ?

Habe das selbe Problem

justme1968

so wie im wiki, in der commandref und in diversen threads geschrieben: alexaFHEM-auth setzen.

im normal muss und sollte niemand das config file von hand anfassen. erst recht nicht bei der ersten installation.

alles weitere siehe hier: https://wiki.fhem.de/wiki/FHEM_Connector
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

ollibaba

Moin zusammen,
ich habe leider das auch das  FHEM: connection failed: 401: Authorization Required Problem.
Bin exakt nach den Anweisungen im Web: https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa vorgegangen und nach längerer Fehlersuche jetzt wirklich ratlos, was ich machen soll. Die Hinweise, die ich gefunden habe, das attr alexa-FHEM-auth zu setzen habe ich probiert in allen möglichen mir sinnvoll erscheinenden Kombinationen. Genommen habe ich den erst einmal den Usernamen pi dann : und dann das zugehörige Passwort. Funzt nicht. Auch andere user:passwd kombis wie z.B. der fürs web interface gehen nicht. Ich bin wirklich ratlos und wäre sehr dankbar für einen Tipp.
Gruß
Olli

amenomade

#12
alexaFHEM-auth heisst es (und nicht alexa-FHEM-auth)
Hier gehört natürlich nicht pi, sondern die Zugangsdaten von deiner FHEMWEB Instanz

Erreichst Du deine FHEMWEB Intanz mit http://127.0.0.1:8083/fhemoder mit https://127.0.0.1:8083/fhem? Wenn 2. dann auch ssl:true in config setzen

Wobei... das letzte sollte mit FHEM-Connector nicht nötig sein.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

ollibaba

Danke für die schnelle Antwort.
Ich rufe die FHEM Instanzen (habe 2 am Laufen, die über fhem2fhem gekoppelt sind) mit der echten IP und über http auf.
Im Anhang 1x die logdatei anonymisiert.
Gruß
Olli

ollibaba

Ach so und wenn ich mit: attr alexaFHEM-host  die echte IP (http://192.168.1xx.yy:8083/fhem eingebe bekomme ich im log: Unknown cipher type '/tmp/alexa-fhem.cfg'