Skip to main content

Meter value

Description#

When a charge has succesfully started the charger send to Thor servers the messeges of energy consuption, Thor will send a notification to your system. To receive this message you'll have to configure the Meter Values section of the API integration.

If you want to know more about the remote charge workflow, take a look to this guide or this guide.

note

If you configure the chargebox for API payment when Thor calls the API you configure in "Meter Values" section Thor sends a notify to your server with transaction datas and expects the amount till the moment calculated by your software.

Request format#

Method: POST

Body format: JSON

KeyTypeDescription
typeStringSpecifies that this message is a meter values notification. For this request it will be always equal to "meters".
chargeboxStringThe chargebox identifier.
connectorIntegerThe connector where the charge has been started or rejected.
meters[]MeterThe RFID value or the value generated by the server returned here.
meters[].measurandMeasurandDescribes what the measure is about.
meters[].uomUnit of measureThe unit of measure.
meters[].phasePhaseThe electrical phase.
meters[].ValueFloatThe actual value read by the meter.
idTagStringThe idTag of current transaction.
timeStringThe duration of current transaction.
kwhIntegerThe meters count in Wh for current transaction.
paymentPayment(if available for client) The settings of the payment choosen by client to calculate che total price

Request schema:

{
"$schema": "http://json-schema.org/draft-07/schema",
"id": "http://example.com/example.json",
"type": "object",
"title": "The root schema",
"description": "The root schema comprises the entire JSON document.",
"default": {},
"examples": [
{
"type":"meters",
"chargebox": "EaJ7cU9NJ3YkTNgy",
"connector": 2,
"meters": [
{
"measurand": "Energy.Active.Import.Register",
"uom": "Wh",
"value": 24.5,
"phase": "L1-N"
},
{
"measurand": "Energy.Active.Import.Register",
"uom": "Wh",
"value": 24.5,
"phase": "N"
}
]
}
],
"required": [
"type",
"chargebox",
"connector",
"meters",
"idTag",
"time",
"kwh"
],
"properties": {
"type": {
"$id": "http://example.com/properties/msg",
"type": "string",
"enum":[
"meters"
],
"title": "The msg schema",
"description": "Specifies that this message is a meter values notification.",
"default": "",
"examples": [
"meters"
]
},
"chargebox": {
"id": "http://example.com/properties/chargebox",
"type": "string",
"title": "The chargebox schema",
"description": "The chargebox identifier.",
"default": "",
"examples": [
"EaJ7cU9NJ3YkTNgy",
"XPHiIU27EFMViHat"
]
},
"connector": {
"id": "http://example.com/properties/connector",
"type": "integer",
"title": "The connector schema",
"description": "The connector where the charge has been started or rejected.",
"default": 0,
"examples": [
1,
2,
3,
4
]
},
"meters": {
"id": "http://example.com/properties/meters",
"type": "array",
"title": "The meters schema",
"description": "The list of meter values.",
"default": [],
"examples": [
[
{
"measurand": "Energy.Active.Import.Register",
"uom": "Wh",
"value": 24.5,
"phase": "L1-N"
},
{
"measurand": "Energy.Active.Import.Register",
"uom": "Wh",
"value": 24.5,
"phase": "N"
}
]
],
"additionalItems": true,
"items": {
"id": "http://example.com/properties/meters/items",
"anyOf": [
{
"id": "http://example.com/properties/meters/items/anyOf/0",
"type": "object",
"title": "A single meter value",
"description": "A single meter value.",
"default": {},
"examples": [
{
"measurand": "Energy.Active.Import.Register",
"uom": "Wh",
"value": 24.5,
"phase": "L1-N"
}
],
"required": [
"measurand",
"uom",
"value",
"phase"
],
"properties": {
"measurand": {
"id": "http://example.com/properties/meters/items/anyOf/0/properties/measurand",
"type": "string",
"enum":[
"Current.Export",
"Current.Import",
"Current.Offered",
"Energy.Active.Export.Register",
"Energy.Active.Import.Register",
"Energy.Reactive.Export.Register",
"Energy.Reactive.Import.Register",
"Energy.Active.Export.Interval",
"Energy.Active.Import.Interval",
"Energy.Reactive.Export.Interval",
"Energy.Reactive.Import.Interval",
"Frequency",
"Power.Active.Export",
"Power.Active.Import",
"Power.Factor",
"Power.Offered",
"Power.Reactive.Export",
"Power.Reactive.Import",
"RPM",
"SoC",
"Temperature",
"Voltage"
],
"title": "The measurand schema",
"description": "Describes what the measure is about.",
"default": "",
"examples": [
"Energy.Active.Import.Register"
]
},
"uom": {
"id": "http://example.com/properties/meters/items/anyOf/0/properties/uom",
"type": "string",
"enum": [
"Wh",
"kWh",
"varh",
"kvarh",
"W",
"kW",
"VA",
"kVA",
"var",
"kvar",
"A",
"V",
"Celsius",
"Fahrenheit",
"K",
"Percent"
],
"title": "The uom schema",
"description": "The unit of measure.",
"default": "",
"examples": [
"Wh"
]
},
"value": {
"id": "http://example.com/properties/meters/items/anyOf/0/properties/value",
"type": "number",
"title": "The value schema",
"description": "The actual value read by the meter",
"default": 0.0,
"examples": [
24.5
]
},
"phase": {
"id": "http://example.com/properties/meters/items/anyOf/0/properties/phase",
"type": "string",
"enum": [
"L1",
"L2",
"L3",
"N",
"L1-N",
"L2-N",
"L3-N",
"L1-L2",
"L2-L3",
"L3-L1"
],
"title": "The phase schema",
"description": "The electrical phase.",
"default": "",
"examples": [
"L1-N"
]
}
},
"additionalProperties": true
}
]
}
},
"time": {
"id": "http://example.com/properties/time",
"type": "integer",
"title": "The time schema",
"description": "The time since the charge has been started.",
"default": 0,
"examples": [
1,
2,
3,
4
]
},
"kwh": {
"id": "http://example.com/properties/kwh",
"type": "integer",
"title": "The kwh schema",
"description": "The Wh used since the charge has been started.",
"default": 0,
"examples": [
1,
2,
3,
4
]
},
"idTag": {
"id": "http://example.com/properties/idTag",
"type": "string",
"title": "The idTag schema",
"description": "idTag is the unique value that identify the charge.",
"default": 0,
"examples": [
"kjhrep43235",
"ckjvfh444"
]
},
},
"additionalProperties": true
}

Expected response#

A nice 200 - OK is more than enough for Thor if you don't want to manage the payment using your application. If you choose the API payment management Thor expects to receive 200 - OK and the amount in a JSON in this format:

{
"amount": "12.3"
}

Enums#

Measurand#

Type: String

These are the possible types of the measurand:

  • Current.Export Instantaneous current flow from EV
  • Current.Import Instantaneous current flow to EV
  • Current.Offered Maximum current offered to EV
  • Energy.Active.Export.Register Numerical value read from the "active electrical energy" (Wh or kWh) register of the (most authoritative) electrical meter measuring energy exported (to the grid).
  • Energy.Active.Import.Register Numerical value read from the "active electrical energy" (Wh or kWh) register of the (most authoritative) electrical meter measuring energy imported (from the grid supply).
  • Energy.Reactive.Export.Register Numerical value read from the "reactive electrical energy" (VARh or kVARh) register of the (most authoritative) electrical meter measuring energy exported (to the grid).
  • Energy.Reactive.Import.Register Numerical value read from the "reactive electrical energy" (VARh or kVARh) register of the (most authoritative) electrical meter measuring energy imported (from the grid supply).
  • Energy.Active.Export.Interval Absolute amount of "active electrical energy" (Wh or kWh) exported (to the grid) during an associated time.
  • Energy.Active.Import.Interval Absolute amount of "active electrical energy" (Wh or kWh) imported (from the grid supply) during an associated time.
  • Energy.Reactive.Export.Interval Absolute amount of "reactive electrical energy" (VARh or kVARh) exported (to the grid) during an associated time.
  • Energy.Reactive.Import.Interval Absolute amount of "reactive electrical energy" (VARh or kVARh) imported (from the grid supply) during an associated time.
  • Frequency Instantaneous reading of powerline frequency.
  • Power.Active.Export Instantaneous active power exported by EV (W or kW).
  • Power.Active.Import Instantaneous active power imported by EV (W or kW).
  • Power.Factor Instantaneous power factor of total energy flow.
  • Power.Offered Maximum power offered to EV.
  • Power.Reactive.Export Instantaneous reactive power exported by EV (var or kvar).
  • Power.Reactive.Import Instantaneous reactive power imported by EV (var or kvar).
  • RPM Fan speed in RPM.
  • SoC State of charge of charging vehicle in percentage.
  • Temperature Temperature reading inside Charge Point.
  • Voltage Instantaneous AC RMS supply voltage.

Unit of measure#

Type: String

These are the possible types of the unit of measure:

  • Wh Watt-hours (energy).
  • kWh kiloWatt-hours (energy).
  • varh Var-hours (reactive energy).
  • kvarh kilovar-hours (reactive energy).
  • W Watts (power).
  • kW kilowatts (power).
  • VA VoltAmpere (apparent power).
  • kVA kiloVolt Ampere (apparent power).
  • var Vars (reactive power).
  • kvar kilovars (reactive power).
  • A Amperes (current).
  • V Voltage (r.m.s. AC).
  • Celsius Degrees (temperature).
  • Fahrenheit Degrees (temperature).
  • K Degrees Kelvin (temperature).
  • Percent Percentage.

Phase#

Type: String

These are the possible types of the phase:

  • L1 Measured on L1.
  • L2 Measured on L2.
  • L3 Measured on L3.
  • N Measured on Neutral.
  • L1-N Measured on L1 with respect to Neutral conductor.
  • L2-N Measured on L2 with respect to Neutral conductor.
  • L3-N Measured on L3 with respect to Neutral conductor.
  • L1-L2 Measured between L1 and L2.
  • L2-L3 Measured between L2 and L3.
  • L3-L1 Measured between L3 and L1.