Lyngdorf Audio TDAI-1120 External Control Manual

August, 2022

Introduction

The purpose of this document is to describe how the external control interface of the device works.

Home Automation System Integration

The Lyngdorf Audio TDAI-1120 is compatible with home automation systems via the network connectors on the rear socket panel and over WiFi. The TDAI-1120's IR and trigger connections can also be programmed for use in a home automation system.

Control Via Network

Open a TCP connection on port 84 and use the control protocol as described in this document. For control from a PC, use Telnet, Putty, or similar programs to open the TCP connection.

If you do not know the IP address of the TDAI-1120 on your local network, the TDAI-1120 supports Apple's Bonjour Discovery service, which must be on the computer you want to set up the TDAI-1120 with. The software is built-in as part of the Apple OS X operating system. For Windows operating systems, the software can be found at http://www.apple.com/support/bonjour/.

The control protocol is announced via bonjour as the service "slactrl".

The TDAI-1120 can also be controlled via the network by accessing http://TDAI-1120.local in your browser.

Control Protocol

Commands

Every command starts with '!' character and ends with carriage return (ascii 0x0D, referred to in this document as <CR>). There are two types of commands: commands and status requests. Commands are used to emulate remote key presses or to set a certain volume etc. Status requests are used to query the current state of the controller (volume, current source etc.). Commands with invalid formats are simply ignored. For example, sending a command !VOL(100)garbage!MUTEON<CR> will only result in volume being muted, because volume command is not terminated properly.

Responses and Feedback Level

There are three levels of responsiveness, called feedback levels. Each level adds something new to the previous level. Feedback levels can be set from the control interface with command "!VERB(X)<CR>" (X can be 0, 1 or 2). All responses start either with '!' (status messages) or '#' (echo messages) and end with <CR>.

Feedback level 0: Data is sent only when data is requested by a status request command. For example, command "!VOL?<CR>" would return "!VOL(XXX)<CR>", where "XXX" would be current volume.

Feedback level 1: Data is sent whenever any status changes. The data format is the same as for responses to status request commands.

Feedback level 2: Each command is also echoed back with the '#' in front of the command instead of '!' character. For example, command "!VOL?<CR>" would return "#VOL?<CR>!VOL(XXX)<CR>".

Available Commands and Requests

Commands & Requests Return format Values Description
!AUDIOSTATUS? !AUDIOSTATUS ("Audiostring") - Audiostring is a string describing the current audio input.
!BAL? !BAL(balance) - Balance describes the balance setting in this range: L1 to L10: Balance is to the left. 0: Balance is centered R1 - R10: Balance is to the right
!BAL(balance) - Balance describes the balance setting in this range: L1 to L10: Balance is to the left. 0: Balance is centered R1 - R10: Balance is to the right Sets the balance trim setting
!BASS? !BASS(n) n = -12 to 12 (dB) Requests the current bass gain trim setting
!BASS(n) - n = -12 to 12 (dB) Sets the bass gain trim setting
!BASSFREQ? !BASSFREQ(n) n = 20 to 800 (Hz) Requests the current bass frequency trim setting
!BASSFREQ(n) - n = 20 to 800 (Hz) Sets the bass frequency trim setting
!DEVICE? !DEVICE(TDAI-1120) - Requests identifying information.
!IPWIFI? !IPWIFI(xxx.xxx.xxx.xxx) IP for the Wi-Fi interface. If not connected, the return value will be an empty string. Requests the IP of the Wi-Fi interface.
!IPWIRED? !IPWIRED(xxx.xxx.xxx.xxx) IP for the Ethernet interface. If not connected, the return value will be an empty string. Requests the IP of the Ethernet interface.
!MACWIFI? !MACWIFI(xx:xx:xx:xx:xx:xx) - MAC address for the Wi-Fi interface.
!MACWIRED? !MACWIRED(xx:xx:xx:xx:xx:xx) - MAC address for the Wired interface.
!MUTE? !MUTE(ON) or !MUTE(OFF) - Requests the current mute state.
!MUTE - - Toggles the current mute state. Same function as the mute button on the remote.
!MUTEON - - Mutes the amplifier.
!MUTEOFF - - Demutes the amplifier.
!NEXT - - Same function as the Next button on the remote control.
!OFF - - Turns the amplifier off.
!ON - NOTE: When TDAI-1120 is set for Deep Sleep Stand-by, you should send the command twice. Turns the amplifier on.
!PLAY - - Same function as the Play/Pause button on the remote control.
!PREV - - Same function as the Previous command on the remote control.
!PWR? !PWR(ON) or !PWR(OFF) - Requests the current power state of the amplifier.
!PWR - - Toggles power state of the amplifier. Same function as pressing the power button on the remote.
!RP? !RP(n) 0: Bypass 1-8: Focus positions 1 to 8 9: Global Requests the currently selected RoomPerfect position.
!RP(n) - 0: Bypass 1-8: Focus positions 1 to 8 9: Global Selects a new RoomPerfect position (if available)
!RPDN - - Selects previous RoomPerfect position. Same as pressing down-arrow on the remote.
!RPUP - - Selects next RoomPerfect position. Same as pressing up-arrow on the remote.
!RPLIST? !RPCOUNT(N) !RPNAME(a,"Name") !RPNAME(b,"Name") N is the total number of positions in the list. a, b etc are the numbers of the RoomPerfect Positions and Name is the corresponding name. One line will be send for each available position. Requests the index and name for each available RoomPerfect Position.
!RPNAME? !RPNAME(n,"Name") n is the current RoomPerfect position Name: A string with the name of the position. Requests the name of the currently selected RoomPerfect position.
!RPNAME(n)? !RPNAME(n,"Name") n is the number of the RoomPerfect position. Name: A string with the name of the position. If the requested position does not exist, Name will be an empty string. Requests the name of RoomPerfect position n.
!SRC? !SRC(n) n is the index of the currently selected source. Requests the currently selected source.
!SRCLIST? !SRCCOUNT(N) !SRCNAME(a,"Name") !SRCNAME(b,"Name") ... N is the total number of positions in the list. A, b etc. are the numbers of the sources and Name is the name of the source. One line will be send for each enabled source. Requests a list of all available and enabled sources.
!SRC(n) - n can be any index from the list returned by !SRCLIST? Selects the source n.
!SRCDN - - Selects the previous source. Same function as pressing "SRC -" on the remote.
!SRCUP - - Selects the next source. Same function as pressing "SRC +" on the remote.
!SRCNAME? !SRCNAME(n,"Name") n is the currently selected source. Name is the name of the currently selected source. Requests the name of the currently selected source.
!SRCNAME(n)? !SRCNAME(n,"Name") Name is the name of source n If the requested source does not exist or is disabled, Name will be an empty string. Requests the name of source n.
!STREAMTYPE? !STREAMTYPE(n) n is the current stream type playing. 0 = none 1 = vTuner 2 = Spotify 3 = Airplay 4 = uPnP 5 = USB File 6 = Roon Ready 7 = Bluetooth 8 = GoogleCast 9 = Unknown stream Requests the stream type being played.
!SWVER? !VER (Verstring) Verstring is a string describing the SW versions. Requests the current software version information.
!TREBLE? !TREBLE(n) n = -12 to 12 (dB) Requests the current treble gain trim setting
!TREBLE(n) - n = -12 to 12 (dB) Sets the treble gain trim setting
!TREBLEFREQ? !TREBLEFREQ(n) n = 1500 to 16000 (Hz) Requests the current treble frequency trim setting
!TREBLEFREQ(n) - n = 1500 to 16000 (Hz) Sets the treble frequency trim setting
!VERB? !VERB(n) n is the current VERBOSITY setting. See table for values. Requests the current verbosity setting.
!VERB(n) - n is the new verbosity level. See table. Sets a new verbosity level for the interface.
!VOI? !VOI(n) n is the currently selected voicing. Requests the currently selected voicing.
!VOI(n) - n is the voicing to select. Can be any value from the list returned by !VOILIST? Selects a new voicing.
!VOIDN - - Selects the previous voicing. Same function as pressing the left arrow on the remote.
!VOIUP - - Selects the next voicing. Same function as pressing the right arrow on the remote.
!VOILIST? !VOICOUNT(N) !VOINAME(a,"Name") !VOINAME(b,"Name") ... N is the total number of positions in the list. A, b etc. are the numbers of the voicings and Name is the name of the voicing One line will be send for each voicing. Requests a list of available voicings.
!VOINAME? !VOINAME(n,"Name") n is the currently selected voicing. Name is the name of the currently selected voicing. If the requested voicing does not exist, Name will be an empty string. Requests the name of the currently selected voicing.
!VOINAME(n)? !VOINAME(n,"Name") Name is the name of voicing n. Requests the name of voicing n.
!VOL? !VOL(n) -999 to 120 (steps of 0.1dB) Requests the current volume.
!VOL(n) - -999 to 120 (steps of 0.1dB) Sets the current volume to a new value.
!VOLCH(n) - -999 to 999 (steps of 0.1dB) Changes the volume by the requested amount.
!VOLDN - - Volume down (by 0.5dB).
!VOLUP - - Volume up (by 0.5dB).

IR Codes / TDAI-1120

Command NEC1 Code
Digit 10x10EF, 0x00FF
Digit 20x10EF, 0x01FE
Digit 30x10EF, 0x02FD
Digit 40x10EF, 0x03FC
Digit 50x10EF, 0x04FB
Digit 60x10EF, 0x05FA
Digit 70x10EF, 0x06F9
Digit 80x10EF, 0x07F8
Digit 90x10EF, 0x08F7
Standby0x10EF, 0x0FF0
Volume Down0x10EF, 0x10EF
Mute0x10EF, 0x13EC
Volume Up0x10EF, 0x1AE5
Digit 00x10EF, 0x30CF
SRC Down0x10EF, 0x31CE
SRC Up0x10EF, 0x32CD
Play0x10EF, 0x50AF
Repeat0x10EF, 0x54AB
Shuffle0x10EF, 0x56A9
Previous0x10EF, 0x57A8
Next0x10EF, 0x58A7
Power On:0x10EF, 0x807F
Power Off:0x10EF, 0x817E
Input Dig 1 Coax0x10EF, 0x916E
Input Dig 2 Coax0x10EF, 0x926D
Input Dig 3 Opt0x10EF, 0x936C
Input Dig 4 Opt0x10EF, 0x946B
Input Hdmi ARC0x10EF, 0x9C63
Input Ana 1 RIAA0x10EF, 0x9D62
Input Ana 2 Unbalanced0x10EF, 0x9E61
InputPreset 00x10EF, 0xA35C
InputPreset 10x10EF, 0xA45B
InputPreset 20x10EF, 0xA55A
InputPreset 30x10EF, 0xA659
InputPreset 40x10EF, 0xA758
InputPreset 50x10EF, 0xA857
InputPreset 60x10EF, 0xA956
InputPreset 70x10EF, 0xAA55
InputPreset 80x10EF, 0xAB54
InputPreset 90x10EF, 0xAC53
Input vTuner0x10EF, 0xB847
Input Spotify0x10EF, 0xB946
Input AirPlay0x10EF, 0xBA45
Input Roon ready0x10EF, 0xBB44
Input uPnP0x10EF, 0xBC43
Input USB File0x10EF, 0xBD42
Input Bluetooth0x10EF, 0xBE41
Input GoogleCast0x10EF, 0xBF40

RS232 Pin Out Diagram

The diagram shows the pinout for an RS232 cable. It depicts a connector with six pins labeled 1 through 6. The cable wires are shown in different colors: black, red, yellow, blue, green, and white, corresponding to pins 1 through 6 respectively. Below the diagram, specific pin functions are listed: Pin 4 is GND (Ground), Pin 5 is Rx (Receive), and Pin 6 is Tx (Transmit).

Models: TDAI-1120 External Control Manual, External Control Manual, TDAI-1120 Control Manual, Control Manual, TDAI-1120

File Info : application/pdf, 9 Pages, 226.68KB

PDF preview unavailable. Download the PDF instead.

TDAI-1120-External-Control-Manual

References

macOS Version 12.3.1 (Build 21E258) Quartz PDFContext Word

Related Documents

Preview Lyngdorf Audio BW-20 Owner's Manual and Installation Guide
Comprehensive owner's manual and installation guide for the Lyngdorf Audio BW-20 Boundary Woofer, covering compliance, pre-installation, setup, technical specifications, and service information.
Preview Lyngdorf Audio CD-2 Quick Guide
A concise quick guide for the Lyngdorf Audio CD-2 CD player, covering setup, front/rear panel functions, remote control, menu system, and technical assistance.