ReportChargingProfilesRequest.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using EVCB_OCPP.Packet20.DataTypes;
  2. using EVCB_OCPP.Packet20.DataTypes.EnumTypes;
  3. using Newtonsoft.Json;
  4. using Newtonsoft.Json.Converters;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.ComponentModel.DataAnnotations;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. namespace EVCB_OCPP.Packet20.Messages
  12. {
  13. public class ReportChargingProfilesRequest
  14. {
  15. /// <summary>
  16. /// Id used to match the
  17. /// GetChargingProfilesRequest message with the resulting
  18. ///ReportChargingProfilesRequest messages.When the
  19. ///CSMS provided a requestId in the
  20. ///GetChargingProfilesRequest, this field SHALL contain the
  21. ///same value.
  22. /// </summary>
  23. public int? RequestId { set; get; }
  24. /// <summary>
  25. /// Source that has installed this charging profile
  26. /// </summary>
  27. [Required]
  28. [JsonConverter(typeof(StringEnumConverter))]
  29. public ChargingLimitSourceEnumType ChargingLimitSource { set; get; }
  30. /// <summary>
  31. /// To Be Continued. Default value when omitted:
  32. ///false. false indicates that there are no further messages
  33. ///as part of this report.
  34. /// </summary>
  35. public bool? Tbc { set; get; }
  36. /// <summary>
  37. /// The evse to which the charging profile applies.
  38. /// If evseId = 0, the message contains an overall limit for the
  39. /// Charging Station.
  40. /// </summary>
  41. [Required]
  42. public int EvseId { set; get; }
  43. /// <summary>
  44. /// The charging profile as configured in the
  45. /// Charging Station.
  46. /// </summary>
  47. [Required]
  48. public List<ChargingProfileType> ChargingProfile { set; get; }
  49. }
  50. }