Refine TS and linter configuration
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / 1.6 / ChargingProfile.ts
CommitLineData
6c1761d4 1import type { JsonObject } from '../../JsonType';
c3ee95af 2
e3822d6f 3export interface OCPP16ChargingProfile extends JsonObject {
f738a0e9
JB
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
e3822d6f 15export interface ChargingSchedule extends JsonObject {
f738a0e9
JB
16 duration?: number;
17 startSchedule?: Date;
cfa9539e
JB
18 chargingRateUnit: OCPP16ChargingRateUnitType;
19 chargingSchedulePeriod: OCPP16ChargingSchedulePeriod[];
f738a0e9
JB
20 minChargeRate?: number;
21}
22
e3822d6f 23export interface OCPP16ChargingSchedulePeriod extends JsonObject {
f738a0e9
JB
24 startPeriod: number;
25 limit: number;
26 numberPhases?: number;
27}
28
cfa9539e 29export enum OCPP16ChargingRateUnitType {
f738a0e9
JB
30 WATT = 'W',
31 AMPERE = 'A',
32}
33
34export enum ChargingProfileKindType {
35 ABSOLUTE = 'Absolute',
36 RECURRING = 'Recurring',
37 RELATIVE = 'Relative',
38}
39
40export enum ChargingProfilePurposeType {
41 CHARGE_POINT_MAX_PROFILE = 'ChargePointMaxProfile',
42 TX_DEFAULT_PROFILE = 'TxDefaultProfile',
43 TX_PROFILE = 'TxProfile',
44}
45
46export enum RecurrencyKindType {
47 DAILY = 'Daily',
48 WEEKLY = 'Weekly',
cfa9539e 49 MONTHLY = 'Monthly',
f738a0e9 50}