Added Update API endpoint
All checks were successful
Test compiling project / test (push) Successful in 2m30s

This commit is contained in:
2025-02-17 20:59:32 +01:00
parent 3b1ab2e9e9
commit 6c4dc144d8
4 changed files with 20 additions and 2 deletions

View File

@@ -7,6 +7,6 @@
#define water_level_min_key "water_level_min"
#define water_level_max_key "water_level_max"
#define water_volume_key "water_volume"
#define current_software_version Version{0, 0, 8}
#define current_software_version Version{0, 0, 9}
#define RESISTOR_VALUE 4

View File

@@ -41,5 +41,15 @@ StaticJsonDocument<256> build_network_json(NetworkData wired, NetworkData wirele
doc["ethernet"]["rssi"] = wired.rssi;
doc["ethernet"]["link"] = wired.link;
return doc;
}
StaticJsonDocument<128> build_ota_json(OTAStatus status) {
StaticJsonDocument<256> doc;
doc["update_available"] = status.update_available;
doc["current_version"] = String(status.current_version.major) + "." + String(status.current_version.minor) + "." + String(status.current_version.patch);
doc["new_version"] = String(status.latest_version.major) + "." + String(status.latest_version.minor) + "." + String(status.latest_version.patch);
doc["progress"] = status.update_progress;
return doc;
}

View File

@@ -4,4 +4,5 @@
StaticJsonDocument<128> build_shunt_data_json(SensorData data);
StaticJsonDocument<128> build_water_data_json(WaterData data);
StaticJsonDocument<128> build_telemetry_json(DeviceTelemetry data);
StaticJsonDocument<256> build_network_json(NetworkData wired, NetworkData wireless);
StaticJsonDocument<256> build_network_json(NetworkData wired, NetworkData wireless);
StaticJsonDocument<128> build_ota_json(OTAStatus status);

View File

@@ -12,6 +12,7 @@ extern DeviceTelemetry telemetry;
extern NetworkData wifi_data;
extern NetworkData ethernet_data;
extern SensorData shunt_data;
extern OTAStatus ota_status;
extern AsyncWebServer server;
@@ -36,4 +37,10 @@ void setup_api_endpoints(){
serializeJson(build_network_json(ethernet_data, wifi_data), output);
request->send(200, "application/json", output);
});
server.on("/ota_udpate_status", HTTP_GET, [](AsyncWebServerRequest* request) {
String output;
serializeJson(build_ota_json(ota_status), output);
request->send(200, "application/json", output);
});
}