Class AbstractGenericManagedEss<ESS extends SymmetricEss,​BATTERY extends Battery,​BATTERY_INVERTER extends ManagedSymmetricBatteryInverter>

    • Field Detail

      • startStopTarget

        protected final java.util.concurrent.atomic.AtomicReference<StartStop> startStopTarget
    • Constructor Detail

      • AbstractGenericManagedEss

        protected AbstractGenericManagedEss​(ChannelId[] firstInitialChannelIds,
                                            ChannelId[]... furtherInitialChannelIds)
    • Method Detail

      • getComponentManager

        protected abstract ComponentManager getComponentManager()
      • getBattery

        protected abstract BATTERY getBattery()
      • activate

        protected void activate​(org.osgi.service.component.ComponentContext context,
                                java.lang.String id,
                                java.lang.String alias,
                                boolean enabled)
        Description copied from class: AbstractOpenemsComponent
        Handles @Activate of implementations. Prints log output.
        Overrides:
        activate in class AbstractOpenemsComponent
        Parameters:
        context - the OSGi ComponentContext
        id - the unique OpenEMS Component ID
        alias - Human-readable name of this Component. Typically 'config.alias()'. Defaults to 'id' if empty
        enabled - is the Component enabled?
      • activate

        protected void activate​(org.osgi.service.component.ComponentContext context,
                                java.lang.String id,
                                java.lang.String alias,
                                boolean enabled,
                                org.osgi.service.cm.ConfigurationAdmin cm,
                                java.lang.String batteryInverterId,
                                java.lang.String batteryId,
                                StartStopConfig startStop)
      • handleEvent

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

        protected abstract void handleStateMachine()
        Handles the State-Machine.
      • genericDebugLog

        protected java.lang.StringBuilder genericDebugLog()
      • getPowerPrecision

        public int getPowerPrecision()
        Retrieves PowerPrecision from SymmetricBatteryInverter. 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
      • getSurplusPower

        public java.lang.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
      • 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
      • isOffGridPossible

        public boolean isOffGridPossible()
        Description copied from interface: OffGridEss
        Gets a boolean if the ess is able to build a micro-grid in off-grid.

        Returns false if the ess is not able to build a micro-grid.

        Specified by:
        isOffGridPossible in interface OffGridEss
        Returns:
        is managed or not