コード例 #1
0
        public ChargingStationCouldNotBeCreated(ChargingPool ChargingPool,
                                                ChargingStation_Id ChargingStation_Id)

            : base(ChargingPool.Operator,
                   "The given charging station identification '" + ChargingStation_Id + "' already exists within the given '" + ChargingPool.Id + "' EVS pool!")

        {
        }
コード例 #2
0
        public ChargingStationException(ChargingPool ChargingPool,
                                        String Message)

            : base(ChargingPool.Operator,
                   Message)

        {
        }
コード例 #3
0
        public ChargingStationException(ChargingPool ChargingPool,
                                        String Message,
                                        Exception InnerException)

            : base(ChargingPool.Operator, Message, InnerException)

        {
        }
コード例 #4
0
        public ChargingStationAlreadyExistsInPool(ChargingPool ChargingPool,
                                                  ChargingStation_Id ChargingStationId)

            : base(ChargingPool.Operator,
                   "The given charging station identification '" + ChargingStationId + "' already exists within the given '" + ChargingPool.Id + "' charging pool!")

        {
        }
コード例 #5
0
        /// <summary>
        /// An invalid charging station operator identification was given.
        /// </summary>
        /// <param name="ChargingPool">The charging pool in which the exception occured.</param>
        /// <param name="InvalidChargingStationOperatorId">The invalid operator identification.</param>
        /// <param name="ValidChargingStationOperatorIds">All expected operator identifications.</param>
        public InvalidChargingStationOperatorId(ChargingPool ChargingPool,
                                                ChargingStationOperator_Id InvalidChargingStationOperatorId,
                                                IEnumerable <ChargingStationOperator_Id> ValidChargingStationOperatorIds)

            : base(ChargingPool.Operator,
                   "Invalid charging station operator identification '" + InvalidChargingStationOperatorId + "' where only '" + ValidChargingStationOperatorIds.AggregateWith(", ") + "' are expected!")

        {
        }
コード例 #6
0
        /// <summary>
        /// Create a charge detail record for the given charging session (identification).
        /// </summary>
        /// <param name="SessionId">The unique charging session identification.</param>
        /// <param name="ChargingReservation">An optional charging reservation used for charging.</param>
        ///
        /// <param name="EVSE">The EVSE of the EVSE used for charging.</param>
        /// <param name="ChargingStation">The charging station of the charging station used for charging.</param>
        /// <param name="ChargingPool">The charging pool of the charging pool used for charging.</param>
        /// <param name="EVSEOperator">The EVSE operator used for charging.</param>
        /// <param name="ChargingProductId">An unqiue identification for the consumed charging product.</param>
        ///
        /// <param name="ReservationTime">Optional timestamps when the reservation started and ended.</param>
        /// <param name="ParkingTime">Optional timestamps when the parking started and ended.</param>
        /// <param name="SessionTime">Optional timestamps when the charging session started and ended.</param>
        ///
        /// <param name="EnergyMeterId">An optional unique identification of the energy meter.</param>
        /// <param name="EnergyMeteringValues">An optional enumeration of intermediate energy metering values.</param>
        /// <param name="MeteringSignature">An optional signature for the metering values.</param>
        ///
        /// <param name="IdentificationStart">The identification for the start of the charging process.</param>
        /// <param name="IdentificationStop">The identification for the stop of the charging process.</param>
        public ChargeDetailRecord(ChargingSession_Id SessionId,
                                  ChargingReservation Reservation      = null,
                                  ChargingReservation_Id ReservationId = null,

                                  EVSEOperator EVSEOperator       = null,
                                  ChargingPool ChargingPool       = null,
                                  ChargingStation ChargingStation = null,
                                  EVSE EVSE      = null,
                                  EVSE_Id EVSEId = null,
                                  ChargingProduct_Id ChargingProductId = null,

                                  EVSP_Id ProviderId = null,

                                  StartEndDateTime?ReservationTime = null,
                                  StartEndDateTime?ParkingTime     = null,
                                  StartEndDateTime?SessionTime     = null,

                                  EnergyMeter_Id EnergyMeterId = null,
                                  IEnumerable <Timestamped <Double> > EnergyMeteringValues = null,
                                  String MeteringSignature = null,

                                  AuthInfo IdentificationStart = null,
                                  AuthInfo IdentificationStop  = null)

        {
            #region Initial checks

            if (SessionId == null)
            {
                throw new ArgumentNullException("Id", "The charging session identification must not be null!");
            }

            #endregion

            this._SessionId = SessionId;

            this._Reservation     = Reservation;
            this._ReservationId   = ReservationId != null ? ReservationId : Reservation != null ? Reservation.Id : null;
            this._ReservationTime = ReservationTime;

            this._EVSE              = EVSE;
            this._EVSEId            = EVSE != null ? EVSE.Id : EVSEId;
            this._ChargingStation   = ChargingStation;
            this._ChargingPool      = ChargingPool;
            this._EVSEOperator      = EVSEOperator;
            this._ChargingProductId = ChargingProductId;

            this._ParkingTime = ParkingTime;
            this._SessionTime = SessionTime;

            this._EnergyMeterId        = EnergyMeterId;
            this._EnergyMeteringValues = EnergyMeteringValues != null ? EnergyMeteringValues : new Timestamped <Double> [0];

            this._IdentificationStart = IdentificationStart;
            this._IdentificationStop  = IdentificationStop;
        }
コード例 #7
0
 public static XElement ToXML(this ChargingPool Pool)
 {
     return(new XElement(NS_ChargingPool + NS_EVSPool_Root,
                         Pool.Id.ToXML(NS_ChargingPool, NS_EVSPool_Id),
                         Pool.LastChange.ToXML(NS_ChargingPool, NS_EVSPool_Timestamp),
                         Pool.Name.ToXML(NS_ChargingPool, NS_EVSPool_Name),
                         (!Pool.Description.IsNullOrEmpty()) ?
                         Pool.Description.ToXML(NS_ChargingPool, NS_EVSPool_Description)      : null,
                         (Pool.LocationLanguage != Languages.unknown) ?
                         Pool.LocationLanguage.ToXML(NS_ChargingPool, NS_EVSPool_LocationLanguage) : null,
                         Pool.GeoLocation.ToXML(NS_ChargingPool, "GeoLocation"),
                         Pool.EntranceLocation.ToXML(NS_ChargingPool, "EntranceLocation")
                         ));
 }
コード例 #8
0
        /// <summary>
        /// Create a new virtual charging station.
        /// </summary>
        /// <param name="ChargingPool">A charging pool.</param>
        /// <param name="ChargingStationId">The charging station identification for the charging station to be created.</param>
        /// <param name="ChargingStationConfigurator">An optional delegate to configure the new (local) charging station.</param>
        /// <param name="VirtualChargingStationConfigurator">An optional delegate to configure the new virtual charging station.</param>
        /// <param name="OnSuccess">An optional delegate for reporting success.</param>
        /// <param name="OnError">An optional delegate for reporting an error.</param>
        public static ChargingStation CreateVirtualStation(this ChargingPool ChargingPool,
                                                           ChargingStation_Id ChargingStationId,
                                                           I18NString Description = null,
                                                           ChargingStationAdminStatusTypes InitialAdminStatus = ChargingStationAdminStatusTypes.Operational,
                                                           ChargingStationStatusTypes InitialStatus           = ChargingStationStatusTypes.Available,
                                                           String EllipticCurve = "P-256",
                                                           ECPrivateKeyParameters PrivateKey           = null,
                                                           PublicKeyCertificates PublicKeyCertificates = null,
                                                           TimeSpan?SelfCheckTimeSpan    = null,
                                                           UInt16 MaxAdminStatusListSize = VirtualChargingStation.DefaultMaxAdminStatusListSize,
                                                           UInt16 MaxStatusListSize      = VirtualChargingStation.DefaultMaxStatusListSize,
                                                           Action <ChargingStation> ChargingStationConfigurator = null,
                                                           Action <VirtualChargingStation> VirtualChargingStationConfigurator = null,
                                                           Action <ChargingStation> OnSuccess = null,
                                                           Action <ChargingPool, ChargingStation_Id> OnError = null)
        {
            #region Initial checks

            if (ChargingPool == null)
            {
                throw new ArgumentNullException(nameof(ChargingPool), "The given charging pool must not be null!");
            }

            #endregion

            return(ChargingPool.CreateChargingStation(ChargingStationId,
                                                      ChargingStationConfigurator,
                                                      newstation => {
                var virtualstation = new VirtualChargingStation(newstation.Id,
                                                                ChargingPool.RoamingNetwork,
                                                                Description,
                                                                InitialAdminStatus,
                                                                InitialStatus,
                                                                EllipticCurve,
                                                                PrivateKey,
                                                                PublicKeyCertificates,
                                                                SelfCheckTimeSpan,
                                                                MaxAdminStatusListSize,
                                                                MaxStatusListSize);

                VirtualChargingStationConfigurator?.Invoke(virtualstation);

                return virtualstation;
            },

                                                      OnSuccess: OnSuccess,
                                                      OnError:   OnError));
        }
コード例 #9
0
ファイル: GeoJSON_IO.cs プロジェクト: rsegovia/WWCP_Core
        public static JObject ToFeature(this ChargingPool ChargingPool,
                                        Func <ChargingPool, IEnumerable <JProperty> > PropertyCreator)

        {
            #region Initial checks

            if (ChargingPool == null)
            {
                throw new ArgumentNullException(nameof(ChargingPool), "The given charging pool must not be null!");
            }

            if (PropertyCreator == null)
            {
                throw new ArgumentNullException(nameof(PropertyCreator), "The given JSON property creator delegate must not be null!");
            }

            #endregion

            return(ChargingPool.ToFeature(new JObject(PropertyCreator(ChargingPool))));
        }
コード例 #10
0
 public Task <PushEVSEDataResult> UpdateStaticData(ChargingPool ChargingPool, string PropertyName = null, object OldValue = null, object NewValue = null, TransmissionTypes TransmissionType = TransmissionTypes.Enqueue, DateTime?Timestamp = null, CancellationToken?CancellationToken = null, EventTracking_Id EventTrackingId = null, TimeSpan?RequestTimeout = null)
 {
     throw new NotImplementedException();
 }
コード例 #11
0
 public Task <PushEVSEDataResult> SetStaticData(ChargingPool ChargingPool, TransmissionTypes TransmissionType = TransmissionTypes.Enqueue, DateTime?Timestamp = null, CancellationToken?CancellationToken = null, EventTracking_Id EventTrackingId = null, TimeSpan?RequestTimeout = null)
 {
     throw new NotImplementedException();
 }
コード例 #12
0
        /// <summary>
        /// Take a snapshot of the current charging pool status.
        /// </summary>
        /// <param name="ChargingPool">A charging pool.</param>
        public static ChargingPoolAdminStatusUpdate Snapshot(ChargingPool ChargingPool)

        => new ChargingPoolAdminStatusUpdate(ChargingPool.Id,
                                             ChargingPool.AdminStatus,
                                             ChargingPool.AdminStatusSchedule().Skip(1).FirstOrDefault());
コード例 #13
0
        /// <summary>
        /// Create a charge detail record for the given charging session (identification).
        /// </summary>
        /// <param name="SessionId">The unique charging session identification.</param>
        /// <param name="SessionTime">The timestamps when the charging session started and ended.</param>
        /// <param name="Duration">The duration of the charging session, whenever it is more than the time span between its start- and endtime, e.g. caused by a tariff granularity of 15 minutes.</param>
        ///
        /// <param name="EVSE">The EVSE used for charging.</param>
        /// <param name="EVSEId">The identification of the EVSE used for charging.</param>
        /// <param name="ChargingStation">The charging station of the charging station used for charging.</param>
        /// <param name="ChargingStationId">The identification of the charging station used for charging.</param>
        /// <param name="ChargingPool">The charging pool of the charging pool used for charging.</param>
        /// <param name="ChargingPoolId">The identification of the charging pool used for charging.</param>
        /// <param name="ChargingStationOperator">The charging station operator used for charging.</param>
        /// <param name="ChargingStationOperatorId">The identification of the charging station operator used for charging.</param>
        /// <param name="ChargingProduct">The consumed charging product.</param>
        /// <param name="ChargingPrice">The charging price.</param>
        ///
        /// <param name="AuthenticationStart">The authentication used for starting this charging process.</param>
        /// <param name="AuthenticationStop">The authentication used for stopping this charging process.</param>
        /// <param name="ProviderIdStart">The identification of the e-mobility provider used for starting this charging process.</param>
        /// <param name="ProviderIdStop">The identification of the e-mobility provider used for stopping this charging process.</param>
        ///
        /// <param name="Reservation">The optional charging reservation used before charging.</param>
        /// <param name="ReservationId">The optional charging reservation identification used before charging.</param>
        /// <param name="ReservationTime">Optional timestamps when the reservation started and ended.</param>
        ///
        /// <param name="ParkingSpaceId">The optional identification of the parkging space.</param>
        /// <param name="ParkingTime">Optional timestamps when the parking started and ended.</param>
        /// <param name="ParkingFee">The optional fee for parking.</param>
        ///
        /// <param name="EnergyMeterId">An optional unique identification of the energy meter.</param>
        /// <param name="EnergyMeteringValues">An optional enumeration of intermediate energy metering values.</param>
        ///
        /// <param name="CustomData">An optional dictionary of customer-specific data.</param>
        public ChargeDetailRecord(ChargingSession_Id SessionId,
                                  StartEndDateTime?SessionTime,
                                  TimeSpan?Duration = null,

                                  EVSE EVSE      = null,
                                  EVSE_Id?EVSEId = null,
                                  ChargingStation ChargingStation                      = null,
                                  ChargingStation_Id?ChargingStationId                 = null,
                                  ChargingPool ChargingPool                            = null,
                                  ChargingPool_Id?ChargingPoolId                       = null,
                                  ChargingStationOperator ChargingStationOperator      = null,
                                  ChargingStationOperator_Id?ChargingStationOperatorId = null,
                                  ChargingProduct ChargingProduct                      = null,
                                  Decimal?ChargingPrice = null,

                                  AAuthentication AuthenticationStart  = null,
                                  AAuthentication AuthenticationStop   = null,
                                  eMobilityProvider_Id?ProviderIdStart = null,
                                  eMobilityProvider_Id?ProviderIdStop  = null,

                                  ChargingReservation Reservation      = null,
                                  ChargingReservation_Id?ReservationId = null,
                                  StartEndDateTime?ReservationTime     = null,

                                  ParkingSpace_Id?ParkingSpaceId = null,
                                  StartEndDateTime?ParkingTime   = null,
                                  Decimal?ParkingFee             = null,

                                  EnergyMeter_Id?EnergyMeterId = null,
                                  IEnumerable <Timestamped <Single> > EnergyMeteringValues = null,
                                  IEnumerable <SignedMeteringValue> SignedMeteringValues   = null,
                                  IEnumerable <String> Signatures = null,

                                  IReadOnlyDictionary <String, Object> CustomData = null)

            : base(CustomData)

        {
            this.SessionId   = SessionId;
            this.SessionTime = SessionTime;
            this.Duration    = Duration;

            this.EVSE                      = EVSE;
            this.EVSEId                    = EVSEId ?? EVSE?.Id;
            this.ChargingStation           = ChargingStation;
            this.ChargingStationId         = ChargingStationId ?? ChargingStation?.Id;
            this.ChargingPool              = ChargingPool;
            this.ChargingPoolId            = ChargingPoolId ?? ChargingPool?.Id;
            this.ChargingStationOperator   = ChargingStationOperator;
            this.ChargingStationOperatorId = ChargingStationOperatorId ?? ChargingStationOperator?.Id;
            this.ChargingProduct           = ChargingProduct;
            this.ChargingPrice             = ChargingPrice;

            this.IdentificationStart = AuthenticationStart;
            this.IdentificationStop  = AuthenticationStop;
            this.ProviderIdStart     = ProviderIdStart;
            this.ProviderIdStop      = ProviderIdStop;

            this.Reservation     = Reservation;
            this.ReservationId   = ReservationId ?? Reservation?.Id;
            this.ReservationTime = ReservationTime;

            this.ParkingSpaceId = ParkingSpaceId;
            this.ParkingTime    = ParkingTime;
            this.ParkingFee     = ParkingFee;

            this.EnergyMeterId        = EnergyMeterId;
            this.EnergyMeteringValues = EnergyMeteringValues ?? new Timestamped <Single> [0];
            this.SignedMeteringValues = SignedMeteringValues ?? new SignedMeteringValue[0];
            this._Signatures          = Signatures.SafeAny()  ? new HashSet <String>(Signatures) : new HashSet <String>();

            if (SignedMeteringValues.SafeAny() && !EnergyMeteringValues.SafeAny())
            {
                this.EnergyMeteringValues = SignedMeteringValues.Select(svalue => new Timestamped <Single>(svalue.Timestamp,
                                                                                                           (Single)svalue.MeterValue));
            }
        }
コード例 #14
0
ファイル: ChargingPools.cs プロジェクト: rsegovia/WWCP_Core
        /// <summary>
        /// Return a JSON representation of the given charging pool.
        /// </summary>
        /// <param name="ChargingPool">A charging pool.</param>
        /// <param name="Embedded">Whether this data is embedded into another data structure, e.g. into a charging station operator.</param>
        public static JObject ToJSON(this ChargingPool ChargingPool,
                                     Boolean Embedded = false,
                                     InfoStatus ExpandRoamingNetworkId          = InfoStatus.ShowIdOnly,
                                     InfoStatus ExpandChargingStationOperatorId = InfoStatus.ShowIdOnly,
                                     InfoStatus ExpandChargingStationIds        = InfoStatus.Expand,
                                     InfoStatus ExpandEVSEIds      = InfoStatus.Hidden,
                                     InfoStatus ExpandBrandIds     = InfoStatus.ShowIdOnly,
                                     InfoStatus ExpandDataLicenses = InfoStatus.ShowIdOnly)


        => ChargingPool == null

                   ? null

                   : JSONObject.Create(

            ChargingPool.Id.ToJSON("@id"),

            Embedded
                             ? null
                             : new JProperty("@context", "https://open.charging.cloud/contexts/wwcp+json/ChargingPool"),

            ChargingPool.Name.IsNeitherNullNorEmpty()
                             ? ChargingPool.Name.ToJSON("name")
                             : null,

            ChargingPool.Description.IsNeitherNullNorEmpty()
                             ? ChargingPool.Description.ToJSON("description")
                             : null,

            ChargingPool.Brand != null
                             ? ExpandBrandIds.Switch(
                () => new JProperty("brandId", ChargingPool.Brand.Id.ToString()),
                () => new JProperty("brand", ChargingPool.Brand.ToJSON()))
                             : null,

            (!Embedded || ChargingPool.DataSource != ChargingPool.Operator.DataSource)
                             ? ChargingPool.DataSource.ToJSON("DataSource")
                             : null,

            ExpandDataLicenses.Switch(
                () => new JProperty("DataLicenseIds", new JArray(ChargingPool.DataLicenses.SafeSelect(license => license.Id.ToString()))),
                () => new JProperty("DataLicenses", ChargingPool.DataLicenses.ToJSON())),


            #region Embedded means it is served as a substructure of e.g. a charging station operator

            Embedded
                             ? null
                             : ExpandRoamingNetworkId.Switch(
                () => new JProperty("roamingNetworkId", ChargingPool.RoamingNetwork.Id.ToString()),
                () => new JProperty("roamingNetwork", ChargingPool.RoamingNetwork.ToJSON(Embedded:                          true,
                                                                                         ExpandChargingStationOperatorIds:  InfoStatus.Hidden,
                                                                                         ExpandChargingPoolIds:             InfoStatus.Hidden,
                                                                                         ExpandChargingStationIds:          InfoStatus.Hidden,
                                                                                         ExpandEVSEIds:                     InfoStatus.Hidden,
                                                                                         ExpandBrandIds:                    InfoStatus.Hidden,
                                                                                         ExpandDataLicenses:                InfoStatus.Hidden))),

            Embedded
                             ? null
                             : ExpandChargingStationOperatorId.Switch(
                () => new JProperty("chargingStationOperatorperatorId", ChargingPool.Operator.Id.ToString()),
                () => new JProperty("chargingStationOperatorperator", ChargingPool.Operator.ToJSON(Embedded:                          true,
                                                                                                   ExpandRoamingNetworkId:            InfoStatus.Hidden,
                                                                                                   ExpandChargingPoolIds:             InfoStatus.Hidden,
                                                                                                   ExpandChargingStationIds:          InfoStatus.Hidden,
                                                                                                   ExpandEVSEIds:                     InfoStatus.Hidden,
                                                                                                   ExpandBrandIds:                    InfoStatus.Hidden,
                                                                                                   ExpandDataLicenses:                InfoStatus.Hidden))),

            #endregion

            ChargingPool.GeoLocation.ToJSON("geoLocation"),
            ChargingPool.Address.ToJSON("address"),
            ChargingPool.AuthenticationModes.ToJSON("authenticationModes"),
            ChargingPool.HotlinePhoneNumber.ToJSON("hotlinePhoneNumber"),
            ChargingPool.OpeningTimes.ToJSON("openingTimes"),


            ExpandChargingStationIds.Switch(
                () => new JProperty("chargingStationIds",
                                    ChargingPool.ChargingStationIds().SafeAny()
                                                     ? new JArray(ChargingPool.ChargingStationIds().
                                                                  OrderBy(stationId => stationId).
                                                                  Select(stationId => stationId.ToString()))
                                                     : new JArray()),

                () => new JProperty("chargingStations",
                                    ChargingPool.ChargingStations.SafeAny()
                                                     ? new JArray(ChargingPool.ChargingStations.
                                                                  OrderBy(station => station.Id).
                                                                  ToJSON(Embedded:      true,
                                                                         ExpandEVSEIds: InfoStatus.Expand))
                                                     : new JArray())),


            ExpandChargingStationIds == InfoStatus.Expand
                             ? null
                             : ExpandEVSEIds.Switch(
                () => new JProperty("EVSEIds",
                                    ChargingPool.EVSEIds.SafeAny()
                                                           ? new JArray(ChargingPool.EVSEIds.
                                                                        OrderBy(evseId => evseId).
                                                                        Select(evseId => evseId.ToString()))
                                                           : new JArray()),

                () => new JProperty("EVSEs",
                                    ChargingPool.EVSEs.SafeAny()
                                                           ? new JArray(ChargingPool.EVSEs.
                                                                        OrderBy(evse => evse.Id).
                                                                        Select(evse => evse.ToJSON(Embedded: true)))
                                                           : new JArray()))

            );
コード例 #15
0
ファイル: GeoJSON_IO.cs プロジェクト: rsegovia/WWCP_Core
        public static JObject ToFeature(this ChargingPool ChargingPool,
                                        JObject Properties = null)

        {
            #region Initial checks

            if (ChargingPool == null)
            {
                throw new ArgumentNullException(nameof(ChargingPool), "The given charging pool must not be null!");
            }

            #endregion

            #region Documentation

            // {
            //
            //   [...]
            //
            //   {
            //     "type": "Feature",
            //     "properties": {},
            //     "geometry": {
            //       "type": "Point",
            //       "coordinates": [
            //         10.579833984375,
            //         50.48197825997291
            //       ]
            //     }
            //   }
            //
            // }

            #endregion

            return(new JObject(

                       new JProperty("type", "Feature"),

                       new JProperty("properties", Properties ?? new JObject(

                                         new JProperty("LastChange", ChargingPool.LastChange),
                                         new JProperty("UserComment", ""),
                                         new JProperty("ServiceProviderComment", ""),
                                         new JProperty("Features", new JArray()),
                                         new JProperty("AuthorizationOptions", new JArray()),
                                         new JProperty("Photos", new JArray()),

                                         new JProperty("EVSEs", new JObject(
                                                           ChargingPool.EVSEs.Select(evse => new JProperty(evse.Id.ToString(), "lala"))
                                                           ))

                                         )),

                       new JProperty("geometry", new JObject(
                                         new JProperty("type", "Point"),
                                         new JProperty("coordinates", new JArray(
                                                           ChargingPool.GeoLocation.Value.Longitude.Value,
                                                           ChargingPool.GeoLocation.Value.Latitude.Value
                                                           ))
                                         ))
                       ));
        }
コード例 #16
0
 public Task <Acknowledgement> PushEVSEData(ChargingPool ChargingPool, ActionType ActionType = ActionType.fullLoad, EVSEOperator_Id OperatorId = null, string OperatorName = null, Func <EVSE, bool> IncludeEVSEs = null, TimeSpan?QueryTimeout = default(TimeSpan?))
 {
     throw new NotImplementedException();
 }
コード例 #17
0
        /// <summary>
        /// Take a snapshot of the current charging pool status.
        /// </summary>
        /// <param name="ChargingPool">A charging pool.</param>
        public static ChargingPoolStatus Snapshot(ChargingPool ChargingPool)

        => new ChargingPoolStatus(ChargingPool.Id,
                                  ChargingPool.Status);
コード例 #18
0
 public Task <Acknowledgement> PushEVSEStatus(ChargingPool ChargingPool, ActionType ActionType = ActionType.update, EVSEOperator_Id OperatorId = null, string OperatorName = null, Func <EVSE, bool> IncludeEVSEs = null, TimeSpan?QueryTimeout = default(TimeSpan?))
 {
     return(Task.FromResult(new Acknowledgement(true)));
 }