Skip to content

Output and pull requests

After a measurement run, inspect the generated output before creating a pull request. The tool creates a good starting point, but the contributor is still responsible for making sure the profile identifies the correct device and contains plausible measurements.

Output location

Docker runs write to the mounted export directory in your measurement working directory:

powercalc-measure/
  .env
  export/
    <model_id>/
      model.json
      brightness.csv.gz
      color_temp.csv.gz

Native runs write to:

utils/measure/export/

Some modes do not write profile files. Average prints a result, and Recorder writes the filename you selected in the wizard.

Generated model data

When you choose to generate model.json, the tool fills fields such as:

  • name
  • device_type
  • calculation_strategy
  • standby_power
  • measure_method
  • measure_device
  • measure_description
  • measure_settings
  • created_at
  • min_voltage and max_voltage when voltage readings are available

You may still need to add or adjust library metadata before submitting, for example:

  • aliases
  • Additional discovery identifiers
  • Manufacturer directory and manufacturer.json
  • Device-type-specific fields that the tool cannot infer

Where to place files

Profiles belong under:

profile_library/<manufacturer>/<model>/

Use only the model ID for the model directory name. Put the full product name in aliases when needed.

Example:

profile_library/acme/LED1837R5/
  model.json
  hs.csv.gz
  color_temp.csv.gz

Important

Do not edit profile_library/library.json. It is generated by CI and repository scripts.

Review checklist

Before opening a pull request:

  • The manufacturer and model directory names are correct.
  • The profile uses a specific model identifier, not a generic family identifier.
  • The generated CSV files match the capabilities of the device.
  • There are no uncompressed duplicate .csv files when .csv.gz files are present.
  • Standby power is realistic and not accidentally 0 because of meter limitations.
  • The profile validates against the schema.

Pull request steps

  1. Fork the Powercalc repository.
  2. Add the manufacturer and model directory under profile_library.
  3. Commit only the profile files needed for this device.
  4. Open a pull request against the Powercalc repository.
  5. Use the power profile pull request template.
  6. Mention anything unusual about the setup, such as dummy load usage, multiple lights in parallel, OCR, manual readings, or estimated standby power.

Submit one device per pull request. Smaller pull requests are easier to review and keep the profile history clear.