apollon77 / alexa-remote Goto Github PK
View Code? Open in Web Editor NEWThis project forked from soef/alexa-remote
License: MIT License
This project forked from soef/alexa-remote
License: MIT License
Hey Apollon77,
Sorry for being lazy, but there is whole issue here that seems to be linked to your alexa-remote.
Would you be able to weigh in?
GET alexaServer + "/api/content-skills/enabled-feeds"
"POST", alexaServer + "/api/content-skills/enabled-feeds"
Hi ,
I want to send text command my physical Alexa device.
But I take error that is "no body".
Help me anyone this issue?
let serialOrName="G2A0WK04..........";
let sequenceType=null;
let commands=[{"command":"speak","value":"hello"}];
alexa.sendMultiSequenceCommand(serialOrName, commands, sequenceType, function(err, res) {
if (!err && res) {
console.log ("alexa.sendMultiSequenceCommand is success");
}
});
GET https://alexa.amazon.de/api/notification/sounds?deviceSerialNumber=XXXXXXX&deviceType=A3S5BH2HU6VAYF&softwareVersion=611498620&_=1532329020829
{"notificationSounds":[{"displayName":"Grand Tour: Season 2","folder":"FOLDER_CELEBRITY","id":"system_alerts_grand_tour_2","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_grand_tour_2.mp3"},{"displayName":"Grand Tour","folder":"FOLDER_CELEBRITY","id":"system_alerts_grand_tour","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_grand_tour.mp3"},{"displayName":"Adrift","folder":null,"id":"system_alerts_soothing_01","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_soothing_01.mp3"},{"displayName":"Clangy","folder":null,"id":"system_alerts_atonal_02","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_atonal_02.mp3"},{"displayName":"Clarity","folder":null,"id":"system_alerts_melodic_05","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_melodic_05.mp3"},{"displayName":"Countertop","folder":null,"id":"system_alerts_repetitive_04","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_repetitive_04.mp3"},{"displayName":"Focus","folder":null,"id":"system_alerts_melodic_03","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_melodic_03.mp3"},{"displayName":"Glimmer","folder":null,"id":"system_alerts_melodic_06","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_melodic_06.mp3"},{"displayName":"Nightstand","folder":null,"id":"system_alerts_repetitive_01","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_repetitive_01.mp3"},{"displayName":"Nimble","folder":null,"id":"system_alerts_melodic_07","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_melodic_07.mp3"},{"displayName":"Orcas","folder":null,"id":"system_alerts_soothing_05","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_soothing_05.mp3"},{"displayName":"Porchlight","folder":null,"id":"system_alerts_atonal_03","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_atonal_03.mp3"},{"displayName":"Pulsar","folder":null,"id":"system_alerts_rhythmic_02","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_rhythmic_02.mp3"},{"displayName":"Rainier","folder":null,"id":"system_alerts_musical_02","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_musical_02.mp3"},{"displayName":"Simple Alarm","folder":null,"id":"system_alerts_melodic_01","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_melodic_01.mp3"},{"displayName":"Simple Timer","folder":null,"id":"system_alerts_melodic_02","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_melodic_02.mp3"},{"displayName":"Squared Waves","folder":null,"id":"system_alerts_alarming_03","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_alarming_03.mp3"}]}
GET https://alexa.amazon.de/api/ping?_=1532329020792
Response: healthy
Alexa-Remote WS-MQTT: Open: htt ps://dp-gw-na-js.amazon.com/?x-amz-device-type=ALEGCNGL9K0HM&x-amz-device-serial=undefined-timeserial
Alexa-Remote WS-MQTT: Initialization Msg 1 sent
Alexa-Remote WS-MQTT: Initialization Msg 2+3 sent
Initialization not done within 30s
Alexa-Remote WS-MQTT: Close: 1005
Alexa-Remote WS-MQTT: Retry Connection in NaNs
Any chance it might have to do with the cookie handling in alexa-wsmqtt.js since it seems to be looking for a cookie from Amazon.de ? if (cookie) serialArr = cookie.match(/ubid-acbde=([^;]+);/);
where's mine is from the .com, i.e. ubid-main=....
Hello, Alexa-remote won't correctly process speak functions after its been running for > 24 hours. Here are the relevant log entries:
Alexa-Remote: No authentication check needed (time elapsed 33888)
Alexa-Remote: Sending Request with {"host":"pitangui.amazon.com","path":"/api/behaviors/preview","method":"POST","timeout":10000,"headers":{}} and data={"behaviorId":"PREVIEW","sequenceJson":"{"@type":"com.amazon.alexa.behaviors.model.Sequence","startNode":{"@type":"com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode","operationPayload":{"deviceType":"AKNO1N0KSFN8L","deviceSerialNumber":"G0B0H506617700D3","locale":"de-DE","customerId":"AWMF3SVYOF8RS","textToSpeak":"hello"},"type":"Alexa.Speak"}}","status":"ENABLED"}
Alexa-Remote: Response: No body
Error: no body
at IncomingMessage. (C:\alexa-speaks\public\alexa-remote.js:767:126)
at IncomingMessage.emit (events.js:215:7)
at endReadableNT (_stream_readable.js:1184:12)
at processTicksAndRejections (internal/process/task_queues.js:80:21)
Alexa-Remote always returns "Response: No body" and then Alexa speaks the text, but it appears that the status code is something other than 200 when the problem starts occurring. Here's how the logs look when the command is successful:
Alexa-Remote: No authentication check needed (time elapsed 24222)
Alexa-Remote: Sending Request with {"host":"pitangui.amazon.com","path":"/api/behaviors/preview","method":"POST","timeout":10000,"headers":{}} and data={"behaviorId":"PREVIEW","sequenceJson":"{"@type":"com.amazon.alexa.behaviors.model.Sequence","startNode":{"@type":"com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode","operationPayload":{"deviceType":"AKNO1N0KSFN8L","deviceSerialNumber":"G0B0H506617700D3","locale":"de-DE","customerId":"AWMF3SVYOF8RS","textToSpeak":"hello"},"type":"Alexa.Speak"}}","status":"ENABLED"}
Alexa-Remote: Response: No body
As you can see, they appear to be identical except the successful attempt is receiving a status code that begins with "2".
Is there any way using access token instead of cookie? Or do I generate cookie from process of taking access token?
🚨 You need to enable Continuous Integration on all branches of this repository. 🚨
To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.
Since we didn’t receive a CI status on the greenkeeper/initial
branch, it’s possible that you don’t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.
If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/
.
Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please delete the greenkeeper/initial
branch in this repository, and then remove and re-add this repository to the Greenkeeper App’s white list on Github. You'll find this list on your repo or organization’s settings page, under Installed GitHub Apps.
Hello,
from time to time, i receive a Connection: close from Amazon :
HTTP/1.1 0 x-amzn-RequestId: a33eaaaa-aaaa-aaaa-aaaa-8fdfdaaaab9e
Access-Control-Allow-Origin: https://alexa.amazon.fr
Vary: Origin
Access-Control-Expose-Headers: x-amzn-dat-gui-client-upgrade,X-Amzn-Error,loginUrl,X-Amzn-RequestId,x-amzn-alt-domain,Date,Location
Access-Control-Allow-Credentials: true
Date: Mon, 01 Apr 2019 15:41:37 GMT
Connection: close
of course the ret = JSON.parse(body);
fail with that error : Response: No/Invalid JSON
(the exception is of course Unexpected token H in JSON at position 0)
do you know when that occurs ? and the solution ?
Thank you in advance
String command = "{"trackId":"" + trackId + "","playQueuePrime":true}";
("POST",
alexaServer + "/api/cloudplayer/queue-and-play?deviceSerialNumber=" + device.serialNumber
+ "&deviceType=" + device.deviceType + "&mediaOwnerCustomerId="
+ device.deviceOwnerCustomerId + "&shuffle=false",
command
Is your feature request related to a problem? Please describe.
It's painful to use pure JavaScript modules, like alexa-remote2
, in a TypeScript project.
Describe the solution you'd like
The most thorough solution would be to rewrite this package in TypeScript, but I would find it sufficient for the package to include a set of TypeScript type definitions.
Describe alternatives you've considered
The only real alternative is for each TypeScript project that depends on alexa-remote2
to write their own type definitions.
Additional context
N/A
(alexaServer + "/api/cloudplayer/playlists?deviceSerialNumber=" + device.serialNumber + "&deviceType=" + device.deviceType + "&mediaOwnerCustomerId=" + device.deviceOwnerCustomerId)
Hi
i´m trying play a Tunein radio. Could you provide a example on how to do this.
Thanks
Bit weird issue, but making a Player info request works just fine for all other devices but for some reason my only Echo Dot Gen3 is returning all "null"
It's online, and I can do anything I want with it, except the get player info part....
Set volume, speak, play music etc... all works - any ideas ?
Alexa-Remote: Sending Request with {"host":"pitangui.amazon.com","path":"/api/np/player?deviceSerialNumber=G090...&deviceType=A32DOYMUN6DTXA&screenWidth=1392&_=","method":"GET","timeout":10000,"headers":{}}
Alexa-Remote: Response: {"playerInfo":{"hint":null,"infoText":null,"isPlayingInLemur":false,"lemurVolume":null,"lyrics":null,"mainArt":null,"mediaId":null,"miniArt":null,"miniInfoText":null,"playbackSource":null,"playingInLemurId":null,"progress":null,"provider":null,"quality":null,"queueId":null,"state":null,"template":null,"transport":null,"upNextItems":null,"volume":null}}
Hi, on createNotificationObject, I want to use my custom sound file (sampleUrl). So, alarm is ringing, device will play my custom audio file. I set sampleUrl =https://s3-us-west-1.amazonaws.com/sayspring-prod/media/celtic-open-chime.mp3 but it doesn't work. How to do it?
As enhancement, That would be nice to promise-ing the commands to alexa, that would be easier for command chaining ;-)
{
"@type": "com.amazon.alexa.behaviors.model.SerialNode",
"name": null,
"nodesToExecute": [{
"@type": "com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode",
"type": "turnOn",
"operationPayload": {
"customerId": "XXXXXX",
"operationId": "turnOn",
"target": "e1813447-0a52-455b-b53f-ccd978d2f074"
},
"name": null
}, {
"@type": "com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode",
"type": "setPercentage",
"operationPayload": {
"percentage": 50,
"customerId": "XXXXXX",
"operationId": "setPercentage",
"target": "e1813447-0a52-455b-b53f-ccd978d2f074"
},
"name": null
}]
}, {
"@type": "com.amazon.alexa.behaviors.model.SerialNode",
"name": null,
"nodesToExecute": [{
"@type": "com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode",
"type": "turnOn",
"operationPayload": {
"customerId": "XXXXXX",
"operationId": "turnOn",
"target": "9f2abbc9-f639-4caf-8f45-3d6e4ee97038"
},
"name": null
}]
}
Hello,
Sorry for my bad English.
The Mute command does not appear to exist.
While the value is well up in the PUSH_VOLUME_CHANGE
Is it possible to add it?
The goal is to take into account the mutated for an announcement or to "make speak" to restore it after the announcement.
Hello, is there way to set alexa guard to away or home mode?
I don't want to have to say "Alexa I'm leaving" each time someone leaves the house, I'd like to use this module to manage it.
Thanks
Appears there's a tonne of requests not using this.baseUrl or the page url, instead using alexa.amazon.de which causes issues with non german alexa users.
Currently partly too many things
announcement & ssml can both be called without "devices" to send them to ALL devices. Do you see a chance to remove the "devices"-property in seqNode.operationPayload.target if i.e. "ALL" is given as "device"?
I send to ssml my Alexa device. Text can be converted speech, whispered effect is working but audio url does not work.
let serialOrName="G2A0WK048432057N";
let command="ssml";
let value='<speak><audio src="https://s3-us-west-1.amazonaws.com/sayspring-prod/media/celtic-open-chime.mp3"/> Welcome to Car-Fu.<amazon:effect name="whispered">I am not a real human.</amazon:effect>.</speak>';
alexa.sendSequenceCommand(serialOrName, command, value, function(err, res) {
console.log ("error: "+err)
console.log ("result: "+res)
if (!err && res) {
console.log ("alexa.sendSequenceCommand is successfull");
}
});
logs:
deviceSerial :87c51d3bcffe48019bf9c55fb4928df6
deviceSerial :G2A0WK048432057N
deviceSerial :DB35389691CA4C4AA1037BAFEBFE9E1A
Alexa-Remote: No authentication check needed (time elapsed 6706)
Alexa-Remote: Sending Request with {"host":"pitangui.amazon.com","path":"/api/behaviors/preview","method":"POST","timeout":10000,"headers":{}}and data={"behaviorId":"PREVIEW","sequenceJson":"{"@type":"com.amazon.alexa.behaviors.model.Sequence","startNode":{"@type":"com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode","operationPayload":{"customerId":"A2Q8GQKLT884AQ","expireAfter":"PT5S","content":[{"locale":"en-US","display":{"title":"ioBroker","body":"<audio src=\"s3-us-west-1.amazonaws.com/sayspring-prod/media/celtic-open-chime.mp3\"/> Welcome to Car-Fu.<amazon:effect name=\"whispered\">I am not a real human.</amazon:effect>."},"speak":{"type":"ssml","value":"<audio src=\"s3-us-west-1.amazonaws.com/sayspring-prod/media/celtic-open-chime.mp3\"/> Welcome to Car-Fu.<amazon:effect name=\"whispered\">I am not a real human.</amazon:effect>."}}],"target":{"customerId":"A2Q8GQKLT884AQ","devices":[{"deviceSerialNumber":"G2A0WK048432057N","deviceTypeId":"A18O6U1UQFJ0XK"}]}},"type":"AlexaAnnouncement"}}","status":"ENABLED"}
Dear,
alot of my users receive this message the last 24h hours, are you aware Amazon changed something ?
I see you display that if this.csrf is not found in headers on getCookie ... any clue where it could come from ?
BR's
Nebz
'/api/device-wifi-details?deviceSerialNumber=' + amazonDeviceObject.serialNumber + '&deviceType=' + amazonDeviceObject.deviceType
--> essid, macAddress
How do i send a basic command to the echo device say asking whats the weather ?
I have completed the full process of setup and now the example code which you have shared is doing this
Alexa-Remote WS-MQTT: Send Ping
Alexa-Remote WS-MQTT: Received Pong
Also, when i press a button on the echo, i see some output as well. So definitely everything is connected.
Please help, thanks in advance.
Hello,
is it possible to get the detected voice with the Alexa return ? (if available).
I've created two voice profiles and I didn't find any clue about a detected voice in the returned JSON. Perhaps you have an idea ?
Thanks :)
I would like my script to automatically login using the login credentials provided in the script.
This is my log
Alexa-Remote: Use as Login-Amazon-URL: amazon.de
Alexa-Remote: Use as Base-URL: layla.amazon.de
Alexa-Remote: No cookie given, generate one
Alexa-Cookie: Use as Login-Amazon-URL: amazon.de
Alexa-Cookie: Use as User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36
Alexa-Cookie: Use as Accept-Language: en-US,en;q=0.9,de;q=0.8
Alexa-Cookie: Proxy mode disabled
Alexa-Cookie: Step 1: get first cookie and authentication redirect
Alexa-Cookie: Sending Request with {"host":"alexa.amazon.de","path":"","method":"GET","headers":{"DNT":"1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36","Accept-Language":"en-US,en;q=0.9,de;q=0.8","Connection":"keep-alive","Accept":"*/*"}}
Alexa-Cookie: Response (302) - Redirect to https://www.amazon.de/ap/signin?showRmrMe=1&openid.return_to=https%3A%2F%2Falexa.amazon.de%2F&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.assoc_handle=amzn_dp_project_dee_de&openid.mode=checkid_setup&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&
Alexa-Cookie: Sending Request with {"host":"www.amazon.de","path":"/ap/signin?showRmrMe=1&openid.return_to=https%3A%2F%2Falexa.amazon.de%2F&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.assoc_handle=amzn_dp_project_dee_de&openid.mode=checkid_setup&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&","method":"GET","headers":{"DNT":"1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36","Accept-Language":"en-US,en;q=0.9,de;q=0.8","Connection":"keep-alive","Accept":"*/*","Cookie":""},"body":""}
Alexa-Cookie: Response (200)
Alexa-Cookie: Add Cookie session-id = 257-6882699-5178908
Alexa-Cookie: Add Cookie session-id-time = 2208727619l
Alexa-Cookie: Step 2: login empty to generate session
Alexa-Cookie: Sending Request with {"host":"www.amazon.de","path":"/ap/signin","method":"POST","headers":{"DNT":"1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36","Accept-Language":"en-US,en;q=0.9,de;q=0.8","Connection":"keep-alive","Content-Type":"application/x-www-form-urlencoded","Referer":"https://www.amazon.de/ap/signin?showRmrMe=1&openid.return_to=https%3A%2F%2Falexa.amazon.de%2F&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.assoc_handle=amzn_dp_project_dee_de&openid.mode=checkid_setup&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&","Cookie":"session-id=257-6882699-5178908; session-id-time=2208727619l","Accept":"*/*"},"gzip":true,"body":""}
Alexa-Cookie: Response (404)
Alexa-Cookie: Add Cookie ubid-acbde = 257-2645367-6834169
Alexa-Cookie: Step 3: login with filled form, referer contains session id
Alexa-Cookie: Sending Request with {"host":"www.amazon.de","path":"/ap/signin","method":"POST","headers":{"DNT":"1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36","Accept-Language":"en-US,en;q=0.9,de;q=0.8","Connection":"keep-alive","Content-Type":"application/x-www-form-urlencoded","Referer":"https://www.amazon.de/ap/signin/257-6882699-5178908","Cookie":"session-id=257-6882699-5178908; session-id-time=2208727619l; ubid-acbde=257-2645367-6834169","Accept":"*/*"},"gzip":true,"body":"email=MYMAIL%2Bdev%40gmail.com&password=PASSWORD"}
Alexa-Cookie: Response (404)
Alexa-Remote: Error from retrieving cookies
Error: Login unsuccessfull. Please check credentials.
at request (/opt/alexa-timer-on-lametric-time/node_modules/alexa-cookie2/alexa-cookie.js:351:50)
at IncomingMessage.res.on (/opt/alexa-timer-on-lametric-time/node_modules/alexa-cookie2/alexa-cookie.js:111:33)
at IncomingMessage.emit (events.js:198:15)
at endReadableNT (_stream_readable.js:1139:12)
at processTicksAndRejections (internal/process/task_queues.js:81:17)```
Hello,
how can I use Alexa-remote to command line send TTS in a Raspberry environment?
Can anyone please help?
Thanks,
Dan
Retrieve Groups:
in phoenix reply parallel to first amazonBridgeDetails:
"applianceGroups": {
"applianceGroups": {
"amzn1.HomeAutomation.ApplianceGroup.XXXXXX.550a4bf5-4852-4a35-81c4-b3568b222033": {
"applianceGroupName": "Lichter Küche",
"applianceGroupIdentifier": {
"value": "amzn1.HomeAutomation.ApplianceGroup.XXXXX.550a4bf5-4852-4a35-81c4-b3568b222033"
},
"spaceTypes": [],
"children": [],
"alexaEndpoints": [],
"defaults": []
}
}
}
Create group:
POST https://alexa.amazon.de/api/phoenix/group
applianceIds […]
0 SKILL_eyJza2lsbElkIjoiYW16bjEuYXNrLXXXXXXEtNDhhOS1iYzBhLWQzZDNiZGU4YjVmYyIsInN0YWdlIjoibGl2ZSJ9_Licht_K_che
1 SKILL_eyJza2lsbElkIjoiYW16bjEXXXXXXZjEtNDhhOS1iYzBhLWQzZDNiZGU4YjVmYyIsInN0YWdlIjoibGl2ZSJ9_Deckenlicht_K_che
groupId null
name Lichter Küche
--> keine
Read a group:
GET https://alexa.amazon.de/api/phoenix/group?_=1532329020882
{"applianceGroups":[{"applianceIds":["SKILL_eyJza2lsbElkIjoiYWXXXXXXXNDhhOS1iYzBhLWQzZDNiZGU4YjVmYyIsInN0YWdlIjoibGl2ZSJ9_Licht_K_che","SKILL_eyJza2lsbElkIjoiYW16XXXXXXZjEtNDhhOS1iYzBhLWQzZDNiZGU4YjVmYyIsInN0YWdlIjoibGl2ZSJ9_Deckenlicht_K_che"],"defaults":[],"groupId":"amzn1.HomeAutomation.ApplianceGroup.YYYYYYYYYY.6e1ee4e0-d152-4ca4-8755-3e826c99dcab","name":"Lichter Küche"}]}
Change a group:
PUT https://alexa.amazon.de/api/phoenix/group/amzn1.HomeAutomation.ApplianceGroup.YYYYYYYYYY.6e1ee4e0-d152-4ca4-8755-3e826c99dcab
applianceIds […]
0 SKILL_eyJza2lsbElkIjoiYW16bjEuYXNrLnNraWxXXXXXXS1iYzBhLWQzZDNiZGU4YjVmYyIsInN0YWdlIjoibGl2ZSJ9_Licht_K_che
1 SKILL_eyJza2lsbElkIjoiYW16bjEuYXNrLnNraWXXXXXX1iYzBhLWQzZDNiZGU4YjVmYyIsInN0YWdlIjoibGl2ZSJ9_Deckenlicht_K_che
defaults []
groupId amzn1.HomeAutomation.ApplianceGroup.YYYYYYYYYY.6e1ee4e0-d152-4ca4-8755-3e826c99dcab
name Lichter Küche
Hi,
Found this archive while looking for a cookie refresh solution while sending commands to alexa. Will your code, once it has a working cookie, auto refresh it automatically - forever?
When I have the example program configured with useWsMqtt=true, I get the following log messages which look like something is wrong.... (no messages if false) [In ether case I can send commands to Alexa with a modified example.js program]
Alexa-Remote WS-MQTT: Initialization Msg 1 sent
Alexa-Remote WS-MQTT: Initialization Msg 2+3 sent
Alexa-Remote WS-MQTT: Initialization not done within 30s
Alexa-Remote WS-MQTT: Close: 1005:
Alexa-Remote WS-MQTT: Retry Connection in NaNs
Alexa-Remote WS-MQTT: Open https://dp-gw-na-js.amazon.com/?x-amz-device-type=ALGCNCL9K0HM&x-amz-device-serial=undefined-1556940942909
[repeat]
lastly, cookieRefreshInterval: 7 * 24 * 60 * 1000 is in the example code AND in the source code for the library. Should this not be 7 * 24 * 60 * 60 * 1000? (7 days in milliseconds)...
Thanks,
-Stan
Create Reminder:
PUT https://alexa.amazon.de/api/notifications/createReminder
alarmTime 1532336400000
createdDate 1532329097900
deviceSerialNumber XXXXXXXX
deviceType A3S5BH2HU6VAYF
id createReminder
isRecurring false
isSaveInFlight true
originalDate 2018-07-23
originalTime 11:00:00.000
recurringPattern null
reminderIndex null
reminderLabel Testen
sound null
status ON
timeZoneId null
type Reminder
-> Answer
{"alarmTime":1532336400000,"createdDate":0,"deferredAtTime":null,"deviceSerialNumber":"XXXXXXXX","deviceType":"A3S5BH2HU6VAYF","id":"A3S5BH2HU6VAYF-XXXXXXXX-ee3f4656-64f8-47f7-85bb-146245c3ba70","musicAlarmId":null,"musicEntity":null,"notificationIndex":"ee3f4656-64f8-47f7-85bb-146245c3ba70","originalDate":"2018-07-23","originalTime":"11:00:00.000","provider":null,"recurringPattern":null,"remainingTime":0,"reminderLabel":"Testen","sound":{"displayName":"Simple Alarm","folder":null,"id":"system_alerts_melodic_01","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_melodic_01.mp3"},"status":"ON","timeZoneId":null,"timerLabel":null,"triggerTime":0,"type":"Reminder","version":"2"}
Read:
GET https://alexa.amazon.de/api/notifications/A3S5BH2HU6VAYF-XXXXXXXX-ee3f4656-64f8-47f7-85bb-146245c3ba70?_=1532329020816
{"alarmTime":1532336400000,"createdDate":1532329098436,"deferredAtTime":null,"deviceSerialNumber":"XXXXXXXX","deviceType":"A3S5BH2HU6VAYF","id":"A3S5BH2HU6VAYF-XXXXXXXX-ee3f4656-64f8-47f7-85bb-146245c3ba70","musicAlarmId":null,"musicEntity":null,"notificationIndex":"ee3f4656-64f8-47f7-85bb-146245c3ba70","originalDate":"2018-07-23","originalTime":"11:00:00.000","provider":null,"recurringPattern":null,"remainingTime":0,"reminderLabel":"Testen","sound":{"displayName":"Simple Alarm","folder":null,"id":"system_alerts_melodic_01","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_melodic_01.mp3"},"status":"ON","timeZoneId":null,"timerLabel":null,"triggerTime":0,"type":"Reminder","version":"2"}
Delete:
PUT https://alexa.amazon.de/api/notifications/A3S5BH2HU6VAYF-XXXXXXXX-ee3f4656-64f8-47f7-85bb-146245c3ba70
alarmTime 1532336400000
createdDate 1532329104430
deferredAtTime null
deviceSerialNumber XXXXXXXX
deviceType A3S5BH2HU6VAYF
id A3S5BH2HU6VAYF-XXXXXXXX-ee3f4656-64f8-47f7-85bb-146245c3ba70
isSaveInFlight true
musicAlarmId null
musicEntity null
notificationIndex ee3f4656-64f8-47f7-85bb-146245c3ba70
originalDate 2018-07-23
originalTime 11:00:00.000
provider null
recurringPattern null
remainingTime 0
reminderIndex null
reminderLabel Testen
sound {…}
displayName Simple Alarm
folder null
id system_alerts_melodic_01
providerId ECHO
sampleUrl https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_melodic_01.mp3
status OFF <<------
timerLabel null
timeZoneId null
triggerTime 0
type Reminder
version 2
--> {"alarmTime":1532336400000,"createdDate":0,"deferredAtTime":null,"deviceSerialNumber":"XXXXXXXX","deviceType":"A3S5BH2HU6VAYF","id":"A3S5BH2HU6VAYF-XXXXXXXX-ee3f4656-64f8-47f7-85bb-146245c3ba70","musicAlarmId":null,"musicEntity":null,"notificationIndex":"ee3f4656-64f8-47f7-85bb-146245c3ba70","originalDate":"2018-07-23","originalTime":"11:00:00.000","provider":null,"recurringPattern":null,"remainingTime":0,"reminderLabel":"Testen","sound":{"displayName":"Simple Alarm","folder":null,"id":"system_alerts_melodic_01","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_melodic_01.mp3"},"status":"OFF","timeZoneId":null,"timerLabel":null,"triggerTime":0,"type":"Reminder","version":"4"}
Daily reminder:
alarmTime 1532334600000
createdDate 1532331059626
deviceSerialNumber XXXXXXXX
deviceType A3S5BH2HU6VAYF
id createReminder
isRecurring true
isSaveInFlight true
originalDate null
originalTime 10:30:00.000
recurringPattern P1D
reminderIndex null
reminderLabel Testen
sound null
status ON
timeZoneId null
type Reminder
Only weekdays:
PUT https://alexa.amazon.de/api/notifications/A3S5BH2HU6VAYF-XXXXXXXX-3b5ada2f-f8f1-4a2a-97c9-47d713531347
alarmTime 1532334600000
createdDate 1532331116953
deferredAtTime null
deviceSerialNumber XXXXXXXX
deviceType A3S5BH2HU6VAYF
id A3S5BH2HU6VAYF-XXXXXXXX-3b5ada2f-f8f1-4a2a-97c9-47d713531347
isRecurring true
isSaveInFlight true
musicAlarmId null
musicEntity null
notificationIndex 3b5ada2f-f8f1-4a2a-97c9-47d713531347
originalDate null
originalTime 10:30:00.000
provider null
recurringPattern XXXX-WD
remainingTime 0
reminderIndex null
reminderLabel Testen
sound {…}
displayName Simple Alarm
folder null
id system_alerts_melodic_01
providerId ECHO
sampleUrl https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_melodic_01.mp3
status ON
timerLabel null
timeZoneId null
triggerTime 0
type Reminder
version 3
Delete:
DELETE https://alexa.amazon.de/api/notifications/A3S5BH2HU6VAYF-XXXXXXXX-3b5ada2f-f8f1-4a2a-97c9-47d713531347
Alarm activate (creation not possible!!):
PUT https://alexa.amazon.de/api/notifications/A3S5BH2HU6VAYF-XXXXXXXX-a20127b3-64b2-3598-8b54-d8e87c9c3cce
alarmIndex null
alarmTime 1532325600422
createdDate 1522654450951
deferredAtTime null
deviceSerialNumber XXXXXXXX
deviceType A3S5BH2HU6VAYF
id A3S5BH2HU6VAYF-XXXXXXXX-a20127b3-64b2-3598-8b54-d8e87c9c3cce
isSaveInFlight true
musicAlarmId null
musicEntity null
notificationIndex a20127b3-64b2-3598-8b54-d8e87c9c3cce
originalDate 2018-04-03
originalTime 00:40:00.000
provider null
recurringPattern null
remainingTime 0
reminderLabel null
sound {…}
displayName Countertop
folder null
id system_alerts_repetitive_04
providerId ECHO
sampleUrl https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_repetitive_04.mp3
status ON
timerLabel null
timeZoneId null
triggerTime 0
type Alarm
version 4
--> {"alarmTime":1532325600422,"createdDate":0,"deferredAtTime":null,"deviceSerialNumber":"XXXXXXXX","deviceType":"A3S5BH2HU6VAYF","id":"A3S5BH2HU6VAYF-XXXXXXXX-a20127b3-64b2-3598-8b54-d8e87c9c3cce","musicAlarmId":null,"musicEntity":null,"notificationIndex":"a20127b3-64b2-3598-8b54-d8e87c9c3cce","originalDate":null,"originalTime":"00:40:00.000","provider":null,"recurringPattern":null,"remainingTime":0,"reminderLabel":null,"sound":{"displayName":"Countertop","folder":null,"id":"system_alerts_repetitive_04","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_repetitive_04.mp3"},"status":"ON","timeZoneId":null,"timerLabel":null,"triggerTime":0,"type":"Alarm","version":"6"}
Change Alarm: IMPORTANT alarmIndex:null!!
PUT https://alexa.amazon.de/api/notifications/A3S5BH2HU6VAYF-XXXXXXXX-YYYYYYYYYY
alarmIndex null
alarmTime 1532338800000
createdDate 1532331330464
deferredAtTime null
deviceSerialNumber XXXXXXXX
deviceType A3S5BH2HU6VAYF
id A3S5BH2HU6VAYF-XXXXXXXX-YYYYYYYYYY
isSaveInFlight true
musicAlarmId null
musicEntity null
notificationIndex YYYYYYYYYY
originalDate 2018-04-02
originalTime 11:40:00.000
provider null
recurringPattern
remainingTime 0
reminderLabel null
sound {…}
displayName Schimmer
folder null
id system_alerts_melodic_06
providerId ECHO
sampleUrl https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_melodic_06.mp3
status ON
timerLabel null
timeZoneId null
triggerTime 0
type Alarm
version 4
--> {"alarmTime":1532338800000,"createdDate":0,"deferredAtTime":null,"deviceSerialNumber":"XXXXXXXX","deviceType":"A3S5BH2HU6VAYF","id":"A3S5BH2HU6VAYF-XXXXXXXX-YYYYYYYYYY","musicAlarmId":null,"musicEntity":null,"notificationIndex":"YYYYYYYYYY","originalDate":null,"originalTime":"11:40:00.000","provider":null,"recurringPattern":null,"remainingTime":0,"reminderLabel":null,"sound":{"displayName":"Glimmer","folder":null,"id":"system_alerts_melodic_06","providerId":"ECHO","sampleUrl":"https://s3.amazonaws.com/deeappservice.prod.notificationtones/system_alerts_melodic_06.mp3"},"status":"ON","timeZoneId":null,"timerLabel":null,"triggerTime":0,"type":"Alarm","version":"6"}
Hello,
I would like to reproduce one text at a given volume, for instance 100, without changing the default volume of the Echo.
I have not understood how to do that, can you please help?
Thanks,
Dan
Thank you for this helpful repository. I was wondering if you have any plans to add the endpoints for various settings.
For example couple of them which might be useful are:
command = "{"playlistId":"" + playListId + "","playQueuePrime":true}";
"POST",
alexaServer + "/api/cloudplayer/queue-and-play?deviceSerialNumber=" + device.serialNumber
+ "&deviceType=" + device.deviceType + "&mediaOwnerCustomerId="
+ device.deviceOwnerCustomerId + "&shuffle=false",
command
maybe without ,"playQueuePrime":true} ?!
Hello,
can you at least provide documentation regarding how to get the login credentials?
cookie, service host, serial or name etc..
Thanks
Hello all,
anybody facing issues with login initialisation? Till yesterday everything was working fine but suddenly i had to reinitialise my account. With cookies it was not working so i tried the other 2 options but i'm having same issues.
I think amazon has changed something in logging in or is it just me having problems?
Thanks in advance, Michael
GET: headers.put("Routines-Version", "1.1.201102");
"GET",
alexaServer + "/api/behaviors/entities?skillId=amzn1.ask.1p.music"
PLAY as command: use sequence command with Alexa.Music.PlaySearchPhrase and the provider
{
"@type": "com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode",
"type": "Alexa.Music.PlaySearchPhrase",
"operationPayload": {
"deviceType": "A3S5BH2HU6VAYF",
"sanitizedSearchPhrase": "mike oldfield",
"searchPhrase": "Mike Oldfield",
"customerId": "A3NSX4MMJVG96V",
"locale": "de-DE",
"musicProviderId": "CLOUDPLAYER",
"deviceSerialNumber": "G090LF09643202VS"
},
"name": null
}
I see on alexa app have send voice to alexa.
Can u tell me how to do it ?
Im from Viet Nam, alexa dont have Vietnames. Like to google tts then send it to alexa.
thank you
GET https://alexa.amazon.de/api/todos?startTime=&endTime=&completed=&type=TASK&size=100&offset=-1&_=1532329020785
{"values":[{"cardId":null,"complete":false,"createdDate":1492332736639,"customerId":"YYYYYYYYYY","deleted":false,"itemId":"YYYYYYYYYY#50733e27-763c-34c6-9134-e21a8c3f51a6","lastLocalUpdatedDate":null,"lastUpdatedDate":1492332736639,"nbestItems":null,"originalAudioId":null,"reminderTime":null,"text":"portal schneiden","type":"TASK","version":1}]}
GET https://alexa.amazon.de/api/todos?startTime=&endTime=&completed=&type=SHOPPING_ITEM&size=100&offset=-1&_=1532329020786
{"values":[{"cardId":null,"complete":false,"createdDate":1530366776413,"customerId":"YYYYYYYYYY","deleted":false,"itemId":"YYYYYYYYYY#c86b339b-1a90-4363-a68c-6c065110bbbf","lastLocalUpdatedDate":null,"lastUpdatedDate":1530366776413,"nbestItems":null,"originalAudioId":null,"reminderTime":null,"text":"alleine","type":"SHOPPING_ITEM","version":1}]}
Create:
POST https://alexa.amazon.de/api/todos
complete false
createdDate 1532331960725
deleted false
itemId null
lastLocalUpdatedDate null
lastUpdatedDate null
nbestItems null
reminderTime null
text neuer Eintrag Einkauf
type SHOPPING_ITEM
utteranceId null
version null
--> {"cardId":null,"complete":false,"createdDate":1532331960787,"customerId":"YYYYYYYYYY","deleted":false,"itemId":"YYYYYYYYYY#e5b94122-12be-4cf4-b8f0-31e3a408d0c5","lastLocalUpdatedDate":null,"lastUpdatedDate":1532331960787,"nbestItems":null,"originalAudioId":null,"reminderTime":null,"text":"neuer Eintrag Einkauf","type":"SHOPPING_ITEM","version":1}
Delete:
PUT https://alexa.amazon.de/api/todos/YYYYYYYYYY
cardId null
complete false
createdDate 1532331960787
customerId YYYYYYYYYY
deleted true
itemId YYYYYYYYYY#e5b94122-12be-4cf4-b8f0-31e3a408d0c5
lastLocalUpdatedDate 1532332056183
lastUpdatedDate 1532331960787
nbestItems null
originalAudioId null
reminderTime null
text neuer Eintrag Einkauf
type SHOPPING_ITEM
utteranceId null
version 1
Change:
PUT https://alexa.amazon.de/api/todos/YYYYYYYYYY
cardId null
complete false
createdDate 1530366776413
customerId YYYYYYYYYY
deleted false
itemId YYYYYYYYYY#c86b339b-1a90-4363-a68c-6c065110bbbf
lastLocalUpdatedDate 1532332105633
lastUpdatedDate 1530366776413
nbestItems null
originalAudioId null
reminderTime null
text alleine2
type SHOPPING_ITEM
utteranceId null
version 1
--> {"cardId":null,"complete":false,"createdDate":1530366776413,"customerId":"YYYYYYYYYY","deleted":false,"itemId":"YYYYYYYYYY#c86b339b-1a90-4363-a68c-6c065110bbbf","lastLocalUpdatedDate":null,"lastUpdatedDate":1532332105714,"nbestItems":null,"originalAudioId":null,"reminderTime":null,"text":"alleine2","type":"SHOPPING_ITEM","version":2}
Move Shopping to task
PUT https://alexa.amazon.de/api/todos/YYYYYYYYYY
cardId null
complete false
createdDate 1530366776413
customerId YYYYYYYYYY
deleted false
itemId YYYYYYYYYY#c86b339b-1a90-4363-a68c-6c065110bbbf
lastLocalUpdatedDate 1532332150395
lastUpdatedDate 1532332105714
nbestItems null
originalAudioId null
reminderTime null
text alleine2
type TASK
utteranceId null
version 2
--> {"cardId":null,"complete":false,"createdDate":1530366776413,"customerId":"YYYYYYYYYY","deleted":false,"itemId":"YYYYYYYYYY#c86b339b-1a90-4363-a68c-6c065110bbbf","lastLocalUpdatedDate":null,"lastUpdatedDate":1532332150454,"nbestItems":null,"originalAudioId":null,"reminderTime":null,"text":"alleine2","type":"TASK","version":3}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.