# Prime RMS device integration matrix

What Prime RMS can talk to today, how, and what each device needs. The Prime Gate
Agent ships four drivers, and every device below reaches Core through one of them:

- **modbus** — Modbus RTU (RS-485/RS-232) and Modbus TCP, read and write, 16/32-bit, floats, bit masks
- **snmp** — SNMP v1/v2c/v3, GET and SET
- **gpio** — on-board digital in/out (dry contacts, relays)
- **sysinfo** — the gateway's own health (CPU, temp, uplink, cellular RSSI)

"Ready" means it works with a driver already shipped, given the vendor's register map or MIB.
"Driver needed" means a new plugin has to be added to the SDK (a bounded, days-scale job).

## Huawei site-power and energy components

| Component | Interface | Prime RMS | Notes |
|---|---|---|---|
| Huawei SMU / SmartLogger site monitoring unit | SNMP v2c/v3 and Modbus TCP | **Ready** (snmp / modbus) | Needs Huawei's MIB or the SmartLogger Modbus-TCP register table (partners get it under NDA). Reads rectifier, DC bus, battery, alarms; the same object tree NetEco uses. |
| Huawei rectifier shelves (ETP/TP48 power systems) | via the SMU (SNMP/Modbus) | **Ready** | Per-module current/voltage/fault, load share, DC output. Model as `rect.mod_N_i`, `rect.mod_N_fault`. |
| Huawei SUN2000 solar inverters | Modbus TCP (register map published) | **Ready** (modbus) | PV voltage/current, power, daily/total kWh, MPPT status and faults. |
| Huawei UPS2000 / UPS5000 | Modbus TCP or SNMP | **Ready** | Input/output, battery, bypass, alarms. |
| Huawei ESM/LUNA2000 lithium batteries | Modbus (via SMU) or CAN (direct) | **Ready via SMU**, driver needed for direct CAN | SOC/SOH/voltage/current/temperature/cell alarms come through the SMU over Modbus; direct BMS-CAN needs the CAN driver. |
| Huawei NetEco / NCE (management platform) | Northbound SNMP trap, REST, FTP/SFTP CM+PM | **Partly ready** | Prime RMS receives SNMP traps (receiver in progress) and exposes REST northbound. Full NCE manager-of-managers is decision D2. |

Africell excludes Huawei for *new* supply, but its ~780 existing Huawei/Ericsson/Aviat
power sites are the D7 retrofit target — read-only integration with those SMUs is the point.

## MEGMEET telecom power (rectifier / solar / hybrid cabinets)

MEGMEET DC power systems (indoor/outdoor cabinets such as OD-THL-220-001) are built
from plug-in modules that talk **CAN** to an **MC2900 controller**. The modules are not
polled individually by the RMS — the MC2900 aggregates them and exposes the whole
cabinet **northbound over SNMP v2c/v3 and Modbus TCP (YDT-1363) on Ethernet** (plus
RS485-3 to an FSU). Prime RMS connects to the MC2900.

**MC2900 controller I/O** (the integration hub): 2× southbound CAN + RS485-1/2/4/5,
northbound RS485-3, 1× northbound Fast-Ethernet, **12 DI, 8 DO**, 3 AI (2 battery temp +
1 ambient), 4 load fuses, 2 battery fuses. System capacity up to 4800 A / 64 modules in
parallel. Northbound Ethernet supports TCP/UDP, **SNMP v3, Modbus, YDT-1363**, plus
HTTPS/SMTP/NTP/SSH/SFTP. Run/Prompt/Alarm LEDs map to host-comm state and major/minor alarm.

| Device | Interface | Prime RMS | Notes |
|---|---|---|---|
| MEGMEET MC2900 controller | SNMP v3, Modbus TCP (YDT-1363), Ethernet / RS485-3 | **Ready** (snmp / modbus) | The integration point. Profile `megmeet_mc2900` (≈40 points) reads DC bus V/I/power, rectifier module count/online/failed + temp, AC 3-phase + freq + mains-fail, solar PV V/I/power/kWh, battery V/I/SOC/SOH/2×temp/cycles/backup-min/strings + LVD + anti-theft, LLVD/BLVD + tripped-breaker count, ambient temp/humidity, door/smoke/water, host-comm health, critical/major/minor alarm rollups, and one controllable aux DO. Confirm OIDs/registers against the MC2900 MIB / YDT-1363 map. |
| MR484000SG1/SG2/SG3 rectifier module (4 kW) | CAN → MC2900 | **Ready via MC2900** | 85–290 VAC in, −42…−58 VDC (−53.5 V) out, 81.3 A, >96.5% eff. SG1/SG2/SG3 are the CE/UL/CB-certified variants. Per-module V/I/temp/status surface through the controller. |
| MS483000HG solar MPPT module (3 kW) | CAN → MC2900 | **Ready via MC2900** | PV 120–425 VDC (MPPT) → −54.5 VDC, 62.5 A, >96% eff. PV input, output and status via the controller. |
| MEGMEET MPC48100 / MPC48150 lithium battery | RS485 + CAN (48100) / RS485 + SNMP (48150) → MC2900, or direct | **Ready** (via MC2900 or profile `megmeet_battery`) | 100 Ah/4.8 kWh or 150 Ah/7.2 kWh LFP. SOC/SOH/V/I/cell V min-max/temps/cycles/remaining-Ah + charge/discharge enable + protect/warn + **gyroscope anti-theft** (MPC48150 adds **GPS**). Up to 64 packs parallel on CAN. |
| Smart DCDU / smart breakers (LLVD/BLVD) | RS485 → MC2900 | **Ready via MC2900** | Per-branch voltage/current/breaker-status/temperature, CB comm status, and multiple LVD modes (voltage / backup-time / SOC / backup-energy). |
| Cabinet sensors — door (YBLXW-5/11M), smoke (JTY-GD-SDLH-96A), water, humidity, 2× batt temp, ambient | DI/AI on MC2900 (dry contacts) | **Ready** | Wired to the controller's 12 DI / 3 AI; door/smoke/water are fast-poll security alarms. |

Ready-to-use site config: `sdk/examples/scenario-megmeet-outdoor-cabinet.yaml`
(`include: megmeet_mc2900`). Reference cabinet: OD-THL-220-001 (W800×D800×H2200, 44U, IP55,
Air-Con), 24 kW rectifier + 12 kW MPPT, 10× battery breakers, LLVD/BLVD. Product datasheets
and the CE/UL/EMC/LVD/CB/CB-test-report certificates for the modules are held in the
deployment dossier (MGMT Technical specifications & Certificates).

## Gensets and generator controllers

| Controller | Interface | Prime RMS | Notes |
|---|---|---|---|
| Deepsea DSE7420 MK II (and DSE72xx/73xx/L40x) | Modbus RTU/TCP (GenComm map) | **Ready** (modbus) | Running, RPM, oil pressure, coolant temp, run hours, mode, fuel level, starting battery, fail-to-start, plus **start/stop control** via holding registers. Already in the reference config. |
| ComAp InteliLite / InteliGen | Modbus RTU/TCP | **Ready** | Same pattern, different register map. |
| SmartGen HGM series | Modbus RTU | **Ready** | Common on Chinese-supplied gensets. |
| Woodward / generic ATS-AMF panels | Modbus or dry contacts | **Ready** (modbus + gpio) | ATS position, active source, transfer failure. In the reference config as `ats.*`. |
| Legacy genset with no controller bus | dry contacts + CTs | **Ready** (gpio + modbus AI module) | Run relay on a DI, fuel/current via a Modbus analog-input module (ADAM-4017). |

Genset **start/stop, mode change and load-shed** are audited control commands with reason
capture and gateway read-back (already built and tested).

## Fuel tanks and level gauges

| Gauge type | Interface | Prime RMS | Notes |
|---|---|---|---|
| 4-20 mA / 0-10 V capacitive or pressure probe | Modbus analog-input module (ADAM-4017, ioLogik) | **Ready** (modbus) | The default Africell path: probe -> AI module -> RS-485. Level %, plus derived consumption, refill, **siphon detection** and days-to-empty (analytics already built). |
| Modbus RTU smart fuel sensor (e.g. Technoton DUT-E, Escort TD) | Modbus RTU | **Ready** | Direct level + temperature registers. |
| Veeder-Root TLS-350/450 automatic tank gauge | serial/TCP, proprietary TLS protocol | **Driver needed** | Common on fuel depots; needs a small TLS-command plugin. Small job. |
| Franklin/INCON, Start Italiana gauges | Modbus or proprietary | **Ready if Modbus**, else driver | Confirm the specific model's protocol. |

## Environment, security and other sensors

| Sensor | Interface | Prime RMS | Notes |
|---|---|---|---|
| Temperature / humidity (Modbus RTU probes) | Modbus RTU | **Ready** | Cabinet and ambient; thresholds and anomaly baselines apply. |
| Smoke, PIR, water-leak, door, tamper, gate (dry contacts) | DI on the gateway or a Modbus DI module | **Ready** (gpio / modbus) | Alarms-on-occurrence via the fast poll loop; already in the reference config. |
| E-locks, load-shed relays, aviation-light control | DO / relay | **Ready** (gpio / modbus coils) | Audited control; e-lock pulse tested end to end. |
| 3-phase energy meter (DIN-rail) | Modbus RTU | **Ready** | Voltage, current, kW, kWh, PF, phase loss/imbalance. |
| CT / current clamps | Modbus AI module | **Ready** | For load monitoring where no meter exists. |
| IP / ONVIF cameras (CCTV) | ONVIF (SOAP) + RTSP | **Driver needed** | Camera online/offline, motion/line-cross events, snapshot on alarm. New plugin; live video stays out of the telemetry path. |
| LoRaWAN wireless sensors | via a LoRa gateway -> MQTT | **Ready via MQTT** | Point them at the MQTT broker; no agent driver needed. |

## Summary

- **Modbus and SNMP cover the vast majority**: Huawei SMU/SUN2000/UPS, every mainstream
  genset controller (Deepsea, ComAp, SmartGen), Modbus fuel probes and smart sensors,
  energy meters, and all dry-contact security/environment points work with the drivers
  already shipped. What each needs from us is the vendor's register map or MIB, not new code.
- **Four integrations need a new SDK driver**, each bounded: direct **CAN-bus BMS** (Pylontech,
  Narada, Huawei LUNA direct), **ONVIF cameras**, **Veeder-Root TLS** tank gauges, and any
  genuinely proprietary serial gauge. These are on the roadmap.
- **Northbound to Huawei NetEco/NCE and other NMS** via SNMP trap forwarding is the last
  management-plane gap (trap receiver in progress; REST northbound and webhooks are live).

Bench-verification path for any new device: wire it to a gateway, put its points in
`agent.yaml`, run `prime-gate read` to confirm the register map, then the console shows it
live with thresholds and control.

## Pick your brand: device profiles

You do not have to know register maps. `include` a profile for your make and model and
Prime expands it. Shipped profiles cover Deepsea/ComAp/SmartGen gensets, Huawei SMU and
SUN2000, Megmeet rectifiers, Schneider and generic DIN meters, Pylontech batteries,
Technoton and 4-20 mA fuel, SolarEdge cloud, Modbus temp/humidity, and ADAM-4055 security.
Full list and site scenario templates: see `/sdk/profiles.md`. Adding a brand is a new YAML
file, not a code change. A new **http_json** driver also covers cloud and REST devices
(SolarEdge, Victron, SMA, or any inverter/gateway with a JSON API).
