PaginatedResponse[Site]
data object[]required
5eb7cf5a86d9755df3a6c593Possible values: Value must match regular expression ^[a-zA-Z0-9_-]{1,64}$
Possible values: Value must match regular expression ^[a-zA-Z0-9_-]{1,64}$
location objectrequired
Possible values: >= 3, <= 3
Inactive sites run nothing, shadow sites run forecasting and optimization without sending schedules to the controller, active sites run everything.
Possible values: [inactive, active, shadow]
inactivevalidation_status object
- ValidationStatus
- null
Possible values: [ERROR, WARNING, OK, UNKNOWN]
UNKNOWNsite_configuration_status object
Possible values: [ERROR, WARNING, OK, UNKNOWN]
UNKNOWNconfiguration_added object
Possible values: [ERROR, WARNING, OK, UNKNOWN]
UNKNOWNconfiguration_complete object
Possible values: [ERROR, WARNING, OK, UNKNOWN]
UNKNOWN[]valid_for_optimization object
Possible values: [ERROR, WARNING, OK, UNKNOWN]
UNKNOWNvalidation_errors object
- string
- null
optimization_configuration_status object
Possible values: [ERROR, WARNING, OK, UNKNOWN]
UNKNOWNingress_status object
Possible values: [ERROR, WARNING, OK, UNKNOWN]
UNKNOWNreceiving_measurement_data object
Possible values: [ERROR, WARNING, OK, UNKNOWN]
UNKNOWN[]falseconfigurations object
- ConfigurationBuilder
- null
site_configuration object
- SiteConfiguration
- null
device_list object[]required
- AcChargingPole3Phase
- DcChargingPole
- ForecastedThreePhaseDevice
- BessDevice
The name of the device itself. This value will be used as the asset ID in the rest of the API.
The name of the collector to which this device is connected.
ingress_validation object
Overrides the site-level ingress validation config for this asset. When set, controls how often measurements are expected during active and inactive transactions. When null, the site-level configuration is used.
- AssetIngressValidationConfig
- null
Expected measurement interval for the asset while it has an active transaction. Measurements arriving less frequently than this are flagged as stale by ingress validation. Note: the UCL calculation requires measurements at least every 5 minutes to produce accurate results, so this value should not exceed 5 minutes for assets that participate in the uncontrollable-load computation.
without_transaction_expected_measurement_interval object
Expected measurement interval for the asset when no transaction is active. When null, the asset is always considered valid while idle. Note: the UCL calculation requires measurements at least every 5 minutes to produce accurate results, so if this asset contributes to the uncontrollable-load computation it should still report at least every 5 minutes.
- number
- null
charging_pole_3phasecharging_pole_3phaseThe line current in Ampere.
pin_to_phase_mapping objectrequired
Defines how charging pole pins map to the collectors' phases. For more information see the 'Key Concepts - Site configuration' section in the documentation.
Possible values: [pin1, pin2, pin3]
Possible values: [L1, L2, L3]
phase_permutations object
Specify the phase mapping between this asset (child) and its parent collector (parent). Leave unset when the wiring is unknown; phase-aware control (use_topology) requires every asset's mapping to be declared, so a single unset mapping makes the controller fall back to the worst case.
- PhasePermutation
- null
Possible values: [L1, L2, L3]
Possible values: [L1, L2, L3]
The name of the device itself. This value will be used as the asset ID in the rest of the API.
The name of the collector to which this device is connected.
ingress_validation object
Overrides the site-level ingress validation config for this asset. When set, controls how often measurements are expected during active and inactive transactions. When null, the site-level configuration is used.
- AssetIngressValidationConfig
- null
Expected measurement interval for the asset while it has an active transaction. Measurements arriving less frequently than this are flagged as stale by ingress validation. Note: the UCL calculation requires measurements at least every 5 minutes to produce accurate results, so this value should not exceed 5 minutes for assets that participate in the uncontrollable-load computation.
without_transaction_expected_measurement_interval object
Expected measurement interval for the asset when no transaction is active. When null, the asset is always considered valid while idle. Note: the UCL calculation requires measurements at least every 5 minutes to produce accurate results, so if this asset contributes to the uncontrollable-load computation it should still report at least every 5 minutes.
- number
- null
dc_charging_poledc_charging_poleThe maximum power in Watt for the charging pole itself / connection to the charging pole.
Possible values: [load-balancing, scheduled]
load-balancingphase_permutations object
Specify the phase mapping between this asset (child) and its parent collector (parent). Leave unset when the wiring is unknown; phase-aware control (use_topology) requires every asset's mapping to be declared, so a single unset mapping makes the controller fall back to the worst case.
- PhasePermutation
- null
Possible values: [L1, L2, L3]
Possible values: [L1, L2, L3]
The name of the device itself. This value will be used as the asset ID in the rest of the API.
The name of the collector to which this device is connected.
ingress_validation object
Overrides the site-level ingress validation config for this asset. When set, controls how often measurements are expected during active and inactive transactions. When null, the site-level configuration is used.
- AssetIngressValidationConfig
- null
Expected measurement interval for the asset while it has an active transaction. Measurements arriving less frequently than this are flagged as stale by ingress validation. Note: the UCL calculation requires measurements at least every 5 minutes to produce accurate results, so this value should not exceed 5 minutes for assets that participate in the uncontrollable-load computation.
without_transaction_expected_measurement_interval object
Expected measurement interval for the asset when no transaction is active. When null, the asset is always considered valid while idle. Note: the UCL calculation requires measurements at least every 5 minutes to produce accurate results, so if this asset contributes to the uncontrollable-load computation it should still report at least every 5 minutes.
- number
- null
forecasted_series_3phaseforecasted_series_3phaseThe line current in Ampere.
Defines the type of forecast to be used for this device.
Possible values: [pv, load]
falseHow the controller may curtail this device's production to respect the grid minimum. NONE never curtails; CONTINUOUS curtails to any level. Only relevant for PV devices.
Possible values: [none, continuous]
nonephase_permutations object
Specify the phase mapping between this asset (child) and its parent collector (parent). Leave unset when the wiring is unknown; phase-aware control (use_topology) requires every asset's mapping to be declared, so a single unset mapping makes the controller fall back to the worst case.
- PhasePermutation
- null
Possible values: [L1, L2, L3]
Possible values: [L1, L2, L3]
The name of the device itself. This value will be used as the asset ID in the rest of the API.
The name of the collector to which this device is connected.
ingress_validation object
Overrides the site-level ingress validation config for this asset. When set, controls how often measurements are expected during active and inactive transactions. When null, the site-level configuration is used.
- AssetIngressValidationConfig
- null
Expected measurement interval for the asset while it has an active transaction. Measurements arriving less frequently than this are flagged as stale by ingress validation. Note: the UCL calculation requires measurements at least every 5 minutes to produce accurate results, so this value should not exceed 5 minutes for assets that participate in the uncontrollable-load computation.
without_transaction_expected_measurement_interval object
Expected measurement interval for the asset when no transaction is active. When null, the asset is always considered valid while idle. Note: the UCL calculation requires measurements at least every 5 minutes to produce accurate results, so if this asset contributes to the uncontrollable-load computation it should still report at least every 5 minutes.
- number
- null
battery_energy_storage_systembattery_energy_storage_systemCharging efficiency of the battery [0 < x <= 1].
Possible values: > 0 and <= 1
0.95Discharging efficiency of the battery [0 < x <= 1].
Possible values: > 0 and <= 1
0.95Maximum charging power of the battery in W.
Possible values: > 0
Maximum discharging power of the battery in W.
Possible values: > 0
The operational battery capacity in Wh.
Possible values: > 0
Priority of charging the battery. Default is 10
Possible values: >= 1 and <= 10
10Priority of discharging the battery. Default is 10
Possible values: >= 1 and <= 10
10policies object[]
List of policies for the BESS device.
- ScheduledBessPolicy
- BessHysteresisChargePolicy
schedulescheduleschedule objectrequired
The schedule defining when the state of charge should be between minimum_state_of_charge and maximum_state_of_charge.
The schedule defining when the state of charge should be between minimum_state_of_charge and maximum_state_of_charge.
Possible values: [continuous, once, weekly]
- continuous
- once
- weekly
List of specific date-times in ISO 8601 format with timezone
Possible values: >= 1
Days of week when the schedule runs
Possible values: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday], >= 1
Time in HH:MM format (24-hour)
Possible values: Value must match regular expression ^([0-1][0-9]|2[0-3]):[0-5][0-9]$
IANA timezone identifier
The minimum state of charge to reach at the scheduled time. At each timestamp in the schedule, the state of charge will be between minimum_state_of_charge and maximum_state_of_charge.
Possible values: >= 0 and <= 100
The maximum state of charge to reach at the scheduled time. At each timestamp in the schedule, the state of charge will be between minimum_state_of_charge and maximum_state_of_charge.
Possible values: >= 0 and <= 100
Soft-constraint penalty in euros per MWh of state-of-charge band violation. The default acts as a near-hard constraint; lower values let the optimiser cross the band when the expected revenue justifies it.
Possible values: >= 0
3000000charge-hysteresischarge-hysteresisThe state of charge at or below which the battery starts charging.
Possible values: >= 0 and <= 100
The state of charge at which the battery stops charging.
Possible values: >= 0 and <= 100
collector_list object[]required
The site's root collector, its grid connection. A site has exactly one; collectors below the grid connection belong in its children.
Possible values: <= 1
phase_permutations object
Specify the phase mapping between this asset (child) and its parent collector (parent). Leave unset when the wiring is unknown; phase-aware control (use_topology) requires every asset's mapping to be declared, so a single unset mapping makes the controller fall back to the worst case. The root collector is exempt: it is the grid connection, whose phases are the reference frame every other mapping is expressed against, so the controller always treats it as the identity and it may only be left unset or declared as the identity.
- PhasePermutation
- null
Possible values: [L1, L2, L3]
Possible values: [L1, L2, L3]
children object
The children of this collector. This is used to create a tree structure.
- array
- null
The line current in Ampere.
safe_line_current object
An optional, safer line current in Ampere used by the optimizer instead of line_current when set.
- integer
- null
min_phase_current object
An optional lower bound in Ampere per phase. Set it to 0 on the main collector to forbid injection into the grid.
- number
- null
The phase voltage is in Volt.
electricitySpecifies whether the collector is single-phase (1P) or three-phase (3P).
Possible values: [1P, 3P]
3Pio_configuration object
- IOConfiguration
- null
asset_io_config object[]required
config objectrequired
Possible values: [modbus-tcp, ocpp, p1-meter, virtual]
- modbus-tcp
- ocpp
- p1-meter
- virtual
Possible values: >= 0 and <= 65535
registers objectrequired
Possible values: [abb-cms, abb-emax2, alfen, alpitronix-hypercharger, autel, charx, huawei-smart-logger, janitza-umg604pro, pluon-dc, pqube-3, shelly-3em, siemens-pac2200, socomec-countis, sungrow-ems300cp, sungrow-idc480e-c, unsupported]
- abb-cms
- abb-emax2
- alfen
- alpitronix-hypercharger
- autel
- charx
- huawei-smart-logger
- janitza-umg604pro
- pluon-dc
- pqube-3
- shelly-3em
- siemens-pac2200
- socomec-countis
- sungrow-ems300cp
- sungrow-idc480e-c
- unsupported
Modbus connector index of the charging pole on the charger.
Possible values: >= 1 and <= 255
Modbus connector index of the charging pole on the charger.
Possible values: >= 1 and <= 255
Which of the charger's register blocks (offset by 1000 per connector) this connector reads and writes.
Possible values: >= 1 and <= 8
Which of the charger's register blocks (offset by 1000 per charging point) this pole reads and writes.
Possible values: >= 1 and <= 65
Sign convention of the meter's raw registers, set by CT polarity at install time. consumer means positive = consumption; producer means positive = production
Possible values: [consumer, producer]
Modbus connector index of the charging pole on the charger.
Possible values: >= 1 and <= 255
Sign convention of the meter's raw registers, set by CT polarity at install time. consumer means positive = consumption; producer means positive = production
Possible values: [consumer, producer]
Sign convention of the meter's raw registers, set by CT polarity at install time. consumer means positive = consumption; producer means positive = production
Possible values: [consumer, producer]
Sign convention of the meter's raw registers, set by CT polarity at install time. consumer means positive = consumption; producer means positive = production
Possible values: [consumer, producer]
Modbus connector index of the charging pole on the charger.
Possible values: >= 1 and <= 255
Which socket of the charge point this asset is, as the charge point itself labels it in connectorId. Connector 0 addresses the charge point as a whole and is never an asset.
Possible values: >= 1 and <= 255
vendor objectrequired
Possible values: [easee]
- easee
brand object
Optional hardware brand of the physical device (e.g. 'Alfen'). Descriptive metadata for the dashboard; not used by the optimizer.
- string
- null
model object
Optional hardware model of the physical device (e.g. 'Eve Single Pro-line'). Descriptive metadata for the dashboard; not used by the optimizer.
- string
- null
Possible values: [read_only, active]
read_onlyPossible values: [worst_case, use_topology]
worst_caseoptimization_configuration object
- OptimizationConfiguration
- null
peak_minimization object
- PeakMinimization
- null
active object
Boolean field that indicates if the peak minimization is activated or not.
- boolean
- null
peak_limit object
Specifies a line under which the peak price does not apply. The value specified will be applied to all the phases of the collector separately. By default the peak_limit is set to 0.
- integer
- null
negative_peak_minimization object
- PeakMinimization
- null
active object
Boolean field that indicates if the peak minimization is activated or not.
- boolean
- null
peak_limit object
Specifies a line under which the peak price does not apply. The value specified will be applied to all the phases of the collector separately. By default the peak_limit is set to 0.
- integer
- null
Boolean field that indicates if cost minimization (energy price optimization) is activated or not.
trueThe planned frequency at which a site will be optimized. Should follow the python timedelta notation. Currently this field is disabled as we only support 15 minutes long optimization configuration. Notation is in Pandas Timedelta notation.
PT15MPT15MThe planning horizon for which the optimization will be done. Should follow the ISO-8601 duration notation.
Possible values: [PT2H, PT4H, PT6H, PT8H, PT10H, PT12H, PT15H, PT18H, P1D, P2D, P3D]
P1Dcontract object
- EnergyProviderContract-Output
- null
Possible values: [day_night_be, dynamic, fixed]
- day_night_be
- dynamic
- fixed
Possible values: [DE_50HZ, AL, DE_AMPRION, AT, BY, BE, BA, BG, CZ_DE_SK, HR, CWE, CY, CZ, DE_AT_LU, DE_LU, DK, DK_1, DK_1_NO_1, DK_2, DK_CA, EE, FI, MK, FR, DE, GR, HU, IS, IE_SEM, IE, IT, IT_SACO_AC, IT_CALA, IT_SACO_DC, IT_BRNN, IT_CNOR, IT_CSUD, IT_FOGN, IT_GR, IT_MACRO_NORTH, IT_MACRO_SOUTH, IT_MALTA, IT_NORD, IT_NORD_AT, IT_NORD_CH, IT_NORD_FR, IT_NORD_SI, IT_PRGP, IT_ROSN, IT_SARD, IT_SICI, IT_SUD, RU_KGD, LV, LT, LU, LU_BZN, MT, ME, GB, GE, GB_IFA, GB_IFA2, GB_ELECLINK, UK, NL, NO_1, NO_1A, NO_2, NO_2_NSL, NO_2A, NO_3, NO_4, NO_5, NO, PL_CZ, PL, PT, MD, RO, RU, SE_1, SE_2, SE_3, SE_4, RS, SK, SI, GB_NIR, ES, SE, CH, DE_TENNET, DE_TRANSNET, TR, UA, UA_DOBTPP, UA_BEI, UA_IPS, XK, DE_AMP_LU]
revenue object
- RevenueConfiguration
- null
revenue_per_kwh_ac_charged object
Revenue per kWh charged by AC chargers in EUR.
- number
- null
revenue_per_kwh_dc_charged object
Revenue per kWh charged by DC chargers in EUR.
- number
- null
dso object
- DSOConnection
- null
Possible values: [AIEG, AIESH, Fluvius, German, ORES, RESA, REW, Sibelga]
- AIEG
- AIESH
- Fluvius
- German
- ORES
- RESA
- REW
- Sibelga
AllPossible values: [T-MT avec terme capacitaire, T-MT sans terme capacitaire, MT avec terme capacitaire, MT sans terme capacitaire, T-BT avec terme capacitaire, T-BT sans terme capacitaire, BT>56kVA - heures normales, BT>56kVA - heures pleines/creuses, BT - heures normales, BT - heures pleines/creuses, BT - heures incitative]
AllPossible values: [T-MT avec terme capacitaire, T-MT sans terme capacitaire, MT avec terme capacitaire, MT sans terme capacitaire, T-BT avec terme capacitaire, T-BT sans terme capacitaire, BT>56kVA - heures normales, BT>56kVA - heures pleines/creuses, BT - heures normales, BT - heures pleines/creuses, BT - heures incitative]
Possible values: [Imewo, West, Antwerpen, Midden-Vlaanderen, Zenne-Dijle, Halle-Vilvoorde, Kempen, Limburg]
Possible values: [Low Voltage Network, <= 1 kV Distribution Cabine, 1-26 kV-net, 1-26 kV-post, 26-36 kV-net, 26-36 kV-post]
Possible values: [RLM, SLP]
Possible values: [Brabant Wallon, Est, Hainaut, Luxembourg, Mouscron, Namur, Verviers]
Possible values: [T-MT avec terme capacitaire, T-MT sans terme capacitaire, MT avec terme capacitaire, MT sans terme capacitaire, T-BT avec terme capacitaire, T-BT sans terme capacitaire, BT>56kVA - heures normales, BT>56kVA - heures pleines/creuses, BT - heures normales, BT - heures pleines/creuses, BT - heures incitative]
AllPossible values: [T-MT avec terme capacitaire, T-MT sans terme capacitaire, MT avec terme capacitaire, MT sans terme capacitaire, T-BT avec terme capacitaire, T-BT sans terme capacitaire, BT>56kVA - heures normales, BT>56kVA - heures pleines/creuses, BT - heures normales, BT - heures pleines/creuses, BT - heures incitative]
AllPossible values: [T-MT avec terme capacitaire, T-MT sans terme capacitaire, MT avec terme capacitaire, MT sans terme capacitaire, T-BT avec terme capacitaire, T-BT sans terme capacitaire, BT>56kVA - heures normales, BT>56kVA - heures pleines/creuses, BT - heures normales, BT - heures pleines/creuses, BT - heures incitative]
Brussels Capital RegionPossible values: [MT - aliment. principale, MT - aliment. secours, BT - avec mesure de pointe, BT - sans mesure de pointe <=13kVA, BT - sans mesure de pointe >13kVA, BT - sans comptage <=13kVA, BT - sans comptage >13kVA]
ingress_validation object
main_collector_expected_measurement_interval object
Expected measurement interval applied to every collector on the site. When null, collectors are always considered valid. Note: the UCL calculation requires grid measurements at least every 5 minutes to produce accurate results, so the main collector should not exceed a 5-minute interval.
- number
- null
asset object
Default ingress validation for assets. Used when an asset has no ingress_validation override and no per_asset_type entry matches.
Expected measurement interval for the asset while it has an active transaction. Measurements arriving less frequently than this are flagged as stale by ingress validation. Note: the UCL calculation requires measurements at least every 5 minutes to produce accurate results, so this value should not exceed 5 minutes for assets that participate in the uncontrollable-load computation.
without_transaction_expected_measurement_interval object
Expected measurement interval for the asset when no transaction is active. When null, the asset is always considered valid while idle. Note: the UCL calculation requires measurements at least every 5 minutes to produce accurate results, so if this asset contributes to the uncontrollable-load computation it should still report at least every 5 minutes.
- number
- null
per_asset_type object
Per-asset-type defaults that override the site-level asset defaults. An asset without its own ingress_validation falls back to the per-type config (if present) before falling back to asset.
property name* AssetIngressValidationConfig
Expected measurement interval for the asset while it has an active transaction. Measurements arriving less frequently than this are flagged as stale by ingress validation. Note: the UCL calculation requires measurements at least every 5 minutes to produce accurate results, so this value should not exceed 5 minutes for assets that participate in the uncontrollable-load computation.
without_transaction_expected_measurement_interval object
Expected measurement interval for the asset when no transaction is active. When null, the asset is always considered valid while idle. Note: the UCL calculation requires measurements at least every 5 minutes to produce accurate results, so if this asset contributes to the uncontrollable-load computation it should still report at least every 5 minutes.
- number
- null
forecasting_configuration objectrequired
forecasted_devices object[]required
90900training_interval object
- string
- null
Possible values: Value must match regular expression ^P(T?\d+.*)$
truePossible values: [pv, load, calculated_ucl, aggregated_pv]
pvtrueconnections objectrequired
- Connection
- null
mqtt objectrequired
mqtt.pleevi.aiend_cursor object
Cursor to retrieve the next page of results.
- string
- null
Possible values: non-empty
false{
"data": [
{
"_id": "5eb7cf5a86d9755df3a6c593",
"partner_id": "string",
"site_id": "string",
"name": "Brussels Charging Hub",
"location": {
"name": "Brussels Office",
"coordinates": [
50.8503,
4.3517,
0
]
},
"country": "BE",
"status": "inactive",
"validation_status": {
"status": "UNKNOWN",
"site_configuration_status": {
"status": "UNKNOWN",
"configuration_added": {
"status": "UNKNOWN"
},
"configuration_complete": {
"status": "UNKNOWN",
"missing_assets": [
"charger-A1",
"PV_panel_1"
]
},
"valid_for_optimization": {
"status": "UNKNOWN",
"validation_errors": "string"
}
},
"optimization_configuration_status": {
"status": "UNKNOWN"
},
"ingress_status": {
"status": "UNKNOWN",
"receiving_measurement_data": {
"status": "UNKNOWN",
"not_receiving_data_from": [
"charger-A1"
],
"all_assets": false
}
},
"last_validation": "2024-07-29T15:51:28.071Z"
},
"configurations": {
"site_configuration": {
"device_list": [
{
"name": "LR34_001",
"collector": "main_collector",
"ingress_validation": {
"with_transaction_expected_measurement_interval": 0,
"without_transaction_expected_measurement_interval": 0
},
"type": "charging_pole_3phase",
"line_current": 32,
"pin_to_phase_mapping": {
"pin_list": [
"pin1"
],
"phase_list": [
"L1"
]
}
},
{
"phase_permutations": {
"parent": [
"L1"
],
"child": [
"L1"
]
},
"name": "LR34_001",
"collector": "main_collector",
"ingress_validation": {
"with_transaction_expected_measurement_interval": 0,
"without_transaction_expected_measurement_interval": 0
},
"type": "dc_charging_pole",
"max_power": 250000,
"strategy": "load-balancing"
},
{
"phase_permutations": {
"parent": [
"L1"
],
"child": [
"L1"
]
},
"name": "LR34_001",
"collector": "main_collector",
"ingress_validation": {
"with_transaction_expected_measurement_interval": 0,
"without_transaction_expected_measurement_interval": 0
},
"type": "forecasted_series_3phase",
"line_current": 32,
"forecast_type": "pv",
"should_be_aggregated": false,
"curtailment_mode": "none"
},
{
"phase_permutations": {
"parent": [
"L1"
],
"child": [
"L1"
]
},
"name": "LR34_001",
"collector": "main_collector",
"ingress_validation": {
"with_transaction_expected_measurement_interval": 0,
"without_transaction_expected_measurement_interval": 0
},
"type": "battery_energy_storage_system",
"charging_efficiency": 0.95,
"discharging_efficiency": 0.95,
"maximum_charging_power": 50000,
"maximum_discharging_power": 50000,
"operational_battery_capacity": 100000,
"charging_priority": 5,
"discharging_priority": 5,
"policies": [
{
"type": "schedule",
"schedule": {
"frequency": "weekly",
"day_of_week": [
"monday",
"friday"
],
"time": "09:00",
"timezone": "America/New_York"
},
"minimum_state_of_charge": 20,
"maximum_state_of_charge": 80,
"violation_price_euros_per_mwh": 3000000
},
{
"type": "charge-hysteresis",
"start_charging_below": 10,
"stop_charging_at": 20
}
]
}
],
"collector_list": [
{
"phase_permutations": {
"parent": [
"L1"
],
"child": [
"L1"
]
},
"name": "main_collector",
"children": [
null
],
"line_current": 400,
"safe_line_current": 300,
"min_phase_current": 0,
"phase_voltage": 230,
"commodity": "electricity",
"1P_3P": "3P",
"nb_of_phases": 0
}
]
},
"io_configuration": {
"asset_io_config": [
{
"asset_id": "string",
"config": {
"type": "modbus-tcp",
"ip": "string",
"port": 0,
"registers": {
"connector_id": 0,
"type": "alfen"
}
},
"brand": "Alfen",
"model": "Eve Single Pro-line"
}
],
"controller_mode": "read_only",
"phase_permutation_mode": "worst_case"
},
"optimization_configuration": {
"peak_minimization": {
"active": true,
"peak_limit": 100000
},
"negative_peak_minimization": {
"active": true,
"peak_limit": 100000
},
"cost_minimization_active": true,
"planning_frequency": "PT15M",
"planning_horizon": "P1D"
},
"contract": {
"fixed_offtake_cost_per_mwh": 0,
"fixed_injection_cost_per_mwh": 0,
"contract_type": "fixed"
},
"revenue": {
"revenue_per_kwh_ac_charged": 0.25,
"revenue_per_kwh_dc_charged": 0.55
},
"dso": {
"dso": "string",
"region": "Imewo",
"connection_type": "Low Voltage Network",
"toegangsvermogen": 0
},
"ingress_validation": {
"main_collector_expected_measurement_interval": 0,
"asset": {
"with_transaction_expected_measurement_interval": 0,
"without_transaction_expected_measurement_interval": 0
},
"per_asset_type": {}
},
"forecasting_configuration": {
"forecasted_devices": [
{
"device_id": "PV@main_collector",
"parent_collector_id": "main_collector",
"train_window": 90,
"sample_size": 900,
"time_field": "timestamp",
"forecasted_field": "powerValue",
"training_interval": "P1DT",
"active": true,
"forecast_type": "pv"
}
]
},
"ucl_calculation_active": true
},
"driver_email_notifications_enabled": true,
"active": true,
"connections": {
"mqtt": {
"cluster": "mqtt.pleevi.ai",
"energy_measurement_topic": "pleevi/v2/partner-1/site-1/asset/<asset_id>/energyMeasurement",
"transaction_topic": "pleevi/v2/partner-1/site-1/asset/<asset_id>/transaction",
"advice_topic": "pleevi/v2/partner-1/site-1/asset/<asset_id>/advice",
"notification_topic": "pleevi/v2/partner-1/site-1/notification/<event_name>"
}
}
}
],
"page_size": 0,
"end_cursor": "string",
"has_next_page": false
}