# pda-fieldbus-profiles Reusable device profiles for [pda-fieldbus](https://git.pda.cz/PDAT/pda-fieldbus). A device profile is a JSON description of one device model: which DIF/VIF records to read on M-Bus (or which registers on Modbus), what units they have, how to scale them, and any derived values to compute from them. Profiles let `pda-fieldbus poll` configurations stay short (`profile: schneider-iem2135`) instead of repeating extract rules per deployment. See `pda-fieldbus` ADR-0009 and spec PDA-0010 for the full schema and loader semantics. ## Layout ``` profiles/ schneider-iem2135.json lug-heat-meter-v4.json ... ``` Each file is one profile. The filename stem is the profile name referenced from a poll config (`profile: schneider-iem2135`). ## Installation The `pda-fieldbus-profiles` `.deb` installs files to: ``` /usr/share/pda-fieldbus/profiles/ ``` The `pda-fieldbus` loader scans that directory plus `/etc/pda-fieldbus/profiles.d/` (operator overrides — wins on filename collision). To override a packaged profile on one box, copy it to the operator dir and edit there; the package will not overwrite it. ## Adding a profile 1. Create `profiles/.json` following an existing profile. 2. Validate it loads against the current `pda-fieldbus` loader: ``` pda-fieldbus poll --config --profile-dir ./profiles --dry-run ``` 3. Open a PR. Use a `feat:` commit (`feat: add - profile`). The `feat:` prefix triggers a minor version bump and a release of the `.deb` to repo.pda.cz. ## Conventional commits Same convention as `pda-fieldbus`: - `feat:` — new profile (minor bump) - `fix:` — correction to an existing profile (patch bump) - `docs:`, `chore:`, `ci:` — no version bump ## License MIT. See `LICENSE`.