public static XElement StopTransactionRequestXML(String ChargeBoxIdentity,
                                                         Int64 TransactionId,
                                                         DateTime Timestamp,
                                                         UInt64 MeterStop,
                                                         String IdTag = null,
                                                         IEnumerable <TransactionData> TransactionData = null)
        {
            return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CS + "chargeBoxIdentity", ChargeBoxIdentity) },
                                      SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CS + "stopTransactionRequest",
                                                               new XElement(OCPPNS.OCPPv1_5_CS + "transactionId", TransactionId),
                                                               new XElement(OCPPNS.OCPPv1_5_CS + "idTag", IdTag),
                                                               new XElement(OCPPNS.OCPPv1_5_CS + "timestamp", Timestamp),
                                                               new XElement(OCPPNS.OCPPv1_5_CS + "meterStop", MeterStop),

                                                               new XElement(OCPPNS.OCPPv1_5_CS + "transactionData",
                                                                            TransactionData.Select(Tdata =>
                                                                                                   new XElement(OCPPNS.OCPPv1_5_CS + "values",
                                                                                                                Tdata.Values.Select(value =>
                                                                                                                                    new XElement(OCPPNS.OCPPv1_5_CS + "values",
                                                                                                                                                 new XElement(OCPPNS.OCPPv1_5_CS + "timestamp", value.Timestamp),
                                                                                                                                                 new XElement(OCPPNS.OCPPv1_5_CS + "value", value.Value)
                                                                                                                                                 )))).ToArray())

                                                               )));
        }
        public static XElement MeterValuesRequestXML(String ChargeBoxIdentity,
                                                     UInt16 ConnectorId,
                                                     UInt16 TransactionId,
                                                     IEnumerable <MeterValue> MeterValues = null)
        {
            if (MeterValues == null)
            {
                MeterValues = new MeterValue[0];
            }

            return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CS + "chargeBoxIdentity", ChargeBoxIdentity) },
                                      SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CS + "meterValuesRequest",
                                                               new XElement(OCPPNS.OCPPv1_5_CS + "connectorId", ConnectorId),
                                                               new XElement(OCPPNS.OCPPv1_5_CS + "transactionId", TransactionId),

                                                               MeterValues.Select(value =>
                                                                                  new XElement(OCPPNS.OCPPv1_5_CS + "values",
                                                                                               new XElement(OCPPNS.OCPPv1_5_CS + "timestamp", value.Timestamp),
                                                                                               new XElement(OCPPNS.OCPPv1_5_CS + "value",
                                                                                                            new XAttribute(OCPPNS.OCPPv1_5_CS + "context", value.Context),
                                                                                                            new XAttribute(OCPPNS.OCPPv1_5_CS + "format", value.Format),
                                                                                                            new XAttribute(OCPPNS.OCPPv1_5_CS + "measurand", value.Measurand),
                                                                                                            new XAttribute(OCPPNS.OCPPv1_5_CS + "location", value.Location),
                                                                                                            new XAttribute(OCPPNS.OCPPv1_5_CS + "unit", value.Unit),
                                                                                                            value.Value)
                                                                                               )).ToArray())

                                      ));
        }
 public static XElement ResetRequestXML(String ChargeBoxIdentity,
                                        String Type)
 {
     return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CP + "chargeBoxIdentity", ChargeBoxIdentity) },
                               SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CP + "ResetRequest",
                                                        new XElement(OCPPNS.OCPPv1_5_CP + "type", Type)
                                                        )));
 }
 public static XElement AuthorizeRequestXML(String ChargeBoxIdentity,
                                            String IdTag)
 {
     return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CS + "chargeBoxIdentity", ChargeBoxIdentity) },
                               SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CS + "authorizeRequest",
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "idTag", IdTag)
                                                        )));
 }
 public static XElement RemoteStartTransactionRequestXML(String ChargeBoxIdentity,
                                                         String IdTag)
 {
     return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CP + "chargeBoxIdentity", ChargeBoxIdentity) },
                               SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CP + "remoteStartTransactionRequest",
                                                        new XElement(OCPPNS.OCPPv1_5_CP + "idTag", IdTag)
                                                        )));
 }
 public static XElement UnlockConnectorRequestXML(String ChargeBoxIdentity,
                                                  String ConnectorId)
 {
     return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CP + "chargeBoxIdentity", ChargeBoxIdentity) },
                               SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CP + "unlockConnectorRequest",
                                                        new XElement(OCPPNS.OCPPv1_5_CP + "connectorId", ConnectorId)
                                                        )));
 }
 public static XElement DiagnosticsStatusNotificationRequestXML(String ChargeBoxIdentity,
                                                                DiagnosticsStatus Status)
 {
     return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CS + "chargeBoxIdentity", ChargeBoxIdentity) },
                               SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CS + "diagnosticsStatusNotificationRequest",
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "status", Status)
                                                        )));
 }
 public static XElement DataTransferResponseXML(String ChargeBoxIdentity,
                                                DataTransferStatus Status,
                                                String Data = null)
 {
     return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CS + "chargeBoxIdentity", ChargeBoxIdentity) },
                               SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CS + "dataTransferResponse",
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "status", Status),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "data", Data)
                                                        )));
 }
 public static XElement ChangeAvailabilityRequestXML(String ChargeBoxIdentity,
                                                     String ConnectorId,
                                                     String Type)
 {
     return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CP + "chargeBoxIdentity", ChargeBoxIdentity) },
                               SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CP + "changeAvailabilityRequest",
                                                        new XElement(OCPPNS.OCPPv1_5_CP + "connectorId", ConnectorId),
                                                        new XElement(OCPPNS.OCPPv1_5_CP + "type", Type)
                                                        )));
 }
 public static XElement ChangeConfigurationRequestXML(String ChargeBoxIdentity,
                                                      String Key,
                                                      String Value)
 {
     return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CP + "chargeBoxIdentity", ChargeBoxIdentity) },
                               SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CP + "changeAvailabilityRequest",
                                                        new XElement(OCPPNS.OCPPv1_5_CP + "key", Key),
                                                        new XElement(OCPPNS.OCPPv1_5_CP + "value", Value)
                                                        )));
 }
 public static XElement AuthorizeResponseXML(String ChargeBoxIdentity,
                                             IdTagInfo IdTagInfo)
 {
     return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CS + "chargeBoxIdentity", ChargeBoxIdentity) },
                               SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CS + "authorizeResponse",
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "idTagInfo",
                                                                     new XElement(OCPPNS.OCPPv1_5_CS + "status", IdTagInfo.Status),
                                                                     new XElement(OCPPNS.OCPPv1_5_CS + "expiryDate", IdTagInfo.ExpiryDate),
                                                                     new XElement(OCPPNS.OCPPv1_5_CS + "parentIdTag", IdTagInfo.ParentIdTag)
                                                                     ))));
 }
 public static XElement DataTransferRequestXML(String ChargeBoxIdentity,
                                               String VendorId,
                                               String MessageId = null,
                                               String Data      = null)
 {
     return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CS + "chargeBoxIdentity", ChargeBoxIdentity) },
                               SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CS + "dataTransferRequest",
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "vendorId", VendorId),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "messageId", MessageId),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "data", Data)
                                                        )));
 }
Example #13
0
 public static XElement BootNotificationResponseXML(String ChargeBoxIdentity,
                                                    RegistrationStatus Status,
                                                    DateTime CurrentTime,
                                                    UInt32 HeartbeatInterval)
 {
     return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CS + "chargeBoxIdentity", ChargeBoxIdentity) },
                               SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CS + "bootNotificationResponse",
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "status", Status),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "currentTime", CurrentTime),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "heartbeatInterval", HeartbeatInterval)
                                                        )));
 }
 public static XElement UpdateFirmwareRequestXML(String ChargeBoxIdentity,
                                                 DateTime RetrieveDate,
                                                 String Location,
                                                 String Retries       = null,
                                                 String RetryInterval = null)
 {
     return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CP + "chargeBoxIdentity", ChargeBoxIdentity) },
                               SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CP + "updateFirmwareRequest",
                                                        new XElement(OCPPNS.OCPPv1_5_CP + "retrieveDate", RetrieveDate),
                                                        new XElement(OCPPNS.OCPPv1_5_CP + "location", Location),
                                                        new XElement(OCPPNS.OCPPv1_5_CP + "retries", Retries),
                                                        new XElement(OCPPNS.OCPPv1_5_CP + "retryInterval", RetryInterval)
                                                        )));
 }
 public static XElement StartTransactionRequestXML(String ChargeBoxIdentity,
                                                   UInt16 ConnectorId,
                                                   String IdTag,
                                                   DateTime Timestamp,
                                                   UInt64 MeterStart,
                                                   Int32?ReservationId = null)
 {
     return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CS + "chargeBoxIdentity", ChargeBoxIdentity) },
                               SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CS + "startTransactionRequest",
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "connectorId", ConnectorId),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "idTag", IdTag),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "timestamp", Timestamp),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "meterStart", MeterStart),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "reservationId", ReservationId.Value)
                                                        )));
 }
 public static XElement GetDiagnosticsRequestXML(String ChargeBoxIdentity,
                                                 String Location,
                                                 DateTime?StartTime   = null,
                                                 DateTime?StopTime    = null,
                                                 String Retries       = null,
                                                 String RetryInterval = null)
 {
     return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CP + "chargeBoxIdentity", ChargeBoxIdentity) },
                               SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CP + "getDiagnosticsRequest",
                                                        new XElement(OCPPNS.OCPPv1_5_CP + "location", Location),
                                                        new XElement(OCPPNS.OCPPv1_5_CP + "startTime", StartTime),
                                                        new XElement(OCPPNS.OCPPv1_5_CP + "stopTime", StopTime),
                                                        new XElement(OCPPNS.OCPPv1_5_CP + "retries", Retries),
                                                        new XElement(OCPPNS.OCPPv1_5_CP + "retryInterval", RetryInterval)
                                                        )));
 }
 public static XElement StatusNotificationRequestXML(String ChargeBoxIdentity,
                                                     UInt16 ConnectorId,
                                                     ChargePointStatus Status,
                                                     ChargePointErrorCode ErrorCode,
                                                     String Info            = null,
                                                     DateTime?Timestamp     = null,
                                                     String VendorId        = null,
                                                     String VendorErrorCode = null)
 {
     return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CS + "chargeBoxIdentity", ChargeBoxIdentity) },
                               SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CS + "StatusNotificationRequest",
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "connectorId", ConnectorId),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "status", Status),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "errorCode", ErrorCode),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "info", Info),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "timestamp", Timestamp),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "vendorId", VendorId),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "vendorErrorCode", VendorErrorCode)
                                                        )));
 }
Example #18
0
 /// <summary>
 /// After start-up, a Charge Point SHALL send a request to the
 /// Central System with information about its configuration
 /// (e.g.version, vendor, etc.).
 /// </summary>
 /// <param name="ChargeBoxIdentity"></param>
 /// <param name="ChargePointVendor"></param>
 /// <param name="ChargePointModel"></param>
 /// <param name="ChargePointSerialNumber"></param>
 /// <param name="ChargeBoxSerialNumber"></param>
 /// <param name="FirmwareVersion"></param>
 /// <param name="Iccid"></param>
 /// <param name="IMSI"></param>
 /// <param name="MeterType"></param>
 /// <param name="MeterSerialNumber"></param>
 public static XElement BootNotificationRequestXML(String ChargeBoxIdentity,                  // ?
                                                   String ChargePointVendor,                  // case-insensitive 20
                                                   String ChargePointModel,                   // case-insensitive 20
                                                   String ChargePointSerialNumber = null,     // case-insensitive 25
                                                   String ChargeBoxSerialNumber   = null,     // case-insensitive 25
                                                   String FirmwareVersion         = null,     // case-insensitive 50
                                                   String Iccid             = null,           // case-insensitive 20
                                                   String IMSI              = null,           // case-insensitive 20
                                                   String MeterType         = null,           // case-insensitive 25
                                                   String MeterSerialNumber = null)           // case-insensitive 25
 {
     return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CS + "chargeBoxIdentity", ChargeBoxIdentity) },
                               SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CS + "bootNotificationRequest",
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "chargePointVendor", ChargePointVendor),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "chargePointModel", ChargePointModel),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "chargePointSerialNumber", ChargePointSerialNumber),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "chargeBoxSerialNumber", ChargeBoxSerialNumber),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "firmwareVersion", FirmwareVersion),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "imsi", IMSI),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "meterType", MeterType),
                                                        new XElement(OCPPNS.OCPPv1_5_CS + "meterSerialNumber", MeterSerialNumber)
                                                        )));
 }
Example #19
0
 public static XElement HeartbeatRequestXML(String ChargeBoxIdentity)
 {
     return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CS + "chargeBoxIdentity", ChargeBoxIdentity) },
                               SOAPBody:    new XElement(OCPPNS.OCPPv1_5_CS + "heartbeatRequest")));
 }
 public static XElement StatusNotificationResponseXML(String ChargeBoxIdentity)
 {
     return(SOAP.Encapsulation(SOAPHeaders: new XElement[] { new XElement(OCPPNS.OCPPv1_5_CS + "chargeBoxIdentity", ChargeBoxIdentity) },
                               SOAPBody:   new XElement(OCPPNS.OCPPv1_5_CS + "statusNotificationResponse")));
 }