Configuration

equser uses YAML configuration files for sensor and acquisition settings. The configuration system follows XDG conventions and supports multiple lookup locations.

Configuration lookup order

equser searches for configuration files in this order:

  1. EQUSER_CONFIG environment variable (if set)
  2. ./equser.yaml (current directory)
  3. ~/.config/equser/config.yaml (XDG config)
  4. /etc/equser/config.yaml (system-wide)

The first file found is used.

Example configuration

sensor:
  address: "192.168.10.10"
  port: 1535

pmon:
  connection:
    retry_delay: 3
  parquet:
    interval: 86400
    compression:
      method: ZSTD
      level: 4

Configuration sections

sensor

Connection settings for EQ Wave sensor hardware.

KeyTypeDefaultDescription
addressstring"192.168.10.10"Sensor IP address
portint1535Sensor TCP port

pmon

Power monitor acquisition settings.

KeyTypeDefaultDescription
connection.retry_delayint3Seconds between reconnect attempts
parquet.intervalint86400Seconds per Parquet file (86400 = 24 hours)
parquet.compression.methodstring"ZSTD"Compression method (ZSTD, SNAPPY, GZIP, or NONE)
parquet.compression.levelint4Compression level

Data paths

Default paths follow XDG conventions:

PathContents
~/.local/share/equser/pmon/PMon Parquet files
~/.config/equser/config.yamlUser configuration

On EQ Synapse gateways, data is stored at:

PathContents
/var/lib/eq-synapse/data/pmon/PMon files (YYYYMMDD_HHMM.parquet)
/var/lib/eq-synapse/data/cpow/CPOW files (YYYYMMDD_HHMMSS.parquet)

Programmatic access

from equser.core.config import load_config, get_sensor_address

config = load_config()
address = get_sensor_address(config)
print(f"Sensor at {address}")