diff --git a/relaiswebserver.cpp b/relaiswebserver.cpp
index 9cab43c..ca685fa 100644
--- a/relaiswebserver.cpp
+++ b/relaiswebserver.cpp
@@ -47,8 +47,7 @@ void RelaisWebserver::handleRequest(HttpClientConnection *connection, const Http
for(auto _client : m_relaisServer->clients())
{
- if(!_client->name().isEmpty() &&
- _client->name() == parts.at(2))
+ if(clientId(_client) == parts.at(2))
{
client = _client;
break;
@@ -79,6 +78,12 @@ void RelaisWebserver::handleRequest(HttpClientConnection *connection, const Http
redirectRoot(connection, request);
return;
}
+ else if(parts.at(3) == "delete")
+ {
+ client->deleteLater();
+ redirectRoot(connection, request);
+ return;
+ }
else
{
handle404(connection, request);
@@ -102,24 +107,25 @@ void RelaisWebserver::handleRoot(HttpClientConnection *connection, const HttpReq
output.append("
Name | ");
output.append("Status | ");
output.append("Actions | ");
+ output.append("Administration | ");
output.append("");
output.append("");
output.append("");
for(auto client : m_relaisServer->clients())
{
output.append("");
- output.append("" % client->peerAddress().toString() % ':' % QString::number(client->peerPort()) % " | ");
- output.append("" % client->name() % " | ");
- output.append("" % client->status() % " | ");
- if(!client->name().isEmpty())
- {
- output.append("name().toHtmlEscaped() % "/toggle\">" % tr("toggle") % " ");
- if(client->status() != QStringLiteral("on"))
- output.append("name().toHtmlEscaped() % "/on\">" % tr("on") % " ");
- if(client->status() != QStringLiteral("off"))
- output.append("name().toHtmlEscaped() % "/off\">" % tr("off") % " ");
- output.append(" | ");
- }
+ output.append("" % clientId(client).toHtmlEscaped() % " | ");
+ output.append("" % client->name().toHtmlEscaped() % " | ");
+ output.append("" % client->status().toHtmlEscaped() % " | ");
+ output.append("" % tr("toggle") % " ");
+
+ if(client->status() != QStringLiteral("on"))
+ output.append("" % tr("on") % " ");
+
+ if(client->status() != QStringLiteral("off"))
+ output.append("" % tr("off") % " ");
+ output.append(" | ");
+ output.append("" % tr("Delete") % " | ");
output.append("
");
}
output.append("");
@@ -159,3 +165,8 @@ void RelaisWebserver::handle404(HttpClientConnection *connection, const HttpRequ
connection->sendResponse(response);
}
+
+QString RelaisWebserver::clientId(RelaisClient *client)
+{
+ return client->peerAddress().toString() % ':' % QString::number(client->peerPort());
+}
diff --git a/relaiswebserver.h b/relaiswebserver.h
index ca1d7da..1044498 100644
--- a/relaiswebserver.h
+++ b/relaiswebserver.h
@@ -4,9 +4,10 @@
#include "httpserver.h"
-class RelaisServer;
class HttpClientConnection;
class HttpRequest;
+class RelaisClient;
+class RelaisServer;
class RelaisWebserver : public HttpServer
{
@@ -22,6 +23,7 @@ private:
void handleRoot(HttpClientConnection *connection, const HttpRequest &request);
void redirectRoot(HttpClientConnection *connection, const HttpRequest &request);
void handle404(HttpClientConnection *connection, const HttpRequest &request);
+ static QString clientId(RelaisClient *client);
RelaisServer *m_relaisServer;
};
diff --git a/WifiLamp.ino b/single_lamp/single_lamp.ino
similarity index 78%
rename from WifiLamp.ino
rename to single_lamp/single_lamp.ino
index 4a2e50b..9d01c6c 100644
--- a/WifiLamp.ino
+++ b/single_lamp/single_lamp.ino
@@ -4,8 +4,7 @@
const char* ssid = "McDonalds Free WiFi 2.4GHz";
const char* password = "Passwort_123";
-
-const int relaisPin = D1;
+const char* host = "192.168.0.243";
const char* success = "success";
@@ -72,16 +71,96 @@ const char* updateContent = ""
"