openscq30(1)

πŸ“¦ version 2.13.0, in nixpkgs unstable

openscq30 πŸŽ§πŸ’– β€” General Commands Manual, but make it make sense

okay so this is openscq30 from the General Commands Manual, bestie. The vibe? We're controlling Soundcore devices via Bluetooth, and we're keeping every single detail. No cap. ✨

NAME 🌟

openscq30 - Control Soundcore devices via Bluetooth

SYNOPSIS 🌸

openscq30 [OPTION] [--SUB-OPTION] [COMMAND]

DESCRIPTION πŸ¦‹

okay so openscq30 makes extensive use of subcommands. Each subcommand can have its own options, and the options for a given subcommand must come before any following subcommands. See the positioning of --mac-address in the following examples:

$ openscq30 device --mac-address AA:AA:AA:AA:AA:AA list-settings
$ openscq30 device --mac-address AA:AA:AA:AA:AA:AA setting --get autoPowerOff
$ openscq30 device --mac-address AA:AA:AA:AA:AA:AA setting --set autoPowerOff=60m

OPTIONS ✨

  • device β€” Device Settings
  • paired-devices β€” Add Bluetooth devices to openscq30. The device needs to be paired using your operating system's Bluetooth controls before it can be paired with openscq30.
  • list-models β€” List all supported device models and their names
  • completions β€” Generate shell completions
  • help β€” Show the help message

Options and their relative commands πŸŽ€

device 🎧

This option allows you to view or edit Soundcore device options. The device needs to be added to openscq30 with the "paired-devices" option first. You need to use -a or --mac-address to specify the device.

list-settings πŸ” β€” Allows you to view all current settings for a given device. You can always refer to "openscq30 device -a MAC_ADDRESS list-settings --help" for a more detailed help message.

OPTIONS

  • --no-categories β€” Don't display category headers
  • --no-extended-info β€” Don't display setting information in addition to the setting id
  • -j, --json β€” Output as JSON
  • -h, --help β€” Print very detailed help message (useful for advanced users)

All controls exposed by openscq30 have a unique setting id. Those settings can be of varying types, such as a toggle, select, range, etc. Setting categories are only used for showing related settings together to the user. They aren't used otherwise.

This will list all settings that are currently available. Available settings may change depending on the device's state. As an example, some devices only support some features on newer firmware versions.

If --no-extended-info is not used, the type of setting as well as its parameters will be output in addition to the setting id.

heads up, bestie: the format of this command's output is only stable in --json mode. The format of the non-json output may change between versions, so --json should always be used for scripts.

The equalizer setting has one quirk to be aware of, and that's the fractional digits field. If fractional digits is 1, then 134 would mean 13.4. If it were 2, then 1.34, and so on.

setting βš™οΈ β€” You can use --get to retrieve the value of a specific setting, or --set to set a value. You might want to use list-settings first. You can always refer to "openscq30 device -a MAC_ADDRESS setting --help" for a more detailed help message.

Options

  • -g, --get <SETTING_ID> β€” Gets the value of a setting
  • -s, --set <SETTING_ID=VALUE> β€” Sets the value of a setting.
  • -j, --json β€” Output as JSON
  • -h, --help β€” Print very detailed help message (useful for advanced users)

--get and --set may be used multiple times to get/set multiple settings. Operations will be executed in the order of the arguments. A get before a set will print the original value, and a get after a set will print the value it was set to.

Most value types are straight forward. For strings and numbers, enter the value as is. There are some exceptions:

  • Optional selects: To deselect the value, set it to an empty string: --set example=
  • Modifiable selects: Prefix with '+' to add an item to the list, or '-' to remove an item from the list. The prefix can be escaped with '\'. Examples:
    • Create a new equalizer profile named "new profile": --set "customEqualizerProfile=+new profile"
    • Delete an equalizer profile named "new profile": --set "customEqualizerProfile=-new profile"
    • Activate an equalizer profile named "+new profile": --set "customEqualizerProfile=+new profile"
  • Equalizers: All bands must be specified, and numbers should be separated with ','. Examples:
    • --set volumeAdjustments -40,-30,-20,-10,0,1,2,3 when fractional digits is 1 (see openscq30 device list-settings --help for info on fractional digits) will assign [-4, -3, -2, -1, 0, 0.1, 0.2, 0.3].

paired-devices πŸ’ž

Add/remove/list devices to openscq30

list, ls πŸ“ β€” List added devices

OPTIONS

  • -j, --json β€” Output as JSON
  • -h, --help β€” Print help

By default, this will output a table with a column for device model, mac address, and if it's a demo or real device. JSON output (--json) is recommended for scripts. It will instead output an array of objects with the previously mentioned columns as keys instead.

add βž• β€” Add a paired device to openscq30

OPTIONS

  • -a, --mac-address <MAC_ADDRESS> β€” Device's mac address
  • -m, --model <MODEL> β€” Device model
  • --demo β€” Enable demo mode for the device
  • -h, --help β€” Print help

openscq30 needs to know what model your device is. This is where you provide the necessary information to be able to connect to a device. It should already be paired using Bluetooth at this point.

See openscq30 list-models for a list of supported device models. This should also be used to find the model id if you only know the name. Soundcore Life Q30 is SoundcoreA3028 for example.

remove βž– β€” Remove added devices from openscq30

OPTIONS

  • -a, --mac-address <MAC_ADDRESS> β€” Device's mac address
  • -h, --help β€” Print help

help ❓ β€” Prints a help message

list-models πŸ“‹

List all supported device models and their names

OPTIONS

  • -j, --json β€” Output as JSON
  • -h, --help β€” Print help

Device models are locale-independent identifiers for each device. This command will list all models as well as their names in English. Used for openscq30 paired-devices add --model.

completions 🐚

Generate Shell completions

OPTIONS

  • -s, --shell <SHELL> β€” Target shell to generate completions for [possible values: bash, elvish, fish, powershell, zsh]
  • -h, --help β€” Print help

Initial Setup Guide πŸš€

This guide is intended for new users. It will describe how to add a device to openscq30 and the basics of changing the device settings.

  1. Pair and Connect via Bluetooth β€” Before starting, you should pair and connect to the device with the Bluetooth manager of your choosing.
  2. Find the Device model name β€” Run openscq30 list-models and find your device. At the left side of the table, you will see something like: SoundcoreAXXXX . Copy or remember the one that matches your device. For example, "Soundcore Space One" is "SoundcoreA3035".
    • 2.1-)[Optional] Having trouble finding your device? β€” You can also run openscq30 list-models | grep -i 'YOUR MODEL NAME' to make finding it easier.
  3. Adding your device to openscq30 β€” In order to change the device settings, you first need to add it to openscq30 with the model number we just found, plus the mac address of the device. You can use the Bluetooth manager of your choosing to find the mac address of the device.
openscq30 paired-devices add -a MAC_ADDRESS -m SoundcoreAxxxx

If you see Paired, you have successfully added your device to openscq30.

Basics of adjusting the device settings πŸŽ›οΈ

For more info go to setting under Options and their relative commands.

  1. Finding the available Settings β€” Each device can have different settings. To list the settings that are available for your device, run openscq30 device -a MAC_ADDRESS list-settings.
  2. Adjusting the settings β€” If you ran the previous command, you will see a list of all of the available settings for that device. Settings accept various different types of options such as integer ranges, toggles, and selects. Integer ranges allow you to select a number from within a range (given in the list-settings output). A toggle is simply on/off. Selects allows you to select one of multiple options for that setting (also given in the list-settings output).

2.1-) Examples of changing a "select" setting

openscq30 device -a MAC_ADDRESS setting --set autoPowerOff=120m
openscq30 device -a MAC_ADDRESS setting --set autoPowerOff=30m

These may seem like "integer range", but if we look at the list-settings output, we can see it is a "select" that only allows: "disabled", "30m", "60m", "90m", "120m".

2.2-) Examples of changing a "integer range" setting

openscq30 device -a MAC_ADDRESS setting --set manualNoiseCanceling=1
openscq30 device -a MAC_ADDRESS setting --set manualNoiseCanceling=5

2.3-) Examples of changing a "toggle" setting

First we have to get the current state of this setting.

openscq30 device -a MAC_ADDRESS setting --get lowBatteryPrompt

In my case, this was "true". Now lets set it to "false".

openscq30 device -a MAC_ADDRESS setting --set lowBatteryPrompt=false

That's the whole openscq30 manual page, bestie β€” the footer only carried the page name and no source/version or date given, so that's all she wrote. periodt πŸ’…βœ¨

πŸ“¦ where this page comes from