-
Notifications
You must be signed in to change notification settings - Fork 3
Infrastructure Deploy
Click on the link corresponding to your region from the main repository's readme and follow the setup wizard.
Otherwise open AWS Serverless Application Repository and search it using keyword "eliot"
All parameters can be configured as SSM Parameter using a custom syntax appending ssm:
to the parameter path.
If value is stored into /my/parameter/path/value
SSM Parameter use this value:
ssm:/my/parameter/path/value
(support both String
and SecureString
parameter types)
Stack parameter values are passed to Lambda functions environment variables, using Middy SSM middleware to evaluate values at runtime. Values threaded with this method are never stored in plain text, neither in Stack parameter of Lambda environment variable.
Suggested parameters:
- GoogleAPIKey (String)
- GoogleJWT (SecureString)
- AlexaClientId (String)
- AlexaClientSecret (SecureString)
Go to Specify Details section and fill the first section OAuth Credentials, a valid option could be an online string generator like random-string-generator or using pwgen
command:
pwgen -n 20 # for ClientId parameter
pwgen -n 40 # for ClientSecret parameter
If you want to connect Google Home fill this section, grab your project id from the developer console url, you should be on a URL like https://console.actions.google.com/u/0/project/aaaaaa-00000/overview
where aaaaaa-00000
is your project id.
Copy it and valorize the GoogleProjectId stack parameter.
To create a Google API Key required for proactive notification on devices lists change go to Cloud Platform Console, then go to the Projects page. Select the project that matches your smart home project id.
Enable the Google HomeGraph API.
Generate an API key. From the left navbar, select Credentials under APIs & Services. Click the Create Credentials button and select API key.
Now you can see and copy the API key, then valorize the GoogleAPIKey stack parameter.
In order to report Thing's state changes is required to create a JWT token to use Google HomeGraph API as an authenticated user. In the Cloud Platform Console, go to the Create service account key page.
From the Service account list, select New service account, then in the Service account name field enter a name and in the Service account ID field enter a ID. From the Role list, select Service Accounts > Service Account Token Creator and for Key type select the JSON option.
When click on Create button a download will start with the JWT token content, open that file and copy the content into GoogleJWT stack parameter.
Use a tool like JSON Minifier to minify the content and strip newlines into a single string value.
Got to Build tab and get your Skill id from the section 2. Smart Home service endpoint aside Your Skill ID label.
It should be an ARN, similar to amzn1.ask.skill.aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa
, copy it and set AlexaSkillId stack parameter.
Got to Build tab and click on the link Permissions from the left menu. Enable the Send Alexa Events checkbox and copy the Client Id and Client Secret values into respective stack parameter.
Select the AlexaEndpoint closer to you, pay attention to this configuration, Alexa authentication is regional dependent, so if you select the wrong configuration the application will not be able to send events to Alexa endpoint.
Proceed to tick the custom IAM roles and resource policies checkbox:
then press the Deploy button and wait until deploy is completed.