#include "controlwebserver.h"
#include "relais.h"
const char* ControlWebserver::m_content =
""
""
"
"
""
""
""
"Relais Control"
""
""
""
""
""
""
"
Relais Control
"
""
""
""
""
""
""
""
"";
ControlWebserver::ControlWebserver(IPAddress addr, int port) :
UpdateWebserver(addr, port)
{
init();
}
ControlWebserver::ControlWebserver(int port) :
UpdateWebserver(port)
{
init();
}
ControlWebserver::~ControlWebserver()
{
}
void ControlWebserver::addRelais0(Relais &relais)
{
addRelais("/on0", "/off0", "/toggle0", "/status0", relais);
}
void ControlWebserver::addRelais1(Relais &relais)
{
addRelais("/on1", "/off1", "/toggle1", "/status1", relais);
}
void ControlWebserver::addRelais(const char *onUrl, const char *offUrl, const char *toggleUrl, const char *statusUrl, Relais &relais)
{
on(onUrl, HTTP_GET, [this, &relais]() {
relais.on();
sendHeader("Connection", "close");
send(200, "text/plain", "success");
});
on(offUrl, HTTP_GET, [this, &relais]() {
relais.off();
sendHeader("Connection", "close");
send(200, "text/plain", "success");
});
on(toggleUrl, HTTP_GET, [this, &relais]() {
relais.toggle();
sendHeader("Connection", "close");
send(200, "text/plain", "success");
});
on(statusUrl, HTTP_GET, [this, &relais]() {
sendHeader("Connection", "close");
send(200, "text/plain", relais.status() ? "on" : "off");
});
}
void ControlWebserver::init()
{
on("/", HTTP_GET, [this]() {
sendHeader("Connection", "close");
send(200, "text/html", m_content);
});
}