FHEM Connector - App findet keine devices aber Verbindung funktioniert

Begonnen von Kohle77, 10 Mai 2019, 06:09:46

Vorheriges Thema - Nächstes Thema

Kohle77

Hallo,
ich habe den FHEM Connector installiert und eingerichtet und die Verbindung funktioniert laut der App.
Jetzt habe ich KNX devices eingerichtet die so aussehen (list KNX_.....):

Internals:
   CFGFN     
   DEF        3/0/12:dpt1
   DEVNAME    KNX_0300012
   FIRSTGADNAME g1
   FUUID      5cd4f1f8-f33f-c4f0-c4b1-c7043da64130e006
   GETSTRING  g1:noArg
   IODev      KNX
   NAME       KNX_0300012
   NR         509
   NTFY_ORDER 50-KNX_0300012
   SETSTRING  g1:off,on
   STATE      off
   TYPE       KNX
   GADDETAILS:
     g1:
       CODE       0300c
       GROUP      3/0/12
       MODEL      dpt1
       NO         1
       OPTION     
       RDNAMEGET  getG1
       RDNAMEPUT  putG1
       RDNAMESET  setG1
       SETLIST    :off,on
   GADTABLE:
     0300c      g1
   READINGS:
     2019-05-10 05:38:51   last-sender     fhem
     2019-05-10 05:38:51   setG1           off
     2019-05-10 05:38:51   state           off
Attributes:
   IODev      KNX
   alexaName  Treppenhaus
   alias      Treppenhaus
   genericDeviceType switch
   room       KNX


Wenn ich nun aus der APP nach devices suche sieht es im Log des Connectors so aus:

[10.5.2019, 05:44:12] sshautoconf: Our SSH key is known at the reverse proxy, good!
[10.5.2019, 05:44:12] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bjsonlist2%20alexa%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
*** FHEM: connected
[10.5.2019, 05:44:12] [FHEM] got: 2 results
[10.5.2019, 05:44:12] [FHEM] KNX_0300004 is switch
[10.5.2019, 05:44:12] [FHEM] KNX_0300004 has
[10.5.2019, 05:44:12] [FHEM] KNX_0300012 is switch
[10.5.2019, 05:44:12] [FHEM] KNX_0300012 has
[10.5.2019, 05:44:12] BearerToken '...XXXX' read from alexa
[10.5.2019, 05:44:12] [FHEM] got .eventToken
[10.5.2019, 05:44:12] refreshing token
[10.5.2019, 05:44:12] 39_alexa.pm is new version: true
[10.5.2019, 05:44:12] sshautoconf: completed successfully
[10.5.2019, 05:44:12] *** SSH: proxy configuration set up done
[10.5.2019, 05:44:12] Reading alexaFHEM.ProxyConnection set to starting;; starting SSH
[10.5.2019, 05:44:12] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20alexa%20alexaFHEM.ProxyConnection%20starting%3B%3B%20starting%20SSH%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[10.5.2019, 05:44:12] Starting SSH with -R 1234:127.0.0.1:34665 -oServerAliveInterval=90 -i /opt/fhem/.ssh/id_rsa -p 58824 fhem-va.fhem.de
[10.5.2019, 05:44:12] Reading alexaFHEM.ProxyConnection set to running;; SSH connected
[10.5.2019, 05:44:12] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20alexa%20alexaFHEM.ProxyConnection%20running%3B%3B%20SSH%20connected%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[10.5.2019, 05:44:12] *** SSH: proxy connection established
[10.5.2019, 05:44:12] SSH: Welcome at the reverse proxy!  This pseudoshell does not react to any input - do not get irritated. 
[10.5.2019, 05:44:12] got fresh token
[10.5.2019, 05:45:35] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa.Discovery","name":"Discover","payloadVersion":"3","messageId":"85e9b61d-efb4-4d1b-8aa6-f45e5bf43125"},"payload":{"scope":{"type":"BearerToken","token":"XXXXXXXXXXXXXXX"}}}}
[10.5.2019, 05:45:35] found 0 device(s)
[10.5.2019, 05:45:35] <<<< [ssh] {"event":{"header":{"namespace":"Alexa.Discovery","name":"Discover.Response","payloadVersion":"3","messageId":"a4ffcf37-8233-451c-af38-2cfb9599b26f"},"payload":{"endpoints":[]}}}
[10.5.2019, 05:52:52] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa.Discovery","name":"Discover","payloadVersion":"3","messageId":"0815"},"payload":{"scope": {"type":"BearerToken","token":"XXXXXXXXXXXXXXX"}}}}
[10.5.2019, 05:52:52] found 0 device(s)
[10.5.2019, 05:52:52] <<<< [ssh] {"event":{"header":{"namespace":"Alexa.Discovery","name":"Discover.Response","payloadVersion":"3","messageId":"d50f015f-8068-4b90-9d8b-0119b41f6890"},"payload":{"endpoints":[]}}}
[10.5.2019, 05:53:03] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa.Authorization","name":"AcceptGrant","messageId":"75f25d41-241f-43ea-8fa8-2dfab6b37662","payloadVersion":"3"},"payload":{"grant":{"type":"OAuth2.AuthorizationCode","code":"RHxMzVzOMdeOVcDqTgru"},"grantee":{"type":"BearerToken","token":"XXXXXXXXXXXXXXX"}}}}


Wenn ich es richtig verstehe findet connector 2 devices in FHEM aber wie finde ich raus warum die Suche aus der app "found 0 device(s)" ergibt?

Gruß

Kohle77

Hallo,
jetzt have ich mir zwei dummy devices angelegt. Eine Lampe:

Internals:
   FUUID      5cd50806-f33f-c4f0-6325-73788178c6d01c77
   NAME       lampe
   NR         138
   STATE      off
   TYPE       dummy
   READINGS:
     2019-05-10 07:18:53   state           off
Attributes:
   alexaName  Lampe
   genericDeviceType light
   room       Training
   setList    on:off

Sowie ein Schalter:

Internals:
   FUUID      5cd5070b-f33f-c4f0-df27-24d0a45910783697
   NAME       schalter
   NR         137
   STATE      off
   TYPE       dummy
   READINGS:
     2019-05-10 07:18:53   state           off
Attributes:
   alexaName  Schalter
   genericDeviceType switch
   room       Training
   setList    on:off
   webCmd     on:off


Wenn ich nun einen reload des FHEM Connectors mache bekomme ich im log vom Connector:

[17.5.2019, 10:15:00] reloading http://127.0.0.1:8083/fhem
[17.5.2019, 10:15:00] removing KNX_0300004 from http://127.0.0.1:8083/fhem
[17.5.2019, 10:15:00] removing KNX_0300012 from http://127.0.0.1:8083/fhem
[17.5.2019, 10:15:00] removing lampe from http://127.0.0.1:8083/fhem
[17.5.2019, 10:15:00] removing schalter from http://127.0.0.1:8083/fhem
[17.5.2019, 10:15:00] [FHEM] Fetching FHEM devices...
[17.5.2019, 10:15:00] [FHEM] fetching: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20alexaName=..*&XHR=1
*** FHEM: connected
[17.5.2019, 10:15:00] [FHEM] got: 2 results
[17.5.2019, 10:15:00] [FHEM] lampe is light
[17.5.2019, 10:15:00] [FHEM] lampe has
[17.5.2019, 10:15:00] [FHEM] schalter is switch
[17.5.2019, 10:15:00] [FHEM] schalter has
[17.5.2019, 10:15:00] refreshing token
[17.5.2019, 10:15:00] refreshing token
[17.5.2019, 10:15:00] failed to refresh token: invalid_grant: 'The request has an invalid grant parameter : refresh_token'
[17.5.2019, 10:15:01] failed to refresh token: invalid_grant: 'The request has an invalid grant parameter : refresh_token'


Somit bin ich mir zumindest sicher das es nicht am KNX liegt.

Hat irgendjemand Ideen, Vorschläge?

Danke
Christian

binford6000

setList ist Leerzeichen-getrennt:
setList    on off
Warum die KNXe nicht gefunden werden weiß ich allerdings nicht...

VG Sebastian

Kohle77

Hi,
danke erstmal für den Tip.
Bisher habe ich nicht einmal meine dummy devices gefunden.
Habe jetzt in https://forum.fhem.de/index.php?topic=94817.630 gefunden:
Zitat
ist der skill noch verknüpft?

1. was steht im log wenn du die gerätesuche startest? (alexa, suche meine geräte)
  die dekstop app sollte man allgemein vermeiden. viele features sind gegenüber der
  handy app nicht nachgezogen. editieren der gruppen in der desktop app entfernen
  z.b. die echos aus den gruppen.

2. das schaut so weit gut aus. ist der skill auch noch mit deinem account verknüpft?
    falls hier irgendetwas seltsam ist: skill deaktivieren und neu verknüpfen.

3. das ist das event token um updates an amazon zu senden. der fehler verhindert z.b.
    das hinzufügen von geräten ohne alexa neu zu starten. das token wird ein mal beim
    skill verknüpfen gesetzt. wenn hier etwas nicht stimmt passt etwas nicht.

4. bei einem reload werden das/die geräte erst mal aus der internen liste gelöscht und
    dann neu hinzugefügt.

5. die zahl bei 'got: ... results' wird direkt aus dem totalResultsReturned aus dem
    zurückgelieferten json geholt. wenn das nicht mit dem manuellen ergebnis
    übereinstimmt passt irgendetwas nicht. das sollte aber nicht kritisch sein und
    das funktionieren verhindern.
Nachdem jetzt anscheinend wenigestens eins meiner dummy devices richtig konfiguriert sind, ich den skill deaktiviert habe und wieder aktiviert habe finde ich in Alexa zumindest die Lampe und kann diese auch schalten.
Als nächstes trenne ich das on off mit Leerzeichen und versuche auch den dummy Schalter zu erkennen in Alexa.

Gruß
Christian

Kohle77

Hi,
muss mich nochmal korrigieren.
Nachdem ich für das zweite dummy device wie auf https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa hingewiesen das attr homebridgemapping gesetzt habe, was ich zuvor schon bei dem einen gefundenen device gemacht hatte, findet Alexa nun beide devices.
Hier mal die beiden dummy devices:

Internals:
   FUUID      5cd50806-f33f-c4f0-6325-73788178c6d01c77
   NAME       lampe
   NR         138
   STATE      1
   TYPE       dummy
   READINGS:
     2019-05-17 12:25:43   state           1
Attributes:
   alexaName  Lampe
   genericDeviceType light
   homebridgeMapping clear On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um
   room       Training
   setList    on off

und

Internals:
   FUUID      5cd5070b-f33f-c4f0-df27-24d0a45910783697
   NAME       schalter
   NR         137
   STATE      1
   TYPE       dummy
   READINGS:
     2019-05-17 12:25:43   state           1
Attributes:
   alexaName  Schalter
   genericDeviceType switch
   homebridgeMapping clear On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um
   room       Training
   setList    on off
   webCmd     on:off


Denke wenn ich das attribut nun auch für die KNX devices setze werden diese auch gefunden.

Gruß
Christian

Kohle77

Hi,
jetzt geht es auch mit dem KNX device. Fehlendes homebridgeMapping war das Problem.

Gruß
Christian