#pragma once #include #include // Инициализирует пины реле (light/pump/fan), выключает всё при старте. void devicesBegin(); // Применяет команду {"action": "turn_on"|"turn_off"|"set_level", "level"?} // к устройству deviceId, если это одно из известных реле-актуаторов этой // платы (light-1/pump-1/fan-1 из config.h). Заполняет outState фактическим // применённым состоянием для последующей публикации в devices/{id}/ack. // Возвращает false, если deviceId этой плате не принадлежит. bool devicesApplyCommand(const String& deviceId, const String& action, double level, JsonDocument& outState); // Заполняет out текущим состоянием всех актуаторов этой платы: // {"light-1":{"power":"on"},"pump-1":{"power":"off"},"fan-1":{"power":"off"}}. // Нужно веб-интерфейсу, чтобы показать состояние без ожидания следующей команды. void devicesGetState(JsonObject& out);