Class ClimateAssistant

java.lang.Object
ru.gentoos.ehouse.assistant.ThresholdMonitorAssistant
ru.gentoos.ehouse.assistant.ClimateAssistant
All Implemented Interfaces:
Assistant

public final class ClimateAssistant extends ThresholdMonitorAssistant
Ассистент контроля температуры и влажности (порт Assistants/climate.py).

Сравнение строгое (> для верхнего порога, < для нижнего) в отличие от ThresholdMonitorAssistant.

  • Constructor Summary

    Constructors
    Constructor
    Description
    ClimateAssistant(String name, ClimateSensor temperatureController, int temperatureThresholdLow, int temperatureThresholdHigh, int humidityThresholdLow, int humidityThresholdHigh, int rounding, Notifier bot, io.opentelemetry.api.trace.Tracer tracer)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Обрабатывает превышение верхнего порога влажности.
    void
    Обрабатывает превышение верхнего порога температуры.
    void
    Обрабатывает понижение влажности ниже порога.
    void
    Обрабатывает понижение температуры ниже порога.
    Читает текущее значение метрики.
    boolean
    run()
    Выполняет один цикл контроля.

    Methods inherited from class ru.gentoos.ehouse.assistant.ThresholdMonitorAssistant

    checkValue, checkValue, getName

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ClimateAssistant

      public ClimateAssistant(String name, ClimateSensor temperatureController, int temperatureThresholdLow, int temperatureThresholdHigh, int humidityThresholdLow, int humidityThresholdHigh, int rounding, Notifier bot, io.opentelemetry.api.trace.Tracer tracer)
      Parameters:
      name - имя ассистента
      temperatureController - датчик температуры/влажности
      temperatureThresholdLow - нижний порог температуры
      temperatureThresholdHigh - верхний порог температуры
      humidityThresholdLow - нижний порог влажности
      humidityThresholdHigh - верхний порог влажности
      rounding - знаков после запятой
      bot - бот для уведомлений (может быть null)
      tracer - трейсер (может быть null)
  • Method Details

    • readMetric

      public Double readMetric()
      Description copied from class: ThresholdMonitorAssistant
      Читает текущее значение метрики.
      Specified by:
      readMetric in class ThresholdMonitorAssistant
      Returns:
      значение или null, если прочитать не удалось
    • run

      public boolean run()
      Description copied from class: ThresholdMonitorAssistant
      Выполняет один цикл контроля. Подкласс может переопределить, чтобы обернуть цикл в спан (паритет @observe).
      Specified by:
      run in interface Assistant
      Overrides:
      run in class ThresholdMonitorAssistant
      Returns:
      true, если цикл выполнен успешно; false при пропуске (недоступное состояние, ошибка) — паритет с возвратом True/False у DogWaterAssistant/ DogHeaterAssistant в Python
    • handleHighTemp

      public void handleHighTemp(Object temp)
      Обрабатывает превышение верхнего порога температуры.
    • handleLowTemp

      public void handleLowTemp(Object temp)
      Обрабатывает понижение температуры ниже порога.
    • handleHighHumidity

      public void handleHighHumidity(Object humidity)
      Обрабатывает превышение верхнего порога влажности.
    • handleLowHumidity

      public void handleLowHumidity(Object humidity)
      Обрабатывает понижение влажности ниже порога.