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
Trinnov AltitudeCI / Altitude 16 / Altitude 32
By: David Bowdler
Updated: May 30, 2026
Version: 0.17
Trinnov AltitudeCI / Altitude 16 / Altitude 32
Full RTI XP control driver for the Trinnov AltitudeCI (CI-16, CI-20, CI-32 and all output-count variants), Altitude 16 and Altitude 32 immersive audio processors. Implements the Trinnov Altitude Control Protocol over plain ASCII TCP on port 44100 — no proxy, no bridge, no extra hardware required. Power-on uses Wake-on-LAN; power-off uses the protocol’s built-in secured token.
Key Features
- Power: Power On via Wake-on-LAN magic packet; Power Off via the protocol’s secured token — no IR blaster required
- Volume / Mute / Dim / Bypass: Full real-time feedback on all four states; volume in dB with 0.5 dB steps, plus a percentage convenience sysvar
- Profile (Input Source) selection: 16 slots; names auto-populated from the Trinnov device after connection and shown as a labelled dropdown in Integration Designer macros
- Preset (Room Correction) selection: 16 slots; names auto-populated from the device and shown as a labelled dropdown in macros
- Upmixer mode: Auto, Native, Dolby Surround, DTS Neural:X, Auro-3D — with live feedback and single-drop Upmixer tag for list-widget wiring
- Remapping mode: None, 2D, 3D, Autoroute, Manual — with live feedback and single-drop Remapping tag
- Audio format readout: Live decode of incoming stream format (Dolby Atmos, DTS:X, Dolby TrueHD, DTS-HD MA, Dolby Digital Plus, PCM, etc.) plus AudioPlayable / AudioNonAudio boolean sysvars
- Web Object UI: Full browser-based control surface hosted by the driver on port 9041 — Profiles, Presets, Volume, Mute/Dim/Bypass, Upmixer, Remapping, Status panel, theme picker
- Browse Menu: Hardware-remote-friendly list UI for ISR-4 and T-class remotes with active-state markers; 24 baked SVG icons, no CDN dependency
- Single-drop tags: Browse, Inputs, Preset, Upmixer, Remapping tags for instant list-widget wiring without building macros manually
- 200+ system variables: DisplayVolume, VolumeDb, VolumePct, DisplayVolumeText, UpmixerMode, RemappingMode, AudioFormat, CurrentProfileName, CurrentPresetName, ProfileName1–16, PresetName1–16, and more
- Trinnov phone app compatible: The Trinnov broadcasts state to all connected clients simultaneously — the driver and the Trinnov iPhone app run side by side with no conflict
Requirements
- Trinnov AltitudeCI (CI-16, CI-20, CI-32) or Altitude 16 / Altitude 32 running firmware with Altitude Control Protocol v1.15 or later
- RTI XP processor (runtime 24+, Integration Designer 11.4+)
- Network connectivity between the RTI processor and the Trinnov on the same subnet (Trinnov restricts the control protocol to the local subnet by design)
- MAC address of the Trinnov configured in Driver Properties (required for Wake-on-LAN power-on)
- Optional: a Web Object–capable touch panel or app to display the browser UI on port 9041
How It Works
Enter the Trinnov’s IP address and MAC address in Driver Properties. The driver connects over TCP port 44100 and the Trinnov begins pushing its full state — power, volume, mute, dim, bypass, current profile, current preset, upmixer mode, remapping mode and audio format — as a continuous stream. Profile and preset names arrive as a burst of labelled lines shortly after connection and populate 16 named sysvars each; the same names appear in Integration Designer’s macro parameter dropdowns so you can build “Switch to ROON” or “Load Reference” steps without typing numbers. Drop the Browse tag on a list widget for hardware-remote navigation, or open the Web Object on any browser for a full touch panel. Wake-on-LAN handles power-on; the secured protocol token handles power-off.
Trinnov AltitudeCI / Altitude RTI Driver
Version 0.17
Supported Devices
- Trinnov AltitudeCI (all output-count variants: CI-16, CI-20, CI-32, etc.)
- Trinnov Altitude 16
- Trinnov Altitude 32
- Any Trinnov processor running the published Altitude Control Protocol v1.15+
The driver communicates via plain ASCII TCP on port 44100. Make sure the RTI processor and the Trinnov are on the same subnet (Trinnov restricts this protocol to local-subnet by design).
Setup
1. In Driver Properties set the Trinnov's IP address and its MAC address (the MAC is required for Wake-on-LAN power-on – the Trinnov's TCP stack is off when the device is off, so WoL is the only remote-on path).
2. Leave TCP port at 44100 unless your firmware reports otherwise.
3. Optionally set a Client Identifier to distinguish this controller in the Trinnov's logs (just a label – any string).
4. Save and send to processor. The driver auto-connects and the device starts pushing state.
What's New in v0.9
- Audio format / upmixer parsing fixed. Real Trinnov firmware sends the DECODER message as one space-separated line ("DECODER NONAUDIO 0 PLAYABLE 1 DECODER TrueHD UPMIXER none"). Earlier driver versions expected an underscore between DECODER and NONAUDIO and dumped the whole thing into AudioFormat – leaving UpmixerMode blank. Fixed. AudioFormat now contains just the decoder name (e.g. "TrueHD"); UpmixerMode contains just the upmixer (e.g. "none").
- New audio sysvars exposing the previously-buried PLAYABLE / NONAUDIO flags: AudioPlayable (boolean), AudioNonAudio (boolean).
- New volume sysvars surfaced from previously-unhandled device pushes: DisplayVolume (the post-offset reading the OSD shows), DisplayVolumeText ("-40.0 dB" pre-formatted), VolumeOffset (per-profile dB offset), PresetOutputVolume (per-preset reference output level), MonitorVolume (monitor-bus level for stem-monitoring modes).
- New session sysvars: SRPID (device session identifier), LastOptSource (last optional-source slot reported via OPTSOURCE).
- New event: SOURCES_CHANGED – fires when the user reconfigures sources in the Trinnov GUI. Hook a macro to re-query catalogs if you cache them.
What's New in v0.8
- Labelled Profile + Preset dropdowns in macros. The "Select Profile" and "Load Preset" function parameters now show a labelled dropdown (HDMI 1, ROON, S/PDIF, etc.) instead of just an integer entry. Enter your profile + preset names in the new Profile Names and Preset Names config categories in Driver Properties – the driver also auto-queries the device's configured names into the ProfileName1..16 and PresetName1..16 sysvars after connect, so you can open the Web Object Status panel to see what the device has set and copy from there.
- Power-user fallbacks – "Select Profile (by number)" + "Load Preset (by number)" exported alongside the labelled variants for scripted / integer-input macros.
- Full buttontag pass across all functions + sysvars for two-way feedback wiring.
What's New in v0.5
- Web Object control surface – full browser UI for any phone/tablet at http://<processor-IP>:9041/. Includes Profiles + Presets with named labels, Volume slider + step buttons, Mute/Dim/Bypass toggles, Upmixer + Remapping selection, full Status panel, theme picker, hide/show sections.
- Browse Menu – hardware-remote-friendly list UI (works on ISR-4 / T-class remotes that don't render Web Objects). Same coverage as the Web Object with active-state markers on the currently-selected profile / preset / upmixer mode.
- 24 baked SVG icons – served by the driver itself, no external CDN. Works on air-gapped LANs.
- Trial-expiry gating – user-facing commands now respect the 120-minute trial. ForceReconnect / SendRawCommand stay available so a stuck driver can still be recovered on expired trial.
- Remote logging – optional cloud feed to shpdrivers.services for SHP to fault-find issues remotely (off by default).
Important Behaviour
Power-On is Wake-on-LAN. The Trinnov's TCP stack is completely powered off when the device is off, so a normal TCP command can't bring it back. The driver sends a Wake-on-LAN magic packet to the configured MAC address. Make sure the Trinnov's network port is on a switch that doesn't disable on idle.
Power-Off uses a fixed secured token. The protocol requires the literal string "power_off_SECURED_FHZMCH48FE" to power down. This is hard-coded in the driver – it's a fixed token in Trinnov's protocol, not a negotiated value, and is the same on every Altitude unit. The driver sends this when you call the Power Off function.
Label catalogue arrives asynchronously. Profile (input) and Preset (room correction) names are pushed by the device as a burst of "PROFILE N: name" and "LABEL N: name" lines shortly after connection. The driver builds named sysvars (ProfileName1, ProfileName2... PresetName1, PresetName2...) from this catalogue. Until the catalogue arrives the sysvars fall back to generic "Profile N" / "Preset N" text – normally resolves within a couple of seconds of boot. The Web Object and Browse Menu auto-refresh once the names arrive.
Volume is in raw dB, not 0-100. Trinnov's volume scale runs from the system-configured maximum (typically 0 dB) down to -120 dB in 0.5 dB steps. The VolumeDb sysvar reads the raw dB value; VolumePct is a convenience approximation (linear from -80 to 0 dB). For slider widgets bind to VolumeDb and use the VolumeUp / VolumeDown functions, which step in 0.5 dB increments.
Multiple concurrent clients are fine. The Trinnov broadcasts state to every connected client. You can run this driver alongside the Trinnov iPhone app and the front-panel Web UI with no conflict.
Touchpanel Wiring – Web Object
1. In Integration Designer, drop a Web Object widget on your panel.
2. Set its URL to http://<processor-IP>:9041/ (where 9041 is cfgWebUIPort).
3. Optionally bind the widget's visibility to the WebObjectVisible sysvar so a panel button can open/close it. Use the Show Web Object / Hide Web Object / Toggle Web Object exported functions to drive it from macros.
Touchpanel Wiring – Browse Menu (for hardware remotes)
1. Drop a List widget on your panel and bind it to the BrowseList sysvar.
2. Wire the list's selection action to the Browse Select (index) function. Pass the selected list index as the parameter.
3. Wire your remote's BACK / EXIT key to the Browse Back function.
4. Optionally bind a text label to the BrowseTitle sysvar to show the current menu's title above the list.
5. The menu starts on Home. From Home: Power, Profiles, Presets, Volume & Mute, Upmixer, Remapping, Status. Each sub-menu has a "Back" row at index 0.
Touchpanel Wiring – Inputs / Presets as Named Lists
If you don't want the full Browse Menu and just want simple selection lists:
1. Drop a list widget on your panel.
2. To populate with named profiles (input sources), in your macro logic iterate ProfileName1 through ProfileName16 and add non-empty ones to the list. Wire selection to call Select Profile with the corresponding profile #.
3. Same pattern for PresetName1..PresetName16 – selection calls Load Preset.
4. The CurrentProfileName / CurrentPresetName sysvars carry the active item's text – bind to a label widget for live readout.
Touchpanel Wiring – Current Audio Format
Bind a text label to the AudioFormat sysvar. The Trinnov pushes a new value whenever the incoming content format changes (Dolby Atmos, Dolby TrueHD, DTS:X, DTS-HD MA, Dolby Digital Plus, PCM, etc.).
Debug Console (TCP 12516)
A telnet-style debug console is built into the driver. Connect any telnet client to your processor on port 12516 (configurable). Commands: status, profiles, presets, connect, tx <command>, version, mac, rlog, rlog test, plus arbitrary JavaScript evaluation. Useful for live state inspection without needing TraceView.
Remote Logging (Development)
For SHP to fault-find issues remotely, the driver can stream its log output to shpdrivers.services. Set Enable Remote Logging to true in Driver Properties. SHP can then view the live log feed at https://shpdrivers.services/dev-logs/trinnov-ci/<your-MAC>/view
This is OFF by default – only enable when explicitly requested by SHP for diagnostics.
Licence
The driver runs in 120-minute trial mode without a licence key. To purchase: visit smarthomeprogramming.com.au and select the Trinnov CI driver. The licence is keyed to your processor's MAC address (one licence per processor). Paste the 32-character hex key into the Licence Key field in Driver Properties.
Support
- david@smarthomeprogramming.com.au
- smarthomeprogramming.com.au
Smart Home Programming
Australia
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