feat: add initial support get composite schedule OCPP 1.6 command
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / 1.6 / ChargingProfile.ts
index 5d72a7ac1b28ec184de27ed45384510abb817096..67e12f970056a011b1671d4085bb3eec6c7e5164 100644 (file)
@@ -1,47 +1,50 @@
-export interface OCPP16ChargingProfile {
+import type { JsonObject } from '../../internal';
+
+export interface OCPP16ChargingProfile extends JsonObject {
   chargingProfileId: number;
   transactionId?: number;
   stackLevel: number;
-  chargingProfilePurpose: ChargingProfilePurposeType;
-  chargingProfileKind: ChargingProfileKindType;
-  recurrencyKind?: RecurrencyKindType;
+  chargingProfilePurpose: OCPP16ChargingProfilePurposeType;
+  chargingProfileKind: OCPP16ChargingProfileKindType;
+  recurrencyKind?: OCPP16RecurrencyKindType;
   validFrom?: Date;
   validTo?: Date;
-  chargingSchedule: ChargingSchedule;
+  chargingSchedule: OCPP16ChargingSchedule;
 }
 
-export interface ChargingSchedule {
+export interface OCPP16ChargingSchedule extends JsonObject {
   duration?: number;
   startSchedule?: Date;
-  chargingRateUnit: ChargingRateUnitType;
-  chargingSchedulePeriod: ChargingSchedulePeriod[];
+  chargingRateUnit: OCPP16ChargingRateUnitType;
+  chargingSchedulePeriod: OCPP16ChargingSchedulePeriod[];
   minChargeRate?: number;
 }
 
-export interface ChargingSchedulePeriod {
+export interface OCPP16ChargingSchedulePeriod extends JsonObject {
   startPeriod: number;
   limit: number;
   numberPhases?: number;
 }
 
-export enum ChargingRateUnitType {
+export enum OCPP16ChargingRateUnitType {
   WATT = 'W',
   AMPERE = 'A',
 }
 
-export enum ChargingProfileKindType {
+export enum OCPP16ChargingProfileKindType {
   ABSOLUTE = 'Absolute',
   RECURRING = 'Recurring',
   RELATIVE = 'Relative',
 }
 
-export enum ChargingProfilePurposeType {
+export enum OCPP16ChargingProfilePurposeType {
   CHARGE_POINT_MAX_PROFILE = 'ChargePointMaxProfile',
   TX_DEFAULT_PROFILE = 'TxDefaultProfile',
   TX_PROFILE = 'TxProfile',
 }
 
-export enum RecurrencyKindType {
+export enum OCPP16RecurrencyKindType {
   DAILY = 'Daily',
   WEEKLY = 'Weekly',
+  MONTHLY = 'Monthly',
 }