Files
EVOLV/.claude/rules/telemetry.md
znetsixe 6a6c04d34b Migrate to new Gitea instance (gitea.wbd-rd.nl)
- Update all submodule URLs from gitea.centraal.wbd-rd.nl to gitea.wbd-rd.nl
- Add settler as proper submodule in .gitmodules
- Add agent skills, function anchors, decisions, and improvements
- Add Docker configuration and scripts
- Add manuals and third_party docs
- Update .gitignore with secrets and build artifacts
- Remove stale .tgz build artifact

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 21:07:04 +01:00

1.1 KiB

paths
paths
nodes/*/src/nodeClass.js

Telemetry Rules

Output Port Convention

  • Port 0: Process data (downstream node consumption)
  • Port 1: InfluxDB telemetry payload
  • Port 2: Registration/control plumbing

InfluxDB Payload Structure

Port 1 payloads must follow InfluxDB line protocol conventions:

  • Tags: Low-cardinality indexed fields (node name, machine type, station ID)
  • Fields: High-cardinality values (measurements, setpoints, quality scores)

Cardinality Rules

  • Never add high-cardinality tags — no timestamps, UUIDs, or free-text values as tags
  • Tags are for grouping/filtering; fields are for values
  • New tags require review for index impact

FlowFuse Dashboard Compatibility

  • Charts use msg.topic for series identification (category: "topic")
  • Dashboard API endpoints serve pre-aggregated data
  • Changes to Port 0 msg.topic format can break downstream dashboards

Consistency

  • Field names for the same measurement type must be consistent across all nodes
  • Measurement names follow a documented naming convention
  • Aggregation windows (1min, 5min, 1hr, 24hr) are standardized