Probing a device
collector-app --probe HOST[:UNIT] reads one device's SunSpec map once and prints it as JSON:
the base address, every model's header address and length, its registers, and the decoded
points. It uses the same settings as the service (--config, SUNSPEC_* variables, and the
device's static-device overrides), so it shows what the collector would read, and it does not
start the service.
collector-app --probe 192.168.1.50:126 > dump.json
SUNSPEC_PORT=1502 collector-app --probe inverter.local # unit defaults to 1
The JSON goes to standard output and a one-line summary to standard error, for example
192.168.1.50/126: SunSpec map at 40000, models 1, 103, 120, 160. A model that cannot be read is
kept in the dump with its error, and named in a warning. Serial numbers (SN) and network
addresses (MAC, IPv4, IPv6) in each model's top level are blanked and listed under redacted;
--keep-identifiers keeps them.
Use it when commissioning a device, when a device is not polled (it shows whether the SunSpec
map is found and every model reads), and for device reports.
sunspec-sim --fixture dump.json serves the dump again, so a reported problem can be reproduced
without the hardware (see fixtures/devices/README.md).