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