Integrations

Connect the systems your team already uses.

Bring supported equipment and vendor data into a shared operating record. Gen318 complements metering, billing and programme platforms, with exports and controlled data access for the next handoff.

Onboarding sequence · not a CLI or timed resultCONNECT
01→Review the site, vendor account and authorised access
02→Configure the supported adapter and equipment mapping
03→Identify expected signals and cadence
04→Commission local buffering if an edge node is needed
05→Inspect received telemetry, freshness and both coverage axes
06→Review evidence gaps before relying on a report
Check your equipment →
Cloud
Supported vendor APIs
Edge
Mapped site devices
Scoped
Partner data access
Review
Compatibility and evidence
01 · The catalogue

Find the connection your workflow needs.

Match your equipment model, account access and required signals to a supported connection path. SparkMeter remains your metering and billing partner; Odyssey remains the programme platform. Equipment control is assessed separately from telemetry access.

Connection catalogue · available pathsCHECK MODEL AND ACCESS
Catalogue categories

Showing all 16 paths

VIC
Victron VRM
Cloud
MONITOR
VRM API

Check credentials and available signals

HUA
Huawei FusionSolar
Cloud
MONITOR
FUSIONSOLAR API
GRO
Growatt
Cloud
MONITOR
SHINESERVER API
SPK
SparkMeter
Cloud
MONITOR
METERING API

Partner remains metering and billing source

KOI
Koios
Cloud
MONITOR
KOIOS API
OKR
Okra Harvest
Cloud
MONITOR
HARVEST API

Mesh topology and per-node readings

GX
Victron GX, locally
Edge
MONITOR
MODBUS TCPMQTT

Reads on site · does not depend on VRM being reachable

SUN
SunSpec inverters
Edge
MONITOR
MODBUS TCP

SMA, SolarEdge, Fronius · presets carry each brand's port and unit id

HYB
Hybrid inverters
Edge
MONITOR
MODBUS RTUMODBUS TCP

Deye, SunSynk, GoodWe, Solis, Sungrow, SRNE, Felicity · community register maps

AXP
Voltronic-core inverters
Edge
MONITOR
PI30 / PI18USB HID

Axpert, MPP Solar, Sako, EASUN, PowMr · its own protocol, not Modbus

GEN
Genset controllers
Edge
MONITOR
MODBUS RTU

Deep Sea Electronics, SmartGen HGM · ComAp by per-site export

BMS
CAN battery packs
Edge
MONITOR
CAN

Victron-profile packs · listen-only, never transmits

MOD
Mapped site devices
Edge
MONITOR
MODBUSMQTT

Anything else, by register map

CTL
Equipment commands
Edge
CONTROL
CONFIGURED PATH

Separate actuation gates · off by default

ODY
Odyssey
Programmes
EXPORT
CSVJSON

Reviewable programme export · not claim approval

API
Partner data access
Partners
CHANNEL
APIWEBHOOKS

Enablement and scoped access required

Through the connection workflowWorkflow
Read
Telemetry
Check
Coverage
Review
Reports
Scope
Partner access
Retry
Backfill

Connection finder

Check your equipment.

Every path here is implemented and shipping in this codebase. Each entry names the file that implements it and where its register map came from. Your exact model and firmware are confirmed at commissioning.

24 connection paths · reviewed 19 September 2026

Solar and hybrid inverters

Edge11

Read on site, over the inverter's own serial or network port.

  • SMA Sunny Boy and Sunny TripowerOperationalDetails
    Signals
    As SunSpec above, depending on the models the unit presents.
    What you need
    Enable the Modbus TCP server in the inverter's web interface — it is off by default. Port 502, SunSpec unit ID 126. Sunny Island is not covered: it does not present a SunSpec map.
    Where the mapping comes from
    SunSpec model discovery. The preset carries SMA's port and unit ID so an installer does not have to find them.
    Check this model →
  • SolarEdgeOperationalDetails
    Signals
    As SunSpec above. Battery is not read: SolarEdge storage sits behind proprietary blocks rather than the standard storage model.
    What you need
    Enable Modbus TCP in SetApp. Port 1502, not 502. One client connection only, with a two-minute idle timeout, so no other Modbus client can share the inverter.
    Where the mapping comes from
    SunSpec model discovery, with SolarEdge's port and single-client behaviour handled by the preset.
    Check this model →
  • Fronius GEN24, Symo Hybrid and SnapINverterOperationalDetails
    Signals
    As SunSpec above, including storage on GEN24 hybrids.
    What you need
    Enable Slave as Modbus TCP, port 502. The meter is a separate unit ID: 200 on GEN24, 240 on Datamanager and SnapINverter.
    Where the mapping comes from
    SunSpec model discovery. The installer's float or integer model choice is read from the chain rather than configured.
    Check this model →
  • Deye SG04LP3 and SG01HP3 hybridsOperationalDetails
    Signals
    Inverter output per phase, run state and fault words; PV per MPPT with the array total; battery voltage, current, power, temperature, state of charge and charge limits; grid voltage, frequency, per-phase power and import/export energy; load and generator port where wired.
    What you need
    RS485 on the inverter's Modbus port — not the BMS port. 9600 8N1, slave 1. One inverter binds to four assets, so the site needs inverter, battery, solar array and grid connection defined.
    Where the mapping comes from
    Transcribed from two published open-source projects, every register carrying its source. Sign conventions and the RS485 pinout are confirmed at commissioning. Not yet read on a physical unit.
    Check this model →
  • SunSynk three-phase hybridsOperationalDetails
    Signals
    As Deye: the hardware and register map are the same.
    What you need
    As Deye. The map differs only in the vendor it reports for identity.
    Where the mapping comes from
    Shares the Deye map by explicit inheritance rather than a second copy. No SunSynk unit has been read on a bench either.
    Check this model →
  • GoodWe ET, EH, BT and BH hybridsOperationalDetails
    Signals
    PV per MPPT with the array total; inverter output; grid voltage, frequency, per-phase power and import/export energy; battery voltage, current, power, temperature, state of charge and state of health.
    What you need
    Modbus TCP on the LAN and WiFi dongle, or RS485 direct. Slave address 247 — unit 1 gets no reply from these models, which looks like a dead bus.
    Where the mapping comes from
    Transcribed from a published open-source library, every register sourced. Battery power sign is confirmed at commissioning. Not yet read on a physical unit.
    Check this model →
  • Solis S5, S6-EH1P and RHI hybridsOperationalDetails
    Signals
    PV power and energy; inverter output and temperature; grid frequency and meter voltage, current, power and energy; battery voltage, current, state of charge and state of health.
    What you need
    RS485 direct is the reliable path — some Solis loggers ship with local Modbus TCP switched off. 9600 8N1, input registers rather than holding registers.
    Where the mapping comes from
    Transcribed from a published open-source integration. Battery power is deliberately not read: the source keeps direction in a separate register, so a single value would report a discharging pack as charging. Not yet read on a physical unit.
    Check this model →
  • Sungrow SH hybrids and SG string invertersOperationalDetails
    Signals
    SH: PV per MPPT, phase voltages, grid import and export, battery charge and discharge energy. SG: PV power and energy, inverter output, phase voltages. A string inverter has no battery and the two maps are separate files.
    What you need
    Modbus TCP via the WiNet dongle, enabled in the iSolarCloud app, with the IP whitelist off or the node whitelisted. The dongle needs a minimum firmware and is slow, so requests are paced.
    Where the mapping comes from
    Transcribed from published open-source integrations. Battery power is deliberately not read: the source records that its sign convention changed with a 2024 firmware. Not yet read on a physical unit.
    Check this model →
  • SRNE hybrid invertersOperationalDetails
    Signals
    Battery state of charge, voltage and temperature; PV per tracker with the array total; grid voltage, current and frequency; inverter output voltage, current, frequency and heatsink temperature; load power; today's yield; the active fault code.
    What you need
    RS485 to the inverter, 9600 8N1, slave 1. Single-tracker models reject any read that spans the second tracker's registers, so the second tracker is switched on per site rather than assumed.
    Where the mapping comes from
    Transcribed from SRNE's own protocol document and two published open-source projects, every register carrying its source. Battery current, the lifetime energy counters and both state enumerations are deliberately absent: the sources contradict each other on each one, and the map names the contradiction line by line. SRNE is worth knowing about because it is rarely sold under its own name — a good deal of house-brand and importer-badged stock is this board. Not yet read on a physical unit.
    Check this model →
  • Felicity Solar IVEM hybridsOperationalDetails
    Signals
    Battery voltage, power, temperature, state of charge and state of health; PV voltage, current and power; grid voltage, frequency, current and power; inverter output voltage, current, frequency and temperature; load power.
    What you need
    RS232, not RS485 — the RJ45 socket marked RS232 beside the BMS port, through a straight USB lead or a level shifter. An RS485 converter on that socket reads nothing. The two published sources disagree on baud rate, so the site confirms 9600 or 2400.
    Where the mapping comes from
    Transcribed from two published open-source projects, every register sourced. Two things are absent because they are absent from the hardware: this inverter reports no serial number, model or firmware on the wire, and no energy counter of any kind — so daily and lifetime yield are the platform's, not the device's. Battery current is not read either, because three registers claim the name and the sources disagree on their scale. Not yet read on a physical unit.
    Check this model →
  • Voltronic-core inverters (Axpert family)OperationalDetails
    Signals
    Grid voltage and frequency; inverter output voltage, frequency and power; battery voltage, state of charge and current; PV voltage and power, per tracker on newer units; the run mode and the warning word.
    What you need
    A serial lead to the inverter's RS232 port at 2400 8N1, or a USB lead to the inverter's own socket, which presents as a HID device. Two incompatible protocol generations are in the field and a unit only reveals which it speaks by answering, so the node asks rather than being configured.
    Where the mapping comes from
    The same board is sold as Axpert, MPP Solar, Sako, EASUN, PowMr, Greco and Mecer, among others, so the badge on the box is a poor guide to what is inside. Gen318's own implementation of Voltronic's published command protocol, both generations. This is not Modbus and not a register map. It is read-only by construction: the vendor's setting commands are indistinguishable from its queries on the wire, so only an explicit list of read commands is ever sent. Not yet read on a physical unit.
    Check this model →

Genset controllers

Edge3

Read on site. Check the model number first — not every variant has a port.

  • Deep Sea Electronics genset controllersOperationalDetails
    Signals
    Engine state, oil pressure, coolant temperature, fuel level and starting battery voltage; output voltage, frequency and power in watts; run hours, generated kWh and start count.
    What you need
    RS485 to the controller, or Modbus TCP where fitted. Baud and slave vary by installation — 115200 and slave 10 are the documented starting point.
    Where the mapping comes from
    Transcribed from three agreeing public sources including the manufacturer's own protocol document. Unimplemented sensors are reported as absent rather than as a reading, using the controller's own reserved-value convention. Fuel flow is not read: it is not in the protocol and is never derived from load percentage. Not yet read on a physical controller.
    Check this model →
  • ComAp InteliLite and InteliGen controllersOperationalDetails
    Signals
    The same genset measurements as DSE, once the addresses are filled in.
    What you need
    RS485 at 57600 8N1, one object per request. ComAp addresses communication objects rather than fixed registers, so the register table is exported from LiteEdit or InteliConfig for that controller's own configuration and firmware.
    Where the mapping comes from
    A template with the measurements named and the addresses blank. It refuses to poll until they are filled from the site's own export, so a half-finished setup fails loudly rather than reporting nothing. Not yet read on a physical controller.
    Check this model →
  • SmartGen HGM genset controllersOperationalDetails
    Signals
    Engine state across SmartGen's own sixteen states; oil pressure, temperature, fuel level and starting battery voltage; output voltage, frequency and power; run hours, start count, generated kWh, fuel consumed and fuel rate; the mains side of the transfer switch.
    What you need
    RS485 at 9600, eight data bits, no parity and two stop bits. The second stop bit is unusual and is what a silent bus usually turns out to be. Covers the HGM7220 and HGM9510 families.
    Where the mapping comes from
    Transcribed from two of SmartGen's own current protocol documents, which agree on every register read here. Worth checking the model number first: SmartGen's manual states the HGM6110N and HGM6120N have no RS485 port at all, so they cannot be read by anything. The Modbus sibling carries an NC suffix. HGM7110N and HGM7120N are also not covered, because their own document prints no units. Not yet read on a physical controller.
    Check this model →

Battery packs

Edge1

A listen-only tap on the inverter-to-battery bus. Most sites do not need it.

  • CAN battery packs (Victron-profile)OperationalDetails
    Signals
    State of charge and health, voltage, current, temperature, charge and discharge limits, and a coarse alarm state.
    What you need
    A CAN interface on the edge node, tapping the inverter-to-battery bus. The node listens and never transmits: the interface must be in listen-only mode before it will open the bus. Most sites do not need this — a hybrid inverter already republishes the pack's readings into its own registers.
    Where the mapping comes from
    The Victron-profile frame set that FreedomWon, Pylontech-class and BYD packs speak. The alarm frame is read coarsely, because published descriptions of it disagree on what individual bits mean. Not yet read on a physical pack.
    Check this model →

Gateways and protocols

Edge3

No per-brand map needed. If the equipment speaks these, it is covered.

  • SunSpec-compliant inverters and metersOperationalDetails
    Signals
    Inverter current, voltage, power, frequency and temperature; per-phase detail; meter power, energy in both directions and power factor; battery state of charge where the unit exposes storage; per-string DC current, voltage and power on multi-MPPT units.
    What you need
    Commissioned edge node, Modbus TCP reachable on the local network, and the Modbus server enabled on the inverter — it ships disabled on several brands.
    Where the mapping comes from
    The SunSpec Alliance's own model definitions. Integer and float model variants, meters, basic storage and the multi-MPPT extension are all read; the model chain reports which the unit presents.
    Check this model →
  • Victron GX devices, locallyOperationalDetails
    Signals
    The same system, battery, solar charger and inverter readings VRM shows — read from the device on site rather than from the cloud.
    What you need
    A Cerbo GX or Venus GX reachable on the local network, with Modbus TCP or the local MQTT broker enabled on it.
    Where the mapping comes from
    Victron's published register table for Modbus, or the GX device's own MQTT topics. Useful where the site has no reliable internet: it does not depend on VRM being reachable.
    Check this model →
  • Mapped Modbus equipmentOperationalDetails
    Signals
    Whatever the device's register map exposes, addressed to the right asset; units, scaling and polling are set per site.
    What you need
    Commissioned edge node, local device access, and the model and firmware register documentation.
    Where the mapping comes from
    Site-specific register configuration, or one of the shipped vendor maps below.
    Check this model →

Vendor cloud platforms

Cloud6

Read from the vendor's API. No box on site, but you need API access.

  • Victron VRMOperationalDetails
    Signals
    Battery state of charge, voltage, current and power; PV power and daily yield; inverter output and system consumption.
    What you need
    Authorised VRM token and installation ID. Confirm that the installation exposes the signals you need.
    Where the mapping comes from
    VRM system and widget fields
    Check this model →
  • SparkMeterOperationalDetails
    Signals
    Meter energy, power, voltage, current and power factor.
    What you need
    Authorised SparkMeter token, service endpoint and customer code; meter-to-asset mapping.
    Where the mapping comes from
    SparkMeter meter fields
    Check this model →
  • SparkMeter KoiosOperationalDetails
    Signals
    Meter energy, power, voltage, current and power factor; recognised grid-status values.
    What you need
    Authorised API token, grid IDs and meter-to-asset mapping.
    Where the mapping comes from
    Koios meter fields and grid-status vocabulary
    Check this model →
  • Huawei FusionSolarOperationalDetails
    Signals
    Mapped station, inverter, battery and meter readings; availability depends on the equipment and API access.
    What you need
    FusionSolar API account, regional endpoint and station codes. A portal login alone does not establish API access.
    Where the mapping comes from
    FusionSolar KPI fields
    Check this model →
  • Growatt ShineServerOperationalDetails
    Signals
    Mapped inverter output, PV power and battery readings, including state of charge where exposed.
    What you need
    Authorised Growatt API token, service endpoint and plant IDs; verify the device response and mapping.
    Where the mapping comes from
    ShineServer inverter and storage fields
    Check this model →
  • Okra Harvest meshOperationalDetails
    Signals
    Per-node PV power and battery state of charge, plus mesh topology: node count, active node-to-node connections and power shared between them.
    What you need
    Authorised Okra Harvest API access for the deployment.
    Where the mapping comes from
    Okra Harvest node and topology fields. The mesh view is the point — a cluster's health is not visible from any single node.
    Check this model →
Check an unlisted model →

Every path here reads. Writing to equipment is a separate assessment and is off by default. Share the model, firmware and the measurements you need — never passwords or API tokens. SparkMeter remains the metering and billing platform; Gen318 connects its authorised readings to operational workflows.

02 · Connection health

Connected isn't done. Coverage still matters.

See which signals arrived, which passed validity checks and which need attention. Source age and expected cadence help explain gaps even when an adapter is connected.

Integration health · portfolio
CheckBOTH AXES
DELIVERY Arrived?TRUST Usable?

Connection checks.
A gauge alone cannot establish evidence quality.

Checks · by adapter30-DAY WINDOW
Victron · VRMREVIEWOpen
Source age
Inspect freshness
Expected signals
Inspect mapping
Period quality
Delivery + trust
SparkMeter · KoiosREVIEWCheck
Huawei · FusionSolarREVIEWCheck
Growatt · ShineServerWATCH · API LAGCheck
03 · Control abstraction

From a decision to a checked execution path.

For compatible equipment, review the command path, permission and safety checks before enabling physical control. Actuation is off by default; an approved recommendation alone does not establish delivery or equipment response.

Equipment control · separate execution checksOFF BY DEFAULT
Command path
Proposed response
  → operator review
  → separate execution path
  → observed result
AUTHORISE
Current permissions
Check role, proposal and expiry
ENABLE
Configured device path
Check actuation gates and local safety conditions
OBSERVE
Command result
Retain execution records and subsequent findings
04 · The last mile

Keep the record through interrupted links.

Commissioned edge nodes buffer readings locally and prioritise critical records when connectivity returns. Size power, storage and retention for the site; remote views remain stale while the link is down.

  • Confirm site-specific equipment and register mappings
  • Edge compresses and batches before anything leaves the site
  • Priority queue drains in order when signal returns
Priority synchronisation · ladderLOCAL BUFFER
T1
Alerts & safety
higher priority · delivery needs a link
T2
Control acks
command records
T3
Telemetry
batched · compressed on the edge
T4
Bulk history
opportunistic · waits for good signal

Priority indicates queue order, not guaranteed delivery time. Buffering depends on power, storage and configuration.

Carry authorised evidence into partner workflows.

Use exports for a reporting handoff, scoped read APIs for authorised data access and webhooks for event notifications. Agree the recipient and data scope; API and webhook availability depends on deployment enablement, entitlement and permissions.

Read the developer reference →

Bring your equipment list and the workflow you need.

Explore the signals you can connect, the output you need and the setup each path requires.

Request an integration demo