Spotify
Connect a Spotify account so a mirror can show what is playing, skip a track with a wave, and start music when you ask for it out loud.
The Spotify widget needs the Home plan or above. Connecting the account does not.
What connecting Spotify gives you
Spotify is on the internet, so Mirra talks to it directly. Lights and cameras have to travel through a mirror because our servers cannot reach your home network; nothing in the Spotify path needs a screen to be awake.
Connecting an account does two things. A mirror can show what is playing, with the album cover at whatever size the wall deserves, and your assistant can start music when somebody asks for it.
- Showing what is playing works with any Spotify account.
- Starting, pausing and skipping needs Spotify Premium. That is Spotify's restriction on their own service, not a Mirra plan gate, and the connection card says so in amber when the account is not Premium.
- One account per household. Reconnecting replaces it rather than adding a second, because two Spotify accounts on one mirror is not a thing anybody wants and the second would silently never be used.
- Spotify has no way of telling us when a track changes, so Mirra asks — once per household, however many mirrors are on the wall.
- A mirror is not itself a Spotify speaker. Mirra shows and controls what is playing on the speakers you already have.
Connecting an account
Open Integrations, then Spotify
The page is at /integrations/spotify.
Press Connect Spotify
You are sent to Spotify's own sign-in. Mirra never sees your Spotify password.
Approve it on Spotify's screen
You are asked every time, including when reconnecting, so a household changing its mind about what it agreed to is genuinely asked again rather than handed the old approval back.
You come back to the page
It shows what is playing straight away when something is. That is deliberate: a page that only said connected would leave you to go and find a mirror to discover whether it actually works.
- What Mirra asks Spotify for: what is playing and which speakers exist; permission to play, pause, skip, set volume and choose a speaker; and your account details, which Spotify's own playback library requires.
- Two of the permissions are asked for and not yet used by anything: making the mirror itself a speaker, and reading your top artists.
- If the sign-in fails, the page says which way it failed — that took too long, you declined on Spotify's screen, or Spotify would not complete it.
If the page says Spotify isn't configured on this installation, the install itself has no Spotify application set up. That is deliberate for self-hosted Mirra — nobody should have to register a Spotify developer application to run a mirror — and there is nothing you can do about it from this page.
What the page tells you
- Playing now — the track, the artist, whether it is playing or paused, and which speaker it is on. Showing it here proves the whole chain in the place you just set it up.
- Nothing playing right now is not an error. Spotify has nothing to report until something is playing somewhere, which is most of the day.
- Where it can play — Spotify's own device list. No devices are listening is the single most confusing thing about Spotify and is not a fault: a speaker only appears once it has been woken. Open Spotify on a phone or a speaker and it turns up.
- Connection — the account name, an amber line when the account is not Premium, and a red one when Spotify has stopped accepting the stored sign-in.
- Reconnect sends you back through Spotify's approval screen. Use it when that red line appears.
The Spotify widget
The widget is deliberately large — six columns by six by default. The Home Assistant media tile tells you what is on; this one is meant to fill a wall while music is playing, the way the art frame does.
It asks the portal what is playing every five seconds. The progress bar is animated locally in between, because a bar that jumps every five seconds looks broken while one that moves smoothly does not.
What you can actually control
Mirra sends Spotify a fixed list of commands and never passes anything else through. A screen's token could be lifted off a mirror, and whatever the screen asks for would then mean whatever anybody holding one asks for.
- From the wall: tapping or clicking the widget plays or pauses. On a mirror with no touchscreen that does nothing, and a wave is the way in.
- Waving moves to the next or previous track.
- By voice: play something, pause, resume, next, previous, and naming a speaker to play on.
- The widget has no volume control and the assistant has no volume command. There is no playlist editing, no library changes and no following anybody.
- There is no gesture for pause. Next and previous are recoverable by waving again; silence started by a stray movement is the kind of thing that gets a feature switched off.
- Nothing is applied optimistically. After a command Mirra re-reads what Spotify says rather than guessing, because a command fails whenever no speaker is awake — which is most of the time in a house — and a play button showing playing while nothing happens is worse than one that briefly does nothing.
Skipping with a wave
The wave is read on the screen itself, by the same camera that recognises faces, and the frames never leave the device. Only the fact that the track moved on ever travels.
Open the screen's settings
Screens, then the screen in question.
Switch on Camera on this screen
Gestures cannot be enabled without it. Otherwise somebody switches them on and stands waving at a screen whose camera is off.
Tick Control it with gestures
Choose how readily it responds, and the direction
Stand back and wave
A wave has to be a deliberate sweep across roughly a third of the frame, taking somewhere between a fifth of a second and just over a second. Faster is somebody walking past; slower is somebody moving about the room. Nothing else fires for about a second and a half afterwards, which mostly exists to stop the return stroke of your wave being read as the opposite swipe.
A wave goes to one widget only, and the art frame and the photo frame both outrank the Spotify tile. On a scene holding a picture and the music, a wave turns the picture. Holding up an OK sign chooses things in a gallery and does nothing at all for music.
Asking for music out loud
Ask in plain words. Mirra searches artists, albums, playlists and tracks in one go and prefers them in that order, because of how people actually ask: play the Beatles wants the artist rather than an album with the same name, and play some jazz matches no artist and lands on a playlist, which is right for a mood. A single track is deliberately last, since starting one means silence three minutes later.
- Pause, resume, next and previous need no search and no named speaker.
- In the kitchen names a Spotify speaker. It is matched exactly first and then by containment, so Kitchen wins over Kitchen speaker (old) when both exist.
- A speaker that is not awake cannot be found, and Mirra says so rather than playing in the wrong room — which is the failure you notice from upstairs.
- The music command is only offered to the assistant when Spotify is connected, so a household without it does not have the assistant spending a turn discovering that.
- Once the assistant has looked something up on the web, it stops being able to start music for the rest of that turn. That is the web-search safety rule rather than a Spotify fault.
When it says no
Spotify's refusals are turned into sentences you can act on rather than status codes. On a mirror they appear as a line across the bottom of the widget for a few seconds and then go.
- There's no active Spotify device to play on — nothing is awake. Open Spotify on a phone or a speaker.
- Spotify refused that — controlling playback needs Premium.
- Spotify is rate limiting us. Try again shortly.
- Spotify didn't answer — the request timed out.
- Spotify isn't connected — no account is joined to this household, or the stored sign-in has been refused and needs reconnecting.
Disconnecting
Press Disconnect Spotify in the Danger zone
You are asked to confirm.
Remove Mirra at Spotify's end as well
Spotify offers no way for us to revoke a sign-in, so disconnecting only forgets our copy of it. To revoke it properly, remove Mirra under the apps section of your Spotify account.
Disconnecting takes nothing off a wall. A Spotify widget left on a scene draws its idle state and says Spotify isn't connected rather than showing an error.
Related
- Every widget there isThe complete list of widgets Mirra ships with, grouped the way the scene editor groups them, with what each one shows and what it needs before it will show anything.
- Integrations: what they are, and turning them onAn integration is an outside source that several widgets draw on — this explains what turning one on and off does, and why Mirra refuses to turn one off while its widgets are still on a scene.
- The assistant: how a conversation worksHow you summon Mirra, what happens between hearing you and answering you, which tools it can reach, where the transcript goes, and what a conversation costs against your monthly allowance.
- Letting the assistant look things upHow to switch web search on for your assistant, what a search costs, and why a conversation that reads the web can no longer change anything in your home.
- Screen settingsEvery setting on a screen's own page that belongs to the screen rather than to a scene — its shape, which way up it is, its camera and gestures, the commands you can send it, and unpairing.
- The scene editorThe scene editor is where you arrange a screen's widgets on a twelve-column grid, watch the real widgets render behind them, and push the result to the wall.