FHEM Forum

FHEM => Frontends => Sprachsteuerung => Thema gestartet von: Sir BuB am 28 Juli 2017, 11:34:33

Titel: Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: Sir BuB am 28 Juli 2017, 11:34:33
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?
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: MadMax-FHEM am 28 Juli 2017, 20:40:31
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
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: cs-online am 29 Juli 2017, 12:47:15
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 ?!
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: MadMax-FHEM am 29 Juli 2017, 19:01:08
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
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: amenomade am 01 August 2017, 21:23:17
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"
        }
    ]
}
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: Sir BuB am 02 August 2017, 12:41:44
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?
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: amenomade am 02 August 2017, 13:22:06
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
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: Sir BuB am 04 August 2017, 12:05:19
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?
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: amenomade am 04 August 2017, 12:54:58
Ist Fhem unter http://127.0.0.1:8083/fhem aus dem Rechner, wo Alexa installiert ist, in einem Browser erreichbar?
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: kmidt am 08 Februar 2019, 14:40:08
Hallo gibt es hierzu nun eine Lösung ?

Habe das selbe Problem
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: justme1968 am 08 Februar 2019, 17:40:03
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 (https://wiki.fhem.de/wiki/FHEM_Connector)
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: ollibaba am 13 Mai 2019, 18:47:25
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 (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
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: amenomade am 13 Mai 2019, 18:53:55
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.
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: ollibaba am 13 Mai 2019, 19:26:30
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
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: ollibaba am 13 Mai 2019, 19:31:22
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'
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: ollibaba am 13 Mai 2019, 19:43:55
Sorry, sorry, sorry. 
Das Problem sass mal wieder vorm keyboard. Danke für den Hinweis mit dem FHEMWEB user.. Das war die Lösung. Wenn man den natürlich nicht richtig eingibt (mea culpa, groß und kleinbuchstaben sollte man auch nutzen, wenn vorhanden), dann funzt es auch nicht. So war es erst mal  :-[.
Einmal richtig eingegeben und ich habe jetzt ein alexaFHEM.ProxyConnection running; SSH connected   8) ;D
Danke, danke.
Grüße
Olli
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: hoppel118 am 12 Juli 2019, 13:26:31
Moinsen,

danke erstmal für diesen Thread. Ich stand gerade vor dem gleichen Problem. Wollte gerade eine Anpassung am Wiki vornehmen und dies ergänzen. Dann fiel mir auf, dass darauf im Wiki eingegangen wird, meiner Ansicht nach aber an der falschen Stelle.

Erst nach "get <alexa> proxyKey" kommt der Hinweis, dass ggf. noch "attr alexa alexaFHEM-auth user:pass" zu setzen ist. Soweit habe ich aber gar nicht gelesen, da ich den ProxyKey noch nicht auslesen konnte.

Wie dem au sei... Ich würde im Wiki die auth-Thematik als Option direkt hinter das define schieben und dort auch nochmal die genaue Fehlermeldung "alexaFHEM stopped; failed to connect to fhem: 401: Authorization Required" aufführen.

Geht ihr da mit? Dann mache ich das.

Gruß Hoppel
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: gvzdus am 16 Juli 2019, 21:50:56
Spät, aber: Nur zu!
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: hoppel118 am 17 Juli 2019, 18:18:48
Alles klar. Ich schaue mir das bei Gelegenheit nochmal im Wiki an und passe es an.

Ich würde irgendwo in der Einleitung auch noch ergänzen wollen, dass das Modul nicht ausschließlich mit Amazon Echo und Echo dot funktioniert, sondern auch mit Sonos One und Beam. Ich habe mir nämlich kürzlich ein Sonos System bestehend aus Beam, Sub und 2x One für's Wohnzimmer geholt und mir war bis zur Einrichtung nicht klar, ob das mit Sonos überhaupt funktionieren wird. Das geht auch aus dem Wiki Artikel zum FHEM Connector nicht hervor.

Aber gut, nun habe ich verstanden, wie die Einrichtung funktioniert und es war einfacher als gedacht. Die Erkenntnis war das alle Drittanbieter-Systeme, die eine Alexa Sprachunterstützung anbieten, funktionieren müssten, da das Modul ,,FHEM Connector" unabhängig von der eingesetzten Hardware funktioniert.

Habe ich das richtig verstanden?

Wenn ja, ergänze ich auch das im Wiki. ;)

Gruß Hoppel
Titel: Antw:Alexa-Fhem: Alles zu 401: Authorization Required
Beitrag von: hoppel118 am 25 Juli 2019, 16:59:49
OK, ich habe die beiden Änderungen vorgenommen:


Ich hoffe, das geht so durch. ;)

Viel Spaß noch!

Gruß Hoppel