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 .jsv suffix or ?format=jsv
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/jsv
Content-Type: text/jsv
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/jsv 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 } ] }