use of com.alliander.osgp.adapter.protocol.iec61850.domain.valueobjects.EventType in project Protocol-Adapter-IEC61850 by OSGP.
the class Iec61850ClientSSLDEventListener method determineEventType.
private EventTypeDto determineEventType(final FcModelNode evnRpn, final String reportDescription) {
final BdaInt8U evnTypeNode = (BdaInt8U) evnRpn.getChild(EVENT_NODE_EVENT_TYPE);
if (evnTypeNode == null) {
throw this.childNodeNotAvailableException(evnRpn, EVENT_NODE_EVENT_TYPE, reportDescription);
}
final short evnTypeCode = evnTypeNode.getValue();
final EventType eventType = EventType.forCode(evnTypeCode);
return eventType.getOsgpEventType();
}
use of com.alliander.osgp.adapter.protocol.iec61850.domain.valueobjects.EventType in project Protocol-Adapter-IEC61850 by OSGP.
the class Iec61850SetEventNotificationFilterCommand method setEventNotificationFilterOnDevice.
public void setEventNotificationFilterOnDevice(final Iec61850Client iec61850Client, final DeviceConnection deviceConnection, final String filter) throws ProtocolAdapterException {
final Function<Void> function = new Function<Void>() {
@Override
public Void apply(final DeviceMessageLog deviceMessageLog) throws Exception {
LOGGER.info("Setting the event notification filter");
final NodeContainer eventBufferConfiguration = deviceConnection.getFcModelNode(LogicalDevice.LIGHTING, LogicalNode.STREET_LIGHT_CONFIGURATION, DataAttribute.EVENT_BUFFER, Fc.CF);
iec61850Client.readNodeDataValues(deviceConnection.getConnection().getClientAssociation(), eventBufferConfiguration.getFcmodelNode());
LOGGER.info("Updating the enabled EventType filter to {}", filter);
eventBufferConfiguration.writeString(SubDataAttribute.EVENT_BUFFER_FILTER, filter);
deviceMessageLog.addVariable(LogicalNode.STREET_LIGHT_CONFIGURATION, DataAttribute.EVENT_BUFFER, Fc.CF, SubDataAttribute.EVENT_BUFFER_FILTER, filter);
DeviceMessageLoggingService.logMessage(deviceMessageLog, deviceConnection.getDeviceIdentification(), deviceConnection.getOrganisationIdentification(), false);
return null;
}
};
iec61850Client.sendCommandWithRetry(function, "SetEventNoficationFilter", deviceConnection.getDeviceIdentification());
}
Aggregations