So some of you have noticed some new things in the latest beta changes:
-
most commands are now sent by the main ES app (so it can coordinate commands, parallelize commands, and control Alexa api throttling).
- so if you are sending logs, do include logs from the main ES app
-
a zone can create a virtual zone device
- it does not have all commands, but it has many to make a zone usable by webCoRE, rules machine or other apps
-
There is a new 'parallelSpeak' command
- This sends speak commands in parallel
-
for example, if you have a list of devices, your application can loop thru and send parallel speak (vs regular speak). This will attempt to send the commands to all the devices at the same time and to ask Alexa apis to run them in parallel. It is important, you send the commands near the same time (ie in a loop for example), as if they are too far apart when they send, ES would have already sent some, then have to send more (which inherently would lose any coordination you intended).
-
The messages should not be too long, ~400 chars, as otherwise ES will have to break it up and things will not give the desired 'near simultaneous' output
-
this should work for zone device and regular device (I would not include the same device twice in a single 'timeframe')
-
Example:
-
I have 4 devices
-
I could send 4 speak() commands, they would be processed sequentially by Alexa. So device A would speak, then b, then c, then d. There may be a small bit of overlap, but you will hear them sequentially
-
I could send 4 parallelSpeak() commands, if I did this 'at the same time', ES will put them together and send a single command to Alexa with 4 subcommands, and ask Alexa to run them in parallel. The devices should speak near the same time (there may be some skew due to network or Alexa processing, but pretty close)
-
If I send 4 parallelSpeak commands, but they are timing skewed that they are actually issued 2, then say 1 second, then 2 more, you are likely to hear 2 speak together, then the other two speak together. So it is important they be sent 'back to back' or within a short time of each other
-
-
-
- This sends speak commands in parallel