-
You will need an Amazon Developer account as well as an AWS account
-
Clone the repository
-
Install the Alexa Skill Kit - https://developer.amazon.com/en-US/docs/alexa/alexa-skills-kit-sdk-for-python/set-up-the-sdk.html
-
Configure the Alexa Skill Kit
ask configure
You will need to associate an AWS Profile with ASK CLI. When asked for access keys:
- Go to the IAM user list and click on the user you just created
- Click on the security credentials tab
- Scroll down to the access keys section and create a new key
- After finish, copy the access keys to ask cli
If you have trouble getting it to work you can also try it by using your main aws account.
-
Set the correct region (i.e. region=eu-west-1)
vim ~/.aws/credentials
-
Set up config
Rename
lambda/.env-example
tolambda/.env
Fill in
lambda/.env
OR
You may also set those in the AWS UI as "Environment Variables"
-
Update
skill.json
on first run. This file stores info about endpoints to use after the deployment.Rename
skill-package/skill.sample.json
toskill.json
-
Install dependencies for development.
cd lambda/ python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt
-
KITCHENOWL_API_URL: URL to your instance of KitchenOwl API (for example https://app.kitchenowl.org/api)
-
KITCHENOWL_API_KEY: API token to authenticate against the API. Go to
Profile -> Sessions -> Long-lived tokens
in the WebUI -
KITCHENOWL_HOUSEHOLD_ID: The ID of the Household to manage. Visible in the URL when you open KitchenOwl items list in the browser.
-
Run
ask deploy
-
Get the ARN of your lambda function and update
skill-package/skill.json
"apis": { "custom": {} },
to
"apis": { "custom": { "endpoint": { "uri": "arn:aws:lambda:..." } } },
-
Add the
/.ask/ask-states.json
you saved from your last deployment -
Run
ask deploy
ask dialog --locale en-US