philchillbill wrote: > LMS is so awesome, it deserves more than just one certified Alexa skill > to control it. That's why I've released a second and very different > skill that complements *MediaServer *and nicely co-exists with it. Just > like MediaServer, because it's a certified skill you do not need any > developer or beta accounts to use it. > > 28917 > > It's called *::LMS-lite::* and unlike MediaServer which is a -custom > -skill, this one uses the -Smart Home- paradigm. While the downside of > this is far fewer and more limited commands compared to MediaServer, the > upside is that there's never a need for an invocation name (so commands > are shorter), plus, your LMS players show up as smart-home devices in > the Alexa app. That means they can be included in *groups *with other > smart home devices and used in *routines *to do clever things like > switch an amplifier on/off together with a Squeezebox. LMS-lite is also > free, and will be available (soon) in languages other than English. > > With the Smart Home paradigm, Amazon has pre-written a bunch of voice > commands to control Smart Home gadgets. A skill author cannot extend or > change these, but they do provide basic/useful functionality and are > available for several languages. There's a pool of so-called -interfaces > -that a skill can declare an endpoint/device to support during device > discovery. For this skill, I've included everything from this (current) > arsenal that could possibly work with LMS: Alexa.PowerController, > Alexa.Speaker, Alexa.PlaybackController, Alexa.RangeController, > Alexa.ModeController, Alexa.ToggleController and Alexa.EndpointHealth. > The reason I'm listing all this here is so that you can go check the > Amazon docs on those interfaces if you want further information: > https://developer.amazon.com/en-US/docs/alexa/device-apis/list-of-interfaces.html > > LMS-Lite uses exactly the same *account-linking* process as the > full-function MediaServer skill, where most people use ngrok for > external accessibility and encryption/password-protection. Because it's > a Smart Home skill, with LMS-Lite you must -immediately -account-link > during enablement. The *howto *is at > https://smartskills.tech/lmslitesetup but if you already have > MediaServer then you will be familiar with the idea. > > Once you link the skill successfully, you just say -Alexa, discover > devices-. She will do a round-robin with all of your Smart Home skills > and all your gadgets will be reported by their associated skills. > LMS-Lite will add all your LMS players, so Alexa should tell you that > there are some new devices. She may name a few informatively, but that's > up to Amazon - with Smart Home skills, the skill itself -never > -determines what Alexa says. If you subsequently -discover devices -she > will not mention any new LMS devices as they are already known. Any > changes to player names and/or deleting players is done in the Alexa app > under -Devices-. > > During discovery, your *player names* are untouched by the skill and > reported as-is to Alexa. If you have unspeakable player names like > Onkyo-XTR672VMK, well, good luck with getting her to understand them > because you cannot abbreviate much. However, you can rename players > textually in the Alexa app, which is a nice side-effect of their showing > up there. It's probably smart to tack on ' player' to the end of each > device name if you are using room-based naming in your house. Otherwise > you risk being told that 'More than one device(s) share that name, which > one do you want?', every time you issue a control directive. At a > minimum, split concocted names like 'rearupstairsbedroomtouch' into a > few separate words - this is after all voice control and not UI > navigation. But unlike with MediaServer, there's no preference for a > room barename as basis. You are free to call your players anything that > can be reasonably enunciated. Yaay! > > So, what commands do we have available? The following examples are for > English and are on an interface-by-interface basis and assuming a > Squeezebox called -Touch -for example purposes. Once a player name has > been mentioned in any of the commands, it *persists *until a different > player is mentioned or a different music-playing skill is launched from > that Echo. The examples below omitting 'Touch' in them assume that fact > and will not work if no previous command recently mentioned Touch. If in > doubt, always mention the player name in the command. Each Echo has its > own persisted Squeezebox too, so remember that fact if you move to > another room and issue a name-free command. Don't blame/credit me for > these utterances, they're Amazon's work: > > Alexa.PowerController gives us *power on/off*. > Examples: > > Alexa, power ON the Touch > Alexa, power OFF the Touch > Alexa, turn ON the Touch > Alexa, turn OFF the Touch > etc. > > Alexa.Speaker gives us *volume *control and *muting*. > Examples: > > Alexa, set Touch volume to 70 > Alexa, volume 20 on Touch > Alexa, increase the Touch volume by 10 > Alexa, pump up the volume > Alexa, pump it up > Alexa, louder > Alexa, make it louder > Alexa, louder please > Alexa, quieter > Alexa, tone it down > Alexa, lower the volume > Alexa, decrease the volume by 20 > Alexa, mute the Touch > Alexa, unmute Touch > etc. > > Alexa.PlaybackController gives us *transport *commands. > Examples: > > Alexa, next track on Touch > Alexa, next > Alexa, skip this > Alexa, previous track on Touch > Alexa, previous > Alexa, go back > Alexa, play on Touch > Alexa, resume on Touch > Alexa, pause > Alexa, stop > Alexa, start-over (goes to track 1) > (note that play/resume can misbehave and kick off your most recent > stream-to-Echo from another Music skill instead of sending a Smart Home > command to LMS - it all depends on your recent history of commands) > > Alexa.RangeController gives us setting and querying the* track index* > (first track is 1). > Examples: > > Alexa, track 7 on Touch > Alexa, song 9 on Touch > Alexa, what track is the Touch at? > Alexa, what track is the Touch on? > > Alexa.ToggleController gives us setting and querying of both *loop > *(repeat album) and *shuffle-play* (shuffle by song) > Examples: > > Alexa, turn ON 'loop' on Touch > Alexa, activate 'loop' on Touch > Alexa, turn OFF 'loop' on Touch > Alexa, deactivate 'loop' on Touch > Alexa, is 'loop' ON, on Touch? > > Alexa, turn ON 'shuffle play' on Touch > Alexa, activate 'shuffle play' on Touch > Alexa, turn OFF 'shuffle play' on Touch > Alexa, deactivate 'shuffle play' on Touch > Alexa, is 'shuffle play' ON, on Touch? > > Alexa.ModeController gives us more control of both *shuffle *and > *repeat*. > Examples: > > Alexa, set 'repeat mode' on Touch to 'OFF' > Alexa, set 'repeat mode' on Touch to 'song' > Alexa, set 'repeat mode' on Touch to 'playlist' > Alexa, set 'repeat mode' on Touch to 'album' > Alexa, what is the repeat mode on Touch? > > Alexa, set 'shuffle mode' on Touch to 'OFF' > Alexa, set 'shuffle mode' on Touch to 'song' > Alexa, set 'shuffle mode' on Touch to 'playlist' > Alexa, set 'shuffle mode' on Touch to 'album' > Alexa, what is the shuffle mode on Touch? > > To control a player in an Alexa routine, in the Alexa app select > -routines -and under add/edit routine, as an -action -select Smart Home. > Under -All Devices- you should see your players among your other Smart > Home devices. If you select one of your players, you will see the > options for Power, Loop, Repeat Mode, Shuffle Mode, Shuffle Play and > Track. Under each of those will be options like On/Off or > Off/Track/Album, and, for Track, a slider to set a value from 1 to 200. > You can specify more than one category and have them all triggered at > once when that action runs. Note that if you have no recognized > event-triggering devices such as door contacts or motion sensors, you > may not see any Smart Home devices under -actions-. In that case, you > can still add the players to groups so they at least power on/off with > the other devices in the group, although you then have less settings > options than in routines. > > 28918 > > If you have any connectivity errors with your proxy, such as bad or > expired cert, upstream proxy issues, ngrok tunnel killed or invalid, > auth details wrong, etc, then Alexa will issue a standard Amazon warning > message based on the *BRIDGE_UNREACHABLE* error which the skill returns > for an unresponsive LMS. Because there cannot be a custom and more > detailed/specific error message, you should assume if you get that > standard message that your proxy or LMS itself is down and that, at a > minimum, you need to troubleshoot your full cloud-to-LMS connectivity > chain. > > In my testing, Toggle and Mode controllers are a both still flaky but > Range is rock solid (all 3 are relatively new capabilities). Amazon > still has some work to do. The other stuff is bulletproof. > > My next step is to get it available in languages other than English. > Should be coming soon !This sounds exactly what I need to turn off my Touch > at the same time as my smart socket connected amplifier. Brilliant.
Sent from my Pixel 3a using Tapatalk ------------------------------------------------------------------------ slartibartfast's Profile: http://forums.slimdevices.com/member.php?userid=35609 View this thread: http://forums.slimdevices.com/showthread.php?t=111443 _______________________________________________ plugins mailing list [email protected] http://lists.slimdevices.com/mailman/listinfo/plugins
