I wanted to be able to control Kodi, CouchPotato, and SickRage from my Amazon Alexa. I do not want to go through the certification program, nor would this project be accepted, so I created this repo for anyone else to use. You run this https:// server, and add a few amazon skills, and you should be good to go.
-
You must run this as root since it runs on port 443
-
This uses kodi's HTTP interface, couchpotato-api for couchpotato, and SickRage/SickBeards HTTP API
-
You need to edit config.js for this to be useful!
-
Edit config.js with your appropriate info
-
run ./bin/www as root on a server publicly accessible from port 443, and able to connect to your sickrage/couchpotato/kodi servers.
- Sign up with an account at http://developer.amazon.com
-
Click "Apps & Services" in the top navigation bar.
-
Click "Alexa"
-
Click "Alexa Skills Kit"
-
Click "Add a New Skill"
-
Fill in the following fields:
Name: Kodi
Invocation Name: Kodi
Endpoint:
(Select HTTPS)
-
Go to "Interaction Model"
-
Put this in "Intent Schema":
{
"intents": [
{
"intent": "Pause",
"slots": [
]
},
{
"intent": "Play",
"slots": [
{
"name": "Video",
"type": "AMAZON.LITERAL"
}
]
},
{
"intent": "GetRecentMovies",
"slots": [
]
},
{
"intent": "GetRecentEpisodes",
"slots": [
]
}
]
}
- Put this in "Sample Utterances":
Pause pause Play play Play play {top gun|Video} Play watch {top gun|Video} Play watch movie {top gun|Video} Play open movie {top gun|Video} GetRecentMovies get recent movies GetRecentEpisodes get recent episodes GetRecentEpisodes get recent tv episodes GetRecentEpisodes get recent tv
-
Go to "SSL Certificate"
-
Click "I will upload a self-signed certificate in X.509 format"
-
Paste this in the box:
-----BEGIN CERTIFICATE----- MIIDdDCCAlygAwIBAgIJAPp3fm8LcyrFMA0GCSqGSIb3DQEBCwUAMFgxCzAJBgNV BAYTAlVTMQswCQYDVQQIEwJDQTEVMBMGA1UEBxMMU2FudGEgTW9uaWNhMRYwFAYD VQQKEw1TbWFydEhvbWVTb2Z0MQ0wCwYDVQQDEwRLb2RpMB4XDTE2MDEzMTA3NDUz N1oXDTE3MDEzMDA3NDUzN1owWDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRUw EwYDVQQHEwxTYW50YSBNb25pY2ExFjAUBgNVBAoTDVNtYXJ0SG9tZVNvZnQxDTAL BgNVBAMTBEtvZGkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCkctQe SxQEab/8hVzMLi5uEDn9FbxKja8PMbqPH6V7nai2z2FnOOcR/khd7qnHxDe/JWXu PcjwlNO0rjZYKynxZHzJFiqUNccTy+6ynbeNCQp03N4Exw2FMVi2LOLR4rlftXGl lCvLIbbJWPTFcDEcZXr/7n4gHqZe4+52Erg8+dBPzV2KuXZpOcQd6LmdjrN4BZHR /MqQfQ2uDwQUashwQeWlXZzeCSCYCWlw1rJQ+JPgQVBwZbFbw8eoY86FSZcl2sUM jrtEQQAzOa1BW6Oa61MdZhcPZL1SEis8lwD/lur8dzRnv2v+Og0jLi+sDQHMYKSq 9X/3ZHzGQ8wlU7o3AgMBAAGjQTA/MAsGA1UdDwQEAwIEMDATBgNVHSUEDDAKBggr BgEFBQcDATAbBgNVHREEFDASghB3d3cudHJvbGxib3Qub3JnMA0GCSqGSIb3DQEB CwUAA4IBAQBEYMZNH+0zp/csifIK5+EoMKxnALDOpZQtmJnFjkknutEtPcoElJ8q DeMb2VebyORmd9bX7RQka4hUA5d38pZk+lbjMBmR/wdLOcfpWR+ielgsYDpimbTG Njho6I5RC68ReWKySppS6RwH/OXbL6JuHp2vmiM32nPYM0TUs6CqpbXE1cQhmJLr TMptFFlAnTkjYixdH9suaaAHggiXbmn/sWKtHxytCjJD6cA0cwK4GHO+ETwfGAWj oDjabINYzBxeFxTNGb4CT27hnqy00VKLZmNZAsOet6Lrpf8F1v7in/niKl/nWqTQ nNPqjzMWPsvL4wwBpgvLapCn7XtzlXAw -----END CERTIFICATE-----
- Click "Save"
-
Click "Alexa" in the top navigation bar
-
Click "Alexa Skills Kit"
-
Click "Add a New Skill"
-
Fill in the following fields:
Name: Couch Potato
Invocation Name: Couch Potato
Endpoint:
(Select HTTPS)
https://yoururl.com/couchpotato
-
Go to "Interaction Model"
-
Put this in "Intent Schema":
{
"intents": [
{
"intent": "Add",
"slots": [
{
"name": "Movie",
"type": "AMAZON.LITERAL"
}
]
},
{
"intent": "YesDownload",
"slots": []
},
{
"intent": "NoDownload",
"slots": []
}
]
}
- Put this in "Sample Utterances":
Add add {top gun|Movie} Add download {top gun|Movie} YesDownload Yes YesDownload Affirmative NoDownload No NoDownload Negative
-
Go to "SSL Certificate"
-
Click "I will upload a self-signed certificate in X.509 format"
-
Paste this in the box:
-----BEGIN CERTIFICATE----- MIIDdDCCAlygAwIBAgIJAPp3fm8LcyrFMA0GCSqGSIb3DQEBCwUAMFgxCzAJBgNV BAYTAlVTMQswCQYDVQQIEwJDQTEVMBMGA1UEBxMMU2FudGEgTW9uaWNhMRYwFAYD VQQKEw1TbWFydEhvbWVTb2Z0MQ0wCwYDVQQDEwRLb2RpMB4XDTE2MDEzMTA3NDUz N1oXDTE3MDEzMDA3NDUzN1owWDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRUw EwYDVQQHEwxTYW50YSBNb25pY2ExFjAUBgNVBAoTDVNtYXJ0SG9tZVNvZnQxDTAL BgNVBAMTBEtvZGkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCkctQe SxQEab/8hVzMLi5uEDn9FbxKja8PMbqPH6V7nai2z2FnOOcR/khd7qnHxDe/JWXu PcjwlNO0rjZYKynxZHzJFiqUNccTy+6ynbeNCQp03N4Exw2FMVi2LOLR4rlftXGl lCvLIbbJWPTFcDEcZXr/7n4gHqZe4+52Erg8+dBPzV2KuXZpOcQd6LmdjrN4BZHR /MqQfQ2uDwQUashwQeWlXZzeCSCYCWlw1rJQ+JPgQVBwZbFbw8eoY86FSZcl2sUM jrtEQQAzOa1BW6Oa61MdZhcPZL1SEis8lwD/lur8dzRnv2v+Og0jLi+sDQHMYKSq 9X/3ZHzGQ8wlU7o3AgMBAAGjQTA/MAsGA1UdDwQEAwIEMDATBgNVHSUEDDAKBggr BgEFBQcDATAbBgNVHREEFDASghB3d3cudHJvbGxib3Qub3JnMA0GCSqGSIb3DQEB CwUAA4IBAQBEYMZNH+0zp/csifIK5+EoMKxnALDOpZQtmJnFjkknutEtPcoElJ8q DeMb2VebyORmd9bX7RQka4hUA5d38pZk+lbjMBmR/wdLOcfpWR+ielgsYDpimbTG Njho6I5RC68ReWKySppS6RwH/OXbL6JuHp2vmiM32nPYM0TUs6CqpbXE1cQhmJLr TMptFFlAnTkjYixdH9suaaAHggiXbmn/sWKtHxytCjJD6cA0cwK4GHO+ETwfGAWj oDjabINYzBxeFxTNGb4CT27hnqy00VKLZmNZAsOet6Lrpf8F1v7in/niKl/nWqTQ nNPqjzMWPsvL4wwBpgvLapCn7XtzlXAw -----END CERTIFICATE-----
- Click "Save"
Note: I call this "TV Assistant" since sickrage rarely triggers well for me
-
Click "Alexa" in the top navigation bar
-
Click "Alexa Skills Kit"
-
Click "Add a New Skill"
-
Fill in the following fields:
Name: SickRage
Invocation Name: TV Assistant
Endpoint:
(Select HTTPS)
-
Go to "Interaction Model"
-
Put this in "Intent Schema":
{
"intents": [
{
"intent": "Upcoming",
"slots": [
]
},
{
"intent": "Download",
"slots": [
{
"name": "ShowName",
"type": "AMAZON.LITERAL"
}
]
},
{
"intent": "YesDownload",
"slots": []
},
{
"intent": "NoDownload",
"slots": []
}
]
}
- Put this in "Sample Utterances":
Upcoming get upcoming episodes Upcoming get upcoming Upcoming get future shows Upcoming get future episodes Download download {Full House|ShowName} Download get {Full House|ShowName} Download add {Full House|ShowName} YesDownload yes YesDownload affirmative NoDownload no NoDownload negative
-
Go to "SSL Certificate"
-
Click "I will upload a self-signed certificate in X.509 format"
-
Paste this in the box:
-----BEGIN CERTIFICATE----- MIIDdDCCAlygAwIBAgIJAPp3fm8LcyrFMA0GCSqGSIb3DQEBCwUAMFgxCzAJBgNV BAYTAlVTMQswCQYDVQQIEwJDQTEVMBMGA1UEBxMMU2FudGEgTW9uaWNhMRYwFAYD VQQKEw1TbWFydEhvbWVTb2Z0MQ0wCwYDVQQDEwRLb2RpMB4XDTE2MDEzMTA3NDUz N1oXDTE3MDEzMDA3NDUzN1owWDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRUw EwYDVQQHEwxTYW50YSBNb25pY2ExFjAUBgNVBAoTDVNtYXJ0SG9tZVNvZnQxDTAL BgNVBAMTBEtvZGkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCkctQe SxQEab/8hVzMLi5uEDn9FbxKja8PMbqPH6V7nai2z2FnOOcR/khd7qnHxDe/JWXu PcjwlNO0rjZYKynxZHzJFiqUNccTy+6ynbeNCQp03N4Exw2FMVi2LOLR4rlftXGl lCvLIbbJWPTFcDEcZXr/7n4gHqZe4+52Erg8+dBPzV2KuXZpOcQd6LmdjrN4BZHR /MqQfQ2uDwQUashwQeWlXZzeCSCYCWlw1rJQ+JPgQVBwZbFbw8eoY86FSZcl2sUM jrtEQQAzOa1BW6Oa61MdZhcPZL1SEis8lwD/lur8dzRnv2v+Og0jLi+sDQHMYKSq 9X/3ZHzGQ8wlU7o3AgMBAAGjQTA/MAsGA1UdDwQEAwIEMDATBgNVHSUEDDAKBggr BgEFBQcDATAbBgNVHREEFDASghB3d3cudHJvbGxib3Qub3JnMA0GCSqGSIb3DQEB CwUAA4IBAQBEYMZNH+0zp/csifIK5+EoMKxnALDOpZQtmJnFjkknutEtPcoElJ8q DeMb2VebyORmd9bX7RQka4hUA5d38pZk+lbjMBmR/wdLOcfpWR+ielgsYDpimbTG Njho6I5RC68ReWKySppS6RwH/OXbL6JuHp2vmiM32nPYM0TUs6CqpbXE1cQhmJLr TMptFFlAnTkjYixdH9suaaAHggiXbmn/sWKtHxytCjJD6cA0cwK4GHO+ETwfGAWj oDjabINYzBxeFxTNGb4CT27hnqy00VKLZmNZAsOet6Lrpf8F1v7in/niKl/nWqTQ nNPqjzMWPsvL4wwBpgvLapCn7XtzlXAw -----END CERTIFICATE-----
- Click "Save"