Class EssGridcon

    • Constructor Detail

      • EssGridcon

        public EssGridcon​(ChannelId[] otherChannelIds)
    • Method Detail

      • getComponentManager

        protected abstract ComponentManager getComponentManager()
      • activate

        protected void activate​(org.osgi.service.component.ComponentContext context,
                                java.lang.String id,
                                java.lang.String alias,
                                boolean enabled,
                                java.lang.String gridconId,
                                java.lang.String bmsA,
                                java.lang.String bmsB,
                                java.lang.String bmsC,
                                float offsetCurrent)
                         throws OpenemsError.OpenemsNamedException
        Throws:
        OpenemsError.OpenemsNamedException
      • getFirstGeneralStateObjectUndefined

        protected abstract StateObject getFirstGeneralStateObjectUndefined()
      • initializeStateController

        protected abstract void initializeStateController​(java.lang.String gridconPcs,
                                                          java.lang.String b1,
                                                          java.lang.String b2,
                                                          java.lang.String b3)
      • handleEvent

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

        protected abstract void writeStateMachineToChannel()
      • calculateActiveAndReactivePower

        protected void calculateActiveAndReactivePower()
      • 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
      • 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
      • calculateAllowedPower

        protected void calculateAllowedPower()
        Handles Battery data, i.e. setting allowed charge/discharge power.
      • calculateSoc

        protected void calculateSoc()
        Calculates the StateObject-of-charge of all Batteries; if all batteries are available. Otherwise sets UNDEFINED.
      • calculateCapacity

        protected void calculateCapacity()
      • debugLog

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

        protected java.util.Collection<Battery> getBatteries()
        Gets all Batteries.
        Returns:
        a collection of Batteries; guaranteed to be not-null.