Skip to content

PowersoftX

This is the powersoft plugin documentation.

This plugin provides support for the Powersoft X-Series, Ottocanali and Quattrocanali amplifiers.

A single plugin instance can handle multiple amplifier connections. Therefore, the IP address setting is ignored and amplifiers must be listed as a separate list entity under the devices key in the plugin’s options.

The individual device parameters can be read and/or set by accessing their predefined key amplifier_name/parameter where the amplifier_name is the key in the devices_list (“amp1” and “amp2” in the example below). The parameter is defined by this plugin, and is separated by a / from the amplifier_name.

In order for the powersoftX plugin to work, the system firewall must pass through udp traffic on port 1234.

Supported parameters

All the parameters below can be accessed by referencing amp_name/<parameter>.

Parameter
IO type
R/W
Info
last_seen float r
connection_state bool r
manufacturer string r
model string r
family string r
serial string r
ip string r
ch_count int8 r
dipswitch_ch{i} int8 r
dipswitch_str_ch{i} string r
Input Selection
active_input_ch{i} int8 r
active_input_str_ch{i} string r
Power
power_state bool rw
power_state_str string rw
Preset
active_preset int8 rw
preset_description string r
preset_save_{i} string w
preset_available string r
Levels & Mutes
gain_in_ch{i} float rw
gain_in_ch{i} float rw
gain_out_ch{i} float rw
mute_in_ch{i} bool rw
mute_out_ch{i} bool rw
Alarms
alarm_pt_rms_ch{i} float r
alarm_pt_detected_ch{i} bool r
alarm_pt_validity_ch{i} bool r
alarm_pt_ni_rms_ch{i} float r
alarm_pt_ni_detected_ch{i} bool r
alarm_pt_ni_validity_ch{i} bool r
alarm_relay_ch{i} bool r
alarms_input_clip_ch{i} bool r
alarms_thermal_soa_ch{i} bool r
alarms_over_temp_ch{i} bool r
alarms_rail_voltage_ch{i} bool r
alarms_aux_current_ch{i} bool r
alarms_other_ch{i} bool r
alarms_global_mains bool r
alarms_global_ad bool r
alarms_global_da bool r
alarms_global_aux bool r
alarms_global_digi bool r
alarms_global_temp_pwr bool r
alarms_global_fan_fault bool r
alarms_global_temp_mod bool r
alarms_global_temp_high bool r
Load Monitoring
pilottone_enabled_ch{i} bool rw
pilottone_freq_ch{i} int16 r
pilottone_amplitude_ch{i} float r
pilotdetect_status_ch{i} bool rw
pilotdetect_freq_ch{i} int16 r
pilotdetect_th_low_ch{i} float r
pilotdetect_th_high_ch{i} float r
lm_enabled_ch{i} bool rw
lm_freq_ch{i} int16 r
lm_th_low_ch{i} float r
lm_th_high_ch{i} float r
load_detect_status_ch{i} bool rw
load_th_low_ch{i} float r
load_th_high_ch{i} float r

The parameters that have a {i} suffix really are 8 different parameters.

For example:

parameter gain_in_ch{i} can be expanded to:

  • gain_in_ch0
  • gain_in_ch1
  • gain_in_ch2
  • gain_in_ch3
  • gain_in_ch4
  • gain_in_ch5
  • gain_in_ch6
  • gain_in_ch7

On 4-channel amplifiers, the values for ch4 trough ch7 will be 0.0

Configuration options

The minimal device config when using the default options would be:

settings.yml
devices:
- type: powersoft
name: powersoft1
options:
devices_list:
- name: amp1
ip: 10.0.0.1
ch: 8

This assumes that the scan rate at which the amplifiers will be polled is the default of 500ms.

A complete config would look like this:

settings.yml
devices:
- type: powersoft
name: powersoft
options:
port: 1234
ip: 0.0.0.0
devices_list:
- name: amp1
ip: 10.0.0.1
ch: 8
- name: amp2
ip: 10.0.0.2
ch: 4
scan_rate: 500
mappings:
- name: arbitrary
from:
name: powersoft
type: bool
address: amp1/power_state
to:
name: websocket
type: bool
address: amp1/powerstate

where

type

is always “powersoft” as this is the name of this plugin.

name

unique arbitrary name.

options/ip

the ip address the udp socket server will listen on. Default: 0.0.0.0 - any/all

options/port

the udp port that the powersoft plugin listens on for amplifier responses. Default: 1234

options/scan_rate

this is the polling scan rate in ms and should be an integer. Default: 500. Minimum: 400.

options/devices_list

the list of amplifiers to monitor.

NOTE

The minimum scan rate is 100ms and when not specified will default to 500ms. When going faster the returned data is often invalid or seems to be oscillating. Unfortunately this happens in a way that can’t be tested. If returned data doesn’t make sense, it is advised to try and increase the scan_rate.

Metrics

The following metrics are exported by the powersoftX plugin. They are prefixed / namespaced with powersoftx_, and all of them have the label {instance:"plugin_name"} where plugin_name is the name specified in the settings.yml file with the name attribute. The amplifier metrics also have a label {amp:"amp_name"}. Multiple amps share the same metric name, but can be differentiated by the amp label.

Metric Name Metric Type Notes
General
connection_state Gauge The connection state of the powersoftX server.
Amplifier
connection_state Gauge The connection state of the X amplifier.

Furthermore, all controls that are numeric (everything except strings) are also available with the same metric name as the parameter name in the supported parameters table.