LYNGDORF TDAI-1120 External Control Manual User Manual

June 9, 2024
LYNGDORF

LYNGDORF TDAI-1120 External Control Manual

Introduction

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

Home Automation System Integration

he 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 support Apple´s Bonjour Discovery service, which must be on the computer you want to set up the TDAI1120 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 ). 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 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)” (X can be 0, 1 or 2). All responses start either with ‘!’ (status messages) or ‘#’ (echo messages) and end with .
Feedback level 0: Data is sent only when data is requested by a status request command. For example, command “!VOL?” would return “!VOL(XXX)”, where “XXX” would be current volume.
Feedback level 1: 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?” would return “#VOL?!VOL(XXX)”.

The following commands and requests are available on the TDAI-1120:

Commands & Requests Return format Values Descriptio n
!AUDIOSTATUS? !AUDIOSTATUS (“Audiostring”) Audiostring is a string
describing the current audio input. Requests format information for 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| Requests the current balance trim setting
!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.| Requests the IP of the Wi-Fi interface
!MACWIRED?| !MACWIRED(xx:xx:xx:xx:xx:xx)| MAC address for the Wired interface.| Requests the IP of the Ethernet 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 1 0x10EF, 0x00FF
Digit 2 0x10EF, 0x01FE
Digit 3 0x10EF, 0x02FD
Digit 4 0x10EF, 0x03FC
Digit 5 0x10EF, 0x04FB
Digit 6 0x10EF, 0x05FA
Digit 7 0x10EF, 0x06F9
Digit 8 0x10EF, 0x07F8
Digit 9 0x10EF, 0x08F7
Standby 0x10EF, 0x0FF0
Volume Down 0x10EF, 0x10EF
Mute 0x10EF, 0x13EC
Volume Up 0x10EF, 0x1AE5
Digit 0 0x10EF, 0x30CF
SRC Down 0x10EF, 0x31CE
SRC Up 0x10EF, 0x32CD
Play 0x10EF, 0x50AF
Repeat 0x10EF, 0x54AB
Shuffle 0x10EF, 0x56A9
Previous 0x10EF, 0x57A8
Next 0x10EF, 0x58A7
Power On 0x10EF, 0x807F
Power Off 0x10EF, 0x817E
Input Dig 1 Coax 0x10EF, 0x916E
Input Dig 2 Coax 0x10EF, 0x926D
Input Dig 3 Opt 0x10EF, 0x936C
Input Dig 4 Opt 0x10EF, 0x946B
Input Hdmi ARC 0x10EF, 0x9C63
Input Ana 1 RIAA 0x10EF, 0x9D62
Input Ana 2 Unbalanced 0x10EF, 0x9E61
Input Preset 0 0x10EF, 0xA35C
Input Preset 1 0x10EF, 0xA45B
Input Preset 2 0x10EF, 0xA55A
Input Preset 3 0x10EF, 0xA659
Input Preset 4 0x10EF, 0xA758
Input Preset 5 0x10EF, 0xA857
Input Preset 6 0x10EF, 0xA956
Input Preset 7 0x10EF, 0xAA55
Input Preset 8 0x10EF, 0xAB54
Input Preset 9 0x10EF, 0xAC53
Input vTuner 0x10EF, 0xB847
Input Spotify 0x10EF, 0xB946
Input AirPlay 0x10EF, 0xBA45
Input Roon ready 0x10EF, 0xBB44
Input uPnP 0x10EF, 0xBC43
Input USB File 0x10EF, 0xBD42
Input Bluetooth 0x10EF, 0xBE41
Input GoogleCast 0x10EF, 0xBF40

Pin out diagram

References

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals