Class EconomicControlEvent

  • All Implemented Interfaces:
    ValidatableMessage

    @Domain(fields={"tariffId","curtailmentRatio","timeslotIndex"})
    public class EconomicControlEvent
    extends ControlEvent
    Message sent by a broker to the subscribers to a particular tariff, requesting them to adjust usage against that tariff in the specified timeslot. The curtailmentRatio parameter specifies the portion of total usage that will be curtailed for that timeslot, but the actual curtailment is also constrained by the Rate in effect during that timeslot, so it might be less. Customer models can interpret this ratio in two ways: First, it might be that an individual customer reduces usage by that amount over what would have been used otherwise; second, it might be that the specified proportion of the population represented by the customer model is completely curtailed during that timeslot. If the applicable tariff has one or more RegulationRates, then the curtailmentRatio value can be used to withdraw energy from storage (1.0 < ratio <= 2.0), or to deposit energy in storage, thereby increasing the load (0.0 > ratio >= -1.0). Of course, giving ratio > 1.0 for anything other than a battery-like load will act like ratio = 1.0. State log fields for readResolve():
    new(long tariffId, double curtailmentRatio, long timeslotIndex)
    Author:
    John Collins
    • Constructor Detail

      • EconomicControlEvent

        public EconomicControlEvent​(TariffSpecification tariff,
                                    double curtailmentRatio,
                                    int timeslotIndex)
        Creates a new EconomicControlEvent to take effect in the following timeslot. Package visibility reflects the fact that this is intended to be called by the factory method in ControlEvent.
      • EconomicControlEvent

        protected EconomicControlEvent()
    • Method Detail

      • getCurtailmentRatio

        public double getCurtailmentRatio()