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
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.
All the parameters below can be accessed by referencing amp_name/<parameter>
.
More | Mapping parameter name Parameter | Mapping IO type IO type | Read / Write access mode 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:
On 4-channel amplifiers, the values for ch4 trough ch7 will be 0.0
The minimal device config when using the default options would be:
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:
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
is always “powersoft” as this is the name of this plugin.
unique arbitrary name.
the ip address the udp socket server will listen on. Default: 0.0.0.0 - any/all
the udp port that the powersoft plugin listens on for amplifier responses. Default: 1234
this is the polling scan rate in ms and should be an integer. Default: 500. Minimum: 400.
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.
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.
More | 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.