All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.hapjava.characteristics.impl.thermostat.HeatingThresholdTemperatureCharacteristic Maven / Gradle / Ivy

There is a newer version: 2.0.7
Show newest version
package io.github.hapjava.characteristics.impl.thermostat;

import io.github.hapjava.characteristics.ExceptionalConsumer;
import io.github.hapjava.characteristics.HomekitCharacteristicChangeCallback;
import io.github.hapjava.characteristics.impl.base.FloatCharacteristic;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
import java.util.function.Supplier;

/** This characteristic describes the heating threshold on which heating get turned on. */
public class HeatingThresholdTemperatureCharacteristic extends FloatCharacteristic {
  public static final double DEFAULT_MIN_VALUE = 0;
  public static final double DEFAULT_MAX_VALUE = 25;
  public static final double DEFAULT_STEP = 0.1;

  public HeatingThresholdTemperatureCharacteristic(
      double minValue,
      double maxValue,
      double step,
      Supplier> getter,
      ExceptionalConsumer setter,
      Consumer subscriber,
      Runnable unsubscriber) {
    super(
        "00000012-0000-1000-8000-0026BB765291",
        "heating threshold",
        minValue,
        maxValue,
        step,
        "C",
        Optional.of(getter),
        Optional.of(setter),
        Optional.of(subscriber),
        Optional.of(unsubscriber));
  }

  public HeatingThresholdTemperatureCharacteristic(
      Supplier> getter,
      ExceptionalConsumer setter,
      Consumer subscriber,
      Runnable unsubscriber) {
    this(
        DEFAULT_MIN_VALUE,
        DEFAULT_MAX_VALUE,
        DEFAULT_STEP,
        getter,
        setter,
        subscriber,
        unsubscriber);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy