Release Candidate and Support Thread
This thread tries to give you support with the released version of the amazon echo control binding.
Also relative stable (sometimes more stable then the offical version) can be downloaded from here.
Please jump to the Preview and Beta: Amazon Echo Control Binding thread to get the latest features if you want do a beta test.
FAQ and Hints
When I have to remove and recreate things for a binding upgrade?
Check When I have to remove and recreate things for a binding upgrade? from below
I do not see all channels:
Please check out the section When I have to remove and recreate things for a binding upgrade? from below
Please click on âShow moreâ in the PaperUI Thing definition page
How I check the version of the binding
Please read
Download Latest Stable Version
The lastest release - 2.5 (Release Candidate 3) - this version is included in the release of OH 2.5.
The documention of all feature can be found below in this posting.
Whats new in 2.5 (RC 3):
-
Breaking Change: The behavior of the announcement channel is changed.
If you want to use the channel for Echo Show and Echo Spot devices without a spoken message, please use the JSON syntax format explained in the Tuturial section under Show an announcement on the echo show or echo spot. - âAnnouncementâ channel is now supported for Echo Dot devices to provide a short beep before the text to speak message. Simple write the text which should be spoken from a rule to this channel.
Whats new in 2.5 (RC 2) (This is the version which is included in OH 2.5 RC3):
- Fix an issue for new logins in Amazon.co.au domain. Maybe the same issue happens in other domains. So if you have trouble to login, update to this version.
Whats new in 2.5 (RC 1):
- Fix an issue of Beta 8, where announcement was broken.
For the complete history scroll down to Version History in the end of this posting
Amazon Echo Control Binding
This binding can control Amazon Echo devices (Alexa).
It provides features to control and view the current state of echo devices:
- use echo device as text to speech from a rule
- volume
- pause/continue/next track/previous track
- connect/disconnect bluetooth devices
- start playing tuneIn radio
- start playing Amazon Music
- control of multi room music
- show album art image in sitemap
- speak a reminder message
- plays an alarm sound
- start traffic news
- start daily briefing
- start weather report
- start good morning report
- start automation routine
- activate multiple configurations of flash briefings
- start playing music by providing the voice command as text (Works with all music providers)
- get last spoken voice command
- change the volume of the alarm
- change the equalizer settings
- get information about the next alarm, reminder and timer
Some ideas what you can do in your home by using rules and other openHAB controlled devices:
- Automatic turn on your amplifier and connect echo with bluetooth if the echo plays music
- If the amplifier was turned of, the echo stop playing and disconnect the bluetooth
- The echo starts playing radio if the light was turned on
- The echo starts playing radio at specified time
- Remind you with a voice message, that a window is open for a long time and it is winter
- Start a routine which welcome you, if you come home
- Start a routine which switch a smart home device connected to alexa
- Start your briefing if you turn on the light first time in the morning
- Have different flash briefing in the morning and evening
- Let alexa say âwelcomeâ to you if you open the door
- Implement own handling for voice commands in a rule
- Change the equalizer settings depending on the bluetooth connection
- Turn on a light on your alexa alarm time
Note
This binding uses the same API as the Web-Browser-Based Alexa site (alexa.amazon.de).
In other words, it simulates a user which is using the web page.
Unfortunately, the binding can get broken if Amazon change the web site.
The binding is tested with amazon.de, amazon.fr, amazon.it, amazon.com and amazon.co.uk accounts, but should also work with all others.
Supported Things
Thing type id | Name |
---|---|
account | Amazon Account |
echo | Amazon Echo Device |
echospot | Amazon Echo Spot Device |
echoshow | Amazon Echo Show Device |
wha | Amazon Echo Whole House Audio Control |
flashbriefingprofile | Flash briefing profile |
First Steps
- Create an âAmazon Accountâ thing
- open the url YOUR_OPENHAB/amazonechocontrol in your browser (e.g. http://openhab:8080/amazonechocontrol/), click the link for your account thing and login.
- You should see now a message that the login was successful
Discovery
After configuration of the account thing with the login data, the echo devices registered in the amazon account, get discovered.
If the device type is not known by the binding, the device will not be discovered.
But you can define any device listed in your alexa app with the best matching existing device (e.g. echo).
You will find the required serial number in settings of the device in the alexa app.
Binding Configuration
The binding does not have any configuration.
The configuration of your amazon account must be done in the âAmazon Accountâ device.
Thing Configuration
The Amazon Account does not need any configuration.
Amazon Devices
All Amazon devices (echo, echospot, echoshow, wha) needs the following configurations:
Configuration name | Description |
---|---|
serialNumber | Serial number of the amazon echo in the Alexa app |
You will find the serial number in the alexa app or on the webpage YOUR_OPENHAB/amazonechocontrol/YOUR_ACCOUNT (e.g. http://openhab:8080/amazonechocontrol/account1).
Flash Briefing Profile
The flashbriefingprofile thing has no configuration parameters.
It will be configured at runtime by using the save channel to store the current flash briefing configuration in the thing.
Channels
Channel Type ID | Item Type | Access Mode | Thing Type | Description |
---|---|---|---|---|
player | Player | R/W | echo, echoshow, echospot, wha | Control the music player (Supported commands: PLAY or ON, PAUSE or OFF, NEXT, PREVIOUS, REWIND, FASTFORWARD) |
volume | Dimmer | R/W | echo, echoshow, echospot | Control the volume |
equalizerTreble | Number | R/W | echo, echoshow, echospot | Control the treble (value from -6 to 6) |
equalizerMidrange | Number | R/W | echo, echoshow, echospot | Control the midrange (value from -6 to 6) |
equalizerBass | Number | R/W | echo, echoshow, echospot | Control the bass (value from -6 to 6) |
shuffle | Switch | R/W | echo, echoshow, echospot, wha | Shuffle play if applicable, e.g. playing a playlist |
imageUrl | String | R | echo, echoshow, echospot, wha | Url of the album image or radio station logo |
title | String | R | echo, echoshow, echospot, wha | Title of the current media |
subtitle1 | String | R | echo, echoshow, echospot, wha | Subtitle of the current media |
subtitle2 | String | R | echo, echoshow, echospot, wha | Additional subtitle of the current media |
providerDisplayName | String | R | echo, echoshow, echospot, wha | Name of the music provider |
bluetoothMAC | String | R/W | echo, echoshow, echospot | Bluetooth device MAC. Used to connect to a specific device or disconnect if a empty string was provided |
bluetooth | Switch | R/W | echo, echoshow, echospot | Connect/Disconnect to the last used bluetooth device (works after a bluetooth connection was established after the openHAB start) |
bluetoothDeviceName | String | R | echo, echoshow, echospot | User friendly name of the connected bluetooth device |
radioStationId | String | R/W | echo, echoshow, echospot, wha | Start playing of a TuneIn radio station by specifying itâs id or stops playing if a empty string was provided |
radio | Switch | R/W | echo, echoshow, echospot, wha | Start playing of the last used TuneIn radio station (works after the radio station started after the openhab start) |
amazonMusicTrackId | String | R/W | echo, echoshow, echospot, wha | Start playing of a Amazon Music track by itâs id od stops playing if a empty string was provided |
amazonMusicPlayListId | String | W | echo, echoshow, echospot, wha | Write Only! Start playing of a Amazon Music playlist by specifying itâs id od stops playing if a empty string was provided. Selection will only work in PaperUI |
amazonMusic | Switch | R/W | echo, echoshow, echospot, wha | Start playing of the last used Amazon Music song (works after at least one song was started after the openhab start) |
remind | String | R/W | echo, echoshow, echospot | Write Only! Speak the reminder and sends a notification to the Alexa app (Currently the reminder is played and notified two times, this seems to be a bug in the amazon software) |
nextReminder | DateTime | R | echo, echoshow, echospot | Next reminder on the device |
playAlarmSound | String | W | echo, echoshow, echospot | Write Only! Plays ans Alarm sound |
nextAlarm | DateTime | R | echo, echoshow, echospot | Next alarm on the device |
nextMusicAlarm | DateTime | R | echo, echoshow, echospot | Next music alarm on the device |
nextTimer | DateTime | R | echo, echoshow, echospot | Next timer on the device |
startRoutine | String | W | echo, echoshow, echospot | Write Only! Type in what you normally say to Alexa without the preceding âAlexa,â |
musicProviderId | String | R/W | echo, echoshow, echospot | Current Music provider |
playMusicVoiceCommand | String | W | echo, echoshow, echospot | Write Only! Voice command as text. E.g. âYesterday from the Beatlesâ |
startCommand | String | W | echo, echoshow, echospot | Write Only! Used to start anything. Available options: Weather, Traffic, GoodMorning, SingASong, TellStory, FlashBriefing and FlashBriefing. (Note: The options are case sensitive) |
announcement | String | W | echo, echoshow, echospot | Write Only! Display the announcement message on the display. See in the tutorial section to learn how itâs possible to set the title and turn off the sound. Please note: the announcement feature must be activated in the alexa app at the echo device. |
textToSpeech | String | W | echo, echoshow, echospot | Write Only! Write some text to this channel and alexa will speak it. It is possible to use plain text or SSML: e.g. <speak>I want to tell you a secret.<amazon:effect name="whispered">I am not a real human. Please note: the announcement feature must be activated in the alexa app at the echo device to use SSML. </amazon:effect></speak>
|
textToSpeechVolume | Dimmer | R/W | echo, echoshow, echospot | Volume of the textToSpeech channel, if 0 the current volume will be used |
lastVoiceCommand | String | R/W | echo, echoshow, echospot | Last voice command spoken to the device. Writing to the channel starts voice output. |
mediaProgress | Dimmer | R/W | echo, echoshow, echospot | Media progress in percent |
mediaProgressTime | Number:Time | R/W | echo, echoshow, echospot | Media play time |
mediaLength | Number:Time | R | echo, echoshow, echospot | Media length |
notificationVolume | Dimmer | R | echo, echoshow, echospot | Notification volume |
ascendingAlarm | Switch | R/W | echo, echoshow, echospot | Ascending alarm up to the configured volume |
save | Switch | W | flashbriefingprofile | Write Only! Stores the current configuration of flash briefings within the thing |
active | Switch | R/W | flashbriefingprofile | Active the profile |
playOnDevice | String | W | flashbriefingprofile | Specify the echo serial number or name to start the flash briefing. |
Advanced Feature Technically Experienced Users
The url <YOUR_OPENHAB>/amazonechocontrol/<YOUR_ACCOUNT>/PROXY/<API_URL> provides a proxy server with an authenticated connection to the amazon alexa server. This can be used to call alexa api from rules.
E.g. to read out the history call from an installation on openhab:8080 with a account named account1:
http://openhab:8080/amazonechocontrol/account1/PROXY/api/activities?startTime=&size=50&offset=1
Full Example
amazonechocontrol.things
Bridge amazonechocontrol:account:account1 "Amazon Account" @ "Accounts"
{
Thing echo echo1 "Alexa" @ "Living Room" [serialNumber="SERIAL_NUMBER"]
Thing echoshow echoshow1 "Alexa" @ "Kitchen" [serialNumber="SERIAL_NUMBER"]
Thing echospot echospot1 "Alexa" @ "Sleeping Room" [serialNumber="SERIAL_NUMBER"]
Thing wha wha1 "Ground Floor Music Group" @ "Music Groups" [serialNumber="SERIAL_NUMBER"]
Thing flashbriefingprofile flashbriefing1 "Flash Briefing Technical" @ "Flash Briefings"
Thing flashbriefingprofile flashbriefing2 "Flash Briefing Life Style" @ "Flash Briefings"
}
You will find the serial number in the Alexa app.
amazonechocontrol.items:
Sample for the Thing echo1 only. But it will work in the same way for the other things, only replace the thing name in the channel link.
Take a look in the channel description above to know, which channels are supported by your thing type.
Group Alexa_Living_Room <player>
// Player control
Player Echo_Living_Room_Player "Player" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:player"}
Dimmer Echo_Living_Room_Volume "Volume [%.0f %%]" <soundvolume> (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:volume"}
Number Echo_Living_Room_Treble "Treble" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:equalizerTreble"}
Number Echo_Living_Room_Midrange "Midrange" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:equalizerMidrange"}
Number Echo_Living_Room_Bass "Bass" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:equalizerBass"}
Switch Echo_Living_Room_Shuffle "Shuffle" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:shuffle"}
// Media channels
Dimmer Echo_Living_Room_MediaProgress "Media progress" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:mediaProgress"}
Number:Time Echo_Living_Room_MediaProgressTime "Media progress time [%d %unit%]" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:mediaProgressTime"}
Number:Time Echo_Living_Room_MediaLength "Media length [%d %unit%]" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:mediaLength"}
// Player Information
String Echo_Living_Room_ImageUrl "Image URL" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:imageUrl"}
String Echo_Living_Room_Title "Title" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:title"}
String Echo_Living_Room_Subtitle1 "Subtitle 1" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:subtitle1"}
String Echo_Living_Room_Subtitle2 "Subtitle 2" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:subtitle2"}
String Echo_Living_Room_ProviderDisplayName "Provider" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:providerDisplayName"}
// Music provider and start command
String Echo_Living_Room_MusicProviderId "Music Provider Id" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:musicProviderId"}
String Echo_Living_Room_PlayMusicCommand "Play music voice command (Write Only)" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:playMusicVoiceCommand"}
String Echo_Living_Room_StartCommand "Start Information" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:startCommand"}
// TuneIn Radio
String Echo_Living_Room_RadioStationId "TuneIn Radio Station Id" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:radioStationId"}
Switch Echo_Living_Room_Radio "TuneIn Radio" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:radio"}
// Amazon Music
String Echo_Living_Room_AmazonMusicTrackId "Amazon Music Track Id" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:amazonMusicTrackId"}
String Echo_Living_Room_AmazonMusicPlayListId "Amazon Music Playlist Id" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:amazonMusicPlayListId"}
Switch Echo_Living_Room_AmazonMusic "Amazon Music" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:amazonMusic"}
// Bluetooth
String Echo_Living_Room_BluetoothMAC "Bluetooth MAC Address" <bluetooth> (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:bluetoothMAC"}
Switch Echo_Living_Room_Bluetooth "Bluetooth" <bluetooth> (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:bluetooth"}
String Echo_Living_Room_BluetoothDeviceName "Bluetooth Device" <bluetooth> (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:bluetoothDeviceName"}
// Commands
String Echo_Living_Room_Announcement "Announcement" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:announcement"}
String Echo_Living_Room_TTS "Text to Speech" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:textToSpeech"}
Dimmer Echo_Living_Room_TTS_Volume "Text to Speech Volume" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:textToSpeechVolume"}
String Echo_Living_Room_Remind "Remind" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:remind"}
String Echo_Living_Room_PlayAlarmSound "Play Alarm Sound" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:playAlarmSound"}
String Echo_Living_Room_StartRoutine "Start Routine" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:startRoutine"}
Dimmer Echo_Living_Room_NotificationVolume "Notification volume" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:notificationVolume"}
Switch Echo_Living_Room_AscendingAlarm "Ascending alarm" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:ascendingAlarm"}
// Feedbacks
String Echo_Living_Room_LastVoiceCommand "Last voice command" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:lastVoiceCommand"}
DateTime Echo_Living_Room_NextReminder "Next reminder" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:nextReminder"}
DateTime Echo_Living_Room_NextAlarm "Next alarm" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:nextAlarm"}
DateTime Echo_Living_Room_NextMusicAlarm "Next music alarm" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:nextMusicAlarm"}
DateTime Echo_Living_Room_NextTimer "Next timer" (Alexa_Living_Room) {channel="amazonechocontrol:echo:account1:echo1:nextTimer"}
// Flashbriefings
Switch FlashBriefing_Technical_Save "Save (Write only)" { channel="amazonechocontrol:flashbriefingprofile:account1:flashbriefing1:save"}
Switch FlashBriefing_Technical_Active "Active" { channel="amazonechocontrol:flashbriefingprofile:account1:flashbriefing1:active"}
String FlashBriefing_Technical_Play "Play (Write only)" { channel="amazonechocontrol:flashbriefingprofile:account1:flashbriefing1:playOnDevice"}
Switch FlashBriefing_LifeStyle_Save "Save (Write only)" { channel="amazonechocontrol:flashbriefingprofile:account1:flashbriefing2:save"}
Switch FlashBriefing_LifeStyle_Active "Active" { channel="amazonechocontrol:flashbriefingprofile:account1:flashbriefing2:active"}
String FlashBriefing_LifeStyle_Play "Play (Write only)" { channel="amazonechocontrol:flashbriefingprofile:account1:flashbriefing2:playOnDevice"}
amazonechocontrol.sitemap:
sitemap amazonechocontrol label="Echo Devices"
{
Frame label="Alexa" {
Default item=Echo_Living_Room_Player
Slider item=Echo_Living_Room_Volume
Setpoint item=Echo_Living_Room_Volume minValue=0 maxValue=100 step=5
Setpoint item=Echo_Living_Room_Treble minValue=-6 maxValue=6 step=1
Setpoint item=Echo_Living_Room_Midrange minValue=-6 maxValue=6 step=1
Setpoint item=Echo_Living_Room_Bass minValue=-6 maxValue=6 step=1
Slider item=Echo_Living_Room_MediaProgress
Text item=Echo_Living_Room_MediaProgressTime
Text item=Echo_Living_Room_MediaLength
Switch item=Echo_Living_Room_Shuffle
Image item=Echo_Living_Room_ImageUrl label=""
Text item=Echo_Living_Room_Title
Text item=Echo_Living_Room_Subtitle1
Text item=Echo_Living_Room_Subtitle2
Text item=Echo_Living_Room_ProviderDisplayName
// The listed providers are only samples, you could have more
Selection item=Echo_Living_Room_MusicProviderId mappings=[ 'TUNEIN'='Radio', 'SPOTIFY'='Spotify', 'AMAZON_MUSIC'='Amazon Music', 'CLOUDPLAYER'='Amazon']
Text item=Echo_Living_Room_MusicProviderId
// To start one of your flashbriefings use Flashbriefing.<YOUR FLASHBRIEFING THING ID>
Selection item=Echo_Living_Room_StartCommand mappings=[ 'Weather'='Weather', 'Traffic'='Traffic', 'GoodMorning'='Good Morning', 'SingASong'='Song', 'TellStory'='Story', 'FlashBriefing'='Flash Briefing', 'FlashBriefing.flashbriefing1'='Technical', 'FlashBriefing.flashbriefing2'='Life Style' ]
Selection item=Echo_Living_Room_RadioStationId mappings=[ ''='Off', 's1139'='Antenne Steiermark', 's8007'='Hitradio Ă3', 's16793'='Radio 10', 's8235'='FM4' ]
Text item=Echo_Living_Room_RadioStationId
Switch item=Echo_Living_Room_Radio
Text item=Echo_Living_Room_AmazonMusicTrackId
Text item=Echo_Living_Room_AmazonMusicPlayListId
Switch item=Echo_Living_Room_AmazonMusic
Text item=Echo_Living_Room_BluetoothMAC
// Change the <YOUR_DEVICE_MAC> Place holder with the MAC address shown, if alexa is connected to the device
Selection item=Echo_Living_Room_BluetoothMAC mappings=[ ''='Disconnected', '<YOUR_DEVICE_MAC>'='Bluetooth Device 1', '<YOUR_DEVICE_MAC>'='Bluetooth Device 2']
// These are only view of the possible options. Enable ShowIDsInGUI in the binding configuration and look in drop-down-box of this channel in the Paper UI Control section
Selection item=Echo_Living_Room_PlayAlarmSound mappings=[ ''='None', 'ECHO:system_alerts_soothing_01'='Adrift', 'ECHO:system_alerts_atonal_02'='Clangy']
Switch item=Echo_Living_Room_Bluetooth
Text item=Echo_Living_Room_BluetoothDeviceName
Text item=Echo_Living_Room_LastVoiceCommand
Slider item=Echo_Living_Room_NotificationVolume
Switch item=Echo_Living_Room_AscendingAlarm
}
Frame label="Flash Briefing Technical" {
Switch item=FlashBriefing_Technical_Save
Switch item=FlashBriefing_Technical_Active
Text item=FlashBriefing_Technical_Play
}
Frame label="Flash Briefing Life Style" {
Switch item=FlashBriefing_LifeStyle_Save
Switch item=FlashBriefing_LifeStyle_Active
Text item=FlashBriefing_LifeStyle_Play
}
}
How To Get IDs
- Open the url YOUR_OPENHAB/amazonechocontrol in your browser (e.g. http://openhab:8080/amazonechocontrol/)
- Click on the name of the account thing
- Click on the name of the echo thing
- Scroll to the channel and copy the required ID
Tutorials
Let alexa speak a text from a rule:
- Create a rule with a trigger of your choice
rule "Say welcome if the door opens"
when
Item Door_Contact changed to OPEN
then
Echo_Living_Room_TTS.sendCommand('Hello World')
end
You can also use SSML to provide a better voice experience
rule "Say welcome if the door opens"
when
Item Door_Contact changed to OPEN
then
Echo_Living_Room_TTS.sendCommand('<speak>I want to tell you a secret.<amazon:effect name="whispered">I am not a real human.</amazon:effect>.Can you believe it?</speak>')
end
Show an announcement on the echo show or echo spot:
- Create a rule with a trigger of your choice
Simple:
rule "Say welcome if the door opens"
when
Item Door_Contact changed to OPEN
then
Echo_Living_Room_Announcement.sendCommand('Door opened')
end
Expert:
You can use a json formatted string to control the title and the sound:
{ "sound": true, "speak":"<Speak>" "title": "<Title>", "body": "<Body Text>"}
The combination of sound=true and speak in SSML syntax is not allowed
Note: If you turn off the sound and alexa is playing music, it will anyway turn down the volume for a moment. This behavior can not be changed.
rule "Say welcome if the door opens"
when
Item Door_Contact changed to OPEN
then
Echo_Living_Room_Announcement.sendCommand('{ "sound": false, "title": "Doorstep", "body": "Door opened"}')
end
Playing an alarm sound for 15 seconds with an openHAB rule if an door contact was opened:
- Do get the ID of your sound, follow the steps in âHow To Get IDsâ
- Write down the text in the square brackets. e.g. ECHO:system_alerts_repetitive01 for the nightstand sound
- Create a rule for start playing the sound:
var Timer stopAlarmTimer = null
rule "Turn on alarm sound for 15 seconds if door opens"
when
Item Door_Contact changed to OPEN
then
Echo_Living_Room_PlayAlarmSound.sendCommand('ECHO:system_alerts_repetitive01')
if (stopAlarmTimer === null)
{
stopAlarmTimer = createTimer(now.plusSeconds(15)) [|
stopAlarmTimer.cancel()
stopAlarmTimer = null
Echo_Living_Room_PlayAlarmSound.sendCommand('')
]
}
end
Note 1: Do not use a to short time for playing the sound, because alexa needs some time to start playing the sound.
Itâs not recommended to use a time below 10 seconds.
Note 2: The rule have no effect for your default alarm sound used in the alexa app.
Play a spotify playlist if a switch was changed to on:
- Do get the ID of your sound, follow the steps in âHow To Get IDsâ
- Write down the text in the square brackets. e.g. SPOTIFY for the spotify music provider
- Create a rule for start playing a song or playlist:
rule "Play a playlist on spotify if a switch was changed"
when
Item Spotify_Playlist_Switch changed to ON
then
Echo_Living_Room_PlayMusicProvider.sendCommand('SPOTIFY')
Echo_Living_Room_PlayMusicCommand.sendCommand('Playlist Party')
end
Note: Itâs recommended to test the command send to play music command first with the voice and the real alexa device. E.g. say âAlexa, Playlist Partyâ
Start playing weather/traffic/etc:
- Pick up one of the available commands: Weather, Traffic, GoodMorning, SingASong, TellStory, FlashBriefing
- Create a rule for start playing the information where you provide the command as string:
rule "Start wheater info"
when
Item Spotify_Start_Wheater_Switch changed to ON
then
Echo_Living_Room_StartCommand.sendCommand('Weather')
end
Start playing a custom flashbriefing on a device:
- Do get the ID of your sound, follow the steps in âHow To Get IDsâ
- Write down the text in the square brackets. e.g. flashbriefing.flashbriefing1
- Create a rule for start playing the information where you provide the command as string:
rule "Start wheater info"
when
Item Spotify_Start_Wheater_Switch changed to ON
then
Echo_Living_Room_StartCommand.sendCommand('FlashBriefing.flashbriefing1')
end
Credits
The idea for writing this binding came from this blog: http://blog.loetzimmer.de/2017/10/amazon-alexa-hort-auf-die-shell-echo.html (German).
Thank you Alex!
The technical information for the web socket connection to get live alexa state updates cames from Ingo. He has done the alexa iobrokern implementation https://github.com/Apollon77
Thank you Ingo!
Trademark Disclaimer
TuneIn, Amazon Echo, Amazon Echo Spot, Amazon Echo Show, Amazon Music, Amazon Prime, Alexa and all other products and Amazon, TuneIn and other companies are trademarks⢠or registeredŽ trademarks of their respective holders.
Use of them does not imply any affiliation with or endorsement by them.
Version History
Whats new in 2.5 (RC 3):
-
Breaking Change: The behavior of the announcement channel is changed.
If you want to use the channel for Echo Show and Echo Spot devices without a spoken message, please use the JSON syntax format explained in the Tuturial section under Show an announcement on the echo show or echo spot. - âAnnouncementâ channel is now supported for Echo Dot devices to provide a short beep before the text to speak message. Simple write the text which should be spoken from a rule to this channel.
Whats new in 2.5 (RC 2) (This is the version which is included in OH 2.5 RC3):
- Fix an issue for new logins in Amazon.co.au domain. Maybe the same issue happens in other domains. So if you have trouble to login, update to this version.
Whats new in 2.5 (RC 1):
- Fix an issue of Beta 8, where announcement was broken.
Whats new in Beta 2.5 (8):
- Fix an issue of Beta 7 where new login are not possible anymore
Whats new in Beta 2.5 (7):
- Fix issue âBad requestâ for TTS calls if the devices are owned by another customer id than the account
- Repeat calls in case of âBad requestâ if there are many request at the same time
Whats new in Beta 2.5 (6):
- Fix the startRoutine channel if more than 20 routines are defined
- New channel announcement for echo show and echo spot devices
Whats new in Beta 2.5 (5):
- Fix memory and thread leak if internet connection is lost
- Fix problem with not updated channels after some while
Whats new in Beta 2.5 (4):
- Bugfix for error in notification updates - bug since 2.5 (3), no need to upgrade for 2.4 (2) users
Whats new in Beta 2.5 (3):
- Bugfix to handle refresh commands for initializing newly created item links
- Bugfix for âUnknownâ in lastVoiceCommand channel
- New channel: nextMusicAlarm
Whats new in Beta 2.5 (2):
- Bugfix for wrong encoding for french sites
- New channels: nextReminder, nextTimer, nextAlarm
- SSML support for TTS
Whats new in Beta 2.5 (1):
- Cache for state description, this means a better performance for REST calls and the PaperUI
Whats new in Beta 2.4 (10):
- Proxy function fixed for PUT and POST
- Support of TTS for users which does not use the main account
Whats new in Beta 2.4 (9) --> This is the released 2.4 version:
- Fixed tuneIn channels
Whats new in Beta 2.4 (8):
- Try to bugfix login problems
- announcement channel removed, because it does not work and I have no possibility to test it because the feature is not available at amazon.de
Whats new in Beta 2.4 (7):
- Workaround for bad formatted login url from the amazon server
- New channel announcement . This channel is not yet tested by me because it is not supported in amazon.de. But amazon.com should work. Please give me feedback!
Whats new in Beta 2.4 (6):
- Support for GZIP content response of amazon server (reduce the network traffic)
- Fix the bug in the 2 factor authentication. It can now be used without entering the code in the password field, instead you get the amazon dialog to enter the verification code.
Whats new in Beta 2.4 (5):
- Fix problem with changed amazon response
Whats new in Beta 2.4 (4):
- New channel textToSpeechVolume
- New login method which prevents problems with session renew
- No password storage in openHAB configuration
- Support for 2 factor authentication (currently only by using the code in the password field)
- Alexa activation word is dropped for channel lastVoiceCommand
- Logging of push is changed to debug level standard messages
Whats new in Beta 2.4 (3):
- New channel mediaProgress
- New channel mediaProgressTime
- New channel notificationVolume
- New channel ascendingAlarm
Whats new in Beta 2.4 (2):
- update of channels triggered by Web-Socket connection to the amazon server
- new channel âlastVoiceCommandâ -> See âSteps for update from previous version (If you want use the new channels):â to get the new channel
Whats new in Beta 2.4 (1):
- fixed Problem with volumne state
Steps for update from previous version (If you want use the new channels):
- Remove discovered echo devices from your inbox
- Remove all your existing echo things (If you have created them in PaperUI)
- Replace now the binding jar
- Create your things to get the new channels
- In PaperUI some channels are only shown if the âshow moreâ (top right corner) option in the thing page is activated