#pragma once #include "spore/Service.h" #include "spore/core/TaskManager.h" #include class RelayService : public Service { public: RelayService(TaskManager& taskMgr, int pin); void registerEndpoints(ApiServer& api) override; const char* getName() const override { return "Relay"; } void turnOn(); void turnOff(); void toggle(); private: void registerTasks(); TaskManager& taskManager; int relayPin; bool relayOn; void handleStatusRequest(AsyncWebServerRequest* request); void handleControlRequest(AsyncWebServerRequest* request); };