question

Jeff avatar image
Jeff asked

How can I verify an endpoint gadget is registered correctly?

I have followed the steps of multiple gadget starter projects to the letter that integrate ASK with Lambda and a Raspberry Pi paired with an Echo.

All testing of the ASK and Lambda shows that they are working as expected except they consistently fail to see the Pi as an endpoint.

The Pi is paired to the echo:

"INFO:agt.alexa_gadget:Connected to Echo device with address FC:A1:12:34:56:78 over BT"


The log from Color Cycler in Lambda:

[INFO] 2020-11-30T06:05:21.932Z a960406c-b50b-4043-b975-b6526438feac == Launch Intent ==

[INFO] 2020-11-30T06:05:22.124Z a960406c-b50b-4043-b975-b6526438feac ==Response==

{'outputSpeech': {'type': 'SSML', 'ssml': '<speak>No gadgets found. Please try again after connecting your gadget.</speak>'}, 'shouldEndSession': True}

[INFO] 2020-11-30T06:05:22.134Z a960406c-b50b-4043-b975-b6526438feac ==Session Attributes==

{}

END RequestId: a960406c-b50b-4043-b975-b6526438feac


How is it possible to confirm the chain of communications between the Raspberry Pi and the Echo?

How is it possible to confirm the chain of communications between the Echo and Lambda?


Is there something simple I am missing?




===Nobody responded so here's the solution (from obvious well documented to less documented details)===

First, double-check the obvious, remove Bluetooth from the panel if using the GUI, otherwise, when pairing, the Pi will prompt for permission to attach to the Alexa,Echo.

Second, double-check the obvious of having the right ID and Secret

Third, double-check the obvious of using the same developer account for:

  • Alexa/Echo device
  • Skill in the Alexa Skills console
  • Gadget registration

Fourth, double-check the obvious by verifying the Intents, slots, and Custom Interface are specified

Fifth, double-check the obvious by verifying the right lambda endpoint is specified.

Sixth, in your lambda code (either Alexa hosted or your own), be sure to specify namespace='Custom.MyGadgetClass', name='MyIntentName'

Seventh, on the Pi, in the ini file for your application, add an entry to the Capabilities section to include:

  • Custom.MyGadgetClass = 1.0

Eighth, on the Pi, in your .py code make sure you have a function in MyGadgetClass called:

  • on_custom_mygadgetclass_myintentname



lambdaechoask sdkgadgets toolkitraspberry pi
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

0 Answers