OSC (Open Sound Control)
Warning
The Green-GO API is still under development. Some device properties may not function correctly or may behave unexpectedly. Additionally, OSC bundles and wildcards are not yet supported in the current version.
Green-GO Devices that do not support OSC: WBPX, BCN.
Opening an OSC port
To open an OSC port, go to the device settings. If your firmware version supports OSC, an OSC option will appear in the info menu. Enter this option and set the desired port number. This port will be used both for sending data to the device and for receiving responses on your personal device.
OSC Program
You can send OSC messages using your own OSC-compatible program or the provided Python terminal example. The example is written in Python 3.13.3 and uses python-osc version 1.9.3. You can run the program with or without arguments. To view available arguments and usage instructions, run the program with the -h flag. If using GreenGo provided script add double quotes around arguments that have spaces or only numbers to make sure the argument is seen as one string argument.
Sending API commands
The API uses the OSC protocol over a network via UDP. You can send UDP messages to the IP address (unicast) of a device. These messages follow the OSC format, consisting of an address, a type tag, and arguments. In the Green-GO API, if an address is sent without an argument, the device will respond with an OSC message containing the current value. Note that address capitalization is not case-sensitive. If a valid argument is included, the device will update the value accordingly. For the /Reboot command even if the no argument is given the device will still reboot.
Possible commands
The available commands depend on the specific device being addressed. Each device type may support a different set of commands.
Reboot
| Address | Type | Description |
| /Reboot | Int | Reboots the device |
Device
All devices have this group of commands.
| Address | Type | Description |
| /device/Device_Name | Str | Name of the device. |
| /device/Type | Str | Device type name |
OSC Port
All devices have this group of commands.
| Address | Type | Description |
| /OSC_API/OSC_PORT | Int | UDP port used for receiving OSC messages. Values can be 6500 to 65535, all other values will set the port to 0=OFF. |
| /OSC_API/REMOTE_PORT | Int | UDP port used for replying to OSC messages. Values can be 6500 to 65535, all other values will set the port to 0=AUTO. AUTO will set the remote port the the same number as the receiving port. |
Network
| Address | Type | Description |
| /Network/Dynamic | Int | Allowed values: |
| /Network/Address | Str | Ip address of the device, read only if network is dynamic |
| /Network/Netmask | Str | Network Mask of the device, read only if network is dynamic |
| /Network/Gateway | Str | Network Gateway of the device, read only if network is dynamic |
Internal Network
| Address | Type | Description |
| /Internal_Network/Dynamic | Int | Allowed values: |
| /Internal_Network/Address | Str | Ip address of the device for internal network, read only if network is dynamic |
| /Internal_Network/Netmask | Str | Network Mask of the device for internal network, read only if network is dynamic |
| /Internal_Network/Gateway | Str | Network Gateway of the device for internal network, read only if network is dynamic |
External Network
| Address | Type | Description |
| /External_Network/Dynamic | Int | Allowed values: |
| /External_Network/Address | Str | Ip address of the device for external network, read only if network is dynamic |
| /External_Network/Netmask | Str | Network Mask of the device for external network, read only if network is dynamic |
| /External_Network/Gateway | Str | Network Gateway of the device for external network, read only if network is dynamic |
Connection (for bridging)
| Address | Type | Description |
| /Connection/Mode | Int | Allowed values:- 0: Local
- 1: Direct IP
- 2: Search IP
- 3: Cloud ID
|
| /Connection/IP_Address | Str | IP used for direct ID |
| /Connection/UDP_Port | Str/Int | Port used for connection communication Value can be 1 to 65535, or 0 to turn it to Auto port selection, if request while it set to 0 return string with “Auto”. |
| /Connection/ID | Str | Cloud ID |
| /Connection/Password | Str | Password for Connection |
| /Connection/Send_Buffer | Int | Allowed values: 1 to 4, this value will be multiplied with 10 milliseconds for the set value |
| /Connection/Receive_buffer | Int | Allowed values: 2 to 20, this value will be multiplied with 10 milliseconds for the set value |
PTP
| Address | Type | Description |
| /Ptp/Domain | Int | Allowed values: 0 to 254 |
| /Ptp/Priority1 | Int | Read only, Allowed values: 0 to 255 |
| /Ptp/Priority2 | Int | Allowed values: 0 to 255 |
| /Ptp/Announce_Interval | Int | Read only,Allowed values:- -1: 0.5 sec
- 0: 1 sec
- 1: 2 sec
- 2: 4 sec
- 3: 8 sec
- 4: 16 sec
|
| /Ptp/Sync_Interval | Int | Read only, Allowed values:- -4: 0.0625 sec
- -3: 0.125 sec
- -2: 0.25 sec
- -1: 0.5 sec
- 0: 1 sec
- 1: 2 sec
|
| /Ptp/DelayReq_Interval | Int | Read only, Allowed values:- -3: 0.125 sec
- -2: 0.25 sec
- -1: 0.5 sec
- 0: 1 sec
- 1: 2 sec
- 2: 4 sec
- 3: 8 sec
- 4: 16 sec
- 5: 32 sec
|
| /Ptp/Announce_Timeout_Factor | Int | Read only, Allowed values: 2 to 10 |
| /Ptp/PortState | Int | Read only, Allowed values:- 0: Initializing
- 1: Faulty
- 2: Disabled
- 3: Listening
- 4: Pre-master
- 5: Master
- 6: Passive
- 7: Uncalibrated
- 8: Slave
- 9: Slave (Locked)
|
| /Ptp/Profile | Int | Allowed values: |
| /Ptp/Load_defaults | Int | Allowed values: |
Cloud
| Address | Type | Description |
| /Cloud/Mode | Int | Allowed values:- 1: Default DNS
- 2: Custom DNS
- 3: IP Address
|
| /Cloud/Dns | Str | Name of the DNS, read only if not set to Custom DNS |
| /Cloud/Primary | Str | Primary address of DNS, read only if not set to Custom DNS |
| /Cloud/Secondary | Str | Secondary address of DNS, read only if not set to Custom DNS |
Settings
| Address | Type | Description |
| /Settings/User | Str/Int | User is set by using the user ID number and will return the username string. If no user is set returns “---” |
| /Settings/Active_Time | Int | Allowed values:- 0: 0.5 s
- 1: 1 s
- 2: 2 s
- 3: 5 s
- 4: 30 s
- 5: 60 s
- 6: 120 s
|
| /Settings/Tone_Level | Int | Allowed values:- 0: 0 dB
- -6: -6 dB
- -12: -12dB
- -18: -18 dB
- -24: -24 dB
- -63: Mute
|
| /Settings/Reply_Mode | Int | Allowed values:- 0: Disabled
- 1: Active
- 2: Last
|
| /Settings/Priority_Dim | Int | Allowed values:- 0: 0 dB
- -6: -6 dB
- -12: -12 dB
- -18: -18 dB
- -24: -24 dB
- -63: Mute
|
| /Settings/Popup | Int | Allowed values:- 0: System Only
- 1: Cue
- 2: Cue+Direct
- 3: Cue/Direct/Extended
|
| /Settings/Cue_Timeout | Int | Allowed values:- 0: 0.5 s
- 1: 1 s
- 2: 2 s
- 3: 5 s
- 4: 30 s
- 5: 60 s
- 6: 120 s
|
| /Settings/Isolate | Int | Allowed values: |
| /Settings/Alert_Tone | Int | Allowed values: |
| /Settings/Room | str | Room is set by using the Room ID number and will return the Room name string. Entering a Room ID that does not exist will create one. Room ID 0 will clear the selected Room. If no Room ID is set to 0 returns “---”. |
| /Settings/Room_Dim | Int | Read only if no room is set Allowed values:- 0: 0 dB
- -6: -6 dB
- -12: -12 dB
- -18: -18 dB
- -24: -24 dB
- -63: Mute
|
| /Settings/Room_Output | Int | Read only if no room is set Allowed values:- 0: Both
- 1: 1/Headset
- 2: 2/Speaker
|
| /Settings/Identify | Int | Allowed values: |
Audio (Single Profile)
| Address | Type | Description |
| /Audio/Active | Int | Allowed values: |
| /Audio/Source | Int | Allowed values:- -4: 2.5 kHz
- -3: 1.2 kHz
- -2: 1 kHz
- -1: 375 Hz
- 0: Headset / Input A+B / Line In / 2-wire / Front Mic
- 1: Input A / Front Mic
- 2: Input B / Line In
|
| /Audio/Gain | Int | Depending on audio source different gain ranges are available:- Line In or Radio: -6 to 24 dB
- Headset: 10 to 60 dB
- Default: -24 to 12 dB
|
| /Audio/Compressor | Int | Read only if source is set to < 0 Allowed values:- 0: off
- 1: fast
- 2: medium
- 3: slow
|
| /Audio/Gate_Threshold | Int | Allowed values:- -63: Off
- -50: -50 dB
- -45: -45 dB
- -40: -40 dB
- -35: -35 dB
- -30: -30 dB
- -25: -25 dB
|
| /Audio/Gate_Hold | Int | Read only if threshold is off Allowed values:- 0: Short
- 1: Medium
- 2: Long
- 3: Extra Long
|
| /Audio/Output_Limiter | Int | Allowed values:- 0: off
- -6: -6db
- -12: -12dB
- -18: -18 dB
- -24: -24 dB
|
| /Audio/Headset_Bias | Int | Allowed values: |
| /Audio/Mic_Power | Int | Allowed values: |
| /Audio/Speaker_Dim | Int | Allowed values:- 0: 0 dB
- -6: -6 dB
- -12: -12dB
- -18: -18 dB
- -24: -24 dB
- -63: Mute
|
| /Audio/Line_Out_Level | Int | Allowed values: -40 to 0 with -63 being mute |
| /Audio/Speaker_Level | Int | Allowed values: -40 to 0 with -63 being mute |
| /Audio/Headset_Level | Int | Allowed values: -40 to 0 with -63 being mute |
| /Audio/Sidetone | Int | Allowed values: -40 to 0 with -63 being mute |
| /Audio/Main_Level | Int | Allowed values: -40 to 12 with -63 being mute |
| /Audio/Output_Level | Int | Allowed values: -40 to 12 with -63 being mute |
Audio (Multiple Profiles)
N is for defining Audio Profile 1 or 2.
| Address | Type | Description |
| /Audio_Profile/N/Active | Int | Allowed values: |
| /Audio_Profile/N/Source | Int | Allowed values:- -4: 2.5 kHz
- -3: 1.2 kHz
- -2: 1 kHz
- -1: 375 Hz
- 0: Headset / Input A+B / Line In / 2-wire / Front Mic
- 1: Input A / Front Mic
- 2: Input B / Line In
|
| /Audio_Profile/N/Gain | Int | Depending on audio source different gain ranges are available: - Line In or Radio: -6 to 24 dB
- Headset: 10 to 60 dB
- Default: -24 to 12 dB
|
| /Audio_Profile/N/Compressor | Int | Read only if source is set to < 0 Allowed values:- 0: off
- 1: fast
- 2: medium
- 3: slow
|
| /Audio_Profile/N/Gate_Threshold | Int | Allowed values:- -63: Off
- -50: -50 dB
- -45: -45 dB
- -40: -40 dB
- -35: -35 dB
- -30: -30 dB
- -25: -25 dB
|
| /Audio_Profile/N/Gate_Hold | Int | Read only if threshold is off Allowed values:- 0: Short
- 1: Medium
- 2: Long
- 3: Extra Long
|
| /Audio_Profile/N/Output_Limiter | Int | Allowed values:- 0: off
- -6: -6db
- -12: -12dB
- -18: -18 dB
- -24: -24 dB
|
| /Audio_Profile/N/Headset_Bias | Int | Allowed values: |
| /Audio_Profile/N/Mic_Power | Int | Allowed values: |
| /Audio_Profile/N/Speaker_Dim | Int | Allowed values:- 0: 0 dB
- -6: -6 dB
- -12: -12dB
- -18: -18 dB
- -24: -24 dB
- -63: Mute
|
| /Audio_Profile/N/Line_Out_Level | Int | Allowed values: -40 to 0 with -63 being mute |
| /Audio_Profile/N/Speaker_Level | Int | Allowed values: -40 to 0 with -63 being mute |
| /Audio_Profile/N/Headset_Level | Int | Allowed values: -40 to 0 with -63 being mute |
| /Audio_Profile/N/Sidetone | Int | Allowed values: -40 to 0 with -63 being mute |
| /Audio_Profile/N/Main_Level | Int | Allowed values: -40 to 12 with -63 being mute |
| /Audio_Profile/N/Output_Level | Int | Allowed values: -40 to 12 with -63 being mute |
Script
| Address | Type | Description |
| /Script/Script | Str/Int | Script is set by using the Script ID number and will return the Script name string. |
| /Script/Status | Int | Allowed values:- -3: Run Error
- -2: Size Error
- -1: Load Error
- 0: Stopped
- 1: Reload
- 2: Loading
- 3: Ready
- 4: Startup
- 5: Active
|
Security
| Address | Type | Description |
| /Security/Level | Int | Allowed values: |
| /Security/Menu_Access | Int | Allowed values: |
| /Security/Config_Clone | Int | Allowed values: |
| /Security/User_Select | Int | Allowed values: |
| /Security/Channel | Int | Allowed values: |
| /Security/Special | Int | Allowed values: |
| /Security/User_Setting | Int | Allowed values: |
| /Security/Audio | Int | Allowed values: |
| /Security/Device | Int | Allowed values: |
Special Channels
Direct
| Address | Type | Description |
| /Special/Direct/Level | Int | Allowed values: -40 to 12 with -63 being mute |
| /Special/Direct/Output | Int | Allowed values:- 0: Both
- 1: 1 / A / Headset
- 2: 2 / B / Speaker
|
| /Special/Direct/Priority | Int | Allowed values: |
| /Special/Direct/Cue_Mode | Int | Allowed values:- 0: Normal
- 1: Ignore
- 2: Auto Answer
|
Program
| Address | Type | Description |
| /Special/Program/Assign | Str/Int | Assign is set by using the group ID number and will return the Group name string. |
| /Special/Program/Level | Int | Allowed values: -40 to 12 with -63 being mute |
| /Special/Program/Dim | Int | Allowed values:- 0: off
- -6: -6db
- -12: -12dB
- -18: -18 dB
- -24: -24 dB
- -63: Mute
|
| /Special/Program/Output | Int | Allowed values:- 0: Both
- 1: 1 / A / Headset
- 2: 2 / B / Speaker
|
Announce
| Address | Type | Description |
| /Special/Announce/Assign | Str/Int | Assign is set by using the group ID number and will return the Group name string. |
| /Special/Announce/Level | Int | Allowed values: -40 to 12 with -63 being mute |
| /Special/Announce/Output | Int | Allowed values:- 0: Both
- 1: 1 / A / Headset
- 2: 2 / B / Speaker
|
Emergency
| Address | Type | Description |
| /Special/Emergency/Assign | Str/Int | Assign is set by using the group ID number and will return the Group name string. |
| /Special/Emergency/Level | Int | Allowed values: -40 to 12 with -63 being mute |
| /Special/Emergency/Output | Int | Allowed values:- 0: Both
- 1: 1 / A / Headset
- 2: 2 / B / Speaker
|
Channel
N is for defining the Channel number 1-32.
| Address | Type | Description |
| /Channel/N/Assign | Str/Int | Assign is set by using the Group or user ID number and will return the Group or user name string. Group ID can be sent directly, and user ID need to have 1024 added to it |
| /Channel/N/Listen_Override | Str | Listen Override is set by using the group ID number and will return the Group name string. |
| /Channel/N/Talk | Int | Allowed values:- 0: Mute
- 1: Reserved
- 2: Talk Latch
- 3: Talk momentary
If set to Talk momentary it will NOT automatically clear |
| /Channel/N/Listen | Int | Allowed values: |
| /Channel/N/Call | Int | Allowed values:- 0: Off
- 1: Call
- 2: Alert Call
|
| /Channel/N/Cue_Out | Int | Allowed values:- 0: Idle
- 1: Off
- 2: Attention
- 3: Wait
- 4: Go
- 5: Hold
- 6: Ready
- 7: Not Ready
|
| /Channel/N/Level | Int | Allowed values: -40 to 12 with -63 being mute |
| /Channel/N/Output | Int | Allowed values:- 0: Both
- 1: 1 / A / Headset
- 2: 2 / B / Speaker
|
| /Channel/N/Priority | Int | Allowed values: |
| /Channel/N/Gpio | Int | Allowed values:This is where the “GPIO”, “Function”, “GPIO control” writes/reads and Channel mode “GPIO control” reads |
| /Channel/N/Talk_Mode | Int | Allowed values:- 0: Disabled
- 1: Momentary
- 2: Latch
- 3: Latch momentary
|
| /Channel/N/Listen_Mode | Int | Allowed values:- 0: Listen on Talk
- 1: No Listen on Talk
- 2: Ignore Isolate
- 3: Fixed
|
| /Channel/N/Call_Mode | Int | Allowed values:- 0: Disabled
- 1: Receive only
- 2: Send only
- 3: Send/Receive
|
| /Channel/N/Cue_Mode | Int | Allowed values:- 0: Normal
- 1: Ignore
- 2: Auto Answer
|
| /Channel/N/Channel_Mode | Int | Allowed values:- 0: Normal
- 1: No Reply
- 2: Reply Direct
- 3: Auto Reply
- 4: Auto talk
- 5: Solo Talk
- 6: GPIO Control
- 7: Flex
|
Bridge Ports
N is for defining the Port number.
| Address | Type | Description |
| /Ports/N/Mode | Int | Allowed values:- 0: Off
- 1: Any User
- 2: Fixed User
- 3: Group Active
- 4: Group Passive
|
| /Ports/N/Connection | Int | Allowed values: |
| /Ports/N/IP_Address | Str | Ip Address, only available if Port mode is Group Active |
| /Ports/N/UDP_Port | Str/Int | Port used for connection communication Value can be 1 to 65535, or 0 to turn it to Auto port selection |
| /Ports/N/Cloud_ID | Str | Format as “AAAAAAAA” where A is replaced with the Cloud_ID and will show as AAAA-AAAA |
| /Ports/N/Password | Str | Format as “AAAAAAAA” where A is replaced with the Password and will show as AAAA-AAAA |
| /Ports/N/Send_Buffer | Int | Allowed values: 1 to 4, this value will be multiplied with 10 milliseconds for the set value |
| /Ports/N/Receive_Buffer | Int | Allowed values: 2 to 20, this value will be multiplied with 10 milliseconds for the set value |
| /Ports/N/User | Int | User is set by using the user ID number and will return the user name string. |
| /Ports/N/Group | Int | Group is set by using the group ID number and will return the Group name string. |
| /Ports/N/Call_Mode | Int | Allowed values:- 0: Disabled
- 1: Receive only
- 2: Send only
- 3: Send/Receive
|
| /Ports/N/Route_Enable | Int | Allowed values: |
Device Settings
| Address | Type | Description |
| /Device_Settings/UI_Mode | Int | BPX ONLY, Allowed values:- 0: 2 Channel
- 1: 3 Channel
- 2: 4 Channel
|
| /Device_Settings/Enc_Left | Int | BPX ONLY, Allowed values:- -3: Sidetone
- -2: Program
- -1: Main Volume
- 0: Disabled
- 1: Channel 1
- 2: Channel 2
- 3: Channel 3
- 4: Channel 4
|
| /Device_Settings/Enc_Right | Int | BPX ONLY, Allowed values:- -3: Sidetone
- -2: Program
- -1: Main Volume
- 0: Disabled
- 1: Channel 1
- 2: Channel 2
- 3: Channel 3
- 4: Channel 4
|
| /Device_Settings/Extended | Int | Allowed values: |
| /Device_Settings/Flip | Int | Allowed values:- 0: No Flip
- 1: Main
- 2: Menu
- 3: Both
|
| /Device_Settings/Buzzer | Int | Allowed values: |
| /Device_Settings/Screen_Brightness | Int | Allowed values: 0 to 7 with 0 being Min and 7 being Max |
| /Device_Settings/Screen_Timeout | Int | Allowed values:- 0: Always On
- 1: 1 Minute
- 2: 10 Minutes
- 3: 1 Hour
- 4: 10 Hours
|
| /Device_Settings/LED_Intensity | Int | Allowed values: 0 to 7 with 0 being Min and 7 being Max |
| /Device_Settings/LED_timeout | Int | Allowed values: |
| /Device_Settings/Button | Int | Allowed values: |
| /Device_Settings/Screen_Function | Int | Allowed values:- 0: Listen
- 1: Call
- 2: Cue
- 3: Disabled
|
| /Device_Settings/Startup | Int | Allowed values:- -1: Last
- 0: Listen
- 1: Call
- 2: Cue
|
| /Device_Settings/Second_Page | Int | Allowed values: |
| /Device_Settings/Page | Int | Allowed values:- 1: View page 1
- 2: View page 2
|
X is for the Page number can either be 1 or 2 and there are 18 buttons per page. N is for the button number 1-16
| Address | Type | Description |
| /button_Page_X/Button_N | Int | - -21: Sidetone
- -20: Emergency
- -19: Announcement
- -17: Program
- -16: Direct
- -15: Lineout
- -14: Speaker
- -13: Headset
- -12: Main
- -11: Audio Profile
- -9: Cough
- -8: Kill Mic
- -7: Isolate
- -6: Answer/Replay
- -5: Listen/Call mode
- -4: Listen
- -3: Cue Cancel
- -2: Cue mode
- -1: Call mode
- 0: None
- 1-32: Channel
|
| /Button/Button_N | Int | - -21: Sidetone
- -20: Emergency
- -19: Announcement
- -17: Program
- -16: Direct
- -14: Speaker
- -13: Headset
- -12: Main
- -9: Cough
- -7: Isolate
- -6: Answer/Replay
- -5: Listen/Call mode
- -4: Listen
- -3: Cue Cancel
- -2: Cue mode
- -1: Call mode
- 0: None
- 1-32: Channel
|
Channel Status
All items in this group are read only. N is for defining the Channel number 1-32.
| Address | Type | Description |
| /Channel_Status/N/Member_Status | Int | Allowed values:- 0: No Members
- 1: Members
- 2: Vox Auto
- 3: Vox
|
| /Channel_Status/N/Talk_Status | Int | Allowed values:- 0: Off
- 1: Active Auto
- 2: Active
|
| /Channel_Status/N/Call_Status | Int | Allowed values: |
| /Channel_Status/N/Cue_Status | Int | Allowed values:- 0: Idle
- 1: Off
- 2: Attention
- 3: Wait
- 4: Go
- 5: Hold
- 6: Ready
- 7: Not Ready
|
Special Status
All items in this group are read only.
Direct
| Address | Type | Description |
| /Special_Status/Direct_Status/Member_Status | Int | Allowed values:- 0: No Members
- 1: Members
- 2: Vox Auto
- 3: Vox
|
| /Special_Status/Direct_Status/Talk_Status | Int | Allowed values:- 0: Off
- 1: Active Auto
- 2: Active
|
| /Special_Status/Direct_Status/Call_Status | Int | Allowed values: |
| /Special_Status/Direct_Status/Cue_Status | Int | Allowed values:- 0: Idle
- 1: Off
- 2: Attention
- 3: Wait
- 4: Go
- 5: Hold
- 6: Ready
- 7: Not Ready
|
Program
| Address | Type | Description |
| /Special_Status/Program_Status/Member_Status | Int | Allowed values:- 0: No Members
- 1: Members
- 2: Vox Auto
- 3: Vox
|
Announce
| Address | Type | Description |
| /Special_Status/Announce_Status/Member_Status | Int | Allowed values:- 0: No Members
- 1: Members
- 2: Vox Auto
- 3: Vox
|
| /Special_Status/Announce_Status/Talk_Status | Int | Allowed values:- 0: Off
- 1: Active Auto
- 2: Active
|
| /Special_Status/Announce_Status/Call_Status | Int | Allowed values:- 0: Off
- 1: Active
- 2: Alert
>
|
Emergency
| Address | Type | Description |
| /Special_Status/Emergency_Status/Member_Status | Int | Allowed values:- 0: No Members
- 1: Members
- 2: Vox Auto
- 3: Vox
|
| /Special_Status/Emergency_Status/Talk_Status | Int | Allowed values:- 0: Off
- 1: Active Auto
- 2: Active
|
| /Special_Status/Emergency_Status/Call_Status | Int | Allowed values: |