Module for IP Symcon version 5.0 or higher. Enables remote control with an Amazon Echo / Amazon Dot / Amazon Echo Show from IP-Symcon.
Table of Contents
- Control of music:
- Play
- Pause
- Stop
- Next
- Previous
- Adjust Volume
- Rewind for 30 seconds
- Fast forward for 30 seconds
- Shuffle titles
- Repeat title
- Select Radio TuneIn station
- Voice output on an echo (text to speech)
- Output of sound from the Amazon Sound Library on an Echo device
- Speech output with SSML on an echo (text to speech) / also in combination with sound
- Announcements on all Echo devices in the WLAN (text to speech)
- Weather forecast
- Traffic News
- Flash Briefing
- Good Morning
- Sing a song
- Tell a story
- Start a Routine
- Connect Bluetooth devices
- switch Do not Disturb on / off
- IPS 5.0
- Echo / Echo Dot / Echo Show
Open the IP Console's web console with http://{IP-Symcon IP}:3777/console/.
Then click on the module store icon (IP-Symcon > 5.1) in the upper right corner.
In the search field type
Echo Remote
Then select the module and click Install
Open the IP Console's web console with http://{IP-Symcon IP}:3777/console/.
Open the object tree .
Open the instance 'Modules' below core instances in the object tree of IP-Symcon (>= Ver 5.x) with a double-click and press the Plus button.
Enter the following URL in the field and confirm with OK:
https://github.com/Wolbolar/IPSymconEchoRemote
Then an entry for the module appears in the list of the instance Modules
By default, the branch master is loaded, which contains current changes and adjustments. Only the master branch is kept current.
If an older version of IP-Symcon smaller than version 5.1 is used, click on the gear on the right side of the list. It opens another window,
here you can switch to another branch, for older versions smaller than 5.1 select Old-Version .
Open the Alexa app and name your devices.
In IP Symcon, first right-click Configurator Instances to add a new instance with Object -> Instance (CTRL + 1 in the Legacy Console), and select Echo.
The configuration form opens.
Please specify here:
- Amazon username
- Amazon password
- Language
- optional CSRF and cookie
Then the devices can be read in the configurator. A list of available devices appears with _equipment name, device type, device family, device number and InstanceID. The device is green if it has not been created yet.
Then highlight the desired device and open
press Create , the instance is then created.
If two-step verification is enabled for the Amazon account, then for the login cookie must selected, as the module does not support two-step verification.
How can the cookie be determined?
The following example shows how to detect the cookie of an active browser session.
In the example, we use Chrome's developer tools, but other browsers have similar tools. The pictures and instructions are now based on Chrome.
Open the website first https://alexa.amazon.com and sign up there with the Amazon account on which also the Echo / Dot is registered.
Now we switch to music, videos and books and select TuneIn. Now we open the developer tools with F12: a windows opens on the right side of the browser window.
Now we select a radio station at TuneIn with a double click. The radio station should now start playing on the echo. At the same time we see an entry with queue-and-play in the Developer Tools window under Network.
Now we open the entry queue-and-play (left column) with a double-click and it opens another window (right column).
In the window we can now find the cookie entry we need for the module. In the block Request Headers you can find it. The cookie is quite long and needs to be completely copied.
A description of how a routine can be set up in the Alexa app and how it is started from IP-Symcon:
A description of how to set up announcements on an Echo device:
Play
ECHOREMOTE_Play(int $InstanceID)
Parameter $InstanceID ObjectID of the Echo Remote Device
Pause
ECHOREMOTE_Pause(int $InstanceID)
Parameter $InstanceID ObjectID of the Echo Remote Device
Next
ECHOREMOTE_Next(int $InstanceID)
Parameter $InstanceID ObjectID of the Echo Remote Device
Previous
ECHOREMOTE_Previous(int $InstanceID)
Parameter $InstanceID ObjectID of the Echo Remote Device
SetVolume
ECHOREMOTE_SetVolume(int $InstanceID, int $volume)
Parameter $InstanceID ObjectID of the Echo Remote Device
Parameter $volume volume of the Amazon Echo Dot, min 0 max 100
Mute / Unmute
ECHOREMOTE_Mute(int $InstanceID, bool $mute)
Parameter $InstanceID ObjectID of the Echo Remote Device
Parameter $mute true set the volume from the Amazon Echo to 0 Parameter $mute false set the volume from the Amazon Echo to the last known value
Rewind30s
ECHOREMOTE_Rewind30s(int $InstanceID)
Parameter $InstanceID ObjectID of the Echo Remote Device
Forward30s
ECHOREMOTE_Forward30s(int $InstanceID)
Parameter $InstanceID ObjectID of the Echo Remote Device
Shuffle
ECHOREMOTE_Shuffle(int $InstanceID, bool Shuffle)
Parameter $InstanceID ObjectID of the Echo Remote Device
Repeat
ECHOREMOTE_Repeat(int $InstanceID)
Parameter $InstanceID ObjectID of the Echo Remote Device
TuneIn
ECHOREMOTE_TuneIn(int $InstanceID, string $station)
Parameter $InstanceID ObjectID of the Echo Remote Device
Parameter $station Station ID is the guideId which has to be read once per transmitter according to the instructions
TuneInPreset
ECHOREMOTE_TuneInPreset(int $InstanceID, int $preset)
Parameter $InstanceID ObjectID of the Echo Remote Device
Parameter $preset Position ID of the radio station in the module
AmazonMusic
ECHOREMOTE_AmazonMusic(integer $InstanceID, string $seedid, string $stationname)
Parameter $InstanceID ObjectID of the Echo Remote Device
Parameter $seedid Seed ID is the seedId which has to be read once per transmitter according to the instructions
Parameter $stationname Station Name, station_name that must be read out once per transmitter as per the instructions
Text to Speech
ECHOREMOTE_TextToSpeech(integer $InstanceID, string $text_to_speech)
Parameter $InstanceID ObjectID of the Echo Remote Device
Parameter $text_to_speech Text to be read by the device
Announcements
ECHOREMOTE_Announcement(integer $InstanceID, string $text_to_speech)
Parameter $InstanceID ObjektID of the Echo Remote Device
Parameter $text_to_speech Text that should be read out on all Echo devices in the WLAN, with the exception of all Echo devices on which Do not disturb is active
Weather Forcast
ECHOREMOTE_Weather(integer $InstanceID)
Parameter $InstanceID ObjectID of the Echo Remote Device
Reads the weather forcast on the device
Traffic News
ECHOREMOTE_Traffic(integer $InstanceID)
Parameter $InstanceID ObjectID of the Echo Remote Device
Read traffic announcements on the device
FlashBriefing
ECHOREMOTE_FlashBriefing(integer $InstanceID)
Parameter $InstanceID ObjectID of the Echo Remote Device
Read a flash briefing on the device
Good Morning
ECHOREMOTE_Goodmorning(integer $InstanceID)
Parameter $InstanceID ObjectID of the Echo Remote Device
Plays the "Good morning message" on the device
Singt a song
ECHOREMOTE_SingASong(integer $InstanceID)
Parameter $InstanceID ObjectID of the Echo Remote Device
Plays a song on the device
Tell Story
ECHOREMOTE_TellStory(integer $InstanceID)
Parameter $InstanceID ObjectID of the Echo Remote Device
Plays a short story on the device
Do not disturb on
ECHOREMOTE_DoNotDisturb(integer $InstanceID, bool true)
Parameter $InstanceID ObjektID des Echo Remote Devices
Do not disturb active.
Do not disturb off
ECHOREMOTE_DoNotDisturb(integer $InstanceID, bool false)
Parameter $InstanceID ObjektID des Echo Remote Devices
Do not disturb inactive.
Property | Type | Standard value | Function |
---|---|---|---|
Devicetype | string | Type of device | |
Devicenumber | string | Device number of the device (serialnumber) | |
AmazonCSRF | string | CSRF from Amazon Music | |
AmazonCookie | string | Cookie for Amazon Music |
GUID: {496AB8B5-396A-40E4-AF41-32F4C48AC90D}