b33bf0665d33204d3c9a3d2bdb8fa08d15a7f11c
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / 1.6 / ChargingProfile.ts
1 import { JsonObject } from '../../JsonType';
2
3 export interface OCPP16ChargingProfile extends JsonObject {
4 chargingProfileId: number;
5 transactionId?: number;
6 stackLevel: number;
7 chargingProfilePurpose: ChargingProfilePurposeType;
8 chargingProfileKind: ChargingProfileKindType;
9 recurrencyKind?: RecurrencyKindType;
10 validFrom?: Date;
11 validTo?: Date;
12 chargingSchedule: ChargingSchedule;
13 }
14
15 export interface ChargingSchedule extends JsonObject {
16 duration?: number;
17 startSchedule?: Date;
18 chargingRateUnit: OCPP16ChargingRateUnitType;
19 chargingSchedulePeriod: OCPP16ChargingSchedulePeriod[];
20 minChargeRate?: number;
21 }
22
23 export interface OCPP16ChargingSchedulePeriod extends JsonObject {
24 startPeriod: number;
25 limit: number;
26 numberPhases?: number;
27 }
28
29 export enum OCPP16ChargingRateUnitType {
30 WATT = 'W',
31 AMPERE = 'A',
32 }
33
34 export enum ChargingProfileKindType {
35 ABSOLUTE = 'Absolute',
36 RECURRING = 'Recurring',
37 RELATIVE = 'Relative',
38 }
39
40 export enum ChargingProfilePurposeType {
41 CHARGE_POINT_MAX_PROFILE = 'ChargePointMaxProfile',
42 TX_DEFAULT_PROFILE = 'TxDefaultProfile',
43 TX_PROFILE = 'TxProfile',
44 }
45
46 export enum RecurrencyKindType {
47 DAILY = 'Daily',
48 WEEKLY = 'Weekly',
49 MONTHLY = 'Monthly',
50 }