Filter out sensors based on regex matches. This allows removing all unit text suffixes if, for example, the panel image already contains the unit text.
2.5 KiB
Sensor Panels
Sensor Modes
Different sensor modes are supported:
Sensor Data Sources
The sensor value reading is separated from the asterctl tool, with the exception of some internal sensors:
- Internal date time sensors
Sensor values are provided in separate text files and are automatically read when the file changes.
Only the file data source is supported at the moment; other sources like pipes, sockets, etc. might be supported later.
Sensor Data Providers
- Proof of concept Linux shell scripts
- aster-sysinfo tool
Sensor Identifier Mapping
The original AOOSTAR-X software uses very weird label identifiers (actually sometimes even a composite key depending on the data source), which are likely based on an internal JSON structure.
To easily use original custom sensor panels with various sensor data sources, a sensor identifier mapping file can be used.
The mapping file is a simple text file with one identifier mapping per line:
- Key = label identifier used in panel definition
- Value = label identifier used in sensor providers
Example:
cpu_temperature: temperature_cpu
This maps the temperature_cpu sensor from the aster-sysinfo tool to the cpu_temperature sensor used in the
AOOSTAR-X panel definitions.
Usage example:
asterctl --config monitor.json --sensor-mapping sensor-mapping/sysinfo-to-aoostar.cfg
Sensor Filter
Sensor entries in the text file can be filtered by regular expressions defined in the sensor filter file having the
same name as the sensor identifier mapping file, but with the -filter suffix in the file name.
Example:
- Sensor identifier mapping file:
sensor-mapping/sysinfo-to-aoostar.cfg - Sensor filter file:
sensor-mapping/sysinfo-to-aoostar-filter.cfg
The filter file is a simple text file with one regular expression per line:
Example:
# remove all temperature sensor units
temperature_.*#unit
This removes all sensors starting with temperature_ and ending with #unit, which will make sure that all the
temperature sensors will be rendered without the unit text suffix on the display panel.