Skip to content

MonopolX Metering API v1 (Alpha)

ConsumptionAdjustmentCreated

Event for Consumption adjustmend created

Field Type Rules Description
consumption_adjustment ConsumptionAdjustment The created consumption adjustment.

ConsumptionCreated

Event for Consumption created

Field Type Rules Description
consumption Consumption The created consumption.

ConsumptionPlausibilityChangedManually

Event for Consumption plausibility changed manually

Field Type Rules Description
consumption Consumption The related consumption.

DeviceReplaced

Event for Device replacement

Field Type Rules Description
new_device Device The new device which replaced the existing one.
replace_date google.type.Date The date of the replacement.

ExternalConstructModificationReadingReceived

A reading, received from an external system, which is associated with a metering construct modification.

Field Type Rules Description
sender string Message sender MP-ID.
receiver string Message receiver MP-ID.
message_type string Message type, always "MSCONS"
meter_number string The device number of the reading.
readings ExternalConstructModificationReadingReceived.Reading repeated The readings per register.
transaction_id_utilmd string Reference to the UTILMD message.
message string The message id of the original message.

ExternalConstructModificationReadingReceived.Reading

Field Type Rules Description
melo string The metering point id of the reading (DE: Messlokation).
obis string The obis of the reading's register
value enpowerx.types.Decimal The value of the reading.
construct_modification_time google.protobuf.Timestamp The date when the construct modification occurred.
usage_time google.protobuf.Timestamp The usage time of the reading.

ExternalConstructModificationReceived

Metering construct modification received from an external system.

Field Type Rules Description
sender string Message sender MP-ID.
receiver string Message receiver MP-ID.
message_type string Message type, always "UTILMD"
new_device ExternalConstructModificationReceived.Device The new device info.
contract_start_time google.protobuf.Timestamp Start time of the contract .
validity_start_time google.protobuf.Timestamp The time when the construct change becomes valid.
transaction_id string Transaction id of the UTILMD message (DE: Vorgangsnummer).
message string The message id of the original message.

ExternalConstructModificationReceived.Device

Field Type Rules Description
type Device.EnergyType Energy type of the device info.
meter_number string Number of the meter.
meter_type string Type of the meter, e.g. "AHZ" (See MSCONS).
meter_type_details string Meter type details.
counter_size Device.CounterSize Counter size.
data_acquisition_method Device.DataAcquisitionMethod Data acquisition method
registers ExternalConstructModificationReceived.Device.Register repeated The registers of the device.

ExternalConstructModificationReceived.Device.Register

Field Type Rules Description
obis string Obis of the register.
melo string Melo of the register.
integer_digits int32 Integer digits of the register (i.e. digits before the decimal point)
fractional_digits int32 Fractional digits of the register. (i.e. digits after the decimal point)

ExternalReadingReceived

A reading, received from an external system

Field Type Rules Description
tenant string The tenant this event belongs to.
sender string Message sender MP-ID.
receiver string Message receiver MP-ID.
message_type string Message type, always "MSCONS"
melo string Melo (DE: Messlokation)
meter_number string Meter number (DE: Zählernummer)
obis string OBIS Code of the register.
quality Reading.Quality Quality of the reading.
value enpowerx.types.Decimal Value of the reading.
usage_time google.protobuf.Timestamp Usage time.
reference string Message reference (EDIFACT: DE1004)

ExternalReadingsCancelled

External readings cancellation message. ALl readings of the message with the same cancellation reference are cancelled.

Field Type Rules Description
tenant string The tenant this event belongs to.
sender string Message sender MP-ID.
receiver string Message receiver MP-ID.
message_type string Message type, always "MSCONS"
melo string Melo (DE: Messlokation)
cancellation_reference string The reference (e.g. EDIFACT DE1004) to the message, that originally contained the readings.
reference string Message reference (e.g. EDIFACT: DE1004)

MaloConsumptionCancelled

Event for MaloConsumption cancelled

Field Type Rules Description
consumption Consumption The related consumption.

MaloConsumptionPrognosisCreated

Field Type Rules Description
prognosis MaloConsumptionPrognosis The created consumption prognosis

MaloConsumptionPrognosisValueChanged

Field Type Rules Description
prognosis MaloConsumptionPrognosis The updated consumption prognosis
new_value enpowerx.types.Decimal The updated daily consumption prognosis.
old_value enpowerx.types.Decimal The old daily consumption prognosis.

MeloConsumptionCancelled

Event for MeloConsumption cancelled

Field Type Rules Description
melo_consumption MeloConsumption The related melo consumption.

ReadingCancelled

Event for Reading cancelled

Field Type Rules Description
reading Reading The cancelled reading.

ReadingCreated

Field Type Rules Description
reading Reading The created reading.
device string The device and register of the reading.
meter_number string The device number of the reading.
register string the register of the reading.
obis string The obis of the reading's register
melo string The melo of the register of the reading.
reference string Reference.

ReadingValidityChanged

Event for change of Reading validity

Field Type Rules Description
reading Reading The existing reading before the change of the validity.
is_valid bool The new validity of the reading.

Metering

The Metering service provides methods for managing technical objects and readings data.

ListConnectionObjects

List connection objects.

Input: ConnectionObjectListRequest

Field Type Rules Description
*tenant string The tenant to list connection object for.
page_size int32 The maximum number of items to return. 0 for default.
page_token string The next_page_token value returned from a previous List request, if any.
filter ConnectionObjectListRequest.Filter The filter to apply to the list.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-created_time".

Output: ConnectionObjectListResponse

Field Type Rules Description
connection_objects ConnectionObject repeated A list of connection objects.
total_size int32 Count of items contained in the list.
next_page_token string Token to retrieve the next page of results, or empty if there are no more results in the list.

GetConnectionObject

Get a connection object identified by it's id.

Output: ConnectionObject

ConnectionObject aka. Anschlussobjekt.

Field Type Rules Description
*tenant string immutable The tenant the Connection Object belongs to.
*id string immutable The unique id of the connection object.
number string output only Tenant specific number for the ConnectionObject which will be generated on object creation.
address enpowerx.types.PostalAddress Address of the the connection object.
premises string output only
repeated
Premises associated with the connection object.
land_lot string Land lot number.
geo_location google.type.LatLng Geolocation
description string Optional description for the resource.
create_time google.protobuf.Timestamp output only The creation time of the connection object.
update_time google.protobuf.Timestamp output only The last update time of the connection object.
active_period enpowerx.types.DateRange The period when the connection object is active.

CreateConnectionObject

Create a connection object.

Input: ConnectionObject

ConnectionObject aka. Anschlussobjekt.

Field Type Rules Description
*tenant string immutable The tenant the Connection Object belongs to.
*id string immutable The unique id of the connection object.
number string output only Tenant specific number for the ConnectionObject which will be generated on object creation.
address enpowerx.types.PostalAddress Address of the the connection object.
premises string output only
repeated
Premises associated with the connection object.
land_lot string Land lot number.
geo_location google.type.LatLng Geolocation
description string Optional description for the resource.
create_time google.protobuf.Timestamp output only The creation time of the connection object.
update_time google.protobuf.Timestamp output only The last update time of the connection object.
active_period enpowerx.types.DateRange The period when the connection object is active.

Output: ConnectionObject

ConnectionObject aka. Anschlussobjekt.

Field Type Rules Description
*tenant string immutable The tenant the Connection Object belongs to.
*id string immutable The unique id of the connection object.
number string output only Tenant specific number for the ConnectionObject which will be generated on object creation.
address enpowerx.types.PostalAddress Address of the the connection object.
premises string output only
repeated
Premises associated with the connection object.
land_lot string Land lot number.
geo_location google.type.LatLng Geolocation
description string Optional description for the resource.
create_time google.protobuf.Timestamp output only The creation time of the connection object.
update_time google.protobuf.Timestamp output only The last update time of the connection object.
active_period enpowerx.types.DateRange The period when the connection object is active.

UpdateConnectionObject

Update a connection object.

Input: UpdateConnectionObjectRequest

Field Type Rules Description
*connection_object ConnectionObject The connection object to update.
*update_mask google.protobuf.FieldMask The update mask applies to the resource. For the FieldMask definition,
see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

Output: ConnectionObject

ConnectionObject aka. Anschlussobjekt.

Field Type Rules Description
*tenant string immutable The tenant the Connection Object belongs to.
*id string immutable The unique id of the connection object.
number string output only Tenant specific number for the ConnectionObject which will be generated on object creation.
address enpowerx.types.PostalAddress Address of the the connection object.
premises string output only
repeated
Premises associated with the connection object.
land_lot string Land lot number.
geo_location google.type.LatLng Geolocation
description string Optional description for the resource.
create_time google.protobuf.Timestamp output only The creation time of the connection object.
update_time google.protobuf.Timestamp output only The last update time of the connection object.
active_period enpowerx.types.DateRange The period when the connection object is active.

ListPremises

List premises.

Input: PremiseListRequest

Field Type Rules Description
*parent string The parent, which owns this collection of premises.
*tenant string The tenant to list premises for.
page_size int32 The maximum number of items to return. 0 for default.
page_token string The next_page_token value returned from a previous List request, if any.
filter PremiseListRequest.Filter The filter to apply to the list.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-created_time".

Output: PremiseListResponse

Field Type Rules Description
premises Premise repeated List of the requested premises.
total_size int32 Count of items contained in the list.
next_page_token string Token to retrieve the next page of results, or empty if there are no more results in the list.

GetPremise

Get a premise.

Output: Premise

Premise aka. Verbrauchsstelle.

Field Type Rules Description
*tenant string immutable The tenant the Premise belongs to.
*id string immutable The unique id of the resource.
connection_object string output only Id of the connection object.
number string output only Generated number of the premise.
floor string Floor of the building.
installations string output only
repeated
List of installations associated with the premise.
description string Optional description for the resource.
create_time google.protobuf.Timestamp output only The creation time of the premise.
update_time google.protobuf.Timestamp output only The last update time of the premise.
active_period enpowerx.types.DateRange The period when the premise is active.

CreatePremise

Create a premise.

Input: Premise

Premise aka. Verbrauchsstelle.

Field Type Rules Description
*tenant string immutable The tenant the Premise belongs to.
*id string immutable The unique id of the resource.
connection_object string output only Id of the connection object.
number string output only Generated number of the premise.
floor string Floor of the building.
installations string output only
repeated
List of installations associated with the premise.
description string Optional description for the resource.
create_time google.protobuf.Timestamp output only The creation time of the premise.
update_time google.protobuf.Timestamp output only The last update time of the premise.
active_period enpowerx.types.DateRange The period when the premise is active.

Output: Premise

Premise aka. Verbrauchsstelle.

Field Type Rules Description
*tenant string immutable The tenant the Premise belongs to.
*id string immutable The unique id of the resource.
connection_object string output only Id of the connection object.
number string output only Generated number of the premise.
floor string Floor of the building.
installations string output only
repeated
List of installations associated with the premise.
description string Optional description for the resource.
create_time google.protobuf.Timestamp output only The creation time of the premise.
update_time google.protobuf.Timestamp output only The last update time of the premise.
active_period enpowerx.types.DateRange The period when the premise is active.

UpdatePremise

Update a premise.

Input: UpdatePremiseRequest

Field Type Rules Description
*premise Premise The premise to update.
*update_mask google.protobuf.FieldMask The update mask applies to the resource. For the FieldMask definition,
see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

Output: Premise

Premise aka. Verbrauchsstelle.

Field Type Rules Description
*tenant string immutable The tenant the Premise belongs to.
*id string immutable The unique id of the resource.
connection_object string output only Id of the connection object.
number string output only Generated number of the premise.
floor string Floor of the building.
installations string output only
repeated
List of installations associated with the premise.
description string Optional description for the resource.
create_time google.protobuf.Timestamp output only The creation time of the premise.
update_time google.protobuf.Timestamp output only The last update time of the premise.
active_period enpowerx.types.DateRange The period when the premise is active.

ListInstallations

List installations.

Input: InstallationListRequest

Field Type Rules Description
*parent string The parent which owns the collection of installations.
*tenant string The tenant to installations for.
page_size int32 The maximum number of items to return. 0 for default.
page_token string The next_page_token value returned from a previous List request, if any.
filter InstallationListRequest.Filter The filter to apply to the list.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-created_time".

Output: InstallationListResponse

Field Type Rules Description
installations Installation repeated A list of requested installations.
total_size int32 Count of items contained in the list.
next_page_token string Token to retrieve the next page of results, or empty if there are no more results in the list.

SearchInstallations

Search for installations.

Input: SearchInstallationsRequest

Field Type Rules Description
*tenant string The tenant to installations for.
page_size int32 The maximum number of items to return. 0 for default.
page_token string The next_page_token value returned from a previous List request, if any.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-created_time".
filter SearchInstallationsRequest.Filter the filter to apply

Output: SearchInstallationsResponse

Field Type Rules Description
results SearchInstallationsResponse.Result repeated A list of installations that match the criteria.
facets SearchInstallationsResponse.Facets The facets for the search.
next_page_token string Token to retrieve the next page of results, or empty if there are no more results in the list.
total_size int32 Count of items contained in the list.

GetInstallation

Get an installation identified by it's id.

Output: Installation

Installation aka. Anlage.

Field Type Rules Description
*tenant string immutable The tenant the Installation belongs to.
*id string immutable The unique id of the resource.
number string output only Generated number for the installation.
external_installation_number string External installation id provided by the tenant.
*commodity enpowerx.monopolx.types.Commodity Commodity of the installation.
premise string output only Premise of the installation.
malo string The malo associated with the installation.
melos string repeated Melos currently associated with the installation.
description string Optional description for the resource.
create_time google.protobuf.Timestamp output only The creation time of the installation.
update_time google.protobuf.Timestamp output only The last update time of the installation.
active_period enpowerx.types.DateRange The period when the installation is active.

CreateInstallation

Create an installation.

Input: Installation

Installation aka. Anlage.

Field Type Rules Description
*tenant string immutable The tenant the Installation belongs to.
*id string immutable The unique id of the resource.
number string output only Generated number for the installation.
external_installation_number string External installation id provided by the tenant.
*commodity enpowerx.monopolx.types.Commodity Commodity of the installation.
premise string output only Premise of the installation.
malo string The malo associated with the installation.
melos string repeated Melos currently associated with the installation.
description string Optional description for the resource.
create_time google.protobuf.Timestamp output only The creation time of the installation.
update_time google.protobuf.Timestamp output only The last update time of the installation.
active_period enpowerx.types.DateRange The period when the installation is active.

Output: Installation

Installation aka. Anlage.

Field Type Rules Description
*tenant string immutable The tenant the Installation belongs to.
*id string immutable The unique id of the resource.
number string output only Generated number for the installation.
external_installation_number string External installation id provided by the tenant.
*commodity enpowerx.monopolx.types.Commodity Commodity of the installation.
premise string output only Premise of the installation.
malo string The malo associated with the installation.
melos string repeated Melos currently associated with the installation.
description string Optional description for the resource.
create_time google.protobuf.Timestamp output only The creation time of the installation.
update_time google.protobuf.Timestamp output only The last update time of the installation.
active_period enpowerx.types.DateRange The period when the installation is active.

UpdateInstallation

Update an installation.

Input: UpdateInstallationRequest

Field Type Rules Description
*installation Installation The installation to update.
*update_mask google.protobuf.FieldMask The update mask applies to the resource. For the FieldMask definition,
see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

Output: Installation

Installation aka. Anlage.

Field Type Rules Description
*tenant string immutable The tenant the Installation belongs to.
*id string immutable The unique id of the resource.
number string output only Generated number for the installation.
external_installation_number string External installation id provided by the tenant.
*commodity enpowerx.monopolx.types.Commodity Commodity of the installation.
premise string output only Premise of the installation.
malo string The malo associated with the installation.
melos string repeated Melos currently associated with the installation.
description string Optional description for the resource.
create_time google.protobuf.Timestamp output only The creation time of the installation.
update_time google.protobuf.Timestamp output only The last update time of the installation.
active_period enpowerx.types.DateRange The period when the installation is active.

ListDevices

List devices.

Input: DeviceListRequest

Field Type Rules Description
*tenant string The tenant to list devices for.
page_size int32 The maximum number of items to return. 0 for default.
page_token string The next_page_token value returned from a previous List request, if any.
filter DeviceListRequest.Filter The filter to apply to the list.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-created_time".

Output: DeviceListResponse

Field Type Rules Description
devices Device repeated The requested device infos.
total_size int32 Count of items contained in the list.
next_page_token string Token to retrieve the next page of results, or empty if there are no more results in the list.

GetDevice

Get a device identified by its id.

Output: Device

DeviceInfo aka. Geräteinfosatz.

Field Type Rules Description
*tenant string immutable The tenant the device belongs to.
*id string immutable Unique id of the device.
number string output only Generated device number.
*registers Register repeated Registers associated with the device.
type Device.EnergyType Energy type of the device info.
*meter_number string Number of the meter.
meter_type string Type of the meter, e.g. "AHZ" (See MSCONS).
meter_type_details string Meter type details.
counter_size Device.CounterSize Counter size.
data_acquisition_method Device.DataAcquisitionMethod Data acquisition method..
description string Optional description for the resource.
*installation_date google.type.Date input only The installation date of the device.
This date will be used for the initial reading of each register.
create_time google.protobuf.Timestamp output only The creation time of the device.
update_time google.protobuf.Timestamp output only The last update time of the device.

CreateDevice

Create a device and the registers of a device.
The method will create a consumption register for each reading register.

Input: Device

DeviceInfo aka. Geräteinfosatz.

Field Type Rules Description
*tenant string immutable The tenant the device belongs to.
*id string immutable Unique id of the device.
number string output only Generated device number.
*registers Register repeated Registers associated with the device.
type Device.EnergyType Energy type of the device info.
*meter_number string Number of the meter.
meter_type string Type of the meter, e.g. "AHZ" (See MSCONS).
meter_type_details string Meter type details.
counter_size Device.CounterSize Counter size.
data_acquisition_method Device.DataAcquisitionMethod Data acquisition method..
description string Optional description for the resource.
*installation_date google.type.Date input only The installation date of the device.
This date will be used for the initial reading of each register.
create_time google.protobuf.Timestamp output only The creation time of the device.
update_time google.protobuf.Timestamp output only The last update time of the device.

Output: Device

DeviceInfo aka. Geräteinfosatz.

Field Type Rules Description
*tenant string immutable The tenant the device belongs to.
*id string immutable Unique id of the device.
number string output only Generated device number.
*registers Register repeated Registers associated with the device.
type Device.EnergyType Energy type of the device info.
*meter_number string Number of the meter.
meter_type string Type of the meter, e.g. "AHZ" (See MSCONS).
meter_type_details string Meter type details.
counter_size Device.CounterSize Counter size.
data_acquisition_method Device.DataAcquisitionMethod Data acquisition method..
description string Optional description for the resource.
*installation_date google.type.Date input only The installation date of the device.
This date will be used for the initial reading of each register.
create_time google.protobuf.Timestamp output only The creation time of the device.
update_time google.protobuf.Timestamp output only The last update time of the device.

UpdateDevice

Update a device.

Input: UpdateDeviceRequest

Field Type Rules Description
*device Device The device to update.
*update_mask google.protobuf.FieldMask The update mask applies to the resource. For the FieldMask definition,
see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

Output: Device

DeviceInfo aka. Geräteinfosatz.

Field Type Rules Description
*tenant string immutable The tenant the device belongs to.
*id string immutable Unique id of the device.
number string output only Generated device number.
*registers Register repeated Registers associated with the device.
type Device.EnergyType Energy type of the device info.
*meter_number string Number of the meter.
meter_type string Type of the meter, e.g. "AHZ" (See MSCONS).
meter_type_details string Meter type details.
counter_size Device.CounterSize Counter size.
data_acquisition_method Device.DataAcquisitionMethod Data acquisition method..
description string Optional description for the resource.
*installation_date google.type.Date input only The installation date of the device.
This date will be used for the initial reading of each register.
create_time google.protobuf.Timestamp output only The creation time of the device.
update_time google.protobuf.Timestamp output only The last update time of the device.

ReplaceDevice

Replace an existing device with a new one. This method retains all register relations.
The new device needs to have the same number of registers as the old one.
Furthermore, the obis codes of the registers must be equal.

Input: ReplaceDeviceRequest

Field Type Rules Description
*tenant string The tenant the device belongs to.
*id string Current id of the device.
*new_device Device The new device.
*final_readings ReplaceDeviceRequest.RegisterReading repeated The final readings of the old device.
A reading for each register must be provided.
*initial_readings ReplaceDeviceRequest.RegisterReading repeated The initial readings of the new device.
A reading for each register must be provided.
*date google.type.Date Date of the replacement

Output: Device

DeviceInfo aka. Geräteinfosatz.

Field Type Rules Description
*tenant string immutable The tenant the device belongs to.
*id string immutable Unique id of the device.
number string output only Generated device number.
*registers Register repeated Registers associated with the device.
type Device.EnergyType Energy type of the device info.
*meter_number string Number of the meter.
meter_type string Type of the meter, e.g. "AHZ" (See MSCONS).
meter_type_details string Meter type details.
counter_size Device.CounterSize Counter size.
data_acquisition_method Device.DataAcquisitionMethod Data acquisition method..
description string Optional description for the resource.
*installation_date google.type.Date input only The installation date of the device.
This date will be used for the initial reading of each register.
create_time google.protobuf.Timestamp output only The creation time of the device.
update_time google.protobuf.Timestamp output only The last update time of the device.

ListRegisters

List registers.

Input: RegisterListRequest

Field Type Rules Description
*parent string The parent, which owns this collection of premises.
*tenant string The tenant to list Registers for.
page_size int32 The maximum number of items to return. 0 for default.
page_token string The next_page_token value returned from a previous List request, if any.
filter RegisterListRequest.Filter The filter to apply to the list.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-created_time".

Output: RegisterListResponse

Field Type Rules Description
registers Register repeated The requested registers.
next_page_token string Token to retrieve the next page of results, or empty if there are no more results in the list.
total_size int32 Total object count after the given filter has been applied.

GetRegister

Get a register identified by it's id.

Output: Register

Register aka. Zählwerk.

Field Type Rules Description
*tenant string immutable The tenant the Register belongs to.
*id string immutable The unique id of the resource.
melos Register.Melo output only
repeated
The Melos associated with the register. To update the relation refer to the relevant Melo methods.
malos Register.Malo output only
repeated
The Malos associated with the register. To update the relation refer to the relevant Malo methods.
*obis string Obis code of the register. Must be unique for the device
integer_digits int32 Integer digits of the register (i.e. digits before the decimal point)
fractional_digits int32 Fractional digits of the register. (i.e. digits after the decimal point)
description string Optional description for the resource.
create_time google.protobuf.Timestamp output only The creation time of the register.
update_time google.protobuf.Timestamp output only The last update time of the register.
*initial_reading enpowerx.types.Decimal immutable
input only
Initial reading for the register.
This value can only be set once on register creation.

GetRegisterEstimate

Get the prognosis of a register.

Input: GetRegisterEstimateRequest

Field Type Rules Description
*tenant string The tenant the Register belongs to.
*id string The unique id of the resource.
*malo string The malo of the register.
*date google.type.Date The date to get the prognosis for.

Output: GetRegisterEstimateResponse

Field Type Rules Description
estimate enpowerx.types.Decimal The prognosis for the given date.
readings Reading repeated The readings used for the estimate.

ListReadings

List readings.

Input: ReadingListRequest

Field Type Rules Description
*parent string The parent resource id.
*tenant string The tenant to list Registers for.
page_size int32 The maximum number of items to return. 0 for default.
page_token string The next_page_token value returned from a previous List request, if any.
filter ReadingListRequest.Filter The filter to apply to the list.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-created_time".

Output: ReadingListResponse

Field Type Rules Description
readings Reading repeated The requested readings.
next_page_token string Token to retrieve the next page of results, or empty if there are no more results in the list.
total_size int32 Count of items contained in the list.

GetReading

Get a reading identified by it's id.

Output: Reading

Field Type Rules Description
*tenant string immutable The tenant the Reading belongs to.
*id string immutable Id of the Reading.
*value enpowerx.types.Decimal The value of the reading.
*reading_time google.protobuf.Timestamp The period when the reading is valid.
reason Reading.Reason Reason for the reading.
plausibility Reading.Plausibility output only Indicates the plausibility of a reading.
quality Reading.Quality Quality of the reading.
origin Reading.Origin Origin of the reading.
inbound_channel Reading.Channel Channel over which the reading was received.
is_valid bool Indicated that the reading shall not be used for calculating the consumption.
billing_flag Reading.BillingFlag output only Billing flag of the reading.
external_id string output only external_id of the reading. This id might be present if the reading was imported from an external system (e.g. MSCONS).
create_time google.protobuf.Timestamp output only The creation time of the reading.
update_time google.protobuf.Timestamp output only The last update time of the reading.

CreateReading

Create a reading.

Input: Reading

Field Type Rules Description
*tenant string immutable The tenant the Reading belongs to.
*id string immutable Id of the Reading.
*value enpowerx.types.Decimal The value of the reading.
*reading_time google.protobuf.Timestamp The period when the reading is valid.
reason Reading.Reason Reason for the reading.
plausibility Reading.Plausibility output only Indicates the plausibility of a reading.
quality Reading.Quality Quality of the reading.
origin Reading.Origin Origin of the reading.
inbound_channel Reading.Channel Channel over which the reading was received.
is_valid bool Indicated that the reading shall not be used for calculating the consumption.
billing_flag Reading.BillingFlag output only Billing flag of the reading.
external_id string output only external_id of the reading. This id might be present if the reading was imported from an external system (e.g. MSCONS).
create_time google.protobuf.Timestamp output only The creation time of the reading.
update_time google.protobuf.Timestamp output only The last update time of the reading.

Output: Reading

Field Type Rules Description
*tenant string immutable The tenant the Reading belongs to.
*id string immutable Id of the Reading.
*value enpowerx.types.Decimal The value of the reading.
*reading_time google.protobuf.Timestamp The period when the reading is valid.
reason Reading.Reason Reason for the reading.
plausibility Reading.Plausibility output only Indicates the plausibility of a reading.
quality Reading.Quality Quality of the reading.
origin Reading.Origin Origin of the reading.
inbound_channel Reading.Channel Channel over which the reading was received.
is_valid bool Indicated that the reading shall not be used for calculating the consumption.
billing_flag Reading.BillingFlag output only Billing flag of the reading.
external_id string output only external_id of the reading. This id might be present if the reading was imported from an external system (e.g. MSCONS).
create_time google.protobuf.Timestamp output only The creation time of the reading.
update_time google.protobuf.Timestamp output only The last update time of the reading.

UpdateReading

Update a reading.

Input: UpdateReadingRequest

Field Type Rules Description
*reading Reading The reading to update.
*update_mask google.protobuf.FieldMask The update mask applies to the resource. For the FieldMask definition,
see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

Output: Reading

Field Type Rules Description
*tenant string immutable The tenant the Reading belongs to.
*id string immutable Id of the Reading.
*value enpowerx.types.Decimal The value of the reading.
*reading_time google.protobuf.Timestamp The period when the reading is valid.
reason Reading.Reason Reason for the reading.
plausibility Reading.Plausibility output only Indicates the plausibility of a reading.
quality Reading.Quality Quality of the reading.
origin Reading.Origin Origin of the reading.
inbound_channel Reading.Channel Channel over which the reading was received.
is_valid bool Indicated that the reading shall not be used for calculating the consumption.
billing_flag Reading.BillingFlag output only Billing flag of the reading.
external_id string output only external_id of the reading. This id might be present if the reading was imported from an external system (e.g. MSCONS).
create_time google.protobuf.Timestamp output only The creation time of the reading.
update_time google.protobuf.Timestamp output only The last update time of the reading.

CancelReading

Cancel a reading. This method will set the billing flag, according to the specified reason.
If a reading has been used for MeLo consumptions, the corresponding consumptions must be cancelled first.
This method will also change the validity of the reading to false.

Input: CancelReadingRequest

Field Type Rules Description
*tenant string The tenant the Reading belongs to.
*id string Id of the Reading.
*reason CancelReadingRequest.Reason The reason for the cancellation.

Output: Reading

Field Type Rules Description
*tenant string immutable The tenant the Reading belongs to.
*id string immutable Id of the Reading.
*value enpowerx.types.Decimal The value of the reading.
*reading_time google.protobuf.Timestamp The period when the reading is valid.
reason Reading.Reason Reason for the reading.
plausibility Reading.Plausibility output only Indicates the plausibility of a reading.
quality Reading.Quality Quality of the reading.
origin Reading.Origin Origin of the reading.
inbound_channel Reading.Channel Channel over which the reading was received.
is_valid bool Indicated that the reading shall not be used for calculating the consumption.
billing_flag Reading.BillingFlag output only Billing flag of the reading.
external_id string output only external_id of the reading. This id might be present if the reading was imported from an external system (e.g. MSCONS).
create_time google.protobuf.Timestamp output only The creation time of the reading.
update_time google.protobuf.Timestamp output only The last update time of the reading.

ListMalos

List MALOs.

Input: MaloListRequest

Marktlokation

Field Type Rules Description
*tenant string The tenant to list Registers for.
page_size int32 The maximum number of items to return. 0 for default.
page_token string The next_page_token value returned from a previous List request, if any.
filter MaloListRequest.Filter The filter to apply to the list.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-created_time".

Output: MaloListResponse

Field Type Rules Description
malos Malo repeated The requested malos.
next_page_token string Token to retrieve the next page of results, or empty if there are no more results in the list.
total_size int32 Count of items contained in the list.

GetMalo

Get a point of delivery identified by it's id.

Output: Malo

Field Type Rules Description
*tenant string immutable The tenant the Point of Delivery belongs to.
*id string immutable The unique id of the resource.
installation string The Installation associated with the Malo.
malo_id string MaLo Identifier, if not provided, a "internal" MaLo will be generated.
The MaLo can only be generated if the Installation is provided.
registers Malo.RegisterRelation output only
repeated
The registers associated with the Malo.
description string Optional description for the resource.
create_time google.protobuf.Timestamp output only The time the point of delivery was created.
update_time google.protobuf.Timestamp output only The time the point of delivery was last updated.

CreateMalo

Create a new malo.

Input: Malo

Field Type Rules Description
*tenant string immutable The tenant the Point of Delivery belongs to.
*id string immutable The unique id of the resource.
installation string The Installation associated with the Malo.
malo_id string MaLo Identifier, if not provided, a "internal" MaLo will be generated.
The MaLo can only be generated if the Installation is provided.
registers Malo.RegisterRelation output only
repeated
The registers associated with the Malo.
description string Optional description for the resource.
create_time google.protobuf.Timestamp output only The time the point of delivery was created.
update_time google.protobuf.Timestamp output only The time the point of delivery was last updated.

Output: Malo

Field Type Rules Description
*tenant string immutable The tenant the Point of Delivery belongs to.
*id string immutable The unique id of the resource.
installation string The Installation associated with the Malo.
malo_id string MaLo Identifier, if not provided, a "internal" MaLo will be generated.
The MaLo can only be generated if the Installation is provided.
registers Malo.RegisterRelation output only
repeated
The registers associated with the Malo.
description string Optional description for the resource.
create_time google.protobuf.Timestamp output only The time the point of delivery was created.
update_time google.protobuf.Timestamp output only The time the point of delivery was last updated.

UpdateMalo

Update a point of delivery.

Input: UpdateMaloRequest

Field Type Rules Description
*malo Malo The malo to update.
*update_mask google.protobuf.FieldMask The update mask applies to the resource. For the FieldMask definition,
see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

Output: Malo

Field Type Rules Description
*tenant string immutable The tenant the Point of Delivery belongs to.
*id string immutable The unique id of the resource.
installation string The Installation associated with the Malo.
malo_id string MaLo Identifier, if not provided, a "internal" MaLo will be generated.
The MaLo can only be generated if the Installation is provided.
registers Malo.RegisterRelation output only
repeated
The registers associated with the Malo.
description string Optional description for the resource.
create_time google.protobuf.Timestamp output only The time the point of delivery was created.
update_time google.protobuf.Timestamp output only The time the point of delivery was last updated.

SetMaloRegisterRelations

sets the current malo register relations. If the malo has already register relations, they will be ended.

Input: SetMaloRegisterRelationsRequest

Field Type Rules Description
*tenant string The tenant the Point of Delivery belongs to.
*id string The unique id of the resource.
*relations Malo.RegisterRelation repeated the register relations to set.

Output: Malo

Field Type Rules Description
*tenant string immutable The tenant the Point of Delivery belongs to.
*id string immutable The unique id of the resource.
installation string The Installation associated with the Malo.
malo_id string MaLo Identifier, if not provided, a "internal" MaLo will be generated.
The MaLo can only be generated if the Installation is provided.
registers Malo.RegisterRelation output only
repeated
The registers associated with the Malo.
description string Optional description for the resource.
create_time google.protobuf.Timestamp output only The time the point of delivery was created.
update_time google.protobuf.Timestamp output only The time the point of delivery was last updated.

GetMaloConsumption

Returns the consumption of a malo.
If the consumption is not yet calculated, an error is returned.
The client shall retry the request later.
e.g. GET /tenants/sw-musterstadt/monopolx/metering/v1/malos/DE123545435:getConsumption

Input: GetMaloConsumptionRequest

Field Type Rules Description
*tenant string The tenant the malo belongs to.
*id string The id of the malo.
*obis string The OBIS code of the register.
*period_start google.type.Date The start date.
*period_end google.type.Date The end date.

Output: GetMaloConsumptionResponse

Field Type Rules Description
consumptions Consumption output only
repeated
The calculated consumption.
billable bool output only Indicates if the consumption is billable.

CalculateMaloConsumption

Calculate the consumption of a malo.
If a consumption already exists for the given input, it is returned.

Input: CalculateMaloConsumptionRequest

Field Type Rules Description
*tenant string The tenant the malo belongs to.
*id string The id of the malo.
*end_date google.type.Date The end date for the consumption calculation.
The start date is the next day of the last consumption's end.
persist bool Indicates if the consumption shall be persisted.
by default the consumption is not persisted.
reference_time google.protobuf.Timestamp The reference time for which the consumption shall be calculated.
If not set, the current time is used.

Output: CalculateMaloConsumptionResponse

Field Type Rules Description
results CalculateMaloConsumptionResponse.Result output only
repeated
The calculated consumptions.
simulated bool output only Indicates if the consumption is simulated aka. not persisted.

PrepareConsumptionRun

Internal: not for public consumption.

Input: PrepareConsumptionRunRequest

Field Type Rules Description
*tenant string The tenant the malo belongs to.
cycle_date google.type.Date The cycle date to consider, if left empty the current cycle date is used.
include_terminated bool optional Indicates if terminated contract shall be considered. Default is true.
Selection criteria: Contract.end_date < cycle_date

Output: CalculateMaloConsumptionRequest stream

Field Type Rules Description
*tenant string The tenant the malo belongs to.
*id string The id of the malo.
*end_date google.type.Date The end date for the consumption calculation.
The start date is the next day of the last consumption's end.
persist bool Indicates if the consumption shall be persisted.
by default the consumption is not persisted.
reference_time google.protobuf.Timestamp The reference time for which the consumption shall be calculated.
If not set, the current time is used.

CreateMaloConsumptionPrognosis

Create a new consumption prognosis for the MaLo.

Input: MaloConsumptionPrognosis

Field Type Rules Description
*tenant string immutable The tenant the contract belongs to.
*id string immutable The contract's ID in the tenant's scope.
*validity_start_date google.type.Date immutable Date from which the prognosis will be valid.
*value enpowerx.types.Decimal Daily consumption prognosis.
*type MaloConsumptionPrognosis.Type immutable The type of the prognosis.
create_time google.protobuf.Timestamp output only The creation time of the contract.

Output: MaloConsumptionPrognosis

Field Type Rules Description
*tenant string immutable The tenant the contract belongs to.
*id string immutable The contract's ID in the tenant's scope.
*validity_start_date google.type.Date immutable Date from which the prognosis will be valid.
*value enpowerx.types.Decimal Daily consumption prognosis.
*type MaloConsumptionPrognosis.Type immutable The type of the prognosis.
create_time google.protobuf.Timestamp output only The creation time of the contract.

UpdateMaloConsumptionPrognosis

Update a consumption prognosis for the MaLo. Only Manual prognoses can be updated.

Input: UpdateMaloConsumptionPrognosisRequest

Field Type Rules Description
*malo_consumption_prognosis MaloConsumptionPrognosis The malo consumption prognosis to update.
*update_mask google.protobuf.FieldMask The update mask applies to the resource. For the FieldMask definition,
see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

Output: MaloConsumptionPrognosis

Field Type Rules Description
*tenant string immutable The tenant the contract belongs to.
*id string immutable The contract's ID in the tenant's scope.
*validity_start_date google.type.Date immutable Date from which the prognosis will be valid.
*value enpowerx.types.Decimal Daily consumption prognosis.
*type MaloConsumptionPrognosis.Type immutable The type of the prognosis.
create_time google.protobuf.Timestamp output only The creation time of the contract.

GetMaloConsumptionPrognosis

Get a consumption prognosis for the MaLo.

Output: MaloConsumptionPrognosis

Field Type Rules Description
*tenant string immutable The tenant the contract belongs to.
*id string immutable The contract's ID in the tenant's scope.
*validity_start_date google.type.Date immutable Date from which the prognosis will be valid.
*value enpowerx.types.Decimal Daily consumption prognosis.
*type MaloConsumptionPrognosis.Type immutable The type of the prognosis.
create_time google.protobuf.Timestamp output only The creation time of the contract.

ListMaloConsumptionPrognoses

List consumption prognoses for the MaLo.

Input: MaloConsumptionPrognosisListRequest

Field Type Rules Description
*parent string The parent, which owns this collection of premises.
*tenant string The tenant to list addresses for.
page_size int32 The maximum number of items to return. 0 for default.
page_token string The next_page_token value returned from a previous List request, if any.
filter MaloConsumptionPrognosisListRequest.Filter The filter to apply to.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-created_time".

Output: MaloConsumptionPrognosisListResponse

Field Type Rules Description
prognoses MaloConsumptionPrognosis repeated List of requested prognoses.
next_page_token string Token to retrieve the next page of results, or empty if there are no more results in the list.
total_size int32 Count of items contained in the list.

ListConsumptions

List consumptions.

Input: ConsumptionListRequest

Field Type Rules Description
*parent string The parent resource id.
*tenant string The tenant to list Registers for.
page_size int32 The maximum number of items to return. 0 for default.
page_token string The next_page_token value returned from a previous List request, if any.
filter ConsumptionListRequest.Filter The filter to apply to the list.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-created_time".

Output: ConsumptionListResponse

Field Type Rules Description
consumptions Consumption repeated The requested consumptions.
next_page_token string Token to retrieve the next page of results, or empty if there are no more results in the list.
total_size int32 Count of items contained in the list.

GetConsumption

Get a single consumption by tenant and id.

Output: Consumption

Field Type Rules Description
*tenant string immutable The tenant the Consumption belongs to.
*id string immutable Id of the Consumption.
*value enpowerx.types.Decimal The value of the reading.
*obis string The obis code.
period enpowerx.types.DateRange output only Consumption period.
plausibility Consumption.Plausibility output only Indicates the plausibility of the consumption.
is_billed bool output only Indicates if the consumption has been billed.
is_cancelled bool output only Indicates if the consumption has been cancelled.
billing_period enpowerx.types.DateRange output only Indicates the billing period of the consumption.
Multiple consumptions can be part of a particular billing period.
create_time google.protobuf.Timestamp output only The creation time of the reading.
update_time google.protobuf.Timestamp output only The last update time of the reading.
annotations google.protobuf.Struct output only Additional information about the consumption.

CancelConsumption

Cancel a consumption. This method checks if the associated bill is cancelled and will fail if otherwise.

Output: Consumption

Field Type Rules Description
*tenant string immutable The tenant the Consumption belongs to.
*id string immutable Id of the Consumption.
*value enpowerx.types.Decimal The value of the reading.
*obis string The obis code.
period enpowerx.types.DateRange output only Consumption period.
plausibility Consumption.Plausibility output only Indicates the plausibility of the consumption.
is_billed bool output only Indicates if the consumption has been billed.
is_cancelled bool output only Indicates if the consumption has been cancelled.
billing_period enpowerx.types.DateRange output only Indicates the billing period of the consumption.
Multiple consumptions can be part of a particular billing period.
create_time google.protobuf.Timestamp output only The creation time of the reading.
update_time google.protobuf.Timestamp output only The last update time of the reading.
annotations google.protobuf.Struct output only Additional information about the consumption.

SetConsumptionPlausible

Set the plausibility of a consumption to PLAUSIBLE_MANUAL_OVERRIDE.
This method is only available for consumptions with a plausibility of UNPLAUSIBLE and which are not billed.

Output: Consumption

Field Type Rules Description
*tenant string immutable The tenant the Consumption belongs to.
*id string immutable Id of the Consumption.
*value enpowerx.types.Decimal The value of the reading.
*obis string The obis code.
period enpowerx.types.DateRange output only Consumption period.
plausibility Consumption.Plausibility output only Indicates the plausibility of the consumption.
is_billed bool output only Indicates if the consumption has been billed.
is_cancelled bool output only Indicates if the consumption has been cancelled.
billing_period enpowerx.types.DateRange output only Indicates the billing period of the consumption.
Multiple consumptions can be part of a particular billing period.
create_time google.protobuf.Timestamp output only The creation time of the reading.
update_time google.protobuf.Timestamp output only The last update time of the reading.
annotations google.protobuf.Struct output only Additional information about the consumption.

PrepareBillingRun

Internal: not for public consumption.

Input: PrepareBillingRunRequest

Field Type Rules Description
*tenant string Name of the tenant

BillConsumption

Internal: not for public consumption

Output: BillConsumptionResponse

Field Type Rules Description
contract string output only The contract that was billed.
bill string output only The bill created.

ListMelos

List MELOs.
(-- api-linter: core::0132::http-uri-parent=disabled
aip.dev/not-precedent: Parent is optional here. --)

Input: MeloListRequest

Field Type Rules Description
parent string The parent, which owns this collection of premises.
*tenant string The tenant to list Registers for.
page_size int32 The maximum number of items to return. 0 for default.
page_token string The next_page_token value returned from a previous List request, if any.
filter MeloListRequest.Filter The filter to apply to the list.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-created_time".

Output: MeloListResponse

Field Type Rules Description
melos Melo repeated The requested melos.
next_page_token string Token to retrieve the next page of results, or empty if there are no more results in the list.
total_size int32 Count of items contained in the list.

GetMelo

Get a single MELO by tenant and id.

Output: Melo

Field Type Rules Description
*tenant string immutable The tenant the Point of Delivery belongs to.
*id string immutable The unique id of the resource.
installation string The Installation associated with the Malo.
melo_id string MELO-ID
If the melo is left empty, the melo will be generated by the system.
To generate a Melo at least one installation must be provided.
description string Optional description for the resource.
reading_cycle_grid_operator_interval ReadingCycleInterval Specify an interval.
reading_cycle_grid_operator_exact ReadingCycleExact Specify an exact day of the year.
registers Melo.Register repeated The registers associated with the Melo.
create_time google.protobuf.Timestamp output only The time the point of delivery was created.
update_time google.protobuf.Timestamp output only The time the point of delivery was last updated.
active_period enpowerx.types.DateRange The period when the melo is active.

CreateMelo

Create a new MELO.

Input: Melo

Field Type Rules Description
*tenant string immutable The tenant the Point of Delivery belongs to.
*id string immutable The unique id of the resource.
installation string The Installation associated with the Malo.
melo_id string MELO-ID
If the melo is left empty, the melo will be generated by the system.
To generate a Melo at least one installation must be provided.
description string Optional description for the resource.
reading_cycle_grid_operator_interval ReadingCycleInterval Specify an interval.
reading_cycle_grid_operator_exact ReadingCycleExact Specify an exact day of the year.
registers Melo.Register repeated The registers associated with the Melo.
create_time google.protobuf.Timestamp output only The time the point of delivery was created.
update_time google.protobuf.Timestamp output only The time the point of delivery was last updated.
active_period enpowerx.types.DateRange The period when the melo is active.

Output: Melo

Field Type Rules Description
*tenant string immutable The tenant the Point of Delivery belongs to.
*id string immutable The unique id of the resource.
installation string The Installation associated with the Malo.
melo_id string MELO-ID
If the melo is left empty, the melo will be generated by the system.
To generate a Melo at least one installation must be provided.
description string Optional description for the resource.
reading_cycle_grid_operator_interval ReadingCycleInterval Specify an interval.
reading_cycle_grid_operator_exact ReadingCycleExact Specify an exact day of the year.
registers Melo.Register repeated The registers associated with the Melo.
create_time google.protobuf.Timestamp output only The time the point of delivery was created.
update_time google.protobuf.Timestamp output only The time the point of delivery was last updated.
active_period enpowerx.types.DateRange The period when the melo is active.

UpdateMelo

Update a MELO.

Input: UpdateMeloRequest

Field Type Rules Description
*melo Melo The melo to update.
*update_mask google.protobuf.FieldMask The update mask applies to the resource. For the FieldMask definition,
see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

Output: Melo

Field Type Rules Description
*tenant string immutable The tenant the Point of Delivery belongs to.
*id string immutable The unique id of the resource.
installation string The Installation associated with the Malo.
melo_id string MELO-ID
If the melo is left empty, the melo will be generated by the system.
To generate a Melo at least one installation must be provided.
description string Optional description for the resource.
reading_cycle_grid_operator_interval ReadingCycleInterval Specify an interval.
reading_cycle_grid_operator_exact ReadingCycleExact Specify an exact day of the year.
registers Melo.Register repeated The registers associated with the Melo.
create_time google.protobuf.Timestamp output only The time the point of delivery was created.
update_time google.protobuf.Timestamp output only The time the point of delivery was last updated.
active_period enpowerx.types.DateRange The period when the melo is active.

ListMeloConsumptions

List Melo consumptions
To fetch all Melo consumptions by installation it is needed to set the connection-objects-, premises- and installations- param and additionally set a hyphen as wildcard for melos parameter
To fetch all Melo consumptions for a specific Malo use a hyphen - as a wildcard for the melos parameter.

Input: MeloConsumptionListRequest

Field Type Rules Description
*parent string The parent resource id.
*tenant string The tenant the Melos belong to
page_size int32 The maximum number of items to return. 0 for default
page_token string The next_page_token value returned from a previous List request.
filter MeloConsumptionListRequest.Filter The filter to apply to the list.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-created_time".

Output: MeloConsumptionListResponse

Field Type Rules Description
melo_consumptions MeloConsumption repeated The requested melo consumptions
next_page_token string Token to retrieve the next page of results, or empty if there are no more results in the list.
total_size int32 Count of items contained in the list.

GetMeloConsumption

Get a single Melo consumption by tenant and id

Output: MeloConsumption

Field Type Rules Description
*tenant string Name of the tenant
*id string The id of the Melo consumption
value enpowerx.types.Decimal output only Consumed value
period enpowerx.types.DateRange Date range of the consumption
is_cancelled bool output only Indicates if the consumption is cancelled.
create_time google.protobuf.Timestamp output only The creation time of the Melo consumption object.
update_time google.protobuf.Timestamp output only The update time of the Melo consumption object.

CancelMeloConsumption

Cancel a MeLo consumption. This method only works if depended MaLo consumptions are already canceled.

Output: MeloConsumption

Field Type Rules Description
*tenant string Name of the tenant
*id string The id of the Melo consumption
value enpowerx.types.Decimal output only Consumed value
period enpowerx.types.DateRange Date range of the consumption
is_cancelled bool output only Indicates if the consumption is cancelled.
create_time google.protobuf.Timestamp output only The creation time of the Melo consumption object.
update_time google.protobuf.Timestamp output only The update time of the Melo consumption object.

ListExchangeReadings

List ExchangeReadings.

Input: ExchangeReadingsListRequest

Field Type Rules Description
*tenant string The tenant to list Registers for.
page_size int32 The maximum number of items to return. 0 for default.
page_token string The next_page_token value returned from a previous List request, if any.
filter ExchangeReadingsListRequest.Filter The filter to apply to the list.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-created_time".

Output: ExchangeReadingsListResponse

Field Type Rules Description
exchange_readings ExchangeReading repeated The list of exchange readings.
next_page_token string The next page token.
total_size int32 Count of items contained in the list.

GetExchangeReading

Get a single ExchangeReading by tenant and id.

Output: ExchangeReading

Field Type Rules Description
*tenant string The tenant the exchange reading belongs to.
*id string The id of the exchange reading.
reading string output only The reading created from the exchange reading.
error string output only Error message if the exchange reading could not be processed.
import_time google.protobuf.Timestamp output only Import time of the exchange reading.
export_time google.protobuf.Timestamp output only Export time of the exchange reading.
check_identifier string output only Check identifier of the exchange reading.
reference_utilmd string output only UTILMD reference of the exchange reading.
reference_orders string output only ORDERS reference of the exchange reading.
sender string output only Sender of the exchange reading.
receiver string output only Receiver of the exchange reading.
pod_identifier string output only Pod Identifier of the exchange reading. Either the MELO or MALO.
device_identifier string output only Device identifier of the exchange reading.
obis string output only OBIS code of the exchange reading.
quality string output only Quality of the exchange reading.
value enpowerx.types.Decimal output only Value of the exchange reading.
value_time google.protobuf.Timestamp output only Value time of the exchange reading.
plausibility_remark string output only Plausibility check remark of the exchange reading.
substitute_value_formation_method string output only Substitute value formation method of the exchange reading.
substitute_value_formation_reason string output only Substitute value formation reason of the exchange reading.
correction_reason string output only Correction reason of the exchange reading.
create_time google.protobuf.Timestamp output only Creation time of the exchange reading.
update_time google.protobuf.Timestamp output only Update time of the exchange reading.

ListMeteringConstructs

List metering constructs

Input: MeteringConstructListRequest

Field Type Rules Description
*tenant string The tenant to list Registers for.
page_size int32 The maximum number of items to return. 0 for default.
page_token string The next_page_token value returned from a previous List request, if any.
filter MeteringConstructListRequest.Filter The filter to apply to the list.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-created_time".
Available fields:
- installation.commodity
- malo.malo_id
- device.meter_number

Output: MeteringConstructListResponse

Field Type Rules Description
metering_constructs MeteringConstruct repeated The list of metering constructs.
next_page_token string The next page token.
total_size int32 Count of items contained in the list.

CreateConsumptionAdjustment

Create a new consumption adjustment (DE: Korrekturmenge).

Input: ConsumptionAdjustment

Manual consumption adjustment for a specific date/malo (DE: Korrekturmenge)

Field Type Rules Description
*tenant string immutable The tenant the consumption adjustment belongs to.
*id string immutable Id of the Consumption.
*value enpowerx.types.Decimal The value of the adjustment, can be negative.
*usage_date google.type.Date Date of the adjustment.
note string The reason for the adjustment.
is_valid bool output only Indicates if the adjustment is valid, i.e. can be used.
create_time google.protobuf.Timestamp output only The creation time of the adjustment
update_time google.protobuf.Timestamp output only The update time of the adjustment

Output: ConsumptionAdjustment

Manual consumption adjustment for a specific date/malo (DE: Korrekturmenge)

Field Type Rules Description
*tenant string immutable The tenant the consumption adjustment belongs to.
*id string immutable Id of the Consumption.
*value enpowerx.types.Decimal The value of the adjustment, can be negative.
*usage_date google.type.Date Date of the adjustment.
note string The reason for the adjustment.
is_valid bool output only Indicates if the adjustment is valid, i.e. can be used.
create_time google.protobuf.Timestamp output only The creation time of the adjustment
update_time google.protobuf.Timestamp output only The update time of the adjustment

ListConsumptionAdjustments

List consumption consumptions (DE: Korrekturmenge).

Input: ConsumptionAdjustmentListRequest

Field Type Rules Description
*parent string The parent resource id.
*tenant string The tenant to list Registers for.
page_size int32 The maximum number of items to return. 0 for default.
page_token string The next_page_token value returned from a previous List request, if any.
filter ConsumptionAdjustmentListRequest.Filter The filter to apply to the list.
order_by string Comma separated list of fields to order by. Use - for descending order, e.g. "-created_time".

Output: ConsumptionAdjustmentListResponse

Field Type Rules Description
consumption_adjustments ConsumptionAdjustment repeated The requested consumption adjustments.
next_page_token string Token to retrieve the next page of results, or empty if there are no more results in the list.
total_size int32 Count of items contained in the list.

GetConsumptionAdjustment

Get a single consumption adjustment by tenant and id (DE: Korrekturmenge).

Output: ConsumptionAdjustment

Manual consumption adjustment for a specific date/malo (DE: Korrekturmenge)

Field Type Rules Description
*tenant string immutable The tenant the consumption adjustment belongs to.
*id string immutable Id of the Consumption.
*value enpowerx.types.Decimal The value of the adjustment, can be negative.
*usage_date google.type.Date Date of the adjustment.
note string The reason for the adjustment.
is_valid bool output only Indicates if the adjustment is valid, i.e. can be used.
create_time google.protobuf.Timestamp output only The creation time of the adjustment
update_time google.protobuf.Timestamp output only The update time of the adjustment

UpdateConsumptionAdjustment

Update a consumption adjustment (DE: Korrekturmenge).

Input: UpdateConsumptionAdjustmentRequest

Field Type Rules Description
*consumption_adjustment ConsumptionAdjustment The consumption adjustment to update.
*update_mask google.protobuf.FieldMask The update mask applies to the resource. For the FieldMask definition,
see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

Output: ConsumptionAdjustment

Manual consumption adjustment for a specific date/malo (DE: Korrekturmenge)

Field Type Rules Description
*tenant string immutable The tenant the consumption adjustment belongs to.
*id string immutable Id of the Consumption.
*value enpowerx.types.Decimal The value of the adjustment, can be negative.
*usage_date google.type.Date Date of the adjustment.
note string The reason for the adjustment.
is_valid bool output only Indicates if the adjustment is valid, i.e. can be used.
create_time google.protobuf.Timestamp output only The creation time of the adjustment
update_time google.protobuf.Timestamp output only The update time of the adjustment

CalculateMaloConsumptionResponse.Result

Field Type Rules Description
consumption Consumption output only The calculated consumption.
estimates Reading output only
repeated
If there was no exact reading for the end date of the consumption, this is the estimated reading.

ConnectionObjectListRequest.Filter

Field Type Rules Description
numbers string repeated Filter by connection object number.
address ConnectionObjectListRequest.Filter.Address optional Address related filtering.
description_scalar enpowerx.types.StringScalarFilter Filter for one value.
description_list enpowerx.types.StringListFilter Filter for multiple values.
ids string repeated Filter by ids

ConnectionObjectListRequest.Filter.Address

Field Type Rules Description
region_scalar enpowerx.types.StringScalarFilter Filter for one value.
region_list enpowerx.types.StringListFilter Filter for multiple values.
postal_code_scalar enpowerx.types.StringScalarFilter Filter for one value.
postal_code_list enpowerx.types.StringListFilter Filter for multiple values.
city_scalar enpowerx.types.StringScalarFilter Filter for one value.
city_list enpowerx.types.StringListFilter Filter for multiple values.
street_scalar enpowerx.types.StringScalarFilter Filter for one value.
street_list enpowerx.types.StringListFilter Filter for multiple values.
house_number_scalar enpowerx.types.StringScalarFilter Filter for one value.
house_number_list enpowerx.types.StringListFilter Filter for multiple values.
postbox_number_scalar enpowerx.types.StringScalarFilter Filter for one value.
postbox_number_list enpowerx.types.StringListFilter Filter for multiple values.
district_scalar enpowerx.types.StringScalarFilter Filter for one value.
district_list enpowerx.types.StringListFilter Filter for multiple values.

ConsumptionAdjustmentListRequest.Filter

Field Type Rules Description
usage_date_date enpowerx.types.DateFilter Filter by start date on the specified date.
usage_date_range enpowerx.types.DateRangeFilter Filter by start date in the specified range
note_scalar enpowerx.types.StringScalarFilter Filter for one value.
note_list enpowerx.types.StringListFilter Filter for multiple values.
is_valid bool optional Filter by validity state

ConsumptionListRequest.Filter

Field Type Rules Description
obis string repeated Filter by obis code
plausibility Consumption.Plausibility repeated filter by plausibility.
is_billed bool optional Filter by billed state
ids string repeated Filter by ids
start_date enpowerx.types.DateFilter Filter by start date on the specified date.
start_range enpowerx.types.DateRangeFilter Filter by start date in the specified range
end_date enpowerx.types.DateFilter Filter by start date on the specified date.
end_range enpowerx.types.DateRangeFilter Filter by start date in the specified range
billing_period_start_date enpowerx.types.DateFilter Filter by start date on the specified date.
billing_period_start_range enpowerx.types.DateRangeFilter Filter by start date in the specified range
billing_period_end_date enpowerx.types.DateFilter Filter by start date on the specified date.
billing_period_end_range enpowerx.types.DateRangeFilter Filter by start date in the specified range
is_cancelled bool optional Filter by cancelled state

DeviceListRequest.Filter

Field Type Rules Description
numbers string repeated Filter by device numbers.
types Device.EnergyType repeated Filter for energy types of the device.
meter_number_scalar enpowerx.types.StringScalarFilter Filter for one value.
meter_number_list enpowerx.types.StringListFilter Filter for a range of values.
meter_type_scalar enpowerx.types.StringScalarFilter Filter for one value.
meter_type_list enpowerx.types.StringListFilter Filter for a range of values.
meter_type_details_scalar enpowerx.types.StringScalarFilter Filter for one value.
meter_type_details_list enpowerx.types.StringListFilter Filter for a range of values.
counter_sizes Device.CounterSize repeated Filter by counter size.
data_acquisition_methods Device.DataAcquisitionMethod repeated Filter by data acquisition method.
description_scalar enpowerx.types.StringScalarFilter Filter for one value.
description_list enpowerx.types.StringListFilter Filter for multiple values.
ids string repeated Filter by ids
installation string optional Filter by installation.

ExchangeReadingsListRequest.Filter

Field Type Rules Description
readings string repeated Filter by reading ids.
import_time enpowerx.types.DateTimeRange optional Filter by import time.
export_time enpowerx.types.DateTimeRange optional Filter by export time.
error_scalar enpowerx.types.StringScalarFilter Filter for one value.
error_list enpowerx.types.StringListFilter Filter for multiple values.
check_identifier_scalar enpowerx.types.StringScalarFilter Filter for one value.
check_identifier_list enpowerx.types.StringListFilter Filter for multiple values.
reference_utilmd_scalar enpowerx.types.StringScalarFilter Filter for one value.
reference_utilmd_list enpowerx.types.StringListFilter Filter for multiple values.
reference_orders_scalar enpowerx.types.StringScalarFilter Filter for one value.
reference_orders_list enpowerx.types.StringListFilter Filter for multiple values.
sender_scalar enpowerx.types.StringScalarFilter Filter for one value.
sender_list enpowerx.types.StringListFilter Filter for multiple values.
receiver_scalar enpowerx.types.StringScalarFilter Filter for one value.
receiver_list enpowerx.types.StringListFilter Filter for multiple values.
pod_identifier_scalar enpowerx.types.StringScalarFilter Filter for one value.
pod_identifier_list enpowerx.types.StringListFilter Filter for multiple values.
device_identifier_scalar enpowerx.types.StringScalarFilter Filter for one value.
device_identifier_list enpowerx.types.StringListFilter Filter for multiple values.
obis string repeated Filter by obis
quality_scalar enpowerx.types.StringScalarFilter Filter for one value.
quality_list enpowerx.types.StringListFilter Filter for multiple values.
value_time enpowerx.types.DateTimeRange optional Filter by value time
plausibility_remark_scalar enpowerx.types.StringScalarFilter Filter for one value.
plausibility_remark_list enpowerx.types.StringListFilter Filter for multiple values.
substitute_value_formation_method_scalar enpowerx.types.StringScalarFilter Filter for one value.
substitute_value_formation_method_list enpowerx.types.StringListFilter Filter for multiple values.
substitute_value_formation_reason_scalar enpowerx.types.StringScalarFilter Filter for one value.
substitute_value_formation_reason_list enpowerx.types.StringListFilter Filter for multiple values.
correction_reason_scalar enpowerx.types.StringScalarFilter Filter for one value.
correction_reason_list enpowerx.types.StringListFilter Filter for multiple values.
create_time enpowerx.types.DateTimeRange optional Filter by creation time
update_time enpowerx.types.DateTimeRange optional Filter by update time

InstallationListRequest.Filter

Field Type Rules Description
numbers string repeated Filter by installation number.
external_installation_numbers string repeated Filter by external installation number.
description_scalar enpowerx.types.StringScalarFilter Filter for one value.
description_list enpowerx.types.StringListFilter Filter for multiple values.
ids string repeated Filter by ids

Malo.RegisterRelation

Describes the calculation rules between the Malo and the register

Field Type Rules Description
*register string The register associated with the Malo.
*relation_type Malo.RegisterRelation.RelationType The relation type.
*sign Malo.RegisterRelation.AlgebraicSign The algebraic operation to apply to the related register.
*active_period enpowerx.types.DateRange The period when the relation is valid.
description string Optional description for the resource.
is_active bool output only Indicates if the relation is active at the moment (active_period.start <= now() < active_period.end).
create_time google.protobuf.Timestamp output only The creation time of the register relation.
update_time google.protobuf.Timestamp output only The last update time of the register relation.

MaloConsumptionPrognosisListRequest.Filter

Field Type Rules Description
date enpowerx.types.DateFilter Filter by validity start date on the specified date.
range enpowerx.types.DateRangeFilter Filter by validity start date in the specified range

MaloListRequest.Filter

Field Type Rules Description
malo_id_scalar enpowerx.types.StringScalarFilter Filter for one value.
malo_id_list enpowerx.types.StringListFilter Filter for multiple values.
ids string repeated Filter by ids

Melo.Register

Field Type Rules Description
*register string The register associated with the Malo.
*active_period enpowerx.types.DateRange The period when the relation is valid.
create_time google.protobuf.Timestamp output only The creation time of the register relation.
update_time google.protobuf.Timestamp output only The last update time of the register relation.

MeloConsumptionListRequest.Filter

Field Type Rules Description
start_date enpowerx.types.DateFilter Filter by start date on the specified date.
start_range enpowerx.types.DateRangeFilter Filter by start date in the specified range
end_date enpowerx.types.DateFilter Filter by start date on the specified date.
end_range enpowerx.types.DateRangeFilter Filter by start date in the specified range
is_cancelled bool optional Filter by cancelled state

MeloListRequest.Filter

Field Type Rules Description
melo_id_scalar enpowerx.types.StringScalarFilter Filter for one value.
melo_id_list enpowerx.types.StringListFilter Filter for multiple values.
ids string repeated Filter by ids

MeteringConstruct

Metering Construct is are all RegisterRelations Grouped by device and time range

Field Type Rules Description
tenant string output only The tenant the construct belongs to.
installation MeteringConstruct.Installation output only Installation of the metering construct
malo MeteringConstruct.Malo output only Malo of the metering construct
device MeteringConstruct.Device output only Device of the metering construct
active_period enpowerx.types.DateRange output only Active range of the metering construct

MeteringConstruct.Device

Field Type Rules Description
id string output only Unique id of the device.
number string output only Generated device number.
type Device.EnergyType output only Energy type of the device info.
meter_number string output only Number of the meter.

MeteringConstruct.Installation

Field Type Rules Description
id string output only The unique id of the resource.
number string output only Generated number for the installation.
commodity enpowerx.monopolx.types.Commodity output only Commodity of the installation.

MeteringConstruct.Malo

Field Type Rules Description
id string output only The unique id of the resource.
malo_id string output only MaLo Identifier, if not provided, a "internal" MaLo will be generated.
The MaLo can only be generated if the Installation is provided.

MeteringConstructListRequest.Filter

Field Type Rules Description
commodities enpowerx.monopolx.types.Commodity repeated Filter by installation commodities
malo_scalar enpowerx.types.StringScalarFilter Filter for one value.
malo_list enpowerx.types.StringListFilter Filter for multiple values.
meter_number_scalar enpowerx.types.StringScalarFilter Filter for one value.
meter_number_list enpowerx.types.StringListFilter Filter for multiple values.
start_date enpowerx.types.DateFilter Filter by start date on the specified date.
start_range enpowerx.types.DateRangeFilter Filter by start date in the specified range
end_date enpowerx.types.DateFilter Filter by start date on the specified date.
end_range enpowerx.types.DateRangeFilter Filter by start date in the specified range

PremiseListRequest.Filter

Field Type Rules Description
numbers string repeated Filter by premise numbers.
floor_scalar enpowerx.types.StringScalarFilter Filter for a single value.
floor_list enpowerx.types.StringListFilter Filter for a range of values.
description_scalar enpowerx.types.StringScalarFilter Filter for one value.
description_list enpowerx.types.StringListFilter Filter for multiple values.
ids string repeated Filter by ids

ReadingCycleExact

Month and Day when a reading shall be conducted. (EDI: DTM+<2005>:<2380>:106)

Field Type Rules Description
*month int32 The month when the readings is done.
*day int32 The day when the readings is done.

ReadingCycleInterval

Regular interval when a reading shall be conducted. (EDI: DTM+<2005>:<2380>:104)

Field Type Rules Description
*start_month int32 The month of the year when the reading cycle interval starts.
*start_week int32 The week of the month when the reading cycle interval starts.
*end_month int32 The month of the year when the reading cycle interval ends.
*end_week int32 The week of the month when the reading cycle interval ends.

ReadingListRequest.Filter

Field Type Rules Description
date enpowerx.types.DateTimeFilter Filter by readings on the specified date.
range enpowerx.types.DateTimeRangeFilter Filter by readings in the specified range
reasons Reading.Reason repeated filter by reason.
qualities Reading.Quality repeated Filter by reading quality.
origins Reading.Origin repeated Filter by origin.
inbound_channels Reading.Channel repeated Filter by inbound channel
is_valid bool optional Filter by validity of reading.
ids string repeated Filter by ids
external_ids string repeated Filter by external ids

Register.Malo

Field Type Rules Description
malo string output only The id of the associated malo.
active_period enpowerx.types.DateRange output only The period when the relation is valid.

Register.Melo

Field Type Rules Description
melo string output only The id of the associated melo.
active_period enpowerx.types.DateRange output only The period when the relation is valid.

RegisterListRequest.Filter

Field Type Rules Description
obis string repeated Filter by obis codes.
description_scalar enpowerx.types.StringScalarFilter Filter for one value.
description_list enpowerx.types.StringListFilter Filter for multiple values.
ids string repeated Filter by ids

ReplaceDeviceRequest.RegisterReading

Field Type Rules Description
*id string Id of the register
*value enpowerx.types.Decimal Value of the reading
quality Reading.Quality Quality of the reading.
origin Reading.Origin Origin of the reading.
channel Reading.Channel Channel over which the reading was received.

SearchInstallationsRequest.Filter

Field Type Rules Description
meter_number string Search by meter number (prefix match).
address SearchInstallationsRequest.Filter.Address Search by address.
commodity enpowerx.monopolx.types.Commodity repeated Commodity of the installation.

SearchInstallationsRequest.Filter.Address

Field Type Rules Description
postal_code string Search by postal code
street string Search by street
house_number string Search by house number

SearchInstallationsResponse.Facets

Field Type Rules Description
address_postal_code StringFacet repeated Search by postal code
address_city StringFacet repeated Search by city
address_street StringFacet repeated Search by street
address_house_number StringFacet repeated Search by house number

SearchInstallationsResponse.Result

Field Type Rules Description
connection_object ConnectionObject The connection object
premise Premise The premise the installation belongs to.
installation Installation The installation.
malo SearchInstallationsResponse.Result.Malo The malo id.
devices SearchInstallationsResponse.Result.Device repeated The device.

SearchInstallationsResponse.Result.Device

Field Type Rules Description
id string The unique id of the device.
number string Device number.
meter_number string Meter number
type Device.EnergyType Energy type

SearchInstallationsResponse.Result.Malo

Field Type Rules Description
id string The unique id of the malo.
malo_id string MALO-ID

StringFacet

Field Type Rules Description
value string The value of the facet.
count int32 The number of objects with this value.

CancelReadingRequest.Reason

Name Number Description
REASON_UNSPECIFIED 0 Reason is not specified.
MANUAL 1 Reason is manual cancellation.
MSCONS 2 Reason is automatic cancellation by MSCONS.

Consumption.Plausibility

Name Number Description
PLAUSIBILITY_UNSPECIFIED 0 The plausibility of the amount is not specified.
UNPLAUSIBLE 1 The calculated amount is not plausible.
PLAUSIBLE 2 The calculated amount is plausible.
PLAUSIBLE_MANUAL_OVERRIDE 3 The plausibility of the amount has been verified manually.

Device.CounterSize

Name Number Description
COUNTER_SIZE_UNSPECIFIED 0 Counter size is not specified
QN_2_5 1 Counter size is QN 2.5
QN_6 2 Counter size is QN 6
QN_10 3 Counter size is QN 10
QN_15 4 Counter size is QN 15
QN_40 5 Counter size is QN 40
QN_60 6 Counter size is QN 60
QN_150 7 Counter size is QN 150

Device.DataAcquisitionMethod

Name Number Description
DATA_ACQUISITION_METHOD_UNSPECIFIED 0 Data acquisition method is not specified
READ_OUT_MANUAL 1 Manual read out.
READ_OUT_REMOTE 2 Remote read out.

Device.EnergyType

Name Number Description
ENERGY_TYPE_UNSPECIFIED 0 Unknown energy type.
WATER 1 Energy type is water.
HEAT 2 Energy type is heat.

Malo.RegisterRelation.AlgebraicSign

Name Number Description
ALGEBRAIC_SIGN_UNSPECIFIED 0 The algebraic sign is not specified.
POSITIVE 1 The algebraic sign is positive.
NEGATIVE 2 The algebraic sign is negative.

Malo.RegisterRelation.RelationType

Name Number Description
RELATION_TYPE_UNSPECIFIED 0 The relation is not specified.
ADDITION 1 Summationsanlage
SUBTRACTION 2 Abzugsmessung
SUBTRACTION_FIXED 3 Abzug von pauschlem Wert mit Messung

MaloConsumptionPrognosis.Type

Name Number Description
TYPE_UNSPECIFIED 0 The type is unspecified.
MANUAL 1 The prognosis was set manually
AUTOMATIC 2 The prognosis was set by the system, based on historic consumption
DISTRIBUTION_GRID_OPERATOR 3 The prognosis was set by imported data (Mako)

Reading.BillingFlag

Name Number Description
BILLING_FLAG_UNSPECIFIED 0 The billing flag is not specified.
BEGIN 1 Reading is the begin of a period
END 2 Reading is the end of a period
END_BEGIN 3 Reading is the begin and end of a period
UNUSED 4 Reading is unused
USED_FOR_CALCULATION 5 Reading is used for calculation of an estimate.
CANCELLED_MANUAL 6 The reading has been cancelled manually.
CANCELLED_MSCONS 7 The reading has been cancelled automatically by MSCONS.

Reading.Channel

Name Number Description
CHANNEL_UNSPECIFIED 0 The channel is not specified.
MSCONS 1 Channel is via MSCONS
PHONE 2 Channel is via Phone (Telefon)
SYSTEM 3 Channel is the System.

Reading.Origin

Name Number Description
ORIGIN_UNSPECIFIED 0 The origin is not specified.
CUSTOMER 1 Origin is the Customer (Kunde)
GRID 2 Origin is the Grid (Netz)
SUPPLIER 3 Origin is the Supplier (Lieferant)

Reading.Plausibility

Name Number Description
PLAUSIBILITY_UNSPECIFIED 0 The plausibility of the reading is not specified.
MONOTONICITY_INCREASING 1 The reading is monotonically increasing (in rel. to the previous readings) [Z01].
MONOTONICITY_VIOLATED 2 The monotonicity of the readings is violated [Z02].

Reading.Quality

Name Number Description
QUALITY_UNSPECIFIED 0 The quality of the reading is not specified.
EXACT 1 The reading is a manual exact reading (Exakte Ablesung).
ESTIMATE_INTERPOLATED_AFTER 2 Reading is estimated using a reading after the cycle. (Variante 1).
ESTIMATE_INTERPOLATED_BEFORE 3 Reading is estimated using a reading before the cycle date (Variante 2).
ESTIMATE_INTERPOLATED_PREVIOUS_CYCLE 4 Reading is estimated using the consumption of the previous cycle (Variante 3).
ESTIMATE_INTERPOLATED_BEFORE_OUTSIDE_QUALIFYING_PERIOD 5 Reading is estimated using a reading before the cycle date, which is outside the qualifying period (Variante 4).
CALCULATION 6 Reading is calculated (Berechnung).
ESTIMATE_MANUAL 7 Estimation was conducted manually.
ESTIMATE_INTERPOLATED_BEFORE_INSIDE_CONSUMPTION_QUALIFYING_PERIOD 8 Reading is estimated using a reading before the cycle date, which is inside the consumption qualifying period (Variante 5).

Reading.Reason

Name Number Description
REASON_UNSPECIFIED 0 Reading reason is not specified.
REGULAR_CYCLE 1 Turnusablesung
MIDWAY_CYCLE 2 Zwischenablesung
DEVICE_REMOVAL 3 Zählerausbau
DEVICE_INSTALLATION 4 Zählereinbau
MOVE_IN 5 Einzug
MOVE_OUT 6 Auszug
INTERMEDIATE_BILL 7 Zwischenabrechnung

Shared Types

Amount

Field Type Rules Description
unit string The unit of the amount. E.g.'kWh' or 'PCS' for pieces.
units int64 The whole units of the amount.
For example if unit is "PCS", then 1 unit is one piece.
nanos int32 Number of nano (10^-9) units of the amount.
The value must be between -999,999,999 and +999,999,999 inclusive.
If units is positive, nanos must be positive or zero.
If units is zero, nanos can be positive, zero, or negative.
If units is negative, nanos must be negative or zero.
For example $-1.75 is represented as units=-1 and nanos=-750,000,000.

BankAccount

Information about a bank account.

Field Type Rules Description
*iban string The International Bank Account Number.
bic string The Bank Identifier Code.
account_holder string The name of the account holder.
bank string The name of the bank.

CustomerType

Represents the kind of the customer.

Name Number Description
CUSTOMER_TYPE_UNSPECIFIED 0 The customer type is unspecified.
PRIVATE 1 The customer type is private.
BUSINESS 2 The customer type is business.
BOTH 3 The customer type is private and business.

DateRange

Represents a range of dates.

Field Type Rules Description
*start google.type.Date The inclusive start date.
end google.type.Date The inclusive end date.
end_exclusive google.type.Date The exclusive end date.
time_zone string The time zone of the date range (defaults to Europe/Berlin).

DateTimeRange

Represents a range of date times.

Field Type Rules Description
*start google.protobuf.Timestamp The inclusive start date.
end google.protobuf.Timestamp The inclusive end date.

Decimal

Field Type Rules Description
units int64 The whole units of the amount.
nanos int32 Number of nano (10^-9) units of the amount.
The value must be between -999,999,999 and +999,999,999 inclusive.
If units is positive, nanos must be positive or zero.
If units is zero, nanos can be positive, zero, or negative.
If units is negative, nanos must be negative or zero.
For example $-1.75 is represented as units=-1 and nanos=-750,000,000.

Billing

Billing details.

Field Type Rules Description
*contact Contact The contact to send invoices to.
*payment_method PaymentMethod The payment method method.
bank_account BankAccount The bank account used if payment_method is DIRECT_DEBIT.

CommunicationChannel

Communication channel.

Name Number Description
COMMUNICATION_CHANNEL_UNSPECIFIED 0 Channel not specified.
LETTER 1 Send messages via letter.
EMAIL 2 Send messages via email.
SMS 3 Send messages via SMS.
MESSENGER 4 Send messages via messenger apps like WhatsApp.
PHONE 5 Communicate via telephone.

Contact

Contact details (postal, phone, etc.).

Field Type Rules Description
*person Person Information on how to address the contact.
postal_address PostalAddress The contact's postal address.
phone_number string The phone number of the contact.
Values are normalized into the form +123456789.
email string The email address of the contact.
careof Person A person that may receive communication in the name of the actual recipient (e.g. a "C/O" line added to the postal address).

Reading

Information about a reading.

Field Type Rules Description
*date google.type.Date The date when the reading was taken.
channel Reading.Channel How the reading was reported.
This is value is ignored when submitting via AddMine.
*values Reading.ValuesEntry repeated A map of values to submit with OBIS codes as the key.
ignore_plausibility_check_reason google.protobuf.StringValue If set the meter reading(s) will be saved, even if they're not plausible.
Specifies the reason why the plausibility check is to be ignored.

Reading.ValuesEntry

Field Type Rules Description
key string
value double

Reading.Channel

Name Number Description
CHANNEL_UNSPECIFIED 0 No channel specified.
PORTAL 1 Reported via end-user portal.
EMAIL 2 Reported via email.
LETTER 3 Reported via letter.
PHONE 4 Reported via phone call.
MSCONS 5 Reported via Metered Services Consumption report message.

Relocation

Information about the relocation of an contract.

Field Type Rules Description
*contract string The contract's ID this request is targeting.
*moveout_date google.type.Date The move-out date.
*movein_date google.type.Date The move-in date.
*delivery EnergyDelivery Which kind and amount of energy is to be delivered to where.
*use_new_address Relocation.UseNewAddress Use the new address as postal and billing address.
*meter string The ID of the meter at the new consumption point.
last_reading Reading The last reading at the old consumption point.
old_meter string The ID of the meter at the old consumption point.
Optional, must be set if a last reading is provided.

Relocation.UseNewAddress

Name Number Description
USE_NEW_ADDRESS_UNSPECIFIED 0 Use unspecified.
NO 1 Use not desired.
IMMEDIATELY 2 Use immediately desired.
ON_MOVE_IN 3 Use on moving in desired.

SalesInfo

Information on how a sale was made.

Field Type Rules Description
sales_partner_code string Direct sales partner code.
sales_partner_code_second string Second direct sales partner code.
campaign string Optional override for the default campaign.

ScheduledRequest

Reference to an entity with an optional scheduled starting date.

Field Type Rules Description
*id string The ID referencing the entity.
scheduled_date google.type.Date The scheduled starting date (earliest possible if unset).

TransitionType

Specifies modalities of a contract transition.

Name Number Description
TRANSITION_TYPE_UNSPECIFIED 0 The transition type is unspecified
MANUAL_TERMINATION 1 The customer terminates the prior contract.
VENDOR_TERMINATION 2 The vendor terminates the prior contract.
RELOCATION 3 The customer is going to or has recently moved to the new address.

Duration

Represents a coarse time duration (e.g., 2 months).

Field Type Rules Description
*units int32 The number of time units.
*type google.type.CalendarPeriod The type the units refer to (days, months, etc.).

EnergyDelivery

Describes which kind and amount of energy is to be delivered to where.

Field Type Rules Description
*energy_type EnergyType The kind of the energy.
*customer_type CustomerType The kind of the customer.
*address PostalAddress The address to deliver energy to.
annual_usage int32 The estimated power usage in kWh per year.
usage_type EnergyDelivery.UsageType The usage type for the delivered energy.
annual_usage_nt int32 The estimated off-peak power usage in kWh per year (DE: Niedertarifverbrauch).

EnergyDelivery.UsageType

Name Number Description
USAGE_TYPE_UNSPECIFIED 0 The consumption type is unspecified.
HOUSEHOLD_ELECTRICITY 1 The energy is used for household.
CHARGING_CURRENT 2 The energy is used for charging.
STORAGE_HEATER 3 The energy is used for a storage heater.
HEAT_PUMP 4 The energy is used for a heat pump.
HOUSEHOLD_ELECTRICITY_AND_STORAGE_HEATER 5 The energy is used for household with storage heater.
HOUSEHOLD_ELECTRICITY_AND_HEAT_PUMP 6 The energy is used for household with heat pump.

EnergyType

Represents the kind of the energy.

Name Number Description
ENERGY_TYPE_UNSPECIFIED 0 The energy type is unspecified.
ELECTRICITY 1 The energy type is electricity.
GAS 2 The energy type is gas.

FileContent

Field Type Rules Description
*mime_type string The media type / content type of the document.
*content bytes The raw data of the document.

AnnotationFilter

AnnotationFilter provides filter semantics for annotations.

Field Type Rules Description
*field string The annotation field path is a symbolic field path to target an annotation's field, for example:

"invoice.id", "is_consumption_based", ...
value google.protobuf.Value The value to match the annotation field's value.

DateFilter

DateFilter provides match semantics for date fields.

Field Type Rules Description
*date google.type.Date The date to filter for.
match_mode DateFilter.MatchMode The match mode to use. The default is EQUAL.

DateRangeFilter

DateTimeRangeFilter provides match semantics for date fields. The filter treats the start and end date as inclusive.

Field Type Rules Description
*start_date google.type.Date The start date to filter for.
*end_date google.type.Date The end date to filter for.

DateTimeFilter

DateTimeFilter provides match semantics for date time fields.

Field Type Rules Description
*time google.protobuf.Timestamp The date time to filter for.
match_mode DateTimeFilter.MatchMode The match mode to use. The default is EQUAL.

DateTimeRangeFilter

DateTimeRangeFilter provides match semantics for date time fields.

Field Type Rules Description
*start_time google.protobuf.Timestamp The start date time to filter for.
*end_time google.protobuf.Timestamp The end date time to filter for.

StringListFilter

Strings filter x IN and x NOT IN semantics.

Field Type Rules Description
*values string repeated The value to filter for.
negate bool If true the expression is negated.

StringScalarFilter

StringFilter provides match semantics for strings fields.

Field Type Rules Description
*value string The value to filter for.
match_mode StringScalarFilter.MatchMode The match mode to use.
negate bool If true the expression is negated.

DateFilter.MatchMode

Name Number Description
MATCH_MODE_UNSPECIFIED 0 The match mode is unspecified.
EQUAL 1 Filter only matches if the date is equal to the provided date.
BEFORE 2 Filter matches all dates that are before the provided date.
AFTER 3 Filter matches all dates that are after the provided date.
BEFORE_OR_EQUAL 4 Filter matches all dates that are before or equal to the provided date.
AFTER_OR_EQUAL 5 Filter matches all dates that are after or equal to the provided date.

DateTimeFilter.MatchMode

Name Number Description
MATCH_MODE_UNSPECIFIED 0 The match mode is unspecified.
EQUAL 1 Filter only matches if the date is equal to the provided date.
BEFORE 2 Filter matches all dates that are before the provided date.
AFTER 3 Filter matches all dates that are after the provided date.
BEFORE_OR_EQUAL 4 Filter matches all dates that are before or equal to the provided date.
AFTER_OR_EQUAL 5 Filter matches all dates that are after or equal to the provided date.

StringScalarFilter.MatchMode

Name Number Description
MATCH_MODE_UNSPECIFIED 0 The match mode is unspecified.
EXACT 1 Filter only matches if the field contains exactly the expected value.
PREFIX 2 Filter matches all fields that are prefixed with the given value.
SUFFIX 3 Filter matches all fields that are suffixed with the given value.
SUBSTRING 4 Filter matches all fields that contain the given value.

LetterAddress

Combines a name and a postal address.

Field Type Rules Description
*person Person The person being addressed.
careof string A person that may receive letters in the name of the actual recipient (e.g. a "C/O" line added to the postal address).
*postal_address PostalAddress The postal address.

MonthOfYear

Represents a month of a year.

Field Type Rules Description
month int32 Month of the year.
year int32 Year.

PaymentMethod

Possible methods for paying invoices.

Name Number Description
PAYMENT_METHOD_UNSPECIFIED 0 The payment method method is unspecified.
DIRECT_DEBIT 1 Money is automatically withdrawn from the specified bank account.
MANUAL_TRANSFER 2 The customer pays bills manually using money transfers.

Period

A period of time with inclusive start and inclusive and exclusive end time. If both (inclusive and exclusive) ends are specified, they must be consistent. If no end is specified, the period is considered unbounded on the end. If the time is unspecified it is considered to be 00:00:00.000000000 for the start (and exclusive end) and 23:59:59.999999999 for the inclusive end.

The following example represents a period of time from 2006-01-01 to 2006-01-31: { start_time: { hours: 0 minutes: 0 seconds: 0 nanos: 0 } start_date: { year: 2006 month: 1 day: 1 } end_time: { hours: 23 minutes: 59 seconds: 59 nanos: 999999999 } end_date: { year: 2006 month: 1 day: 31 } end_date_exclusive: { year: 2006 month: 2 day: 1 } end_time_exclusive: { hours: 0 minutes: 0 seconds: 0 nanos: 0 } }

Field Type Rules Description
start_time google.type.TimeOfDay The start time of the period (inclusive).
end_time google.type.TimeOfDay The end time of the period (inclusive).
start_date google.type.Date The start date of the period (inclusive).
end_date google.type.Date The end date of the period (inclusive).
end_time_exclusive google.type.TimeOfDay The end time of the period (exclusive).
end_date_exclusive google.type.Date The end date of the period (exclusive).
time_zone string The time zone of the period (defaults to Europe/Berlin).

Person

Information on how to address a person. A person can be either a natural person or a company with an optional contact Natural Person: Must provide firstname, lastname Company: Must provide company

Field Type Rules Description
salutation Person.SalutationForm The salutation of the person.
title string The title of the person.
firstname string The first name of the person.
lastname string The last name of the person.
birthday google.type.Date The birthday of the person.
company string The company name.

Person.SalutationForm

Name Number Description
SALUTATION_FORM_UNSPECIFIED 0 The salutation form is unspecified.
MRS 1 The salutation form is Mrs..
MR 2 The salutation form is Mr..
DIVERSE 3 The salutation form is Diverse.
FAMILY 4 The salutation form is Family.

PostalAddress

Represents a postal address, e.g. for postal delivery or payments addresses.

Field Type Rules Description
*region string The region the address is located in as a CLDR region code.
Example: DE for Germany
*postal_code string A postal code of the city (a city may have more than one).
Example: 76131 for Karlsruhe inner city
*city string The canonical name of the city (there may be more than one per postal code).
Example: Karlsruhe
street string The canonical name of the street.
Example: Kaiserstr.
house_number string The house number.
Examples: 32, 32a, 32/1
postbox_number string Postbox number in case address is a postbox.
district string Administrative division (i.e. Stadtteil).
additional_address_lines string repeated Additional address lines
Example: Appartment 104, Care of etc.

Price

Represents a price before and after taxes.

Field Type Rules Description
*net google.type.Money The price without VAT.
*gross google.type.Money The price including VAT.
unit string The unit the price is related to (e.g "kWh", "PCS", "month", etc.)

Quantity

Field Type Rules Description
unit string The unit of the quantity. E.g.'kWh' or 'PCS' for pieces.
units int64 The whole units of the quantity.
For example if unit is "PCS", then 1 unit is one piece.
nanos int32 Number of nano (10^-9) units of the quantity.
The value must be between -999,999,999 and +999,999,999 inclusive.
If units is positive, nanos must be positive or zero.
If units is zero, nanos can be positive, zero, or negative.
If units is negative, nanos must be negative or zero.
For example $-1.75 is represented as units=-1 and nanos=-750,000,000.

RecurringCost

Represents a price/cost that repeats at a fixed interval.

Field Type Rules Description
*price Price The price per interval.
*interval google.type.CalendarPeriod The interval at which the cost occurs (per day, month, etc.).

TenantScopedListRequest

Field Type Rules Description
*tenant string The tenant the list belongs to.
page_size int32 The maximum number of items to return. 0 for default.
page_token string The next_page_token value returned from a previous List request, if any.

TenantScopedResource

A tenant scoped resource.

Field Type Rules Description
*tenant string The tenant the resource belongs to.
*id string The ID of the resource.

TimeRange

A range of time with inclusive start, inclusive and exclusive end time. If both (inclusive and exclusive) ends are specified, they must be consistent. If no end is specified, the period is considered unbounded on the end.

Field Type Rules Description
start google.protobuf.Timestamp The inclusive start.
end google.protobuf.Timestamp The inclusive end.
end_exclusive google.protobuf.Timestamp The exclusive end.

File-level Extensions

Extension Type Base Number Description
throws string .google.protobuf.MethodOptions 76131 throws is used to document error messages that the method might return in status.details.

CalendarPeriod

A CalendarPeriod represents the abstract concept of a time period that has a canonical start. Grammatically, "the start of the current CalendarPeriod." All calendar times begin at midnight UTC.

Name Number Description
CALENDAR_PERIOD_UNSPECIFIED 0 Undefined period, raises an error.
DAY 1 A day.
WEEK 2 A week. Weeks begin on Monday, following
ISO 8601.
FORTNIGHT 3 A fortnight. The first calendar fortnight of the year begins at the start
of week 1 according to
ISO 8601.
MONTH 4 A month.
QUARTER 5 A quarter. Quarters start on dates 1-Jan, 1-Apr, 1-Jul, and 1-Oct of each
year.
HALF 6 A half-year. Half-years start on dates 1-Jan and 1-Jul.
YEAR 7 A year.

Date

Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following:

  • A full date, with non-zero year, month, and day values
  • A month and day value, with a zero year, such as an anniversary
  • A year on its own, with zero month and day values
  • A year and month value, with a zero day, such as a credit card expiration date

Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and google.protobuf.Timestamp.

Field Type Rules Description
year int32 Year of the date. Must be from 1 to 9999, or 0 to specify a date without
a year.
month int32 Month of a year. Must be from 1 to 12, or 0 to specify a year without a
month and day.
day int32 Day of a month. Must be from 1 to 31 and valid for the year and month, or 0
to specify a year by itself or a year and month where the day isn't
significant.

Money

Represents an amount of money with its currency type.

Field Type Rules Description
currency_code string The three-letter currency code defined in ISO 4217.
units int64 The whole units of the amount.
For example if currencyCode is "USD", then 1 unit is one US dollar.
nanos int32 Number of nano (10^-9) units of the amount.
The value must be between -999,999,999 and +999,999,999 inclusive.
If units is positive, nanos must be positive or zero.
If units is zero, nanos can be positive, zero, or negative.
If units is negative, nanos must be negative or zero.
For example $-1.75 is represented as units=-1 and nanos=-750,000,000.

Scalar Value Types

.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)

Legend

*) required