fix: OpenAir send incorrect model(firmware mode)

This commit is contained in:
Phat Nguyen
2024-05-13 18:11:46 +07:00
parent 3201fd8d9c
commit 5cb838af29
3 changed files with 20 additions and 1 deletions

View File

@ -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) {

View File

@ -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)
*

View File

@ -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);