From b63ff58e2c415bae2fb4741aebe710fa3576ff66 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 23 三月 2026 13:11:47 +0800
Subject: [PATCH] 2026年03月23日13:11:38 备份代码

---
 app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java          |   86 ++++++++++--
 app/src/main/java/com/hdl/photovoltaic/enums/PowerStationType.java                 |    7 +
 app/src/main/res/values/strings.xml                                                |    2 
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java    |    2 
 app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java                |   18 ++
 app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java                  |   10 -
 app/src/main/res/layout/dialog_default_filtering.xml                               |   68 +++++++++
 app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java                    |   24 ++
 app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java               |    2 
 app/src/main/res/values-zh/strings.xml                                             |    2 
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java |   45 +++--
 app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java               |    2 
 app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java        |   15 +
 app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java                |   14 ++
 app/src/main/res/values-en/strings.xml                                             |    2 
 app/src/main/java/com/hdl/photovoltaic/ui/bean/FwVersionBean.java                  |   81 +++++++++++
 app/src/main/res/values-ar/strings.xml                                             |    2 
 17 files changed, 324 insertions(+), 58 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java b/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
index 6295c57..0855ff4 100644
--- a/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
+++ b/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
@@ -71,6 +71,8 @@
     private String agentUrl;
     //褰撳墠浼氳瘽ID
     private String conversationId;
+    //鐢电珯绫诲瀷(INV = 閫嗗彉鍣ㄧ數绔�;BMS = BMS鐢电珯)
+    private String powerStationType = "INV ";
 
     public String getAgentUrl() {
         return agentUrl == null ? "" : agentUrl;
@@ -448,6 +450,18 @@
     }
 
     /**
+     * 鐢电珯绫诲瀷(INV = 閫嗗彉鍣ㄧ數绔�;BMS = BMS鐢电珯)
+     * @return 鐢电珯绫诲瀷(INV = 閫嗗彉鍣ㄧ數绔�;BMS = BMS鐢电珯)
+     */
+    public String getPowerStationType() {
+        return powerStationType;
+    }
+
+    public void setPowerStationType(String powerStationType) {
+        this.powerStationType = powerStationType;
+    }
+
+    /**
      * uni涓�绾х晫闈㈢殑瀹夊叏璺濈鑳屾櫙棰滆壊锛�0=鐢电珯璇︽儏鐣岄潰锛�1=娣诲姞鐢电珯鐣岄潰锛�2=璁惧璋冩祴鐣岄潰锛�
      *
      * @return 鍊�
diff --git a/app/src/main/java/com/hdl/photovoltaic/enums/PowerStationType.java b/app/src/main/java/com/hdl/photovoltaic/enums/PowerStationType.java
new file mode 100644
index 0000000..4a548ea
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/enums/PowerStationType.java
@@ -0,0 +1,7 @@
+package com.hdl.photovoltaic.enums;
+
+public @interface PowerStationType {
+    String All = "";//鍏ㄩ儴
+    String INV = "INV";//閫嗗彉鍣ㄧ數绔�
+    String BMS = "BMS";//BMS鐢电珯
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
index a620616..62d04b3 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
@@ -391,10 +391,11 @@
      * @param installedCapacityMax 鏈�澶х粍涓插閲�(瑁呮満瀹归噺)
      * @param debugStatus          璋冭瘯鐘舵��(鍏ㄩ儴;璋冭瘯涓�;璋冭瘯瀹屾垚;宸蹭氦浠�;鎺堟潈璋冭瘯)
      * @param powerStationStatus   鐢电珯鐘舵�� (鍏ㄩ儴  锛�"";1 锛� 姝e父;2 锛� 绂荤嚎; 3 锛� 寰呮帴鍏�;4 锛� 鏁呴殰)
+     * @param powerStationType     鐢电珯绫诲瀷(INV = 閫嗗彉鍣ㄧ數绔�;BMS = BMS鐢电珯)
      * @param pageNo               椤电爜
      * @param pageSize             椤垫暟锛堜竴椤靛灏戞暟鎹級
      */
-    public void getResidenceIdList(String key, String keyValue, String installedCapacityMin, String installedCapacityMax, String debugStatus, String powerStationStatus, long pageNo, long pageSize, CloudCallBeak<HouseBeanClass> cloudCallBeak) {
+    public void getResidenceIdList(String key, String keyValue, String installedCapacityMin, String installedCapacityMax, String debugStatus, String powerStationStatus, String powerStationType, long pageNo, long pageSize, CloudCallBeak<HouseBeanClass> cloudCallBeak) {
 
         String requestUrl = HttpApi.POST_PowerStation_List;
         JsonObject json = new JsonObject();
@@ -425,6 +426,12 @@
             try {
                 int value = Integer.parseInt(powerStationStatus);
                 json.addProperty("powerStationStatus", value);
+            } catch (Exception ignored) {
+            }
+        }
+        if (!TextUtils.isEmpty(powerStationType)) {
+            try {
+                json.addProperty("powerStationType", powerStationType);
             } catch (Exception ignored) {
             }
         }
@@ -616,8 +623,9 @@
      * @param debugStatus          (璋冭瘯鐘舵��:Debugging = 璋冭瘯涓�,WAIT_DELIVERED = 璋冭瘯瀹屾垚,Delivered = 宸蹭氦浠�,SECONDARY_DEBUGGIN = 鎺堟潈璋冭瘯)
      * @param installedCapacityMin 鏈�灏忕粍涓插閲�(瑁呮満瀹归噺)
      * @param installedCapacityMax 鏈�澶х粍涓插閲�(瑁呮満瀹归噺)
+     * @param powerStationType 鐢电珯绫诲瀷锛堥�嗗彉鍣紝BMS锛�
      */
-    public void getStatusOverview(String debugStatus, String installedCapacityMin, String installedCapacityMax, CloudCallBeak<StatusOverviewBean> cloudCallBeak) {
+    public void getStatusOverview(String debugStatus, String installedCapacityMin, String installedCapacityMax,String powerStationType, CloudCallBeak<StatusOverviewBean> cloudCallBeak) {
         String requestUrl = HttpApi.POST_statusOverview;
         JsonObject json = new JsonObject();
         if (!TextUtils.isEmpty(installedCapacityMin)) {
@@ -628,6 +636,10 @@
         }
         if (!TextUtils.isEmpty(debugStatus)) {
             json.addProperty("debugStatus", debugStatus);
+        }
+
+        if (!TextUtils.isEmpty(powerStationType)) {
+            json.addProperty("powerStationType", powerStationType);
         }
 
 
@@ -934,6 +946,7 @@
 //        HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getCurrentHomeRootPath());
         //閲嶆柊璁剧疆浣忓畢id
         UserConfigManage.getInstance().setHomeId(houseIdBean.getHomeId());
+        UserConfigManage.getInstance().setPowerStationType(houseIdBean.getPowerStationType());
         UserConfigManage.getInstance().setHomeName(houseIdBean.getHomeName());
         //閲嶆柊璁剧疆鏈湴閫氳绉橀挜
         UserConfigManage.getInstance().setLocalSecret(houseIdBean.getLocalSecret());
@@ -1139,7 +1152,6 @@
         });
 
     }
-
 
 
     public static class HouseBeanClass {
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java
index 3c60903..4e5ee13 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java
@@ -47,6 +47,15 @@
     private HouseInfoBean.Location location;//鐢电珯鍦板潃
     private String localSecret;//鎵�灞炵數绔欑殑鏈湴瀵嗛挜
 
+    private List<FwVersionBean> fwVersion = new ArrayList<>();//BMS璁惧鎵嶆湁鐨勫浐浠剁増鏈�
+    public List<FwVersionBean> getFwVersion() {
+        return fwVersion;
+    }
+
+    public void setFwVersion(List<FwVersionBean> fwVersion) {
+        this.fwVersion = fwVersion;
+    }
+
     public boolean isActivate() {
         return activate;
     }
@@ -57,8 +66,8 @@
 
     private boolean activate;//鏄惁婵�娲昏澶�(true锛氭縺娲伙紱false锛氭湭婵�娲�)
 
-    private  boolean popUpgrade;//鏀硅澶囨槸鍚︽湁寮圭獥鍗囩骇
-    private  boolean subPopUpgrade;//涓嬫寕璁惧鏄惁鏈夊脊绐楀崌绾�
+    private boolean popUpgrade;//鏀硅澶囨槸鍚︽湁寮圭獥鍗囩骇
+    private boolean subPopUpgrade;//涓嬫寕璁惧鏄惁鏈夊脊绐楀崌绾�
 
     public boolean isSubPopUpgrade() {
         return subPopUpgrade;
@@ -77,7 +86,7 @@
     }
 
     public String getWorkStatusDesc() {
-        return workStatusDesc==null?"":this.workStatusDesc;
+        return workStatusDesc == null ? "" : this.workStatusDesc;
     }
 
     public void setWorkStatusDesc(String workStatusDesc) {
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/FwVersionBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/FwVersionBean.java
new file mode 100644
index 0000000..a7ee9c3
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/FwVersionBean.java
@@ -0,0 +1,81 @@
+package com.hdl.photovoltaic.ui.bean;
+
+import java.io.Serializable;
+
+/**
+ * BMS璁惧鍥轰欢鐗堟湰
+ */
+public class FwVersionBean implements Serializable {
+    private String fwModule;
+    private String version;
+    private boolean upgrade;//鏄惁闇�瑕佸崌绾�
+    private boolean popUpgrade;//璇ヨ澶囨槸鍚︽湁寮圭獥鍗囩骇
+    private String versionNew;//鏂扮増鏈彿
+    private String versionNewDesc;//鏂扮増鏈弿杩�
+    private long versionNewId;//鏂扮増鏈彿id
+    private String versionNewFileUrl;//鏂扮増鏈笅杞藉湴鍧�(鍔犲瘑杩囩殑)
+
+    public String getFwModule() {
+        return fwModule == null ? "" : fwModule;
+    }
+
+    public void setFwModule(String module) {
+        this.fwModule = module;
+    }
+
+    public String getVersion() {
+        return version == null ? "" : version;
+    }
+
+    public void setVersion(String version) {
+        this.version = version;
+    }
+
+    public boolean isUpgrade() {
+        return upgrade;
+    }
+
+    public void setUpgrade(boolean upgrade) {
+        this.upgrade = upgrade;
+    }
+
+    public boolean isPopUpgrade() {
+        return popUpgrade;
+    }
+
+    public void setPopUpgrade(boolean popUpgrade) {
+        this.popUpgrade = popUpgrade;
+    }
+
+    public String getVersionNew() {
+        return versionNew == null ? "" : versionNew;
+    }
+
+    public void setVersionNew(String versionNew) {
+        this.versionNew = versionNew;
+    }
+
+    public String getVersionNewDesc() {
+        return versionNewDesc == null ? "" : versionNewDesc;
+    }
+
+    public void setVersionNewDesc(String versionNewDesc) {
+        this.versionNewDesc = versionNewDesc;
+    }
+
+    public long getVersionNewId() {
+        return versionNewId == 0 ? 0 : versionNewId;
+    }
+
+    public void setVersionNewId(long versionNewId) {
+        this.versionNewId = versionNewId;
+    }
+
+    public String getVersionNewFileUrl() {
+        return versionNewFileUrl == null ? "" : versionNewFileUrl;
+    }
+
+    public void setVersionNewFileUrl(String versionNewFileUrl) {
+        this.versionNewFileUrl = versionNewFileUrl;
+    }
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java
index d39800e..c106797 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java
@@ -11,9 +11,9 @@
  */
 public class HouseIdBean implements Serializable {
     private String homeId;//鐢电珯id
-    private String debugType="NORMAL";//璋冭瘯绫诲瀷(NORMAL =甯歌璋冭瘯;SIMPLE =绠�鏄撹皟璇�)
-    private String communityId="";//椤圭洰id
-    private String flowRecordContent="";//娴佽浆璁板綍鍐呭
+    private String debugType = "NORMAL";//璋冭瘯绫诲瀷(NORMAL =甯歌璋冭瘯;SIMPLE =绠�鏄撹皟璇�)
+    private String communityId = "";//椤圭洰id
+    private String flowRecordContent = "";//娴佽浆璁板綍鍐呭
     private String powerStationImage;//鐢电珯鍥剧墖
     private String homeName;//鐢电珯鍚嶇О
     private String installedCapacity;//缁勪覆瀹归噺(鍒涘缓鐢电珯鏃惰緭鍏ョ殑缁勪覆瀹归噺)
@@ -63,6 +63,21 @@
      * SECONDARY_DEBUGGIN = 鎺堟潈璋冭瘯
      */
     private String debugStatus;
+    /**
+     * 鐢电珯绫诲瀷
+     * INV = 閫嗗彉鍣ㄧ數绔�
+     * BMS = BMS鐢电珯
+     */
+    private String powerStationType = "INV";
+
+    public String getPowerStationType() {
+        return powerStationType;
+    }
+
+    public void setPowerStationType(String powerStationType) {
+        this.powerStationType = powerStationType;
+    }
+
     public String getDebugType() {
         return debugType;
     }
@@ -86,6 +101,7 @@
     public void setFlowRecordContent(String flowRecordContent) {
         this.flowRecordContent = flowRecordContent;
     }
+
     public String getDebugStatus() {
         return debugStatus == null ? "" : debugStatus;
     }
@@ -257,6 +273,6 @@
         if (this.location == null) {
             return this.getAddress();
         }
-        return this.location.getNationName() +" "+ this.location.getProvinceName() +" "+ this.location.getCityName() +" "+ this.getAddress();
+        return this.location.getNationName() + " " + this.location.getProvinceName() + " " + this.location.getCityName() + " " + this.getAddress();
     }
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java
index aa4a54c..c8decca 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java
@@ -8,7 +8,6 @@
     private String latitude;//绾害
     private String longitude;//缁忓害
     private String timezone;//鏃跺尯
-    private String powerStationType;//鐢电珯绫诲瀷(DOMESTIC_ROOF:瀹剁敤灞嬮《,COMMERCIAL_ROOF:鍟嗕笟鐢ㄥ眿椤�,INDUSTRIAL_ROOF:宸ヤ笟鐢ㄥ眿椤�,SURFACE_POWER_STATION:鍦伴潰鐢电珯)
     private String workMode;//宸ヤ綔妯″紡(self_use:鑷彂鑷敤,peak_load_shifting:鍓婂嘲濉胺,battery_priority:鐢垫睜浼樺厛,auto:鏅鸿兘妯″紡)
     private long productionTime;//鎶曚骇鏃ュ織
     private String monetaryUnit;//璐у竵鍗曚綅
@@ -41,14 +40,6 @@
 
     public void setTimezone(String timezone) {
         this.timezone = timezone;
-    }
-
-    public String getPowerStationType() {
-        return powerStationType == null ? "" : powerStationType;
-    }
-
-    public void setPowerStationType(String powerStationType) {
-        this.powerStationType = powerStationType;
     }
 
     public String getWorkMode() {
@@ -158,7 +149,6 @@
         }
 
     }
-
 
 
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
index fe5f800..e17baa4 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
@@ -567,7 +567,7 @@
      * 鐢电珯鐘舵�佹瑙�
      */
     private void getStatusOverview() {
-        HdlResidenceLogic.getInstance().getStatusOverview("", "", "", new CloudCallBeak<StatusOverviewBean>() {
+        HdlResidenceLogic.getInstance().getStatusOverview("", "", "", "",new CloudCallBeak<StatusOverviewBean>() {
             @Override
             public void onSuccess(StatusOverviewBean statusOverviewBean) {
                 if (statusOverviewBean == null) {
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java
index 7e966e3..190aca2 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java
@@ -35,6 +35,7 @@
 import com.hdl.photovoltaic.enums.LogoutType;
 import com.hdl.photovoltaic.enums.LowerTagType;
 import com.hdl.photovoltaic.enums.PowerStationStatus;
+import com.hdl.photovoltaic.enums.PowerStationType;
 import com.hdl.photovoltaic.enums.ProjectOperation;
 import com.hdl.photovoltaic.enums.ShowErrorMode;
 import com.hdl.photovoltaic.enums.SortType;
@@ -109,6 +110,7 @@
     private String installedCapacityMaxValue = "";//鏈�澶х粍涓插閲�(瑁呮満瀹归噺)
     private String screeningConditionStatus = DebugStatus.All;//绛涢�夋潯浠剁姸鎬�
     private String powerStationStatusValue = PowerStationStatus.All;//鐢电珯鐘舵��(鍏ㄩ儴 涓嶄紶璇ヨ繃婊ゅ弬鏁�,1:姝e父(杩愯),2:绂荤嚎,3:寰呮帴鍏�,4:鏁呴殰)
+    private String powerStationTypeValue = PowerStationType.All;//鐢电珯绫诲瀷(INV = 閫嗗彉鍣ㄧ數绔�;BMS = BMS鐢电珯)
 
     private final long pageSize = 100;//涓�椤靛ぇ灏�
 
@@ -122,6 +124,7 @@
         installedCapacityMaxValue = "";
         screeningConditionStatus = DebugStatus.All;
         powerStationStatusValue = PowerStationStatus.All;
+        powerStationTypeValue = PowerStationType.All;
     }
 
     @Override
@@ -158,7 +161,7 @@
                 selectedTitleLabelStyle();
                 initializationState();
                 getStatusOverview();
-                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true);
+                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, powerStationTypeValue, 1, true);
 
             }
         });
@@ -184,7 +187,7 @@
                 powerStationStatusValue = PowerStationStatus.All;
                 stationStatusStyle(viewBinding.allLl, viewBinding.allDesTv);
                 getStatusOverview();
-                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true);
+                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, powerStationTypeValue, 1, true);
             }
         });
         //鏁呴殰
@@ -197,7 +200,7 @@
                 powerStationStatusValue = PowerStationStatus.malfunction;
                 stationStatusStyle(viewBinding.faultsLl, viewBinding.faultsDesTv);
                 getStatusOverview();
-                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true);
+                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, powerStationTypeValue, 1, true);
             }
         });
         //绂荤嚎
@@ -210,7 +213,7 @@
                 powerStationStatusValue = PowerStationStatus.off;
                 stationStatusStyle(viewBinding.offlineLl, viewBinding.offlineDesTv);
                 getStatusOverview();
-                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true);
+                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, powerStationTypeValue, 1, true);
             }
         });
         //寰呮帴鍏�
@@ -223,7 +226,7 @@
                 powerStationStatusValue = PowerStationStatus.connecting;
                 stationStatusStyle(viewBinding.connectedLl, viewBinding.connectedDesTv);
                 getStatusOverview();
-                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true);
+                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, powerStationTypeValue, 1, true);
             }
         });
 
@@ -286,15 +289,16 @@
             public void onClick(View v) {
                 DefaultFilteringDialog defaultFilteringDialog = new DefaultFilteringDialog(_mActivity);
                 defaultFilteringDialog.show();
-                defaultFilteringDialog.initState(installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus);
+                defaultFilteringDialog.initState(installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus,powerStationTypeValue);
                 defaultFilteringDialog.setOnClickListener(new DefaultFilteringDialog.OnClickListener() {
                     @Override
-                    public void confirm(String min, String max, String state) {
+                    public void confirm(String min, String max, String state, String powerStationType) {
                         installedCapacityMinValue = min;//鏈�灏忕粍涓插閲�(瑁呮満瀹归噺)
                         installedCapacityMaxValue = max;//鏈�澶х粍涓插閲�(瑁呮満瀹归噺)
                         screeningConditionStatus = state;//璋冭瘯鐘舵��(鍏ㄩ儴;璋冭瘯涓�;璋冭瘯瀹屾垚;宸蹭氦浠�;鎺堟潈璋冭瘯)
+                        powerStationTypeValue = powerStationType;//鐢电珯绫诲瀷(INV = 閫嗗彉鍣ㄧ數绔�;BMS = BMS鐢电珯)
                         getStatusOverview();
-                        loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true);
+                        loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, powerStationTypeValue, 1, true);
                     }
                 });
             }
@@ -426,7 +430,7 @@
                 key = SortType.installedCapacitySort;
                 value = isSelected ? SortValue.ascending : SortValue.descending;
                 getStatusOverview();
-                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true);
+                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, powerStationTypeValue,1, true);
             }
         });
         //棰濆畾鍔熺巼绛涢��
@@ -438,7 +442,7 @@
                 key = SortType.invPowerSort;
                 value = isSelected ? SortValue.ascending : SortValue.descending;
                 getStatusOverview();
-                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true);
+                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, powerStationTypeValue,1, true);
             }
         });
         //鐢电珯鐢垫睜瀹归噺绛涢��
@@ -450,7 +454,7 @@
                 key = SortType.batteryCapacitySort;
                 value = isSelected ? SortValue.ascending : SortValue.descending;
                 getStatusOverview();
-                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true);
+                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, powerStationTypeValue,1, true);
             }
         });
         //鐢电珯褰撴棩鍙戠數閲忕瓫閫�
@@ -462,7 +466,7 @@
                 key = SortType.todayElectricitySort;
                 value = isSelected ? SortValue.ascending : SortValue.descending;
                 getStatusOverview();
-                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true);
+                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue,powerStationTypeValue, 1, true);
             }
         });
         //璁惧鐐瑰嚮
@@ -720,7 +724,7 @@
 //                    MqttRecvClient.getInstance().removeAllTopic();
 //                }
 
-                loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true);
+                loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue,powerStationTypeValue, 1, true);
             }
         } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST.equals(eventBus.getType())) {
             // 鍙栨秷绮樻�т簨浠�
@@ -763,7 +767,7 @@
                 initializationState();
                 stationStatusStyle(viewBinding.allLl, viewBinding.allDesTv);
                 getStatusOverview();
-                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true);
+                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue,powerStationTypeValue, 1, true);
             } else if (eventBus.getType().equals(ConstantManage.station_page)) {
                 // 鍙栨秷绮樻�т簨浠�
                 EventBus.getDefault().removeStickyEvent(eventBus);
@@ -781,7 +785,7 @@
                     stationStatusStyle(viewBinding.connectedLl, viewBinding.connectedDesTv);
                 }
                 getStatusOverview();
-                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true);
+                loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue,powerStationTypeValue, 1, true);
             } else if (eventBus.getType().equals(ConstantManage.station_edit)) {
                 //缂栬緫鍚庢洿鏂颁竴涓嬩綇瀹呭垪琛�
                 //loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true);
@@ -800,7 +804,7 @@
      * 鐢电珯鐘舵�佹瑙�
      */
     private void getStatusOverview() {
-        HdlResidenceLogic.getInstance().getStatusOverview(screeningConditionStatus, installedCapacityMinValue, installedCapacityMaxValue, new CloudCallBeak<StatusOverviewBean>() {
+        HdlResidenceLogic.getInstance().getStatusOverview(screeningConditionStatus, installedCapacityMinValue, installedCapacityMaxValue,powerStationTypeValue, new CloudCallBeak<StatusOverviewBean>() {
             @Override
             public void onSuccess(StatusOverviewBean statusOverviewBean) {
                 if (statusOverviewBean == null) {
@@ -834,10 +838,11 @@
      * @param installedCapacityMax 鏈�澶х粍涓插閲�(瑁呮満瀹归噺)
      * @param gridType             璋冭瘯鐘舵��(鍏ㄩ儴;璋冭瘯涓�;璋冭瘯瀹屾垚;宸蹭氦浠�;鎺堟潈璋冭瘯)
      * @param powerStationStatus   鐢电珯鐘舵�� (鍏ㄩ儴  锛�"";1 锛� 姝e父;2 锛� 绂荤嚎; 3 锛� 寰呮帴鍏�;4 锛� 鏁呴殰)
+     * @param powerStationType     鐢电珯绫诲瀷(INV = 閫嗗彉鍣ㄧ數绔�;BMS = BMS鐢电珯)
      * @param pageNo               椤电爜
      * @param isClear              鏄惁娓呴櫎鏁版嵁
      */
-    private void loadNextPageHouseList(boolean isRefreshing, String key, String keyValue, String installedCapacityMin, String installedCapacityMax, String gridType, String powerStationStatus, long pageNo, boolean isClear) {
+    private void loadNextPageHouseList(boolean isRefreshing, String key, String keyValue, String installedCapacityMin, String installedCapacityMax, String gridType, String powerStationStatus, String powerStationType, long pageNo, boolean isClear) {
         isReadData = true;
         if (isClear) {
             clearData();
@@ -854,7 +859,7 @@
         }
 
         //鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃
-        HdlResidenceLogic.getInstance().getResidenceIdList(key, keyValue, installedCapacityMin, installedCapacityMax, gridType, powerStationStatus, pageNo, pageSize, new CloudCallBeak<HdlResidenceLogic.HouseBeanClass>() {
+        HdlResidenceLogic.getInstance().getResidenceIdList(key, keyValue, installedCapacityMin, installedCapacityMax, gridType, powerStationStatus, powerStationType, pageNo, pageSize, new CloudCallBeak<HdlResidenceLogic.HouseBeanClass>() {
             @Override
             public void onSuccess(HdlResidenceLogic.HouseBeanClass houseBeanClass) {
                 HdlThreadLogic.runMainThread(new Runnable() {
@@ -1191,7 +1196,7 @@
                         // 鎵ц浠诲姟锛堝鏇存柊UI銆佽烦杞瓑锛�
                         viewBinding.fragmentHouseSrl.endRefreshing();
                         //鍔犺浇鏈�鏂版暟鎹畬鎴�
-                        loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true);
+                        loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, powerStationTypeValue,1, true);
                         getStatusOverview();
                     }
                 }.execute();
@@ -1218,7 +1223,7 @@
                         viewBinding.fragmentHouseSrl.endLoadingMore();
                         if (!isHouseLoadingMore) {
                             // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔
-                            loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, ++currentHouseListPage, false);
+                            loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue,powerStationTypeValue, ++currentHouseListPage, false);
                         }
                     }
                 }.execute();
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java
index 5bb6376..4d78681 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java
@@ -382,7 +382,7 @@
 
         //鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃
         HdlResidenceLogic.getInstance().getResidenceIdList(SortType.homeName, currSearchText,
-                "", "", "", "",
+                "", "", "", "","",
                 pageNo, 20, new CloudCallBeak<HdlResidenceLogic.HouseBeanClass>() {
                     @Override
                     public void onSuccess(HdlResidenceLogic.HouseBeanClass houseBeanClass) {
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java
index d5db2d9..3e11a0e 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java
@@ -445,7 +445,7 @@
             showLoading(getString(R.string.device_loading));
         }
         //鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃
-        HdlResidenceLogic.getInstance().getResidenceIdList("", "", "", "", "", "", 1, 200, new CloudCallBeak<HdlResidenceLogic.HouseBeanClass>() {
+        HdlResidenceLogic.getInstance().getResidenceIdList("", "", "", "", "", "","", 1, 200, new CloudCallBeak<HdlResidenceLogic.HouseBeanClass>() {
             @Override
             public void onSuccess(HdlResidenceLogic.HouseBeanClass houseBeanClass) {
                 HdlThreadLogic.runMainThread(new Runnable() {
diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java
index e1e891a..994b3e8 100644
--- a/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java
@@ -21,6 +21,7 @@
 import com.hdl.photovoltaic.databinding.DialogDefaultFilteringBinding;
 import com.hdl.photovoltaic.enums.DebugStatus;
 import com.hdl.photovoltaic.enums.GridType;
+import com.hdl.photovoltaic.enums.PowerStationType;
 import com.hdl.photovoltaic.enums.UnitType;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
 
@@ -41,7 +42,11 @@
     final String text8 = "500+";
 
 
-    private String mStateValue = GridType.All;
+    private String mGridType = GridType.All;
+    /**
+     * 鐢电珯绫诲瀷(INV = 閫嗗彉鍣ㄧ數绔�;BMS = BMS鐢电珯)
+     */
+    private String mPowerStationType = PowerStationType.All;
 
     public DefaultFilteringDialog(@NonNull Context context) {
         super(context, R.style.Custom_Dialog);
@@ -81,11 +86,11 @@
                         if (Integer.parseInt(minValue) > Integer.parseInt(maxValue)) {
                             //鏈�灏忓�煎湪鍓嶉潰
                             if (mOnClickListener != null) {
-                                mOnClickListener.confirm(maxValue, minValue, mStateValue);
+                                mOnClickListener.confirm(maxValue, minValue, mGridType, mPowerStationType);
                             }
                         } else {
                             if (mOnClickListener != null) {
-                                mOnClickListener.confirm(minValue, maxValue, mStateValue);
+                                mOnClickListener.confirm(minValue, maxValue, mGridType, mPowerStationType);
                             }
                         }
                     } catch (Exception e) {
@@ -97,7 +102,7 @@
 
                 } else {
                     if (mOnClickListener != null) {
-                        mOnClickListener.confirm(minValue, maxValue, mStateValue);
+                        mOnClickListener.confirm(minValue, maxValue, mGridType, mPowerStationType);
                     }
                 }
                 dismiss();
@@ -118,7 +123,9 @@
                 setBackgroundColor(null, TitleType.string_capacity);
                 setSelectedText("");
                 setBackgroundColor(viewBinding.allTv, TitleType.debuggingState);
-                mStateValue = DebugStatus.All;
+                setBackgroundColor(viewBinding.powerStationTypeAllTv, TitleType.powerStationType);
+                mGridType = DebugStatus.All;
+                mPowerStationType = PowerStationType.All;
             }
         });
         viewBinding.text1Tv.setOnClickListener(new View.OnClickListener() {
@@ -184,7 +191,7 @@
             @Override
             public void onClick(View v) {
                 setBackgroundColor(viewBinding.allTv, TitleType.debuggingState);
-                mStateValue = DebugStatus.All;
+                mGridType = DebugStatus.All;
             }
         });
         //璋冭瘯涓�
@@ -193,7 +200,7 @@
             @Override
             public void onClick(View v) {
                 setBackgroundColor(viewBinding.beDebuggingTv, TitleType.debuggingState);
-                mStateValue = DebugStatus.Debugging;
+                mGridType = DebugStatus.Debugging;
             }
         });
         //璋冭瘯瀹屾垚
@@ -202,7 +209,7 @@
             @Override
             public void onClick(View v) {
                 setBackgroundColor(viewBinding.debuggingcOmpletedTv, TitleType.debuggingState);
-                mStateValue = DebugStatus.WAIT_DELIVERED;
+                mGridType = DebugStatus.WAIT_DELIVERED;
             }
         });
         //宸蹭氦浠�
@@ -211,7 +218,7 @@
             @Override
             public void onClick(View v) {
                 setBackgroundColor(viewBinding.deliveredTv, TitleType.debuggingState);
-                mStateValue = DebugStatus.Delivered;
+                mGridType = DebugStatus.Delivered;
             }
         });
         //鎺堟潈璋冭瘯
@@ -220,7 +227,36 @@
             @Override
             public void onClick(View v) {
                 setBackgroundColor(viewBinding.authorizationDebuggingTv, TitleType.debuggingState);
-                mStateValue = DebugStatus.SECONDARY_DEBUGGIN;
+                mGridType = DebugStatus.SECONDARY_DEBUGGIN;
+            }
+        });
+        //鐢电珯绫诲瀷--鍏ㄩ儴
+        viewBinding.powerStationTypeAllTv.setOnClickListener(new View.OnClickListener() {
+
+            @Override
+            public void onClick(View v) {
+                setBackgroundColor(viewBinding.powerStationTypeAllTv, TitleType.powerStationType);
+                mPowerStationType = PowerStationType.All;
+            }
+        });
+
+        //鐢电珯绫诲瀷--閫嗗彉鍣�
+        viewBinding.powerStationTypeInvTv.setOnClickListener(new View.OnClickListener() {
+
+            @Override
+            public void onClick(View v) {
+                setBackgroundColor(viewBinding.powerStationTypeInvTv, TitleType.powerStationType);
+                mPowerStationType = PowerStationType.INV;
+            }
+        });
+
+        //鐢电珯绫诲瀷--BMS
+        viewBinding.powerStationTypeBmsTv.setOnClickListener(new View.OnClickListener() {
+
+            @Override
+            public void onClick(View v) {
+                setBackgroundColor(viewBinding.powerStationTypeBmsTv, TitleType.powerStationType);
+                mPowerStationType = PowerStationType.BMS;
             }
         });
 
@@ -267,6 +303,10 @@
             viewBinding.text6Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
             viewBinding.text7Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
             viewBinding.text8Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
+        } else if (titleType == TitleType.powerStationType) {
+            viewBinding.powerStationTypeAllTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
+            viewBinding.powerStationTypeInvTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
+            viewBinding.powerStationTypeBmsTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
         } else {
             viewBinding.allTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
             viewBinding.beDebuggingTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
@@ -280,9 +320,10 @@
 
     }
 
-    public void initState(String min, String max, String stateValue) {
+    public void initState(String min, String max, String stateValue, String powerStationTypeValue) {
         try {
-            mStateValue = stateValue;
+            mPowerStationType = powerStationTypeValue;
+            mGridType = stateValue;
             viewBinding.minEt.setText(min);
             viewBinding.maxEt.setText(max);
 
@@ -336,6 +377,21 @@
                     break;
                 }
             }
+            switch (powerStationTypeValue) {
+                case PowerStationType.All:
+                    setBackgroundColor(viewBinding.powerStationTypeAllTv, TitleType.powerStationType);
+                    break;
+                case PowerStationType.INV:
+                    setBackgroundColor(viewBinding.powerStationTypeInvTv, TitleType.powerStationType);
+                    break;
+                case PowerStationType.BMS:
+                    setBackgroundColor(viewBinding.powerStationTypeBmsTv, TitleType.powerStationType);
+                    break;
+                default: {
+                    setBackgroundColor(viewBinding.powerStationTypeAllTv, TitleType.powerStationType);
+                    break;
+                }
+            }
         } catch (Exception ignored) {
         }
 
@@ -361,6 +417,7 @@
         viewBinding.authorizationDebuggingTv.setTag(DebugStatus.SECONDARY_DEBUGGIN);
         setBackgroundColor(null, TitleType.string_capacity);
         setBackgroundColor(viewBinding.allTv, TitleType.debuggingState);
+        setBackgroundColor(viewBinding.powerStationTypeAllTv, TitleType.powerStationType);
     }
 
     public void setOnClickListener(OnClickListener onClickListener) {
@@ -371,12 +428,13 @@
 
 
     public interface OnClickListener {
-        void confirm(String min, String max, String state);
+        void confirm(String min, String max, String state, String powerStationType);
     }
 
     public enum TitleType {
         string_capacity,//缁勪覆瀹归噺
-        debuggingState//璋冭瘯鐘舵��
+        debuggingState,//璋冭瘯鐘舵��
+        powerStationType//鐢电珯绫诲瀷
 
     }
 
diff --git a/app/src/main/res/layout/dialog_default_filtering.xml b/app/src/main/res/layout/dialog_default_filtering.xml
index ca85e8f..0bf66cc 100644
--- a/app/src/main/res/layout/dialog_default_filtering.xml
+++ b/app/src/main/res/layout/dialog_default_filtering.xml
@@ -413,6 +413,72 @@
             android:layout_height="match_parent" />
     </LinearLayout>
 
+    <TextView
+        android:id="@+id/powerStationType_title_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/dp_23"
+        android:layout_marginStart="@dimen/dp_20"
+        android:layout_marginTop="37dp"
+        android:text="@string/power_station_type"
+        android:textColor="@color/text_FFACACAC"
+        android:textSize="@dimen/text_14"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/line5_ll" />
+
+    <LinearLayout
+        android:id="@+id/line6_ll"
+        android:layout_width="0dp"
+        android:layout_height="@dimen/dp_35"
+        android:layout_marginStart="@dimen/dp_20"
+        android:layout_marginTop="@dimen/dp_8"
+        android:layout_marginEnd="@dimen/dp_20"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/powerStationType_title_tv">
+
+        <!--鍏ㄩ儴-->
+        <TextView
+            android:id="@+id/powerStationType_all_tv"
+            android:layout_width="102dp"
+            android:layout_height="match_parent"
+            android:background="@drawable/config_129"
+            android:gravity="center"
+            android:text="@string/message_all"
+            android:textColor="@color/text_FFACACAC"
+            android:textSize="@dimen/text_12" />
+
+        <View
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="1" />
+        <!--閫嗗彉鍣�-->
+        <TextView
+            android:id="@+id/powerStationType_inv_tv"
+            android:layout_width="102dp"
+            android:layout_height="match_parent"
+            android:background="@drawable/config_129"
+            android:gravity="center"
+            android:text="@string/alarm_all_device_inverter"
+            android:textColor="@color/text_FFACACAC"
+            android:textSize="@dimen/text_12" />
+
+        <View
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="1" />
+        <!--BMS-->
+        <TextView
+            android:id="@+id/powerStationType_bms_tv"
+            android:layout_width="102dp"
+            android:layout_height="match_parent"
+            android:background="@drawable/config_129"
+            android:gravity="center"
+            android:text="@string/bms"
+            android:textColor="@color/text_FFACACAC"
+            android:textSize="@dimen/text_12" />
+
+    </LinearLayout>
+
     <RelativeLayout
         android:id="@+id/reset_rl"
         android:layout_width="0dp"
@@ -421,7 +487,7 @@
         android:background="@color/text_FF39383D"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/line5_ll">
+        app:layout_constraintTop_toBottomOf="@+id/line6_ll">
 
         <LinearLayout
             android:layout_width="wrap_content"
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 79079bd..9e297cd 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -378,4 +378,6 @@
     <string name="exit">禺乇賵噩</string>
     <string name="bluetooth_not_enabled">丕賱亘賱賵鬲賵孬 賱丕 賷毓賲賱</string>
     <string name="write_failed">賮卮賱 賮賷 丕賱賰鬲丕亘丞</string>
+    <string name="power_station_type">賳賵毓 賲丨胤丞 丕賱胤丕賯丞</string>
+    <string name="bms">BMS</string>
 </resources>
\ No newline at end of file
diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml
index 033d294..7ade3f5 100644
--- a/app/src/main/res/values-en/strings.xml
+++ b/app/src/main/res/values-en/strings.xml
@@ -380,5 +380,7 @@
     <string name="exit">Exit</string>
     <string name="bluetooth_not_enabled">Bluetooth is not enabled</string>
     <string name="write_failed">Write failed</string>
+    <string name="power_station_type">Power station type</string>
+    <string name="bms">BMS</string>
 
 </resources>
\ No newline at end of file
diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml
index 7da306f..a62e06f 100644
--- a/app/src/main/res/values-zh/strings.xml
+++ b/app/src/main/res/values-zh/strings.xml
@@ -376,4 +376,6 @@
     <string name="exit">閫�鍑�</string>
     <string name="bluetooth_not_enabled">钃濈墮娌″紑鍚�</string>
     <string name="write_failed">鍐欏叆澶辫触</string>
+    <string name="power_station_type">鐢电珯绫诲瀷</string>
+    <string name="bms">BMS</string>
 </resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 389eeeb..f4f10dc 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -380,4 +380,6 @@
     <string name="exit">Exit</string>
     <string name="bluetooth_not_enabled">Bluetooth is not enabled</string>
     <string name="write_failed">Write failed</string>
+    <string name="power_station_type">Power station type</string>
+    <string name="bms">BMS</string>
 </resources>
\ No newline at end of file

--
Gitblit v1.8.0