package org.opennaas.extensions.gim.controller; import java.util.List; import org.opennaas.extensions.gim.model.core.entities.sockets.PowerReceptor; import org.opennaas.extensions.gim.model.energy.Energy; import org.opennaas.extensions.gim.model.load.MeasuredLoad; public interface IConsumerController { // Aggregated methods public Energy getAggregatedEnergy(String consumerId) throws Exception; public double getAggregatedEnergyPrice(String consumerId) throws Exception; public boolean getPowerStatus(String consumerId) throws Exception; public void powerOn(String consumerId) throws Exception; public void powerOff(String consumerId) throws Exception; public MeasuredLoad getCurrentPowerMetrics(String consumerId) throws Exception; // Per socket methods public Energy getReceptorEnergy(String consumerId, String socketId) throws Exception; public double getReceptorEnergyPrice(String consumerId, String socketId) throws Exception; public boolean getReceptorPowerStatus(String consumerId, String socketId) throws Exception; public void powerOnReceptor(String consumerId, String socketId) throws Exception; public void powerOffReceptor(String consumerId, String socketId) throws Exception; public MeasuredLoad getReceptorCurrentPowerMetrics(String consumerId, String socketId) throws Exception; public PowerReceptor getPowerReceptor(String consumerId, String socketId) throws Exception; public List<PowerReceptor> getPowerReceptors(String consumerId) throws Exception; }