Driver Type
Categories
- Recent Updates
- Access Control
- Amplifier
- A/V Receiver
- Climate and Pool Control
- Disc Player / Changer
- Display
- DSP
- DVR
- Irrigation / Sprinklers
- Lighting Control
- Matrix Switch
- Media Server and Player
- Multi-Room A/V
- Networking
- Power and Rack Management
- Security
- Surveillance
- Teleconferencing
- Training
- Tuner
- Utility
- Video Projector
Driver Type
Categories
- Recent Updates
- Access Control
- Amplifier
- A/V Receiver
- Climate and Pool Control
- Disc Player / Changer
- Display
- DSP
- DVR
- Irrigation / Sprinklers
- Lighting Control
- Matrix Switch
- Media Server and Player
- Multi-Room A/V
- Networking
- Power and Rack Management
- Security
- Surveillance
- Teleconferencing
- Training
- Tuner
- Utility
- Video Projector
Roon Labs - Roon Core
By: Daniel Richer
Updated: July 8, 2026
Version: 1.03
*READ DRIVER INFO BEFORE BEGINNING - LOT OF DETAIL THAT NEEDS TO BE FOLLOWED TO GET FULL CONTROL*
Driver Features
Control up to 16 Roon rooms from one RTI system.
Play, pause, stop, skip, fast-forward, rewind, and jump to any point in a track.
Volume up, down, set to a specific level, and mute.
Shuffle and repeat.
Full now-playing info: track, artist, album, length, time so far, progress bar, and album artwork.
Browse the full library and search across everything Roon sees, including TIDAL and Qobuz.
Play Now, Play Next, Add to Queue, and Replace Queue from any browse item.
Room grouping — link rooms together to play the same music in sync; unlink to send a room back to its own music.
Automatic reconnection if the Roon Core restarts or the network drops.
Room assignments stay stable across grouping, Core restarts, and processor reboots.
One-time pairing — once approved in Roon, the driver stays paired forever.
Friendly room names used throughout the touchscreen interface.
Supported Roon Core Hardware
The driver works with any Roon Core, regardless of what it's running on. This includes:
Roon Nucleus, Nucleus+, Nucleus Titan
Innuos Zen, Zenith, Statement, Pulsar, Pulse
Oladra music servers
Roon Server or Roon running on Windows, Mac, Linux, or a NAS
DIY builds (Intel NUC etc.) running Roon Core
Roon version 2.0 or later is required (tested against Roon 2.64). Any audio device Roon supports will work: Roon Ready devices, Chromecast, AirPlay, Sonos, HomePod, Squeezebox, USB and analogue outputs.
Support
Support is handled by Habitech Ltd
Please have the subject of the email titled - RTI Driver <driver name>
For example, RTI Driver - Roon to RTI@Habitech.co.uk
Roon Labs Roon Core RTI Driver Instructions
Roon Labs | Roon Core | IP Only
Introduction
Roon is a high-end music platform that brings a customer's own music library together with streaming services like TIDAL and Qobuz. It runs on a server, PC, NAS, or dedicated music server (the "Core") and streams music to audio devices around the home. This driver turns an RTI control system into a full remote for Roon — the customer can browse their library, search, play and pause music, change the volume, group rooms together, and see what's playing in each room, all from their RTI remotes and touchscreens. Up to 16 rooms can be controlled.
Version History
Version 1.03
Group presets now group all the selected rooms in one go. Previously only the last room in the preset list ended up grouped with the primary room.
Version 1.02
Fixed the Home and Back buttons when browsing Artists, Albums or Composers so they return to the previous list instead of needing the programming to be reloaded.
Repeat On status variable now updates reliably so the repeat button can show its active (highlighted) state.
Version 1.01
Added a Repeat On status variable for highlighting the repeat button whenever repeat is active (any mode).
Version 1.00
Initial release. Multi-room playback, volume, shuffle, repeat, library browsing, search, now-playing with artwork, room grouping.
Driver Features
Control up to 16 Roon rooms from one RTI system.
Play, pause, stop, skip, fast-forward, rewind, and jump to any point in a track.
Volume up, down, set to a specific level, and mute.
Shuffle and repeat.
Full now-playing info: track, artist, album, length, time so far, progress bar, and album artwork.
Browse the full library and search across everything Roon sees, including TIDAL and Qobuz.
Play Now, Play Next, Add to Queue, and Replace Queue from any browse item.
Room grouping — link rooms together to play the same music in sync; unlink to send a room back to its own music.
Automatic reconnection if the Roon Core restarts or the network drops.
Room assignments stay stable across grouping, Core restarts, and processor reboots.
One-time pairing — once approved in Roon, the driver stays paired forever.
Friendly room names used throughout the touchscreen interface.
Supported Roon Core Hardware
The driver works with any Roon Core, regardless of what it's running on. This includes:
Roon Nucleus, Nucleus+, Nucleus Titan
Innuos Zen, Zenith, Statement, Pulsar, Pulse
Oladra music servers
Roon Server or Roon running on Windows, Mac, Linux, or a NAS
DIY builds (Intel NUC etc.) running Roon Core
Roon version 2.0 or later is required (tested against Roon 2.64). Any audio device Roon supports will work: Roon Ready devices, Chromecast, AirPlay, Sonos, HomePod, Squeezebox, USB and analogue outputs.
Limitations
Maximum of 16 rooms can be controlled from one RTI system.
Wake / Standby (power on / off) only works on devices that tell Roon they support it — typically dedicated Roon Ready streamers like the Nucleus or certain DACs. Most AV receivers (Arcam, Denon, Marantz, NAD) and devices connected through Chromecast, AirPlay, or UPnP do not let Roon control their power. For those rooms, use the manufacturer's own RTI driver, an IR trigger, or an RS-232 driver alongside this one (Roon plays the music; the other driver handles power).
Roon's DSP settings, Roon Radio, and volume limits cannot be changed from the RTI remote.
The Roon Core IP address has to be entered by hand — automatic network discovery is not supported.
Roon itself needs an active subscription or trial. The driver cannot sign in or manage the Roon account.
Before You Begin
1. Install Roon Server (or Roon) on the Core machine and make sure it is running.
2. Make sure the Roon Core is reachable on the local network from the RTI processor (same network, and a reserved or static IP is strongly recommended so the address doesn't change).
3. Note the Core's IP address — find this in the Roon app under Settings → About.
4. Make sure at least one room is set up in Roon and you can play music from the Roon app before adding the driver.
Driver Configuration
1. In Integration Designer, add the Roon Labs Roon Core driver to the workspace.
2. Under the driver's Sources section, add one Zone source for each Roon room you want to control (up to 16).
3. In the driver properties, set:
Roon Core IP Address: the IP address of the machine running the Roon Core.
Roon Core Port: leave at the default of 9150 unless the Roon Core has been changed to use a different port.
Reconnect Interval: how many seconds to wait between reconnection attempts if the connection drops. Default 10 is fine for most installs.
Zone N Name: a friendly name for each room. See "Room Naming" below — matching the name Roon uses gives the most reliable setup.
Cover Art Size: the size of album artwork the driver asks Roon for. 480 x 480 is the default and works well for most touchscreens.
4. Download the project to the RTI processor.
Room Naming (Important)
The driver automatically matches each RTI room slot to the correct Roon room. It uses three strategies, in order of priority:
1. Name match — the Zone N Name typed in the driver config is matched against Roon's own room names (case doesn't matter, and partial matches work too).
2. Remembered pairing — if the name doesn't match anything, the driver uses the pairing from the last successful session, which is saved on the processor.
3. Discovery order — as a last resort, whatever order Roon happens to report rooms in.
For the cleanest setup, give each Zone Name the same name the customer uses in Roon for that output (find it in the Roon app under Settings → Audio). The driver will then pair up correctly every time — even if Roon restarts and reports rooms in a different order. Partial matches are fine too: a Zone Name of "Kitchen" will correctly pair with a Roon room called "Kitchen Sonos" or "Dan's Kitchen".
The pairing is also stable across room grouping. When two rooms are linked and then unlinked in Roon, the driver keeps each RTI slot pointing at the right physical device.
Pairing with Roon (first connection)
The first time the driver connects to the Roon Core, Roon will ask the customer (or the dealer during commissioning) to approve it. This only happens once per Core.
1. Open the Roon app (on any phone, tablet, or PC).
2. Go to Settings → Extensions.
3. You will see "RTI Control" listed. Click Enable.
The driver now has full access and will reconnect automatically from then on without needing approval again, even after Core or processor reboots.
Note: if the customer later swaps their Roon Core to different hardware (e.g. laptop → Nucleus), the new Core will treat the driver as new and ask for approval again on first connect.
Choosing Which Categories Appear in the Browser
Roon's root browse list normally includes Artists, Albums, Tracks, Composers, Genres, Compositions, Tags, Playlists, Internet Radio, TIDAL, Qobuz, Queue, Settings, and the Library shortcut. Not all customers want to see every one of these on their touchscreen.
The driver properties include a Browse Categories section with a checkbox for each of the above. Tick the ones you want visible; untick the ones you want hidden. Defaults are sensible: everything is shown — except Settings, which is off by default (Roon's Settings menu isn't something the customer should be tapping from the remote).
This only affects what the RTI touchscreen shows — nothing is changed in Roon itself. If the customer has neither TIDAL nor Qobuz, those entries will also not appear regardless of the checkboxes.
Using the Library Browser
The driver automatically fills the library browser on each touchscreen as soon as it connects to Roon, so the Music Player template works out of the box once the list is wired up correctly (see below).
The browse feedback is:
Browse List: the scrollable list of items at the current level. Bind to a List control's List property.
Browse Title: the name of the current level (e.g. "Library", "Artists", "Taylor Swift"). Bind to a text label.
Browse Back Text: same data as Browse Title, tagged "Browse Back" so the default Music Player template's back-label autofills with the current level name.
Browse Item Count: number of items in the current level.
Use the Browse functions to navigate:
Browse Library: go back to the top level of the library.
Select Item: drill into whatever the customer tapped in the list. Bind this to the list control's Command property. The list passes the tapped row automatically.
Browse Back: go up one level.
Browse Home: return to the top of the library.
Search: type a search term to look across everything Roon has.
Show Queue: view what's queued up to play.
Play Now: start playing the selected item immediately.
Play Next: queue the item to play next.
Add to Queue: add to the end of the queue.
Replace Queue: clear the queue and play just this item.
Important: when wiring up a list on a touchscreen page, make sure its Command is bound to Select Item, NOT Browse Library. Browse Library only opens the library root — it doesn't drill into a tapped item. If autoprogramming sets this wrongly, open the list's Tag Editor and change the Command to Select Item with Index = < dynamic >.
Queue Display
Each room has a live Queue List feedback showing the next 20 tracks that are queued up to play. The list updates in real time as tracks are added, removed, or played.
To wire this on a zone page: drop a List control, bind its List property to Queue List, and bind its Command property to Queue Jump (with Index = < dynamic >). Tapping any row will skip straight to that track. Done.
Custom Keyboard for Search
The driver includes a full set of keyboard helpers so the dealer can build an on-screen search keyboard on any touchscreen. The customer taps a "Search" item in the browse list, a keyboard overlay appears, they type their query and hit Enter, results land in the browse list.
Sysvars to bind:
Search Active (boolean) — flips true when the customer taps a search entry. Bind this to the keyboard overlay's Visible property so it appears on demand.
Search Prompt (string) — label Roon gave the search (e.g. "Search", "Search TIDAL"). Bind to a label above the keyboard.
Search Buffer (string) — what the customer has typed so far. Bind to a text field above the keyboard.
Functions to wire to buttons:
Search Key — one for each letter/number/space/punctuation, set the character from the dropdown. If using RTI's standard keyboard template, these will autoprogram against KP_A..KP_Z / KP_0..KP_9 / KP_SPACE buttons.
Search Key - Extended — same idea but for accented European characters (Å Ä Ö Ø Æ Ü ß and many more covering Swedish, Danish, Norwegian, Finnish, German, French, Spanish, Polish, Czech and Slovak). No autoprogramming — build a second keyboard panel and wire each button to the matching character. Both functions append to the same search buffer, so customers can flip between panels mid-query (e.g. type "Bj" on Search Key then "ö" on Extended then "rk" back on Search Key).
Search Backspace — removes the last character. Tagged KP_BACK.
Search Clear — empties the buffer. Tagged Clear.
Search Submit — submits the typed text to Roon, clears Search Active. Tagged Enter.
Close Search — aborts without submitting. Tagged Close Search.
The search request uses whichever entry the customer originally tapped — so searching from TIDAL searches TIDAL, not the whole library.
Room Grouping
The driver supports linking rooms so they play the same audio in sync (this is called "grouping" in Roon). Ideal for parties or whole-home listening.
Link Zones (Primary Zone, Add Zone): groups the two selected rooms. Both rooms play the same thing from that point on. The primary room's music takes over.
Unlink Zone (Zone): takes this room out of any group it's in. It goes back to being its own room, returning to whatever it was playing before. Any other rooms in the group stay grouped together.
To build a whole-home group across three or more rooms, chain Link Zones calls in a macro:
Link Zones: Living Room + Kitchen
Link Zones: Living Room + Bedroom
Link Zones: Living Room + Dining Room
Each call adds another room to the existing group. All rooms stay in sync with the Living Room.
Each room also has an "Is Grouped" feedback — useful for showing a "Linked" indicator on that room's page when it's currently part of a group.
Per-Room Feedback
Each room exposes a full set of feedback that updates in real time:
Track Title, Artist, Album, Now Playing (One Line): the current track.
Cover Art: album art (bind to an image control).
Duration, Position, Progress, Time Elapsed, Time Total: where in the track the customer is.
Play State: whether the room is Stopped, Playing, Paused, or Loading (as a number and as readable text).
Is Playing, Is Paused: for button highlighting.
Shuffle, Repeat: current mode.
Repeat On: on/off status for highlighting the repeat button (on for any repeat mode).
Queue Remaining: number of tracks still to play.
Volume Level: 0 to 100 — for sliders.
Volume dB: the raw decibel level as text (for display).
Muted: mute status.
Is Grouped: on when this room is currently linked with one or more others.
Zone Name: the name of the Roon room this slot currently represents.
Global room-name feedback (under Variables → Zone Names) exposes Zone 1 Name, Zone 2 Name, and so on, for use on any page — not just a room's own page. Useful for whole-home pages and room picker menus.
Connection Indicator (Recommended)
The driver has global Connected and Disconnected feedback (under Variables → Connection) that flip instantly whenever the driver loses or re-establishes its link to the Roon Core. Typical uses:
Show a "Reconnecting to Roon..." overlay by binding a graphic's Visible property to Disconnected.
Grey out transport buttons by binding their Inactive property to Disconnected.
Show a small connection status icon, binding its visibility or colour to Connected.
This gives the customer clear feedback if Roon is temporarily unavailable (e.g. Core rebooting, network hiccup). The driver reconnects on its own in the background — the customer doesn't need to do anything.
Events
The driver raises the following events that can be hooked into macros:
Connected / Disconnected: fires when the driver's link to the Roon Core comes up or drops.
Zone Changed: fires when rooms are added to or removed from Roon.
Track Changed (per room): fires when a new track starts playing in that room.
Playback Started (per room): fires when that room starts playing.
Playback Stopped (per room): fires when that room stops.
System Requirements
RTI Integration Designer 11.0 or later.
XP Processor firmware 23.5 or later.
Roon Server or Roon 2.0 or later, licensed with an active subscription or trial.
Roon Core reachable on the same network as the RTI processor.
Recommended: static IP or DHCP reservation on the Roon Core so its address doesn't change.
System Testing
Integration Designer: 11.11
XP Processor Model: XP-8, XP-6s
XP Processor Firmware: 25.3.24
Tested against: Roon Server 2.64 on Windows 11
Tested endpoints: Windows System Output, Android (UPnP), Arcam AVR30, SOtM sMS2000 music server
Tested control surfaces: Virtual Panel, IST 5, iPad RTiPanel
Support
Support is handled by Habitech Ltd
Please have the subject of the email titled - RTI Driver <driver name>
For example, RTI Driver - Roon to RTI@Habitech.co.uk