Class ClimateController

java.lang.Object
ru.gentoos.ehouse.controller.Controller
ru.gentoos.ehouse.controller.ClimateController
All Implemented Interfaces:
ClimateSensor

public final class ClimateController extends Controller implements ClimateSensor
Контроллер датчика температуры и влажности Яндекс Умного дома (порт Controllers/climate.py).

Получает состояние датчика с повторными попытками. Для toString() используется round_digits[0] и для температуры, и для влажности — паритет с Python (баг оригинала сохранён).

  • Constructor Details

    • ClimateController

      public ClimateController(String deviceId, String apiKey, int rounding, int stateRetryCount, int stateRetryDelay, HttpTransport transport, io.opentelemetry.api.trace.Tracer tracer)
      Инициализирует контроллер датчика.
      Parameters:
      deviceId - идентификатор устройства
      apiKey - OAuth-токен Yandex IoT API
      rounding - знаков для toString() (применяется к обоим метрикам)
      stateRetryCount - попыток получения состояния
      stateRetryDelay - пауза между попытками, сек.
      transport - HTTP-транспорт
      tracer - трейсер (может быть null)
  • Method Details

    • getState

      public Map<String,Object> getState()
      Description copied from interface: ClimateSensor
      Получает состояние датчика.
      Specified by:
      getState in interface ClimateSensor
      Returns:
      карта с ключами device_id, name, online, temperature, humidity (при полном отказе — значения по умолчанию)
    • toString

      public String toString()
      Overrides:
      toString in class Object