alexa-fhem test version mit proaktiven events

Begonnen von justme1968, 15 Februar 2020, 18:44:06

Vorheriges Thema - Nächstes Thema

TomLee

Sag das doch vorher  ;D

Jetzt les ich auch was von AcceptGrant und proactivelyReported":true, aber auch von no permissions in config.json

[2020-2-16 3:46:01 PM] >>>> [srv] {"directive":{"header":{"namespace":"Alexa.Authorization","name":"AcceptGrant","messageId":"9b965f77-6190-4910-995f-d863115ccd04","payloadVersion":"3"},"payload":{"grant":{"type":"OAuth2.AuthorizationCode","code":"RHNtmawzpfAlKvuVXOhy"},"grantee":{"type":"BearerToken","token":"Atza|IwEBIN8iaJDzKU9m_PlnonWPHgevA5js9Dagj_zW_DfPq1JfUIlgBoyc5hpKK8ytJV91onutArcOCDajP0dCAMbcmkGlk2XxrUxN2YZ0eb7UmUlvSCURRwEgkaohsMpKrTtsuEUqJt-2JAQVA-9z-dC0cPmfyfzsK8cTPB2qPlTB1ZnLRiubU0s5CbAvcqfyxQXdKzK5oV5bJk9aJaClhH1oDeo9v_4jXPEw0AsSYpatE5UeC1jGOckJ6o3LczlJAB-LHy33OgFcYX-5xK8Py5HRfOT5k9RShb-JFZsRJl87ZqVPWjiwF4lMjFlBk-Gy6tfGw4Up5hu_FjobojE6IwAPJLQJiLi8W1pcRJIheSnlJRXpnPe0O6NxamGCDIiMDyP80AjSjT_2iqXaDQPEJJ3z17kZgej73ySSI4cer06TyCmUz9m9p36SS17Y85Hcd5MP5Uj989VDycFgTz6Aq-HhgKguIrrSWNmgpjRlhEPLgO_1N9hirWr9QAOFEqGGNRE8WNA1Og9qt6sXBKsNvcirlSgN4tkahobAKjZ46TTJbCUqfA"}}}}
[2020-2-16 3:46:01 PM] no permissions in config.json
[2020-2-16 3:46:01 PM] <<<< [srv] {"event":{"header":{"namespace":"Alexa.Authorization","name":"AcceptGrant.Response","payloadVersion":"3","messageId":"7451ff90-a04e-4640-b88e-b1314bfab209"},"payload":{}}}
[2020-2-16 3:46:01 PM] >>>> [srv] {"directive":{"header":{"namespace":"Alexa.Discovery","name":"Discover","payloadVersion":"3","messageId":"114457d0-8cda-40d7-90d1-873a86339b02"},"payload":{"scope":{"type":"BearerToken","token":"Atza|IwEBIN8iaJDzKU9m_PlnonWPHgevA5js9Dagj_zW_DfPq1JfUIlgBoyc5hpKK8ytJV91onutArcOCDajP0dCAMbcmkGlk2XxrUxN2YZ0eb7UmUlvSCURRwEgkaohsMpKrTtsuEUqJt-2JAQVA-9z-dC0cPmfyfzsK8cTPB2qPlTB1ZnLRiubU0s5CbAvcqfyxQXdKzK5oV5bJk9aJaClhH1oDeo9v_4jXPEw0AsSYpatE5UeC1jGOckJ6o3LczlJAB-LHy33OgFcYX-5xK8Py5HRfOT5k9RShb-JFZsRJl87ZqVPWjiwF4lMjFlBk-Gy6tfGw4Up5hu_FjobojE6IwAPJLQJiLi8W1pcRJIheSnlJRXpnPe0O6NxamGCDIiMDyP80AjSjT_2iqXaDQPEJJ3z17kZgej73ySSI4cer06TyCmUz9m9p36SS17Y85Hcd5MP5Uj989VDycFgTz6Aq-HhgKguIrrSWNmgpjRlhEPLgO_1N9hirWr9QAOFEqGGNRE8WNA1Og9qt6sXBKsNvcirlSgN4tkahobAKjZ46TTJbCUqfA"}}}}
[2020-2-16 3:46:02 PM] accepted new token
[2020-2-16 3:46:02 PM] { aud:
   'amzn1.application-oa2-client.xxxxxxxxxxx',
  user_id: 'amzn1.account.xxxxxxxxxx',
  iss: 'https://www.amazon.com',
  exp: 3596,
  app_id: 'amzn1.application.xxxxxxxxxxx',
  iat: 1581864358 }
[2020-2-16 3:46:02 PM] found 35 device(s)
[2020-2-16 3:46:02 PM] <<<< [srv] {"event":{"header":{"namespace":"Alexa.Discovery","name":"Discover.Response","payloadVersion":"3","messageId":"d599542a-8b09-40d9-9a29-a105d0247632"},"payload":{"endpoints":[{"endpointId":"CUL_HM_4809FC01","manufacturerName":"CUL_HM","description":"n: EG_FR_Wandlampen, r: homekit,homematic","friendlyName":"wand lampen","displayCategories":["LIGHT"],"additionalAttributes":{"manufacturer":"FHEM","model":"HM-LC-DIM1TPBU-FM"},"capabilities":[{"type":"AlexaInterface","interface":"Alexa.BrightnessController","version":"3","properties":{"supported":[{"name":"brightness"}],"proactivelyReported":true,"retrievable":true}},{"type":"AlexaInterface","interface":"Alexa.PowerController","version":"3","properties":{"supported":[{"name":"powerState"}],"proactivelyReported":true,"retrievable":true}}],"cookie":{"device":"EG_FR_Wandlampen","fuuid":"5c9b8163-f33f-78f5-39df-fe61a639a0afd9bb"}},{"endpointId":"5c9ac8ec-f33f-78f5-2249-af8a6bf317e0b2d7","manufacturerName":"OWTHERM","description":"n: EG_Innensensor_Fruehstuecksraum, r: ebus,owx","friendlyName":"frühstücksraum","displayCategories":["TEMPERATURE_SENSOR"],"additionalAttributes":{"manufacturer":"FHEM","model":"DS18B20"},"capabilities":[{"type":"AlexaInterface","interface":"Alexa.TemperatureSensor","version":"3","properties":{"supported":[{"name":"temperature"}],"proactivelyReported":true,"retrievable":true}}],"cookie":{"device":"EG_Innensensor_Fruehstuecksraum","fuuid":"5c9ac8ec-f33f-78f5-2249-af8a6bf317e0b2d7"}},{"endpointId":"IT_0FF0F0FFFF_0F_F0","manufacturerName":"IT","description":"n: FB_433_2_TasteA, r: it","friendlyName":"eieruhr","displayCategories":["SWITCH"],"additionalAttributes":{"manufacturer":"FHEM","model":"<unknown>"},"capabilities":[{"type":"AlexaInterface","interface":"Alexa.PowerController","version":"3","properties":{"supported":[{"name":"powerState"}],"proactivelyReported":true,"retrievable":true}}],"cookie":{"device":"FB_433_2_TasteA","fuuid":"5c48e035-f33f-ef3d-7cc9-7e01a0cc74ee9ee9"}},{"endpointId":"5c9ac8ec-f33f-78f5-5b8b-119da6a58431968d","manufacturerName":"OWTHERM","description":"n: HF_Aussensensor_Vorderhaus, r: ebus,owx,rollladen","friendlyName":"einfahrt","displayCategories":["TEMPERATURE_SENSOR"],"additionalAttributes":{"manufacturer":"FHEM","model":"DS18B20"},"capabilities":[{"type":"AlexaInterface","interface":"Alexa.TemperatureSensor","version":"3","properties":{"supported":[{"name":"temperature"}],"proactivelyReported":true,"retrievable":true}}],"cookie":{"device":"HF_Aussensensor_Vorderhaus","fuuid":"5c9ac8ec-f33f-78f5-5b8b-119da6a58431968d"}},{"endpointId":"5da05c0b-f33f-78f5-23f6-8e5335da3aba2058","manufacturerName":"dummy","description":"n: Home_Presence, r: test","friendlyName":"birne","displayCategories":["TV"],"additionalAttributes":{"manufacturer":"FHEM","model":"<unknown>"},"capabilities":[{"type":"AlexaInterface","interface":"Alexa.ChannelController","version":"3","properties":{"supported":[{"name":"channel"}],"proactivelyReported":true,"retrievable":true}}],"cookie":{"device":"Home_Presence","fuuid":"5da05c0b-f33f-78f5-23f6-8e5335da3aba2058"}},
etc.


Events werden immer noch nicht gesendet,unter den gecacheden Werten steht weiterhin no event token available

justme1968

steht jetzt was sinnvolles im .eventToken reading?

siehst beim neustart jetzt ein got .eventToken ?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

TomLee

Beim Neustart sehe ich kein got .eventToken, also immer noch kein Reading .eventToken

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

#19
sorry. noch was vergessen. ist schon so lange her...

du musst in der config im alexa knoten noch deinen skill eintragen:        "permissions": {"amzn1.ask.skill....": { "client_id": "amzn1.application-oa2-client....", "client_secret": "...."}}


beides bekommst du über die developer console.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

TomLee

There was a problem reading your config.json file.
[2020-2-16 5:07:20 PM] Please try pasting your config.json file here to validate it: http://jsonlint.com
[2020-2-16 5:07:20 PM]
Startup rejected. Reason: SyntaxError: Unexpected string in JSON at position 481


Die Fehlermeldung find ich gut :)

Aber an was liegts ?

"applicationId": [ "amzn1.ask.skill.1c439e7d-3415-4579-xxxxxxx" , "amzn1.ask.skill.9dddcea2-5d70-46e5-a4a1-xxxxxxxx" , $
        "oauthClientID": "amzn1.application-oa2-client.xxxxxx"
        "permissions": {"amzn1.ask.skill.xxxxxxxxxx": { "client_id": "amzn1.application-oa2-client.xxxxxxxxxx$


An den geschweiften Klammern ? oben bei applicationId hab ich damals eckige und bei oauthClientID gar keine verwendet

justme1968

am ende der oauthClientID fehlt ein komma. das brauchst du wenn du eine zusätzliche zeile anhängst.

am besten steck die gesamte konfiguration mal hier rein: https://jsonlint.com
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

TomLee

Und dann nochmal de.- und aktivieren des Skills und events kommen auch in der App an  :)

list <alexa> .eventToken

alexa                2020-02-16 17:32:27    {"access_token":"Atza|IwEBILLyzfqFyJ5xzSgsc4Op_xxxxxxxxxx","refresh_token":"Atzr|IwEBILYq76x2i-kpFrRTaWTch0zxxxxxx","token_type

Danke für die Hilfe, hab übrigens noch gar keine Verwendung dafür im Kopf.

stefanru

Hi,

ok, in der alexa-fhem.cfg habe ich das Permissions eh schon.

In der Developer Console sehe ich auch den Schalter "Send Alexa Events". Ich kann ihn auch anschalten.
Wechsele ich aber den Tab und gehe wieder auf Permissions ist der Schalter wieder aus.

Ist etwas nötig in der Developer Console dass der Schalter auch gespeichert wird?
Irgendetwas muss mir da fehlen? Ist schon etwas her dass ich das eingerichtet habe.

Gruß,
Stefan


TomLee

Musste nicht speichern. Das hatte mich auch gewundert und hatte ich auch gleich kontrolliert. Bin zurück auf die Übersichtsseite der Skills mit oben links <Your Skills dann auf meinen SHS auf edit, dann auf Permissions und der Schalter war weiterhin AN.

stefanru

Bei mir leider nicht.
Ist wohl zu alt mein SmartHomeSkill.
Habe daraufhin die Lamda funktion neu angelegt, ohne Erfolg.

Dann habe ich einen neuen SmartHomeSkill2 angelegt.
Dort bleibt der Schalter jetzt an.

Mir ist nun nur nicht mehr ganz klar wie ich den Smart home skill mit alexa Fhem verknüpfe.
Wahrscheinlich einfach über die APP.
Aber da bin ich gerade am probieren, melde mich nochmal.

Gruß,
Stefan

stefanru

#26
Hmm,
ich habe jetzt den Smart Home Basic2 verknüpft mit Send alexa Events an.
Habe in der alexa-fhem.cfg die Daten vom skill unter permissions übernommen.
Dort steht unter Alexa Skill Messaging eine neue Client Id und Client Secret.
Skill id habe ich vom skill.

Leider bekomme ich nach wie vor im log:
[16.2.2020, 18:48:32] no event token available

Noch jemand eine Idee?

P.S.:
Ok jetzt scheint irgendetwas zu funktionieren aber noch nicht wie es soll:

[16.2.2020, 18:57:54] Reading .eventToken set to {"access_token":"Atza|IwEBID8_D56i_aQ2Ai5i3UaqkR4BS_Ihj5TiDhAb5joW3LdEbS05hAE83IKESLkzyFzS_7qOoZPZMFP_tBDdPCo9aSwgfeGF9o_eE7btYwUfYwGnInowTg-fbtQKzPS6xdM0G45odL6X5AHHdpiW9A1OF5EZgpz0EoJW5xiitFycLnlEdEEkkyAzm_yo5HG31NWEd6hb2B1NZUnHTuYhttbHOvLOfbI72kHOztvhOnol_tkpRkaHg6CZmitclWBII2RqB9NMnMYZp9JAJgjmEFWyISdkYOzHykYRSLs2q-QaPmD5ydQ0znEIzFkzuTsmHdLixkBnizNzCISUPeEQGGmkGgeb","refresh_token":"Atzr|IwEBIGg-cg-8SccvdasI3Zrk_atsspy1qR6hB8I3NTHWHZDvLKOArvuaHFCmsxW_R-HkJr6zIjFvom0oCvtFFrYzrzI0oBdDuXy0Fa2MOj4UKbEDSA2UWwLw4JoprqKPFe9YjvRRHvPREFeAe8krVfgpSGdLBytuswBJHWeZsKHTMjfWI-RZIXGgzVZU-scmInjxwa8EwRoCYF8g3AOVGOlk8vuDT4c78dmloOqGimuMZzRVM3mmN75Qx-v8oveeBpoVNAOoAF0rMpl9cPFmRgXP7wL5Pvn2Yo8Ark_a5YNS1zuFABw4TX-hQ0xkaAe8GGc75rFwpLwtuack-SHhL65d7npD","token_type":"bearer","expires_in":3600}
[16.2.2020, 18:57:54] [FHEM]   executing: http://192.168.69.94:8083/fhem?cmd=%7B%24defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20MyAlexa%20.eventToken%20%7B%22access_token%22%3A%22Atza%7CIwEBID8_D56i_aQ2Ai5i3UaqkR4BS_Ihj5TiDhAb5joW3LdEbS05hAE83IKESLkzyFzS_7qOoZPZMFP_tBDdPCo9aSwgfeGF9o_eE7btYwUfYwGnInowTg-fbtQKzPS6xdM0G45odL6X5AHHdpiW9A1OF5EZgpz0EoJW5xiitFycLnlEdEEkkyAzm_yo5HG31NWEd6hb2B1NZUnHTuYhttbHOvLOfbI72kHOztvhOnol_tkpRkaHg6CZmitclWBII2RqB9NMnMYZp9JAJgjmEFWyISdkYOzHykYRSLs2q-QaPmD5ydQ0znEIzFkzuTsmHdLixkBnizNzCISUPeEQGGmkGgeb%22%2C%22refresh_token%22%3A%22Atzr%7CIwEBIGg-cg-8SccvdasI3Zrk_atsspy1qR6hB8I3NTHWHZDvLKOArvuaHFCmsxW_R-HkJr6zIjFvom0oCvtFFrYzrzI0oBdDuXy0Fa2MOj4UKbEDSA2UWwLw4JoprqKPFe9YjvRRHvPREFeAe8krVfgpSGdLBytuswBJHWeZsKHTMjfWI-RZIXGgzVZU-scmInjxwa8EwRoCYF8g3AOVGOlk8vuDT4c78dmloOqGimuMZzRVM3mmN75Qx-v8oveeBpoVNAOoAF0rMpl9cPFmRgXP7wL5Pvn2Yo8Ark_a5YNS1zuFABw4TX-hQ0xkaAe8GGc75rFwpLwtuack-SHhL65d7npD%22%2C%22token_type%22%3A%22bearer%22%2C%22expires_in%22%3A3600%7D%3B%7B%24defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[16.2.2020, 18:57:54] got event token
[16.2.2020, 18:57:55] clientID amzn1.application-oa2-client.0e2e5f5579b4429b9046dacf10959d67 not authorized
[16.2.2020, 18:57:55] ERROR: InvalidAccessTokenError from ::ffff:18.203.223.23

Jetzt ändere ich nochmal auf meine Client ID, anstatt der unter Alexa Skill Messaging.

Gruß und Danke,
Stefan

TomLee


stefanru

#28
Ja,

ich habe irgendein Berechtigungsproblem.
Jetzt bekomme ich:

[16.2.2020, 19:06:35] [FHEM] got .eventToken
[16.2.2020, 19:06:35] refreshing token
[16.2.2020, 19:06:36] failed to refresh token: unauthorized_client: 'Not authorized for requested operation'


Welche
oauthClientID
client_id
und client secret muss ich denn angeben?

In der Developer Console gibt es:
unter "Account Linking" "Your Client Id" eine.
unter "Permissions" "Alexa Skill Messaging" eine "Alexa Client Id:"

P.S.:
jetzt habe ich mal in die Config bei oauthClientID die des Skills und unter Permission die der Permissions.
aber dann bekomme ich:

[16.2.2020, 19:11:59] [FHEM] got .eventToken
[16.2.2020, 19:11:59] refreshing token
[16.2.2020, 19:12:00] failed to refresh token: invalid_grant: 'The request has an invalid grant parameter : refresh_token'



Danke,
Stefan

TomLee

unter SMART HOME sieht man die  Skill-ID -> unter 2. Smart Home service endpoint

und die Client-ID und Client Secret unter PERMISSIONS