Skip to content
Last update: June 17, 2023

Companion Module for Green-GO

The Green-GO Intercom Remote (OSC) is a Bitfocus Companion module allowing users to control a wired Green-GO intercom device over the local network.

How to get the module: The module will generally be available with the next stable release of Bitfocus Companion 3.0. Until then, you will have to install and use the current beta of Bitfocus Companion 3.0 to get access to this module.

Information & Limitations

The Green-GO Intercom Remote (OSC) module is designed to use OSC messages (Open Sound Control) to send commands and receive state updates from a Green-GO device.

As of now, Green-GO devices only support OSC messages when running a script. Because of this, there are some limitations to the current implementation:

  1. You need to run the Green-GO script osc-remote.gg5t on Green-GO device(s) you want to control with the Green-GO Intercom Remote (OSC).
  2. The current module only includes button actions and feedbacks for up to 6 channels. More is currently impossible because of limitations in the scripting engine on Green-GO hardware.
  3. Older hardware like the BP2, MCR/MCD, or GG4W can't be supported as these devices lack scripting support.
  4. Unfortunately, it is currently not possible to support devices like the BridgeX, INTX, WAA, WBPX, and WBPXSP because of limitations in the scripting engine.

Supported Devices

Currently, the Green-GO Intercom Remote (OSC) supports the following device types:

BCN, BPX, BPXSP, DNTI, MCX, MCXD, Q4WR, RDX, Si2WR, Si4WR.

Setup & Configuration

Prerequisites

  • Computer running the latest Green-GO Control v5 software.
  • Green-GO device running the latest firmware.
  • Download the osc-remote.gg5t script and add it to your configuration.
  • Download and install the latest Bitfocus Companion 3.0 beta on a computer that can communicate with your Green-GO network.

Prepare the Green-GO device

Before the Green-GO Intercom Remote (OSC) module can properly communicate with a Green-GO device, you must add the osc-remote.gg5t script to your configuration and load it onto the device. All this is done from within the Green-GO Control v5 software.

Add the Script to your Configuration

To add the osc-remote.gg5t script to your configuration, you must switch the main window to the script overview by clicking on Scripts in the configuration tree to the left.

Next, you need to click the ADD button on the right side of the navigation bar to open the scripts dialog:

Here, you can click the BROWSE button to open the previously downloaded osc-remote.gg5t script file.

Next, you can give the script a more descriptive name (e.g., add the device name or another unique identifier) or adjust the script ID to your liking.

When done, you can press the CREATE button to add the script to your configuration.

Customize the Script

You will likely have to make one or two changes to the osc-remote.gg5t script to fit your environment. For this, you can open the script and switch to the Editor tab, which is located in the navigation bar.

Change the variable remoteIP to match the IP address (IPv4) your Bitfocus Companion instance is listening to.

The variable controlPort (UDP) does not necessarily need adjustments. However, the port should be unique for every Green-GO device and module connection to avoid contradicting states for your Companion buttons.

Notice: It is important that the Green-GO device is able to reach the remoteIP (IPv4) using the defined controlPort (UDP). Otherwise, the Companion module can't function correctly.

Compile the Script

After making edits to the script, compiling it before it can be executed on a Green-GO device is essential.

To compile the script, click the COMPILE button located in the navigation bar.

Save the Configuration to your Devices

Next, you should execute the save-to-device function at the top of the application to ensure the compiled script is stored in your device's persistent storage.

This guarantees the device will still function properly after rebooting, even if the software is not running on the network.

Notice: Be aware that you cannot retrieve the text version of the script from your device. The text version of your script is only stored inside your .gg5 configuration file.

Load the Script onto a Device

Finally, the script needs to be loaded onto a Green-GO device which can be achieved through one of two methods.

The first involves direct configuration. Locate the device in the configuration tree, select it, then navigate to the Settings tab. Here, you can find the Script Settings card, which allows you to select the desired script from a dropdown menu.

The second method entails creating a user-specific device profile. Begin by selecting the user, then click the symbol in the navigation bar to create a device profile. Once created, this profile will also feature a Script Settings card, facilitating script selection through a dropdown menu.

After selecting, the device will load and execute the script while the Script Settings card will report the current state.

Configure Bitfocus Companion

After setting up your Green-GO device, you need to make some basic configurations before you can finally use the Green-GO Intercom Remote (OSC) module for Bitfocus Companion to control the device remotely.

Tip: Here, we only cover the basic setup for our module's connection(s). Please check out Companion's documentation for further guidance on Companion's configuration and how to set up your control surface(s).

Add the Module

First, search for Green-GO and click on the "Add" button next to the Intercom Remote (OSC) module to add our module to your Companion setup.

Configure the Module

Next, the module's configuration should open automatically. If it did not, you will need to click on the added GGO_Device connection to bring up the module's configuration:

Here, you need to configure the connection to your Green-GO device. Ensure to match your Green-GO device's IPv4 address and the commandPort defined when customizing the script.

Label
Labels can help to identify the Green-GO device connected to the module, especially when using multiple module connections.
Device IP
Match the Device IP to your Green-GO device's IPv4 address and avoid using broadcast addresses to prevent receiving conflicting states.
Control Port
Match the controlPort definition in the Green-GO script running on your device. Please use a unique port for each module/device connection.
Device Type
The Device Type you select determines the buttons, feedback, and presets that are available. In addition, it defines the label for the Device State preset.
Channel Count
Limiting the Channel Count can help to reduce network and computing load. However, as we are currently limited by the scripting VM, this has a placeholder function.

Actions, Feedbacks, and Presets

After setting up your Green-GO device and configuring a module connection, you have access to a variety of actions, feedbacks, and variables for your custom buttons. In addition, you have access to a set of button presets to ease the initial setup of your control surface(s).

Supported Button Actions

We currently support the following actions for your Companion buttons:

Action Description
Set Channel Talk Control the talk state of a channel.
Send Channel Call Control the call state of a channel.
Send Channel Cue Control the cue state of a channel.
Set Channel Listen Control the listen state (un-/mute channel output) of a channel.
Set Channel Level Control the output level of a channel.
Set PGM Level Control the output level of the program audio special channel.
Set Main Level Control the main output level of the device.
Set Input Gain Control the input gain of the device's active input.
Set Input Source Control the active input source of the user.
Set Isolate State Control the state of the isolate function.
Identify Device Call the device's identfy function to let its status lights blink.

Tip: Most of these actions include a Cycle option that, if activated, allows you to progress a state with each button press.

Supported Button Feedbacks

We currently support the following feedbacks to dynamically style your Companion buttons:

Feedback Description
Check Channel Talk React to the current talk state of a channel.
Check Channel Call React to the current call state of a channel.
Check Channel Cue React to the current cue state of a channel.
Check Channel Listen React to the current listen state of a channel (muted/unmuted).
Check Channel Level React to the current output level of a channel.
Check Channel State React to the current state of a channel (can be used to check for members or active VOX input).
Check PGM Level React to the current output level of the program audio special channel.
Check Main Level React to the current output level of the device.
Check Input Gain React to the current gain level of the device's active input.
Check Isolate State React to the current isolate state of the device.
Online Heartbeat Check for the the connection state of the device (updated every 5 seconds).

Included Button Presets

We've included lots of button presets to make your initial setup as quick as possible:

Preset Description
Talk CH1 - CH6 Toggle (latch) the current talk state of a channel.
Call CH1 - CH6 Send a call or call alert, depending on hold time of the button.
Cue CH1 - CH6 Advance the current cue state of a channel. This cycles through all available states.
Listen CH1 - CH6 Toggle the current listen state of a channel.
Level CH1 - CH6 Increase or decrease the output level of a channel.
PGM Level Increase or decrease the PGM special channel's output level.
Main Level Increase or decrease the device's main output level.
Input Gain Increase or decrease the gain of the active input source.
Cough Mute Deactivate the device's current input source.
Isolate State Toggle the current state for the isolate mode.
Device Connection Displays the connection state of the device (updated every 5 seconds).
Device Identify Trigger the identify function of the device.

Troubleshooting

My Buttons don't Work

There could be several reasons why buttons are not functioning properly. Please check the following to troubleshoot the issue:

  • Please ensure your Green-GO device and network interface Companion listens on can communicate with each other.
  • Check the Device IP of the module connection configuration. It should match the IPv4 address of your Green-GO device.
  • Confirm the module connection and the script running on your Green-GO device both use the same controlPort.
  • Ensure that the osc-remote.gg5t script is Active and running. In addition, you should check if you loaded the correct script onto the device.
  • Check the module connection's log by clicking on the icon and look for errors or warnings.

My Button Feedback isn't Working

If your buttons seem to work to a degree, but the feedback is not working, it is most likely caused by a wrong remoteIP definition in your osc-remote.gg5t script running on your Green-GO device.

Please ensure to match the definition to the IPv4 address of the network interface that Companion is listening on.


Written by: Henk-Jan Blok, Timo Toups