[Gelöst]Verbindung FHEM -> Google Assistant fehlgeschlagen

Begonnen von lefree, 22 April 2020, 15:11:27

Vorheriges Thema - Nächstes Thema

lefree

Guten Tag

Ich bin in der Lehre und komplett neu zu FHEM. Ich mache ein Projekt wo ich mein Licht mit dem Google Assistant kontrollieren möchte. Ich wollte dies aber nicht zu einfach machen und probierte darum FHEM aus. Ich habe ein Raspy, ein CUL und ein Homematic Funk-Schaltaktor Unterputz. Ich kann das Licht vom Computer aus kontrollieren. Jetzt möchte ich den Google Assistant mit FHEM verbinden. Ich gehe nach der Anleitung in der Wiki vor:

https://wiki.fhem.de/wiki/Google_Assistant_FHEM_Connect#Installation

Ich schaffte es bis Punkt 5. Diese Login URL erscheinte aber nie. Hier ist die Fehlermeldung als ich wie in der Wiki steht gassistant-fhem im Raspy eingab:

pi@raspberrypi:/ $ gassistant-fhem
Loading cli.js...
Loading version.js...
Loading server.js...
Loading user.js...
Loading logger.js...
Loading fhem.js...
Loading database.js...
Loading localhandleQUERY.js...
Loading utils.js...
Loading localserver.js...
Loading localhandleEXECUTE.js...
[22/04/2020, 14:33:23] using /home/pi/.fhemconnect/config.json
[22/04/2020, 14:33:23] Couldn't find config.json at /home/pi/.fhemconnect/config.json, using default values.
[22/04/2020, 14:33:23] ---
[22/04/2020, 14:33:23] config:
{"connections":[{"name":"FHEM","server":"127.0.0.1","port":"8083","webname":"fhem","filter":"room=GoogleAssistant"}]}
[22/04/2020, 14:33:23] ---
[22/04/2020, 14:33:23] Google Assistant FHEM Connect 3.0.0 started
[22/04/2020, 14:33:23] Fetching FHEM connections...
[22/04/2020, 14:33:23] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1587558803560
[22/04/2020, 14:33:24] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE%3Dgassistant&fwcsrf=csrf_60442427213394&XHR=1
[22/04/2020, 14:33:24] [FHEM] longpoll ended, reconnect in: 4700msec
[22/04/2020, 14:33:24] [FHEM] There was a problem connecting to FHEM (http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE%3Dgassistant&fwcsrf=csrf_60442427213394&XHR=1).
[22/04/2020, 14:33:24] [FHEM]   401: Authorization Required
[22/04/2020, 14:33:28] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1587558808929
[22/04/2020, 14:33:28] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE%3Dgassistant&fwcsrf=csrf_60442427213394&XHR=1
[22/04/2020, 14:33:28] [FHEM] longpoll ended, reconnect in: 9700msec
[22/04/2020, 14:33:28] [FHEM] There was a problem connecting to FHEM (http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE%3Dgassistant&fwcsrf=csrf_60442427213394&XHR=1).
[22/04/2020, 14:33:28] [FHEM]   401: Authorization Required
^C[22/04/2020, 14:33:30] Got SIGINT, shutting down...


Danke schon im Voraus :)

MadMax-FHEM

Steht doch 1a in der Meldung:

Zitat
[22/04/2020, 14:33:24] [FHEM] There was a problem connecting to FHEM (http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE%3Dgassistant&fwcsrf=csrf_60442427213394&XHR=1).
[22/04/2020, 14:33:24] [FHEM]   401: Authorization Required

Hast du fhem abgesichert!?

User/Passwort!? Stichwort: allowed...

Nutzt du https bzw. ist https bei fhem aktiviert?! (OHNE würde [meiner Meinung nach] Passwort und User auch keinen Sinn machen)

Dann musst du das bei gassistant angeben!

Kenne gassistant nicht wirklich, nutze Alexa.
Ist aber ähnlich.

Also entweder gibt es dafür bei gassistant auch Attribute oder set-Befehle...
...oder in der config.json eintragen...

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)

lefree

#2
Danke für die Antwort.

Ich habe jetzt https aktiviert und mein Passwort auch nochmals aktualisiert und gassistant hinzugefügt. Die Fehlermeldung ist jetzt anders:


pi@raspberrypi:~ $ gassistant-fhem
Loading cli.js...
Loading version.js...
Loading server.js...
Loading user.js...
Loading logger.js...
Loading fhem.js...
Loading database.js...
Loading localhandleQUERY.js...
Loading utils.js...
Loading localserver.js...
Loading localhandleEXECUTE.js...
[22/04/2020, 16:55:48] using /home/pi/.fhemconnect/config.json
[22/04/2020, 16:55:48] Couldn't find config.json at /home/pi/.fhemconnect/config.json, using default values.
[22/04/2020, 16:55:48] ---
[22/04/2020, 16:55:48] config:
{"connections":[{"name":"FHEM","server":"127.0.0.1","port":"8083","webname":"fhem","filter":"room=GoogleAssistant"}]}
[22/04/2020, 16:55:48] ---
[22/04/2020, 16:55:48] Google Assistant FHEM Connect 3.0.0 started
[22/04/2020, 16:55:48] Fetching FHEM connections...
[22/04/2020, 16:55:48] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1587567348383
[22/04/2020, 16:55:49] [FHEM] longpoll error: Error: read ECONNRESET, retry in: 5000msec
[22/04/2020, 16:55:54] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1587567354086
[22/04/2020, 16:55:54] [FHEM] longpoll error: Error: read ECONNRESET, retry in: 10000msec
[22/04/2020, 16:56:04] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1587567364119
[22/04/2020, 16:56:04] [FHEM] longpoll error: Error: read ECONNRESET, retry in: 15000msec
^C[22/04/2020, 16:56:05] Got SIGINT, shutting down...



Ich sehe das Problem schon aber ich weiss nicht wie lösen. Mir ist aufgefallen es sucht ein config.json file das nicht existiert.
Zitat[22/04/2020, 16:55:48] using /home/pi/.fhemconnect/config.json
[22/04/2020, 16:55:48] Couldn't find config.json at /home/pi/.fhemconnect/config.json, using default values.

MadMax-FHEM

#3
Startest du nun manuell!?

Dann vermutlich als User pi und dann wird (verm.) im Home von User pi "gesucht"...

EDIT: ja, ok sieht man ja ;)

Wie geschrieben ich habe nur das "Code und Ablaufähnliche" Alexa...

Aber dort wird alexa-fhem (vglbar gassistant) von fhem aus durch ein fhem Modul Alexa gestartet.

Wie ist das bei Google/gassistant!?
Würde vermuten ähnlich!?

Dann würde es unter dem User fhem laufen und auch das richtige config-File finden!?

Bzw. (wieder: alexa-fhem) bearbeitet oder "findet" man als Anwender das config.json ebenfalls "unter" dem Alexa-Modul in fhem...

Evtl. empfiehlt sich den Thread in den richtigen Forenbereich (Sprachsteuerung) zu verschieben... Kannst du selbst da ist unten glaub ich irgendwo ein "Knopf"...

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)

lefree

Ja es ist glaube ich ziemlich gleich. Ich habe das Modul installiert und dort müsste ich den Google Assistant starten. Die Login URL sollte dort erscheinen, tut sie aber nicht...

Ich finde gassistant-fhem.cfg aber nicht das config.json das gesucht wird.

MadMax-FHEM

Ist bei alexa-fhem auch so, da heißt die Datei nicht mehr config.json und liegt auch nicht mehr unter: /homeDesUsersDerStartet/.alexa/ sondern "igendwo" in fhem...

Aber man kann die Datei (also die config die genommen wird vom fhem Modul [Alexa]) über Edit-files (in fhem) bearbeiten...

Die sollte eigentlich beim Start durch das Modul genommen werden.

Ebenso die Log-Datei (also die alexa-fhem / gassistant-log / NICHT fhem log) ist über das Modul erreichbar...

Aber wie immer: alles geschrieben bezogen auf alexa-fhem (sollte aber bei gassistant ähnlich/gleich sein)

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)

lefree

Ja die neue Datei finde ich schon aber wie kann ich dem gassistant sagen er soll diese brauchen. Er nimmt sie eben nicht beim start des Modules.

Ja die Log Datei finde ich.

MadMax-FHEM

#7
Liegt es an Corona oder warum sind "alle" aktuell so wortkarg... ;)

Wie wäre es mit einem list des gassistant Moduls in fhem!?

Was steht im (vom gassistant fhem Modul verwendeten) Log beim Starten DURCH das gassistant fhem Modul!?

Wo liegt laut dem gassistant fhem Modul die config!?

EDIT: normalerweise, wenn richtig angelegt, installiert und nix manuell rumgefuddelt sollte das gassistant fhem Modul das richtige ("eigene") config nehmen... Evtl. gibt es ein Attribut um den Pfad zu verändern... Bei alexa-fhem gibt es ein Attribut dafür (und viele weitere Dinge)...

Danke, 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)

lefree

Ich bin zum ersten mal in so einem Forum am schreiben darum weiss ich noch nicht wie man hier so schreibt :D

Hier ist das list:

Internals:
   FD         4
   FUUID      5e9ff1cb-f33f-81dc-f882-c4f36499607d135f
   LAST_START 2020-04-22 17:01:39
   NAME       gassistant
   NOTIFYDEV  global,global:npmjs.*gassistant-fhem.*
   NR         24
   NTFY_ORDER 50-gassistant
   PID        496
   STARTS     1
   STATE      running /usr/bin/gassistant-fhem
   TYPE       gassistant
   currentlogfile ./log/gassistant-2020-04-23.log
   logfile    ./log/gassistant-%Y-%m-%d.log
   CoProcess:
     cmdFn      gassistant_getCMD
     name       gassistant-fhem
     state      running /usr/bin/gassistant-fhem
   READINGS:
     2020-04-22 17:01:39   gassistant-fhem running /usr/bin/gassistant-fhem
     2020-04-22 16:30:20   gassistant-fhem-connection starting...
     2020-04-22 16:30:20   gassistantFHEM.loginURL Waiting for login url from gassistant-fhem
Attributes:
   devStateIcon stopped:control_home@red:start stopping:control_on_off@orange running.*:control_on_off@green:stop
   gassistantFHEM-config ./gassistant-fhem.cfg
   gassistantFHEM-log ./log/gassistant-%Y-%m-%d.log
   nrarchive  10
   room       GoogleAssistant
   stateFormat gassistant-fhem[code]

Hier ist ein Auschnitt aus dem Logfile:

[code][23/04/2020, 08:16:49] [FHEM] starting longpoll: https://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON×tamp=1587622609203
[23/04/2020, 08:16:49] [FHEM]   executing: https://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE%3Dgassistant&fwcsrf=csrf_695616267055512&XHR=1
[23/04/2020, 08:16:49] [FHEM] longpoll ended, reconnect in: 14700msec
[23/04/2020, 08:16:49] [FHEM] There was a problem connecting to FHEM (https://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE%3Dgassistant&fwcsrf=csrf_695616267055512&XHR=1).
[23/04/2020, 08:16:49] [FHEM]   401: Authorization Required
[23/04/2020, 08:17:04] [FHEM] starting longpoll: https://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON×tamp=1587622624041
[23/04/2020, 08:17:04] [FHEM]   executing: https://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE%3Dgassistant&fwcsrf=csrf_695616267055512&XHR=1
[23/04/2020, 08:17:04] [FHEM] longpoll ended, reconnect in: 19700msec
[23/04/2020, 08:17:04] [FHEM] There was a problem connecting to FHEM (https://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE%3Dgassistant&fwcsrf=csrf_695616267055512&XHR=1).
[23/04/2020, 08:17:04] [FHEM]   401: Authorization Required


Dies wiederholt sich einfach.


Also mit dem Command(gassistant-fhem) im Raspy sucht es nach diesem: /home/pi/.fhemconnect/config.json
In Fhem ist es aber ./gassistant-fhem.cfg

Danke für die Geduld! :)

MadMax-FHEM

Ok ;)

Dann: willkommen :)

Also klar, wenn du es als User pi manuell startest wird /home/pi/. usw. genommen.

Im gassistant Device steht aber ja drin welches genommen wird beim Start durch das fhem Modul: gassistantFHEM-config ./gassistant-fhem.cfg

Ich nehme mal an (Standardinstallation ohne irgendwelche "Fuddeleien"): /opt/fhem/FHEM/.gassistant-fhem.cfg

Ist der Logausschnitt nun vom manuellen Start oder der durch das Modul!?

Wenn der durch das Modul, dann fehlt in der Config (siehe zuvor) die Einträge bzgl. fhem Login...

Die entweder im richtigen config-File setzen (sollte über Edit Files erreichbar sein) oder die Attribute/set Befehle (sofern vorhanden) nutzen.

Einfach mal bei "attr" die DropDown Boxen öffnen und schauen ob das was passendes drin ist ;)

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)

lefree

Danke :)


Ich habe nachgeschaut die Datei gassistant-fhem.cfg gibt es zwei mal. Einmal in deinem genannten Pfad(/opt/fhem/FHEM/gassistant-fhem.cfg) und einmal in /opt/fhem/gassistant-fhem.cfg.

Der Logauschnitt ist durch den des Modules.

Ich habe aber Benutzername und Passwort schon gesetzt das sieht man auch in der cfg Datei.

Gruss Leandro

MadMax-FHEM

Zitat von: lefree am 23 April 2020, 13:11:33
Danke :)


Ich habe nachgeschaut die Datei gassistant-fhem.cfg gibt es zwei mal. Einmal in deinem genannten Pfad(/opt/fhem/FHEM/gassistant-fhem.cfg) und einmal in /opt/fhem/gassistant-fhem.cfg.

Der Logauschnitt ist durch den des Modules.

Ich habe aber Benutzername und Passwort schon gesetzt das sieht man auch in der cfg Datei.

Gruss Leandro

Aber scheint noch nicht zufriedenstellend zu passen:

Zitat
[23/04/2020, 08:17:04] [FHEM] There was a problem connecting to FHEM (https://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE%3Dgassistant&fwcsrf=csrf_695616267055512&XHR=1).
[23/04/2020, 08:17:04] [FHEM]   401: Authorization Required

Es gibt doch auch Attribute für User/Passwort!?

Zumindest ist das bei alexa-fhem so...

Wenn du unter Edit Files schaust, liegt da ein gassistant-fhem.cfg !?

Wenn du das öffnest, stehen da die Zugangsdaten drin!?

"Verschiebe" doch mal eines davon...

Bzw. habe ich grad mal bei mir (alexa-fhem) geschaut und da liegt die alexa-fhem.cfg unter: /opt/fhem/alexa-fhem.cfg

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)

dominik

Hi,

so wie Joachim schon geschrieben hat, bitte im Attribut gassistantFHEM-auth im Format user:password eintragen. Danach sollte der Fehler weg sein.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

lefree

Ja die Datei existiert und User:Passwort sind auch hinterlegt. In welchem Format muss ich es hinterlegen? Es ist im Moment als normaler Text hinterlegt und nicht verschlüsselt oder so. Das Passwort habe ich als base 64 encoded bei FHEM.

MadMax-FHEM

NICHT in die Datei...

Nutze die Attribute!

Alternativ: erst mal ohne User/PW nutzen, also eine weitere Webinstanz anlegen ohne allowed und da mal testen, ob es generell geht...

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)