Interface SmartPlug

All Known Implementing Classes:
SmartPlugController

public interface SmartPlug
Контракт розетки умного дома (интерфейс вводится для тестируемости: Python дублирует через фабрики, Java — через интерфейс).

Реализация — SmartPlugController; в тестах — фиктивная розетка.

  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    controlPlug(boolean turnOn)
    Включает/выключает розетку.
    Получает состояние розетки.
    Последнее полученное состояние.
    int
    Количество попыток получения состояния.
    int
    Пауза между попытками, сек.
  • Method Details

    • getState

      Map<String,Object> getState()
      Получает состояние розетки.
      Returns:
      карта с ключами device_id, name, online, power, voltage, amperage, power_consumption (при полном отказе — значения по умолчанию)
    • controlPlug

      boolean controlPlug(boolean turnOn)
      Включает/выключает розетку.
      Parameters:
      turnOn - true — включить
      Returns:
      true при успехе
    • stateRetryCount

      int stateRetryCount()
      Количество попыток получения состояния.
    • stateRetryDelay

      int stateRetryDelay()
      Пауза между попытками, сек.
    • state

      Map<String,Object> state()
      Последнее полученное состояние.