kodi:kodi-alexa
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| kodi:kodi-alexa [2023/05/29 11:55] – external edit 127.0.0.1 | kodi:kodi-alexa [2024/05/13 12:56] (current) – removed Wuff | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Kodi & Alexa ====== | ||
| - | |||
| - | https:// | ||
| - | https:// | ||
| - | |||
| - | 1.) An Amazon developer profile is required for custom Alexa skills. Log in with normal amazon account on this page and create a developer account: https:// | ||
| - | |||
| - | 2.) NodeJS framework v8.11.1 is required. Do not use default ubuntu package of NodeJS as this is is an older version. Installation using NVM https:// | ||
| - | < | ||
| - | wget -qO- https:// | ||
| - | </ | ||
| - | close and reopen terminal after installation | ||
| - | |||
| - | 3.) Install NodeJS 8.11.1 | ||
| - | < | ||
| - | nvm install 8.11.1 | ||
| - | nvm use 8.11.1 | ||
| - | </ | ||
| - | |||
| - | 4.) Install lexigram-cli | ||
| - | < | ||
| - | npm install -g lexigram-cli | ||
| - | </ | ||
| - | |||
| - | 5.) Use the cli to log in to Amazon and initialise the Alexa skill (Kanzi) | ||
| - | < | ||
| - | lexigram login --no-browser true | ||
| - | # select default profile and confirm with yes to enter Amazon credentials | ||
| - | # copy url into browser, grant access and paste the resulting Auth key back into terminal | ||
| - | </ | ||
| - | |||
| - | 6.) Download an empty config file | ||
| - | < | ||
| - | lexigram init-config | ||
| - | </ | ||
| - | |||
| - | 7.) Initialise the skill kanzi | ||
| - | < | ||
| - | lexigram init-skill kanzi | ||
| - | </ | ||
| - | |||
| - | 8.) Kodi setup\\ | ||
| - | Go to settings -> system -> Services -> Web server and allow remote control | ||
| - | - via http | ||
| - | - from applications on this system | ||
| - | - from applications on other systems | ||
| - | Supply username/ | ||
| - | |||
| - | 9.) A reverse caching proxy may be useful to cache search results. This is primarily useful for external access and not for local access, however, even local access may benefit from this. | ||
| - | |||
| - | 10.) Adjust configuration file kodi.config with backend/ | ||
| - | < | ||
| - | vi kodi.config | ||
| - | </ | ||
| - | < | ||
| - | shutdown = ' | ||
| - | timezone = Europe/ | ||
| - | </ | ||
| - | |||
| - | 11.) Set up webserver as target for the alexa command | ||
| - | < | ||
| - | sudo apt-get install apache2 libapache2-mod-wsgi | ||
| - | sudo a2enmod ssl | ||
| - | sudo systemctl restart apache2 | ||
| - | sudo mkdir / | ||
| - | sudo openssl genrsa -out / | ||
| - | sudo cat > ssl-key-conf.cnf << EOF | ||
| - | [req] | ||
| - | distinguished_name = req_distinguished_name | ||
| - | x509_extensions = v3_req | ||
| - | prompt = no | ||
| - | |||
| - | [req_distinguished_name] | ||
| - | C = GB | ||
| - | ST = . | ||
| - | L = . | ||
| - | O = wuff | ||
| - | CN = kodi-alexa | ||
| - | |||
| - | [v3_req] | ||
| - | keyUsage = keyEncipherment, | ||
| - | extendedKeyUsage = serverAuth | ||
| - | subjectAltName = @subject_alternate_names | ||
| - | |||
| - | [subject_alternate_names] | ||
| - | DNS.1 = wuff.dyndns.org | ||
| - | EOF | ||
| - | |||
| - | openssl req -new -x509 -days 365 -key / | ||
| - | |||
| - | |||
| - | sudo vi / | ||
| - | # set ServerName example.dyndns.org | ||
| - | |||
| - | sudo vi / | ||
| - | # set DocumentRoot / | ||
| - | # set SSLCertificateFile / | ||
| - | # set SSLCertificateKeyFile / | ||
| - | # add WSGIScriptAlias /kodi-alexa / | ||
| - | sudo a2ensite default-ssl.conf | ||
| - | |||
| - | sudo apt-get install python-tz | ||
| - | sudo apt-get install python-pip | ||
| - | sudo pip install flask-ask | ||
| - | sudo pip install kodi-voice | ||
| - | sudo pip install python-Levenshtein | ||
| - | |||
| - | sudo systemctl restart apache2 | ||
| - | </ | ||
| - | |||
| - | |||
| - | 12.) Deploy kanzi | ||
| - | < | ||
| - | cp -r / | ||
| - | chown -R www-data: | ||
| - | |||
| - | lexigram deploy kanzi | ||
| - | </ | ||
| - | Set invocation name (2 for kodi) | ||
| - | #set skill server to local ip address https:// | ||
| - | |||
| - | possible adjustment required. not sure if external access is absolutely required. | ||
| - | < | ||
| - | In Alexa Skill Set, Add your IP and service name as the HTTPS URL: https:// | ||
| - | Upload x509 certificate file for the endpoint (copy the / | ||
| - | |||
| - | Finally, if you haven' | ||
| - | |||
| - | 13.) To limit requests to your own alexa skill only, use the skill ID and add it to kodi.config | ||
| - | < | ||
| - | skill_id = [set to amzn1.ask.skill.xxxxxxx as per url on developer.amazon.com | ||
| - | </ | ||
| - | then re-deploy | ||
| - | < | ||
| - | lexigram deploy kanzi | ||
| - | </ | ||
| - | |||
| - | ===== Updates ===== | ||
| - | < | ||
| - | npm upgrade -g lexigram-cli | ||
| - | lexigram deploy kanzi | ||
| - | </ | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
kodi/kodi-alexa.1685357733.txt.gz · Last modified: by 127.0.0.1