use of org.opensmartgridplatform.dto.valueobjects.microgrids.GetDataSystemIdentifierDto in project open-smart-grid-platform by OSGP.
the class Iec61850PqSystemService method getData.
@Override
public GetDataSystemIdentifierDto getData(final SystemFilterDto systemFilter, final Iec61850Client client, final DeviceConnection connection) throws NodeException {
final int logicalDeviceIndex = systemFilter.getId();
LOGGER.info("Get data called for logical device {}{}", DEVICE.getDescription(), logicalDeviceIndex);
final List<MeasurementDto> measurements = new ArrayList<>();
for (final MeasurementFilterDto filter : systemFilter.getMeasurementFilters()) {
final RtuReadCommand<MeasurementDto> command = this.iec61850PqCommandFactory.getCommand(filter);
if (command == null) {
LOGGER.warn("Unsupported data attribute [{}], skip get data for it", filter.getNode());
} else {
measurements.add(command.execute(client, connection, DEVICE, logicalDeviceIndex));
}
}
return new GetDataSystemIdentifierDto(systemFilter.getId(), systemFilter.getSystemType(), measurements);
}
use of org.opensmartgridplatform.dto.valueobjects.microgrids.GetDataSystemIdentifierDto in project open-smart-grid-platform by OSGP.
the class Iec61850PvSystemService method getData.
@Override
public GetDataSystemIdentifierDto getData(final SystemFilterDto systemFilter, final Iec61850Client client, final DeviceConnection connection) throws NodeException {
final int logicalDeviceIndex = systemFilter.getId();
LOGGER.info("Get data called for logical device {}{}", DEVICE.getDescription(), logicalDeviceIndex);
final List<MeasurementDto> measurements = new ArrayList<>();
for (final MeasurementFilterDto filter : systemFilter.getMeasurementFilters()) {
final RtuReadCommand<MeasurementDto> command = this.iec61850PvCommandFactory.getCommand(filter);
if (command == null) {
LOGGER.warn("Unsupported data attribute [{}], skip get data for it", filter.getNode());
} else {
measurements.add(command.execute(client, connection, DEVICE, logicalDeviceIndex));
}
}
return new GetDataSystemIdentifierDto(systemFilter.getId(), systemFilter.getSystemType(), measurements);
}
use of org.opensmartgridplatform.dto.valueobjects.microgrids.GetDataSystemIdentifierDto in project open-smart-grid-platform by OSGP.
the class Iec61850ChpSystemService method getData.
@Override
public GetDataSystemIdentifierDto getData(final SystemFilterDto systemFilter, final Iec61850Client client, final DeviceConnection connection) throws NodeException {
final int logicalDeviceIndex = systemFilter.getId();
LOGGER.info("Get data called for logical device {}{}", DEVICE.getDescription(), logicalDeviceIndex);
final List<MeasurementDto> measurements = new ArrayList<>();
for (final MeasurementFilterDto filter : systemFilter.getMeasurementFilters()) {
final RtuReadCommand<MeasurementDto> command = this.iec61850ChpCommandFactory.getCommand(filter);
if (command == null) {
LOGGER.warn("Unsupported data attribute [{}], skip get data for it", filter.getNode());
} else {
measurements.add(command.execute(client, connection, DEVICE, logicalDeviceIndex));
}
}
return new GetDataSystemIdentifierDto(systemFilter.getId(), systemFilter.getSystemType(), measurements);
}
use of org.opensmartgridplatform.dto.valueobjects.microgrids.GetDataSystemIdentifierDto in project open-smart-grid-platform by OSGP.
the class Iec61850EngineSystemService method getData.
@Override
public GetDataSystemIdentifierDto getData(final SystemFilterDto systemFilter, final Iec61850Client client, final DeviceConnection connection) throws NodeException {
final int logicalDeviceIndex = systemFilter.getId();
LOGGER.info("Get data called for logical device {}{}", DEVICE.getDescription(), logicalDeviceIndex);
final List<MeasurementDto> measurements = new ArrayList<>();
for (final MeasurementFilterDto filter : systemFilter.getMeasurementFilters()) {
final RtuReadCommand<MeasurementDto> command = this.iec61850EngineCommandFactory.getCommand(filter);
if (command == null) {
LOGGER.warn("Unsupported data attribute [{}], skip get data for it", filter.getNode());
} else {
measurements.add(command.execute(client, connection, DEVICE, logicalDeviceIndex));
}
}
final List<ProfileDto> profiles = new ArrayList<>();
for (final ProfileFilterDto filter : systemFilter.getProfileFilters()) {
final RtuReadCommand<ProfileDto> command = Iec61850RtuReadProfileCommandFactory.getInstance().getCommand(filter);
if (command == null) {
LOGGER.warn("Unsupported data attribute [{}], skip get data for it", filter.getNode());
} else {
profiles.add(command.execute(client, connection, DEVICE, logicalDeviceIndex));
}
}
return new GetDataSystemIdentifierDto(systemFilter.getId(), systemFilter.getSystemType(), measurements, profiles);
}
use of org.opensmartgridplatform.dto.valueobjects.microgrids.GetDataSystemIdentifierDto in project open-smart-grid-platform by OSGP.
the class Iec61850ClientRTUEventListener method processReport.
private void processReport(final Report report, final String reportDescription, final Iec61850ReportHandler reportHandler) throws ProtocolAdapterException {
final List<FcModelNode> dataSetMembers = report.getValues();
if (CollectionUtils.isEmpty(dataSetMembers)) {
this.logger.warn("No dataSet members available for {}", reportDescription);
return;
}
final List<MeasurementDto> measurements = this.processMeasurements(reportHandler, reportDescription, dataSetMembers);
final GetDataSystemIdentifierDto systemResult = reportHandler.createResult(measurements);
final List<GetDataSystemIdentifierDto> systems = new ArrayList<>();
systems.add(systemResult);
final ReportDto reportDto = new ReportDto(report.getSqNum(), new DateTime(report.getTimeOfEntry().getTimestampValue()), report.getRptId());
this.deviceManagementService.sendMeasurements(this.deviceIdentification, new GetDataResponseDto(systems, reportDto));
this.reportingService.storeLastReportEntry(report, this.deviceIdentification);
}
Aggregations