← RM Technical ServicesRM TECHNICAL SERVICES / COMMISSIONING GUIDE
Connect your Sunsynk.
Start with reliable measurements.
Installation basis: photographed SUNSYNK-8K-SG01LP1 and Freedom Won eTower battery modules. Logger type, firmware, communications availability and whole-property metering coverage remain unverified.
1. Hardware to confirm or supply
- Local monitoring host: a supported SolarAssistant device and licence, or a supported local inverter integration on a dedicated Home Assistant host. Use reliable storage, a suitable power supply and backup power for the host, router and fibre ONT.
- Correct interface: SolarAssistant documents an SG01LP1-specific USB-to-RS485 cable with a nonstandard RJ45 pinout. Confirm the exact inverter revision and port with the installer before ordering. A generic Ethernet cable or arbitrary USB adapter is not a substitute.
- Network: wired Ethernet to the local host where practical; reserved IP addresses, NTP/time synchronisation and outbound HTTPS. No inbound router port-forwarding is required.
- Metering: verify the installed inverter CT covers all relevant circuits, including non-backed-up loads. If it does not, fit an appropriate bidirectional meter with the correct number of phases and CT ratings. Select a Shelly Pro 3EM or equivalent only after phase and current assessment. Keep the utility revenue meter intact.
- Optional later controls: motor-rated contactor, overload protection, physical override and flow permissive for the pool. They are not required for monitoring and are a separate commissioning stage.
2. Access details needed
- Exact inverter model, serial, firmware, logger model and current installer details. Record these privately.
- Owner access to the existing Sunsynk monitoring account to compare readings; do not share passwords in work orders. Cloud account access alone does not guarantee an approved API.
- Local network details and a commissioning method for the gateway. Enter Wi-Fi credentials locally if wired access is unavailable.
- Home Assistant URL, a dedicated service account token, and the five verified entity IDs. The bridge calls GET /api/states only; the HA token may have broader privileges, so restrict its account and protect the host.
- RM gateway upload token created in the private portal, plus a separate owner-provisioned Sites service-access token. Neither belongs in browser code, Git, screenshots or this document.
- Utility tariff and phase configuration, critical-load priorities and desired battery reserve. These influence interpretation and later rules.
3. On-site scope
- Photograph labels and trace the supply, inverter output, grid CT and non-essential circuits. Establish whether “load” is whole-property consumption or only inverter output.
- Qualified installer isolates safely and confirms the correct monitoring port. The documented port can be inside the inverter. Preserve BMS communication and protective settings; no unverified splitters or pinouts.
- Fit the supported interface and gateway, then verify communication against the inverter display. Use the vendor-supported Home Assistant integration or MQTT path appropriate to the installed versions.
- Map solar, load, grid and battery power to kW and SOC to %. Grid positive means import; battery positive means charging. Document sign reversals and W-to-kW scaling.
- Provision the RM gateway service locally. Enable regular uploads only after checking the destination, identity and sensor coverage.
- Run a daylight test, a known-load test, a grid import/export direction check where applicable, and a night/battery test. Compare accumulated energy with the correct meter over at least 24 hours.
- Disconnect internet, confirm local operation continues, restore it and prove queued records upload once. Reboot the host and verify service restart. Revoke a test token and prove rejection.
- Handover wiring/interface record, entity mapping, owner access, backup/restore procedure and maintenance responsibilities.
4. Software provided
Private portal endpoints: POST /api/gateways issues an owner-bound upload token; POST /api/ingest accepts validated batches; GET /api/live returns only the signed-in owner’s readings. Revocation blocks new uploads. Timestamp-based IDs make retry uploads idempotent.
The Python gateway reads Home Assistant every 60 seconds by default. It validates units, finite values and sensor freshness; stores unsent readings in a local SQLite outbox; retries failed uploads with bounded backoff; and drops records older than six days with a log entry. The server accepts up to 120 readings per batch within seven days, rejects future timestamps, and stores UTC timestamps. The dashboard shows the latest 1,440 readings for a gateway (24 hours at one-minute sampling); it is not a full historical billing report.
Local setup: create a dedicated rm-gateway OS account; copy gateway_agent.py to /opt/rm-gateway; copy the verified mapping to /etc/rm-gateway-mapping.json; put environment values in /etc/rm-gateway.env with root ownership and mode 600; install the supplied systemd unit, reload systemd and enable rm-gateway. Test with --once first. The agent never writes to inverter registers or calls HA control services.
5. Acceptance and limits
Commissioning passes when data arrives with correct units/direction, fresh readings are visible, expected gaps are visible rather than estimated, unauthorised and revoked tokens fail, retries do not duplicate readings and outage recovery works. Set the meter comparison tolerance from instrument specifications and the actual circuit boundary.
No claim of real-time monitoring can be made before hardware access and an on-site test. The supplied software supports the data path; physical inverter compatibility and energy accuracy must still be commissioned. Do not use sample readings as evidence of savings.
6. Safe automation follows measurement
10:00–15:00 is a possible scheduling window, not proof of surplus. Use sustained measured surplus, battery reserve, motor starting allowance, minimum dwell time and required daily filtration runtime. Keep manual OFF, overload and no-flow protection dominant. No automatic gate opening or security disarming is enabled by this platform.
Reference documentation