Driver Details

New Community

Yamaha DME

By: David Bowdler
Updated: Sept. 18, 2026
Version: 0.6
Download Driver Purchase License
Rating: 0.0 (0 ratings)
Log in to rate this driver

Yamaha DME

Full two-way IP control of Yamaha DME7, DME5 and DME3 digital signal processors over Yamaha’s native SCP protocol (TCP port 49280). Rather than hand-typing every zone, input, output and source, the driver reads the Remote Control Setup List exported from your ProVisionaire Design project and generates a matching command and feedback variable for every control in it automatically, with names pulled straight from your design. This is the first RTI driver for the DME family — RTI’s own catalogue covers the older MTX/MRX generation, which uses a different, incompatible addressing scheme and cannot control a DME.

Key Features

  • Automatic control surface from your design: import the ProVisionaire Setup List CSV once and every zone, input, output and source—plus their tags—are generated and ready to drag onto a panel. No manual per-parameter configuration.
  • Genuine two-way feedback, no polling loop: the DME pushes an unsolicited notification the instant any parameter changes, from any source—a wall panel, ProVisionaire, another control system or this driver—so RTI panels stay correct with zero added network traffic.
  • Zone control: level, on/off (mute), polarity, source select and per-source trim, per zone.
  • Input and output control: level, on/off and polarity for every imported channel.
  • Scene (snapshot) recall: scenes are discovered from the device with their names, recalled by number, and the driver automatically re-reads full state after a recall because the DME reports only the recall itself, not the parameters it moved.
  • Setup List verification: on connect the driver asks the device to describe every imported parameter and compares it against the CSV, so an installer is warned—via a Setup List Valid variable and a dedicated event—the moment a ProVisionaire edit has renumbered the list, instead of silently controlling the wrong parameter.
  • One tag wires command and feedback together: every control publishes its command and its live feedback on the same RTI tag, so a single drag from the Tag Browser wires both.
  • Paired inverted booleans: because RTI layer visibility can only test for true, every state the driver publishes also ships an inverted companion (On alongside Muted, Polarity Normal alongside Polarity Inverted) so layers can be shown on either condition with no macro workaround.
  • Telnet diagnostics console: live zone/device status, raw parameter get/set, scene listing and recall, and a protocol probe—all without opening Integration Designer.

Requirements

  • A Yamaha DME7, DME5 or DME3 processor reachable on the same network as the RTI processor, TCP port 49280 (default).
  • A ProVisionaire Design project with a Remote Control Setup List built and synchronised to the device, then exported to CSV—the driver is configured entirely from this file.
  • RTI XP processor (runtime 24+, software 11.4+, Integration Designer 11.4+).
  • A per-processor licence key from Smart Home Programming to unlock control after the built-in trial.

How It Works

Enter the DME’s IP address, then browse to the exported Setup List CSV in Driver Properties. Selecting it generates every function, feedback variable and tag for the project and reports what it found. Up to 16 zones, 32 inputs, 16 outputs, 16 sources per zone and 32 scenes are recognised as named, fully-tagged controls; anything beyond those limits is still imported and controllable as a plain indexed control. From then on the DME drives the panels itself—every change on the device, whoever made it, arrives as a push notification and updates RTI immediately, with no configured polling required. If the ProVisionaire project is edited later, re-exporting and re-importing the CSV keeps the driver and the DSP in step, and the built-in Setup List verification tells you if that step has been missed.

Yamaha DME Control Driver

Version 0.6

Two-way IP control for Yamaha DME7 / DME5 / DME3 digital signal processors over the Yamaha SCP protocol (TCP port 49280).

What the driver controls

The driver does not assume a particular design. It reads the Remote Control Setup List exported from your ProVisionaire Design project and generates a command plus a matching feedback variable for every control in it: input and output channel Level, On/Off (mute) and Polarity; zone Source select, Level, On/Off, Polarity and the per-source trim; and scenes (snapshots), discovered from the device itself.

Up to 16 zones, 32 inputs, 16 outputs, 16 sources per zone and 32 scenes. Anything beyond those limits is still imported and controllable, but as a plain indexed control rather than a named zone or channel. Import Summary tells you if that happened.

Setting up

1. Prepare the device

- In ProVisionaire Design, build the Remote Control Setup List (Compile, then Remote Control Setup List), adding every parameter you want RTI to control.

- Synchronise the project so the list is live on the DME.

- Export the list to CSV (Export CSV in the same dialog). Keep that file - the driver is configured from it.

2. Add the driver in Integration Designer

- Enter the DME's IP Address. Leave Port at 49280 unless you have changed it on the device.

- In Parameter CSV File, browse to the CSV. Selecting it generates every function, feedback variable and tag for your project, and Import Summary reports what it found.

- Leave Verify Setup List on Connect (Options) switched on - it catches a CSV that no longer matches the DSP.

- Re-import at any time from the right-click menu: Import DME Parameter CSV.

3. Name things (optional but recommended)

- Zone Names come from the ProVisionaire component name where that name is meaningful, and can be overridden here.

- Input, Output and Source Names can only be typed here: a multi-channel fader carries one name for all its channels, so there is nothing per-channel in the CSV to read. Blank falls back to Input 1, Source 1 and so on.

- Name fields are shown for all 16 zones, 32 inputs, 16 outputs and 16 sources whatever your project contains. Filling in one for something your Setup List does not have has no effect.

- Editing a name regenerates the tags immediately, so "Restaurant Volume Up" becomes a tag you can drop onto a button.

Keeping the driver and the DSP in step

The Setup List number is the address the driver sends. Add, remove or reorder rows in ProVisionaire and every row after the change is renumbered - the DME accepts the old numbers and moves the wrong parameters, with no error anywhere.

Re-export the Setup List and re-import it after any change to the ProVisionaire project, however small. Adding rows to the end is safe; inserting them in the middle is not.

The driver checks this for you. With Verify Setup List on Connect enabled (the default) it asks the DME to describe every imported index at connect, and compares that against what the CSV claimed - parameter kind (level, on, polarity, source), minimum, maximum and value scale. It is throttled and runs after the connect burst, so it costs nothing noticeable: about five seconds for ninety indices on a DME3, with control and feedback unaffected. Results appear in two variables:

- Setup List Valid - boolean, true when everything matches

- Setup List Status - text, e.g. "OK - 92 indices match the imported CSV"

A mismatch is logged loudly and fires the SETUP_LIST_MISMATCH event. Where the DSP design may be edited after commissioning, bind Setup List Valid somewhere a technician will see it, or wire that event to a warning. The discipline is unchanged, but the driver now tells you when it has been forgotten instead of quietly controlling the wrong parameters.

Wiring the user interface

Every control gets a command and a feedback variable on the same tag, so one drag from the Tag Browser wires both:

- Zone 1 On, Zone 1 Off, Zone 1 Mute, Zone 1 Volume Up, Zone 1 Volume Down, Zone 1 Volume

- Zone 1 Source 3 (and Zone 1 <source name> once sources are named)

- Zone 1 Source Trim, Zone 1 Source Trim Up, Zone 1 Source Trim Down

- Input 5 Volume, Input 5 Mute, Input 5 Polarity; Output 2 Volume, Output 2 Mute

- Scene 1, Scene 2 ... for snapshot recall, plus Scene 1 Name for the label

Friendly-name equivalents are generated alongside the numbered ones, so both Zone 1 Volume and Restaurant Volume appear.

Numbered tags are stable; friendly-name tags are not. Restaurant Volume exists only while zone 1 is called Restaurant - rename the zone and any button on the old tag is orphaned. Use friendly tags to find things while you build; prefer numbered tags on anything you intend to keep.

Choosing the right tag

Similar tag names do different jobs, and the wrong one on a slider is the commonest wiring mistake on this driver. Each level publishes two tags and they are not interchangeable:

- Zone 1 Volume carries the 0-100 percentage and the Set Volume command. This is the one for a slider or level bar.

- Zone 1 Volume Text carries the formatted string, such as "-12.5 dB". Readout only - put it in a button's text (Edit Button Text, click the tag token, Edit Tag), never on the button itself.

The Text tag on a slider does not fail visibly: the slider cannot turn a dB string into a handle position, so the handle sits at the bottom and the first drag sends 0 percent, which mutes the zone. A slider that reads zero and mutes the moment you touch it is wired to the Text tag.

Source selection has three similar names:

- Zone 1 Source 3 - a discrete "select source 3" button that lights when source 3 is selected. This is the one for a source button.

- Zone 1 Source - the source number as a value, with a picker command behind it. For a list or a macro.

- Zone 1 Source Name - the selected source's name. A readout; like Volume Text it belongs in a button's text.

Zone 1 Volume Up and Down repeat while held, so they ramp rather than stepping once - at the default Volume Step (dB) of 1 dB, roughly 3 dB per second. Raise Volume Step in Options for a faster ramp. The same applies to the Source Trim Up and Down pair. Set Volume dB deliberately has no tag, so the Volume tag can only ever mean one thing; it is still available in a macro.

Levels are a dB scale, not a loudness percentage

The 0-100 slider maps -60.0 dB at 0 percent to the parameter's maximum (normally +10.0 dB) at 100 percent. So unity gain, 0.0 dB, sits at about 86 percent - not halfway - and 50 percent is about -25.0 dB, which sounds very quiet. Dragging to 0 percent is a genuine mute, not -60 dB. This is normal for a DSP fader, not a calibration fault: a room at a sensible level usually sits in the 70s or 80s.

Zone Source Trim is per SOURCE

Zone 1 Volume is the zone master - how loud the room is. Zone 1 Source Trim is different: it is the level of whichever source is currently selected in that zone, and the DME stores a separate trim for every source. It is not one number per zone; it is one per source, per zone.

So the trim changes on its own when the zone changes source. Select the TV and a trim slider jumps to the TV's stored value; select the microphone and it jumps again, and Trim Up and Down then move that source only. This is correct behaviour, not a feedback fault.

It is also the useful part: set each source's trim once so the sources match each other - pull a loud TV feed down, bring a quiet music player up - and the DME remembers each one. The zone Volume then controls the room and it stays balanced whichever source plays. If you put a trim on a panel, label it for what it is ("Selected Source Trim") and show the selected source beside it with Zone 1 Source Name. A slider that jumps with no explanation on screen will be reported as a bug.

Polarity is a phase invert, not a mute. It is published separately from On/Off for that reason - do not wire it to a power button.

Showing and hiding layers

A dropped tag gives a button its command and colour feedback. To show or hide a layer, bind the driver's boolean to the layer's Visibility Variable by hand, or to the button's Visible slot. Useful ones:

- Zone 1 Muted - a "muted" overlay on a zone strip

- Zone 1 Source 3 Active - controls or artwork for whatever is on source 3

- Scene 2 Active - a page or badge for a particular scene

- Connected - hide the DME page when the DSP is unreachable

- Setup List Valid - a warning banner when the CSV no longer matches the DSP

RTI layer visibility can only test for true. Where you need the opposite the driver publishes the inverse as its own variable - Zone 1 On alongside Zone 1 Muted, Zone 1 Polarity Inverted alongside Zone 1 Polarity Normal.

Feedback

The DME pushes a notification whenever any parameter changes, whoever changed it - a wall panel, ProVisionaire, another control system or this driver. Feedback is immediate and needs no subscription or configuration. Poll Interval (default 60 seconds) is only a safety net in case a message is ever missed; there is no need to lower it, and doing so adds traffic for no benefit.

Scenes (snapshots)

Snapshots are discovered from the device on connect, names included, and published as Scene 1..N. Current Scene and Current Scene Name track which is active, including recalls made outside RTI.

A recall moves many parameters at once, but the DME announces only the recall - it sends no notification for any parameter it moved. The driver therefore re-reads its whole state automatically about a second after any recall, its own or someone else's, so feedback takes a moment to settle after a scene change. That is normal, and it is why levels are briefly stale rather than wrong.

The DME also reports a snapshot as "unmodified" after levels have been moved away from it, so Current Scene can show a scene as active when the system no longer matches it. Device behaviour, not a feedback fault.

Licensing

The driver runs for 120 minutes in trial mode, then control commands stop working until a licence key is entered. Feedback continues either way. The licence is per processor, tied to its MAC address, which the driver reports in the MAC For Key variable and in the debug console with mac. Send that address to obtain a key, then paste it into Licence Key.

Diagnostics

A telnet console is available on port 12537 (configurable; 0 disables it). Type ? or help for the full list. The useful ones:

- status - connection, device, object counts, licence state

- zones - every zone with its resolved indices and live values

- map - the imported control map; scenes / scene <n> - list and recall snapshots

- zone <n> on|off|tog|up|down|<pct>% - drive a zone with no panel wired (also in / out)

- src <zone> <n> - select a source

- get <index> / set <index> <value> - raw parameter access

- prminfo <index> - ask the device to describe a parameter (range, unit, scale)

- poll / reconnect / rescan - refresh, reconnect, or re-scan snapshots

- mac / licence - the address needed for a key, and the licence state

Two DMEs on one processor. Give each instance a different Debug Console Port and Device Label. Two instances left on the default port will not both open - the second reports that it is listening when it is not, and its log lines are indistinguishable from the first one's.

Debug Level (hidden category) controls how much the driver writes to TraceView. Leave it at Info; Trace logs every message to and from the device.

Troubleshooting

Nothing responds, Connection Status says "Connecting". Check the IP address and that the processor and DME are on the same network. SCP has no login, so there is no password to get wrong.

Connected, but commands do nothing. Usually the CSV has not been imported. Re-export the Setup List and re-import it; Import Summary reports how many controls were found.

A control moves the wrong thing, or Setup List Valid is false. The Setup List was edited and its rows renumbered, so the driver is sending the old numbers and the DME is accepting them. Re-export and re-import; Setup List Status names how many indices disagree.

A slider sits at zero and mutes the zone when touched. It is bound to the "... Volume Text" tag, which is a string. Rebind it to "... Volume" and put the Text tag in the button's text instead.

The slider reads 85 percent, or the trim jumps when the source changes. Both are expected - see "Levels are a dB scale" and "Zone Source Trim is per SOURCE" above.

Feedback stopped after updating the driver. The driver caches your CSV and rebuilds the tags when the project is opened. If it ever does not, use the right-click item Rebuild DME Tags (cached CSV), or re-import the CSV.

A control works from one button but not another. If the Setup List holds the same parameter twice at different index numbers, the device only reports changes against the lower one. The driver binds both to the same feedback automatically, but removing the duplicate rows keeps the list clean.

The DME stops answering. A DME accepts a limited number of simultaneous control connections, and the published limit is eight. Check whether ProVisionaire or another control system is holding sessions open.

Support

Smart Home Programming

Email: david@smarthomeprogramming.com.au

Web: https://smarthomeprogramming.com.au

This driver requires a licence key tied to your RTI processor’s MAC address.

  • Trial: 120-minute fully functional trial — no key required
  • Purchase: Visit https://smarthomeprogramming.com.au/store/ to buy a licence
  • Licence is per-processor — one key per XP processor
  • After the trial: only control commands are blocked — feedback keeps running either way, so the UI still shows live device state
Please log in to leave a comment.
Loading comments...