Spotify Connect! disponible sur le Gladys Store!


#121

Salut ! Je viens d’installer le module qui fonctionne super bien, une vraie pépite ! :grinning:

Cependant, quand je lance un script du style
gladys.music.playPlaylist('spotify:user:absolutedance:playlist:2yDxgOdd5rnjuVydcYcuEr')
est il possible de lancer la playlist en aléatoire ? J’ai bien essayé d’activer le mode aléatoire sur spotify, mais à chaque lancement il recommencer à jouer la première chanson de la playlist.

De plus, si je veux lui faire uniquement jouer une chanson, quel est la fonction à appeler ? j’ai essayé
gladys.music.playPlaylist('spotify:track:0cdCD2GTT8aIennaIYDeJl')
en remplacant Playlist par Track, Song, Chanson, Music mais rien ne fonctionne et Gladys me renvoi une erreur TypeErroc : gladys.music.playXXX is not a Function.


#122

tu as essayé juste gladys.music.play? sinon il faut tester les fonctions présentent dans le module https://github.com/AdrienDesola/gladys-spotify/blob/master/lib/music/index.js


#123

Merci beaucoup !
Le mode aléatoire n’existe pas encore.
Lancer une seule musique devrais fonctionner. Je regarderais quand j’aurais 5’


#124

Bonjour à tous !
Tout d’abord Merci ! Merci à Pierre-Gilles pour Galdys, Merci à toi Adrien pour ta participation au projet.

Malheureusement pour moi je n’arrive pas à m’en servir. J’ai scrupuleusement suivi ton tuto.
Mais quand je lance ta commande de test en Script (celle la : gladys.music.playPlaylist(‘spotify:album:4ydl8Ci7OsndhI2ALnrpIv’) ) j’ai une erreur dans mes logs gladys. :

You have triggered an unhandledRejection, you may have forgotten to catch a Promise rejection:
0|gladys | Error: Music : Module mp3-player does not have function playPlaylist
0|gladys | at getDeviceType.then (/home/pi/gladys/api/core/music/music.sendCommand.js:12:38)
0|gladys | at tryCatcher (/home/pi/gladys/node_modules/bluebird/js/release/util.js:16:23)
0|gladys | at Promise._settlePromiseFromHandler (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:512:31)
0|gladys | at Promise._settlePromise (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:569:18)
0|gladys | at Promise._settlePromise0 (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:614:10)
0|gladys | at Promise._settlePromises (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:693:18)
0|gladys | at Async._drainQueue (/home/pi/gladys/node_modules/bluebird/js/release/async.js:133:16)
0|gladys | at Async._drainQueues (/home/pi/gladys/node_modules/bluebird/js/release/async.js:143:10)
0|gladys | at Immediate.Async.drainQueues (/home/pi/gladys/node_modules/bluebird/js/release/async.js:17:14)
0|gladys | at runCallback (timers.js:789:20)
0|gladys | at tryOnImmediate (timers.js:751:5)

En revanche si je lance la commande :
gladys.music.play(‘spotify:album:4ydl8Ci7OsndhI2ALnrpIv’)

Mes logs ressemblent à ca :
MP3 Player : Playing from files !

Mais le lecteur de musique se met à me jouer une musique présente dans le dossier que j’ai défini dans les paramètres pour la clé GLADYS_MP3_FOLDER.

Je ne comprends vraiment pas pourquoi (mon niveau de débutant n’aide surement pas ^^) Avez vous une idée ?
Merci d’avance :slight_smile:


#125

Bonsoir à tous !

Tout d’abord merci pour le taf apporté sur le module spotify connect, ça défonce.

Voilà j’ai un petit problème de connexion avec ce module.
J’ai effectué toutes les étapes, mais au moment d’authoriser le Spotify account avec l’url fourni sur la console, impossible de trouver la page.

J’ai également cette erreur en suivant le lien :

0|gladys | Sending 500 (“Server Error”) response:
0|gladys | Error: Param spotify_refresh_token not found
0|gladys | at /home/pi/gladys/api/core/param/param.getValue.js:16:36
0|gladys | at tryCatcher (/home/pi/gladys/node_modules/bluebird/js/release/util.js:16:23)
0|gladys | at Promise._settlePromiseFromHandler (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:512:31)
0|gladys | at Promise._settlePromise (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:569:18)
0|gladys | at Promise._settlePromise0 (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:614:10)
0|gladys | at Promise._settlePromises (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:693:18)
0|gladys | at Promise._fulfill (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:638:18)
0|gladys | at /home/pi/gladys/node_modules/bluebird/js/release/nodeback.js:42:21
0|gladys | at /home/pi/gladys/node_modules/sails-mysql/lib/connections/spawn.js:120:16
0|gladys | at Object.poolfully [as releaseConnection] (/home/pi/gladys/node_modules/sails-mysql/lib/connections/release.js:28:12)
0|gladys | at Query._callback (/home/pi/gladys/node_modules/sails-mysql/lib/connections/spawn.js:105:35)
0|gladys | at Query.Sequence.end (/home/pi/gladys/node_modules/mysql/lib/protocol/sequences/Sequence.js:96:24)
0|gladys | at Query._handleFinalResultPacket (/home/pi/gladys/node_modules/mysql/lib/protocol/sequences/Query.js:144:8)
0|gladys | at Query.EofPacket (/home/pi/gladys/node_modules/mysql/lib/protocol/sequences/Query.js:128:8)
0|gladys | at Protocol._parsePacket (/home/pi/gladys/node_modules/mysql/lib/protocol/Protocol.js:280:23)
0|gladys | at Parser.write (/home/pi/gladys/node_modules/mysql/lib/protocol/Parser.js:73:12)
0|gladys | at Protocol.write (/home/pi/gladys/node_modules/mysql/lib/protocol/Protocol.js:39:16)
0|gladys | at Socket. (/home/pi/gladys/node_modules/mysql/lib/Connection.js:96:28)
0|gladys | at emitOne (events.js:96:13)
0|gladys | at Socket.emit (events.js:188:7)
0|gladys | at readableAddChunk (_stream_readable.js:176:18)
0|gladys | at Socket.Readable.push (_stream_readable.js:134:10)
0|gladys | at TCP.onread (net.js:547:20)
0|gladys | Server Error:
0|gladys | Error: Param spotify_refresh_token not found
0|gladys | at /home/pi/gladys/api/core/param/param.getValue.js:16:36
0|gladys | at tryCatcher (/home/pi/gladys/node_modules/bluebird/js/release/util.js:16:23)
0|gladys | at Promise._settlePromiseFromHandler (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:512:31)
0|gladys | at Promise._settlePromise (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:569:18)
0|gladys | at Promise._settlePromise0 (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:614:10)
0|gladys | at Promise._settlePromises (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:693:18)
0|gladys | at Promise._fulfill (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:638:18)
0|gladys | at /home/pi/gladys/node_modules/bluebird/js/release/nodeback.js:42:21
0|gladys | at /home/pi/gladys/node_modules/sails-mysql/lib/connections/spawn.js:120:16
0|gladys | at Object.poolfully [as releaseConnection] (/home/pi/gladys/node_modules/sails-mysql/lib/connections/release.js:28:12)
0|gladys | at Query._callback (/home/pi/gladys/node_modules/sails-mysql/lib/connections/spawn.js:105:35)
0|gladys | at Query.Sequence.end (/home/pi/gladys/node_modules/mysql/lib/protocol/sequences/Sequence.js:96:24)
0|gladys | at Query._handleFinalResultPacket (/home/pi/gladys/node_modules/mysql/lib/protocol/sequences/Query.js:144:8)
0|gladys | at Query.EofPacket (/home/pi/gladys/node_modules/mysql/lib/protocol/sequences/Query.js:128:8)
0|gladys | at Protocol._parsePacket (/home/pi/gladys/node_modules/mysql/lib/protocol/Protocol.js:280:23)
0|gladys | at Parser.write (/home/pi/gladys/node_modules/mysql/lib/protocol/Parser.js:73:12)
0|gladys | at Protocol.write (/home/pi/gladys/node_modules/mysql/lib/protocol/Protocol.js:39:16)
0|gladys | at Socket. (/home/pi/gladys/node_modules/mysql/lib/Connection.js:96:28)
0|gladys | at emitOne (events.js:96:13)
0|gladys | at Socket.emit (events.js:188:7)
0|gladys | at readableAddChunk (_stream_readable.js:176:18)
0|gladys | at Socket.Readable.push (_stream_readable.js:134:10)
0|gladys | at TCP.onread (net.js:547:20)

Si vous avez une petite idée, je suis preneur !
Merci d’avance


#126

Hello @Jojo !

pour le moment MP3 player et SpotifyConnect se gène. essaye d’en installer qu’un des deux le temps que je m’occupe de ça.

En espérant que ça suffise !


#127

hello @0xRom1 !

Impossible le de trouver la page ? cad ? tu ne trouve pas le lien ? ou le lien te retourne un 404 ?

Essaye de vérifier la conf, coté Spotify App et Gladys, de la clé redirect URI


#129

Parfait ! Ca marche, merci @AdrienDesola et encore Bravo ! :slight_smile:


#130

Bonjour @AdrienDesola,

C’est ça, je ne trouve pas le lien.
J’ai bien mis https://192.168.XX.XX/spotify/ sur Gladys et Spotify app, j’ai aussi testé avec https://192.168.XX.XX/spotify mais même problème


#131

Alors,
As tu activé les notifications websocket ?


#132

Problème réglé, il y avait un problème avec mon IP, je suis finalement passé par une IP publique, et ça marche très bien.
Merci pour tes réponses et ton travail @AdrienDesola, c’est top :grin:


#133

@AdrienDesola mec, t’as vu ça :slight_smile:
les mec ont entièrement réécrit le daemon !

https://korben.info/spotifyd-le-daemon-spotify-pour-les-systemes-unix-linux.html


#134

c’est bon ça ! je regarde tout de suite !


#135

Yop à tous,
@AdrienDesola, j’ai réussi à récupérer l’identifiant et à rerouter la musique vers le device que je voulais.:sunglasses:
par contre, pour le moment je l’ai fait à l’arrache, en code.
@pierre-gilles, comment est géré la pièce dans le module musique? comment puis-je faire pour lui dire ou je veux avoir la musique? Je vois que dans la box on choisit la pièce et qu’il vérifie si il y a un device compatible dans la-dite pièce mais je ne sais pas comment c’est géré.


#136

Hello @isokar!

C’est géré exactement ici =>

ça prend :

  • Soit le deviceType passé en paramètre
  • Soit si tu passe une pièce, ça va chercher le deviceType de type “music” dans la pièce
  • Si rien n’est passé, ça regarde si il y a un appareil de type “music” dans la maison, et ça prend le premier par défaut
  • Sinon, ça renvoie NOT_FOUND

#137

cool merci.
par contre, si je comprend bien, ça envoi la commande au bon module mais le module ne sais pas dans quelle pièce il doit jouer. as-tu une idée de comment faire?


#138

Les paramètres d’appel de la fonction sont passés au module ! Donc si, il a la pièce :slight_smile:


#139

Ca y est ça fonctionne.
@AdrienDesola, j’ai fais une PR avec les corrections.
Manques plus qu’à pouvoir choisir l’artiste et ce sera jackpot. mais ça je galère car Gladys ne gère pas les phrases du type lance %ARTIST% dans %ROOM%


#140

Super !
Je test ce soir et je merge


#141

Désolé dude, ça tourne pas chez moi. le device ne se créer jamais. :confused: