Meter Values

MeterValuesRequest

Topic: josev/cs. Used by Josev to request meter values from the CS.

type

object

properties

  • id

type

string

format

uuid

  • name

const

meter_values

  • type

const

request

  • data

type

object

properties

  • evse_id

type

string

  • timestamp

type

string

pattern

^\d{4}-\d{2}-\d{2}[Tt]\d{2}:\d{2}:\d{2}(\.\d{1,3})?([Zz]|([+-])\d{2}:\d{2})?$

format

date-time

Used by Josev to request a meter value from the CS. The evse_id field is optional. This will be omitted only when the meter value associated with the entire charging station is expected. The time when the meter value should be read is indicated by the timestamp field.

Example:

{
    "id": "005e4e77-3cd9-4f98-a433-a11c98c13e50",
    "name": "meter_values",
    "type": "request",
    "data": {
                 "timestamp": "2021-11-10T14:29:37Z", # UTC time in ISO 8061 format,
         "evse_id": "GB*SEV*E123456789", # [Optional] - when omitted, meter value for entire CS is expected (evse_id=0 use case in OCPP)
    }
}

MeterValuesResponse

Topic: cs/josev. Used by CS to respond to the meter values request from Josev.

type

object

properties

  • id

type

string

format

uuid

  • name

const

meter_values

  • type

const

response

  • data

type

object

properties

  • evse_id

type

string

  • timestamp

type

string

pattern

^\d{4}-\d{2}-\d{2}[Tt]\d{2}:\d{2}:\d{2}(\.\d{1,3})?([Zz]|([+-])\d{2}:\d{2})?$

format

date-time

  • voltage

type

object

properties

  • l1

type

number

  • l2

type

number

  • l3

type

number

  • current

type

object

properties

  • l1

type

number

  • l2

type

number

  • l3

type

number

  • power_factor

type

number

maximum

1

minimum

0

  • dc_current

type

number

  • dc_voltage

type

number

  • frequency

type

number

  • total_active_energy_imported

type

number

  • total_active_energy_exported

type

number

  • total_reactive_energy_imported

type

number

  • total_reactive_energy_exported

type

number

  • soc

type

number

  • signed_meter_values

type

array

items

type

object

properties

  • measurand

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.Active.Net, Energy.Reactive.Export.Interval, Energy.Reactive.Import.Interval, Energy.Reactive.Net, Energy.Apparent.Net, Energy.Apparent.Import, Energy.Apparent.Export, Frequency, Power.Active.Export, Power.Active.Import, Power.Factor, Power.Offered, Power.Reactive.Export, Power.Reactive.Import, SoC, Voltage

  • signed_meter_data

type

string

maxLength

2500

  • signing_method

type

string

maxLength

50

  • encoding_method

type

string

maxLength

50

  • public_key

type

string

maxLength

2500

Response used by the CS for returning the meter readings collected at the time specified in the request.

Example:

{
    "id": "005e4e77-3cd9-4f98-a433-a11c98c13e50",
    "name": "meter_values",
    "type": "response",
    "data": {
         "evse_id": "GB*SEV*E123456789", # [Optional] - Required when the request is for a specific EVSE. This may be omitted only when the meter value for the entire CS is returned.
         "timestamp": "2021-11-10T14:29:37Z", # UTC time in ISO 8061 format
         "voltage": {"l1": 230, "l2": 230, "l3": 230}, # in V and required
         "current": {"l1": 100, "l2": 100, "l3": 100}, # in A and required
         "power_factor": 0.98, # value between 0 and 1
         "dc_current": 100, # A [Optional]
         "dc_voltage": 500, # V [Optional]
         "frequency": 50, # Hz
         "total_active_energy_imported": 4000, # Wh
         "total_active_energy_exported": 3000, # Wh [Optional]
         "total_reactive_energy_imported": 3000, # varh
         "total_reactive_energy_exported": 2000, # varh [Optional]
         "soc": 75, # [Optional]
         "signed_meter_values":[
            {
                "measurand": "Energy.Active.Import.Register",
                "signed_meter_data": "YW55ZGF0YQ==", # Base64 encoded
                "signing_method": "any_signing_method", # Method used to create the digital signature
                "encoding_method": "any_encoding_method", # Method used to encode the meter values before applying the digital signature algorithm.
                "public_key": "bXlwdWJsaWNrZXkK" # Base64 encoded. Depends on config variable 'PublicKeyWithSignedMeterValue'.
            },
            {
                "measurand": "SoC",
                "signed_meter_data": "BAC5ZGF0TH==",
                "signing_method": "any_signing_method",
                "encoding_method": "any_encoding_method",
                "public_key": "bhjYRBjjgfkjllk"
            }
        ]
    }
}

MeterValuesUpdate

Topic: cs/josev. Used by CS to forward meter values to Josev.

type

object

properties

  • id

type

string

format

uuid

  • name

const

meter_values

  • type

const

update

  • data

type

object

properties

  • evse_id

type

string

  • timestamp

type

string

pattern

^\d{4}-\d{2}-\d{2}[Tt]\d{2}:\d{2}:\d{2}(\.\d{1,3})?([Zz]|([+-])\d{2}:\d{2})?$

format

date-time

  • voltage

type

object

properties

  • l1

type

number

  • l2

type

number

  • l3

type

number

  • current

type

object

properties

  • l1

type

number

  • l2

type

number

  • l3

type

number

  • power_factor

type

number

maximum

1

minimum

0

  • dc_current

type

number

  • dc_voltage

type

number

  • frequency

type

number

  • total_active_energy_imported

type

number

  • total_active_energy_exported

type

number

  • total_reactive_energy_imported

type

number

  • total_reactive_energy_exported

type

number

  • soc

type

number

  • signed_meter_values

type

array

items

type

object

properties

  • measurand

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.Active.Net, Energy.Reactive.Export.Interval, Energy.Reactive.Import.Interval, Energy.Reactive.Net, Energy.Apparent.Net, Energy.Apparent.Import, Energy.Apparent.Export, Frequency, Power.Active.Export, Power.Active.Import, Power.Factor, Power.Offered, Power.Reactive.Export, Power.Reactive.Import, SoC, Voltage

  • signed_meter_data

type

string

maxLength

2500

  • signing_method

type

string

maxLength

50

  • encoding_method

type

string

maxLength

50

  • public_key

type

string

maxLength

2500

When evse_id is omitted, the meter value for the entire station is expected.

Example:

{
    "id": "005e4e77-3cd9-4f98-a433-a11c98c13e50",
    "name": "meter_values",
    "type": "update",
    "data": {
         "evse_id": "GB*SEV*E123456789", # [Optional]
         "timestamp": "2021-11-10T14:29:37Z", # UTC time in ISO 8061 format
         "voltage": {"l1": 230, "l2": 230, "l3": 230}, # in V and required
         "current": {"l1": 100, "l2": 100, "l3": 100}, # in A and required
         "power_factor": 0.98, # value between 0 and 1
         "dc_current": 100, # A [Optional]
         "dc_voltage": 500, # V [Optional]
         "frequency": 50, # Hz
         "total_active_energy_imported": 4000, # Wh
         "total_active_energy_exported": 3000, # Wh [Optional]
         "total_reactive_energy_imported": 3000, # varh
         "total_reactive_energy_exported": 2000, # varh [Optional]
         "soc": 75, # [Optional]
         "signed_meter_values":[
            {
                "measurand": "Energy.Active.Import.Register",
                "signed_meter_data": "YW55ZGF0YQ==", # Base64 encoded
                "signing_method": "any_signing_method", # Method used to create the digital signature
                "encoding_method": "any_encoding_method", # Method used to encode the meter values before applying the digital signature algorithm.
                "public_key": "bXlwdWJsaWNrZXkK" # Base64 encoded. Depends on config variable 'PublicKeyWithSignedMeterValue'.
            },
            {
                "measurand": "SoC",
                "signed_meter_data": "BAC5ZGF0TH==",
                "signing_method": "any_signing_method",
                "encoding_method": "any_encoding_method",
                "public_key": "bhjYRBjjgfkjllk"
            }
        ]
    }
}

Important note about total_active_energy measurand.

OCPP has two types of measurands: - Energy.Active.Import.Register - is the total energy imported since the commission of a station (same as the meter at our homes). This value should always be an increasing one and it is not supposed to decrease.

  • Energy.Active.Import.Interval - reports only the accumulated energy imported during the ongoing charging session.

When sending active energy import related readings, JOSEV expects Energy.Active.Import.Register to be sent.