For what it’s worth, I’m doing almost exactly the same thing with a Teenage Engineering Ortho Remote (which shows up as a Bluetooth keyboard sending media keys) and a Roon extension that listens for media keys. Works great. I thought about the Numio, but I can’t get over the price. (I used to use a Powermate Bluetooth, but it was jankier than the Teenage Engineering knob.)
This is the one I had in mind. (But I actually wrote my own in Python.) And yes, the same thing works with the USB knobs that show up as keyboards sending media keys. (I have two USB knobs set up in the bedroom, one on each of our nightstands, both controlling the bedroom zone.)
Some of these work on Linux as well (like the Nobsound). So… would it not make sense to plug it into your RPi with a DAC HAT and thus get a volume controller without having to use a touch screen? So, if you have Ropiee, you’d want to have the USB knob adjust ALSA? Am I thinking this out right?
They all work on Linux – they’re just standard USB or Bluetooth keyboards. I’m not sure if Ropieee listens for media keys, but yeah, you can just run one of these extensions on a RPi and make it listen for media keys and be able to adjust volume without needing a touch screen. Or, of course, you can set them up on some other rpi (like a $10 Pi Zero W) and not mess with your audio-configured pi, since it’s irrelevant whether the extension is running on the same machine that’s outputting the audio.
So to use a Bluetooth device directly on Roon Core you’d need Core to have Bluetooth wireless capability? I.e the computer running Roon Core must have Bluetooth hardware?
Otherwise a Pi somewhere on your network will do?
What about Bluetooth USB adapters - would these work?
Using a Zero for dealing with the remote (or remotes plural) sounds smart. Yes, I could use my PC, which is ofcourse also a Roon bridge and remote, however then it has to be on to make the gadget work. The Pis run all the time, and use very little watts.
I got just one of the Teenage Ortho Remotes today.
I will use that Roon extension that mentioned, however I am not sure if it will be implentable on a Ropieee enpoint (would get wipred out after every upgrade), so, a Pi Zero for BT reciever with DietPie and a Roon Remote installed is probably the way to go.
Right now I just have it in Windows, and it seems to work but acts a bit weirdly. However, turning the knob continuously and slowly in one direction results in the the volume going up and down, instead of steadily up to max. I don’t know if it’s the implementation as a media controller in Windows, so I’ll have to get that Pi Zero and see how it acts on Linux.
Got it working with AutoHotKeys on Windows (trying to get Windows to natively do something useful with media keys is maybe not really possible.)
So the Teenage Ortho Remote does everything I want in Roon on Windows (vol up, vol down, play, pause, skip track, go to previous track).
Next then is having it run via the Roon extension on RPi, and then the PC doesn’t even have to be turned on. For that I need a BT 4 dongle that is supported by Linux / RPi (I ordered the Pluggable BT 4).
Joe, maybe you can help me think this out a bit more
I got a Pi Zero W with the idea of using it with that keyboard extension to control Roon with the Ortho Remote without the need and for and complexity of a whole Windows PC with Autohotkey.
Now, dietpi runs just fine on the Pi Zero W – WLAN and all that is okay. Bluetooth also okay. Installing the roon-extension-keyboard-remote also okay. But here it ends - the Roon keyboard extension has to run on an endpoint with, as the Github page explains, a Roon bridge. And Roon bridge is available for ARM 7 and 8, a Pi Zero however is most sadly ARM 6.
I have a RPi 3B+ with Ropieee on it. I think then, probably that needs to be replaced with Dietpi and a manual Bridge install, and then the keyboard extension can go in there.
Is that what you have running to make use of your Ortho Remotes?
I don’t think the Roon keyboard extension has to run on an endpoint with a Roon bridge. They say it makes the most sense that way, but I don’t think there’s any actual interaction with the Roon bridge. Looks to me from the code like it just operates as a normal Roon extension, which doesn’t need to run on the same machine as a bridge. Its dependencies are the nodejs Roon API libraries, but nothing else.
I’m running a homegrown Python extension (on a Pi Zero W), which I’m happy to share but which is less user friendly than the nodejs keyboard extension.
I see, their recommendation is not a requirement. So, the Roon bridge, or any Roon code is not required on the Dietpi install at all?
[root@pizo ~]# systemctl status roon-extension-keyboard-remote.service
● roon-extension-keyboard-remote.service - Remote control of Roon via keyboard
Loaded: loaded (/lib/systemd/system/roon-extension-keyboard-remote.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2019-07-13 00:10:34 CEST; 13min ago
Main PID: 220 (node)
└─220 /usr/local/bin/node /opt/roon-extension-keyboard-remote /etc/roon-extension-keyboard-remote
Jul 13 00:10:34 pizo systemd: Started Remote control of Roon via keyboard.
And, after re-starting the Roon core, the keyboard extension is listed as well!
Two more questions:
Did you manage to use bluetoothctl to pair the Ortho to the Zero?
The Keyboard extension only has start/pause, forward, next… how did you get the Ortho dial knob to adjust volume?
Oh, right, you wrote your own extension.
If you wrote something that works better with the Ortho, then yes, I would be grateful if you shared.
@Joe_Gratz: Like @CRo, I too have managed to get the extension working, and have connected the Ortho remote to the SBC running DietPi (an Odroid C2 in my case). If I turn the remote anticlockwise, I see a tilde, otherwise nothing. I can’t find a config file for bluetooth controllers, and also can’t populate the controller fields with any input from the Ortho remote.
If you are able to share the python script, or have any other input on how you got things working, that would be most appreciated. Thanks in advance, John
Have you managed to control Next/Previous with the Ortho Remote? From what I’ve seen regarding the product from Teenage Engineering, the remote is good to be used only if you want to control volume up/down and play/pause.
I had one for some time. It’s a very nicely machined control, with one nasty dealbreaker: it needs to be tapped to be woken from sleep – just turning the control ring does does not wake the Nuimo. As stupid as it may sound – this breaks the flow of just grabbing and turning the ring. That – and the Nuimo did not always register the tap, making volume control not work until the Nuimo was tapped again.
I have since moved to IKEA’s Symfonisk Music Remotes for my Sonos system. They are laughably cheap and feel horribly plasticy – but they work all of the time, with the turning movement waking them from sleep reliably (when the remote has not been used for a while, the only side-effect is a slightly longer turn before the volume changes).