Package ru.gentoos.ehouse.controller
Interface SmartPlug
- All Known Implementing Classes:
SmartPlugController
public interface SmartPlug
Контракт розетки умного дома (интерфейс вводится для тестируемости:
Python дублирует через фабрики, Java — через интерфейс).
Реализация — SmartPlugController; в тестах — фиктивная розетка.
-
Method Summary
Modifier and TypeMethodDescriptionbooleancontrolPlug(boolean turnOn) Включает/выключает розетку.getState()Получает состояние розетки.state()Последнее полученное состояние.intКоличество попыток получения состояния.intПауза между попытками, сек.
-
Method Details
-
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
Последнее полученное состояние.
-