Read the statement by Michael Teeuw here.
MMM-Spotify
-
@Sean said in MMM-Spotify:
Also another problem that i have is that if spotify is not already playing in the background i am not able to play anything. whatever command i give. and the frontend does not even show the spotify logo. it just disappears on after one sec on start.
In that case, maybe, the module cannot find available active devices. It doesn’t mean you have no device. But by default, Spotify doesn’t know which device is yours unless it is powered and logged as your account.
So at least one of your devices need to be activated when this SDK is used. I recommend to install Raspotify, that could makes your spotify always on.i am running from ubuntu laptop with Spotify application! i tried with raspotify to install but from what i understood it does not support the laptop arch!
-
First of all thanks for the module and the effort you put in it.
@Sean said in MMM-Spotify:
updated
1.1.0 (2019-03-25)
- Device Limitation : Now you can allow or limit devices to display its playing on MM.
One question regarding the device limitation: if I leave it empty, the module shows the cover etc. as it should. If I try to limit it to my echo dot with
allowDevices: ["myechodot"],
the spotify logo appears if I start playback on the echo dot, but no cover etc. is shown. Any hints?
-
@rabbit83ka
When you play something on your echodot, nothing been displayed? -
@Sean
If I comment out//allwoeDevices: ["myechodot" ]
it shows the album cover/etx/progress etc. when I play something on my echo dot. With
allowDevices: ["myechodot"],
the spotify logo appears when something is played on the echodot, but no cover/text/progress etc. is shown.
-
This post is deleted! -
I have the following recipies:
var recipe = { transcriptionHook: { HIDE_ALL_MODULES: { pattern: "standby mode", command: "HIDEMODULES" }, SHOW_ALL_MODULES: { pattern: "show modules", command: "SHOWMODULES" }, SCREEN_ON: { pattern: "turn on screen", command: "SCREENON" }, SCREEN_OFF: { pattern: "turn off screen", command: "SCREENOFF" }, REBOOT: { pattern: "reboot the mirror", command: "REBOOT" }, SHUTDOWN: { pattern: "extinction totale", command: "SHUTDOWN" }, STOP_PLAY: { pattern: "stop the video", // this is for youtube but it is preferable to have youtubeAutoplay: false, when running spotify so you don't get interaction with youtube player. command: "STOP_VID" }, SPOTIFY_PREVIOUS: { pattern: "previous song", command: "SPOTIFY_PREVIOUS" }, SPOTIFY_PAUSE: { pattern : "stop the music", command: "SPOTIFY_PAUSE" }, SPOTIFY_PLAY: { pattern : "music please", command: "SPOTIFY_PLAY" }, SPOTIFY_NEXT: { pattern: "next song", command: "SPOTIFY_NEXT" }, SPOTIFY_VOLUME: { pattern: "set music volume to ([0-9]{1,2}[0]?|100)", command: "SPOTIFY_VOLUME" }, SPOTIFY_SEARCH: { pattern: "play (.*) on Spotify", command: "SPOTIFY_SEARCH" }, SPOTIFY_SEARCH_PLAYLIST: { pattern: "playlist (.*) on Spotify", command: "SPOTIFY_SEARCH_PLAYLIST" }, SPOTIFY_MA_PLAYLIST: { pattern: "(.*) my playlist", // (.*) is an action eg: play my playlist / run my playlist etc... command: "SPOTIFY_MA_PLAYLIST" }, SPOTIFY_TRANSFER: { pattern: "play the music on (.*)", // (.*) is the name of your device command: "SPOTIFY_TRANSFER" }, VOLUME_UP: { pattern: "volume up", command: "CMD_VOLUME_UP" }, VOLUME_DOWN: { pattern: "volume down", command: "CMD_VOLUME_DOWN" }, SET_VOLUME: { pattern: "set master volume to ([0-9]{1,2}[0]?|100)", command: "CMD_VOLUME_SET" } }, command: { STOP_VID: { moduleExec: { module: ["MMM-AssistantMk2"], exec: (module, params, key) => { module.assistant.subdom.youtube.innerHTML = ""; module.assistant.subdom.youtube.style.display = "none"; module.youtubePlaying = false; } } }, SPOTIFY_TRANSFER: { notificationExec: { notification: "SPOTIFY_TRANSFER", payload: (params) => { console.log("SPOTIFY_TRANSFER @",params) return params[1]; } } }, SPOTIFY_PAUSE: { notificationExec: { notification: "SPOTIFY_PAUSE" } }, SPOTIFY_PLAY: { notificationExec: { notification: "SPOTIFY_PLAY" } }, SPOTIFY_MA_PLAYLIST: { notificationExec: { notification: "SPOTIFY_PLAY", payload: (params) => { console.log("SPOTIFY_MA_PLAYLIST") return { context_uri:"spotify:playlist:0ka8HWt4xXcnTK5OpOuN2k", // Uri of a personnal playlist or album } }, notification: "SPOTIFY_SHUFFLE", // added this to toogle shuffle notification: "SPOTIFY_NEXT" // added this to not always have the same song starting first } }, SPOTIFY_NEXT: { notificationExec: { notification: "SPOTIFY_NEXT" } }, SPOTIFY_PREVIOUS: { notificationExec: { notification: "SPOTIFY_PREVIOUS" } }, SPOTIFY_VOLUME: { notificationExec: { notification: "SPOTIFY_VOLUME", payload: (params) => { console.log("SPOTIFY_VOLUME @",params) return params[1]; } } }, SPOTIFY_SEARCH: { notificationExec: { notification: "SPOTIFY_SEARCH", payload: (params) => { console.log("SPOTIFY_SEARCH @",params) return { type: "artist,track,album,playlist", query: params[1], random:false, } } } }, SPOTIFY_SEARCH_PLAYLIST: { notificationExec: { notification: "SPOTIFY_SEARCH", payload: (params) => { console.log("SPOTIFY_SEARCH_PLAYLIST @",params) return { type: "playlist", query: params[1], random:true, } } } }, CMD_VOLUME_UP: { notificationExec: { notification: "VOLUME_UP" } }, CMD_VOLUME_DOWN: { notificationExec: { notification: "VOLUME_DOWN" } }, CMD_VOLUME_SET: { notificationExec: { notification: "VOLUME_SET", payload: (params, key) => { console.log("@", params); return params[1]; } } }, } } exports.recipe = recipe // Don't remove this line.
However, the
SPOTIFY_PLAY: { pattern : "music please", command: "SPOTIFY_PLAY" },
Doesn’t work. It recognizes the command, but nothing happens. Playback from the mirror (raspotify) doesn’t happen. If I switch the source from my desktop/phone spotify app to Raspotify, then everything is fine (e.g. I renamed the player from Raspotify to MagicMirror if that matters).
There are no errors in the logs as far as I can see.
Any thoughts?
-
@Ivanov_d
Only that command doesn’t work? Other’s OK?
Raspotify should be already running when you use this module. (This module cannot boot up Raspotify itself) -
@Sean yes, the other commands work. I can skip the song, increase/decrease the volume and etc. Also Raspotify is running, because I can start the playback on the mirror from my Desktop/Smartphone app.
-
@Sean, I did some more testing and I can confirm that this is the only command that doesn’t work. Maybe I am not understanding it correctly.
My expected results would be:
- Raspotify is running in the background (but no music is playing)
- When I say “music please” spotify will start a random song and play it on the MagicMirror
The result however is:
- Raspotify is running in the background and no music is playing
- When I say “music please” I see no errors in the logs, however, no music is starting as well
- To workaround this I start the music from my smartphone or desktop app and switch the player to MagicMirror, after that I can control the player via AssistankMK2
-
@Ivanov_d
There could be 2(or 3)kinds of possibility about your issue;- AssistantMk2 cannot catch your word “music please”
- AssistantMk2 could catch “music please” but cannot emit “SPOTIFY_PLAY” notification
- Spotify cannot receive (or understand) SPOTIFY_PLAY notification. (hmmm… I can’t agree about this)
Well, I’ll test from last third issue. Wait for a while.