Class DehumidifierController

java.lang.Object
ru.gentoos.ehouse.controller.Controller
ru.gentoos.ehouse.controller.DehumidifierController
All Implemented Interfaces:
Dehumidifier

public final class DehumidifierController extends Controller implements Dehumidifier
Контроллер осушителя Яндекс Умного дома (порт Controllers/dehumidifier.py).

Устройство devices.types.humidifier (TUYA RMD-312) фактически является осушителем: одновременно сенсор (влажность, температура) и привод (on_off, mode, fan_speed).

  • Constructor Details

    • DehumidifierController

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

    • stateRetryCount

      public int stateRetryCount()
      Description copied from interface: Dehumidifier
      Количество попыток получения состояния.
      Specified by:
      stateRetryCount in interface Dehumidifier
    • stateRetryDelay

      public int stateRetryDelay()
      Description copied from interface: Dehumidifier
      Пауза между попытками, сек.
      Specified by:
      stateRetryDelay in interface Dehumidifier
    • state

      public Map<String,Object> state()
      Description copied from interface: Dehumidifier
      Последнее полученное состояние.
      Specified by:
      state in interface Dehumidifier
    • getState

      public Map<String,Object> getState()
      Description copied from interface: Dehumidifier
      Получает состояние осушителя.
      Specified by:
      getState in interface Dehumidifier
      Returns:
      карта с ключами device_id, name, online, power, humidity, temperature, mode, fan_speed, controls_locked
    • controlDehumidifier

      public boolean controlDehumidifier(boolean turnOn)
      Description copied from interface: Dehumidifier
      Включает/выключает осушитель.
      Specified by:
      controlDehumidifier in interface Dehumidifier
      Parameters:
      turnOn - true — включить
      Returns:
      true при успехе
    • setMode

      public boolean setMode(String mode)
      Устанавливает режим работы (quiet/normal/express).
      Parameters:
      mode - режим
      Returns:
      true при успехе
    • setFanSpeed

      public boolean setFanSpeed(String speed)
      Устанавливает скорость вентилятора (low/high).
      Parameters:
      speed - скорость
      Returns:
      true при успехе
    • toString

      public String toString()
      Overrides:
      toString in class Object