39_gassistant.pm (Google Assistant, Google Home)

Begonnen von dominik, 29 Januar 2019, 21:59:53

Vorheriges Thema - Nächstes Thema

Barracus

Hallo zusammen,

seit Juli nutze ich mit großer Freude das gAssistant Modul. Danke dafür!

Seit Ende November habe ich allerdings Probleme mit dem Login. Ich weiß nicht woher es kommt, da ich seit Monate nichts geändert habe.
FHEM ist mit PWD geschützt und bisher funktionierte alles ganz gut (das Attribut gassistantFHEM-auth ist gesetzt, anmeldedaten sind aber nicht in gassitant-fhem.cfg)

Hier ist die erste Fehlermeldung, die ich im Log gefunden habe:

[2019-11-27 10:37:07] [FHEM] Get refresh token...
[2019-11-27 10:37:07] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=get%20gAssistant%20refreshToken&fwcsrf=csrf_211[Zahlen]539&XHR=1
[2019-11-27 10:37:08] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=setreading%20gAssistant%20gassistant-fhem-connection%20connecting...&fwcsrf=csrf_211[Zahlen]539&XHR=1
[2019-11-27 10:37:08] [FHEM] Found refresh token in reading
{ FetchError: invalid json response body at https://fhemconnector.eu.auth0.com/oauth/token reason: Unexpected token i in JSON at position 0
    at /usr/lib/node_modules/gassistant-fhem/node_modules/node-fetch/lib/index.js:272:32
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:189:7)
  message: 'invalid json response body at https://fhemconnector.eu.auth0.com/oauth/token reason: Unexpected token i in JSON at position 0',
  type: 'invalid-json' }
[2019-11-27 10:37:09] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=setreading%20gAssistant%20gassistant-fhem-connection%20login%20failed%2C%20please%20retry&fwcsrf=csrf_211[Zahlen]539&XHR=1
[2019-11-27 10:37:09] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=setreading%20gAssistant%20gassistant-fhem-lasterror%20FetchError%3A%20invalid%20json%20response%20body%20at%20https%3A%2F%2Ffhemconnector.eu.auth0.com%2Foauth%2Ftoken%20reason%3A%20Unexpected%20token%20i%20in%20JSON%20at%20position%200&fwcsrf=csrf_211[Zahlen]539&XHR=1
[2019-11-27 10:37:09] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=setreading%20gAssistant%20gassistant-fhem-versionAvailable%202.0.0&fwcsrf=csrf_211[Zahlen]539&XHR=1
Loading cli.js...
/usr/lib/node_modules/gassistant-fhem/node_modules/sync-rpc/lib/index.js:151
    throw error;
    ^

Error: getaddrinfo EAI_AGAIN fhem-ga-connector.firebaseapp.com:443
    at extractValue (/usr/lib/node_modules/gassistant-fhem/node_modules/sync-rpc/lib/index.js:149:19)
    at /usr/lib/node_modules/gassistant-fhem/node_modules/sync-rpc/lib/index.js:159:12
    at request (/usr/lib/node_modules/gassistant-fhem/node_modules/sync-request/lib/index.js:28:15)
    at getModule (/usr/lib/node_modules/gassistant-fhem/lib/cli.js:10:13)
    at Object.<anonymous> (/usr/lib/node_modules/gassistant-fhem/lib/cli.js:16:18)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
Loading cli.js...
Loading version.js...
Loading server.js...
Loading user.js...
Loading logger.js...
Loading fhem.js...
Loading database.js...
error: auth format wrong. must be user:password


Das gassistant Gerät startet sich dabei immer neu und die Fehlermeldung ab dem letztem "Loading cli.js..." wiederholt sich.

ich habe dann:
- so wie im Wiki beschrieben die Datei gassistant-fhem.cfg mit FHEM User und PWD aktualisiert.
- nodejs und gassistant-fhem neu installiert
- den PWD-Schutz aus FHEM gelöscht und gassistantFHEM-auth und gassistant-fhem.cfg entsprechend angepasst.
Nichts davon hat leider geholfen.

Jetzt, dass FHEM nicht PWD-geschützt ist, startet das gAssistant Gerät gibt aber Fehlermeldungen in den Readings (war vorher nicht der Fall):

gassistant-fhem-connection: login failed, please retry
gassistant-fhem-lasterror: FetchError: invalid json response body at https://fhemconnector.eu.auth0.com/oauth/token reason: Unexpected token i in JSON at position 0


Das Reading gassistant-fhem-uid ist "|111...848".
Das Gerät heißt "gAssistant".

Hilfe... ich weiß nicht weiter... :)

Danke euch!
Ciao.

meisterpe

Hallo, ich bekomme Fehlermeldungen wenn ich den AuthCode bekommen möchte!! Habe schon 'npm rebuild' ausgeführt ohne Ergebnis. Was fehlt noch oder kann ich machen?

Danke.
----------


pi@smarthome:~ $ sudo npm install -g gassistant-fhem --unsafe-perm
/usr/bin/gassistant-fhem -> /usr/lib/node_modules/gassistant-fhem/bin/gassistant-fhem
+ gassistant-fhem@2.3.0
updated 1 package in 16.593s



pi@smarthome:~ $ gassistant-fhem
Loading cli.js...
Loading version.js...
Loading server.js...
Loading user.js...
Loading logger.js...
Loading fhem.js...
Loading database.js...
/usr/local/lib/node_modules/gassistant-fhem/node_modules/vm2/lib/main.js:522
         throw this._internal.Decontextify.value(e);
         ^

Error: Failed to load gRPC binary module because it was not installed for the current system
Expected directory: node-v79-linux-arm-glibc
Found: [node-v64-linux-arm-glibc]
This problem can often be fixed by running "npm rebuild" on the current system
Original error: Cannot find module '/usr/local/lib/node_modules/gassistant-fhem/node_modules/grpc/src/node/extension_binary/node-v79-linux-arm-glibc/grpc_node.node'
Require stack:
- /usr/local/lib/node_modules/gassistant-fhem/node_modules/grpc/src/grpc_extension.js
- /usr/local/lib/node_modules/gassistant-fhem/node_modules/grpc/src/client_interceptors.js
- /usr/local/lib/node_modules/gassistant-fhem/node_modules/grpc/src/client.js
- /usr/local/lib/node_modules/gassistant-fhem/node_modules/grpc/index.js
- /usr/local/lib/node_modules/gassistant-fhem/node_modules/@firebase/firestore/dist/index.node.cjs.js
- /usr/local/lib/node_modules/gassistant-fhem/node_modules/firebase/firestore/dist/index.cjs.js
- /usr/local/lib/node_modules/gassistant-fhem/node_modules/vm2/lib/main.js
- /usr/local/lib/node_modules/gassistant-fhem/node_modules/vm2/index.js
- /usr/local/lib/node_modules/gassistant-fhem/lib/cli.js
- /usr/local/lib/node_modules/gassistant-fhem/bin/gassistant-fhem
    at Object.<anonymous> (/usr/local/lib/node_modules/gassistant-fhem/node_modules/grpc/src/grpc_extension.js:53:17)
    at Module._compile (internal/modules/cjs/loader.js:1139:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1159:10)
    at Module.load (internal/modules/cjs/loader.js:988:32)
    at Function.Module._load (internal/modules/cjs/loader.js:896:14)
    at Module.require (internal/modules/cjs/loader.js:1028:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/gassistant-fhem/node_modules/grpc/src/client_interceptors.js:144:12)
    at Module._compile (internal/modules/cjs/loader.js:1139:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1159:10) {
  code: 'MODULE_NOT_FOUND'
}

SouzA

#1307
Zitat von: dominik am 14 Dezember 2019, 13:15:11
Bitte Version 2.3.0 testen. Falls vorher schon eine Installation gestartet wurde, unbedingt auch ein sudo npm remove -g gassistant-fhem machen.

Habe nun
$ npm -v
6.13.4
$ node -v
v13.3.0

mit gassistant-fhem 2.3.0 am Laufen.

Komisch, dass es bei dir funktioniert! Ich krieg es nicht zum laufen und ich weiß auch nicht mehr weiter.
Der Raspi ist nun komplett neu aufgesetzt.
Raspi 4, Buster.
Fhem aus Backup wiederhergestellt.
Ansonsten siehe Bilder.

Hast du noch nen Tip?

Bis denn
SouzA

EDIT:
Der Dienst wird auch ständig gestartet und gestoppt.
Zu einer URL kommt es nicht.
(gassistant in fhem neu erstellt)
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

dominik

Hi,

die Probleme haben, bitte ein remove -g gassistant-fhem probieren und dann nochmals installieren.
Wenn es nicht tut, bitte nochmals das Log posten.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Barracus

Zitat von: dominik am 21 Dezember 2019, 15:48:38
Hi,

die Probleme haben, bitte ein remove -g gassistant-fhem probieren und dann nochmals installieren.
Wenn es nicht tut, bitte nochmals das Log posten.

Hallo Dominik,

so hat es funktioniert. Remove gassistant-fhem war glaube ich das einzige, was ich nicht probiert hatte :)

Danke dir!
Ciao

ReneH87

Hi,

auch von mir nochmal ein Danke. Benutze das Modul schon eine Weile und es funktioniert im Alltag super  :)

Nur eine Kleinigkeit die mir aufgefallen ist:

[2019-12-22 3:06:03 PM] GOOGLE MSG RECEIVED: {"log":"color not a number: undefined => NaN","msg":"LOG_ERROR","ts":1577023563432}
[2019-12-22 3:06:03 PM] Received firestore2fhem: {"log":"color not a number: undefined => NaN","msg":"LOG_ERROR","ts":1577023563432}
[2019-12-22 3:06:03 PM] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=setreading%20GoogleAssistant%20gassistant-fhem-lastServerError%20color%20not%20a%20number%3A%20undefined%20%3D%3E%20NaN&fwcsrf=csrf_103904333762610&XHR=1


Wenn ich mich nicht komplett irre, kommt der Fehler von meinem Lenovo Smart Display. Da funktioniert nämlich auch die Farbänderung nicht (Google entschuldigt sich, dass das gerade nicht funktioniert, wenn man eine Farbe auswählt). Am Handy gehts...

dominik

Hi,

wenn es am Handy geht, aber am Smart Display nicht, dann liegt das leider meistens an Google. Schick mir bitte dennoch einen Auszug des Devices das den Fehler verursacht, dann kann ich das beheben.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

SouzA

#1312
Zitat von: dominik am 21 Dezember 2019, 15:48:38
Hi,

die Probleme haben, bitte ein remove -g gassistant-fhem probieren und dann nochmals installieren.
Wenn es nicht tut, bitte nochmals das Log posten.

Hi,
kann es sein, dass die Ports geändert wurden?
Der Port 3000 wird schon von was anderem verwendet. Ist das nicht in der cfg hinterlegt?
Hatte vorher auch funktioniert... bzw. die 2.0 Version funktioniert ja noch.

Kann ich den Port von 3000 auf was anderes switchen?

Thx und bis denn
SouzA

EDIT:
Hier der log...
[23.12.2019, 16:22:06] using ./gassistant-fhem.cfg
[23.12.2019, 16:22:06] ---
[23.12.2019, 16:22:06] config:
{"connections":[{"name":"XXXX","webname":"XXXX","auth":{"user":"XXXXX","pass":"YYYYYYY"},"server":"127.0.0.1","port":"8096","filter":"room=GoogleHome"}],"gassistant":{"description":"FHEM Connect"}}

[23.12.2019, 16:22:06] ---
[23.12.2019, 16:22:06] Google Assistant FHEM Connect 2.3.0 started
[23.12.2019, 16:22:06] Fetching FHEM connections...
[23.12.2019, 16:22:07] [ghome] starting longpoll: http://127.0.0.1:8096/ghome?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON×tamp=157711452
events.js:282
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE: address already in use 0.0.0.0:3000
    at Server.setupListenHandle [as _listen2] (net.js:1308:16)
    at listenInCluster (net.js:1356:12)
    at doListen (net.js:1495:7)
    at processTicksAndRejections (internal/process/task_queues.js:85:21)
Emitted 'error' event on Server instance at:
    at emitErrorNT (net.js:1335:8)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  code: 'EADDRINUSE',
  errno: -98,
  syscall: 'listen',
  address: '0.0.0.0',
  port: 3000
}
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

ReneH87

#1313
Zitat von: dominik am 23 Dezember 2019, 07:05:03
Hi,

wenn es am Handy geht, aber am Smart Display nicht, dann liegt das leider meistens an Google. Schick mir bitte dennoch einen Auszug des Devices das den Fehler verursacht, dann kann ich das beheben.

Welche Infos brauchst du genau? Im Log gibt es leider nicht mehr Infos, auch wenn ich klicke und direkt ins Log schaue. Komischerweise ging es heute morgen übrigens kurz mit einer Farbe und seitdem geht wieder gar keine

[2019-12-23 8:26:17 AM] GOOGLE MSG RECEIVED: {"cmd":"set Wohnzimmer.Stimmungslicht off;set Wohnzimmer.Sideboard off;set Wohnzimmer.Stehlampe off;set Wohnzimmer.Wohnwand off;set Wohnzimmer.Vitrine off","connection":"http://127.0.0.1:8083/fhem","id":0,"msg":"EXECUTE","ts":1577085977427}
[2019-12-23 8:26:17 AM] Received firestore2fhem: {"cmd":"set Wohnzimmer.Stimmungslicht off;set Wohnzimmer.Sideboard off;set Wohnzimmer.Stehlampe off;set Wohnzimmer.Wohnwand off;set Wohnzimmer.Vitrine off","connection":"http://127.0.0.1:8083/fhem","id":0,"msg":"EXECUTE","ts":1577085977427}
[2019-12-23 8:26:17 AM] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20Wohnzimmer.Stimmungslicht%20off%3Bset%20Wohnzimmer.Sideboard%20off%3Bset%20Wohnzimmer.Stehlampe%20off%3Bset%20Wohnzimmer.Wohnwand%20off%3Bset%20Wohnzimmer.Vitrine%20off&fwcsrf=csrf_114563946604549&XHR=1
[2019-12-23 8:26:17 AM] [FHEM] update reading: Wohnzimmer.Stimmungslicht:state = off
[2019-12-23 8:26:17 AM] [FHEM] update reading: Wohnzimmer.Wohnwand:pct = 71.26
[2019-12-23 8:26:17 AM] [FHEM] update reading: Wohnzimmer.Wohnwand:rgb = b63a78
[2019-12-23 8:26:18 AM] [FHEM] update reading: Wohnzimmer.Vitrine:state = Swi: off
[2019-12-23 8:26:18 AM] [FHEM] update reading: Wohnzimmer.Wohnwand:pct = 15.54
[2019-12-23 8:26:18 AM] [FHEM] update reading: Wohnzimmer.Wohnwand:rgb = 280d1a
[2019-12-23 8:26:18 AM] reportstate: Wohnzimmer.Stimmungslicht
[2019-12-23 8:26:18 AM] [FHEM] update reading: Wohnzimmer.Wohnwand:pct = 0
[2019-12-23 8:26:19 AM] [FHEM] update reading: Wohnzimmer.Wohnwand:rgb = 000000
[2019-12-23 8:26:19 AM] reportstate: Wohnzimmer.Vitrine


Das Device ist der EspLedController hier aus dem Forum, mit folgenden Readings:


   colorMode      hsv   
   config-color-brightness-blue      100   
   config-color-brightness-cw      100   
   config-color-brightness-green      100   
   config-color-brightness-red      100   
   config-color-brightness-ww      100   
   config-color-colortemp-cw      6000   
   config-color-colortemp-ww      2700   
   config-color-hsv-blue      0   
   config-color-hsv-cyan      0   
   config-color-hsv-green      0   
   config-color-hsv-magenta      0   
   config-color-hsv-model      0   
   config-color-hsv-red      0   
   config-color-hsv-yellow      0   
   config-color-outputmode      0   
   config-events-color_interval_ms      500   
   config-events-color_mininterval_ms      500   
   config-events-server_enabled      1   
   config-events-transfin_interval_ms      1000   
   config-network-connection-dhcp      1   
   config-security-api_secured      0   
   ct      2700   
   hsv      330.03,68.04,78.01   
   hue      330.03   
   pct      78.01   
   raw_blue      526   
   raw_cw      0   
   raw_green      256   
   raw_red      798   
   raw_ww      0   
   rgb      c74083   
   sat      68.04   
   state      opened   
   stateLight      on   
   val      78.01   

dominik

Zitat von: SouzA am 23 Dezember 2019, 12:34:23
Hi,
kann es sein, dass die Ports geändert wurden?
Der Port 3000 wird schon von was anderem verwendet. Ist das nicht in der cfg hinterlegt?
Hatte vorher auch funktioniert... bzw. die 2.0 Version funktioniert ja noch.

Kann ich den Port von 3000 auf was anderes switchen?

Thx und bis denn
SouzA

EDIT:
Hier der log...
[23.12.2019, 16:22:06] using ./gassistant-fhem.cfg
[23.12.2019, 16:22:06] ---
[23.12.2019, 16:22:06] config:
{"connections":[{"name":"XXXX","webname":"XXXX","auth":{"user":"XXXXX","pass":"YYYYYYY"},"server":"127.0.0.1","port":"8096","filter":"room=GoogleHome"}],"gassistant":{"description":"FHEM Connect"}}

[23.12.2019, 16:22:06] ---
[23.12.2019, 16:22:06] Google Assistant FHEM Connect 2.3.0 started
[23.12.2019, 16:22:06] Fetching FHEM connections...
[23.12.2019, 16:22:07] [ghome] starting longpoll: http://127.0.0.1:8096/ghome?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON×tamp=157711452
events.js:282
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE: address already in use 0.0.0.0:3000
    at Server.setupListenHandle [as _listen2] (net.js:1308:16)
    at listenInCluster (net.js:1356:12)
    at doListen (net.js:1495:7)
    at processTicksAndRejections (internal/process/task_queues.js:85:21)
Emitted 'error' event on Server instance at:
    at emitErrorNT (net.js:1335:8)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  code: 'EADDRINUSE',
  errno: -98,
  syscall: 'listen',
  address: '0.0.0.0',
  port: 3000
}


Danke fuer den Input! Bislang lief gar kein lokaler Server, daher wurde bislang auch keinerlei Server Port benoetigt. Wenn dann naechstes Jahr Local Home SDK aktiviert wird, wird dieser Server benoetigt. Damit wird die Latenz bei Aufrufen merklich reduziert, da die Anfragen nicht mehr zu Google in die Cloud gehen, sondern lokal bearbeitet werden. Ich werde den Port fuer den Server noch konfigurierbar machen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Zur Info, das Ergebnis der Umfrage fuer die Umsetzung der naechsten Traits:
- TemperatureControl (5 Stimmen)
- CameraStream (4)
- StatusReport (3)
- LightEffects (2)
- HumiditySetting (1)

Ich werde daher in den naechsten Tagen die Implementierung der Traits starten.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

SouzA

Zitat von: dominik am 25 Dezember 2019, 13:46:38
Zur Info, das Ergebnis der Umfrage fuer die Umsetzung der naechsten Traits:
- TemperatureControl (5 Stimmen)
- CameraStream (4)
- StatusReport (3)
- LightEffects (2)
- HumiditySetting (1)

Ich werde daher in den naechsten Tagen die Implementierung der Traits starten.
Moin,
kurze Frage:
Was ist an Temperatur Kontrolle neu? Das geht doch schon, oder was ist damit gemeint?

Thx und bis denn
SouzA
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

dominik

TemperatureControl: Ist eher für Backöfen, Wasserkocher, Boiler oder ähnliches (https://developers.google.com/assistant/smarthome/traits/temperaturecontrol)
TemperatureSetting: Nur für Thermostate, das ist bereits implementiert (https://developers.google.com/assistant/smarthome/traits/temperaturesetting)
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

SouzA

Zitat von: dominik am 25 Dezember 2019, 13:41:22
Danke fuer den Input! Bislang lief gar kein lokaler Server, daher wurde bislang auch keinerlei Server Port benoetigt. Wenn dann naechstes Jahr Local Home SDK aktiviert wird, wird dieser Server benoetigt. Damit wird die Latenz bei Aufrufen merklich reduziert, da die Anfragen nicht mehr zu Google in die Cloud gehen, sondern lokal bearbeitet werden. Ich werde den Port fuer den Server noch konfigurierbar machen.
Hi,
kann ich irgendwie von 2.3.0 auf 2.0.0 zurück?
Wie wäre der Befehl dazu?

Kriege den imom ja überhaupt nicht zum laufen, wenn neu aufgesetzt.

Thx und bis denn
SouzA
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

dominik

Hi,

es sollte eigentlich trotz der Port 3000 Fehlermeldung laufen. Kannst du bitte nochmals testen? Danke!
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik