Skip to main content

Legacy Electricity Meter API

Use meters module for new developments instead! The legacy electricity meter API only supports one electricity meter (the one configured as linked_meter_slot in meters_legacy_api/config) and can only report and process a subset of the supported electricity meter values. The legacy API is emulated by the meters_legacy_api module module.

meter/state

The state of the electricity meter.

Example
# $HOST e.g. warp-AbCd

Read

curl http://$HOST/meter/state
{ "state": 2, "type": 3 }

Write

curl http://$HOST/meter/state -d '{ "state": 2, "type": 3 }'
NameDescription
state
int

State of the electricity meter

  • 0 - No electricity meter connected
  • 1 - Electricity meter unreliable, possibly only single-phase connected.
  • 2 - Electricity meter connected
type
int

Type of the installed electricity meter. Not every meter is supported by every device!

  • 0 - No electricity meter available
  • 2 - Eastron SDM630
  • 3 - Eastron SDM72V2
  • 1 - Eastron SDM72



meter/values

The measurement values of the electricity meter. Requires the feature "meter"

Example
# $HOST e.g. warp-AbCd

Read

curl http://$HOST/meter/values
{ "power": 6740.49707, "energy_rel": 4636.320801, "energy_abs": 4636.320801 }

Write

curl http://$HOST/meter/values -d '{ "power": 6740.49707, "energy_rel": 4636.320801, "energy_abs": 4636.320801 }'
NameDescription
power
float (W)

The current charging power.

energy_rel
float (kWh)

The charged energy since the last reset.

energy_abs
float (kWh)

The charged energy since the manufacture of the electricity meter.




meter/phases

Connected and active phases. Requires the feature "meter_phases".

Example
# $HOST e.g. warp-AbCd

Read

curl http://$HOST/meter/phases
{
"phases_connected": [true, false, false],
"phases_active": [true, false, false]
}

Write

curl http://$HOST/meter/phases -d '{
"phases_connected": [true, false, false],
"phases_active": [true, false, false]
}'
NameDescription
phases_active
bool[3]

The currently active phases

  • [0] - Phase L1 active
  • [1] - Phase L2 active
  • [2] - Phase L3 active
phases_connected
bool[3]

The connected phases

  • [0] - Phase L1 connected
  • [1] - Phase L2 connected
  • [2] - Phase L3 connected



meter/error_counters

Error counters for communication with the electricity meter.

Example
# $HOST e.g. warp-AbCd

Read

curl http://$HOST/meter/error_counters
{ "meter": 0, "bricklet": 0, "bricklet_reset": 0 }
NameDescription
meter
int

(Only WARP 1) Communication errors between RS485 Bricklet and electricity meter.

bricklet
int

(Only WARP 1) Communication errors between ESP Brick and RS485 Bricklet.

bricklet_reset
int

(Only WARP 1) Unexpected resets of the RS485 Bricklet.




meter/all_values

All measurement values measured by the built-in electricity meter. Requires the feature "meter_all_values". Consecutive values marked with .. refer to the three phases L1, L2 and L3.

Example
# $HOST e.g. warp-AbCd

Read

curl http://$HOST/meter/all_values
[
// Index 0
215.6799927, 228.3399963, 218.5399933,
31.42000008, 0, 0.01,
6758, 0, -2,
6758, 0, 2.424242258,
// Index 12
0, 0, 1.370018482,
1, 0, -0.825000048,
0, 0, 2.540998697,
220.8533325, 10.47666645, 31.43000031,
// Index 24
6757, 6760.424316, 1.370018482,
0, 2.540998697, null,
943.289978, 0, null,
null, null, null,
// Index 36
null, null, null,
null, null, null,
null, null, null,
null, 31.41500282, null,
// Index 48
null, null, null,
null, null, null,
null, null, null,
null, null, null,
// Index 60
null, null, null,
null, null, 943.289978,
null, null, null,
null, null, null,
// Index 72
null, null, null,
null, null, null,
null, null, null,
null, null, null,
// Index 84
null
]

Write

curl http://$HOST/meter/all_values -d '[
// Index 0
215.6799927, 228.3399963, 218.5399933,
31.42000008, 0, 0.01,
6758, 0, -2,
6758, 0, 2.424242258,
// Index 12
0, 0, 1.370018482,
1, 0, -0.825000048,
0, 0, 2.540998697,
220.8533325, 10.47666645, 31.43000031,
// Index 24
6757, 6760.424316, 1.370018482,
0, 2.540998697, null,
943.289978, 0, null,
null, null, null,
// Index 36
null, null, null,
null, null, null,
null, null, null,
null, 31.41500282, null,
// Index 48
null, null, null,
null, null, null,
null, null, null,
null, null, null,
// Index 60
null, null, null,
null, null, 943.289978,
null, null, null,
null, null, null,
// Index 72
null, null, null,
null, null, null,
null, null, null,
null, null, null,
// Index 84
null
]'
IndexDescription
[0..2]
float (V)

Voltage to neutral

[3..5]
float (A)

Current

[6..8]
float (W)

Active power

[9..11]
float (VA)

Apparent power

[12..14]
float (var)

Reactive power

[15..17]
float

Power factor; The sign of the power factor indicates the direction of current flow.

[18..20]
float (°)

Relative phase shift

[21]
float (V)

Average voltage to neutral

[22]
float (A)

Average current

[23]
float (A)

Sum of phase currents

[24]
float (W)

Total active power

[25]
float (VA)

Total apparent power

[26]
float (var)

Total reactive power

[27]
float

Total power factor

[28]
float (°)

Total phase shift

[29]
float (Hz)

Supply voltage frequency

[30]
float (kWh)

Active energy (import; consumed by vehicle)

[31]
float (kWh)

Active energy (export; supplied by vehicle)

[32]
float (kvarh)

Reactive energy (import; consumed by vehicle)

[33]
float (kvarh)

Reactive energy (export; supplied by vehicle)

[34]
float (kVAh)

Total apparent energy

[35]
float (Ah)

Transported electric charge

[36]
float (W)

Consumed active power; Equals import-export difference

[37]
float (W)

Max. consumed active power; Highest measured value

[38]
float (VA)

Consumed apparent power; Equals import-export difference

[39]
float (VA)

Max. consumed apparent power; Highest measured value

[40]
float (A)

Consumed neutral current

[41]
float (A)

Max. consumed neutral current; Highest measured value

[42]
float (V)

Voltage L1 to L2

[43]
float (V)

Voltage L2 to L3

[44]
float (V)

Voltage L3 to L1

[45]
float (V)

Average voltage between phases

[46]
float (A)

Neutral current

[47..49]
float (%)

Total Harmonic Distortion (THD) of voltage

[50..52]
float (%)

Total Harmonic Distortion (THD) of current

[53]
float (%)

Average voltage THD

[54]
float (%)

Average current THD

[55..57]
float (A)

Consumed current

[58..60]
float (A)

Max. consumed current; Highest measured value

[61]
float (%)

Voltage THD L1 to L2

[62]
float (%)

Voltage THD L2 to L3

[63]
float (%)

Voltage THD L3 to L1

[64]
float (%)

Average voltage THD between phases

[65]
float (kWh)

Sum of total active energies; Import-export sum of all phases

[66]
float (kvarh)

Sum of total reactive energies; Import-export sum of all phases

[67..69]
float (kWh)

Active energy (import; consumed by vehicle)

[70..72]
float (kWh)

Active energy (export; supplied by vehicle)

[73..75]
float (kWh)

Total active energy; Import-export sum

[76..78]
float (kvarh)

Reactive energy (import; consumed by vehicle)

[79..81]
float (kvarh)

Reactive energy (export; supplied by vehicle)

[82..84]
float (kvarh)

Total reactive energy; Import-export sum




meter/reset

Resets the energy meter. Empty payload. One of the following values must be passed: null, "", false, 0, [] or {}

Example
# $HOST e.g. warp-AbCd

Write

curl http://$HOST/meter/reset -d 'null'



meter/last_reset

The time of the last meter reset (see meter/reset) as Unix timestamp. 0 if no reset was performed, or if no network time synchronization was available at the time of the reset.

Example
# $HOST e.g. warp-AbCd

Read

curl http://$HOST/meter/last_reset
{ "last_reset": 1714728252 }

Zuletzt zurückgesetzt 2024-05-03T11:24:12+02:00

NameDescription
last_reset
int (s)

Unix timestamp of the time of the last meter reset.




meter/type_override

Allows overriding the installed meter type if auto-detection does not work.

Example
# $HOST e.g. warp-AbCd

Read

curl http://$HOST/meter/type_override

Write

curl http://$HOST/meter/type_override -d ''

or abbreviated:

curl http://$HOST/meter/type_override -d ''
NameDescription
type
int

Electricity meter type to be used

  • 0 - No electricity meter available
  • 1 - Eastron SDM72
  • 2 - Eastron SDM630
  • 3 - Eastron SDM72V2
  • 255 - Type override not active. Electricity meter type is automatically detected.



meter/history

A 48-hour history of charging power in watts. Missing values are indicated by null. The history is filled from back to front, so null values only occur consecutively at the beginning of the array if the ESP was restarted within the last 48 hours. Up to 720 values are output, which corresponds to one measurement value every 4 minutes. These measurement values are the respective average of these 4 minutes.

Example
# $HOST e.g. warp-AbCd
curl http://$HOST/meter/history
{
"offset": 60927,
"samples": [
null, null, null, null, null, null, null, null,
// 600 weitere null-Werte entfernt
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1736, 6656, 6655, 6666,
6680, 6716, 6714, 6625, 6640, 6641, 6595, 6612,
6592, 6593, 6589, 6592, 6600, 6625, 6626, 6637,
6665, 6636, 6632, 6656, 6616, 6611, 6646, 6670,
6691, 6715, 6787, 6754, 6761, 6797, 6771, 6685,
6705, 6778, 6703, 6675, 6681, 6721, 6739, 6816,
6872, 6858, 6821, 6836, 6784, 6871, 6943, 6930,
6968, 6955, 6837, 6800, 6846, 6919, 6881, 6736,
6671, 6655, 6674, 6743, 6878, 5733, 4462, 3712,
3098, 2693, 2337, 2098, 1683, 1575, 1575, 84,
0, 0, 0, 0, 0, 0, 0, 0
]
}
NameDescription
offset
int (ms)

The age of the last measured value.

samples
int[..]

The measured values.




meter/live

The last charging power measurement values. Based on these values, the average values for meter/history are generated.

Example
# $HOST e.g. warp-AbCd
curl http://$HOST/meter/live
{
"offset": 370,
"samples_per_second": 1.99565,
"samples": [
2626, 2626, 2626, 2626, 2626, 2626, 2626, 2673,
2673, 2673, 2673, 2673, 2673, 2673, 2673, 2677,
2677, 2677, 2677, 2677, 2677, 2677, 2677, 2677,
2677, 2677, 2677, 2677, 2677, 2677, 2677, 988,
988, 988, 988, 988, 988, 988, 988, 3,
3, 3, 3, 3, 3, 3, 3, 1,
1, 1, 1, 1, 1, 1, 1, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 4
]
}

Es liegen 80 Werte vor, ~ 2 Werte pro Sekunde wurden erhoben, das Offset des letzten Werts sind 370 ms -> Die Messwerte reichen im Moment 40,370 Sekunden in die Vergangenheit.

NameDescription
offset
int (ms)

The age of the last measured value.

samples_per_second
float (Hz)

The number of measured values per second.

samples
int[..]

The measured values. Depending on the length of the array and the samples_per_second value, it can be determined how far back in time the measurement values reach.