39_gassistant.pm (Google Assistant, Google Home)

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

Vorheriges Thema - Nächstes Thema

RomanB

Hey, super! Ich habe das ganze mal mit meinem DuoFern-Rollladen ausprobiert und es funktioniert wunderbar.
Nun wollte ich auch meinen Vorwerk Staubsaugroboter anbinden. Jedoch erscheint dieser nicht in der Google Home-App wenn ich als "genericDeviceType" vacuum anwählen. Setze ich den Type zum Test auf "Shutter", wird der Staubsauger in der App angezeigt. Woran kann das liegen?

dominik

Welche Befehle kann der Vorwerk alles? Ich habe den Xiaomi Saugroboter schon integriert, da sollte der Vorwerk auch kein Problem sein. Poste mal ein jsonlist2 vom Device.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

jumperger

Hallo,
ich habe soeben google assistant installiert, warte aber vergebens auf die LoginURL.

Auufgefallen ist mir dass es in /home/pi/ kein .fhemconnect also auch kein config.json gibt.
Dann wird glaube ich auch mein FHEM unter einer falschen Adresse gesucht, nämlich 127.0.0.1 fhem ist aber über 192.168.xxx.yyy erreichbar
Mein FHEM hat auch einen User und ein Password

Das Log von gassistant ist voll mit folgenden Einträgen:

[26/12/2019, 23:42:24] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE%3Dgassistant&fwcsrf=csrf_103121333991173e15&XHR=1
[26/12/2019, 23:42:24] [FHEM] longpoll ended, reconnect in: 30000msec
[26/12/2019, 23:42:24] [FHEM] There was a problem connecting to FHEM (http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE%3Dgassistant&fwcsrf=csrf_103121333991173e15&XHR=1).
[26/12/2019, 23:42:24] [FHEM]   401: Authorization Required
[26/12/2019, 23:42:54] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON×tamp=1577403774165


Wo kann ich die richtige IP einstellen, ich habe versucht die opt/fhem/gassistant-fhem.cfg zu editieren um dort die IP, User und Passort  zu hinterlegen, aber ich habe mit pi keine Schreibrechte.

Wer kann mir helfen?
Danke

SouzA

Zitat von: dominik am 26 Dezember 2019, 12:51:37
Hi,
es sollte eigentlich trotz der Port 3000 Fehlermeldung laufen. Kannst du bitte nochmals testen? Danke!

Hmm, nö:
Loading cli.js...
Loading version.js...
Loading server.js...
Loading user.js...
Loading logger.js...
Loading fhem.js...
Loading database.js...
Loading localserver.js...
Loading localhandleEXECUTE.js...
[27.12.2019, 07:57:35] using ./gassistant-fhem.cfg
[27.12.2019, 07:57:36] ---
[27.12.2019, 07:57:36] config:
{"connections":[{"name":"XXXXX","webname":"XXXXX","auth":{"user":"XXXXX","pass":"*#PASSw0Rt#*"},"server":"127.0.0.1","port":"8096","filter":"room=GoogleHome"}],"gassistant":{"description":"FHEM Connect"}}

[27.12.2019, 07:57:36] ---
[27.12.2019, 07:57:36] Google Assistant FHEM Connect 2.3.0 started
[27.12.2019, 07:57:36] Fetching FHEM connections...
[27.12.2019, 07:57:36] [XXXXX] starting longpoll: http://127.0.0.1:8096/XXXXX?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON×tamp=1577429856133
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
}
Loading cli.js...
Loading version.js...
Loading server.js...
Loading user.js...
Loading logger.js...
Loading fhem.js...
Loading database.js...
Loading localserver.js...
Loading localhandleEXECUTE.js...
[27.12.2019, 07:58:22] using ./gassistant-fhem.cfg
[27.12.2019, 07:58:22] ---
[27.12.2019, 07:58:22] config:
{"connections":[{"name":"XXXXX","webname":"XXXXX","auth":{"user":"XXXXX","pass":"*#PASSw0Rt#*"},"server":"127.0.0.1","port":"8096","filter":"room=GoogleHome"}],"gassistant":{"description":"FHEM Connect"}}

[27.12.2019, 07:58:22] ---
[27.12.2019, 07:58:22] Google Assistant FHEM Connect 2.3.0 started
[27.12.2019, 07:58:22] Fetching FHEM connections...
[27.12.2019, 07:58:22] [XXXXX] starting longpoll: http://127.0.0.1:8096/XXXXX?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON×tamp=1577429902778
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
}
Loading cli.js...
Loading version.js...
Loading server.js...
Loading user.js...
Loading logger.js...
Loading fhem.js...
Loading database.js...
Loading localserver.js...
Loading localhandleEXECUTE.js...
[27.12.2019, 07:58:45] using ./gassistant-fhem.cfg
[27.12.2019, 07:58:45] ---
[27.12.2019, 07:58:45] config:
{"connections":[{"name":"XXXXX","webname":"XXXXX","auth":{"user":"XXXXX","pass":"*#PASSw0Rt#*"},"server":"127.0.0.1","port":"8096","filter":"room=GoogleHome"}],"gassistant":{"description":"FHEM Connect"}}

[27.12.2019, 07:58:45] ---
[27.12.2019, 07:58:45] Google Assistant FHEM Connect 2.3.0 started
[27.12.2019, 07:58:45] Fetching FHEM connections...
[27.12.2019, 07:58:45] [XXXXX] starting longpoll: http://127.0.0.1:8096/XXXXX?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON×tamp=1577429925931
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
}

Und so weiter. Der Assistant ist in neuer Neustartschleife...



Zitat von: jumperger am 27 Dezember 2019, 00:55:10
Hallo,
ich habe soeben google assistant installiert, warte aber vergebens auf die LoginURL.

Auufgefallen ist mir dass es in /home/pi/ kein .fhemconnect also auch kein config.json gibt.
Dann wird glaube ich auch mein FHEM unter einer falschen Adresse gesucht, nämlich 127.0.0.1 fhem ist aber über 192.168.xxx.yyy erreichbar
Mein FHEM hat auch einen User und ein Password

Das Log von gassistant ist voll mit folgenden Einträgen:

[26/12/2019, 23:42:24] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE%3Dgassistant&fwcsrf=csrf_103121333991173e15&XHR=1
[26/12/2019, 23:42:24] [FHEM] longpoll ended, reconnect in: 30000msec
[26/12/2019, 23:42:24] [FHEM] There was a problem connecting to FHEM (http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE%3Dgassistant&fwcsrf=csrf_103121333991173e15&XHR=1).
[26/12/2019, 23:42:24] [FHEM]   401: Authorization Required
[26/12/2019, 23:42:54] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON×tamp=1577403774165


Wo kann ich die richtige IP einstellen, ich habe versucht die opt/fhem/gassistant-fhem.cfg zu editieren um dort die IP, User und Passort  zu hinterlegen, aber ich habe mit pi keine Schreibrechte.

Wer kann mir helfen?
Danke
Die 127.0.0.1 ist die interne IP des Rechners. Das is iO so.

sudo nano opt/fhem/gassistant-fhem.cfg

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

amenomade

ZitatError: listen EADDRINUSE: address already in use 0.0.0.0:3000
Etwas lauscht schon auf Port 3000

sudo netstat -tulpn | grep 3000

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

jumperger

Nach dem Setzen von User:Passwort und einem Ein/Aus Schalten von gassistant bin ich nun soweit dass der Test-Schalter angezeigt wird.
Im Raum GoogleAssistant habe ich nun ein Device hinzugefügt, dies erscheint leider nicht in Google Home.

Liegt das daran dass das Gerät ein DOIF ist? Hier die Raw-Def vom Gerät:
defmod Licht_Buro_Taster_DOIF DOIF (xyz) (set OUT_1 PortB5 on)(set OUT_1 PortB5 off)
attr Licht_Buro_Taster_DOIF alias Light_office
attr Licht_Buro_Taster_DOIF cmdState M26_L1-2_On_Off
attr Licht_Buro_Taster_DOIF do always
attr Licht_Buro_Taster_DOIF fhem_widget_channels []
attr Licht_Buro_Taster_DOIF room E1_Buro,GoogleAssistant
attr Licht_Buro_Taster_DOIF userReadings gpio_response_22
attr Licht_Buro_Taster_DOIF wait 0,0.3
attr Licht_Buro_Taster_DOIF webCmd M26_L1-2_On_Off

setstate Licht_Buro_Taster_DOIF M26_L1-2_On_Off
setstate Licht_Buro_Taster_DOIF 2019-12-26 23:55:56 cmd 1.2
setstate Licht_Buro_Taster_DOIF 2019-12-26 23:55:56 cmd_event set_M26_L1-2_On_Off_cmd_1
setstate Licht_Buro_Taster_DOIF 2019-12-26 23:55:56 cmd_nr 1
setstate Licht_Buro_Taster_DOIF 2019-12-26 23:55:56 cmd_seqnr 2
setstate Licht_Buro_Taster_DOIF 2019-12-27 10:48:09 gpio_response_22 off
setstate Licht_Buro_Taster_DOIF 2019-10-10 21:25:13 mode enabled
setstate Licht_Buro_Taster_DOIF 2019-12-26 23:55:56 state M26_L1-2_On_Off
setstate Licht_Buro_Taster_DOIF 2019-12-26 23:55:56 wait_timer no timer


ReneH87

Zitat von: ReneH87 am 23 Dezember 2019, 15:54:40
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


Hast du noch eine Idee woran das liegen könnte? Brauchst du noch irgendwelche Infos?

amenomade

Zitat von: jumperger am 27 Dezember 2019, 12:14:00
Nach dem Setzen von User:Passwort und einem Ein/Aus Schalten von gassistant bin ich nun soweit dass der Test-Schalter angezeigt wird.
Im Raum GoogleAssistant habe ich nun ein Device hinzugefügt, dies erscheint leider nicht in Google Home.

Liegt das daran dass das Gerät ein DOIF ist? Hier die Raw-Def vom Gerät:
defmod Licht_Buro_Taster_DOIF DOIF (xyz) (set OUT_1 PortB5 on)(set OUT_1 PortB5 off)
attr Licht_Buro_Taster_DOIF alias Light_office
attr Licht_Buro_Taster_DOIF cmdState M26_L1-2_On_Off
attr Licht_Buro_Taster_DOIF do always
attr Licht_Buro_Taster_DOIF fhem_widget_channels []
attr Licht_Buro_Taster_DOIF room E1_Buro,GoogleAssistant
attr Licht_Buro_Taster_DOIF userReadings gpio_response_22
attr Licht_Buro_Taster_DOIF wait 0,0.3
attr Licht_Buro_Taster_DOIF webCmd M26_L1-2_On_Off

setstate Licht_Buro_Taster_DOIF M26_L1-2_On_Off
setstate Licht_Buro_Taster_DOIF 2019-12-26 23:55:56 cmd 1.2
setstate Licht_Buro_Taster_DOIF 2019-12-26 23:55:56 cmd_event set_M26_L1-2_On_Off_cmd_1
setstate Licht_Buro_Taster_DOIF 2019-12-26 23:55:56 cmd_nr 1
setstate Licht_Buro_Taster_DOIF 2019-12-26 23:55:56 cmd_seqnr 2
setstate Licht_Buro_Taster_DOIF 2019-12-27 10:48:09 gpio_response_22 off
setstate Licht_Buro_Taster_DOIF 2019-10-10 21:25:13 mode enabled
setstate Licht_Buro_Taster_DOIF 2019-12-26 23:55:56 state M26_L1-2_On_Off
setstate Licht_Buro_Taster_DOIF 2019-12-26 23:55:56 wait_timer no timer

Ein ungewöhnliches Gerät (wie DOIF) wird erst erkannt, wenn
- attr genericDeviceType gesetzt ist
- Das Gerät, die richtige Characteristics hat. Z.B. on / off als state und on / off als Kommandos. Dafür dient das homeBridgeMapping Attribut, und beim DOIF cmdstate
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

jumperger

Danke für die schnelle Antwort, aber für einen Noob wie mich, was heisst das in Klartext?
Die DOIF-Geschichte kommt daher dass mein "Device" ein Tasterdruck ist , also 0,3 Sekunden ON dann wieder OFF.
Ich habe keine Ahnung wie ich das anders machen könnte.

SouzA

Zitat von: amenomade am 27 Dezember 2019, 11:42:46
Etwas lauscht schon auf Port 3000

sudo netstat -tulpn | grep 3000

Jup, das ist mir bewusst.
Dominik weiß das auch schon und er wollte eine Möglichkeit einbauen den Port zu tauschen.
Er war aber der Meinung der gassistant würde trotzdem laufen... Is aber nich.

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

amenomade

Zitat von: jumperger am 27 Dezember 2019, 15:15:08
Danke für die schnelle Antwort, aber für einen Noob wie mich, was heisst das in Klartext?
Die DOIF-Geschichte kommt daher dass mein "Device" ein Tasterdruck ist , also 0,3 Sekunden ON dann wieder OFF.
Ich habe keine Ahnung wie ich das anders machen könnte.
Das heisst :
- Attribut genericDeviceType setzen - Doku im Wiki von Fhem Connector oder im CommandRef / alexa
- Attribut cmdState so ändern, dass im Status des DOIFs die Werte on oder off zurückkommen.
Doku zu cmdState: https://fhem.de/commandref_DE.html#DOIF_cmdState

Dann reload auf dem alexa Device
Sollte reichen
Wenn nicht, dann dazu homeBridgeMapping setzen. Aber versuch erstmal ohne.
Doku zu homeBridgeMapping hier: https://wiki.fhem.de/wiki/Alexa_und_Mappings#homebridgeMapping
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

SouzA

Zitat von: amenomade am 27 Dezember 2019, 11:42:46
Etwas lauscht schon auf Port 3000

sudo netstat -tulpn | grep 3000

pi@raspberrypi:~ $ sudo netstat -tulpn | grep 3000
tcp        0      0 127.0.0.1:3000          0.0.0.0:*               LISTEN      603/node

Hmm, is halt kakke.. ;)

cya
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

Zitat von: SouzA am 27 Dezember 2019, 17:42:28
Jup, das ist mir bewusst.
Dominik weiß das auch schon und er wollte eine Möglichkeit einbauen den Port zu tauschen.
Er war aber der Meinung der gassistant würde trotzdem laufen... Is aber nich.

Bis denn
SouzA

Fixed, bitte gassistant-fhem einfach neu starten. Es wird nun einfach ein beliebig freier Port automatisch ermittelt. Man muss also nichts konfigurieren :)
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Zitat von: ReneH87 am 27 Dezember 2019, 12:15:54
Hast du noch eine Idee woran das liegen könnte? Brauchst du noch irgendwelche Infos?

Gib bitte in FHEM jsonlist2 Wohnzimmer.Stimmungslicht ein und poste mir den Output. Bei dir wird ein Reading color gesucht, welches es scheinbar nicht gibt.
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 28 Dezember 2019, 00:07:47
Fixed, bitte gassistant-fhem einfach neu starten. Es wird nun einfach ein beliebig freier Port automatisch ermittelt. Man muss also nichts konfigurieren :)
Cooler Typ!
Das funktioniert.
Spendiert dem Jungen ja alle mindestens nen Kaffe!

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