Ability to query Mint Peaks through Alexa to get the current temperature and/or humidity.
When installed, simply utter things like:
Alexa, ask Mint Peaks for the temperature
Alexa, ask Mint Peaks what's the humidity
Alexa, ask Mint Peaks about the current state
Watch the video to see it in action:
This repo is part of the mintpeaks ecosystem, these are the other parts you need to setup for it to work:
- Tessel app mintpeaks-tessel - Node.js app for Tessel
- Node app mintpeaks - Node.js app for streaming Tessel data (TCP socket, Express, Socket.io)
To get started, add a new Alexa Skill Set in Amazon Developer Console. Once you created a new app, give it the following settings:
- Application Id - Copy this to
.env
- Skill type: Custom Interaction Model
- Name: "Mint Peaks"
- Invocation Name: "Mint Peaks"
Interaction model
For Intent Scema, set:
{
"intents": [
{
"intent": "GetStatus"
},
{
"intent": "GetTemperature"
},
{
"intent": "GetHumidity"
}
]
}
For the Sample Utterances, use:
GetStatus what's the status
GetStatus what is the status
GetStatus what is the current status
GetStatus what's the state
GetStatus what is the state
GetStatus what is the current state
GetStatus get the status
GetStatus get me the status
GetStatus get the current status
GetStatus get me the current status
GetStatus tell me the state
GetStatus tell me the current state
GetStatus how is it
GetStatus tell me how is it
GetStatus how is it now
GetStatus tell mehow is it now
GetStatus how is it right now
GetStatus tell me how is it right now
GetTemperature get the temperature
GetTemperature get the current temperature
GetTemperature get me the temperature
GetTemperature get me the current temperature
GetTemperature give me the temperature
GetTemperature give me the current temperature
GetTemperature tell me the temperature
GetTemperature tell me the current temperature
GetTemperature what's the temperature
GetTemperature what is the temperature
GetTemperature what is the current temperature
GetTemperature what's the current temperature
GetTemperature what is the temperature right now
GetTemperature what's the temperature right now
GetTemperature how's the temperature
GetTemperature how is the temperature
GetTemperature how hot it is
GetTemperature how hot is it
GetTemperature how cold it is
GetTemperature how cold is it
GetTemperature how warm it is
GetTemperature how warm is it
GetTemperature is it hot
GetTemperature is it cold
GetHumidity what's the humidity
GetHumidity what is the humidity
GetHumidity get the humidity
GetHumidity get me the humidity
GetHumidity get me the current humidity
GetHumidity get me the current humidity reading
GetHumidity tell the humidity
GetHumidity tell the current humidity
GetHumidity give me the humidity
GetHumidity give me the current humidity
GetHumidity give me the current humidity reading
GetHumidity what is the current humidity
GetHumidity what is the humidity right now
GetHumidity how humid it is
GetHumidity how humid is it
GetHumidity is it humid
GetHumidity how's the humidity
GetHumidity how is the humidity
The simplest way to host your new skill is using AWS Lambda. For Endpoint select Lambda ARN (Amazon Resource Name). It's important that you include the node_modules
directory in your deploy archive, as Lambda doesn't know how to fetch NPM modules.
Also verify that you've set the APPLICATION_ID
and MINT_PEAKS_SERVER_URL
inside your .env
file.
git clone https://github.com/mihar/mintpeaks-alexa-skill.git
cd mintpeaks-alexa-skill
npm install
zip -r mintpeaks_lambda_deploy.zip * .env
After this you'll need to deploy mintpeaks_lambda_deploy.zip
as a Lambda function:
- Login to AWS Console and visit Lambda settings
- Select Create Lambda Function
- Skip blueprint selection
- Set function name, e.g.
getMintPeaks
and select Node.js runtime - Upload as a Zip file (
mintpeaks_lambda_deploy.zip
) to Lambda function - Use
index.handler
handler and select Basic Execution Role for Role - Create Lambda function. After creation, you'll be able to copy the ARN from top right corner to Alexa skill settings