Skip to content

Latest commit

 

History

History
387 lines (266 loc) · 11.2 KB

README.md

File metadata and controls

387 lines (266 loc) · 11.2 KB

Version Version Code StyleCI

IPSymconEchoRemote

Module for IP Symcon version 5.0 or higher. Enables remote control with an Amazon Echo / Amazon Dot / Amazon Echo Show from IP-Symcon.

Documentation

Table of Contents

  1. Features
  2. Requirements
  3. Installation
  4. Function reference
  5. Configuration
  6. Annex

1. Features

  • 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

2. Requirements

  • IPS 5.0
  • Echo / Echo Dot / Echo Show

3. Installation

a. Loading the module

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.

Store

In the search field type

Echo Remote

Store

Then select the module and click Install

Store

Install alternative via Modules instance (IP-Symcon < 5.1)

Open the IP Console's web console with http://{IP-Symcon IP}:3777/console/.

Open the object tree .

Objektbaum

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.

Modules

Plus

ModulURL

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.

Master

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,

SelectBranch

here you can switch to another branch, for older versions smaller than 5.1 select Old-Version .

b. Name groups and devices in Amazon app

Open the Alexa app and name your devices.

c. Setup in IP-Symcon

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.

AddInstance

The configuration form opens.

ConfigIO

  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.

   List   

Then highlight the desired device and open

  Create

   press Create , the instance is then created.

Determination of the cookie

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.

Cookie

Webfront View

Webfront

Example for setting up a routine and starting the routine from IP-Symcon

A description of how a routine can be set up in the Alexa app and how it is started from IP-Symcon:

Example of setting up announcements on an Alexa device and using it from IP-Symcon

A description of how to set up announcements on an Echo device:

4. Function Reference

Echo Remote:

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.

5. Configuration

Echo Remote:

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

6. Annex

Echo Remote Device:

GUID: {496AB8B5-396A-40E4-AF41-32F4C48AC90D}