feat: initial scaffold and profiles for Schneider iEM2135, LUG heat meter v4
Auto Tag / tag (push) Failing after 2s
Auto Tag / release (push) Has been skipped
CI / validate (push) Failing after 3s

Seed the repo described in pda-fieldbus ADR-0009: a sibling repo that
ships device profiles independently of the fieldbus binary.

Layout:
- profiles/schneider-iem2135.json    — distilled from the inline extract
                                       rules in examples/poll-d27-g110.yaml
- profiles/lug-heat-meter-v4.json    — heat-meter profile with derived
                                       delta_temperature

Both validate against pda-fieldbus's profile.LoadDirs.

Packaging:
- nfpm.yaml builds pda-fieldbus-profiles.deb installing profiles/ to
  /usr/share/pda-fieldbus/profiles/, where the loader's DirPackaged dir
  picks them up. Recommends pda-fieldbus.
- .gitea/workflows/auto-tag.yml: same conventional-commit auto-tagging
  as pda-fieldbus, on tag push installs nfpm, builds .deb, uploads to
  repo.pda.cz/PDAT/main using the existing PDA_REPO_TOKEN secret.
- .gitea/workflows/ci.yml: JSON syntax check + schema validation by
  importing pda-fieldbus's loader and calling LoadDirs against profiles/.
This commit is contained in:
2026-05-01 13:30:35 +02:00
commit 924b7b5b34
9 changed files with 371 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
{
"schema": "pda-fieldbus.profile/v1",
"device": {
"manufacturer": "LUG",
"model": "heat-meter-v4",
"protocol": "mbus"
},
"meta": {
"version": "1"
},
"points": {
"energy": {
"addr": "mbus/dif:0C/vif:0F",
"unit": "gigajoule",
"scale": 1e-9,
"dimensions": "energy",
"description": "Total heat energy"
},
"power": {
"addr": "mbus/dif:0B/vif:2D",
"unit": "kilowatt",
"scale": 0.001,
"dimensions": "power",
"description": "Instantaneous thermal power"
},
"flow_temperature": {
"addr": "mbus/dif:0A/vif:5B",
"unit": "celsius",
"dimensions": "temperature",
"description": "Supply (flow) temperature"
},
"return_temperature": {
"addr": "mbus/dif:0A/vif:5F",
"unit": "celsius",
"dimensions": "temperature",
"description": "Return temperature"
},
"volume_flow": {
"addr": "mbus/dif:0B/vif:3B",
"unit": "cubic_metre_per_hour",
"dimensions": "flow",
"description": "Volumetric flow rate"
}
},
"derived": {
"delta_temperature": {
"function": "sub",
"inputs": ["flow_temperature", "return_temperature"],
"unit": "celsius",
"dimensions": "temperature",
"description": "Flow minus return temperature"
}
}
}
+35
View File
@@ -0,0 +1,35 @@
{
"schema": "pda-fieldbus.profile/v1",
"device": {
"manufacturer": "Schneider Electric",
"model": "iEM2135",
"protocol": "mbus"
},
"meta": {
"version": "1",
"references": [
"Schneider iEM2000 series user manual"
]
},
"points": {
"current": {
"addr": "mbus/dif:05/vif:FD/vife:DC,FF,00",
"unit": "ampere",
"dimensions": "current",
"description": "Total current"
},
"power": {
"addr": "mbus/dif:05/vif:2E",
"unit": "watt",
"dimensions": "power",
"description": "Active power"
},
"energy": {
"addr": "mbus/dif:07/vif:03",
"unit": "kilowatt_hour",
"scale": 0.001,
"dimensions": "energy",
"description": "Total active energy import"
}
}
}