diff --git a/src/WebApi_powerlimiter.cpp b/src/WebApi_powerlimiter.cpp index e1654fb23..8301c738b 100644 --- a/src/WebApi_powerlimiter.cpp +++ b/src/WebApi_powerlimiter.cpp @@ -60,6 +60,7 @@ void WebApiPowerLimiterClass::onMetaData(AsyncWebServerRequest* request) JsonObject obj = inverters.add(); obj["serial"] = inv->serialString(); obj["pos"] = i; + obj["order"] = config.Inverter[i].Order; obj["name"] = String(config.Inverter[i].Name); obj["poll_enable"] = config.Inverter[i].Poll_Enable; obj["poll_enable_night"] = config.Inverter[i].Poll_Enable_Night; diff --git a/webapp/src/types/PowerLimiterConfig.ts b/webapp/src/types/PowerLimiterConfig.ts index a2189ec50..67f50ef3a 100644 --- a/webapp/src/types/PowerLimiterConfig.ts +++ b/webapp/src/types/PowerLimiterConfig.ts @@ -1,6 +1,7 @@ export interface PowerLimiterInverterInfo { serial: string; pos: number; + order: number; name: string; poll_enable: boolean; poll_enable_night: boolean; diff --git a/webapp/src/views/PowerLimiterAdminView.vue b/webapp/src/views/PowerLimiterAdminView.vue index 4c66c605b..1a40559e4 100644 --- a/webapp/src/views/PowerLimiterAdminView.vue +++ b/webapp/src/views/PowerLimiterAdminView.vue @@ -651,6 +651,12 @@ export default defineComponent({ inverters.push(newInv); } + inverters = inverters.sort((a, b) => { + const orderA = this.getInverterInfo(a.serial).order; + const orderB = this.getInverterInfo(b.serial).order; + return orderA < orderB ? -1 : 1; + }); + return inverters; }, savePowerLimiterConfig(e: Event) {