Duet Module Help File
Bose Videobar VB1

2TABLE OF CONTENTS
Introduction ................................................................................................................................................3Overview ....................................................................................................................................................4
Implementation ..........................................................................................................................................5Port Mapping..............................................................................................................................................6
Command Events .....................................................................................................................................11
Command Feedback .................................................................................................................................13
Important Notes........................................................................................................................................16
Programming Notes .................................................................................................................................17

Revision History
Date04-28-2022

Initials
AH

Comments
v1.0.0 Initial Release

AMX • 3000 Research Drive • Richardson, TX • 75082
469.624.8000 • 800.222.0193 • 469.624.7153 (fax)3Introduction
This is a reference manual to describe the interface provided between an AMX NetLinx system and a
Bose VB1 videobar conferencing system. The AMX module connects with the device over Ethernet only
and utilizes protocol provided through the web interface of the device.
This module was written with Eclipse Mars.2 version 4.8.5, and NetLinx Studio version 4 build 4.4.1626.
The panel program was built using TPDesign5 version 1.5.0, build 111.

This module is compatible with NX series controllers only, minimum firmware version is1.6.175.
The module must be configured with the IP address and port of the device it is to connect to, andthe page size of the event log (if used) on the touchpanel. This must be done manually via a telnet
session or can be automated from the UI module. These properties must be set using the‘PROPERTY-‘ command. The ‘REINIT’ command is used to notify the module that newproperties are now available and to start using them. When these commands are used in theappropriate order, the module will attempt to connect to the specified IP address periodically untila connection is made or a new IP address is submitted using the ‘PROPERTY-‘ and ‘REINIT’commands. Please see the Programming Notes section for additional information.
The module communicates over HTTPS with default port 443 and requires password
authentication for some administrator-level commands. The default password is “Bose123!”.
Ensure that the password specified as module parameters match the administrator login for thecamera.

AMX • 3000 Research Drive • Richardson, TX • 75082
469.624.8000 • 800.222.0193 • 469.624.7153 (fax)4Overview
The module translates between the standard interface described below and the device protocol. It parses
the buffer for responses from the device, sends strings to control the device, and receives commands fromthe UI module or telnet sessions.
A User Interface (UI) module is also provided. This module uses the standard interface described below
and parses the command responses for feedback.
The following diagram gives a graphical view of the interface between the interface code and the Duet
module.

A sample UI module and a touch panel file are provided in the module package. These are not intended
to cover every possible application scenario but can be expanded as needed by a dealer to meet therequirements of a particular installation.

AMX • 3000 Research Drive • Richardson, TX • 75082
469.624.8000 • 800.222.0193 • 469.624.7153 (fax)5Implementation
To interface to the device module, the programmer must perform the following steps:
1. Define the device ID for the physical device that will be controlled.
2. Define the main virtual device ID that the device COMM module will use to communicate withthe main program and User Interface. Duet virtual devices use device numbers 41000 - 42000.
3. If a touch panel interface is desired, a touch panel file (Bose VB1 Demo v1_0.TP5) and module(Bose VB1 Demo v1_0 – UI.asx) have been created for testing.
4. The Duet BoseVB1_dr1_0_0.jar module must be included in the program with a
DEFINE_MODULE command. This command starts execution of the module and passes in thefollowing key information: the device ID of the device to be controlled, and the virtual device ID
for communicating to the main program.
An example of how to do this is shown below.
DEFINE_DEVICE// -------------------- PHYSICAL DEVICES
dvDevice = 0:3:0;
dvTp= 10001:1:0;// -------------------- VIRTUAL DEVICES
vdvDevice = 41001:1:0;(***********************************************************)(*CONSTANT DEFINITIONS GO BELOW*)(***********************************************************)
DEFINE_CONSTANT
LOG_PAGE_SIZE = 10;(***********************************************************)(*STARTUP CODE GOES BELOW*)(***********************************************************)
DEFINE_START// ----- COMM MODULE
DEFINE_MODULE 'BoseVB1_dr1_0_0' modBoseComm(vdvDevice, dvDevice);// ----- UI MODULE
DEFINE_MODULE 'Bose VB1 Demo v1_0 - UI' modBoseUI(dvTp, vdvDevice);(***********************************************************)(*THE EVENTS GO BELOW*)(***********************************************************)
DEFINE_EVENTDATA_EVENT[vdvDevice]{ONLINE:{
wait 50{SEND_COMMAND vdvDevice,'DEBUG-4';
SEND_COMMAND vdvDevice,"'PROPERTY-IP_Address,192.168.1.1'";
SEND_COMMAND vdvDevice,"'PROPERTY-Port,443'";

AMX • 3000 Research Drive • Richardson, TX • 75082
469.624.8000 • 800.222.0193 • 469.624.7153 (fax)6
SEND_COMMAND vdvDevice,"'PROPERTY-Password,password!'";SEND_COMMAND vdvDevice,"'PROPERTY-LOG_PAGE_SIZE,', ITOA(LOG_PAGE_SIZE)";SEND_COMMAND vdvDevice,'REINIT';}}}Port Mapping
The module requires a single port for SNAPI channel, level, and command mapping. The module uses
port 1. The port is defined as part of the device definition:// -------------------- VIRTUAL DEVICES
vdvDevice= 41001:1:0;

The virtual device identifier is 41001, the port is 1, and the system is 0 – indicating the module will use
the system identifier defined within the processor configuration.

AMX • 3000 Research Drive • Richardson, TX • 75082
469.624.8000 • 800.222.0193 • 469.624.7153 (fax)7Channel Events
The UI module controls the device via channel events for features indicated by on/off or enabled/disabledstate. The channels supported by the module are listed below. These channels are associated with thevirtual device(s) and are independent of the channels associated with the touch panel device. Not allchannels will be available on all virtual ports.
Note: An ‘*’ indicates an extension to the standard SNAPI API
ChannelDescription
24

RAMP: Loudspeaker volume increased while channel is active.

25

RAMP: Loudspeaker volume decreased while channel is active.

26

PULSE: Toggle the loudspeaker volume mute state.

132

RAMP: Camera tilts up while channel is active.

133

RAMP: Camera tilts down while channel is active.

134

RAMP: Camera pans left while channel is active.

135

RAMP: Camera pans right while channel is active.

158

RAMP: Camera zooms out while channel is active.

159

RAMP: Camera zooms in while channel is active.

251

ON: Indicates the module is communicating with the device.
OFF: Indicates the module is not communicating with thedevice.

252

ON: Indicates the module is initialized with all device
state information.
OFF: Indicates the module is not initialized.

*300

ON: Indicates the device ready state is on.
OFF: Indicates the device ready state is off.

*305

PULSE: Toggle the HDMI enable state.

*306

PULSE: Enable HDMI.

*307

PULSE: Disable HDMI.

*308

ON: Indicates HDMI is enabled.
OFF: Indicates HDMI is disabled.

*310

PULSE: Toggle the system Bluetooth enable state.

*311

PULSE: Enable the system Bluetooth.
AMX • 3000 Research Drive • Richardson, TX • 75082
469.624.8000 • 800.222.0193 • 469.624.7153 (fax)

8

*312

PULSE: Disable the system Bluetooth.

*313

ON: Indicates the system Bluetooth is enabled.
OFF: Indicates the system Bluetooth is disabled.

*315

PULSE: Toggle the Bluetooth Button enable state.

*316

PULSE: Enable the Bluetooth Button state.

*317

PULSE: Disable the Bluetooth Button state.

*318

ON: Indicates the Bluetooth Button is enabled.
OFF: Indicates the Bluetooth Button is disabled.

*320

ON: Indicates the system ethernet interface is enabled.
OFF: Indicates the system ethernet interface is disabled.

*321

ON: Indicates the system network DHCP mode is enabled.
OFF: Indicates the system network DHCP mode is disabled.

*325

ON: Indicates the system WIFI is enabled.
OFF: Indicates the system WIFI is disabled.

*326

ON: Indicates the system WIFI DHCP is enabled.
OFF: Indicates the system WIFI DHCP is disabled.

*330

ON: Indicates the USB connection status is enabled.
OFF: Indicates the USB connection status is disabled.

*331

ON: Indicates the USB call status is enabled.
OFF: Indicates the USB call status is disabled.

*335

ON: Indicates the GPI Mute status is enabled.
OFF: Indicates the GPI Mute status is disabled.

*400

PULSE: Toggle the Microphone Mute enable state.

*401

PULSE: Enable the Microphone Mute state.

*402

PULSE: Disable the Microphone Mute state.

*403

ON: Indicates the Microphone Mute state is enabled.
OFF: Indicates the Microphone Mute state is disabled.

*500

PULSE: Toggle the Autoframing enable state.

*501

PULSE: Enable the Autoframing state.

*502

PULSE: Disable the Autoframing state.

AMX • 3000 Research Drive • Richardson, TX • 75082
469.624.8000 • 800.222.0193 • 469.624.7153 (fax)9*503

ON: Indicates the Autoframing state is enabled.
OFF: Indicates the Autoframing state is disabled.

*600

ON: Indicates the Bluetooth and BLE state is enabled.
OFF: Indicates the Bluetooth and BLE state is disabled.

*605

PULSE: Toggle the Bluetooth Pairing state.

*606

PULSE: Enable the Bluetooth Pairing state.

*607

PULSE: Disable the Bluetooth Pairing state.

*608

ON: Indicates the Bluetooth Pairing state is enabled.
OFF: Indicates the Bluetooth Pairing state is disabled.
Table 1 - Virtual Device Channel Events

AMX • 3000 Research Drive • Richardson, TX • 75082
469.624.8000 • 800.222.0193 • 469.624.7153 (fax)10Level Events
The UI module controls the device via level events sent to the module for features indicated by a range
value. The commands supported by the module are listed below.
Note: An ‘*’ indicates an extension to the standard API.
Level

Description

1

Level indicates current loudspeaker volume level as ascaled percentage range from 0 to 255.

15

Level indicates current zoom position as a scaled
percentage range from 0 to 255.

27

Level indicates current pan position as a scaled
percentage range from 0 to 255.

28

Level indicates current tilt position as a scaled
percentage range from 0 to 255.
Table 2 – Level Events

AMX • 3000 Research Drive • Richardson, TX • 75082
469.624.8000 • 800.222.0193 • 469.624.7153 (fax)11Command Events
The UI module controls the device via command events sent to the module for features other than on/off
or range elements. The commands supported by the module are listed below.
Note: An ‘*’ indicates an extension to the standard API.
CommandDescription

Set the state of debugging messages in the UI moduleand the Module. Use the first virtual port whensending this command.
Note: See Programming Notes section.
DEBUG-<value><value> : 1 = set only error messages on
2 = set error and warning messages on
3 = set error, warning & debug messages on
4 = set all messages on?DEBUG

Example:DEBUG-1
Returns the current debug level, format is DEBUG<level>.

?FWVERSION

Returns the firmware version reported by the device,format is VERSION-<version>.

?VERSION

Returns the version of the module, format is VERSION<version>.

PASSTHRU?CAMERAPRESET

Sends a message directly to the device, format is
PASSTHRU-<message>.
Returns the last recalled preset.

?CAMERAPRESETCOUNT

Returns the number of available presets.
number of presets is 3.

?CAMERAPRESETPROPERTIES

Returns list of available presets, format is
CAMERAPRESETPROPERTIES-<preset number>,<preset name>.

?CAMERAPRESETPROPERTYCAMERAPRESETSAVECAMERAPRESET

Maximum

Returns the preset property of the requested preset,
format is CAMERAPRESETPROPERTY-<presetnumber>,<preset name>.
Saves the camera pan, tilt, and zoom position to thespecified preset number, format is CAMERAPRESETSAVE<preset>.
Recalls the specified preset, format is CAMERAPRESET<preset>.

AMX • 3000 Research Drive • Richardson, TX • 75082
469.624.8000 • 800.222.0193 • 469.624.7153 (fax)12*?BLUETOOTHPAIRED*?BUILDING*?CAMERASTATE*?FLOOR*?MODEL*?NAME*?NETWORKSTATE*?NETWORKADDRESS*?NETWORKMAC*REBOOT*?ROOM*?SERIALNUMBER*?WIFISTATE*?WIFIADDRESS*?WIFIMAC

Returns the name of the Bluetooth paired device.
Returns the device building name.
Returns the state of the camera. Possible values
include: “active”, “inactive”, “upgrading”.
Returns the device floor name.
Returns the device model.
Returns the device name.
Returns the state of the device ethernet interface.
Possible values include: “idle”, “failure”,“association”, “configuration”, “ready”,“disconnect”, “online”.
Returns the static IP address of the ethernet
interface used when DHCP is disabled.
Returns the MAC Address of the ethernet interface.
Reboots the device, the module will automaticallyreconnect when the device returns online. Format isREBOOT.
Returns the device room name.
Returns the serial number of the device.
Returns the state of the device WIFI interface.
Possible values include: “idle”, “failure”,“association”, “configuration”, “ready”,“disconnect”, “online”.
Returns the static IP address of the WIFI interface
used when DHCP is disabled.
Returns the MAC Address of the WIFI interface.
Table 3 – Send Command Definitions

AMX • 3000 Research Drive • Richardson, TX • 75082
469.624.8000 • 800.222.0193 • 469.624.7153 (fax)13

Command Feedback
The COMM module provides feedback to the User Interface module for all command events.
Command

Description
Response indicates the name of the Bluetooth paired
hardware.

?BLUETOOTHPAIRED

Example:BLUETOOTHPAIRED-Headset
Response indicates the current state of the camera.

?CAMERASTATE

Example:CAMERASTATE-inactive
Request returns the current camera preset.

?CAMERAPRESETExample:CAMERAPRESET-1
Response indicates the number of saved presets.

?CAMERAPRESETCOUNT

Example:CAMERAPRESETCOUNT-3
Response indicates the full list of saved presets.

?CAMERAPRESETPROPERTIES

Example:CAMERAPRESETPROPERTY-“1,Home Preset”
CAMERAPRESETPROPERTY-“2,First Preset”
CAMERAPRESETPROPERTY-“3,Second Preset”
Response indicates the preset properties for thespecified preset.

?CAMERAPRESETPROPERTY

Example:CAMERAPRESETPROPERTY-1,Home Preset
Request returns the state of debugging messages inthe UI module and the Module. This is reported on
the first virtual port.

?DEBUG<value> : 1 = set only error messages on
2 = set error and warning messages on
3 = set error, warning and debug messageson
4 = set all messages on
DEBUG-1

AMX • 3000 Research Drive • Richardson, TX • 75082
469.624.8000 • 800.222.0193 • 469.624.7153 (fax)14
Response indicates the name of the floor reportedby the device.
?FLOOR

Example:BUILDING-2nd Floor
Response indicates the model name of the device?MODELExample:
MODEL-vb1
Response indicates the name of the device.

?NAME

Example:NAME-Videobar1-0522
Response indicates the static IP Address of theethernet interface.

?NETWORKADDRESS

Example:NETWORKADDRESS-192.168.1.1
Response indicates the MAC Address of the ethernet
interface.

?NETWORKMAC

Example:NETWORKMAC-4C:87:5D:9C:EA:B7
Response indicates the network state of theethernet interface.

?NETWORKSTATE

Example:NETWORKSTATE-idle
Response indicates the serial number reported bythe device.

?SERIALNUMBER

Example:SERIALNUMBER-081413W10920522AE
Response indicates the static IP Address of theWIFI interface.

?WIFIADDRESS

Example:WIFIADDRESS-0.0.0.0Response indicates the MAC Address of the WIFI
interface.

?WIFIMAC

Example:WIFIMAC-4C:87:5D:9C:EA:B6

AMX • 3000 Research Drive • Richardson, TX • 75082
469.624.8000 • 800.222.0193 • 469.624.7153 (fax)15
Response indicates the network state of the WIFI
interface.
?WIFISTATE

Example:WIFISTATE-ready
Table 2 - Command Feedback Definitions

AMX • 3000 Research Drive • Richardson, TX • 75082
469.624.8000 • 800.222.0193 • 469.624.7153 (fax)16Important Notes• Please contact manufacturer’s customer service regarding support for the Bose VB1.
• The hardware used to test this module include an NX-3200 series controller with firmware
version 1.6.175, and an MXT-700i touchpanel with firmware version 2.104.28.
•Properties can be modified by calling the SEND_COMMAND with the property name and newvalue. See programming notes below.
Property Name
IP Address
PortPassword
LOG_PAGE_SIZE••

Default Value
192.168.1.100
443
Bose123!
10The module will automatically initialize when the program starts up (or manually when theREINIT command is sent). Initialization consists of querying the device for all state informationrequired for proper module operation.
Response times can vary based on network connection and activity within the device. Somecommands take longer to process than others. Note that the preset commands take up to 5 seconds
to process and return a response.

AMX • 3000 Research Drive • Richardson, TX • 75082
469.624.8000 • 800.222.0193 • 469.624.7153 (fax)17Programming Notes
To establish a communication connection between the module and the device, the module must be
informed of the IP address of the device it is to connect to, and the page size of the event log (if used) onthe touchpanel. Use the PROPERTY- command to set this information and then use the REINIT
command to force it to take effect. Here is an example of how these commands are used. Note that yourvirtual device (41001:1:0) and the IP address, credentials and log size may differ from this example.
Substitute the appropriate values where necessary.
SEND_COMMAND vdvDevice,'DEBUG-4';
SEND_COMMAND vdvDevice,"'PROPERTY-IP_Address,',
SEND_COMMAND vdvDevice,"'PROPERTY-Port,',
SEND_COMMAND vdvDevice,"'PROPERTY-LOG_PAGE_SIZE,',SEND_COMMAND vdvDevice,'REINIT';

IP_ADDRESS";
PORT";ITOA(LOG_PAGE_SIZE)";

These values have been defined as constant variables in the main module and should be changed to matchyour environment. The program takes care of passing the variables to the module.
(***********************************************************)(*CONSTANT DEFINITIONS GO BELOW*)(***********************************************************)
DEFINE_CONSTANT//////////////////////////////////////////////////////////////////// DEVICE CONNECTION PROPERTIES/////////////////////////////////////////////////////////////////
CHAR IP_ADDRESS[] = '192.168.1.100';
CHAR PORT[]= '443';
LOG_PAGE_SIZE= 10;

AMX • 3000 Research Drive • Richardson, TX • 75082
469.624.8000 • 800.222.0193 • 469.624.7153 (fax)