Search in sources :

Example 1 with ProfileDto

use of com.alliander.osgp.dto.valueobjects.microgrids.ProfileDto in project Protocol-Adapter-IEC61850 by OSGP.

the class Iec61850BatterySystemService method getData.

@Override
public GetDataSystemIdentifierDto getData(final SystemFilterDto systemFilter, final Iec61850Client client, final DeviceConnection connection) throws NodeReadException {
    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 = Iec61850BatteryCommandFactory.getInstance().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);
}
Also used : GetDataSystemIdentifierDto(com.alliander.osgp.dto.valueobjects.microgrids.GetDataSystemIdentifierDto) ArrayList(java.util.ArrayList) ProfileFilterDto(com.alliander.osgp.dto.valueobjects.microgrids.ProfileFilterDto) MeasurementDto(com.alliander.osgp.dto.valueobjects.microgrids.MeasurementDto) MeasurementFilterDto(com.alliander.osgp.dto.valueobjects.microgrids.MeasurementFilterDto) ProfileDto(com.alliander.osgp.dto.valueobjects.microgrids.ProfileDto)

Example 2 with ProfileDto

use of com.alliander.osgp.dto.valueobjects.microgrids.ProfileDto in project Protocol-Adapter-IEC61850 by OSGP.

the class Iec61850BoilerSystemService method getData.

@Override
public GetDataSystemIdentifierDto getData(final SystemFilterDto systemFilter, final Iec61850Client client, final DeviceConnection connection) throws NodeReadException {
    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 = Iec61850BoilerCommandFactory.getInstance().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);
}
Also used : GetDataSystemIdentifierDto(com.alliander.osgp.dto.valueobjects.microgrids.GetDataSystemIdentifierDto) ArrayList(java.util.ArrayList) ProfileFilterDto(com.alliander.osgp.dto.valueobjects.microgrids.ProfileFilterDto) MeasurementDto(com.alliander.osgp.dto.valueobjects.microgrids.MeasurementDto) MeasurementFilterDto(com.alliander.osgp.dto.valueobjects.microgrids.MeasurementFilterDto) ProfileDto(com.alliander.osgp.dto.valueobjects.microgrids.ProfileDto)

Example 3 with ProfileDto

use of com.alliander.osgp.dto.valueobjects.microgrids.ProfileDto in project Protocol-Adapter-IEC61850 by OSGP.

the class Iec61850HeatPumpSystemService method setData.

@Override
public void setData(final SetDataSystemIdentifierDto systemIdentifier, final Iec61850Client client, final DeviceConnection connection) throws NodeWriteException {
    final int logicalDeviceIndex = systemIdentifier.getId();
    LOGGER.info("Set data called for logical device {}{}", DEVICE.getDescription(), logicalDeviceIndex);
    for (final SetPointDto sp : systemIdentifier.getSetPoints()) {
        final RtuWriteCommand<SetPointDto> command = Iec61850SetPointCommandFactory.getInstance().getCommand(sp.getNode() + sp.getId());
        if (command == null) {
            LOGGER.warn("Unsupported set point [{}], skip set data for it.", sp.getNode() + sp.getId());
        } else {
            command.executeWrite(client, connection, DEVICE, logicalDeviceIndex, sp);
        }
    }
    for (final ProfileDto p : systemIdentifier.getProfiles()) {
        final RtuWriteCommand<ProfileDto> command = Iec61850WriteProfileCommandFactory.getInstance().getCommand(p.getNode() + p.getId());
        if (command == null) {
            LOGGER.warn("Unsupported profile [{}], skip set data for it.", p.getNode() + p.getId());
        } else {
            command.executeWrite(client, connection, DEVICE, logicalDeviceIndex, p);
        }
    }
}
Also used : SetPointDto(com.alliander.osgp.dto.valueobjects.microgrids.SetPointDto) ProfileDto(com.alliander.osgp.dto.valueobjects.microgrids.ProfileDto)

Example 4 with ProfileDto

use of com.alliander.osgp.dto.valueobjects.microgrids.ProfileDto in project Protocol-Adapter-IEC61850 by OSGP.

the class Iec61850HeatPumpSystemService method getData.

@Override
public GetDataSystemIdentifierDto getData(final SystemFilterDto systemFilter, final Iec61850Client client, final DeviceConnection connection) throws NodeReadException {
    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 = Iec61850HeatPumpCommandFactory.getInstance().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);
}
Also used : GetDataSystemIdentifierDto(com.alliander.osgp.dto.valueobjects.microgrids.GetDataSystemIdentifierDto) ArrayList(java.util.ArrayList) ProfileFilterDto(com.alliander.osgp.dto.valueobjects.microgrids.ProfileFilterDto) MeasurementDto(com.alliander.osgp.dto.valueobjects.microgrids.MeasurementDto) MeasurementFilterDto(com.alliander.osgp.dto.valueobjects.microgrids.MeasurementFilterDto) ProfileDto(com.alliander.osgp.dto.valueobjects.microgrids.ProfileDto)

Example 5 with ProfileDto

use of com.alliander.osgp.dto.valueobjects.microgrids.ProfileDto in project Protocol-Adapter-IEC61850 by OSGP.

the class Iec61850BoilerSystemService method setData.

@Override
public void setData(final SetDataSystemIdentifierDto systemIdentifier, final Iec61850Client client, final DeviceConnection connection) throws NodeWriteException {
    final int logicalDeviceIndex = systemIdentifier.getId();
    LOGGER.info("Set data called for logical device {}{}", DEVICE.getDescription(), logicalDeviceIndex);
    for (final SetPointDto sp : systemIdentifier.getSetPoints()) {
        final RtuWriteCommand<SetPointDto> command = Iec61850SetPointCommandFactory.getInstance().getCommand(sp.getNode() + sp.getId());
        if (command == null) {
            LOGGER.warn("Unsupported set point [{}], skip set data for it.", sp.getNode() + sp.getId());
        } else {
            command.executeWrite(client, connection, DEVICE, logicalDeviceIndex, sp);
        }
    }
    for (final ProfileDto p : systemIdentifier.getProfiles()) {
        final RtuWriteCommand<ProfileDto> command = Iec61850WriteProfileCommandFactory.getInstance().getCommand(p.getNode() + p.getId());
        if (command == null) {
            LOGGER.warn("Unsupported profile [{}], skip set data for it.", p.getNode() + p.getId());
        } else {
            command.executeWrite(client, connection, DEVICE, logicalDeviceIndex, p);
        }
    }
}
Also used : SetPointDto(com.alliander.osgp.dto.valueobjects.microgrids.SetPointDto) ProfileDto(com.alliander.osgp.dto.valueobjects.microgrids.ProfileDto)

Aggregations

ProfileDto (com.alliander.osgp.dto.valueobjects.microgrids.ProfileDto)8 GetDataSystemIdentifierDto (com.alliander.osgp.dto.valueobjects.microgrids.GetDataSystemIdentifierDto)4 MeasurementDto (com.alliander.osgp.dto.valueobjects.microgrids.MeasurementDto)4 MeasurementFilterDto (com.alliander.osgp.dto.valueobjects.microgrids.MeasurementFilterDto)4 ProfileFilterDto (com.alliander.osgp.dto.valueobjects.microgrids.ProfileFilterDto)4 SetPointDto (com.alliander.osgp.dto.valueobjects.microgrids.SetPointDto)4 ArrayList (java.util.ArrayList)4