website REST api that implements TTS via Alexa announce feature.
Full installation instructions for Windows based machines can be found in the document "Installing Alexa Speaks.pdf"
node.js must be installed. Then run as follows:
node /alexa-speaks/app.js
This step must be run from a browser on the same machine that node is running on. You literally need to run the above command as shown. You will be taken to an alexa.com login page. Log in and solve any Capcha that might be displayed. Successful login will capture a valid session cookie for subsequent use.
View a list of your devices so you know which number in the "who" parameter below to use for which device. Press "Update Device list" if you have updated or renamed your devices.
http://localhost:3000/[endpoint]?[variable1]=[value]&[variable2]=[value]
endpoint | variable1 | value | variable2 | value | description |
---|---|---|---|---|---|
speak | text | the text to speak | who | "all" or 1,2 or 2,3,4 etc | cause selected echo devices to speak the text |
announce | text | the text to speak | who | "all" or 1,2 or 2,3,4 etc | cause selected echo devices to announce the text (announce tone and green ring precedes text) |
init | re-initialize the api |
alexa-speaks is mostly a web wrapper around alexa-remote2 by Apollon77
Partly based on Amazon Alexa Remote Control (PLAIN shell) and alexa-remote-control and OpenHab-Addon
Thank you for that work.
- none.
- Update alexa-remote for new Amazon proxy handshake. Fixes "enable cookie on your browser" issue
- change alexa-remote to be a dependency of apollon7/alexa-remote2.
- Alexa-speakes requires a device for use with amazon. Re-use this device on subsequent execution
- added option to enter amazon credentials on the default page (WIP: only encrypted store logic complete. not actually used yet)
- added local storage option to store device serial and credentials (encrypted) in \scratch directory
- trap any sendSequenceCommand errors and show in api response
- add additional "announce" and "init" api endpoints
- fix refresh cookie interval. Cookie refresh is now set to 12 hours.
- inhibit api/management functions until initialization completes
- show error message on management interface if api is not initialized
- devicelist moved to default page (localhost:3000).
- Added version number to default page
- Added "Update Device List" button to default page
- Enumerate devices
- Show "who" parameter mapping on /devicelist page
- Initial release by Sleuth255