Class KacoBlueplanetHybrid10EssImpl

java.lang.Object
io.openems.edge.common.component.AbstractOpenemsComponent
io.openems.edge.kaco.blueplanet.hybrid10.ess.KacoBlueplanetHybrid10EssImpl
All Implemented Interfaces:
OpenemsComponent, ModbusSlave, HybridEss, ManagedSymmetricEss, SymmetricEss, KacoBlueplanetHybrid10Ess, TimedataProvider, org.osgi.service.event.EventHandler

public class KacoBlueplanetHybrid10EssImpl extends AbstractOpenemsComponent implements KacoBlueplanetHybrid10Ess, HybridEss, ManagedSymmetricEss, SymmetricEss, OpenemsComponent, TimedataProvider, org.osgi.service.event.EventHandler, ModbusSlave
  • Constructor Details

    • KacoBlueplanetHybrid10EssImpl

      public KacoBlueplanetHybrid10EssImpl()
  • Method Details

    • deactivate

      protected void deactivate()
      Description copied from class: AbstractOpenemsComponent
      Handles @Deactivate of implementations. Prints log output.
      Overrides:
      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
      Returns:
      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
      Returns:
      the Power instance
    • applyPower

      public void applyPower(int activePower, int reactivePower)
      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
      Parameters:
      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
      Returns:
      the power precision
    • getStaticConstraints

      public Constraint[] getStaticConstraints() throws OpenemsException
      Description copied from interface: ManagedSymmetricEss
      Gets static Constraints for this Ess. Override this method to provide specific Constraints for this Ess on every Cycle.
      Specified by:
      getStaticConstraints in interface ManagedSymmetricEss
      Returns:
      the Constraints
      Throws:
      OpenemsException - on error
    • getTimedata

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

      public Integer getSurplusPower()
      Description copied from interface: HybridEss
      Gets the Surplus Power of the EssDcChargers of this HybridEss.

      This value is usually calculated from the EssDcCharger.getActualPower() when the battery is full. It is used by the Ess.Hybrid.Surplus-Feed-To-Grid Controller to feed the surplus power to grid.

      Specified by:
      getSurplusPower in interface HybridEss
      Returns:
      the surplus power, or 'null' if there is no surplus power
    • isManaged

      public boolean isManaged()
      Description copied from interface: ManagedSymmetricEss
      Gets a boolean if the ess is managed or not.

      Returns false if the ess itself is not managed or in a read only mode.

      Specified by:
      isManaged in interface ManagedSymmetricEss
      Returns:
      is managed or not
    • 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
      Parameters:
      accessMode - filters the Modbus-Records that should be shown
      Returns:
      the Modbus-Slave-Table