Documentation

Local API reference

Firmware Local API subset supported by this simulator. Simulator-only debug APIs are documented separately.

IAMMETER firmware Local APIs

IAMMETER supports local HTTP APIs. See the official documentation for real-device capabilities. This simulator implements only the subset listed below.

Paths and sessions

Prefix every meter endpoint with /WEM3080, /WEM2067 or /WEM3050T. Device pages and APIs support HTTP on port 80 as well as HTTPS on port 443. Physical devices normally use local HTTP.

Public measurement requests work without a session and return the default Inverter and grid source. Private settings require the existing meter-page cookie. A separate curl request does not inherit your browser’s selected source or settings.

HTTP and HTTPS use separate browser sessions. Open the meter page using the same scheme before changing settings. Anonymous reads use the default Inverter and grid source.

Supported firmware API subset

MethodEndpointPurposeSupported models
GET/api/monitorRead voltage, current, power and energy.All models
GET/api/monitorjson · /monitorjsonRead legacy JSON, with optional reactive data.All models
GET/api/wifidataRead virtual Wi-Fi and device settings.All models
POST/api/setwifiadvSave virtual Wi-Fi settings for this session and model.All models
GET/api/getadvRead advanced and upload settings; password is empty.All models
POST/api/setadvSave upload settings, Reactive and NEM flags.All models; NEM only on WEM3050T

Measurement responses

WEM3080 returns Data; WEM2067 and WEM3050T return Datas with one row per channel. Field order is shown below. Examples are illustrative, not live responses.

IndexMeasurementUnit
0VoltageV
1CurrentA
2Active powerW
3Import energykWh
4Export energykWh
5FrequencyHz
6Power factor—

Read public measurements

curl 'https://simulator.iammeter.com/WEM3050T/api/monitor'

Response shape

{
  "ssid": "IAMMETER-Simulator",
  "sig": 100,
  "mac": "020000003050",
  "version": "simulator-1.0",
  "server": "em",
  "SN": "1AD9B537",
  "model": "WEM3050T",
  "Datas": [
    [230.0,1.252,270.0,2.092,0.000,50.00,0.94],
    [229.5,0.487,110.0,1.280,0.000,50.00,0.98],
    [229.0,0.399,90.0,0.747,0.000,50.00,0.98]
  ]
}

Virtual Wi-Fi settings

setwifiadv accepts ssid, pwd, dhcp (boolean), ip, netmask, gw and dns. These values change the virtual device only; they do not reconfigure a network adapter.

Example request body

{"ssid":"Test network","dhcp":true}

Successful save

{"successful":1,"message":"ok"}

Advanced settings

setadv accepts partial JSON updates. Unspecified fields keep their current values. Upload interval is 10–3600 seconds.

Reactive adds EA.Reactive to monitorjson and uploads, not api/monitor. Each row is [var, inductive kvarh, capacitive kvarh].

NEM is supported only by WEM3050T. Its fourth Datas row sums active power, import kWh and export kWh separately; all other fields are zero.

ParameterAccepted values
runMode1 = TCP/TLS; 2 = HTTP/HTTPS; 3 = MQTT/MQTTS; 4 = stand alone
uploadAddressReceiver address; follow the Settings input hint.
mqttUsername · mqttPasswordBroker credentials; getadv never returns the saved password.
uploadInterval10–3600 s
reactive0 / 1
netmetering0 / 1
ntpServerStored text only; does not change server time.
haDiscovery · ctcRatioOnly 0 and 1 respectively; features are not implemented.

Enable Reactive and NEM on WEM3050T

{"reactive":1,"netmetering":1}

Checking results

A successful save returns successful=1. Invalid setting values can return HTTP 200 with successful=0; check the JSON as well as the status code. Missing sessions return 401; cross-origin writes are rejected.

Saving upload settings does not prove delivery. Check the debug upload status and confirm messages at your receiver.

Not implemented

The functions below are display-only or unsupported. They do not provide working write APIs.

FunctionCurrent behavior
Wi-Fi scan · restart · factory resetNo real operation.
Device Security · firmware upgradeDisplay only.
IAMMETER-cloud · HA Discovery · MQTT downlinkNo cloud upload, discovery or remote configuration.

Simulator tools are documented separately

Simulator debug endpoints are not IAMMETER firmware APIs. They are excluded from the firmware API list above.

← Back to simulator