addToQueue not working ?

I used volumio 1.5 for years on a raspberry pi and it works very well. I used a personnal program to build music selection and them use volumio to play these songs. I build a python script to send back the current playing song to my personnal system.

2 weeks ago, I decided to buy a mini 86 on volumio website to support the community. the mini 86 comes with volumio 2 already installed. I try to adapt my personnal program to send songs to volumio 2 without success:

  1. I tried REST API but the addToQueue is not supported by REST API.
  2. I tried WebSocket API: I can easily change setting like volume but cannot add song to queue.
    My uri is on that format: 192.168.0.121/path1/path2/song.mp3

Is the uri need to follow a certain format or do we have limitation ?

Thank you for your help.

I suggest you to take a look at the websocket plugin, put a console log there and see the exact payload that gets sent when a upnp file is being added.
This way you’ll be able to do what you need

Thank you for your quick response !

here is the call:
socket.emit(‘addToQueue’, {“uri”:“http://192.168.0.103/sons/qualif4/jmb18_02.mp3”});

Here is what the console says:
header:

XHRPOSThttp://volumio:3000/socket.io/?EIO=3&transport=polling&t=MRBrv-Q&sid=ULoMlT_QGuCU8e7IAAAH[HTTP/1.1 200 OK 0ms] 
HeadersCookiesParamsResponseTimingsStack TraceRequest URL:Request method:Remote address:Status code:200Edit and ResendRaw headersVersion:Response headers (244 B)Access-Control-Allow-CredentialstrueAccess-Control-Allow-Originhttp://hrv10Connectionkeep-aliveContent-Length2Content-Typetext/htmlDateWed, 31 Oct 2018 20:36:43 GMTSet-Cookieio=ULoMlT_QGuCU8e7IAAAHRequest headers (465 B)Accept*/*Accept-Encodinggzip, deflateAccept-Languageen-US,en;q=0.5Connectionkeep-aliveContent-Length76Content-typetext/plain;charset=UTF-8Cookieio=ULoMlT_QGuCU8e7IAAAHHostvolumio:3000Originhttp://hrv10Refererhttp://hrv10/intranet/hrv101/test.htmlUser-AgentMozilla/5.0 (Windows NT 6.1; W…) Gecko/20100101 Firefox/63.0

param:

XHRPOSThttp://volumio:3000/socket.io/?EIO=3&transport=polling&t=MRBrv-Q&sid=ULoMlT_QGuCU8e7IAAAH[HTTP/1.1 200 OK 0ms] 
HeadersCookiesParamsResponseTimingsStack TraceQuery stringEIO3sidULoMlT_QGuCU8e7IAAAHtMRBrv-QtransportpollingRequest payload 173:42["addToQueue",{"uri":"http://192.168.0.103/sons/qualif4/jmb18_02.mp3"}]

response:

XHRPOSThttp://volumio:3000/socket.io/?EIO=3&transport=polling&t=MRBrv-Q&sid=ULoMlT_QGuCU8e7IAAAH[HTTP/1.1 200 OK 0ms] 
HeadersCookiesParamsResponseTimingsStack TracePreviewResponse payload 1ok

Stack trace:

XHRPOSThttp://volumio:3000/socket.io/?EIO=3&transport=polling&t=MRBrv-Q&sid=ULoMlT_QGuCU8e7IAAAH[HTTP/1.1 200 OK 0ms] 
HeadersCookiesParamsResponseTimingsStack Trace	i.prototype.create http://hrv10/intranet/hrv101/socket.io.js:7:4049
	i http://hrv10/intranet/hrv101/socket.io.js:7:1635
	o.prototype.request http://hrv10/intranet/hrv101/socket.io.js:7:2287
	o.prototype.doWrite http://hrv10/intranet/hrv101/socket.io.js:7:2370
	r.prototype.write/< http://hrv10/intranet/hrv101/socket.io.js:7:6934
	e.encodePayload/< http://hrv10/intranet/hrv101/socket.io.js:7:11685
	o http://hrv10/intranet/hrv101/socket.io.js:7:15200
	i/< http://hrv10/intranet/hrv101/socket.io.js:7:9596
	i/< http://hrv10/intranet/hrv101/socket.io.js:7:11504
	e.encodePacket http://hrv10/intranet/hrv101/socket.io.js:7:10384
	i http://hrv10/intranet/hrv101/socket.io.js:7:11465
	i http://hrv10/intranet/hrv101/socket.io.js:7:9571
	c http://hrv10/intranet/hrv101/socket.io.js:7:9625
	e.encodePayload http://hrv10/intranet/hrv101/socket.io.js:7:11658
	r.prototype.write http://hrv10/intranet/hrv101/socket.io.js:7:6884
	r.prototype.send http://hrv10/intranet/hrv101/socket.io.js:7:8457
	r.prototype.flush http://hrv10/intranet/hrv101/socket.io.js:6:30146
	r.prototype.sendPacket http://hrv10/intranet/hrv101/socket.io.js:6:30662
	r.prototype.send http://hrv10/intranet/hrv101/socket.io.js:6:30306
	r.prototype.packet/< http://hrv10/intranet/hrv101/socket.io.js:6:20329
	r.prototype.encode http://hrv10/intranet/hrv101/socket.io.js:6:11650
	r.prototype.packet http://hrv10/intranet/hrv101/socket.io.js:6:20268
	r.prototype.packet http://hrv10/intranet/hrv101/socket.io.js:7:26875
	r.prototype.emitBuffered http://hrv10/intranet/hrv101/socket.io.js:7:28535
	r.prototype.onconnect http://hrv10/intranet/hrv101/socket.io.js:7:28337
	r.prototype.onpacket http://hrv10/intranet/hrv101/socket.io.js:7:27431
	t.exports/< http://hrv10/intranet/hrv101/socket.io.js:7:29644
	r.prototype.emit http://hrv10/intranet/hrv101/socket.io.js:6:13544
	r.prototype.ondecoded http://hrv10/intranet/hrv101/socket.io.js:6:19629
	t.exports/< http://hrv10/intranet/hrv101/socket.io.js:7:29644
	r.prototype.emit http://hrv10/intranet/hrv101/socket.io.js:6:13544
	a.prototype.add http://hrv10/intranet/hrv101/socket.io.js:6:11883
	r.prototype.ondata http://hrv10/intranet/hrv101/socket.io.js:6:19574
	t.exports/< http://hrv10/intranet/hrv101/socket.io.js:7:29644
	r.prototype.emit http://hrv10/intranet/hrv101/socket.io.js:6:13544
	r.prototype.onPacket http://hrv10/intranet/hrv101/socket.io.js:6:28772
	r.prototype.setTransport/< http://hrv10/intranet/hrv101/socket.io.js:6:26387
	r.prototype.emit http://hrv10/intranet/hrv101/socket.io.js:6:13544
	r.prototype.onPacket http://hrv10/intranet/hrv101/socket.io.js:7:8690
	n http://hrv10/intranet/hrv101/socket.io.js:7:6318
	e.decodePayloadAsBinary/< http://hrv10/intranet/hrv101/socket.io.js:7:13811
	e.decodePayloadAsBinary http://hrv10/intranet/hrv101/socket.io.js:7:13787
	e.decodePayload http://hrv10/intranet/hrv101/socket.io.js:7:11771
	r.prototype.onData http://hrv10/intranet/hrv101/socket.io.js:7:6333
	o.prototype.doPoll/< http://hrv10/intranet/hrv101/socket.io.js:7:2612
	r.prototype.emit http://hrv10/intranet/hrv101/socket.io.js:6:13544
	i.prototype.onData http://hrv10/intranet/hrv101/socket.io.js:7:4300
	i.prototype.onLoad http://hrv10/intranet/hrv101/socket.io.js:7:4899
	i.prototype.create/n.onreadystatechange http://hrv10/intranet/hrv101/socket.io.js:7:3963

the response says OK, but the queue stay empty …

Hi.

Is there a way to allow MPD command in Volumio 2 like we had in Volumio 1.5 ?

Christian