Class SimulatorEssSymmetricReactingImpl

All Implemented Interfaces:
OpenemsComponent, ModbusSlave, StartStoppable, ManagedSymmetricEss, SymmetricEss, SimulatorEssSymmetricReacting, TimedataProvider, org.osgi.service.event.EventHandler

public class SimulatorEssSymmetricReactingImpl extends AbstractOpenemsComponent implements SimulatorEssSymmetricReacting, ManagedSymmetricEss, SymmetricEss, OpenemsComponent, TimedataProvider, org.osgi.service.event.EventHandler, StartStoppable, ModbusSlave
  • Constructor Details

    • SimulatorEssSymmetricReactingImpl

      public SimulatorEssSymmetricReactingImpl()
  • Method Details

    • deactivate

      protected void deactivate()
      Description copied from class: AbstractOpenemsComponent
      Handles @Deactivate of implementations. Prints log output.
      deactivate in class AbstractOpenemsComponent
    • handleEvent

      public void handleEvent(org.osgi.service.event.Event event)
      Specified by:
      handleEvent in interface org.osgi.service.event.EventHandler
    • debugLog

      public String debugLog()
      Description copied from interface: OpenemsComponent
      Gets some output that is suitable for a continuous Debug log. Returns 'null' by default which causes no output.
      Specified by:
      debugLog in interface OpenemsComponent
      the debug log output
    • getPower

      public Power getPower()
      Description copied from interface: ManagedSymmetricEss
      Gets an instance of the 'Power' class, which allows to set limitations to Active and Reactive Power.
      Specified by:
      getPower in interface ManagedSymmetricEss
      the Power instance
    • applyPower

      public void applyPower(int activePower, int reactivePower) throws OpenemsException
      Description copied from interface: ManagedSymmetricEss
      Apply the calculated Power.

      Careful: do not adjust activePower and reactivePower in this method, e.g. setting it to zero on error. The purpose of this method is solely to apply the calculated power to the ESS. If you need to constrain the allowed power, add Constraints using the ManagedSymmetricEss.getStaticConstraints() method.

      Specified by:
      applyPower in interface ManagedSymmetricEss
      activePower - the active power in [W]
      reactivePower - the reactive power in [var]
    • getPowerPrecision

      public int getPowerPrecision()
      Description copied from interface: ManagedSymmetricEss
      Gets the smallest positive power that can be set (in W, VA or var). Example:
      • FENECON Commercial 40 allows setting of power in 100 W steps. It should return 100.
      • KACO blueplanet gridsave 50 allows setting of power in 0.1 % of 52 VA. It should return 52 (= 52000 * 0.001)
      Specified by:
      getPowerPrecision in interface ManagedSymmetricEss
      the power precision
    • getModbusSlaveTable

      public ModbusSlaveTable getModbusSlaveTable(AccessMode accessMode)
      Description copied from interface: ModbusSlave
      Gets the Modbus-Slave-Table for this OpenEMS-Component.
      Specified by:
      getModbusSlaveTable in interface ModbusSlave
      accessMode - filters the Modbus-Records that should be shown
      the Modbus-Slave-Table
    • getTimedata

      public Timedata getTimedata()
      Description copied from interface: TimedataProvider
      Gets the Timedata service.
      Specified by:
      getTimedata in interface TimedataProvider
      the service or null if it is not (yet) available.
    • setStartStop

      public void setStartStop(StartStop value)
      Description copied from interface: StartStoppable
      Starts or stops the device or service represented by this OpenEMS Component.
      Specified by:
      setStartStop in interface StartStoppable
      value - target StartStop state