Team up to write Roon library in Go

I wonder whether there is an interest to team up and develop and maintain a modern GO library that talks the Roon protocol. I’m planning to interconnect Zigbee Remotes with Roon so that zones can be controlled using scenes or switches. I’ve started with the inoffficial Python library but was planning to reimplement the library using GO to achieve much smaller Docker images.
Any interest?

Just in case it help - home assistant has both roon and zigbee integration.

Of course it needs a Raspberry Pi (or a docker image) to run.

I maintain both the python library, and the HA integration.

My main use is very similar to what you want to do - turning on and off DACs and amplifiers depending on what roon is doing. I use a mix of zwave and zigbee devices. I also have a zigbee switch in my shower room to set that some playing the radio (and grouping with other zones if they are playing the same station).

If you do decide to write a go library the originator of the python library did quite a bit of work getting below the official roon Java api - to the unsupported level below which made the library more robust - and allowing the use of third party socket libraries etc. so I imagine there is useful code to look at there.

1 Like

Good to know. My use case is slightly different. I would like to create a remote control with a number of buttons and a rotary encoder without having to learn HA setup and configuration. I’ll give a Docker based HA setup a test shot so that I could understand the pros and cons with that sort of setup.

1 Like


Little bit late to the party :wink:

But have you followed up on this?
I’ve been playing around with an Golang implementation of the Roon API as I hate javascript :wink:


Not a problem at all. I have to learn GoLang but are otherwise an experienced SW developer. The question is whether we could run the code on a Raspberry Pico or any other embedded device?

I already use Golang in my RoPieee project, so yes it will run on a Pi.

As a fellow Go + Roon enthusiast (and JS hater), I’m curious to hear if this went anywhere? Any github repo?

Unfortunately not, some amateur radio project crossed my path. But I’m still up to it and would be happy to join.

Fair enough. My focus right now is elsewhere at the moment as well. Haven’t dug into the JS API to see what is possible and if/how I might use something like this. If something changes, I’ll drop a line here.