Documentation

Scenario data selection

Understand the simulated measurements before selecting a meter or testing a protocol.

Choose a data source

Select a data source on the homepage before opening a meter. The choice is shared by all models in this browser session; other browsers are independent.

  1. Open the homepage and select Home grid without solar or Inverter and grid.
  2. Open WEM3080, WEM2067 or WEM3050T to inspect the corresponding channels.
  3. Open View configuration to inspect the 24-hour curves and measurement rules.

Home grid without solar

A, B and C represent different household loads. All active power is positive: import energy increases and export energy stays zero. Inductive reactive energy accumulates; capacitive reactive energy stays zero.

The daily profile includes standby loads, refrigeration, a morning kettle, laundry, evening cooking, lighting and air conditioning. The total daily consumption is 15.03 kWh.

ChannelsDaily input energy
A5.9375 kWh
B3.5350 kWh
C5.5575 kWh

Inverter and grid

A measures inverter generation as positive power. B measures grid import (+) or export (−), with grid power equal to household demand minus generation. Every value on C is zero.

Solar generation follows a smooth 06:00–18:00 curve with a 3 kW noon peak. The inverter has PF=1 and Q=0 while generating. At night A retains voltage and frequency, but power, current and PF are zero.

Household demand is the sum of the Home grid without solar profile’s three channels. The grid supplies its reactive demand; B has non-negative PF and current. On A, import kWh represents generated energy.

ChannelsRoleDaily input energyDaily export energy
AInverter22.9183 kWh0 kWh
BGrid10.0306 kWh17.9190 kWh
CDisconnected0 kWh0 kWh

Model-to-channel mapping

The model controls which channels are returned; it does not change the underlying scenario.

Device modelHome grid without solarInverter and grid
WEM3080A onlyInverter only
WEM2067A / BInverter and grid
WEM3050TA / B / CInverter and grid, plus zero-valued C

Reading simulated JSON data

The selected scenario supplies the measurements returned by the local HTTP APIs and sent by backend uploads in JSON format. Modbus/TCP exposes measurements as registers instead of JSON.

WEM3080 uses one Data array for channel A. WEM2067 uses Datas with two arrays for A and B; WEM3050T uses Datas with three arrays for A, B and C. Each measurement array follows the same seven-field order below.

SN, mac and version identify the device. The method field is included in monitorjson and upload payloads; the native /api/monitor response instead includes model and Wi-Fi status fields.

With Reactive enabled, monitorjson and uploads also include EA.Reactive: reactive power (var), inductive energy (kvarh) and capacitive energy (kvarh), per channel. The native /api/monitor response does not include EA.Reactive. Enabling NEM on WEM3050T adds a fourth Datas row containing summed active power and import/export energy; its other values are zero.

Array index (zero-based)FieldUnit
0VoltageV
1CurrentA
2Active powerW
3Import energykWh
4Export energykWh
5FrequencyHz
6Power factor—

Measurement and energy rules

Both sources use UTC+08:00, real time at 1× and one-second measurement resolution. The daily power profile repeats, while energy accumulates from each source’s saved start time.

Import and export kWh integrate positive and negative power separately. Switching sources, midnight and restarting the backend do not reset the saved energy timeline. Daily totals describe a complete day, not the counter immediately after startup.

The connected channels satisfy S = √(P² + Q²), I = S / V and PF = |P| / S; PF is zero when S is zero. Reactive values are available through monitorjson/uploads when Reactive is enabled.

Using a scenario in protocol tests

HTTP readings and backend uploads use your selected source. Shared Modbus/TCP always uses the default Inverter and grid source; changing a browser selection does not change that shared service.

The selection is stored in the browser session on the backend. Session expiry or a backend restart restores the default selection; source energy timelines remain saved.

← Back to simulator