Custom web remote interface for Vivaldi

I’ve built a custom web remote interface that I use to control my system. It is a little python/flask server running on a raspberry pi that the family uses from any web browser (phone, tablet, etc). The web remote has basic on/off, volume and source control for a preamp, projector and dCS sources. The preamp interface is RS-232, the projector is direct IP control and the dCS interface had been IR through a Global Cache iTach module.

I want to move the dCS control to web based control, but I don’t want to use Mosaic or Roon for the control. Can I use direct IP commands to the Vivaldi Upsampler? Are the web based commands for the dCS Vivaldi DAC/Upsampler published somewhere?

Thanks!

2 Likes

Doug, Mosaic in fact makes REST calls directly into the dCS platform (to Mosaic Processor on the streaming board). If you’re handy with WireShark, it’s fairly trivial to gather the basic command & controls.

I don’t believe it’s documented by dCS, they probably discourage direct control😆. Maybe @Phil can advise more appropriately.

3 Likes

Anup - thanks for the hint that Mosaic does use a REST interface. I spent a bit of time with WireShark and snarfed the relevant commands and have everything working now. In case anyone else is interested - here is the basic interface:

For context:
these are all basic http:// requests (not https://)

these all work on my Vivaldi - I would believe that they would work on any dCS DAC (Bartok, etc)

obviously, my Vivaldi’s IP is 192.168.1.66 - you need to substitute the proper IP for your DAC.

The basic command subset:

Get current power status (on = False; off = True):
“192.168.1.66/api/getData?path=dcsworker%3A%2Fdcs%2FunitSettings%2FpowerSleep&roles=value%2Cpath”

Turn power off:
“192.168.1.66/api/setData?path=dcsworker%3A%2Fdcs%2FunitSettings%2FpowerSleep&role=value&value=%7B%22type%22%3A%22bool_%22%2C%22bool_%22%3Atrue%7D”

Turn power on:
“192.168.1.66/api/setData?path=dcsworker%3A%2Fdcs%2FunitSettings%2FpowerSleep&role=value&value=%7B%22type%22%3A%22bool_%22%2C%22bool_%22%3Afalse%7D”

Select network input:
“192.168.1.66/api/setData?path=dcsUiMenu%3A%2Fui%2Fdigital%2Fnetwork&role=activate&value=true”

Select SPDIF4 (TOSlink) input
“192.168.1.66/api/setData?path=dcsUiMenu%3A%2Fui%2Fdigital%2Fspdif4&role=activate&value=true”

3 Likes

Interesting thread

For us layman how about a browser based fully operative version of Mosaic?

Case in point - I am in the process of trying to burn in a XLR cable and Roon continually and randomly stops playback (seems like I am not the only one).
Since I am away from my home I am continually remote logging into my iMac to start Roon up again after every stoppage.

Mosaic running in a browser would be a convenient thing to have.

Well…replying to my own post
An extremely quick Google search determined that Mosaic runs on Mac OS
YIPPEE

Hi Greg,

At this time there are no plans to implement a browser based version of Mosaic and to do a browser based implementation of Mosaic would be a “none trivial” task requiring all of the gruntwork (which is currently done on the phone / tablet where you have plenty of memory and a fairly grunty processor) to be done on the streamer itself.

I’m also not sure how a browser based version of Mosaic would help either in this specific instance or generally as this would involve exposing the streamer to the “outside world” by port forwarding through your router to access its web interface (which doesn’t have any access control as it isn’t intended to be internet facing) … you could of course set up your own VPN between your home network and wherever you are but then Mosaic should also still work over a VPN too which would then take away the purpose of a web based version…

Do you definitely mean a browser based version of Mosaic or do you mean a browser based remote control?

If you’re trying to burn in an XLR cable then why not use the Burn-In function on the streamer itself?

Cheers

Phil

Hi Greg,

Only on Apple Silicon Macs as their version of OSX includes the ability to also run iOS apps … not supported on older non-Apple Silicon Macs.

Cheers

Phil

Hi Phil
As my kitchen iMac runs on Apple Silicon I am in business! I just remoted in and fired up Mosaic. Spotify connect is now running a playlist on the Rossini. For some reason Roon continually stops playing mid playlist or mid internet radio. Another Google search indicates this is not an uncommon problem.

Thank you for the reminder of the burn in function- I forgot about that one.

I just received my Chord Music cable back from the UK after having a bit of surgery performed on it. It has now morphed into a XLR cable and will be used between my Rossini and new DarTZeel preamp. I finally will be able to use the XLR output from the Rossini instead of RCA. Here’s to hoping I can now realize the acknowledged uptick in performance XLR should bring.

In my case, I want to use a generic browser as a remote control for my equipment while on my home network (no port forwarding / VPN). I’m using a raspberry pi to run a trivial webserver that provides the interface. It would be amazing if Mosaic was open source, as it would have been a great place to start (rather than reverse engineering the REST protocol).

I can imagine some people coming up with some creative ways to build useful web interfaces if the full protocol was released publicly.

1 Like