implement restart button

This commit is contained in:
Hacks 2022-08-16 12:41:06 +02:00
parent 231c1903ff
commit 929db15359
3 changed files with 27 additions and 2 deletions

View File

@ -11,6 +11,7 @@ public:
private:
void onDtuAdminGet(AsyncWebServerRequest* request);
void onDtuAdminPost(AsyncWebServerRequest* request);
void onDtuAdminRestartPost(AsyncWebServerRequest* request);
void(* resetFunc) (void) = 0;
AsyncWebServer* _server;
};

View File

@ -16,6 +16,7 @@ void WebApiDtuClass::init(AsyncWebServer* server)
_server->on("/api/dtu/config", HTTP_GET, std::bind(&WebApiDtuClass::onDtuAdminGet, this, _1));
_server->on("/api/dtu/config", HTTP_POST, std::bind(&WebApiDtuClass::onDtuAdminPost, this, _1));
_server->on("/api/dtu/restart", HTTP_POST, std::bind(&WebApiDtuClass::onDtuAdminRestartPost, this, _1));
}
void WebApiDtuClass::loop()
@ -118,4 +119,20 @@ void WebApiDtuClass::onDtuAdminPost(AsyncWebServerRequest* request)
Hoymiles.getRadio()->setPALevel((rf24_pa_dbm_e)config.Dtu_PaLevel);
Hoymiles.getRadio()->setDtuSerial(config.Dtu_Serial);
Hoymiles.setPollInterval(config.Dtu_PollInterval);
}
}
void WebApiDtuClass::onDtuAdminRestartPost(AsyncWebServerRequest* request)
{
AsyncJsonResponse* response = new AsyncJsonResponse();
JsonObject retMsg = response->getRoot();
retMsg[F("type")] = F("success");
retMsg[F("message")] = F("Settings saved!");
response->setLength();
request->send(response);
resetFunc();
}

View File

@ -51,6 +51,7 @@
</div>
</div>
<button type="submit" class="btn btn-primary mb-3">Save</button>
<button v-on:click='restartDtu()' class="btn btn-danger mb-3">Restart</button>
</form>
</template>
</div>
@ -123,6 +124,12 @@ export default defineComponent({
}
);
},
restartDtu() {
fetch("/api/dtu/restart", {
method: "POST",
})
this.$router.push("/");
},
},
});
</script>