Package io.openems.edge.meter.sunspec
Class AbstractSunSpecMeter
- java.lang.Object
-
- io.openems.edge.common.component.AbstractOpenemsComponent
-
- io.openems.edge.bridge.modbus.api.AbstractOpenemsModbusComponent
-
- io.openems.edge.bridge.modbus.sunspec.AbstractOpenemsSunSpecComponent
-
- io.openems.edge.meter.sunspec.AbstractSunSpecMeter
-
- All Implemented Interfaces:
ModbusComponent
,OpenemsComponent
,AsymmetricMeter
,SymmetricMeter
- Direct Known Subclasses:
SolarEdgeGridMeter
public abstract class AbstractSunSpecMeter extends AbstractOpenemsSunSpecComponent implements AsymmetricMeter, SymmetricMeter, OpenemsComponent
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.openems.edge.bridge.modbus.api.AbstractOpenemsModbusComponent
AbstractOpenemsModbusComponent.BitConverter, AbstractOpenemsModbusComponent.ChannelMapper<T extends AbstractModbusElement<?>>
-
Nested classes/interfaces inherited from interface io.openems.edge.meter.api.AsymmetricMeter
AsymmetricMeter.ChannelId
-
Nested classes/interfaces inherited from interface io.openems.edge.bridge.modbus.api.ModbusComponent
ModbusComponent.ChannelId
-
Nested classes/interfaces inherited from interface io.openems.edge.common.component.OpenemsComponent
OpenemsComponent.ChannelId
-
Nested classes/interfaces inherited from interface io.openems.edge.meter.api.SymmetricMeter
SymmetricMeter.ChannelId
-
-
Field Summary
-
Fields inherited from interface io.openems.edge.meter.api.AsymmetricMeter
POWER_DOC_TEXT
-
-
Constructor Summary
Constructors Constructor Description AbstractSunSpecMeter(java.util.Map<SunSpecModel,Priority> activeModels, ChannelId[] firstInitialChannelIds, ChannelId[]... furtherInitialChannelIds)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
activate(org.osgi.service.component.ComponentContext context, java.lang.String id, java.lang.String alias, boolean enabled, int unitId, org.osgi.service.cm.ConfigurationAdmin cm, java.lang.String modbusReference, java.lang.String modbusId, int readFromCommonBlockNo)
Make sure to call this method from the inheriting OSGi Component.protected void
deactivate()
Make sure to call this method from the inheriting OSGi Component.java.lang.String
debugLog()
Gets some output that is suitable for a continuous Debug log.protected <T extends Channel<?>>
java.util.Optional<T>getSunSpecChannel(SunSpecPoint point)
Get the Channel for the given Point.protected <T extends Channel<?>>
TgetSunSpecChannelOrError(SunSpecPoint point)
Get the Channel for the given Point or throw an error if it is not available.protected void
onSunSpecInitializationCompleted()
This method is called after the SunSpec initialization was completed.-
Methods inherited from class io.openems.edge.bridge.modbus.sunspec.AbstractOpenemsSunSpecComponent
activate, addBlock, defineModbusProtocol, getSunSpecModel, isSunSpecInitializationCompleted, mapFirstPointToChannel
-
Methods inherited from class io.openems.edge.bridge.modbus.api.AbstractOpenemsModbusComponent
activate, activate, getBridgeModbus, getModbusProtocol, getUnitId, m, m, m, m, m, m, modified, modified, setModbus, unsetModbus
-
Methods inherited from class io.openems.edge.common.component.AbstractOpenemsComponent
_channel, addChannel, addChannels, addChannels, alias, channels, getComponentContext, id, isEnabled, logDebug, logError, logInfo, logWarn, removeChannel
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.openems.edge.meter.api.AsymmetricMeter
_setActiveConsumptionEnergyL1, _setActiveConsumptionEnergyL1, _setActiveConsumptionEnergyL2, _setActiveConsumptionEnergyL2, _setActiveConsumptionEnergyL3, _setActiveConsumptionEnergyL3, _setActivePowerL1, _setActivePowerL1, _setActivePowerL2, _setActivePowerL2, _setActivePowerL3, _setActivePowerL3, _setActiveProductionEnergyL1, _setActiveProductionEnergyL1, _setActiveProductionEnergyL2, _setActiveProductionEnergyL2, _setActiveProductionEnergyL3, _setActiveProductionEnergyL3, _setCurrentL1, _setCurrentL1, _setCurrentL2, _setCurrentL2, _setCurrentL3, _setCurrentL3, _setReactivePowerL1, _setReactivePowerL1, _setReactivePowerL2, _setReactivePowerL2, _setReactivePowerL3, _setReactivePowerL3, _setVoltageL1, _setVoltageL1, _setVoltageL2, _setVoltageL2, _setVoltageL3, _setVoltageL3, getActiveConsumptionEnergyL1, getActiveConsumptionEnergyL1Channel, getActiveConsumptionEnergyL2, getActiveConsumptionEnergyL2Channel, getActiveConsumptionEnergyL3, getActiveConsumptionEnergyL3Channel, getActivePowerL1, getActivePowerL1Channel, getActivePowerL2, getActivePowerL2Channel, getActivePowerL3, getActivePowerL3Channel, getActiveProductionEnergyL1, getActiveProductionEnergyL1Channel, getActiveProductionEnergyL2, getActiveProductionEnergyL2Channel, getActiveProductionEnergyL3, getActiveProductionEnergyL3Channel, getCurrentL1, getCurrentL1Channel, getCurrentL2, getCurrentL2Channel, getCurrentL3, getCurrentL3Channel, getReactivePowerL1, getReactivePowerL1Channel, getReactivePowerL2, getReactivePowerL2Channel, getReactivePowerL3, getReactivePowerL3Channel, getVoltageL1, getVoltageL1Channel, getVoltageL2, getVoltageL2Channel, getVoltageL3, getVoltageL3Channel
-
Methods inherited from interface io.openems.edge.bridge.modbus.api.ModbusComponent
_setModbusCommunicationFailed, getModbusCommunicationFailed, getModbusCommunicationFailedChannel
-
Methods inherited from interface io.openems.edge.common.component.OpenemsComponent
_channel, _getChannelAs, alias, channel, channel, channels, getComponentContext, getState, getStateChannel, hasFaults, id, isEnabled, serviceFactoryPid, servicePid
-
Methods inherited from interface io.openems.edge.meter.api.SymmetricMeter
_setActiveConsumptionEnergy, _setActiveConsumptionEnergy, _setActivePower, _setActivePower, _setActiveProductionEnergy, _setActiveProductionEnergy, _setCurrent, _setCurrent, _setFrequency, _setFrequency, _setMaxActivePower, _setMaxActivePower, _setMinActivePower, _setMinActivePower, _setReactivePower, _setReactivePower, _setVoltage, _setVoltage, getActiveConsumptionEnergy, getActiveConsumptionEnergyChannel, getActivePower, getActivePowerChannel, getActiveProductionEnergy, getActiveProductionEnergyChannel, getCurrent, getCurrentChannel, getFrequency, getFrequencyChannel, getMaxActivePower, getMaxActivePowerChannel, getMeterType, getMinActivePower, getMinActivePowerChannel, getReactivePower, getReactivePowerChannel, getVoltage, getVoltageChannel
-
-
-
-
Constructor Detail
-
AbstractSunSpecMeter
public AbstractSunSpecMeter(java.util.Map<SunSpecModel,Priority> activeModels, ChannelId[] firstInitialChannelIds, ChannelId[]... furtherInitialChannelIds) throws OpenemsException
- Throws:
OpenemsException
-
-
Method Detail
-
activate
protected boolean activate(org.osgi.service.component.ComponentContext context, java.lang.String id, java.lang.String alias, boolean enabled, int unitId, org.osgi.service.cm.ConfigurationAdmin cm, java.lang.String modbusReference, java.lang.String modbusId, int readFromCommonBlockNo) throws OpenemsException
Make sure to call this method from the inheriting OSGi Component.- Overrides:
activate
in classAbstractOpenemsSunSpecComponent
- Throws:
OpenemsException
- on error
-
deactivate
protected void deactivate()
Make sure to call this method from the inheriting OSGi Component.- Overrides:
deactivate
in classAbstractOpenemsModbusComponent
-
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 interfaceOpenemsComponent
- Returns:
- the debug log output
-
onSunSpecInitializationCompleted
protected void onSunSpecInitializationCompleted()
Description copied from class:AbstractOpenemsSunSpecComponent
This method is called after the SunSpec initialization was completed.The purpose of this method is to add mappings between SunSpec Channel-Points to OpenEMS Nature Channels.
- Specified by:
onSunSpecInitializationCompleted
in classAbstractOpenemsSunSpecComponent
-
getSunSpecChannel
protected <T extends Channel<?>> java.util.Optional<T> getSunSpecChannel(SunSpecPoint point)
Description copied from class:AbstractOpenemsSunSpecComponent
Get the Channel for the given Point.- Overrides:
getSunSpecChannel
in classAbstractOpenemsSunSpecComponent
- Type Parameters:
T
- the Channel type- Parameters:
point
- the SunSpec Point- Returns:
- the optional Channel
-
getSunSpecChannelOrError
protected <T extends Channel<?>> T getSunSpecChannelOrError(SunSpecPoint point) throws OpenemsException
Description copied from class:AbstractOpenemsSunSpecComponent
Get the Channel for the given Point or throw an error if it is not available.- Overrides:
getSunSpecChannelOrError
in classAbstractOpenemsSunSpecComponent
- Type Parameters:
T
- the Channel type- Parameters:
point
- the SunSpec Point- Returns:
- the optional Channel
- Throws:
OpenemsException
- if Channel is not available
-
-