3.26.5 • Published 15 days ago

iobroker.alexa2 v3.26.5

Weekly downloads
2,283
License
MIT
Repository
github
Last release
15 days ago

Logo

ioBroker.alexa2

Number of Installations Number of Installations NPM version

Test and Release Translation status Downloads

This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers. For more details and for information how to disable the error reporting see Sentry-Plugin Documentation! Sentry reporting is used starting with js-controller 3.0.

This adapter allows you to remotely control your Alexa (Amazon Echo) devices.

Big thanks go to soef for version 1 of the adapter and to Hauke and ruhr70 for ideas in their scripts from ioBroker-Forum (especially the media progress updates)! Also, big thanks to meicker for support in documenting all of this and numerous users from ioBroker Forum for their testing support!

Disclaimer

All product and company names or logos are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them or any associated subsidiaries! This personal project is maintained in spare time and has no business goal. ALEXA is a trademark of AMAZON TECHNOLOGIES, INC.

States and their meanings:

In the adapter namespace (e.g., alexa2.0) some channels are created

alexa2.0

State namemeaning
Echo-Devices.*States per Echo device, see below
History.*Infos for command history, see below
Smart-Home-Devices.*States per smart home device and in general, see below
info.*General information about the adapter status
requestResultError info for TuneIn and smart-home device requests

alexa2.0.Contacts.ContactId.*

All Alexa-Contacts that can be used to send Text Messages to, including himself. The own contact gets a special "(Self)" after his name.

State namemeaning
#clearOwnMessagesOnly exists in own contact and a trigger deletes all messages that are send to himself (also includes messages to himself via App or devices!)
textMessageSends this text as message to the user. It is shown on all devices of this user with a "yellow ring"

alexa2.0.Echo-Devices.CommandsAll.*

Commands to be sent to all devices in the account.

State namemeaningComments
deviceStopStop all actions on deviceButton
deviceDoNotDisturbSwitch on/off "Do not Disturb" for all devices.true/false, or number in seconds to enable (max 12h) or string in form "HH:MM" until this time it is enabled

alexa2.0.Echo-Devices.Serialnumber.*

Under "echo-devices" every amazon echo device is listed with its serial number. Not every device shows all the states. Every device has its own states as described below:

alexa2.0.Echo-Devices.Serialnumber.Alarm.*

Alarm (Wecker) settings for each device, if available.

State namemeaningvalue
.customVolumeSet a custom Volume for this Reminder. The volume is set 2s before the reminder triggers and re-set to the value before as soon as the timer is (or adapter thinks!) stopped - latest after 120s! When custom volumes and trigger times overlap it will be restored at the end once!Number 0..100
.dateOverwrite the date for existing alarm to set a new date for this alarm. In case you have an existing alarm you can change the date here by simply overwrite the time in format YYYY-MM-DD. Might have no effect when multiple-times-per-day recurring settings were used!Date Output
.deleteButton to delete the Alarmdelete with true
.enabledShows status of alarm and allows to change it: Activate alarm with true - Deactivate alarm with falsetrue / false
.musicEntityShows the track info if this alarm is a music alarmString or null
.musicProviderShows the provider of the music if this alarm is a music alarmString or null
.nextTriggerDateContains the timepoint of the next expected triggering as unix epoch in msNumber
.recurringDaysShows the list of days configured if the Alarm has recurring settingsUS notation of weekdays (e.g. MO,TU,WE,TH,FR,SA,SU)
.recurringPatternShows the recurring pattern of alarm0 = one time, no recurring P1D = daily XXXX-WD = on weekdays XXXX-WE = on weekends XXXX-WXX-1 = every monday XXXX-WXX-2 = every tuesday XXXX-WXX-3 = every wednesday XXXX-WXX-4 = every thursday XXXX-WXX-5 = every friday XXXX-WXX-6 = every saturday XXXX-WXX-7 = every sunday
.snoozedtrue if the Alarm is snoozed at the momenttrue/false
.soundContains the set sound for this alarm. Can be changed. Also changing between music sound entry and "build in sounds" is possible.ID from list
.timeTime for alarm. Overwrite the time for existing alarm to set a new time for this alarm. In case you have an existing alarm you can change the time here by simply overwrite the time in format hh:mm:ss, seconds are not needed to set. Might have no effect when multiple-times-per-day recurring settings were used!Time Input
.triggeredtrue if alarm is reached and triggered. Clock must be in sync with Amazon and iobroker, Use this to trigger other action as soon as the alarm time is reachedtrue / false
NewData to create a new Reminder as String in following format separated by ; as "timestamp;label;sound;recurring. timestamp as unix timestamp in ms, label as Text, sound as sound ID, recurring either empty for once, "DAILY" for daily or "WEEKLY=MO,TU,WE,TH,FR,SA,SU" with comma separated weekly day list. Fields in example above in brackets mean that they are optional!String
triggeredID of the Alarm that triggered last on this deviceID

When changing an Alarm does not work, please make sure that the Alarm timepoint is in the future - so changing e.g. "sound" on an Alarm in the past will not work!

alexa2.0.Echo-Devices.Serialnumber.Bluetooth.*

Here you find all connected or known bluetooth device(s) with MAC address(es). The states of each device:

State namemeaning
connectedShows current connection status and allow connection (set to true) or disconnection (set to false)
unpairButton to unpair this device from the echo device

alexa2.0.Echo-Devices.Serialnumber.Commands.*

With Commands, you can trigger some actions on your Alexa-Device. If you use these on a multiroom device, then they are executed independently and will not run in sync on the single devices!

State namemeaningvalue
doNotDisturbSwitch on/off "Do not Disturb" for this device or group. Value is updated with Device Configuration updates from Cloud tootrue/false, or number in seconds to enable (max 12h) or string in form "HH:MM" until this time it is enabled
flashbriefingBriefing in 100 seconds - news etc.ppButton
goodmorningGood morning from Alexa ...Button
funfactFun fact from Alexa ... (Only USA at the moment)Button
jokeJoke from Alexa ...Button
cleanupPlays a "gong" tone like for start/end of listening mode ...Button
curatedttsRandom sentence from the chosen area from Alexa ...Text (allowed: "goodbye", "confirmations", "goodmorning", "compliments", "birthday", "goodnight", "iamhome")
singasongAlexa sings a song ...Button
speakAlexa says what you type in here ...Text Input
speakvolumeAdjust the speak volume of Alexa, this volume is set before the speak and reset afterwards0-100
skillLaunch a defined SkillSkill-ID as String
skillYourslaunch a defined Skill - is prefilled with "Your Skills" as displayed in Alexa App tooSkill-ID as String
tellstoryAlexa tells a storyButton
trafficTraffic newsButton
weatherWeather newsButton
deviceStopStop all actions on deviceButton
notificationSend text notification to customer of the deviceText, optionally specify title "title;text"
announcementPlay announcement (like speak but with Bing before text)Text
ssmlSpeak SSML XML stringText
textcommandSend a Text command to Alexa,. Make sure to only use text (e.g. also 3 -> three and such, else Alexa might not correctly react to it!)Text
soundPlay a sound on the device.Text

Detailed information Speak and Announcement: Type in here what you want Alexa to say. You can also adjust the volume of Alexa by giving a percentage before your text. Example: 10;Alexa is saying Alexa with 10% volume, while 100;Alexa is 100% volume. Normally, you only can send 250 characters per speak command. By using the semicolon, it is possible to write as much as you want, as long as you separate 250 characters with a semicolon. Alexa will then speak the text after each other with a small break. You also can use the volume together with more 255 blocks by writing #Volume;#Block1;#Block2, a.s.o A volume set here will be used over a defined speak-volume.

Partially also sounds from https://developer.amazon.com/en-US/docs/alexa/custom-skills/ask-soundlibrary.html work. Specify in speak or ssml as <audio src="soundbank://soundlibrary/animals/amzn_sfx_bear_groan_roar_01"/>. Details and discussion please at https://forum.iobroker.net/topic/27509/ssml-audio

alexa2.0.Echo-Devices.Serialnumber.FireTVCommands.*

If a device is an Amazon FireTV then you can use the following commands:

State namemeaningvalue
turnOnTurn FireTV and TV onButton
turnOffTurn FireTV and TV offButton
videoPausePause the running videoButton
videoResumeResume the current videoButton
navigateHomeNavigate to HomeButton

alexa2.0.Echo-Devices.Serialnumber.Info.*

Information about the Alexa device

State namemeaningvalue
capabilitiescapabilities if the alexa deviceInformation
deviceTypedevice type from AmazonInformation
deviceTypeStringDevice Type as stringInformation
isMultiroomDeviceIs multiroom device - Multiroom is a virtual device groupInformation, true / false
isMultiroomMemberIs Multiroom member - If true the device is part of a multiroom device groupInformation, true / false
MultiroomParentsIf this device is part of a multiroom device group this state shows the parent group deviceInformation
nameName of Alexa DeviceInformation
SerialNumberSerial number of Alexa device

alexa2.0.Echo-Devices.Serialnumber.Music-Provider.*

Directly tell Alexa to play Music or a playlist from supported music providers. Actually supported are: My Library, Amazon Music, Tune In. You can also include a multiroom device group name in the phrase to play it on this group (e.g. "SWR3 auf Erdgeschoss")

State namemeaningvalue
Amazon-MusicPhrase to play with Amazon MusicText input
Amazon-Music-PlaylistPlaylist to play with Amazon MusicText input
My-LibraryPhrase to play with My LibraryText input
My-Library-PlaylistPlaylist to play with My LibraryText input
Tune-InPhrase to play with Tune InText input
Tune-In-PlaylistPlaylist to play with Tune InText input

alexa2.0.Echo-Devices.Serialnumber.Player.*

States to control the Playback of the device and to see the current status and media information

State namemeaningvalue
allowNextIs the Next/Forward action allowed?Information
allowPlayPauseIs the Play/Pause action allowed?Information
allowPreviousIs the Previous action allowed?Information
allowRepeatCan Repeat function be used?Information
allowShuffleCan Shuffle function be used?Information
ContentTypetext field to put in desired content to play on this deviceInformation
controlForwardButton to trigger player "forward" command (30s)Button
controlNextButton to trigger player "next" commandButton
controlPauseButton to trigger player "pause" commandButton
controlPlayButton to trigger player "play" commandButton
controlPreviousButton to trigger player "previous" commandButton
controlRepeatButton to trigger player "repeat" commandtrue / false
controlRewindButton to trigger player "rewind" command (30s)Button
controlShuffleSwitch to enable or disable Shuffle mode for playertrue / false
currentAlbumCurrent album actually playingInformation
currentArtistCurrent artist actually playingInformation
currentStateIf playing -> true , else falsetrue / false
currentTitleCurrent title actually playingInformation
imageURLURL to the image of the albumInformation
mainArtURLURL to current main artInformation
mediaIdmedia ID of the current played media (usually queueID:String, can be set to jump to the provided media ID
mediaLengthLength of the current titleInformation
mediaLengthStractive media length as (HH:)MM:SSInformation
mainProgressactive media elapsed timeInformation
mainProgressPercentactive media elapsed time in percentInformation
mediaProgressStractive media progress as (HH:)MM:SSInformation
miniArtUrlURL to the art (mini)Information
mutedstate of 'MUTE'Information, true / false, volume = 0 is considered as muted
playingInGroupIs the medium played in a group?Information
playingInGroupIdID of the playing groupInformation
providerIDID of the current music providerInformation
providerNameName of the current music providerInformation
qualityquality name of the current medium (might be empty)Information
qualityCodecCodec of the current medium (might be empty)Information
qualityDataRatedata rate (kbps) of the current medium (might be empty)Information
qualitySampleRatesample rate (Hz) of the current medium (might be empty)Information
queueIdqueue ID of the current playlistInformation
radioStationIdID of the TuneIn radio stationInformation
servicename of the current music serviceInformation
TuneIn-Stationtext field to put in a Station name to play this station on this device. Also it is possible to type in the station number (s123456...), a show/podcast id (p1234567...) or a topic id (t123456789...)Text input
volumeVolume of playback. You can enter a value between 0-100%INPUT Volume

alexa2.0.Echo-Devices.Serialnumber.Preferences.*

Here you find some device preferences.

State namemeaningvalue
ringNotificationsEnabledShows if the ring notifications are enabled or not and allows to edit it (true/false). The status is updated from cloud with a device configuration interval
notificationVolumeThe notification volume set for the device. The value is loaded once on adapter start and then not synced with Cloud services, but changeablenumber 0..100
ascendingAlarmStateThe ascending alarm state set for the device. The value is loaded once on adapter start and then not synced with Cloud services, but changeableBoolean
auxPort-*-DirectionThe direction of the AuxPort (when supported). The value is loaded once on adapter start and then not synced with Cloud services, but changeable"INPUT" or "OUTPUT"
connectedSpeakerThe speaker with is used for the Device output. The value is loaded once on adapter start and then not synced with Cloud services, but changeable"InternalSpeaker", "Bluetooth" or "Aux" (if supported by Device! check the App)
defaultAlarmNotificationSoundThe default alarm sound set for the device. The value is loaded once on adapter start and then not synced with Cloud services, but changeableID from a list
defaultTimerNotificationSoundThe default timer sound set for the device. The value is loaded once on adapter start and then not synced with Cloud services, but changeableID from a list
displayAdaptiveBrightnessEnabledIs the adaptive brightness for the display of the device enabled or not. The value is loaded once on adapter start and then not synced with Cloud services, but changeabletrue/false
displayEnabledIs the display of the device enabled or not. The value is loaded once on adapter start and then not synced with Cloud services, but changeabletrue/false
displayBrightnessBrightness of the display. The value is loaded once on adapter start and then not synced with Cloud services, but changeable0..100%
equalizerBassEqualizer Bass setting. Value is updated when changed if push connection is enabledNumber
equalizerMidRangeEqualizer Midrange setting. Value is updated when changed if push connection is enabledNumber
equalizerTrebleEqualizer Treble setting. Value is updated when changed if push connection is enabledNumber

alexa2.0.Echo-Devices.Serialnumber.Reminder.*

Reminder (Erinnerungen) settings for each device, if available.

State namemeaningvalue
.customVolumeSet a custom Volume for this Reminder. The volume is set 2s before the reminder triggers and re-set to the value before as soon as the timer is (or adapter thinks!) stopped - latest after 120s! When custom volumes and trigger times overlap it will be restored at the end once!Number 0..100
.dateOverwrite the date for existing alarm to set a new date for this alarm. In case you have an existing alarm you can change the date here by simply overwrite the time in format YYYY-MM-DD. Might have no effect when multiple-times-per-day recurring settings were used!Date Output
.deleteButton to delete the Alarmdelete with true
.enabledShows status of alarm and allows to change it: Activate alarm with true - Deactivate alarm with falsetrue / false
.nextTriggerDateContains the timepoint of the next expected triggering as unix epoch in msNumber
.recurringDaysShows the list of days configured if the Alarm has recurring settingsUS notation of weekdays (e.g. MO,TU,WE,TH,FR,SA,SU)
.recurringPatternShows the recurring pattern of alarm0 = one time, no recurring P1D = daily XXXX-WD = on weekdays XXXX-WE = on weekends XXXX-WXX-1 = every monday XXXX-WXX-2 = every tuesday XXXX-WXX-3 = every wednesday XXXX-WXX-4 = every thursday XXXX-WXX-5 = every friday XXXX-WXX-6 = every saturday XXXX-WXX-7 = every sunday
.snoozedtrue if the Alarm is snoozed at the momenttrue/false
.soundContains the set sound for this alarm. Can be adjustedID from list
.timeTime for alarm. Overwrite the time for existing alarm to set a new time for this alarm. In case you have an existing alarm you can change the time here by simply overwrite the time in format hh:mm:ss, seconds are not needed to set. Might have no effect when multiple-times-per-day recurring settings were used!Time Input
.triggeredtrue if alarm is reached and triggered. Clock must be in sync with Amazon and iobroker, Use this to trigger other action as soon as the alarm time is reachedtrue / false
NewData to create a new Reminder as String in following format separated by ; as "timestamp;label;sound;recurring. timestamp as unix timestamp in ms or text like "HH:MM", label as Text (required), sound as sound ID, recurring either empty for once, "DAILY" for daily or "WEEKLY=MO,TU,WE,TH,FR,SA,SU" with comma separated weekly day list. For full flexibility recurring can also be a JSONified object with all data which is passed through. Fields in example above in brackets mean that they are optional!String
triggeredID of the Alarm that triggered last on this deviceID

When changing a Reminder does not work, please make sure that the Reminder timepoint is in the future - so changing e.g. "sound" on a Reminder in the past will not work!

alexa2.0.Echo-Devices.Serialnumber.Routines.*

Overview of routines set up in Alexa App. Self created routines have a serial number, Amazon shows as 'preconfigured:...' Each routine can be triggered with a button to run once.

State namemeaningvalue
Serial or internal name of routinename of routineButton

alexa2.0.Echo-Devices.Serialnumber.Timer.*

You can have one or more timers running on each Alexa device. Because of the very dynamic nature of timers, there will be no further objects created like with Alarm or Reminders, but a way to get triggered info exists.

State namemeaningvalue
activeTimerListJSON array with the list of active timers containing ID, label and trigger timepoint as unix timestamp in msJSON array
nextTimeDateContains the timepoint of the next expected triggering as unix epoch in msNumberNumber
nextTimerIdID of the next timer to triggerString
stopTimerIdControl with a timer ID to stop the timer (also stops if the timer is currently ringing!)String
triggeredA timer got triggered - in fact it is the "nextTimerId" onetrue/false

Please note that it is important that the timezone of the iobroker host is set to match your local timezone, else the triggered time detection might be wrong!

alexa2.0.Echo-Devices.Serialnumber.online

Is this Alexa device online and connected to the Amazon cloud?

State namemeaningvalue
onlineIs the device online ?True / False

alexa2.0.History

State namemeaningvalue
#triggerButton to get new History (more current then timestamp in creationTime), only needed when not using the push connection or when the automatic querying is disabledButton
cardContentAdditional information as shown in Alexa-App/Echo ShowInformation
cardJsonAdditional information as shown in Alexa-App/Echo Show in JSON formatInformation
creationTimedate of this history entry, new history entries are only considered when later as this timestampInformation
domainApplicationIdAdditional information like Skill-ID or such, optionalInformation
domainApplicationNameAdditional information like Skill name or such, optionalInformation
jsonJson of last command data to be able to process all infos e.g. in own JavaScriptsJSON
nameName of the device that got the last requestInformation
serialNumberSerial number of the device that got the last requestInformation
statusStatus of last command to AlexaSUCCESS / FAULT / DISCARDED_NON_DEVICE_DIRECTED_INTENT; last one is generated when activating the device by saying the wake word, or when the device discarded input as "not for me"
summarytext/summary/action received by the deviceInformation

alexa.0.Smart-Home-Devices

Includes all smart home devices Alexa knows from your skills. States as follows, for all known devices:

State namemeaningvalue
deleteAlldeletes all smart home devices from Alexa, same as the button in the Alexa AppButton
discoverDevicesfinds new smart home devices, same as the button in t
3.26.5

15 days ago

3.26.4

3 months ago

3.25.3

6 months ago

3.25.5

6 months ago

3.25.4

6 months ago

3.26.0

6 months ago

3.26.2

5 months ago

3.26.1

6 months ago

3.26.3

5 months ago

3.25.2

8 months ago

3.25.1

8 months ago

3.24.0

9 months ago

3.24.1

9 months ago

3.20.0

2 years ago

3.20.1

2 years ago

3.21.0

1 year ago

3.23.1

1 year ago

3.23.2

1 year ago

3.19.10

2 years ago

3.19.8

2 years ago

3.19.9

2 years ago

3.17.5

2 years ago

3.17.0

2 years ago

3.17.2

2 years ago

3.17.1

2 years ago

3.17.4

2 years ago

3.17.3

2 years ago

3.18.5

2 years ago

3.18.4

2 years ago

3.18.6

2 years ago

3.14.0

2 years ago

3.18.1

2 years ago

3.18.0

2 years ago

3.18.3

2 years ago

3.18.2

2 years ago

3.13.0

2 years ago

3.19.4

2 years ago

3.19.3

2 years ago

3.19.6

2 years ago

3.19.5

2 years ago

3.19.7

2 years ago

3.15.0

2 years ago

3.15.2

2 years ago

3.15.1

2 years ago

3.19.0

2 years ago

3.19.2

2 years ago

3.19.1

2 years ago

3.16.1

2 years ago

3.16.0

2 years ago

3.12.0

2 years ago

3.10.4

3 years ago

3.11.0

3 years ago

3.11.2

3 years ago

3.11.1

3 years ago

3.9.3

3 years ago

3.9.2

3 years ago

3.9.1

3 years ago

3.9.0

3 years ago

3.8.4

3 years ago

3.8.2

3 years ago

3.8.1

3 years ago

3.8.0

3 years ago

3.7.1

3 years ago

3.7.0

3 years ago

3.6.1

3 years ago

3.6.0

3 years ago

3.5.6

3 years ago

3.5.5

3 years ago

3.5.4

3 years ago

3.5.3

3 years ago

3.5.2

3 years ago

3.5.1

3 years ago

3.5.0

3 years ago

3.4.0

3 years ago

3.3.5

3 years ago

3.3.4

3 years ago

3.3.3

3 years ago

3.3.2

3 years ago

3.3.1

4 years ago

3.3.0

4 years ago

3.2.8

4 years ago

3.2.7

4 years ago

3.2.6

4 years ago

3.2.5

4 years ago

3.2.4

4 years ago

3.2.3

4 years ago

3.2.2

4 years ago

3.2.1

4 years ago

3.2.0

4 years ago

3.1.2

4 years ago

3.0.7

4 years ago

3.0.6

4 years ago

3.0.5

4 years ago

3.0.4

4 years ago

3.0.3

4 years ago

2.6.4

5 years ago

2.6.3

5 years ago

2.6.2

5 years ago

2.6.1

5 years ago

2.5.1

5 years ago

2.5.0

5 years ago

2.4.6

5 years ago

2.4.5

5 years ago

2.4.4

5 years ago

2.4.3

5 years ago

2.4.2

5 years ago

2.3.3

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.0

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.5.2

6 years ago

0.4.0

6 years ago

0.3.8

6 years ago

0.3.7

6 years ago

0.3.4

6 years ago

0.3.2

6 years ago

0.3.0

6 years ago

0.2.4

6 years ago

0.2.3

6 years ago

0.2.2

6 years ago