Package io.openems.edge.timedata.rrd4j
Class TimedataRrd4jImpl
java.lang.Object
io.openems.edge.common.component.AbstractOpenemsComponent
io.openems.edge.timedata.rrd4j.TimedataRrd4jImpl
- All Implemented Interfaces:
CommonTimedataService
,OpenemsComponent
,Timedata
,TimedataRrd4j
,org.osgi.service.event.EventHandler
public final class TimedataRrd4jImpl
extends AbstractOpenemsComponent
implements TimedataRrd4j, Timedata, OpenemsComponent, org.osgi.service.event.EventHandler
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.openems.edge.common.component.OpenemsComponent
OpenemsComponent.ChannelId
Nested classes/interfaces inherited from interface io.openems.edge.timedata.api.Timedata
Timedata.ChannelId
Nested classes/interfaces inherited from interface io.openems.edge.timedata.rrd4j.TimedataRrd4j
TimedataRrd4j.ChannelId
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Handles @Deactivate of implementations.getLatestValue
(ChannelAddress channelAddress) Gets the latest known value for the givenChannelAddress
.getResendTimeranges
(ChannelAddress notSendChannel, long lastResendTimestamp) Gets theTimeranges
to data which got not send.void
handleEvent
(org.osgi.service.event.Event event) SortedMap
<ZonedDateTime, SortedMap<ChannelAddress, com.google.gson.JsonElement>> queryHistoricData
(String edgeId, ZonedDateTime fromDate, ZonedDateTime toDate, Set<ChannelAddress> channels, Resolution resolution) Queries historic data.SortedMap
<ChannelAddress, com.google.gson.JsonElement> queryHistoricEnergy
(String edgeId, ZonedDateTime fromDate, ZonedDateTime toDate, Set<ChannelAddress> channels) Queries historic energy.SortedMap
<ZonedDateTime, SortedMap<ChannelAddress, com.google.gson.JsonElement>> queryHistoricEnergyPerPeriod
(String edgeId, ZonedDateTime fromDate, ZonedDateTime toDate, Set<ChannelAddress> channels, Resolution resolution) Queries historic energy per period.SortedMap
<Long, SortedMap<ChannelAddress, com.google.gson.JsonElement>> queryResendData
(ZonedDateTime fromDate, ZonedDateTime toDate, Set<ChannelAddress> channels) Queries data to resend.Methods inherited from class io.openems.edge.common.component.AbstractOpenemsComponent
_channel, activate, activate, addChannel, addChannels, addChannels, alias, channels, getComponentContext, id, isEnabled, logDebug, logError, logInfo, logWarn, modified, 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.common.timedata.CommonTimedataService
handleQueryHistoricTimeseriesExportXlxsRequest, queryHistoricData
Methods inherited from interface io.openems.edge.common.component.OpenemsComponent
_channel, _getChannelAs, alias, channel, channel, channels, debugLog, getComponentContext, getState, getStateChannel, hasFaults, id, isEnabled, serviceFactoryPid, servicePid
Methods inherited from interface io.openems.edge.timedata.rrd4j.TimedataRrd4j
_setQueueIsFull, _setUnableToInsertSample, getQueueIsFull, getQueueIsFullChannel, getUnableToInsertSample, getUnableToInsertSampleChannel
-
Constructor Details
-
TimedataRrd4jImpl
public TimedataRrd4jImpl()
-
-
Method Details
-
deactivate
protected void deactivate()Description copied from class:AbstractOpenemsComponent
Handles @Deactivate of implementations. Prints log output.- Overrides:
deactivate
in classAbstractOpenemsComponent
-
getResendTimeranges
public Timeranges getResendTimeranges(ChannelAddress notSendChannel, long lastResendTimestamp) throws OpenemsError.OpenemsNamedException Description copied from interface:Timedata
Gets theTimeranges
to data which got not send. The not send data gets determined with the notSendChannel and the lastResendTimestamp.- Specified by:
getResendTimeranges
in interfaceTimedata
- Parameters:
notSendChannel
- the channel with the timestamps where the data got not sendlastResendTimestamp
- the timestamp of the last resend; negativ if there is no lastResendTimestamp- Returns:
- the
Timeranges
- Throws:
OpenemsError.OpenemsNamedException
- on error
-
queryResendData
public SortedMap<Long,SortedMap<ChannelAddress, queryResendDatacom.google.gson.JsonElement>> (ZonedDateTime fromDate, ZonedDateTime toDate, Set<ChannelAddress> channels) throws OpenemsError.OpenemsNamedException Description copied from interface:Timedata
Queries data to resend.- Specified by:
queryResendData
in interfaceTimedata
- Parameters:
fromDate
- the start datetoDate
- the end datechannels
- the channels to resend- Returns:
- the query result; possibly null
- Throws:
OpenemsError.OpenemsNamedException
- on error
-
queryHistoricData
public SortedMap<ZonedDateTime,SortedMap<ChannelAddress, queryHistoricDatacom.google.gson.JsonElement>> (String edgeId, ZonedDateTime fromDate, ZonedDateTime toDate, Set<ChannelAddress> channels, Resolution resolution) throws OpenemsError.OpenemsNamedException Description copied from interface:CommonTimedataService
Queries historic data.- Specified by:
queryHistoricData
in interfaceCommonTimedataService
- Parameters:
edgeId
- the Edge-ID; or null query allfromDate
- the From-DatetoDate
- the To-Datechannels
- the Channelsresolution
- theResolution
- Returns:
- the query result; possibly null
- Throws:
OpenemsError.OpenemsNamedException
-
queryHistoricEnergy
public SortedMap<ChannelAddress,com.google.gson.JsonElement> queryHistoricEnergy(String edgeId, ZonedDateTime fromDate, ZonedDateTime toDate, Set<ChannelAddress> channels) throws OpenemsError.OpenemsNamedException Description copied from interface:CommonTimedataService
Queries historic energy.- Specified by:
queryHistoricEnergy
in interfaceCommonTimedataService
- Parameters:
edgeId
- the Edge-ID; or null query allfromDate
- the From-DatetoDate
- the To-Datechannels
- the Channels- Returns:
- the query result; possibly null
- Throws:
OpenemsError.OpenemsNamedException
-
queryHistoricEnergyPerPeriod
public SortedMap<ZonedDateTime,SortedMap<ChannelAddress, queryHistoricEnergyPerPeriodcom.google.gson.JsonElement>> (String edgeId, ZonedDateTime fromDate, ZonedDateTime toDate, Set<ChannelAddress> channels, Resolution resolution) throws OpenemsError.OpenemsNamedException Description copied from interface:CommonTimedataService
Queries historic energy per period.This is for use-cases where you want to get the energy for each period (with
Resolution
) per Channel, e.g. to visualize energy in a histogram chart. For each period the energy is calculated by subtracting first value of the period from the last value of the period.- Specified by:
queryHistoricEnergyPerPeriod
in interfaceCommonTimedataService
- Parameters:
edgeId
- the Edge-ID; or null query allfromDate
- the From-DatetoDate
- the To-Datechannels
- the Channelsresolution
- theResolution
- Returns:
- the query result; possibly null
- Throws:
OpenemsError.OpenemsNamedException
-
getLatestValue
Description copied from interface:Timedata
Gets the latest known value for the givenChannelAddress
.- Specified by:
getLatestValue
in interfaceTimedata
- Parameters:
channelAddress
- the ChannelAddress to be queried- Returns:
- the latest known value or Empty
-
handleEvent
public void handleEvent(org.osgi.service.event.Event event) - Specified by:
handleEvent
in interfaceorg.osgi.service.event.EventHandler
-