Repository navigation
This release adds support for multi-inverter and multi-meter setups, automatic meter detection, and several new configuration options. Huge thanks to @Shargann, @cooldil, and @tomirgang, whose PRs and issue reports this release is built on.
✨ New features
Multiple inverters (#17)
InverterAddress / INVERTER_ADDRESS now accepts a comma-separated list, each entry optionally with its own port:
SolarEdge:
InverterAddress: "192.168.1.189,192.168.1.190:1502"All metrics now carry an inverter label (host:port) so each inverter can be queried separately, e.g. AC_Power{inverter="192.168.1.189:502"}.
Multiple meters (#25, thanks @cooldil)
New NumMeters / NUMBER_METERS option (default 1, up to 3). The first meter keeps the familiar M_* metric names; additional meters are exported as M2_* and M3_*, following the register layout in the SolarEdge SunSpec implementation technical note (now included under docs/).
Automatic meter detection (#13)
The exporter probes each meter before collecting and skips meters that aren't installed or enabled — no more zero-valued M_* metrics on systems without a meter (e.g. SE5000H). Detection retries automatically after transient connection errors.
Configurable Modbus client ID (#23, thanks @tomirgang)
New ClientId / INVERTER_CLIENT_ID option to override the previously hardcoded Modbus unit ID 1.
Configurable log path (#26, thanks @Shargann)
New Log.Path / LOG_PATH option (default SolarEdge-Exporter.log), handy when running as a systemd service. The sample unit file in contrib/ shows a /var/log setup.
Sample Grafana dashboard (#27, thanks @Shargann)
A ready-made dashboard is now available at grafana/SolarEdgeExporter.json.
⚠️ Upgrade notes
- New
inverterlabel on all metrics. Typical PromQL expressions (e.g.AC_Power*(10^AC_Power_SF), including everything in the sample dashboard) keep working unchanged, since both sides of these expressions carry the same label. Only tooling that depends on completely unlabeled series (e.g. exact-match federation orhonor_labelsedge cases) may need adjusting. - Metric names, types, and raw register/scale-factor semantics are unchanged — no dashboard rewrites required.