[Gelöst] alexa-fhem: Es werden keine Geräte gefunden

Begonnen von gnatbite, 02 April 2018, 12:05:03

Vorheriges Thema - Nächstes Thema

gnatbite

Hallo zusammen,

wie viele andere bereits in diesem Forum, bin ich seit zwei Tagen dabei mein FHEM + alexa-fhem aufzusetzen, doch leider findet das Alexa App meine FHEM dummy Geräte nicht. Den Amazon-Part habe ich wirklich akribisch und mehrfach überprüft und bin mir recht sicher, dass hier alles ok ist, inkl. Trigger.
So langsam bin ich leider mit meinem Latein am Ende, so dass ich diesen Thread hier erstelle. Zunächst möchte ich unterhalb ein paar Configs / Logs zusammenfassen:

config.json

{
    "alexa": {
        "port": 3000,
        "name": "Alexa FHEM",
        "keyFile": "/opt/fhem/alexa-fhem/key.pem",
        "certFile": "/opt/fhem/alexa-fhem/cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": "amzn1.ask.skill.XXXXXXXXXXXXXXX",
        "oauthClientID": "amzn1.application-oa2-client.XXXXXXXXXXXXXXX"
    },

    "connections": [
        {
            "name": "FHEM",
            "server": "localhost",
            "port": "8083",
            "webname": "fhem",
            "ssl": false,
            "filter": "room=alexa"
        }
    ]
}



Start-Debug log von Alexa FHEM


./alexa -D
[2018-04-02 11:57:10] using /opt/fhem/.alexa/config.json
[2018-04-02 11:57:10] ---
[2018-04-02 11:57:10] this is alexa-fhem 0.4.4
[2018-04-02 11:57:10] Fetching FHEM devices...
[2018-04-02 11:57:10] [FHEM] starting longpoll: http://localhost:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1522663030097
[2018-04-02 11:57:10] Server listening on: https://:::3000
[2018-04-02 11:57:10] [FHEM] Checking devices and attributes...
[2018-04-02 11:57:10] [FHEM]   executing: http://localhost:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&fwcsrf=csrf_380578658262268&XHR=1
[2018-04-02 11:57:10] [FHEM]   executing: http://localhost:8083/fhem?cmd=jsonlist2%20TYPE=alexa&fwcsrf=csrf_380578658262268&XHR=1
[2018-04-02 11:57:10] [FHEM] Fetching FHEM devices...
[2018-04-02 11:57:10] [FHEM] fetching: http://localhost:8083/fhem?cmd=jsonlist2%20room=alexa&fwcsrf=csrf_380578658262268&XHR=1
[2018-04-02 11:57:10] [FHEM] alexa device is MyAlexa
[2018-04-02 11:57:10] [FHEM] mappings for MyAlexa: {}
[2018-04-02 11:57:10] [FHEM] MyAlexa is switch
[2018-04-02 11:57:10] [FHEM] MyAlexa has
[2018-04-02 11:57:10] [FHEM] homebridgeMapping: #Characteristic=<name>=<value>,...
On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um

Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

Hue=verb=stelle,valuePrefix=auf,values=rot:0;grün:128;blau:200
Hue=verb=färbe,values=rot:0;grün:120;blau:220

Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER
Saturation=verb=sättige,values=AMAZON.NUMBER

TargetPosition=verb=mach,articles=den;die,values=auf:100;zu:0
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad

Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

#Weckzeit=verb=stelle,valuePrefix=auf;für,values=AMAZON.TIME,valueSuffix=uhr
[2018-04-02 11:57:10] [FHEM] value2homekit: { 'AMAZON.NUMBER': 'AMAZON.NUMBER' }
[2018-04-02 11:57:10] [FHEM] value2homekit: { rot: '0', 'grün': '128', blau: '200' }
[2018-04-02 11:57:10] [FHEM] value2homekit: { rot: '0', 'grün': '120', blau: '220' }
[2018-04-02 11:57:10] [FHEM] value2homekit: { 'AMAZON.NUMBER': 'AMAZON.NUMBER' }
[2018-04-02 11:57:10] [FHEM] value2homekit: { 'AMAZON.NUMBER': 'AMAZON.NUMBER' }
[2018-04-02 11:57:10] [FHEM] value2homekit: { auf: '100', zu: '0' }
[2018-04-02 11:57:10] [FHEM] value2homekit: { 'AMAZON.NUMBER': 'AMAZON.NUMBER' }
[2018-04-02 11:57:10] [FHEM] value2homekit: { 'AMAZON.NUMBER': 'AMAZON.NUMBER' }
[2018-04-02 11:57:10] [FHEM] value2homekit: { 'AMAZON.NUMBER': 'AMAZON.NUMBER' }
[2018-04-02 11:57:10] [FHEM]   executing: http://localhost:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;%7B$defs%7BMyAlexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20=%20%220.4.4%22%7D;%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=csrf_380578658262268&XHR=1
[2018-04-02 11:57:10] perfectOfVerb:
[2018-04-02 11:57:10] { stelle: 'gestellt',
  schalte: 'geschaltet',
  'färbe': 'gefärbt',
  mach: 'gemacht' }
[2018-04-02 11:57:10] verbsOfIntent:
[2018-04-02 11:57:10] [ OnIntent: [ 'schalte' ],
  prozentIntent: [ 'stelle' ],
  HueIntent: [ 'stelle' ],
  HueIntentB: [ 'färbe' ],
  SaturationIntent: [ 'stelle' ],
  SaturationIntentB: [ 'sättige' ],
  TargetPositionIntent: [ 'mach' ],
  gradIntent: [ 'stelle' ] ]
[2018-04-02 11:57:10] characteristicsOfIntent:
[2018-04-02 11:57:10] { OnIntent: [ 'On' ],
  prozentIntent: [ 'Brightness', 'TargetPosition', 'Volume' ],
  HueIntent: [ 'Hue' ],
  HueIntentB: [ 'Hue' ],
  SaturationIntent: [ 'Saturation' ],
  SaturationIntentB: [ 'Saturation' ],
  TargetPositionIntent: [ 'TargetPosition' ],
  gradIntent: [ 'TargetTemperature' ] }
[2018-04-02 11:57:10] prefixOfIntent:
[2018-04-02 11:57:10] { OnIntent: undefined,
  prozentIntent: 'auf',
  HueIntent: 'auf',
  HueIntentB: undefined,
  SaturationIntent: 'auf',
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'auf' }
[2018-04-02 11:57:10] suffixOfIntent:
[2018-04-02 11:57:10] { OnIntent: undefined,
  prozentIntent: 'prozent',
  HueIntent: undefined,
  HueIntentB: undefined,
  SaturationIntent: undefined,
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'grad' }
[2018-04-02 11:57:10] alexaTypes:
[2018-04-02 11:57:10] { light: [ 'licht', 'lampen' ],
  blind:
   [ 'rolladen',
     'rolläden',
     'jalousie',
     'jalousien',
     'rollo',
     'rollos' ] }
[2018-04-02 11:57:10] roomOfEcho:
[2018-04-02 11:57:10] {}
[2018-04-02 11:57:10] fhemIntents:
[2018-04-02 11:57:10] { FHEMgutenMorgenIntent: 'gutenMorgen',
  FHEMguteNachtIntent: 'guteNacht' }
[2018-04-02 11:57:10] [FHEM]   executing: http://localhost:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;list%20MyAlexa%20.Alexa.Authorization;%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=csrf_380578658262268&XHR=1
[2018-04-02 11:57:10] [FHEM] got: 3 results
[2018-04-02 11:57:10] [FHEM] MyAlexa: no service type detected
[2018-04-02 11:57:10] [FHEM] no device created for MyAlexa (alexa)
[2018-04-02 11:57:10] [FHEM] mappings for testLamp1: {}
[2018-04-02 11:57:10] [FHEM] testLamp1 is light
[2018-04-02 11:57:10] [FHEM] testLamp1 has
[2018-04-02 11:57:10] [FHEM] mappings for testSwitch1: {}
[2018-04-02 11:57:10] [FHEM] testSwitch1 is switch
[2018-04-02 11:57:10] [FHEM] testSwitch1 has
[2018-04-02 11:57:10] [FHEM] got .Alexa.Authorization


In FHEM habe ich bisher nur ein paar Dummy-Devices angelegt:

  • testSwitch1
  • testLamp1

Bei beiden habe ich auch den genericdevicetype gesetzt und beide befinden sich im Raum "alexa", wie in der config.json angegeben

Bei einem Abfrageversuch der Geräte bekomme ich folgenden Log-Output von alexa-fhem:


[2018-04-02 12:00:26] accepted new token
[2018-04-02 12:00:26] { aud: 'amzn1.application-oa2-client.<GELÖSCHT>',
  user_id: 'amzn1.account.<GELÖSCHT>',
  iss: 'https://www.amazon.com',
  exp: 2859,
  app_id: 'amzn1.application.<GELÖSCHT>',
  iat: <GELÖSCHT>}
**** Received Directive: {"directive":{"header":{"namespace":"Alexa.Discovery","name":"Discover","payloadVersion":"3","messageId":"47a48d13-1e02-4219-8fc8-263572dfd703"},"payload":{"scope":{"type":"BearerToken","token":"Atza|IwEBIMwJF830eZj--oWt4A1wXrP-QB3Gli0OVYvnkdmeW6Jfa5o2r8aHc_8XMjzxjP83V_tMb9vmaX73wO7CLzWap4kpFI-d2vWFm0az-7T3lTN-eg1QF5CUtdGZ_8suG4_xUV0aJjybtniIRPcvwtQp6yaVNXOrOGDniwMajvp9zyZNXdwo6qyiVHs3PXTLJD_Y3E6uPyEkum8mf41qawGe74hINZcBfO1cGi3s5zKjopkVt968kagLcaCFijxOzHKJcpAg9agBvECGEqv0MSjbWR__lfjHWgjiEDKzsSscL4WZvS4XO80pzj0VnPXJX4ta31yr31vwjiomb9oaJU4Zr8ccFMV_f0CY_Cvb0YJPui6qrSLxmf7frMFiqf8aCjgmoLzVLge3V15ZmRGOFDZIRFvFvc5YCHEWYeJyQ7PnZW9R6xoAH23lnY-qjiovtE_2cXYIlD7zUNEgu5L9UvZRFdKabBlCajdu1fN2AnRED8r-8A"}}}}
response :{"event":{"header":{"name":"Discover.Response","payloadVersion":3,"namespace":"Alexa.Discovery","messageId":"c36a4bc6-cd94-406f-b2bc-6b437d557e43"},"payload":{"endpoints":[]}}}
**** Received Directive: {"directive":{"header":{"namespace":"Alexa.Discovery","name":"Discover","payloadVersion":"3","messageId":"82ee1896-4fcb-451f-b88a-462a165a2111"},"payload":{"scope":{"type":"BearerToken","token":"Atza|IwEBIMwJF830eZj--oWt4A1wXrP-QB3Gli0OVYvnkdmeW6Jfa5o2r8aHc_8XMjzxjP83V_tMb9vmaX73wO7CLzWap4kpFI-d2vWFm0az-7T3lTN-eg1QF5CUtdGZ_8suG4_xUV0aJjybtniIRPcvwtQp6yaVNXOrOGDniwMajvp9zyZNXdwo6qyiVHs3PXTLJD_Y3E6uPyEkum8mf41qawGe74hINZcBfO1cGi3s5zKjopkVt968kagLcaCFijxOzHKJcpAg9agBvECGEqv0MSjbWR__lfjHWgjiEDKzsSscL4WZvS4XO80pzj0VnPXJX4ta31yr31vwjiomb9oaJU4Zr8ccFMV_f0CY_Cvb0YJPui6qrSLxmf7frMFiqf8aCjgmoLzVLge3V15ZmRGOFDZIRFvFvc5YCHEWYeJyQ7PnZW9R6xoAH23lnY-qjiovtE_2cXYIlD7zUNEgu5L9UvZRFdKabBlCajdu1fN2AnRED8r-8A"}}}}
response :{"event":{"header":{"name":"Discover.Response","payloadVersion":3,"namespace":"Alexa.Discovery","messageId":"2855287d-9659-4a0e-b6ae-2b5f51806dff"},"payload":{"endpoints":[]}}}


Die oauth Client ID und oauth Client Secret   habe ich durch <GELÖSCHT> für das Posting ersetzt.

Lange Rede, kurzer Sinn. Das Alexa App findet keine Devices, obwohl das "Fetching-Devices" durch alexa-fhem folgendes ergibt:

Zitat
[2018-04-02 11:57:10] [FHEM] Fetching FHEM devices...
[2018-04-02 11:57:10] [FHEM] fetching: http://localhost:8083/fhem?cmd=jsonlist2%20room=alexa&fwcsrf=csrf_380578658262268&XHR=1



Arg "room=alexa"
Results
0
Name "MyAlexa"
PossibleSets "reload:noArg skillId"
PossibleAttrs "alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 alexaMapping:textField-long alexaTypes:textField-long fhemIntents:textField-long articles prepositions echoRooms:textField-long alexaConfirmationLevel:2,1,0 alexaStatusLevel:2,1 skillId:textField event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading oldreadings alexaName alexaRoom cmdIcon devStateIcon devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock homebridgeMapping:textField-long icon sortby webCmd webCmdLabel:textField-long widgetOverride userattr"
Internals
NAME "MyAlexa"
NR "24"
STATE "active"
TYPE "alexa"
active "0"
alexa-fhem version "0.4.4"
Readings {}
Attributes
alexaMapping "#Characteristic=<name>=<value>,...\nOn=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um\n\nBrightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\n\nHue=verb=stelle,valuePrefix=auf,values=rot:0;grün:128;blau:200\nHue=verb=färbe,values=rot:0;grün:120;blau:220\n\nSaturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER\nSaturation=verb=sättige,values=AMAZON.NUMBER\n\nTargetPosition=verb=mach,articles=den;die,values=auf:100;zu:0\nTargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\n\nTargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad\n\nVolume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\n\n#Weckzeit=verb=stelle,valuePrefix=auf;für,values=AMAZON.TIME,valueSuffix=uhr"
alexaTypes "#Type=<alias>[,<alias2>[,...]]\nlight=licht,lampen\nblind=rolladen,rolläden,jalousie,jalousien,rollo,rollos"
echoRooms "#<deviceId>=<room>\n"
fhemIntents "#IntentName=<sample utterance>\ngutenMorgen=guten morgen\nguteNacht=gute nacht"
room "alexa"
1
Name "testLamp1"
PossibleSets " "
PossibleAttrs "alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 readingList setList useSetExtensions disable disabledForIntervals event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading oldreadings alexaName alexaRoom cmdIcon devStateIcon devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock homebridgeMapping:textField-long icon sortby webCmd webCmdLabel:textField-long widgetOverride userattr"
Internals
NAME "testLamp1"
NR "22"
STATE "on"
TYPE "dummy"
Readings
state
Value "on"
Time "2018-04-01 19:16:46"
Attributes
genericDeviceType "light"
room "alexa,testraum"
2
Name "testSwitch1"
PossibleSets " "
PossibleAttrs "alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 readingList setList useSetExtensions disable disabledForIntervals event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading oldreadings alexaName alexaRoom cmdIcon devStateIcon devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock homebridgeMapping:textField-long icon sortby webCmd webCmdLabel:textField-long widgetOverride userattr"
Internals
NAME "testSwitch1"
NR "21"
STATE "on"
TYPE "dummy"
Readings
state
Value "on"
Time "2018-04-01 19:16:46"
Attributes
genericDeviceType "switch"
room "alexa,testraum"
webCmd "on:off"
totalResultsReturned 3


Ja, in FHEM ist vermutlich noch totales Chaos, weil ich nur mit ein paar Dummy-Devices herumgespielt habe aber leider habe ich bisher nur wenig Erfahrung mit FHEM (vor zwei Tagen angefangen ;) )

Leider sehe ich den Wald vor lauter Bäumen nicht mehr, sodass ich hoffe, dass mir jemand von euch helfen kann.  ;D

MadMax-FHEM

Auf den ersten schnellen Blick sieht es nicht soooo schlecht aus... ;)

Anfrage von Alexa kommt in alexa-fhem wohl schon mal an...
...die Ausgaben bzgl. deiner Dummies sehen noch nicht korrekt aus...

Poste doch mal ein list deiner Dummies:

list testSwitch1

list testLamp1

in die Fhem-Web-Console und den Output dann hier...

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)

gnatbite

Vielen Dank für deine Antwort. Hier der Input:

Zitatlist testSwitch1


Internals:
   NAME       testSwitch1
   NR         21
   STATE      on
   TYPE       dummy
   READINGS:
     2018-04-01 19:16:46   state           on
Attributes:
   genericDeviceType switch
   room       alexa,testraum
   webCmd     on:off


Zitatlist testLamp1

Internals:
   NAME       testLamp1
   NR         22
   STATE      on
   TYPE       dummy
   READINGS:
     2018-04-01 19:16:46   state           on
Attributes:
   genericDeviceType light
   room       alexa,testraum

MadMax-FHEM

Es fehlt jewils das Attribut setList...

Wie das bei Light sein muss weiß ich nicht (on off dim vielleicht)...

Beim Switch einfach mal:

attr testSwitch1 setList on off

Und ich würde per alias oder alexaName einen "sprechenderen" Namen vergeben...

Nach den Änderungen alexa-fhem neu starten...

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)

gnatbite

Hey Joachim,

vielen lieben Dank, es funktioniert!  8)

http://gnatbite.de/ftp/Alexa_Switch1.png

Das attr testSwitch1 setList on off hat geholfen.

Tausend Dank nochmal! :D

MadMax-FHEM

Bitte gerne!

Dann noch den Thread als gelöst kennzeichnen, umbenennen in beispielsweise: [gelöst] alexa-fhem: Es werden keine Geräte gefunden

Viel Spaß noch, 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)

gnatbite