From 5cb838af29331ce9c407a54c031bf19c1a9c7203 Mon Sep 17 00:00:00 2001 From: Phat Nguyen Date: Mon, 13 May 2024 18:11:46 +0700 Subject: [PATCH] fix: OpenAir send incorrect model(firmware mode) --- examples/OneOpenAir/LocalServer.cpp | 6 +++++- src/AgConfigure.cpp | 14 ++++++++++++++ src/AgConfigure.h | 1 + 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/examples/OneOpenAir/LocalServer.cpp b/examples/OneOpenAir/LocalServer.cpp index 96adab0..1b88e8e 100644 --- a/examples/OneOpenAir/LocalServer.cpp +++ b/examples/OneOpenAir/LocalServer.cpp @@ -39,7 +39,11 @@ String LocalServer::getHostname(void) { void LocalServer::_handle(void) { server.handleClient(); } void LocalServer::_GET_config(void) { - server.send(200, "application/json", config.toString()); + if(ag->isOne()) { + server.send(200, "application/json", config.toString()); + } else { + server.send(200, "application/json", config.toString(fwMode)); + } } void LocalServer::_PUT_config(void) { diff --git a/src/AgConfigure.cpp b/src/AgConfigure.cpp index f3dd511..e947bef 100644 --- a/src/AgConfigure.cpp +++ b/src/AgConfigure.cpp @@ -672,6 +672,20 @@ bool Configuration::parse(String data, bool isLocal) { */ String Configuration::toString(void) { return JSON.stringify(jconfig); } +/** + * @brief Get current configuration value as JSON string + * + * @param fwMode Firmware mode value + * @return String + */ +String Configuration::toString(AgFirmwareMode fwMode) { + String model = jconfig[jprop_model]; + jconfig[jprop_model] = AgFirmwareModeName(fwMode); + String value = toString(); + jconfig[jprop_model] = model; + return value; +} + /** * @brief Temperature unit (F or C) * diff --git a/src/AgConfigure.h b/src/AgConfigure.h index 3b859ee..6a3bb0b 100644 --- a/src/AgConfigure.h +++ b/src/AgConfigure.h @@ -47,6 +47,7 @@ public: bool begin(void); bool parse(String data, bool isLocal); String toString(void); + String toString(AgFirmwareMode fwMode); bool isTemperatureUnitInF(void); String getCountry(void); bool isPmStandardInUSAQI(void);