package com.beowulfe.hap.accessories.thermostat;
import java.util.concurrent.CompletableFuture;
import com.beowulfe.hap.HomekitCharacteristicChangeCallback;
public interface CoolingThermostat extends BasicThermostat {
/**
* Retrieves the temperature above which the thermostat should begin cooling.
* @return a future that will contain the threshold temperature, in celsius degrees.
*/
CompletableFuture<Double> getCoolingThresholdTemperature();
/**
* Sets the temperature above which the thermostat should begin cooling.
* @param value the threshold temperature, in celsius degrees.
* @throws Exception when the threshold temperature cannot be changed.
*/
void setCoolingThresholdTemperature(Double value) throws Exception;
/**
* Subscribes to changes in the cooling threshold.
* @param callback the function to call when the state changes.
*/
void subscribeCoolingThresholdTemperature(HomekitCharacteristicChangeCallback callback);
/**
* Unsubscribes from changes in the cooling threshold.
*/
void unsubscribeCoolingThresholdTemperature();
}