Unattended access
For the email / no-live-call flow: a customer authorises your passkey once, and you can dial in for 48 hours. Your device is never contacted directly — nothing here can act on a system until a customer authorises this exact key.
Your engineer code
One permanent code you give to every customer, backed by a passkey on this device (Touch ID / Windows Hello). The private key stays in the secure enclave and is never sent anywhere.
Your code appears here as soon as the passkey exists.
— The same code works for every customer and never expires — there is nothing to create, track or renew. It stops working the moment your key is removed.
— Their app shows this same code back to them before they approve, so they can check they typed your code correctly and reached the right engineer. If it does not match, they must stop and check with you — the digits say who you are, but only this confirms their app got your key.
Authorised systems
Systems whose owner has authorised your key. Each expires 48 hours after it was granted.
| System | Access | Expires | Action |
|---|---|---|---|
| Loading… | |||
Connecting…
—
Engineer dashboard quick
— · code — · awaiting first reading
Backup Gateway
—- Grid
- —
- V
- Backed-up load
- —
- W
- Backup line
- —
- V
- PV
- —
- W
Live values
- Solar
- —
- W
- Battery
- —
- W
- Grid
- —
- W
- Home load
- —
- W
- Battery SoC
- —
- %
- Battery temp
- —
- °C
- Inverter temp
- —
- °C
Real-time power flow last 5 minutes
Last 48 hours loading…
String 1 (MPPT 1)
- Voltage
- —
- V
- Current
- —
- A
- Power
- —
- W
String 2 (MPPT 2)
- Voltage
- —
- V
- Current
- —
- A
- Power
- —
- W
Per-string data updates about every 2 seconds. Some GivEnergy models have a 3rd MPPT — will appear here once we detect it from inverter capabilities.
Connect to load existing slot values…
Connect to load existing slot values…
Per-battery cell data
No battery packs detected yet. The agent reads each pack’s BMS at unit IDs 0x32+ on every telemetry tick — pack cards will appear here automatically.
If batteries are fitted but nothing shows up, the pack BMS is most often asleep because the battery is at a low state of charge — wake it (e.g. force-charge) and the cells reappear. Otherwise the BMS bus may not be reporting: check the Registers tab for the raw inverter-side battery view (input addresses 50..80), or call STS for diagnosis.
Cell voltage history
Each line is one cell over time. A failing cell sags away from the pack — it's drawn red; a high cell blue. The agent records a sample a minute while the customer’s read window is open — not merely while it is running (last 48h). Gaps in these lines are periods with read access off, not missing data.
No history recorded yet — leave the app running and check back in a few minutes.
Inverter information
- Model
- —
- Serial
- —
- Family
- —
- Status
- —
- Inverter temp
- —
- Agent version
- —
Detected capabilities
Engineer-grade settings forms (Max Output %, Export Priority, EPS Enable, Restart Inverter, Time/Date) ship in the next iteration — they each need a read-back-verified write path. For now use the Registers tab.
Grid & export settings
The registers on this tab — Grid Code, Export Limit (G98/G99), Import Limit, G100 Enable, EPS — are controlled by your DNO agreement. Writing them incorrectly can put your installation out of compliance, fail next inspection, and in extreme cases trip the inverter into permanent fault state.
The export limit is now writable by engineers — see Settings → Grid / DNO (regulated). It is gated exactly as every other write is (the customer must have armed write access, every change is audited and read back), and additionally requires you to re-type the figure before it sends. The other registers named above remain read-only. Raw access via the Registers tab works at your own risk.
Live grid values
- Direction
- —
- Power
- —
- W
Live grid voltage + frequency arrive in the next telemetry extension. For raw values now, see Registers — input addresses 5 (V_AC1), 13 (F_AC1), 58 (I_GRID_PORT).
Today’s import and export are not shown: they live at input 25 and 26 (E_GRID_OUT_DAY / E_GRID_IN_DAY), and the register dump this tab reads is holding-space only. They were briefly sourced from holding 113/114, which are the buzzer flag and the battery discharge reserve — so the figures were wrong rather than merely missing. They return once an input-space read exists and has been checked against hardware.
Where the config lives
- HR 26 · GridPortMaxPowerOutput — the G98/G99 export limiter (typically 3680 W single-phase). Writable on the Settings tab, under Grid / DNO.
- HR 113 · TodayImportKWh · u16 / 10
- HR 114 · TodayExportKWh · u16 / 10
- HR 128 · MaxExportPowerW — named as the export limiter by our older register map; the agent’s write rules do not include it, so Sentinel never writes it. Read it to compare, but HR 26 is the one that governs.
- HR 115 · IslandCheckContinue (G100 / anti-islanding behaviour)
All five readable via the Registers tab's bulk dump. The export limit is writable on the Settings tab; it asks you to re-type the figure, because the inverter accepts a wrong limit silently and the consequence surfaces at the next DNO inspection rather than now.
Meters & CT direction
CT direction flips are the #1 reason power values look backwards. If customer reports "the app says I’m exporting when I’m importing" or vice versa, that’s almost always one of HR 48 or HR 49 set wrong for the installed meter.
Read the current values via the Registers tab first — don’t toggle blind. A wrong flip here can make every chart on the system look correct in shape but wrong in sign, and customers won’t notice until the bill arrives.
Live grid measurement
- Grid power
- —
- W
- Direction
- —
- Today net
- —
- via Registers
I_GRID_PORT (input 58) carries the live grid current; V_AC1 (input 5) and F_AC1 (input 13) the voltage and frequency. All visible in the Registers tab once we ship live input-register inspection.
Meter & CT config registers
- HR 47 · METER_TYPE —
0= CT (EM418),1= EM115 - HR 48 · REVERSE_115_METER_DIRECT — flip if using an EM115 meter and signs are wrong
- HR 49 · REVERSE_418_METER_DIRECT — flip if using a CT/EM418 and signs are wrong
- HR 50 · ENABLE_METERS — must be on for grid telemetry to populate
- HR 51 · IGNORE_EXTERNAL_GENERATION_METER — set on installs with separate generation metering
All five readable via the Registers tab. Writes need the customer-armed window like any other holding-register change.
Every writable register, generated from the agent's own rule table
(internal/modbus/writegate.go) — so each control offers exactly the values the
agent will accept, and the two cannot drift apart. The agent re-validates every write, the
customer's write window must be armed, and each change is re-read at +35s and +5 min
because values can revert at the inverter's own poll boundary. Nothing is retried
automatically. Load the Charge or Discharge tab first to populate current values.
Register dump
| Addr | Name | Type | Value | Hex |
|---|---|---|---|---|
| No registers loaded — click "Dump holding regs 0-499". | ||||
Custom read
Temps live in Input: 41 heatsink, 56 battery, 76–79 cell-group sensors. Cells 60–75, PV 1/2/8/9/18/20. Read input addr 60 count 20 for all cells + cell temps in one go (input reads cap at 60).
Custom write requires armed [A] window
Decimal in — both Addr and Value (e.g. addr 53, value 1530), never hex. The Registers table’s Hex column is display-only — convert hex→dec before writing a value back.
Watch register read-only · live changes
Polls one register and logs every change live. Watch an input register (e.g. 56 battery temp, 76–79 cell-group temps) to catch a sensor drifting or flat-lining, or a holding register to see a setting change as it happens.
Not watching.
Changelog every recorded action on this inverter, newest first
| Time | Engineer | Event | Reg | Change | OK | Reason |
|---|---|---|---|---|---|---|
| Open this tab to load the write history. | ||||||