POST | /optimizer/tod |
---|
"use strict";
export class AnnualRateItem {
/** @param {{year?:number,value?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
year;
/** @type {number} */
value;
}
export class YoyFactorOptimizarItem {
/** @param {{year?:number,factor?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
year;
/** @type {number} */
factor;
}
export class TodOptimizerRequestItem {
/** @param {{year?:number,month?:number,hour?:number,weekDay?:number,energyPrice?:number,capacityPrice?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
year;
/** @type {number} */
month;
/** @type {number} */
hour;
/** @type {number} */
weekDay;
/** @type {number} */
energyPrice;
/** @type {number} */
capacityPrice;
}
export class TodOptimizerRequestBase {
/** @param {{projectId?:string,chargeDischargeLimit?:number,batteryCapacity?:number,chargeEfficiency?:number,dischargeEfficiency?:number,paraciticLossesOperation?:number,paraciticLossesResting?:number,hvacLosses?:number,acCablingLosses?:number,transformatorLosses?:number,thermalLosses?:number,unavailabilityLoss?:number,otherLosses?:number,enableCapacity?:boolean,energySchedule?:AnnualRateItem[],capacitySchedule?:AnnualRateItem[],yoyFactors?:YoyFactorOptimizarItem[],data?:TodOptimizerRequestItem[],apiActionId?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
projectId;
/** @type {number} */
chargeDischargeLimit;
/** @type {number} */
batteryCapacity;
/** @type {number} */
chargeEfficiency;
/** @type {number} */
dischargeEfficiency;
/** @type {number} */
paraciticLossesOperation;
/** @type {number} */
paraciticLossesResting;
/** @type {number} */
hvacLosses;
/** @type {number} */
acCablingLosses;
/** @type {number} */
transformatorLosses;
/** @type {number} */
thermalLosses;
/** @type {number} */
unavailabilityLoss;
/** @type {number} */
otherLosses;
/** @type {boolean} */
enableCapacity;
/** @type {AnnualRateItem[]} */
energySchedule;
/** @type {AnnualRateItem[]} */
capacitySchedule;
/** @type {YoyFactorOptimizarItem[]} */
yoyFactors;
/** @type {TodOptimizerRequestItem[]} */
data;
/** @type {string} */
apiActionId;
}
export class TODOptimizerRequest extends TodOptimizerRequestBase {
/** @param {{projectId?:string,chargeDischargeLimit?:number,batteryCapacity?:number,chargeEfficiency?:number,dischargeEfficiency?:number,paraciticLossesOperation?:number,paraciticLossesResting?:number,hvacLosses?:number,acCablingLosses?:number,transformatorLosses?:number,thermalLosses?:number,unavailabilityLoss?:number,otherLosses?:number,enableCapacity?:boolean,energySchedule?:AnnualRateItem[],capacitySchedule?:AnnualRateItem[],yoyFactors?:YoyFactorOptimizarItem[],data?:TodOptimizerRequestItem[],apiActionId?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
}
/** @typedef {number} */
export var ApiResponseStatus;
(function (ApiResponseStatus) {
ApiResponseStatus[ApiResponseStatus["Undefined"] = 0] = "Undefined"
ApiResponseStatus[ApiResponseStatus["Success"] = 1] = "Success"
ApiResponseStatus[ApiResponseStatus["Pending"] = 10] = "Pending"
ApiResponseStatus[ApiResponseStatus["Failed"] = 100] = "Failed"
})(ApiResponseStatus || (ApiResponseStatus = {}));
export class TodOptimizerResponseItem extends TodOptimizerRequestItem {
/** @param {{chargeState?:number,charging?:number,loss?:number,chargeRate?:number,year?:number,month?:number,hour?:number,weekDay?:number,energyPrice?:number,capacityPrice?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
chargeState;
/** @type {number} */
charging;
/** @type {number} */
loss;
/** @type {number} */
chargeRate;
}
export class TodOptimizerResponse {
/** @param {{status?:ApiResponseStatus,message?:string,apiActionId?:string,testItems?:TodOptimizerResponseItem[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {ApiResponseStatus} */
status;
/** @type {string} */
message;
/** @type {string} */
apiActionId;
/** @type {TodOptimizerResponseItem[]} */
testItems;
}
JavaScript TODOptimizerRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /optimizer/tod HTTP/1.1
Host: dev-optimization.power.dev
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"projectId":"00000000000000000000000000000000","chargeDischargeLimit":0,"batteryCapacity":0,"chargeEfficiency":0,"dischargeEfficiency":0,"paraciticLossesOperation":0,"paraciticLossesResting":0,"hvacLosses":0,"acCablingLosses":0,"transformatorLosses":0,"thermalLosses":0,"unavailabilityLoss":0,"otherLosses":0,"enableCapacity":false,"apiActionId":"00000000000000000000000000000000"}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"status":"Undefined","message":"String","apiActionId":"00000000000000000000000000000000","testItems":[{"chargeState":0,"charging":0,"loss":0,"chargeRate":0,"year":0,"month":0,"hour":0,"weekDay":0,"energyPrice":0,"capacityPrice":0}]}