From eeb6f0b4bf0a81834325638401d5fa404e53db93 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期四, 05 九月 2024 19:41:45 +0800
Subject: [PATCH] 金茂光伏储能,热水器;自动化,空调,地暖步进判断

---
 SiriIntents/SiriIntents.csproj                                                    |    8 
 HDL-ON_Android/Properties/AndroidManifest.xml                                     |    2 
 HDL_ON/UI/UI2/1-HomePage/HomePage.cs                                              |    2 
 HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs                |  418 +++++++---------
 HDL-ON_iOS/HDL-ON_iOS.csproj                                                      |    8 
 HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/BatteryIconCharg100.png    |    0 
 HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/BatteryIconShutdown100.png |    0 
 HDL-ON_Android/HDL-ON_Android.csproj                                              |    4 
 HDL-ON_iOS/Info.plist                                                             |    4 
 HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/BatteryIconFault100.png     |    0 
 HDL_ON/Common/HDLCommon.cs                                                        |    1 
 HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/BatteryIconCharg100.png     |    0 
 HDL_ON/DAL/DriverLayer/Control.cs                                                 |   44 
 SiriIntentsUI/SiriIntentsUI.csproj                                                |    6 
 HDL_ON/UI/UI1-Login/LoginPage.cs                                                  |    6 
 SiriIntents/Server/HttpUtil.cs                                                    |   14 
 HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/BatteryIconDischarg100.png  |    0 
 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TemperatureView.cs              |    7 
 HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPage.cs                  |    1 
 HDL_ON/DAL/DriverLayer/Control_Udp.cs                                             |    1 
 HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs                           |    1 
 HDL_ON/Entity/FunctionList.cs                                                     |    7 
 HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs                    |    6 
 HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/BatteryIconShutdown100.png  |    0 
 HDL_ON/UI/UI2/FuntionControlView/Acst/WetarHeaterJinmaoHistoryPage.cs             |  290 ++++------
 HDL_ON/DAL/Server/HttpUtil.cs                                                     |   14 
 HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/BatteryIconFault100.png    |    0 
 HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoPage.cs                       |  438 ++++++++++++++--
 HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/BatteryIconDischarg100.png |    0 
 HDL_ON/UI/UI2/FuntionControlView/Acst/WaterHeaterJinmaoPage.cs                    |  217 ++++----
 30 files changed, 856 insertions(+), 643 deletions(-)

diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/BatteryIconCharg100.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/BatteryIconCharg100.png
new file mode 100644
index 0000000..6ab90fe
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/BatteryIconCharg100.png
Binary files differ
diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/BatteryIconDischarg100.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/BatteryIconDischarg100.png
new file mode 100644
index 0000000..94e8d15
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/BatteryIconDischarg100.png
Binary files differ
diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/BatteryIconFault100.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/BatteryIconFault100.png
new file mode 100644
index 0000000..1ae7e24
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/BatteryIconFault100.png
Binary files differ
diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/BatteryIconShutdown100.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/BatteryIconShutdown100.png
new file mode 100644
index 0000000..cf8f972
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/BatteryIconShutdown100.png
Binary files differ
diff --git a/HDL-ON_Android/HDL-ON_Android.csproj b/HDL-ON_Android/HDL-ON_Android.csproj
index e85b97c..50108d5 100644
--- a/HDL-ON_Android/HDL-ON_Android.csproj
+++ b/HDL-ON_Android/HDL-ON_Android.csproj
@@ -662,6 +662,10 @@
     <AndroidAsset Include="Assets\Phone\FunctionIcon\Acst\Inverter\EsIconFault.png" />
     <AndroidAsset Include="Assets\Phone\FunctionIcon\FunctionBg\AcstFunctionBg.png" />
     <AndroidAsset Include="Assets\Phone\FunctionIcon\FunctionBg\InverterJinmaoFunctionBg.png" />
+    <AndroidAsset Include="Assets\Phone\FunctionIcon\Acst\Inverter\BatteryIconCharg100.png" />
+    <AndroidAsset Include="Assets\Phone\FunctionIcon\Acst\Inverter\BatteryIconDischarg100.png" />
+    <AndroidAsset Include="Assets\Phone\FunctionIcon\Acst\Inverter\BatteryIconFault100.png" />
+    <AndroidAsset Include="Assets\Phone\FunctionIcon\Acst\Inverter\BatteryIconShutdown100.png" />
   </ItemGroup>
   <ItemGroup>
     <AndroidResource Include="Resources\values\colors.xml" />
diff --git a/HDL-ON_Android/Properties/AndroidManifest.xml b/HDL-ON_Android/Properties/AndroidManifest.xml
index e96b57f..a328a7f 100644
--- a/HDL-ON_Android/Properties/AndroidManifest.xml
+++ b/HDL-ON_Android/Properties/AndroidManifest.xml
@@ -1,5 +1,5 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.5.0" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202408091">
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.5.0" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202409051">
 	<uses-sdk android:minSdkVersion="26" android:targetSdkVersion="29" />
 	<uses-permission android:name="android.permission.RECEIVE_SMS" />
 	<!--绋嬪簭鍙互璇诲彇璁惧澶栭儴瀛樺偍绌洪棿(鍐呯疆SDcard鍜屽缃甋DCard)鐨勬枃浠讹紝鎴戠殑鏂囦欢绛�-->
diff --git a/HDL-ON_iOS/HDL-ON_iOS.csproj b/HDL-ON_iOS/HDL-ON_iOS.csproj
index 433c415..7bf23ac 100644
--- a/HDL-ON_iOS/HDL-ON_iOS.csproj
+++ b/HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -27,7 +27,7 @@
         <MtouchDebug>true</MtouchDebug>
         <CodesignKey>iPhone Developer</CodesignKey>
         <MtouchExtraArgs>-gcc_flags="-dead_strip -ObjC"</MtouchExtraArgs>
-        <CodesignProvision>0002-OnPro-240830-1-Dev</CodesignProvision>
+        <CodesignProvision>Automatic</CodesignProvision>
         <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
         <MtouchI18n>cjk</MtouchI18n>
         <MtouchSdkVersion>17.5</MtouchSdkVersion>
@@ -61,7 +61,7 @@
         <MtouchEnableSGenConc>false</MtouchEnableSGenConc>
 <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
 <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-<CodesignProvision>0002-OnPro-240704-1-Dev</CodesignProvision>
+<CodesignProvision>0002-OnPro-240905-1-Dev</CodesignProvision>
 <MtouchSdkVersion>17.5</MtouchSdkVersion>
     </PropertyGroup>
     <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
@@ -1843,6 +1843,10 @@
       <BundleResource Include="Resources\Phone\FunctionIcon\Acst\WaterHeater\Mode_QuickHeat_On.png" />
       <BundleResource Include="Resources\Phone\FunctionIcon\Acst\WaterHeater\ModeFree_True.png" />
       <BundleResource Include="Resources\Phone\FunctionIcon\FunctionBg\InverterJinmaoFunctionBg.png" />
+      <BundleResource Include="Resources\Phone\FunctionIcon\Acst\Inverter\BatteryIconCharg100.png" />
+      <BundleResource Include="Resources\Phone\FunctionIcon\Acst\Inverter\BatteryIconDischarg100.png" />
+      <BundleResource Include="Resources\Phone\FunctionIcon\Acst\Inverter\BatteryIconFault100.png" />
+      <BundleResource Include="Resources\Phone\FunctionIcon\Acst\Inverter\BatteryIconShutdown100.png" />
     </ItemGroup>
     <ItemGroup>
       <ITunesArtwork Include="iTunesArtwork" />
diff --git a/HDL-ON_iOS/Info.plist b/HDL-ON_iOS/Info.plist
index 9837d4d..855270a 100644
--- a/HDL-ON_iOS/Info.plist
+++ b/HDL-ON_iOS/Info.plist
@@ -11,7 +11,7 @@
 	<key>CFBundleName</key>
 	<string>On Pro</string>
 	<key>CFBundleShortVersionString</key>
-	<string>2.4.8</string>
+	<string>2.5.0</string>
 	<key>CFBundleURLTypes</key>
 	<array>
 		<dict>
@@ -36,7 +36,7 @@
 		</dict>
 	</array>
 	<key>CFBundleVersion</key>
-	<string>2.4.8</string>
+	<string>2.5.0</string>
 	<key>LSApplicationQueriesSchemes</key>
 	<array>
 		<string>weixinULAPI</string>
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/BatteryIconCharg100.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/BatteryIconCharg100.png
new file mode 100644
index 0000000..6ab90fe
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/BatteryIconCharg100.png
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/BatteryIconDischarg100.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/BatteryIconDischarg100.png
new file mode 100644
index 0000000..94e8d15
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/BatteryIconDischarg100.png
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/BatteryIconFault100.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/BatteryIconFault100.png
new file mode 100644
index 0000000..1ae7e24
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/BatteryIconFault100.png
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/BatteryIconShutdown100.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/BatteryIconShutdown100.png
new file mode 100644
index 0000000..cf8f972
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/BatteryIconShutdown100.png
Binary files differ
diff --git a/HDL_ON/Common/HDLCommon.cs b/HDL_ON/Common/HDLCommon.cs
index db3372f..2103bb9 100644
--- a/HDL_ON/Common/HDLCommon.cs
+++ b/HDL_ON/Common/HDLCommon.cs
@@ -537,6 +537,7 @@
             switch (UserInfo.Current.AccountString)
             {
                 case "464027401@qq.com":
+                case "649362315@qq.com":
                 case "13580507523":
                 case "15626203746":
                 case "18316672920":
diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs
index b33337b..39db401 100644
--- a/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/HDL_ON/DAL/DriverLayer/Control.cs
@@ -111,7 +111,7 @@
                     {
                         //淇敼涓婚〉杩炴帴鐘舵��
                         HomePage.LoadEvent_CheckLinkStatus();
-                        MainPage.Log($"缃戝叧灞�鍩熺綉鍦ㄧ嚎锛屽埛鏂拌澶囩姸鎬�");
+                        //MainPage.Log($"缃戝叧灞�鍩熺綉鍦ㄧ嚎锛屽埛鏂拌澶囩姸鎬�");
                         new System.Threading.Thread(() =>
                         {
                             System.Threading.Thread.Sleep(1000);
@@ -127,7 +127,7 @@
                 }
                 else
                 {
-                    MainPage.Log($"鐘舵�佷竴鑷达紝涓嶆洿鏂版暟鎹�(鏈湴)");
+                    //MainPage.Log($"鐘舵�佷竴鑷达紝涓嶆洿鏂版暟鎹�(鏈湴)");
                 }
             }
         }
@@ -404,7 +404,7 @@
                     }
                     asd.status = status1;
                     upDataObj.objects.Add(asd);
-                    revString = Newtonsoft.Json.JsonConvert.SerializeObject(upDataObj);
+                    revString = JsonConvert.SerializeObject(upDataObj);
                     UpdataFunctionStatus(revString, null, true);
                 }
                 return;
@@ -480,12 +480,12 @@
                 }
                 asd.status = status1;
                 upDataObj.objects.Add(asd);
-                revString = Newtonsoft.Json.JsonConvert.SerializeObject(upDataObj);
+                revString = JsonConvert.SerializeObject(upDataObj);
                 UpdataFunctionStatus(revString, null, true);
                 return true;
             }
 
-            //MainPage.Log($"鍙戦�佹暟鎹�:{Newtonsoft.Json.JsonConvert.SerializeObject(commandDictionary)}");
+            //MainPage.Log($"鍙戦�佹暟鎹�:{JsonConvert.SerializeObject(commandDictionary)}");
 
             ///绗笁鏂规秱楦﹁澶囩粺涓�浣跨敤杩滅▼鎺у埗
             switch (function.spk)
@@ -532,7 +532,7 @@
                     else
                     {
                         var functionControlDataObj = function.GetGatewayAlinkControlData(commandDictionary);
-                        var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(functionControlDataObj);
+                        var functionControlDataJson = JsonConvert.SerializeObject(functionControlDataObj);
                         var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlFunctionTopic, functionControlDataJson);
                         new Control_Udp().SendLocalHdlLinkData(sendBytes, functionControlDataObj.id, resend);
                         MainPage.Log($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}");
@@ -664,7 +664,7 @@
             if (pack != null && pack.Data != null)
             {
                 //寰呮祴璇�2021-03-04
-                var ddd = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AlinkStatusData>>(pack.Data.ToString());
+                var ddd = JsonConvert.DeserializeObject<List<AlinkStatusData>>(pack.Data.ToString());
                 if (ddd != null)
                 {
                     foreach (var function in ddd)
@@ -724,7 +724,7 @@
                                         },
                             time_stamp = Utlis.GetTimestamp()
                         };
-                        var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(readDataObj);
+                        var functionControlDataJson = JsonConvert.SerializeObject(readDataObj);
                         var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ReadStatus, functionControlDataJson);
                         MainPage.Log($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}");
                         new Control_Udp().SendLocalHdlLinkData(sendBytes, readDataObj.id);
@@ -806,7 +806,7 @@
                             objects = objects,
                             time_stamp = Utlis.GetTimestamp()
                         };
-                        var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(readDataObj);
+                        var functionControlDataJson = JsonConvert.SerializeObject(readDataObj);
                         var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ReadStatus, functionControlDataJson);
                         MainPage.Log($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}");
                         new Control_Udp().SendLocalHdlLinkData(sendBytes, readDataObj.id);
@@ -850,7 +850,7 @@
                         },
                     time_stamp = Utlis.GetTimestamp()
                 };
-                var aLinkJson = Newtonsoft.Json.JsonConvert.SerializeObject(aLinkData);
+                var aLinkJson = JsonConvert.SerializeObject(aLinkData);
                 var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlSeurity, aLinkJson);
                 new Control_Udp().SendLocalHdlLinkData(sendBytes, aLinkData.id);
             }
@@ -904,7 +904,7 @@
                     objects = objects,
                     time_stamp = Utlis.GetTimestamp()
                 };
-                var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(readDataObj);
+                var functionControlDataJson = JsonConvert.SerializeObject(readDataObj);
                 var sendBytes = Ins.ConvertSendBodyData($"/base/{DB_ResidenceData.Instance.HomeGateway.gatewayId}/thing/service/MusicPlayGroupListGet/down", functionControlDataJson);
                 MainPage.Log($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}");
                 new Control_Udp().SendLocalHdlLinkData(sendBytes, readDataObj.id);
@@ -922,7 +922,7 @@
             var sendId = Ins.msg_id.ToString();
             var sendObj = new { objects = objects1, id = sendId, time_stamp = Utlis.GetTimestamp() };
 
-            var aLinkJson = Newtonsoft.Json.JsonConvert.SerializeObject(sendObj);
+            var aLinkJson = JsonConvert.SerializeObject(sendObj);
             var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.AuthGateway, aLinkJson);
             new Control_Udp().SendLocalHdlLinkData(sendBytes, Ins.msg_id.ToString());
         }
@@ -1079,7 +1079,7 @@
 
                 try
                 {
-                    var idMsg = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePack>(res[1]);
+                    var idMsg = JsonConvert.DeserializeObject<ResponsePack>(res[1]);
                     var hasProcess = hasItBeenProcessed(idMsg.id);
                     if (hasProcess)
                     {
@@ -1096,16 +1096,16 @@
                 if (receiveObj.Topic == CommunicationTopic.SearchLoaclGatewayReply || receiveObj.Topic == CommunicationTopic.GatewayBroadcast)
                 {
 
-                    var bodyJObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePack>(res[1]);
+                    var bodyJObj = JsonConvert.DeserializeObject<ResponsePack>(res[1]);
                     if (bodyJObj == null)
                     {
                         return receiveObj;
                     }
 
-                    var device = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceModule>(bodyJObj.objects.ToString());
+                    var device = JsonConvert.DeserializeObject<DeviceModule>(bodyJObj.objects.ToString());
                     if (device.device_mac.ToUpper() == DB_ResidenceData.Instance.HomeGateway.mac.ToUpper())
                     {
-                        MainPage.Log("鏈湴鎼滅储缃戝叧鎴愬姛");
+                        MainPage.Log("鏈湴鎼滅储缃戝叧鎴愬姛锛�"+ receiveObj.Topic);
                         Ins.IsSearchLocalGatewaySuccessful = true;
                         Ins.GatewayOnline_Local = true;
                         if (!string.IsNullOrEmpty(device.gatewayId))
@@ -1150,7 +1150,7 @@
                         var tt = "";
                         lock (tt)
                         {
-                            var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<SecurityStatusObj>(receiveObj.BodyDataString);
+                            var temp = JsonConvert.DeserializeObject<SecurityStatusObj>(receiveObj.BodyDataString);
                             if (temp != null)
                             {
                                 Control_Udp.ReceiveRepeatManager(temp.id, null);
@@ -1175,7 +1175,7 @@
                 }
                 else if (receiveObj.Topic == $"/user/{GatewayId}/custom/gateway/login_reply")
                 {
-                    var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<JObject>(receiveObj.BodyDataString);
+                    var temp = JsonConvert.DeserializeObject<JObject>(receiveObj.BodyDataString);
                     if (temp.GetValue("objects").ToString().Contains("success"))
                     {
                         LocalTcpClientLogin = true;
@@ -1361,7 +1361,7 @@
                                 break;
                             case SPK.WaterHeaterJinmao:
                                 AcstParentPage.UpdateAcstSubInfo(localFunction);
-                                WaterHeaterJinmaoPage.UpdateStatus(localFunction);
+                                WaterHeaterJinmaoPage.UpdateStatus();
                                 break;
                             case SPK.AirSwitch:
                                 AirSwitchPage.UpdataState(localFunction);
@@ -1639,7 +1639,7 @@
                                 var status = new Dictionary<string, object> { ["method"] = "status", ["data"] = temp.objects };
                                 Application.RunOnMainThread(() =>
                                 {
-                                    Inverter.Ins.H5Page.CallJS($"nativeToJs(\'{Newtonsoft.Json.JsonConvert.SerializeObject(status)}\')");
+                                    Inverter.Ins.H5Page.CallJS($"nativeToJs(\'{JsonConvert.SerializeObject(status)}\')");
                                 });
                                 break;
                         }
@@ -1672,7 +1672,7 @@
             {
                 Dictionary<string, string> dic = new Dictionary<string, string>();
                 var functionControlDataObj = doorlock.GetGatewayAlinkDoorlockData(UserInfo.Current.ID, extStr);
-                var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(functionControlDataObj);
+                var functionControlDataJson = JsonConvert.SerializeObject(functionControlDataObj);
                 var sendBytes = Ins.ConvertSendBodyData($"/base/{Control.Ins.GatewayId}/thing/service/doorRemoteOpen/down", functionControlDataJson);
                 new Control_Udp().SendLocalHdlLinkData(sendBytes, functionControlDataObj.id, 0);
             }
@@ -1705,7 +1705,7 @@
                     var pack = HttpUtil.RequestHttpsPost("/home-wisdom/app/device/door/pwdConfirm", requestJson);
                     if (pack.Code == StateCode.SUCCESS)
                     {
-                        Newtonsoft.Json.Linq.JObject pairs = Newtonsoft.Json.Linq.JObject.Parse(pack.Data.ToString());
+                        JObject pairs = JObject.Parse(pack.Data.ToString());
                         var scrip = pairs.GetValue("scrip");
 
                         d = new Dictionary<string, object>();
diff --git a/HDL_ON/DAL/DriverLayer/Control_Udp.cs b/HDL_ON/DAL/DriverLayer/Control_Udp.cs
index 5008602..6ad5775 100644
--- a/HDL_ON/DAL/DriverLayer/Control_Udp.cs
+++ b/HDL_ON/DAL/DriverLayer/Control_Udp.cs
@@ -1218,6 +1218,7 @@
         /// </summary>
         public void SearchLocalGateway(bool broadcast = false)
         {
+            //MainPage.Log("SearchLocalGateway");
             try
             {
                 var sendJob = new JObject { { "id", Control.Ins.msg_id.ToString() }, { "time_stamp", Utlis.GetTimestamp ()} };
diff --git a/HDL_ON/DAL/Server/HttpUtil.cs b/HDL_ON/DAL/Server/HttpUtil.cs
index 1ccfedf..bac48c5 100644
--- a/HDL_ON/DAL/Server/HttpUtil.cs
+++ b/HDL_ON/DAL/Server/HttpUtil.cs
@@ -18,15 +18,13 @@
         /// 鍥哄畾鍩熷悕,姝e紡鐜
         /// 鍏叡鍩熷悕灏辫繎瑙f瀽
         /// </summary>
-        //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
-        //public const string APP_KEY = "HDL-HOME-APP";
-        //public const string SECRET_KEY = "CPL345bn28gHnvi9G4tYbq3cTYkiHC";
+        public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
+        public const string APP_KEY = "HDL-HOME-APP";
+        public const string SECRET_KEY = "CPL345bn28gHnvi9G4tYbq3cTYkiHC";
 
-
-        public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";
-        public const string APP_KEY = "HDL-HOME-APP-TEST";
-        public const string SECRET_KEY = "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss";
-
+        //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";
+        //public const string APP_KEY = "HDL-HOME-APP-TEST";
+        //public const string SECRET_KEY = "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss";
 
         //public const string GlobalRequestHttpsHost = "http://59.41.255.150:7777";//mmmm
         //const string APP_KEY = "CPEVRLRT";
diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index d190820..a2fc90f 100644
--- a/HDL_ON/Entity/FunctionList.cs
+++ b/HDL_ON/Entity/FunctionList.cs
@@ -138,7 +138,12 @@
         /// <returns></returns>
         public List<Function> GetInverterJinmaoList()
         {
-            return Functions.FindAll((obj) => obj.spk == SPK.InverterJinmao);
+            var tempList = Functions.FindAll((obj) => obj.spk == SPK.InverterJinmao);
+            foreach(var device in tempList)
+            {
+                device.collect = true;
+            }
+            return tempList;
         }
 
         /// <summary>
diff --git a/HDL_ON/UI/UI1-Login/LoginPage.cs b/HDL_ON/UI/UI1-Login/LoginPage.cs
index e4d0390..9bb5331 100644
--- a/HDL_ON/UI/UI1-Login/LoginPage.cs
+++ b/HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -315,10 +315,10 @@
                     //etAccount.Text = "13922115008";//鍒樻��
                     //etAccount.Text = "support7@hdlautomation.com";
                     etAccount.Text = "13336018868";
-                    etAccount.Text = "649362315@qq.com";
+                    etAccount.Text = "649362315@qq.com";//钄℃窇濞�
                     //etAccount.Text = "18402017839";
-                    etAccount.Text = "18620993214";
-                    etAccount.Text = "13414984501";
+                    //etAccount.Text = "18620993214";
+                    //etAccount.Text = "13414984501";//鍚存檽鑱�
 
                 }
                 else
diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index 5948abb..dd89adc 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -997,7 +997,7 @@
                     //}
                     //else
                     {
-                        if (!function.collect)
+                        if (!function.collect&& function.spk != SPK.InverterJinmao)
                             continue;
                     }
                     if (index % 2 == 0)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TemperatureView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TemperatureView.cs
index f8b7a85..db3e0fe 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TemperatureView.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TemperatureView.cs
@@ -11,7 +11,7 @@
         /// <param name="frameLayout">寮圭獥鐖舵帶浠�</param>
         /// <param name="stateValue">涔嬪墠鐘舵�佸��</param>
         /// <param name="action">杩斿洖缁撴灉</param>
-        public void FLayoutView(FrameLayout frameLayout, string stateValue, Action<string> action,int min,int max,string unit)
+        public void FLayoutView(FrameLayout frameLayout, string stateValue, Action<string> action,int min,int max,string unit, string setTempAttr)
         {
             FrameLayout frame = new FrameLayout
             {
@@ -32,7 +32,10 @@
             {
                 //娣诲姞鏁版嵁
                 temperatureList.Add(i.ToString() + unit);
-                temperatureList.Add((i + 0.5).ToString() + unit);
+                if (setTempAttr == "0.5")
+                {
+                    temperatureList.Add((i + 0.5).ToString() + unit);
+                }
             }
             //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩)
             view.mUIPickerView.setNPicker(temperatureList, null, null);
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index 0cce40f..5726502 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -492,6 +492,7 @@
                         int min = device.GetAttribute("set_temp") == null ? 16 : device.GetAttribute("set_temp").min;
                         int max = device.GetAttribute("set_temp") == null ? 32 : device.GetAttribute("set_temp").max;
                         string unit = InpOrOutLogicMethod.Current.GetTemperatureUnit(device);
+                        var setTempAttr = device.GetAttribute(FunctionAttributeKey.SetTemp);
                         ///娓╁害鐐瑰嚮浜嬩欢
                         temperatureView.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
@@ -508,7 +509,7 @@
                                 string set_temp_value = stateStr.Replace(unit, "");
                                 //鏁版嵁灏佽
                                 AddDictionary(keyVlaue, set_temp_value);
-                            }, min, max, unit);
+                            }, min, max, unit, setTempAttr.step);
 
                         };
                         ///妯″紡鐐瑰嚮浜嬩欢
@@ -586,6 +587,7 @@
                         DelayView(fLayout, floorHeatingModehView.frameLayout.Bottom);
                         #endregion
                         #region 鐐瑰嚮浜嬩欢
+                        var setTempAttr = device.GetAttribute(FunctionAttributeKey.SetTemp);
                         ///寮�鍏崇偣鍑讳簨浠�
                         floorHeatingSwitchVie.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
@@ -611,7 +613,7 @@
                                 //鏁版嵁灏佽
                                 AddDictionary(keyVlaue, set_temp_value);
 
-                            }, min, max, unit);
+                            }, min, max, unit, setTempAttr.step);
 
                         };
                         ///妯″紡鐐瑰嚮浜嬩欢
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
index 1b65330..c4868c1 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
@@ -1393,6 +1393,7 @@
             }
             else if (sub.spk == SPK.WaterHeaterJinmao)
             {
+                btnSubTempValues.Width = Application.GetRealWidth(45);
                 btnSubTempValues.Text = sub.GetAttrState(WaterHeaterJinmao_AttrEnum.temp.ToString()) + "掳C";
                 EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
                 {
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs
index 247176d..4ebb060 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs
@@ -48,15 +48,11 @@
         string queryTimeString2 = DateTime.Now.ToString("yyyy/MM/dd");
 
 
-        /// <summary>
-        /// echart瀹瑰櫒
-        /// </summary>
-        MyEchartsViewOn tempEchartsView;
-
         public InverterJinmaoHistroyPage(Function deviceFunction)
         {
             bodyView = this;
             function = deviceFunction;
+            BackgroundColor = CSS_Color.BackgroundColor;
         }
 
         public void LoadPage()
@@ -73,7 +69,7 @@
             bodyView.AddChidren(contentView);
 
             #region 鍙戠數閲�
-            var infoView1 = new FrameLayout()
+            infoView1 = new FrameLayout()
             {
                 Width = Application.GetRealWidth(343),
                 Height = Application.GetRealWidth(382),
@@ -100,7 +96,7 @@
             };
             infoView1.AddChidren(infoView1_DateView);
 
-            var infoView1_Date_Day = new Button()
+            infoView1_Date_Day = new Button()
             {
                 Width = Application.GetRealWidth(103),
                 Height = Application.GetRealWidth(26),
@@ -119,7 +115,7 @@
             infoView1_DateView.AddChidren(infoView1_Date_Day);
 
 
-            var infoView1_Date_Month = new Button()
+            infoView1_Date_Month = new Button()
             {
                 Width = Application.GetRealWidth(103),
                 Height = Application.GetRealWidth(26),
@@ -138,7 +134,7 @@
             infoView1_DateView.AddChidren(infoView1_Date_Month);
 
 
-            var infoView1_Date_Year = new Button()
+            infoView1_Date_Year = new Button()
             {
                 Width = Application.GetRealWidth(103),
                 Height = Application.GetRealWidth(26),
@@ -163,7 +159,7 @@
             };
             infoView1.AddChidren(infoView1_DateInfoView);
 
-            var infoView1_DateInfo_PreIconButton = new Button()
+            infoView1_DateInfo_PreIconButton = new Button()
             {
                 X = Application.GetRealWidth(18),
                 Gravity = Gravity.CenterVertical,
@@ -173,7 +169,7 @@
             };
             infoView1_DateInfoView.AddChidren(infoView1_DateInfo_PreIconButton);
 
-            var infoView1_DateInfo_PreClickButton = new Button()
+            infoView1_DateInfo_PreClickButton = new Button()
             {
                 Width = Application.GetRealWidth(32 + 6),
             };
@@ -204,7 +200,7 @@
 
             infoView1_DateInfo_NextClickButton = new Button()
             {
-                X = Application.GetRealWidth(343 - 18 - 6 -32),
+                X = Application.GetRealWidth(343 - 18 - 6 - 32),
                 Width = Application.GetRealWidth(32 + 6),
             };
             infoView1_DateInfoView.AddChidren(infoView1_DateInfo_NextClickButton);
@@ -212,50 +208,50 @@
             #endregion
 
             #region 鏁版嵁鍥捐〃
-            MyEchartsViewOn infoView1_EchartsView = new MyEchartsViewOn()
+            infoView1_EchartsView = new MyEchartsViewOn()
             {
                 Y = Application.GetRealWidth(101),
                 Height = Application.GetRealWidth(246),
             };
             infoView1.AddChidren(infoView1_EchartsView);
 
-            var echartOption = new EchartsOption_Histogram();
-            echartOption.xTitle = "鏃堕棿";
-            echartOption.yTitle = "鐢甸噺锛坘w锛�";
-            echartOption.InitXdataText(new List<string>()
-            {
-                "21","22","23","24","25","26","26","27","28","29",
-                "21","22","23","24","25","26","26","27","28","29",
-                "21","22","23","24"
-            });
-            echartOption.InitYdataText(new List<EnvironmentalSensorHistor>() {
-                new EnvironmentalSensorHistor{ fieldName = "1", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "2", fieldValue= "22"  },
-                new EnvironmentalSensorHistor{ fieldName = "3", fieldValue= "11"  },
-                new EnvironmentalSensorHistor{ fieldName = "4", fieldValue= "21"  },
-                new EnvironmentalSensorHistor{ fieldName = "5", fieldValue= "41"  },
-                new EnvironmentalSensorHistor{ fieldName = "6", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "7", fieldValue= "31"  },
-                new EnvironmentalSensorHistor{ fieldName = "8", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "9", fieldValue= "11"  },
-                new EnvironmentalSensorHistor{ fieldName = "10", fieldValue= "21"  },
-                new EnvironmentalSensorHistor{ fieldName = "11", fieldValue= "24"  },
-                new EnvironmentalSensorHistor{ fieldName = "12", fieldValue= "41"  },
-                new EnvironmentalSensorHistor{ fieldName = "13", fieldValue= "32"  },
-                new EnvironmentalSensorHistor{ fieldName = "14", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "15", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "16", fieldValue= "22"  },
-                new EnvironmentalSensorHistor{ fieldName = "17", fieldValue= "11"  },
-                new EnvironmentalSensorHistor{ fieldName = "18", fieldValue= "21"  },
-                new EnvironmentalSensorHistor{ fieldName = "19", fieldValue= "41"  },
-                new EnvironmentalSensorHistor{ fieldName = "20", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "21", fieldValue= "31"  },
-                new EnvironmentalSensorHistor{ fieldName = "22", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "23", fieldValue= "11"  },
-                new EnvironmentalSensorHistor{ fieldName = "24", fieldValue= "21"  },
-            });
-            var ddd = echartOption.InitOption();
-            infoView1_EchartsView.ShowWithOption(ddd);
+            echartOption1 = new EchartsOption_Histogram();
+            echartOption1.xTitle = "鏃堕棿";
+            echartOption1.yTitle = "鐢甸噺锛坘w锛�";
+            //echartOption.InitXdataText(new List<string>()
+            //{
+            //    "21","22","23","24","25","26","26","27","28","29",
+            //    "21","22","23","24","25","26","26","27","28","29",
+            //    "21","22","23","24"
+            //});
+            //echartOption.InitYdataText(new List<EnvironmentalSensorHistor>() {
+            //    new EnvironmentalSensorHistor{ fieldName = "1", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "2", fieldValue= "22"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "3", fieldValue= "11"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "4", fieldValue= "21"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "5", fieldValue= "41"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "6", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "7", fieldValue= "31"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "8", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "9", fieldValue= "11"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "10", fieldValue= "21"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "11", fieldValue= "24"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "12", fieldValue= "41"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "13", fieldValue= "32"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "14", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "15", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "16", fieldValue= "22"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "17", fieldValue= "11"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "18", fieldValue= "21"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "19", fieldValue= "41"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "20", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "21", fieldValue= "31"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "22", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "23", fieldValue= "11"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "24", fieldValue= "21"  },
+            //});
+            //var ddd = echartOption.InitOption();
+            //infoView1_EchartsView.ShowWithOption(ddd);
 
             infoView1.AddChidren(new Button()
             {
@@ -277,7 +273,7 @@
             });
 
             #region 鐢ㄧ數閲�
-            var infoView2 = new FrameLayout()
+            infoView2 = new FrameLayout()
             {
                 Width = Application.GetRealWidth(343),
                 Height = Application.GetRealWidth(382),
@@ -305,7 +301,7 @@
             };
             infoView2.AddChidren(infoView2_DateView);
 
-            var infoView2_Date_Day = new Button()
+            infoView2_Date_Day = new Button()
             {
                 Width = Application.GetRealWidth(103),
                 Height = Application.GetRealWidth(26),
@@ -324,7 +320,7 @@
             infoView2_DateView.AddChidren(infoView2_Date_Day);
 
 
-            var infoView2_Date_Month = new Button()
+            infoView2_Date_Month = new Button()
             {
                 Width = Application.GetRealWidth(103),
                 Height = Application.GetRealWidth(26),
@@ -343,7 +339,7 @@
             infoView2_DateView.AddChidren(infoView2_Date_Month);
 
 
-            var infoView2_Date_Year = new Button()
+            infoView2_Date_Year = new Button()
             {
                 Width = Application.GetRealWidth(103),
                 Height = Application.GetRealWidth(26),
@@ -368,7 +364,7 @@
             };
             infoView2.AddChidren(infoView2_DateInfoView);
 
-            var infoView2_DateInfo_PreIconButton = new Button()
+            infoView2_DateInfo_PreIconButton = new Button()
             {
                 X = Application.GetRealWidth(18),
                 Gravity = Gravity.CenterVertical,
@@ -378,13 +374,13 @@
             };
             infoView2_DateInfoView.AddChidren(infoView2_DateInfo_PreIconButton);
 
-            var infoView2_DateInfo_PreClickButton = new Button()
+            infoView2_DateInfo_PreClickButton = new Button()
             {
                 Width = Application.GetRealWidth(32 + 6),
             };
             infoView2_DateInfoView.AddChidren(infoView2_DateInfo_PreClickButton);
 
-            var infoView2_DateInfo_DateTextButton = new Button()
+            infoView2_DateInfo_DateTextButton = new Button()
             {
                 Gravity = Gravity.Center,
                 Width = Application.GetRealWidth(200),
@@ -397,7 +393,7 @@
             infoView2_DateInfoView.AddChidren(infoView2_DateInfo_DateTextButton);
 
 
-            var infoView2_DateInfo_NextIconButton = new Button()
+            infoView2_DateInfo_NextIconButton = new Button()
             {
                 X = Application.GetRealWidth(343 - 18 - 6),
                 Gravity = Gravity.CenterVertical,
@@ -407,9 +403,9 @@
             };
             infoView2_DateInfoView.AddChidren(infoView2_DateInfo_NextIconButton);
 
-            var infoView2_DateInfo_NextClickButton = new Button()
+            infoView2_DateInfo_NextClickButton = new Button()
             {
-                X = Application.GetRealWidth(343 - 18 - 6 -32),
+                X = Application.GetRealWidth(343 - 18 - 6 - 32),
                 Width = Application.GetRealWidth(32 + 6),
             };
             infoView2_DateInfoView.AddChidren(infoView2_DateInfo_NextClickButton);
@@ -417,49 +413,49 @@
             #endregion
 
             #region 鏁版嵁鍥捐〃
-            MyEchartsViewOn infoView2_EchartsView = new MyEchartsViewOn()
+            infoView2_EchartsView = new MyEchartsViewOn()
             {
                 Y = Application.GetRealWidth(101),
                 Height = Application.GetRealWidth(246),
             };
             infoView2.AddChidren(infoView2_EchartsView);
 
-            var echartOption2 = new EchartsOption_Histogram();
+            echartOption2 = new EchartsOption_Histogram();
             echartOption2.xTitle = "鏃堕棿";
             echartOption2.yTitle = "鐢甸噺锛坘w锛�";
-            echartOption2.InitXdataText(new List<string>()
-            {
-                "21","22","23","24","25","26","26","27","28","29",
-                "21","22","23","24","25","26","26","27","28","29",
-                "21","22","23","24"
-            });
-            echartOption2.InitYdataText(new List<EnvironmentalSensorHistor>() {
-                new EnvironmentalSensorHistor{ fieldName = "1", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "2", fieldValue= "22"  },
-                new EnvironmentalSensorHistor{ fieldName = "3", fieldValue= "11"  },
-                new EnvironmentalSensorHistor{ fieldName = "4", fieldValue= "21"  },
-                new EnvironmentalSensorHistor{ fieldName = "5", fieldValue= "41"  },
-                new EnvironmentalSensorHistor{ fieldName = "6", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "7", fieldValue= "31"  },
-                new EnvironmentalSensorHistor{ fieldName = "8", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "9", fieldValue= "11"  },
-                new EnvironmentalSensorHistor{ fieldName = "10", fieldValue= "21"  },
-                new EnvironmentalSensorHistor{ fieldName = "11", fieldValue= "24"  },
-                new EnvironmentalSensorHistor{ fieldName = "12", fieldValue= "41"  },
-                new EnvironmentalSensorHistor{ fieldName = "13", fieldValue= "32"  },
-                new EnvironmentalSensorHistor{ fieldName = "14", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "15", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "16", fieldValue= "22"  },
-                new EnvironmentalSensorHistor{ fieldName = "17", fieldValue= "11"  },
-                new EnvironmentalSensorHistor{ fieldName = "18", fieldValue= "21"  },
-                new EnvironmentalSensorHistor{ fieldName = "19", fieldValue= "41"  },
-                new EnvironmentalSensorHistor{ fieldName = "20", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "21", fieldValue= "31"  },
-                new EnvironmentalSensorHistor{ fieldName = "22", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "23", fieldValue= "11"  },
-                new EnvironmentalSensorHistor{ fieldName = "24", fieldValue= "21"  },
-            });
-            infoView2_EchartsView.ShowWithOption(echartOption2.InitOption());
+            //echartOption2.InitXdataText(new List<string>()
+            //{
+            //    "21","22","23","24","25","26","26","27","28","29",
+            //    "21","22","23","24","25","26","26","27","28","29",
+            //    "21","22","23","24"
+            //});
+            //echartOption2.InitYdataText(new List<EnvironmentalSensorHistor>() {
+            //    new EnvironmentalSensorHistor{ fieldName = "1", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "2", fieldValue= "22"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "3", fieldValue= "11"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "4", fieldValue= "21"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "5", fieldValue= "41"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "6", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "7", fieldValue= "31"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "8", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "9", fieldValue= "11"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "10", fieldValue= "21"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "11", fieldValue= "24"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "12", fieldValue= "41"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "13", fieldValue= "32"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "14", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "15", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "16", fieldValue= "22"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "17", fieldValue= "11"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "18", fieldValue= "21"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "19", fieldValue= "41"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "20", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "21", fieldValue= "31"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "22", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "23", fieldValue= "11"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "24", fieldValue= "21"  },
+            //});
+            //infoView2_EchartsView.ShowWithOption(echartOption2.InitOption());
 
             infoView2.AddChidren(new Button()
             {
@@ -483,15 +479,18 @@
             });
 
             initQueryButton();
+
+            getPvElectricityHistory();
+            getLoadElectricityHistory();
         }
 
 
 
         /// <summary>
-        /// 璇诲彇娓╁害鍊煎巻鍙叉暟鎹�
+        /// 璇诲彇鍙戠數閲忓巻鍙叉暟鎹�
         /// hour=杩�24灏忔椂銆乨ay_hour =鏌愭棩24灏忔椂銆亀eek=杩戜竴鍛ㄣ�乵onth = 杩戜竴鏈堛�乧ustom_month=鏌愬勾鏌愭湀 y/M銆乧ustom_year=鏌愬勾 y
         /// </summary>
-        private void getTempHistory()
+        private void getPvElectricityHistory()
         {
             if (MainPage.NoLoginMode)
             {
@@ -501,6 +500,7 @@
             var loadPage = new Loading()
             {
                 LodingBackgroundColor = 0x88888888,
+                BackgroundColor = 0x00FFFFFF,
             };
             infoView1.AddChidren(loadPage);
 
@@ -510,7 +510,7 @@
                 {
                     Application.RunOnMainThread(() =>
                     {
-                        loadPage.Start(Language.StringByID(StringId.PleaseWait));
+                        loadPage.Start();
                     });
 
                     switch (queryType1)
@@ -563,9 +563,9 @@
 
         }
         /// <summary>
-        /// 鑾峰彇鐢ㄦ按閲忓巻鍙茶褰�
+        /// 鑾峰彇鐢ㄧ數閲忓巻鍙茶褰�
         /// </summary>
-        private void getWaterHistory()
+        private void getLoadElectricityHistory()
         {
             if (MainPage.NoLoginMode)
             {
@@ -574,6 +574,7 @@
             var loadPage = new Loading()
             {
                 LodingBackgroundColor = 0x88888888,
+                BackgroundColor = 0x00FFFFFF,
             };
             infoView2.AddChidren(loadPage);
 
@@ -583,7 +584,7 @@
                 {
                     Application.RunOnMainThread(() =>
                     {
-                        loadPage.Start(Language.StringByID(StringId.PleaseWait));
+                        loadPage.Start();
                     });
                     switch (queryType2)
                     {
@@ -641,110 +642,83 @@
             {
                 SetTempQureyDateDialog();
             };
-            infoView1_DateInfo_PreClickButton.MouseUpEventHandler = (sender, e) => {
-                var tempQueryDate = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1);
+            infoView1_DateInfo_PreClickButton.MouseUpEventHandler = (sender, e) =>
+            {
+                var pvElecQueryDate = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1);
                 if (queryType1 == QueryType.day_hour)
                 {
-                    tempQueryDate = tempQueryDate.AddDays(-1);
-                    if (tempQueryDate.Year == 2023 && tempQueryDate.Month == 1 && tempQueryDate.Day == 1)
+                    if (pvElecQueryDate.Year == 2023 && pvElecQueryDate.Month == 1 && pvElecQueryDate.Day == 1)
                     {
-                        infoView1_DateInfo_PreIconButton.Visible = false;
-                        infoView1_DateInfo_PreClickButton.Enable = false;
+                        return;
                     }
-                    if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month && tempQueryDate.Day == DateTime.Now.Day - 1)
-                    {
-                        infoView1_DateInfo_NextIconButton.Visible = true;
-                        infoView1_DateInfo_NextClickButton.Enable = true;
-                    }
+                    pvElecQueryDate = pvElecQueryDate.AddDays(-1);
+                    infoView1_DateInfo_DateTextButton.Text = pvElecQueryDate.ToString("yyyy-MM-dd");
                 }
                 else if (queryType1 == QueryType.custom_month)
                 {
-                    tempQueryDate = tempQueryDate.AddMonths(-1);
-                    if (tempQueryDate.Year == 2023 && tempQueryDate.Month == 1)
+                    if (pvElecQueryDate.Year == 2023 && pvElecQueryDate.Month == 1)
                     {
-                        infoView1_DateInfo_PreIconButton.Visible = false;
-                        infoView1_DateInfo_PreClickButton.Enable = false;
+                        return;
                     }
-                    if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month - 1)
-                    {
-                        infoView1_DateInfo_NextIconButton.Visible = true;
-                        infoView1_DateInfo_NextClickButton.Enable = true;
-                    }
+                    pvElecQueryDate = pvElecQueryDate.AddMonths(-1);
+                    infoView1_DateInfo_DateTextButton.Text = pvElecQueryDate.ToString("yyyy-MM");
                 }
                 else if (queryType1 == QueryType.custom_year)
                 {
-                    tempQueryDate = tempQueryDate.AddYears(-1);
-                    if (tempQueryDate.Year == 2023)
+                    if (pvElecQueryDate.Year == 2023)
                     {
-                        infoView1_DateInfo_PreIconButton.Visible = false;
-                        infoView1_DateInfo_PreClickButton.Enable = false;
+                        return;
                     }
-                    if (tempQueryDate.Year == DateTime.Now.Year - 1)
-                    {
-                        infoView1_DateInfo_NextIconButton.Visible = true;
-                        infoView1_DateInfo_NextClickButton.Enable = true;
-                    }
+                    pvElecQueryDate = pvElecQueryDate.AddYears(-1);
+                    infoView1_DateInfo_DateTextButton.Text = pvElecQueryDate.ToString("yyyy");
                 }
-                queryTime_Year1 = tempQueryDate.Year;
-                queryTime_Month1 = tempQueryDate.Month;
-                queryTime_Day1 = tempQueryDate.Day;
-                infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM-dd");
-                getTempHistory();
+                queryTime_Year1 = pvElecQueryDate.Year;
+                queryTime_Month1 = pvElecQueryDate.Month;
+                queryTime_Day1 = pvElecQueryDate.Day;
+                getPvElectricityHistory();
             };
-            infoView1_DateInfo_NextIconButton.Visible = false;
-            infoView1_DateInfo_NextClickButton.Enable = false;
-            infoView1_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) => {
+            infoView1_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) =>
+            {
                 var tempQueryDate = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1);
                 if (queryType1 == QueryType.day_hour)
                 {
-                    tempQueryDate = tempQueryDate.AddDays(1);
-                    if (tempQueryDate.Year == 2023 && tempQueryDate.Month == 1 && tempQueryDate.Day == 2)
-                    {
-                        infoView1_DateInfo_PreIconButton.Visible = true;
-                        infoView1_DateInfo_PreClickButton.Enable = true;
-                    }
                     if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month && tempQueryDate.Day == DateTime.Now.Day)
                     {
-                        infoView1_DateInfo_NextIconButton.Visible = false;
-                        infoView1_DateInfo_NextClickButton.Enable = false;
+                        return;
                     }
+                    tempQueryDate = tempQueryDate.AddDays(1);
+                    infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM-dd");
                 }
                 else if (queryType1 == QueryType.custom_month)
                 {
-                    tempQueryDate = tempQueryDate.AddMonths(1);
-                    if (tempQueryDate.Year == 2023 && tempQueryDate.Month == 2)
-                    {
-                        infoView1_DateInfo_PreIconButton.Visible = true;
-                        infoView1_DateInfo_PreClickButton.Enable = true;
-                    }
                     if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month)
                     {
-                        infoView1_DateInfo_NextIconButton.Visible = false;
-                        infoView1_DateInfo_NextClickButton.Enable = false;
+                        return;
                     }
+                    tempQueryDate = tempQueryDate.AddMonths(1);
+                    infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM");
                 }
                 else if (queryType1 == QueryType.custom_year)
                 {
-                    tempQueryDate = tempQueryDate.AddYears(1);
                     if (tempQueryDate.Year == 2023)
                     {
-                        infoView1_DateInfo_PreIconButton.Visible = false;
-                        infoView1_DateInfo_PreClickButton.Enable = false;
+                        return;
                     }
                     if (tempQueryDate.Year == DateTime.Now.Year)
                     {
-                        infoView1_DateInfo_NextIconButton.Visible = false;
-                        infoView1_DateInfo_NextClickButton.Enable = false;
+                        return;
                     }
+                    tempQueryDate = tempQueryDate.AddYears(1);
+                    infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy");
                 }
                 queryTime_Year1 = tempQueryDate.Year;
                 queryTime_Month1 = tempQueryDate.Month;
                 queryTime_Day1 = tempQueryDate.Day;
-                infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM-dd");
-                getTempHistory();
+                getPvElectricityHistory();
             };
 
-            infoView1_Date_Day.MouseUpEventHandler = (sender, e) => {
+            infoView1_Date_Day.MouseUpEventHandler = (sender, e) =>
+            {
                 if (infoView1_Date_Day.IsSelected)
                 {
                     return;
@@ -754,9 +728,10 @@
                 infoView1_Date_Year.IsSelected = false;
                 queryType1 = QueryType.day_hour;
                 infoView1_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1).ToString("yyyy-MM-dd");
-                getTempHistory();
+                getPvElectricityHistory();
             };
-            infoView1_Date_Month.MouseUpEventHandler = (sender, e) => {
+            infoView1_Date_Month.MouseUpEventHandler = (sender, e) =>
+            {
                 if (infoView1_Date_Month.IsSelected)
                 {
                     return;
@@ -766,9 +741,10 @@
                 infoView1_Date_Year.IsSelected = false;
                 queryType1 = QueryType.custom_month;
                 infoView1_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1).ToString("yyyy-MM");
-                getTempHistory();
+                getPvElectricityHistory();
             };
-            infoView1_Date_Year.MouseUpEventHandler = (sender, e) => {
+            infoView1_Date_Year.MouseUpEventHandler = (sender, e) =>
+            {
                 if (infoView1_Date_Year.IsSelected)
                 {
                     return;
@@ -778,116 +754,89 @@
                 infoView1_Date_Year.IsSelected = true;
                 queryType1 = QueryType.custom_year;
                 infoView1_DateInfo_DateTextButton.Text = queryTime_Year1.ToString();
-                getTempHistory();
+                getPvElectricityHistory();
             };
             //-----------鐢ㄦ按
             infoView2_DateInfo_DateTextButton.MouseUpEventHandler = (sender, e) =>
             {
                 SetWaterQureyDateDialog();
             };
-            infoView2_DateInfo_PreClickButton.MouseUpEventHandler = (sender, e) => {
+            infoView2_DateInfo_PreClickButton.MouseUpEventHandler = (sender, e) =>
+            {
                 var waterQueryDate = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2);
                 if (queryType2 == QueryType.day_hour)
                 {
-                    waterQueryDate = waterQueryDate.AddDays(-1);
                     if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 1 && waterQueryDate.Day == 1)
                     {
-                        infoView2_DateInfo_PreIconButton.Visible = false;
-                        infoView2_DateInfo_PreClickButton.Enable = false;
+                        return;
                     }
-                    if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month && waterQueryDate.Day == DateTime.Now.Day - 1)
-                    {
-                        infoView2_DateInfo_NextIconButton.Visible = true;
-                        infoView2_DateInfo_NextClickButton.Enable = true;
-                    }
+                    waterQueryDate = waterQueryDate.AddDays(-1);
+                    infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM-dd");
                 }
                 else if (queryType2 == QueryType.custom_month)
                 {
-                    waterQueryDate = waterQueryDate.AddMonths(-1);
                     if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 1)
                     {
-                        infoView2_DateInfo_PreIconButton.Visible = false;
-                        infoView2_DateInfo_PreClickButton.Enable = false;
+                        return;
                     }
-                    if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month - 1)
-                    {
-                        infoView2_DateInfo_NextIconButton.Visible = true;
-                        infoView2_DateInfo_NextClickButton.Enable = true;
-                    }
+                    waterQueryDate = waterQueryDate.AddMonths(-1);
+                    infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM");
                 }
                 else if (queryType2 == QueryType.custom_year)
                 {
-                    waterQueryDate = waterQueryDate.AddYears(-1);
                     if (waterQueryDate.Year == 2023)
                     {
-                        infoView2_DateInfo_PreIconButton.Visible = false;
-                        infoView2_DateInfo_PreClickButton.Enable = false;
+                        return;
                     }
-                    if (waterQueryDate.Year == DateTime.Now.Year - 1)
-                    {
-                        infoView2_DateInfo_NextIconButton.Visible = true;
-                        infoView2_DateInfo_NextClickButton.Enable = true;
-                    }
+                    waterQueryDate = waterQueryDate.AddYears(-1);
+                    infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy");
                 }
                 queryTime_Year2 = waterQueryDate.Year;
                 queryTime_Month2 = waterQueryDate.Month;
                 queryTime_Day2 = waterQueryDate.Day;
-                infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM-dd");
-                getWaterHistory();
+                getLoadElectricityHistory();
             };
-            infoView2_DateInfo_NextIconButton.Visible = false;
-            infoView2_DateInfo_NextClickButton.Enable = false;
-            infoView2_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) => {
+            infoView2_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) =>
+            {
                 var waterQueryDate = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2);
                 if (queryType2 == QueryType.day_hour)
                 {
-                    waterQueryDate = waterQueryDate.AddDays(1);
-                    if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 1 && waterQueryDate.Day == 2)
-                    {
-                        infoView2_DateInfo_PreIconButton.Visible = true;
-                        infoView2_DateInfo_PreClickButton.Enable = true;
-                    }
                     if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month && waterQueryDate.Day == DateTime.Now.Day)
                     {
-                        infoView2_DateInfo_NextIconButton.Visible = false;
-                        infoView2_DateInfo_NextClickButton.Enable = false;
+                        return;
                     }
+                    waterQueryDate = waterQueryDate.AddDays(1);
+                    infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM-dd");
                 }
                 else if (queryType2 == QueryType.custom_month)
                 {
-                    waterQueryDate = waterQueryDate.AddMonths(1);
-                    if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 2)
-                    {
-                        infoView2_DateInfo_PreIconButton.Visible = true;
-                        infoView2_DateInfo_PreClickButton.Enable = true;
-                    }
                     if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month)
                     {
-                        infoView2_DateInfo_NextIconButton.Visible = false;
-                        infoView2_DateInfo_NextClickButton.Enable = false;
+                        return;
                     }
+                    waterQueryDate = waterQueryDate.AddMonths(1);
+                    infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM");
                 }
                 else if (queryType2 == QueryType.custom_year)
                 {
-                    waterQueryDate = waterQueryDate.AddYears(1);
                     if (waterQueryDate.Year == 2023)
                     {
-                        infoView2_DateInfo_PreIconButton.Visible = false;
-                        infoView2_DateInfo_PreClickButton.Enable = false;
+                        return;
                     }
                     if (waterQueryDate.Year == DateTime.Now.Year)
                     {
-                        infoView2_DateInfo_NextIconButton.Visible = false;
-                        infoView2_DateInfo_NextClickButton.Enable = false;
+                        return;
                     }
+                    waterQueryDate = waterQueryDate.AddYears(1);
+                    infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy");
                 }
                 queryTime_Year2 = waterQueryDate.Year;
                 queryTime_Month2 = waterQueryDate.Month;
                 queryTime_Day2 = waterQueryDate.Day;
-                infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM-dd");
-                getWaterHistory();
+                getLoadElectricityHistory();
             };
-            infoView2_Date_Day.MouseDownEventHandler = (sender, e) => {
+            infoView2_Date_Day.MouseDownEventHandler = (sender, e) =>
+            {
                 if (infoView2_Date_Day.IsSelected)
                 {
                     return;
@@ -897,9 +846,10 @@
                 infoView2_Date_Year.IsSelected = false;
                 queryType2 = QueryType.day_hour;
                 infoView2_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2).ToString("yyyy-MM-dd");
-                getWaterHistory();
+                getLoadElectricityHistory();
             };
-            infoView2_Date_Month.MouseDownEventHandler = (sender, e) => {
+            infoView2_Date_Month.MouseDownEventHandler = (sender, e) =>
+            {
                 if (infoView2_Date_Month.IsSelected)
                 {
                     return;
@@ -909,9 +859,10 @@
                 infoView2_Date_Year.IsSelected = false;
                 queryType2 = QueryType.custom_month;
                 infoView2_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2).ToString("yyyy-MM");
-                getWaterHistory();
+                getLoadElectricityHistory();
             };
-            infoView2_Date_Year.MouseDownEventHandler = (sender, e) => {
+            infoView2_Date_Year.MouseDownEventHandler = (sender, e) =>
+            {
                 if (infoView2_Date_Year.IsSelected)
                 {
                     return;
@@ -921,7 +872,7 @@
                 infoView2_Date_Year.IsSelected = true;
                 queryType2 = QueryType.custom_year;
                 infoView2_DateInfo_DateTextButton.Text = queryTime_Year2.ToString();
-                getWaterHistory();
+                getLoadElectricityHistory();
             };
 
         }
@@ -1115,6 +1066,10 @@
                 }
                 if (pickerItems_Month != null)
                 {
+                    if (int2 > pickerItems_Month.Count)
+                    {
+                        int2 = 0;
+                    }
                     if (pickerItems_Month[int2] != item2.ToString())
                     {
                         int.TryParse(pickerItems_Month[int2], out item2);
@@ -1178,7 +1133,7 @@
                         infoView1_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1).ToString("yyyy-MM-dd");
                     }
                 }
-                getTempHistory();
+                getPvElectricityHistory();
             };
 
         }
@@ -1370,6 +1325,10 @@
                 }
                 if (pickerItems_Month != null)
                 {
+                    if (int2 > pickerItems_Month.Count)
+                    {
+                        int2 = 0;
+                    }
                     if (pickerItems_Month[int2] != item2.ToString())
                     {
                         int.TryParse(pickerItems_Month[int2], out item2);
@@ -1433,7 +1392,7 @@
                         infoView2_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2).ToString("yyyy-MM-dd");
                     }
                 }
-                getWaterHistory();
+                getLoadElectricityHistory();
             };
 
         }
@@ -1441,5 +1400,4 @@
 
 
     }
-}
-
+}
\ No newline at end of file
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoPage.cs
index 382e769..5345a30 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoPage.cs
@@ -1,4 +1,7 @@
 锘縰sing System;
+using System.Collections.Generic;
+using HDL_ON.DAL.Server;
+using HDL_ON.DriverLayer;
 using HDL_ON.Entity;
 using HDL_ON.UI.CSS;
 using Shared;
@@ -54,9 +57,64 @@
         /// </summary>
         Button pvGeneration_MonthValuesButton;
         /// <summary>
-        /// 鍏変紡鏈勾鍙戠數閲忔暟鎹寜閽�
+        /// 鍏変紡瀹炴椂鐢ㄧ數鍔熺巼鏁版嵁鎸夐挳
         /// </summary>
-        Button pvGeneration_YearValuesButton;
+        Button loadElec_ValuesButton;
+        /// <summary>
+        /// 鍏変紡鐘舵�佷粖鏃ョ敤鐢甸噺鏁版嵁鎸夐挳
+        /// </summary>
+        Button loadElec_TodayTextButton;
+        /// <summary>
+        /// 鍏変紡鐘舵�佹湰鏈堢敤鐢甸噺鏁版嵁鎸夐挳
+        /// </summary>
+        Button loadElec_MonthValuesButton;
+        /// <summary>
+        /// 鍌ㄨ兘杩愯鐘舵�佷俊鎭尯鍩�
+        /// </summary>
+        FrameLayout esStatus_InfoView;
+        /// <summary>
+        /// 鍌ㄨ兘杩愯鐘舵�佸浘鏍囨寜閽�
+        /// </summary>
+        Button esRunStatus_Info_IconButton;
+        /// <summary>
+        /// 鍌ㄨ兘杩愯鐘舵�佹枃鏈寜閽�
+        /// </summary>
+        Button esRunStatus_Info_TextButton;
+        /// <summary>
+        /// 鍌ㄨ兘鐢垫睜鐘舵�佸浘鏍囨寜閽�
+        /// </summary>
+        Button esRunStatus_BatteryIconButton;
+        /// <summary>
+        /// 鍌ㄨ兘鐢垫睜鐘舵�佺櫨鍒嗘瘮鎸夐挳
+        /// </summary>
+        Button esRunStatus_BatteryValuesButton;
+        /// <summary>
+        /// 鍌ㄨ兘瀹炴椂鍏呯數鍔熺巼
+        /// </summary>
+        Button esRunStatus_ChargeValuesButton;
+        /// <summary>
+        /// 鍌ㄨ兘瀹炴椂鏀剧數鍔熺巼
+        /// </summary>
+        Button esRunStatus_DischargeValuesButton;
+
+        /// <summary>
+        /// </summary>
+        Button socialContribution_Info1_ValuesButton;
+        /// <summary>
+        /// </summary>
+        Button socialContribution_Info1_UintButton;
+        /// <summary>
+        /// </summary>
+        Button socialContribution_Info2_ValuesButton;
+        /// <summary>
+        /// </summary>
+        Button socialContribution_Info2_UintButton;
+        /// <summary>
+        /// </summary>
+        Button socialContribution_Info3_UintButton;
+        /// <summary>
+        /// </summary>
+        Button socialContribution_Info3_ValuesButton;
 
 
         public InverterJinmaoPage()
@@ -145,7 +203,7 @@
 
 #if __IOS__
             pvGenerate_TodayValuesButton.TextAlignment = TextAlignment.TopLeft;
-            pvGenerate_TodayValuesButton.Width = pvGenerate_TodayValuesButton.GetTextWidth() + Application.GetRealWidth(4);
+            pvGenerate_TodayValuesButton.Width = pvGenerate_TodayValuesButton.GetTextWidth() + Application.GetRealWidth(6);
 #else
             pvGenerate_TodayValuesButton.TextAlignment = TextAlignment.BottomLeft;
             pvGenerate_TodayValuesButton.Y = Application.GetRealWidth(37);
@@ -345,9 +403,44 @@
                 Y = Application.GetRealWidth(20),
                 Width = Application.GetRealWidth(151),
                 Height = Application.GetRealWidth(151),
-                BackgroundImagePath = "FunctionIcon/Acst/Inverter/PvBgRun.png"
             };
             pvEleGenerationInfoView.AddChidren(powerGenerationView);
+
+            var powerGenerationBg = new Button()
+            {
+                UnSelectedImagePath = "FunctionIcon/Acst/Inverter/PvBgRun.png"
+            };
+            powerGenerationView.AddChidren(powerGenerationBg);
+
+            new System.Threading.Thread(() =>
+            {
+                try
+                {
+                    int index = 1;
+                    while (index < 361)
+                    {
+                        if (function.GetAttrState(InverterJinmao_AttrEnum.pv_power.ToString()) == "0")
+                        {
+                            continue;
+                        }
+                        Application.RunOnMainThread(() =>
+                        {
+                            powerGenerationBg.SetRotation(1f * index++);
+                        });
+                        System.Threading.Thread.Sleep(50);
+                        if (index == 361)
+                        {
+                            index = 1;
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    MainPage.Log("Error", $"閲戣寕UI鎺т欢鏃嬭浆寮傚父:{ex.Message}");
+                }
+            })
+            { IsBackground = true }.Start();
+
             #endregion
 
             #region 鍏変紡鍙戠數閲�
@@ -439,13 +532,13 @@
             #endregion
 
             #region 鍏変紡鏈勾鍙戠數閲�
-            pvGeneration_YearValuesButton = new Button()
+            var pvGeneration_YearValuesButton = new Button()
             {
                 X = Application.GetRealWidth(16 + 212),
                 Y = Application.GetRealWidth(191),
                 Width = Application.GetRealWidth(100),
                 Height = Application.GetRealWidth(24),
-                Text = function.GetAttrState(InverterJinmao_AttrEnum.pv_electricity.ToString()),
+                Text = "---",
                 TextAlignment = TextAlignment.Center,
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = 18,
@@ -459,13 +552,57 @@
                 Y = Application.GetRealWidth(220),
                 Width = Application.GetRealWidth(100),
                 Height = Application.GetRealWidth(17),
-                Text = "绱鍙戠數閲� (kw)",
+                Text = "鏈勾鍙戠數閲� (kw)",
                 TextAlignment = TextAlignment.Center,
                 TextColor = CSS_Color.TextualColor,
                 TextSize = 12,
             };
             pvEleGenerationInfoView.AddChidren(powerGeneration_YearTextButton);
+            new System.Threading.Thread(() =>
+            {
+                try
+                {
+                    var revertObj = new HttpServerRequest().GetSensorHistory("custom_year",
+                        function.deviceId, InverterJinmao_AttrEnum.load_electricity.ToString(), DateTime.Now.Year.ToString());
+                    if (revertObj != null)
+                    {
+                        if (revertObj.Code == StateCode.SUCCESS)
+                        {
+                            var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<EnvironmentalSensorHistor>>(revertObj.Data.ToString());
+                            double totalValues = 0.0;
+                            double values = 0.0;
+                            foreach (var data in revertData)
+                            {
+                                double.TryParse(data.fieldValue, out values);
+                                totalValues += values;
+                            }
+                            Application.RunOnMainThread(() =>
+                            {
+                                pvGeneration_YearValuesButton.Text = totalValues.ToString();
+                                while (true)
+                                {
+                                    if (pvGeneration_YearValuesButton.Width < pvGeneration_YearValuesButton.GetTextWidth())
+                                    {
+                                        pvGeneration_YearValuesButton.TextSize--;
+                                    }
+                                    else
+                                    {
+                                        break;
+                                    }
+                                }
+                            });
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    MainPage.Log("Error", "璇诲彇閲戣寕鏈勾鍙戠數閲忔暟鎹紓甯革細" + ex.Message);
+                }
+            })
+            { IsBackground = true }.Start();
+
             #endregion
+           
             #endregion
 
             contentView.AddChidren(new Button()
@@ -492,11 +629,45 @@
                 Y = Application.GetRealWidth(20),
                 Width = Application.GetRealWidth(151),
                 Height = Application.GetRealWidth(151),
-                BackgroundImagePath = "FunctionIcon/Acst/Inverter/PvBgDischarge.png"
             };
             electricityUsageStatusView.AddChidren(powerUsageView);
 
-            var powerUsage_ValuesButton = new Button()
+            var powerUsageBg = new Button()
+            {
+                UnSelectedImagePath = "FunctionIcon/Acst/Inverter/PvBgDischarge.png"
+            };
+            powerUsageView.AddChidren(powerUsageBg);
+
+            new System.Threading.Thread(() =>
+            {
+                try
+                {
+                    int index = 1;
+                    while (index < 361)
+                    {
+                        if (function.GetAttrState(InverterJinmao_AttrEnum.load_active_power.ToString()) == "0")
+                        {
+                            continue;
+                        }
+                        Application.RunOnMainThread(() =>
+                        {
+                            powerUsageBg.SetRotation(1f * index++);
+                        });
+                        System.Threading.Thread.Sleep(50);
+                        if (index == 361)
+                        {
+                            index = 1;
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    MainPage.Log("Error", $"閲戣寕UI鎺т欢鏃嬭浆寮傚父2:{ex.Message}");
+                }
+            })
+            { IsBackground = true }.Start();
+
+            loadElec_ValuesButton = new Button()
             {
                 Gravity = Gravity.CenterHorizontal,
                 Y = Application.GetRealWidth(46),
@@ -508,7 +679,7 @@
                 TextSize = 24,
                 IsBold = true,
             };
-            powerUsageView.AddChidren(powerUsage_ValuesButton);
+            powerUsageView.AddChidren(loadElec_ValuesButton);
 
             var powerUsage_TextButton = new Button()
             {
@@ -538,7 +709,7 @@
             };
             electricityUsageStatusView.AddChidren(powerUsage_TodayValuesButton);
 
-            var powerUsage_TodayTextButton = new Button()
+            loadElec_TodayTextButton = new Button()
             {
                 X = Application.GetRealWidth(16),
                 Y = Application.GetRealWidth(220),
@@ -549,10 +720,9 @@
                 TextColor = CSS_Color.TextualColor,
                 TextSize = 12,
             };
-            electricityUsageStatusView.AddChidren(powerUsage_TodayTextButton);
+            electricityUsageStatusView.AddChidren(loadElec_TodayTextButton);
 
-
-            var powerUsage_MonthValuesButton = new Button()
+            loadElec_MonthValuesButton = new Button()
             {
                 X = Application.GetRealWidth(16 + 105),
                 Y = Application.GetRealWidth(191),
@@ -564,7 +734,7 @@
                 TextSize = 18,
                 IsBold = true,
             };
-            electricityUsageStatusView.AddChidren(powerUsage_MonthValuesButton);
+            electricityUsageStatusView.AddChidren(loadElec_MonthValuesButton);
 
             var powerUsage_MonthTextButton = new Button()
             {
@@ -642,7 +812,7 @@
             };
             contentView.AddChidren(esStatusView);
 
-            var esStatus_InfoView = new FrameLayout()
+            esStatus_InfoView = new FrameLayout()
             {
                 X = 0 - Application.GetRealWidth(14),
                 Y = Application.GetRealWidth(12),
@@ -655,7 +825,7 @@
             };
             esStatusView.AddChidren(esStatus_InfoView);
 
-            var esRunStatus_Info_IconButton = new Button()
+            esRunStatus_Info_IconButton = new Button()
             {
                 X = Application.GetRealWidth(8 + 14),
                 Gravity = Gravity.CenterVertical,
@@ -665,7 +835,7 @@
             };
             esStatus_InfoView.AddChidren(esRunStatus_Info_IconButton);
 
-            var esRunStatus_Info_TextButton = new Button()
+            esRunStatus_Info_TextButton = new Button()
             {
                 X = Application.GetRealWidth(8 + 14 + 4 + 12),
                 TextAlignment = TextAlignment.CenterLeft,
@@ -675,7 +845,7 @@
             };
             esStatus_InfoView.AddChidren(esRunStatus_Info_TextButton);
 
-            var esRunStatus_BatteryValuesButton = new Button()
+            esRunStatus_BatteryValuesButton = new Button()
             {
                 Y = Application.GetRealWidth(18),
                 Height = Application.GetRealWidth(17),
@@ -684,21 +854,19 @@
                 TextSize = 12,
                 TextColor = 0xFF00C22D,
             };
-#if __IOS__
             esRunStatus_BatteryValuesButton.Width = esRunStatus_BatteryValuesButton.GetTextWidth() + Application.GetRealWidth(8);
-#else
-            esRunStatus_BatteryValuesButton.Width = esRunStatus_BatteryValuesButton.GetTextWidth();
-#endif
             esRunStatus_BatteryValuesButton.X = Application.GetRealWidth(343 - 12) - esRunStatus_BatteryValuesButton.Width;
             esStatusView.AddChidren(esRunStatus_BatteryValuesButton);
 
-            var esRunStatus_BatteryIconButton = new Button()
+            esRunStatus_BatteryIconButton = new Button()
             {
                 X = Application.GetRealWidth(343 - 12 - 20) - esRunStatus_BatteryValuesButton.Width,
                 Y = Application.GetRealWidth(16),
                 Width = Application.GetRealWidth(20),
                 Height = Application.GetRealWidth(20),
                 UnSelectedImagePath = "FunctionIcon/Acst/Inverter/BatteryIconCharg.png",
+                SelectedImagePath = "FunctionIcon/Acst/Inverter/BatteryIconCharg100.png",
+                IsSelected = esRunStatus_BatteryValuesButton.Text == "100%"
             };
             esStatusView.AddChidren(esRunStatus_BatteryIconButton);
 
@@ -721,7 +889,7 @@
             };
             esRunStatus_ValuesInfoView.AddChidren(esRunStatus_ChargeValuesView);
 
-            var esRunStatus_ChargeValuesButton = new Button()
+            esRunStatus_ChargeValuesButton = new Button()
             {
                 Y = Application.GetRealWidth(36),
                 Height = Application.GetRealWidth(32),
@@ -746,7 +914,7 @@
             esRunStatus_ChargeValuesView.AddChidren(esRunStatus_ChargeTextButton);
             #endregion
 
-            #region 瀹炴椂鏀剧數鍔熺巼
+            #region 瀹炴椂鐢ㄧ數鍔熺巼
             var esRunStatus_DischargeValuesView = new FrameLayout()
             {
                 X = Application.GetRealWidth(132+13),
@@ -755,7 +923,7 @@
             };
             esRunStatus_ValuesInfoView.AddChidren(esRunStatus_DischargeValuesView);
 
-            var esRunStatus_DischargeValuesButton = new Button()
+            esRunStatus_DischargeValuesButton = new Button()
             {
                 Y = Application.GetRealWidth(36),
                 Height = Application.GetRealWidth(32),
@@ -832,7 +1000,7 @@
             };
             socialContribution_InfoView_1.AddChidren(socialContribution_Info1_IconButton);
 
-            var socialContribution_Info1_ValuesButton = new Button()
+            socialContribution_Info1_ValuesButton = new Button()
             {
                 X = Application.GetRealWidth(12),
                 Y = Application.GetRealWidth(68),
@@ -847,7 +1015,7 @@
             socialContribution_Info1_ValuesButton.Width = socialContribution_Info1_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
             socialContribution_InfoView_1.AddChidren(socialContribution_Info1_ValuesButton);
 
-            var socialContribution_Info1_UintButton = new Button()
+            socialContribution_Info1_UintButton = new Button()
             {
                 X = socialContribution_Info1_ValuesButton.Right - Application.GetRealWidth(4),
                 Y = Application.GetRealWidth(68),
@@ -898,7 +1066,7 @@
             };
             socialContribution_InfoView_2.AddChidren(socialContribution_Info2_IconButton);
 
-            var socialContribution_Info2_ValuesButton = new Button()
+            socialContribution_Info2_ValuesButton = new Button()
             {
                 X = Application.GetRealWidth(12),
                 Y = Application.GetRealWidth(68),
@@ -913,7 +1081,7 @@
             socialContribution_Info2_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
             socialContribution_InfoView_2.AddChidren(socialContribution_Info2_ValuesButton);
 
-            var socialContribution_Info2_UintButton = new Button()
+            socialContribution_Info2_UintButton = new Button()
             {
                 X = socialContribution_Info2_ValuesButton.Right - Application.GetRealWidth(4),
                 Y = Application.GetRealWidth(68),
@@ -964,7 +1132,7 @@
             };
             socialContribution_InfoView_3.AddChidren(socialContribution_Info3_IconButton);
 
-            var socialContribution_Info3_ValuesButton = new Button()
+            socialContribution_Info3_ValuesButton = new Button()
             {
                 X = Application.GetRealWidth(12),
                 Y = Application.GetRealWidth(68),
@@ -979,7 +1147,7 @@
             socialContribution_Info3_ValuesButton.Width = socialContribution_Info3_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
             socialContribution_InfoView_3.AddChidren(socialContribution_Info3_ValuesButton);
 
-            var socialContribution_Info3_UintButton = new Button()
+            socialContribution_Info3_UintButton = new Button()
             {
                 X = socialContribution_Info3_ValuesButton.Right - Application.GetRealWidth(4),
                 Y = Application.GetRealWidth(68),
@@ -1010,7 +1178,7 @@
 
             #endregion
 
-
+            Control.Ins.SendReadCommand(function);
         }
         /// <summary>
         /// 鏇存柊鐣岄潰鏁版嵁
@@ -1024,45 +1192,41 @@
             }
             Application.RunOnMainThread(() =>
             {
-                /// 鏇存柊浠婃棩鍙戠數閲�
-                if (function.GetAttrState(InverterJinmao_AttrEnum.pv_electricity_today.ToString()) != temp.GetAttrState(InverterJinmao_AttrEnum.pv_electricity_today.ToString()))
+                try
                 {
+                    /// 鏇存柊浠婃棩鍙戠數閲�
                     upatePvGenerateTodayValues();
-                }
-                /// 鏇存柊绱鍙戠數閲�
-                if (function.GetAttrState(InverterJinmao_AttrEnum.pv_electricity.ToString()) != temp.GetAttrState(InverterJinmao_AttrEnum.pv_electricity.ToString()))
-                {
+                    /// 鏇存柊绱鍙戠數閲�
                     upatePvGenerateTotalValues();
-                }
-                /// 鏇存柊浠婃棩鐢ㄧ數閲�
-                if (function.GetAttrState(InverterJinmao_AttrEnum.load_electricity_today.ToString()) != temp.GetAttrState(InverterJinmao_AttrEnum.load_electricity_today.ToString()))
-                {
+                    /// 鏇存柊浠婃棩鐢ㄧ數閲�
                     upatePvLoadTodayValues();
-                }
-                /// 鏇存柊绱鐢ㄧ數閲�
-                if (function.GetAttrState(InverterJinmao_AttrEnum.load_electricity.ToString()) != temp.GetAttrState(InverterJinmao_AttrEnum.load_electricity.ToString()))
-                {
+                    /// 鏇存柊绱鐢ㄧ數閲�
                     upatePvLoadTotalValues();
-                }
-                /// 鏇存柊鍏変紡杩愯鐘舵��
-                if (function.GetAttrState(InverterJinmao_AttrEnum.system_status.ToString()) != temp.GetAttrState(InverterJinmao_AttrEnum.system_status.ToString()))
-                {
+                    /// 鏇存柊鍏変紡杩愯鐘舵��
                     upatePvRunStatus();
-                }
-                /// 鏇存柊鍏変紡鍙戠數鍔熻兘
-                if (function.GetAttrState(InverterJinmao_AttrEnum.pv_power.ToString()) != temp.GetAttrState(InverterJinmao_AttrEnum.pv_power.ToString()))
-                {
-                    upatePvPower();
-                }
-                /// 鏇存柊鍏変紡鏈湀鍙戠數閲�
-                if (function.GetAttrState(InverterJinmao_AttrEnum.pv_electricity_month.ToString()) != temp.GetAttrState(InverterJinmao_AttrEnum.pv_electricity_month.ToString()))
-                {
+                    /// 鏇存柊鍏変紡鍙戠數鍔熺巼
+                    updatePvPower();
+                    /// 鏇存柊鍏変紡鏈湀鍙戠數閲�
                     upatePvGenerateMonthValues();
+                    /// 鏇存柊鍏変紡鐢ㄧ數鍔熺巼
+                    updateLoadElec();
+                    ///鏇存柊鍏変紡鐘舵�佹湰鏈堢敤鐢甸噺
+                    updateLoadElecMonthValues();
+                    //鏇存柊鍌ㄨ兘杩愯鐘舵��
+                    updateEsRunStates();
+                    //鏇存柊鍌ㄨ兘鐢垫睜鐧惧垎姣�
+                    updateEsBatterySoc();
+                    //鏇存柊鍌ㄨ兘瀹炴椂鍏呯數鐘舵��
+                    updateEsCharge();
+                    //鏇存柊鍌ㄨ兘瀹炴椂鏀剧數鐘舵��
+                    updateEsDischarge();
+                    updateSocialContribution1();
+                    updateSocialContribution2();
+                    updateSocialContribution3();
                 }
-                /// 鏇存柊鍏変紡鏈勾鍙戠數閲�
-                if (function.GetAttrState(InverterJinmao_AttrEnum.pv_electricity.ToString()) != temp.GetAttrState(InverterJinmao_AttrEnum.pv_electricity.ToString()))
+                catch (Exception ex)
                 {
-                    upatePvGenerateYearValues();
+                    MainPage.Log("Error", $"閲戣寕鍏変紡鏇存柊寮傚父:{ex.Message}");
                 }
             });
         }
@@ -1083,13 +1247,6 @@
             pvGeneration_MonthValuesButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.pv_electricity_month.ToString());
         }
         /// <summary>
-        /// 鏇存柊鍏変紡鏈勾鍙戠數閲�
-        /// </summary>
-        private void upatePvGenerateYearValues()
-        {
-            pvGeneration_YearValuesButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.pv_electricity.ToString());
-        }
-        /// <summary>
         /// 鏇存柊绱鍙戠數閲�
         /// </summary>
         private void upatePvGenerateTotalValues()
@@ -1101,7 +1258,14 @@
         /// </summary>
         private void upatePvLoadTodayValues()
         {
-            pvLoad_TodayValuesButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.load_electricity_today.ToString());
+            pvLoad_TodayValuesButton.Text = loadElec_TodayTextButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.load_electricity_today.ToString());
+        }
+        /// <summary>
+        /// 鏇存柊鏈湀鐢ㄧ數閲�
+        /// </summary>
+        private void updateLoadElecMonthValues()
+        {
+            loadElec_MonthValuesButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.load_electricity_month.ToString());
         }
         /// <summary>
         /// 鏇存柊绱鐢ㄧ數閲�
@@ -1142,11 +1306,139 @@
         /// <summary>
         /// 鏇存柊鍏変紡鍙戠數鍔熺巼
         /// </summary>
-        private void upatePvPower()
+        private void updatePvPower()
         {
             pvPower_ValuesButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.pv_power.ToString());
         }
+        /// <summary>
+        /// 鏇存柊鍏変紡鐢ㄧ數鍔熺巼
+        /// </summary>
+        private void updateLoadElec()
+        {
+            loadElec_ValuesButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.load_active_power.ToString());
+        }
+        /// <summary>
+        /// 鏇存柊鍌ㄨ兘杩愯鐘舵��
+        /// </summary>
+        private void updateEsRunStates()
+        {
+            switch (function.GetAttrState(InverterJinmao_AttrEnum.ess_status.ToString()))
+            {
+                case "charge":
+                    esStatus_InfoView.BackgroundColor = 0x1500C22D;
+                    esRunStatus_BatteryValuesButton.TextColor = 0xFF00C22D;
+                    esRunStatus_Info_IconButton.UnSelectedImagePath = "FunctionIcon/Acst/Inverter/EsIconCharg.png";
+                    esRunStatus_Info_TextButton.Text = "鍏呯數";
+                    esRunStatus_BatteryIconButton.UnSelectedImagePath = "FunctionIcon/Acst/Inverter/BatteryIconCharg.png";
+                    esRunStatus_BatteryIconButton.SelectedImagePath = "FunctionIcon/Acst/Inverter/BatteryIconCharg100.png";
+                    break;
+                case "discharge":
+                    esStatus_InfoView.BackgroundColor = 0x15FC9C04;
+                    esRunStatus_BatteryValuesButton.TextColor = 0xFFFC9C04;
+                    esRunStatus_Info_IconButton.UnSelectedImagePath = "FunctionIcon/Acst/Inverter/EsIconDischarge.png";
+                    esRunStatus_Info_TextButton.Text = "鏀剧數";
+                    esRunStatus_BatteryIconButton.UnSelectedImagePath = "FunctionIcon/Acst/Inverter/BatteryIconDischarg.png";
+                    esRunStatus_BatteryIconButton.SelectedImagePath = "FunctionIcon/Acst/Inverter/BatteryIconDischarg100.png";
+                    break;
+                case "shutdown":
+                    esStatus_InfoView.BackgroundColor = 0x15798394;
+                    esRunStatus_BatteryValuesButton.TextColor = 0xFF798394;
+                    esRunStatus_Info_IconButton.UnSelectedImagePath = "FunctionIcon/Acst/Inverter/EsIconShutdown.png";
+                    esRunStatus_Info_TextButton.Text = "鍋滄満";
+                    esRunStatus_BatteryIconButton.UnSelectedImagePath = "FunctionIcon/Acst/Inverter/BatteryIconShutdown.png";
+                    esRunStatus_BatteryIconButton.SelectedImagePath = "FunctionIcon/Acst/Inverter/BatteryIconShutdown100.png";
+                    break;
+                case "fault":
+                    esStatus_InfoView.BackgroundColor = 0x15FF4747;
+                    esRunStatus_BatteryValuesButton.TextColor = 0xFFFF4747;
+                    esRunStatus_Info_IconButton.UnSelectedImagePath = "FunctionIcon/Acst/Inverter/EsIconFault.png";
+                    esRunStatus_Info_TextButton.Text = "鏁呴殰";
+                    esRunStatus_BatteryIconButton.UnSelectedImagePath = "FunctionIcon/Acst/Inverter/BatteryIconFault.png";
+                    esRunStatus_BatteryIconButton.SelectedImagePath = "FunctionIcon/Acst/Inverter/BatteryIconFault100.png";
+                    break;
+            }
+        }
+        /// <summary>
+        /// 鏇存柊鍌ㄨ兘鐢垫睜鐧惧垎姣旂姸鎬�
+        /// </summary>
+        private void updateEsBatterySoc()
+        {
+            esRunStatus_BatteryValuesButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.battery_soc.ToString()) + "%";
+            if(esRunStatus_BatteryIconButton.Text == "100%")
+            {
+                esRunStatus_BatteryIconButton.IsSelected = true;
+            }
+        }
+        /// <summary>
+        /// 鏇存柊鍌ㄨ兘瀹炴椂鍏呯數鐘舵��
+        /// </summary>
+        private void updateEsCharge()
+        {
+            esRunStatus_ChargeValuesButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.ess_charge_power.ToString());
+        }
+        /// <summary>
+        /// 鏇存柊鍌ㄨ兘瀹炴椂鏀剧數鐘舵��
+        /// </summary>
+        private void updateEsDischarge()
+        {
+            esRunStatus_DischargeValuesButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.ess_discharg_power.ToString());
+        }
 
+        /// <summary>
+        /// 鏇存柊绀句細璐$尞1鏁版嵁UI
+        /// </summary>
+        private void updateSocialContribution1()
+        {
+            socialContribution_Info1_ValuesButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.coal.ToString());
+#if __IOS__
+            socialContribution_Info1_ValuesButton.Width = socialContribution_Info1_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
+#else
+            socialContribution_Info1_ValuesButton.Width = socialContribution_Info1_ValuesButton.GetTextWidth();
+#endif
+            if (socialContribution_Info1_ValuesButton.Width > Application.GetRealWidth(61))
+            {
+                socialContribution_Info1_ValuesButton.TextSize = socialContribution_Info1_ValuesButton.TextSize - 4;
+            }
+
+            socialContribution_Info1_UintButton.X = socialContribution_Info1_ValuesButton.Right - Application.GetRealWidth(4);
+        }
+        /// <summary>
+        /// 鏇存柊绀句細璐�2鐚暟鎹甎I
+        /// </summary>
+        private void updateSocialContribution2()
+        {
+            socialContribution_Info2_ValuesButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.co2.ToString());
+#if __IOS__
+            socialContribution_Info2_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
+#else
+            socialContribution_Info2_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth();
+#endif
+            if (socialContribution_Info2_UintButton.Width > Application.GetRealWidth(61))
+            {
+                socialContribution_Info2_UintButton.TextSize = socialContribution_Info2_UintButton.TextSize - 4;
+            }
+
+            socialContribution_Info2_UintButton.X = socialContribution_Info2_ValuesButton.Right - Application.GetRealWidth(4);
+
+        }
+        /// <summary>
+        /// 鏇存柊绀句細璐�3鐚暟鎹甎I
+        /// </summary>
+        private void updateSocialContribution3()
+        {
+
+            socialContribution_Info3_ValuesButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.trees.ToString());
+#if __IOS__
+            socialContribution_Info3_ValuesButton.Width = socialContribution_Info3_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
+#else
+            socialContribution_Info3_ValuesButton.Width = socialContribution_Info3_ValuesButton.GetTextWidth();
+#endif
+            if (socialContribution_Info3_ValuesButton.Width > Application.GetRealWidth(61))
+            {
+                socialContribution_Info3_ValuesButton.TextSize = socialContribution_Info3_ValuesButton.TextSize - 4;
+            }
+            socialContribution_Info3_UintButton.X = socialContribution_Info3_ValuesButton.Right - Application.GetRealWidth(4);
+        }
     }
 }
 
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/WaterHeaterJinmaoPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/WaterHeaterJinmaoPage.cs
index 2202ec8..485c9a1 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Acst/WaterHeaterJinmaoPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/WaterHeaterJinmaoPage.cs
@@ -110,8 +110,8 @@
         Button flow_ElectricDriveValuesButton;
         string volumeString = string.Empty;
         string recyclVolumeString = string.Empty;
-        double volume = 0;
-        double recyclVolume = 0;
+        double volume = 0.00;
+        double recyclVolume = 0.00;
         int recyclVolumePercent = 0;
 
         /// <summary>
@@ -181,6 +181,8 @@
             initBottomView();
             initControlEvent();
             Control.Ins.SendReadCommand(function);
+
+            UpdateStatus();
         }
         /// <summary>
         /// 鍔犺浇鍐呭鍖哄煙
@@ -190,7 +192,7 @@
             contentView.AddChidren(new Button() { Height = Application.GetRealHeight(16) });
 
             #region 鐑按鍣ㄧ姸鎬�
-            var infoView = new FrameLayout()
+            FrameLayout infoView = new FrameLayout()
             {
                 Gravity = Gravity.CenterHorizontal,
                 Width = Application.GetRealWidth(343),
@@ -206,7 +208,7 @@
             {
                 X = 0 - Application.GetRealWidth(14),
                 Y = Application.GetRealWidth(12),
-                Width = Application.GetRealWidth(68 + 14),
+                Width = Application.GetRealWidth(82 + 14),
                 Height = Application.GetRealWidth(28),
                 BackgroundColor = 0x15FC9C04,
                 Radius = (uint)Application.GetRealWidth(14),
@@ -255,14 +257,18 @@
                 TextAlignment = TextAlignment.TopCenter,
                 Text = function.GetAttrState(WaterHeaterJinmao_AttrEnum.temp.ToString(), "---"),
             };
-            btnTempValues.Width = btnTempValues.GetTextWidth() + Application.GetRealWidth(8);
+            btnTempValues.Width = btnTempValues.GetTextWidth() + Application.GetRealWidth(6);
+            if (btnTempValues.Width > Application.GetRealWidth(80))
+            {
+                btnTempValues.TextSize = 28;
+            }
             btnTempValues.Gravity = Gravity.CenterHorizontal;
 
             infoView_Temp_View.AddChidren(btnTempValues);
 
             btnTempValuesUint = new Button()
             {
-                X = btnTempValues.Right - Application.GetRealWidth(4),
+                X = btnTempValues.Right,
                 Y = Application.GetRealWidth(40),
                 Height = Application.GetRealWidth(66),
                 TextAlignment = TextAlignment.TopLeft,
@@ -392,7 +398,7 @@
 
             #endregion
 
-            #region 璁剧疆娓╁害
+            #region 娓╁害璁剧疆
             var setTempView = new FrameLayout()
             {
                 Gravity = Gravity.CenterHorizontal,
@@ -462,13 +468,14 @@
                 SeekBarViewHeight = Application.GetRealHeight(14),
                 ThumbImagePath = "FunctionIcon/Acst/ThumbImage.png",
                 ThumbImageHeight = Application.GetRealHeight(51),
-                ProgressBarColor = function.trait_on_off.curValue.ToString() == "on" ? 0xFFFFB848 : CSS_Color.DividingLineColor,
-                MaxValue = 25,
-                Progress = setTempValue - 35,
+                ProgressBarColor =  0xFFFFB848 ,
+                MaxValue = 60,
+                MinValue = 35,
+                Progress = setTempValue,
                 SeekBarPadding = Application.GetRealWidth(20),
                 IsProgressTextShow = false,
-                ProgressChangeDelayTime = 0,
             };
+            setTemp_Bar.ProgressChangeDelayTime = 0;
             setTempView.AddChidren(setTemp_Bar);
 
             var setTemp_Temp_MinValuesTextButton = new Button()
@@ -625,8 +632,6 @@
             };
             flowView.AddChidren(flow_HeatRecoverytValuesButton);
 
-
-
             var flow_ElectricDriveTextButton = new Button()
             {
                 X = Application.GetRealWidth(343 - 116),
@@ -636,7 +641,7 @@
                 TextAlignment = TextAlignment.CenterRight,
                 TextSize = 14,
                 TextColor = 0xFFFC9C04,
-                Text = "鐢电洿椹遍噺"
+                Text = "鐢电洿椹遍噺",
             };
             flowView.AddChidren(flow_ElectricDriveTextButton);
 
@@ -649,8 +654,12 @@
                 TextAlignment = TextAlignment.CenterRight,
                 TextSize = 14,
                 TextColor = 0xFFFC9C04,
-                Text = (100 - recyclVolumePercent) + "%"
+                Text = "0%"
             };
+            if(volume > 0)
+            {
+                flow_ElectricDriveProgressButton.Text = (100 - recyclVolumePercent) + "%";
+            }
             flowView.AddChidren(flow_ElectricDriveProgressButton);
 
             flow_ElectricDriveValuesButton = new Button()
@@ -731,7 +740,7 @@
 
             socialContribution_Info1_UintButton = new Button()
             {
-                X = socialContribution_Info1_ValuesButton.Right - Application.GetRealWidth(4),
+                X = socialContribution_Info1_ValuesButton.Right ,
                 Y = Application.GetRealWidth(68),
                 Width = Application.GetRealWidth(50),
                 Height = Application.GetRealWidth(23),
@@ -798,7 +807,7 @@
 
             socialContribution_Info2_UintButton = new Button()
             {
-                X = socialContribution_Info2_ValuesButton.Right - Application.GetRealWidth(4),
+                X = socialContribution_Info2_ValuesButton.Right ,
                 Y = Application.GetRealWidth(68),
                 Width = Application.GetRealWidth(50),
                 Height = Application.GetRealWidth(23),
@@ -864,7 +873,7 @@
 
             socialContribution_Info3_UintButton = new Button()
             {
-                X = socialContribution_Info3_ValuesButton.Right - Application.GetRealWidth(4),
+                X = socialContribution_Info3_ValuesButton.Right ,
                 Y = Application.GetRealWidth(68),
                 Width = Application.GetRealWidth(50),
                 Height = Application.GetRealWidth(23),
@@ -907,7 +916,7 @@
                 Gravity = Gravity.CenterHorizontal,
                 Y = Application.GetRealWidth(16),
                 UnSelectedImagePath = "FunctionIcon/Acst/grey/PowerOffIcon.png",
-                SelectedImagePath = $"FunctionIcon/Acst/blue/PowerIcon.png",
+                SelectedImagePath = "FunctionIcon/Acst/blue/PowerIcon.png",
                 IsSelected = function.trait_on_off.curValue.ToString() == "on"
             };
             bottomView.AddChidren(btnPowerControl);
@@ -935,7 +944,6 @@
             //鑺傝兘妯″紡鎺у埗
             btnControlModeEconomic.MouseUpEventHandler = (sender, e) =>
             {
-                if (function.GetAttrState(WaterHeaterJinmao_AttrEnum.mode.ToString()) != WaterHeaterJinmao_Attr_ModeEnum.economic.ToString())
                 {
                     new System.Threading.Thread(() =>
                     {
@@ -954,7 +962,6 @@
             //閫熺儹妯″紡鎺у埗
             btnControlModeQuickHeat.MouseUpEventHandler = (sender, e) =>
             {
-                if (function.GetAttrState(WaterHeaterJinmao_AttrEnum.mode.ToString()) != WaterHeaterJinmao_Attr_ModeEnum.quick_heat.ToString())
                 {
                     new System.Threading.Thread(() =>
                     {
@@ -970,9 +977,21 @@
                     { IsBackground = true }.Start();
                 }
             };
+            setTemp_Bar.OnStartTrackingTouchEvent = (sender, e) =>
+            {
+                contentView.ScrollEnabled = false;
+            };
             //璁剧疆娓╁害璋冭妭
             setTemp_Bar.OnStopTrackingTouchEvent = (sender, e) =>
             {
+                contentView.ScrollEnabled = true;
+#if __IOS__
+                setTemp_ValuesButton.Width = setTemp_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
+#else
+            setTemp_ValuesButton.Width = setTemp_ValuesButton.GetTextWidth();
+#endif
+                setTemp_ValuesButton.Gravity = Gravity.CenterHorizontal;
+                setTemp_UintButton.X = setTemp_ValuesButton.Right + Application.GetRealWidth(4);
                 new System.Threading.Thread(() =>
                 {
                     var dic = new Dictionary<string, string>();
@@ -1007,86 +1026,26 @@
         /// 鏇存柊鐣岄潰鐘舵��
         /// </summary>
         /// <param name="temp"></param>
-        public static void UpdateStatus(Function temp)
+        public static void UpdateStatus()
         {
             if (bodyView == null)
             {
                 return;
             }
             //鍏嶈垂鐑按
-            if (bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.mode_free.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.mode_free.ToString()))
+            Application.RunOnMainThread(() =>
             {
-                bodyView.function.SetAttrState(WaterHeaterJinmao_AttrEnum.mode_free.ToString(), temp.GetAttrState(WaterHeaterJinmao_AttrEnum.mode_free.ToString()));
-                Application.RunOnMainThread(() =>
-                {
-                    bodyView.updateFreeMode();
-                });
-            }
-            //鐑按娓╁害
-            if (bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.temp.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.temp.ToString()))
-            {
-                bodyView.function.SetAttrState(WaterHeaterJinmao_AttrEnum.temp.ToString(), temp.GetAttrState(WaterHeaterJinmao_AttrEnum.temp.ToString()));
-                Application.RunOnMainThread(() =>
-                {
-                    bodyView.updateTemp();
-                });
-            }
-            //鐑按鍣ㄦā寮�
-            if (bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.mode.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.mode.ToString()))
-            {
-                bodyView.function.SetAttrState(WaterHeaterJinmao_AttrEnum.mode.ToString(), temp.GetAttrState(WaterHeaterJinmao_AttrEnum.mode.ToString()));
-                Application.RunOnMainThread(() =>
-                {
-                    bodyView.updateModeUI();
-                });
-            }
-            //鐑按鍣ㄨ缃俯搴�
-            if (bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.set_temp.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.set_temp.ToString()))
-            {
-                bodyView.function.SetAttrState(WaterHeaterJinmao_AttrEnum.set_temp.ToString(), temp.GetAttrState(WaterHeaterJinmao_AttrEnum.set_temp.ToString()));
-                Application.RunOnMainThread(() =>
-                {
-                    bodyView.updateSetTemp();
-                });
-            }
-            //鐑按娴侀噺
-            if (bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.flow.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.flow.ToString()))
-            {
-                Application.RunOnMainThread(() =>
-                {
-                    bodyView.updateFlow();
-                });
-            }
-            //鐑按鎬婚噺
-            if (bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.volume.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.volume.ToString()) ||
-                bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.recycl_volume.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.recycl_volume.ToString()))
-            {
-                Application.RunOnMainThread(() =>
-                {
-                    bodyView.updateVolume();
-                });
-            }
-            //绀句細璐$尞-鑺傜數閲�
-            if (bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.energy_electricity.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.energy_electricity.ToString()))
-            {
+                bodyView.updateFreeMode();
+                bodyView.updateTemp();
+                bodyView.updateModeUI();
+                bodyView.updateSetTemp();
+                bodyView.updateFlow();
+                bodyView.updateVolume();
                 bodyView.updateSocialContribution1();
-            }
-            //绀句細璐$尞-co2
-            if (bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.co2.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.co2.ToString()))
-            {
                 bodyView.updateSocialContribution2();
-            }
-            //绀句細璐$尞-妞嶆爲
-            if (bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.trees.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.trees.ToString()))
-            {
                 bodyView.updateSocialContribution3();
-            }
-            //寮�鍏虫寜閽�
-            if (bodyView.function.GetAttrState(FunctionAttributeKey.OnOff.ToString()) != temp.GetAttrState(FunctionAttributeKey.OnOff.ToString()))
-            {
                 bodyView.updatePowerButton();
-            }
-
+            });
         }
 
         /// <summary>
@@ -1094,10 +1053,9 @@
         /// </summary>
         private void updateFreeMode()
         {
-            if (function.GetAttrState(WaterHeaterJinmao_AttrEnum.mode_free.ToString()) != "true")
+            if (function.GetAttrState(WaterHeaterJinmao_AttrEnum.mode_free.ToString()) == "true")
             {
                 modeFreeView.BackgroundColor = 0x1500C22D;
-                modeFreeView.Width = Width = Application.GetRealWidth(82 + 14);
                 modeFree_IconButton.UnSelectedImagePath = "FunctionIcon/Acst/WaterHeater/ModeFree_True.png";
                 modeFree_TextButton.Text = "鐑洖鏀�";
                 modeFree_TextButton.TextColor = 0xFF00C22D;
@@ -1105,7 +1063,6 @@
             else
             {
                 modeFreeView.BackgroundColor = 0x15FC9C04;
-                modeFreeView.Width = Width = Application.GetRealWidth(68 + 14);
                 modeFree_IconButton.UnSelectedImagePath = "FunctionIcon/Acst/WaterHeater/ModeFree_False.png";
                 modeFree_TextButton.Text = "鐢ㄧ數";
                 modeFree_TextButton.TextColor = 0xFFFC9C04;
@@ -1118,13 +1075,17 @@
         {
             btnTempValues.Text = function.GetAttrState(WaterHeaterJinmao_AttrEnum.temp.ToString(), "---");
 #if __IOS__
-            btnTempValues.Width = btnTempValues.GetTextWidth() + Application.GetRealWidth(8);
+            btnTempValues.Width = btnTempValues.GetTextWidth() + Application.GetRealWidth(6);
 #else
             btnTempValues.Width = btnTempValues.GetTextWidth();
 #endif
+            if (btnTempValues.Width > Application.GetRealWidth(80))
+            {
+                btnTempValues.TextSize = 28;
+            }
             btnTempValues.Gravity = Gravity.CenterHorizontal;
 
-            btnTempValuesUint.X = btnTempValues.Right - Application.GetRealWidth(4);
+            btnTempValuesUint.X = btnTempValues.Right ;
         }
 
         /// <summary>
@@ -1176,12 +1137,12 @@
 #endif
             setTemp_ValuesButton.Gravity = Gravity.CenterHorizontal;
 
-            setTemp_UintButton.X = setTemp_ValuesButton.Right - Application.GetRealWidth(4);
+            setTemp_UintButton.X = setTemp_ValuesButton.Right + Application.GetRealWidth(4);
 
 
-            double dd = 0;
+            double dd = 35;
             double.TryParse(function.GetAttrState(WaterHeaterJinmao_AttrEnum.set_temp.ToString(), "0"), out dd);
-            setTemp_Bar.Progress = Convert.ToInt32(dd) - 35;
+            setTemp_Bar.Progress = Convert.ToInt32(dd);
 
         }
 
@@ -1209,8 +1170,11 @@
             flow_ValuesBar.Progress = recyclVolumePercent;
             flow_HeatRecoveryProgressButton.Text = recyclVolumePercent + "%";
             flow_HeatRecoverytValuesButton.Text = recyclVolume + "t";
-            flow_ElectricDriveProgressButton.Text = (100 - recyclVolumePercent) + "%";
-            flow_ElectricDriveValuesButton.Text = (volume - recyclVolume) + "t";
+            if (volume > 0)
+            {
+                flow_ElectricDriveProgressButton.Text = ((int)(100 - recyclVolumePercent)) + "%";
+            }
+            flow_ElectricDriveValuesButton.Text = (((int)(volume * 100) - (int)(recyclVolume * 100)) / 100.0) + "t";
         }
 
         /// <summary>
@@ -1224,20 +1188,48 @@
 #else
             socialContribution_Info1_ValuesButton.Width = socialContribution_Info1_ValuesButton.GetTextWidth();
 #endif
-            socialContribution_Info1_UintButton.X = socialContribution_Info1_ValuesButton.Right - Application.GetRealWidth(4);
+            if (socialContribution_Info1_ValuesButton.Width > Application.GetRealWidth(61))
+            {
+                socialContribution_Info1_ValuesButton.TextSize = 14;
+#if __IOS__
+                socialContribution_Info1_ValuesButton.Width = socialContribution_Info1_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
+#else
+            socialContribution_Info1_ValuesButton.Width = socialContribution_Info1_ValuesButton.GetTextWidth();
+#endif
+                socialContribution_Info1_UintButton.Height = Application.GetRealWidth(25);
+            }
+#if __IOS__
+            socialContribution_Info1_UintButton.X = socialContribution_Info1_ValuesButton.Right ;
+#else
+            socialContribution_Info1_UintButton.X = socialContribution_Info1_ValuesButton.Right +Application.GetRealWidth(2);
+#endif
         }
         /// <summary>
         /// 鏇存柊绀句細璐�2鐚暟鎹甎I
         /// </summary>
         private void updateSocialContribution2()
         {
-            socialContribution_Info3_ValuesButton.Text = function.GetAttrState(WaterHeaterJinmao_AttrEnum.co2.ToString());
+            socialContribution_Info2_ValuesButton.Text = function.GetAttrState(WaterHeaterJinmao_AttrEnum.co2.ToString());
 #if __IOS__
-            socialContribution_Info3_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
+            socialContribution_Info2_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
 #else
             socialContribution_Info2_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth();
 #endif
-            socialContribution_Info2_UintButton.X = socialContribution_Info2_ValuesButton.Right - Application.GetRealWidth(4);
+            if (socialContribution_Info2_ValuesButton.Width > Application.GetRealWidth(61))
+            {
+                socialContribution_Info2_ValuesButton.TextSize = 14;
+#if __IOS__
+                socialContribution_Info2_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
+#else
+            socialContribution_Info2_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth();
+#endif
+                socialContribution_Info2_UintButton.Y = socialContribution_Info2_UintButton.Y - Application.GetRealWidth(4);
+            }
+#if __IOS__
+            socialContribution_Info2_UintButton.X = socialContribution_Info2_ValuesButton.Right;
+#else
+            socialContribution_Info2_UintButton.X = socialContribution_Info2_ValuesButton.Right +Application.GetRealWidth(2);
+#endif
 
         }
         /// <summary>
@@ -1252,7 +1244,20 @@
 #else
             socialContribution_Info3_ValuesButton.Width = socialContribution_Info3_ValuesButton.GetTextWidth();
 #endif
-            socialContribution_Info3_UintButton.X = socialContribution_Info3_ValuesButton.Right - Application.GetRealWidth(4);
+            if (socialContribution_Info3_ValuesButton.Width > Application.GetRealWidth(61))
+            {
+                socialContribution_Info3_ValuesButton.TextSize = 14;
+#if __IOS__
+                socialContribution_Info3_ValuesButton.Width = socialContribution_Info3_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
+#else
+            socialContribution_Info3_ValuesButton.Width = socialContribution_Info3_ValuesButton.GetTextWidth();
+#endif
+            }
+#if __IOS__
+            socialContribution_Info3_UintButton.X = socialContribution_Info3_ValuesButton.Right;
+#else
+            socialContribution_Info3_UintButton.X = socialContribution_Info3_ValuesButton.Right +Application.GetRealWidth(2);
+#endif
         }
 
         /// <summary>
@@ -1262,8 +1267,6 @@
         {
             btnPowerControl.IsSelected = function.GetAttrState(FunctionAttributeKey.OnOff.ToString()) == "on";
         }
-
-
     }
 }
 
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/WetarHeaterJinmaoHistoryPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/WetarHeaterJinmaoHistoryPage.cs
index b1d60f1..f09e8d6 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Acst/WetarHeaterJinmaoHistoryPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/WetarHeaterJinmaoHistoryPage.cs
@@ -215,40 +215,40 @@
             tempEchartOption = new EchartsOption_Histogram();
             tempEchartOption.xTitle = "鏃堕棿";
             tempEchartOption.yTitle = "娓╁害锛堚剝锛�";
-            tempEchartOption.InitXdataText(new List<string>()
-            {
-                "21","22","23","24","25","26","26","27","28","29",
-                "21","22","23","24","25","26","26","27","28","29",
-                "21","22","23","24"
-            });
-            tempEchartOption.InitYdataText(new List<EnvironmentalSensorHistor>() {
-                new EnvironmentalSensorHistor{ fieldName = "1", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "2", fieldValue= "22"  },
-                new EnvironmentalSensorHistor{ fieldName = "3", fieldValue= "11"  },
-                new EnvironmentalSensorHistor{ fieldName = "4", fieldValue= "21"  },
-                new EnvironmentalSensorHistor{ fieldName = "5", fieldValue= "41"  },
-                new EnvironmentalSensorHistor{ fieldName = "6", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "7", fieldValue= "31"  },
-                new EnvironmentalSensorHistor{ fieldName = "8", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "9", fieldValue= "11"  },
-                new EnvironmentalSensorHistor{ fieldName = "10", fieldValue= "21"  },
-                new EnvironmentalSensorHistor{ fieldName = "11", fieldValue= "24"  },
-                new EnvironmentalSensorHistor{ fieldName = "12", fieldValue= "41"  },
-                new EnvironmentalSensorHistor{ fieldName = "13", fieldValue= "32"  },
-                new EnvironmentalSensorHistor{ fieldName = "14", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "15", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "16", fieldValue= "22"  },
-                new EnvironmentalSensorHistor{ fieldName = "17", fieldValue= "11"  },
-                new EnvironmentalSensorHistor{ fieldName = "18", fieldValue= "21"  },
-                new EnvironmentalSensorHistor{ fieldName = "19", fieldValue= "41"  },
-                new EnvironmentalSensorHistor{ fieldName = "20", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "21", fieldValue= "31"  },
-                new EnvironmentalSensorHistor{ fieldName = "22", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "23", fieldValue= "11"  },
-                new EnvironmentalSensorHistor{ fieldName = "24", fieldValue= "21"  },
-            });
-            var ddd = tempEchartOption.InitOption();
-            infoView1_EchartsView.ShowWithOption(ddd);
+            //tempEchartOption.InitXdataText(new List<string>()
+            //{
+            //    "21","22","23","24","25","26","26","27","28","29",
+            //    "21","22","23","24","25","26","26","27","28","29",
+            //    "21","22","23","24"
+            //});
+            //tempEchartOption.InitYdataText(new List<EnvironmentalSensorHistor>() {
+            //    new EnvironmentalSensorHistor{ fieldName = "1", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "2", fieldValue= "22"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "3", fieldValue= "11"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "4", fieldValue= "21"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "5", fieldValue= "41"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "6", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "7", fieldValue= "31"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "8", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "9", fieldValue= "11"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "10", fieldValue= "21"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "11", fieldValue= "24"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "12", fieldValue= "41"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "13", fieldValue= "32"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "14", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "15", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "16", fieldValue= "22"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "17", fieldValue= "11"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "18", fieldValue= "21"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "19", fieldValue= "41"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "20", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "21", fieldValue= "31"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "22", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "23", fieldValue= "11"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "24", fieldValue= "21"  },
+            //});
+            //var ddd = tempEchartOption.InitOption();
+            //infoView1_EchartsView.ShowWithOption(ddd);
 
             infoView1.AddChidren(new Button()
             {
@@ -420,39 +420,39 @@
             echartOption2 = new EchartsOption_Histogram();
             echartOption2.xTitle = "鏃堕棿";
             echartOption2.yTitle = "鐢ㄦ按閲忥紙t锛�";
-            echartOption2.InitXdataText(new List<string>()
-            {
-                "21","22","23","24","25","26","26","27","28","29",
-                "21","22","23","24","25","26","26","27","28","29",
-                "21","22","23","24"
-            });
-            echartOption2.InitYdataText(new List<EnvironmentalSensorHistor>() {
-                new EnvironmentalSensorHistor{ fieldName = "1", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "2", fieldValue= "22"  },
-                new EnvironmentalSensorHistor{ fieldName = "3", fieldValue= "11"  },
-                new EnvironmentalSensorHistor{ fieldName = "4", fieldValue= "21"  },
-                new EnvironmentalSensorHistor{ fieldName = "5", fieldValue= "41"  },
-                new EnvironmentalSensorHistor{ fieldName = "6", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "7", fieldValue= "31"  },
-                new EnvironmentalSensorHistor{ fieldName = "8", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "9", fieldValue= "11"  },
-                new EnvironmentalSensorHistor{ fieldName = "10", fieldValue= "21"  },
-                new EnvironmentalSensorHistor{ fieldName = "11", fieldValue= "24"  },
-                new EnvironmentalSensorHistor{ fieldName = "12", fieldValue= "41"  },
-                new EnvironmentalSensorHistor{ fieldName = "13", fieldValue= "32"  },
-                new EnvironmentalSensorHistor{ fieldName = "14", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "15", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "16", fieldValue= "22"  },
-                new EnvironmentalSensorHistor{ fieldName = "17", fieldValue= "11"  },
-                new EnvironmentalSensorHistor{ fieldName = "18", fieldValue= "21"  },
-                new EnvironmentalSensorHistor{ fieldName = "19", fieldValue= "41"  },
-                new EnvironmentalSensorHistor{ fieldName = "20", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "21", fieldValue= "31"  },
-                new EnvironmentalSensorHistor{ fieldName = "22", fieldValue= "23"  },
-                new EnvironmentalSensorHistor{ fieldName = "23", fieldValue= "11"  },
-                new EnvironmentalSensorHistor{ fieldName = "24", fieldValue= "21"  },
-            });
-            infoView2_EchartsView.ShowWithOption(echartOption2.InitOption());
+            //echartOption2.InitXdataText(new List<string>()
+            //{
+            //    "21","22","23","24","25","26","26","27","28","29",
+            //    "21","22","23","24","25","26","26","27","28","29",
+            //    "21","22","23","24"
+            //});
+            //echartOption2.InitYdataText(new List<EnvironmentalSensorHistor>() {
+            //    new EnvironmentalSensorHistor{ fieldName = "1", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "2", fieldValue= "22"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "3", fieldValue= "11"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "4", fieldValue= "21"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "5", fieldValue= "41"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "6", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "7", fieldValue= "31"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "8", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "9", fieldValue= "11"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "10", fieldValue= "21"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "11", fieldValue= "24"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "12", fieldValue= "41"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "13", fieldValue= "32"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "14", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "15", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "16", fieldValue= "22"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "17", fieldValue= "11"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "18", fieldValue= "21"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "19", fieldValue= "41"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "20", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "21", fieldValue= "31"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "22", fieldValue= "23"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "23", fieldValue= "11"  },
+            //    new EnvironmentalSensorHistor{ fieldName = "24", fieldValue= "21"  },
+            //});
+            //infoView2_EchartsView.ShowWithOption(echartOption2.InitOption());
 
             infoView2.AddChidren(new Button()
             {
@@ -476,6 +476,8 @@
             });
 
             initQueryButton();
+            getTempHistory();
+            getWaterHistory();
         }
 
 
@@ -493,6 +495,7 @@
             var loadPage = new Loading()
             {
                 LodingBackgroundColor = 0x88888888,
+                BackgroundColor = 0x00FFFFFF,
             };
             infoView1.AddChidren(loadPage);
 
@@ -502,7 +505,7 @@
                 {
                     Application.RunOnMainThread(() =>
                     {
-                        loadPage.Start(Language.StringByID(StringId.PleaseWait));
+                        loadPage.Start();
                     });
 
                     switch (tempQueryType)
@@ -566,6 +569,7 @@
             var loadPage = new Loading()
             {
                 LodingBackgroundColor = 0x88888888,
+                BackgroundColor = 0x00FFFFFF,
             };
             infoView2.AddChidren(loadPage);
 
@@ -575,7 +579,7 @@
                 {
                     Application.RunOnMainThread(() =>
                     {
-                        loadPage.Start(Language.StringByID(StringId.PleaseWait));
+                        loadPage.Start();
                     });
                     switch (waterQueryType)
                     {
@@ -637,102 +641,68 @@
                 var tempQueryDate = new DateTime(tempQueryTime_Year,tempQueryTime_Month,tempQueryTime_Day);
                 if (tempQueryType == QueryType.day_hour)
                 {
-                    tempQueryDate = tempQueryDate.AddDays(-1);
                     if(tempQueryDate.Year == 2023 && tempQueryDate.Month == 1 && tempQueryDate.Day == 1)
                     {
-                        infoView1_DateInfo_PreIconButton.Visible = false;
-                        infoView1_DateInfo_PreClickButton.Enable = false;
+                        return;
                     }
-                    if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month && tempQueryDate.Day == DateTime.Now.Day - 1)
-                    {
-                        infoView1_DateInfo_NextIconButton.Visible = true;
-                        infoView1_DateInfo_NextClickButton.Enable = true;
-                    }
+                    tempQueryDate = tempQueryDate.AddDays(-1);
+                infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM-dd");
                 }
                 else if(tempQueryType == QueryType.custom_month)
                 {
-                    tempQueryDate = tempQueryDate.AddMonths(-1);
                     if (tempQueryDate.Year == 2023 && tempQueryDate.Month == 1)
                     {
-                        infoView1_DateInfo_PreIconButton.Visible = false;
-                        infoView1_DateInfo_PreClickButton.Enable = false;
+                        return;
                     }
-                    if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month - 1)
-                    {
-                        infoView1_DateInfo_NextIconButton.Visible = true;
-                        infoView1_DateInfo_NextClickButton.Enable = true;
-                    }
+                    tempQueryDate = tempQueryDate.AddMonths(-1);
+                infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM");
                 }
                 else if(tempQueryType == QueryType.custom_year)
                 {
-                    tempQueryDate = tempQueryDate.AddYears(-1);
                     if (tempQueryDate.Year == 2023)
                     {
-                        infoView1_DateInfo_PreIconButton.Visible = false;
-                        infoView1_DateInfo_PreClickButton.Enable = false;
+                        return;
                     }
-                    if (tempQueryDate.Year == DateTime.Now.Year - 1)
-                    {
-                        infoView1_DateInfo_NextIconButton.Visible = true;
-                        infoView1_DateInfo_NextClickButton.Enable = true;
-                    }
+                    tempQueryDate = tempQueryDate.AddYears(-1);
+                infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy");
                 }
                 tempQueryTime_Year = tempQueryDate.Year;
                 tempQueryTime_Month = tempQueryDate.Month;
                 tempQueryTime_Day = tempQueryDate.Day;
-                infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM-dd");
                 getTempHistory();
             };
-            infoView1_DateInfo_NextIconButton.Visible = false;
-            infoView1_DateInfo_NextClickButton.Enable = false;
             infoView1_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) => {
                 var tempQueryDate = new DateTime(tempQueryTime_Year, tempQueryTime_Month, tempQueryTime_Day);
                 if (tempQueryType == QueryType.day_hour)
                 {
-                    tempQueryDate = tempQueryDate.AddDays(1);
-                    if (tempQueryDate.Year == 2023 && tempQueryDate.Month == 1 && tempQueryDate.Day == 2)
-                    {
-                        infoView1_DateInfo_PreIconButton.Visible = true;
-                        infoView1_DateInfo_PreClickButton.Enable = true;
-                    }
                     if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month && tempQueryDate.Day == DateTime.Now.Day)
                     {
-                        infoView1_DateInfo_NextIconButton.Visible = false;
-                        infoView1_DateInfo_NextClickButton.Enable = false;
+                        return;
                     }
+                    tempQueryDate = tempQueryDate.AddDays(1);
+                infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM-dd");
                 }
                 else if (tempQueryType == QueryType.custom_month)
                 {
-                    tempQueryDate = tempQueryDate.AddMonths(1);
-                    if (tempQueryDate.Year == 2023 && tempQueryDate.Month == 2)
-                    {
-                        infoView1_DateInfo_PreIconButton.Visible = true;
-                        infoView1_DateInfo_PreClickButton.Enable = true;
-                    }
                     if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month )
                     {
-                        infoView1_DateInfo_NextIconButton.Visible = false;
-                        infoView1_DateInfo_NextClickButton.Enable = false;
+                        return;
                     }
+                    tempQueryDate = tempQueryDate.AddMonths(1);
+                infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM");
                 }
                 else if (tempQueryType == QueryType.custom_year)
                 {
-                    tempQueryDate = tempQueryDate.AddYears(1);
-                    if (tempQueryDate.Year == 2023)
-                    {
-                        infoView1_DateInfo_PreIconButton.Visible = false;
-                        infoView1_DateInfo_PreClickButton.Enable = false;
-                    }
                     if (tempQueryDate.Year == DateTime.Now.Year)
                     {
-                        infoView1_DateInfo_NextIconButton.Visible = false;
-                        infoView1_DateInfo_NextClickButton.Enable = false;
+                        return;
                     }
+                    tempQueryDate = tempQueryDate.AddYears(1);
+                infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy");
                 }
                 tempQueryTime_Year = tempQueryDate.Year;
                 tempQueryTime_Month = tempQueryDate.Month;
                 tempQueryTime_Day = tempQueryDate.Day;
-                infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM-dd");
                 getTempHistory();
             };
 
@@ -781,102 +751,68 @@
                 var waterQueryDate = new DateTime(waterQueryTime_Year, waterQueryTime_Month, waterQueryTime_Day);
                 if (waterQueryType == QueryType.day_hour)
                 {
-                    waterQueryDate = waterQueryDate.AddDays(-1);
                     if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 1 && waterQueryDate.Day == 1)
                     {
-                        infoView2_DateInfo_PreIconButton.Visible = false;
-                        infoView2_DateInfo_PreClickButton.Enable = false;
+                        return;
                     }
-                    if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month && waterQueryDate.Day == DateTime.Now.Day - 1)
-                    {
-                        infoView2_DateInfo_NextIconButton.Visible = true;
-                        infoView2_DateInfo_NextClickButton.Enable = true;
-                    }
+                    waterQueryDate = waterQueryDate.AddDays(-1);
+                infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM-dd");
                 }
                 else if (waterQueryType == QueryType.custom_month)
                 {
-                    waterQueryDate = waterQueryDate.AddMonths(-1);
                     if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 1)
                     {
-                        infoView2_DateInfo_PreIconButton.Visible = false;
-                        infoView2_DateInfo_PreClickButton.Enable = false;
+                        return;
                     }
-                    if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month - 1)
-                    {
-                        infoView2_DateInfo_NextIconButton.Visible = true;
-                        infoView2_DateInfo_NextClickButton.Enable = true;
-                    }
+                    waterQueryDate = waterQueryDate.AddMonths(-1);
+                infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM");
                 }
                 else if (waterQueryType == QueryType.custom_year)
                 {
-                    waterQueryDate = waterQueryDate.AddYears(-1);
                     if (waterQueryDate.Year == 2023)
                     {
-                        infoView2_DateInfo_PreIconButton.Visible = false;
-                        infoView2_DateInfo_PreClickButton.Enable = false;
+                        return;
                     }
-                    if (waterQueryDate.Year == DateTime.Now.Year - 1)
-                    {
-                        infoView2_DateInfo_NextIconButton.Visible = true;
-                        infoView2_DateInfo_NextClickButton.Enable = true;
-                    }
+                    waterQueryDate = waterQueryDate.AddYears(-1);
+                infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy");
                 }
                 waterQueryTime_Year = waterQueryDate.Year;
                 waterQueryTime_Month = waterQueryDate.Month;
                 waterQueryTime_Day = waterQueryDate.Day;
-                infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM-dd");
                 getWaterHistory();
             };
-            infoView2_DateInfo_NextIconButton.Visible = false;
-            infoView2_DateInfo_NextClickButton.Enable = false;
             infoView2_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) => {
                 var waterQueryDate = new DateTime(waterQueryTime_Year, waterQueryTime_Month, waterQueryTime_Day);
                 if (waterQueryType == QueryType.day_hour)
                 {
-                    waterQueryDate = waterQueryDate.AddDays(1);
                     if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 1 && waterQueryDate.Day == 2)
                     {
-                        infoView2_DateInfo_PreIconButton.Visible = true;
-                        infoView2_DateInfo_PreClickButton.Enable = true;
+                        return;
                     }
-                    if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month && waterQueryDate.Day == DateTime.Now.Day)
-                    {
-                        infoView2_DateInfo_NextIconButton.Visible = false;
-                        infoView2_DateInfo_NextClickButton.Enable = false;
-                    }
+                    waterQueryDate = waterQueryDate.AddDays(1);
+                infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM-dd");
                 }
                 else if (waterQueryType == QueryType.custom_month)
                 {
-                    waterQueryDate = waterQueryDate.AddMonths(1);
-                    if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 2)
-                    {
-                        infoView2_DateInfo_PreIconButton.Visible = true;
-                        infoView2_DateInfo_PreClickButton.Enable = true;
-                    }
                     if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month)
                     {
-                        infoView2_DateInfo_NextIconButton.Visible = false;
-                        infoView2_DateInfo_NextClickButton.Enable = false;
+                        return;
                     }
+                    waterQueryDate = waterQueryDate.AddMonths(1);
+                infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM");
                 }
                 else if (waterQueryType == QueryType.custom_year)
                 {
-                    waterQueryDate = waterQueryDate.AddYears(1);
                     if (waterQueryDate.Year == 2023)
                     {
-                        infoView2_DateInfo_PreIconButton.Visible = false;
-                        infoView2_DateInfo_PreClickButton.Enable = false;
+                        return;
                     }
-                    if (waterQueryDate.Year == DateTime.Now.Year)
-                    {
-                        infoView2_DateInfo_NextIconButton.Visible = false;
-                        infoView2_DateInfo_NextClickButton.Enable = false;
-                    }
+                    waterQueryDate = waterQueryDate.AddYears(1);
+                infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy");
                 }
                 waterQueryTime_Year = waterQueryDate.Year;
                 waterQueryTime_Month = waterQueryDate.Month;
                 waterQueryTime_Day = waterQueryDate.Day;
-                infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM-dd");
                 getWaterHistory();
             };
             infoView2_Date_Day.MouseDownEventHandler = (sender, e) => {
@@ -1107,6 +1043,10 @@
                 }
                 if (pickerItems_Month != null)
                 {
+                    if (int2 > pickerItems_Month.Count)
+                    {
+                        int2 = 0;
+                    }
                     if (pickerItems_Month[int2] != item2.ToString())
                     {
                         int.TryParse(pickerItems_Month[int2], out item2);
@@ -1362,6 +1302,10 @@
                 }
                 if (pickerItems_Month != null)
                 {
+                    if (int2 > pickerItems_Month.Count)
+                    {
+                        int2 = 0;
+                    }
                     if (pickerItems_Month[int2] != item2.ToString())
                     {
                         int.TryParse(pickerItems_Month[int2], out item2);
diff --git a/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPage.cs b/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPage.cs
index db81b46..ea84682 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPage.cs
@@ -240,7 +240,6 @@
             };
             controlView.AddChidren(btnIndoorTemp);
            
-
             btnMinus = new Button()
             {
                 X = Application.GetRealWidth(21),
diff --git a/SiriIntents/Server/HttpUtil.cs b/SiriIntents/Server/HttpUtil.cs
index 8f04bde..1a66ef0 100644
--- a/SiriIntents/Server/HttpUtil.cs
+++ b/SiriIntents/Server/HttpUtil.cs
@@ -16,15 +16,13 @@
         /// 鍥哄畾鍩熷悕,姝e紡鐜
         /// 鍏叡鍩熷悕灏辫繎瑙f瀽
         /// </summary>
-        //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
-        //const string APP_KEY = "HDL-HOME-APP";
-        //const string SECRET_KEY = "CPL345bn28gHnvi9G4tYbq3cTYkiHC";
+        public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
+        const string APP_KEY = "HDL-HOME-APP";
+        const string SECRET_KEY = "CPL345bn28gHnvi9G4tYbq3cTYkiHC";
 
-
-        public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";
-        public const string APP_KEY = "HDL-HOME-APP-TEST";
-        public const string SECRET_KEY = "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss";
-
+        //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";
+        //public const string APP_KEY = "HDL-HOME-APP-TEST";
+        //public const string SECRET_KEY = "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss";
 
         //public const string GlobalRequestHttpsHost = "http://59.41.255.150:7777";//mmmm
         //const string APP_KEY = "CPEVRLRT";
diff --git a/SiriIntents/SiriIntents.csproj b/SiriIntents/SiriIntents.csproj
index 765db83..024994f 100644
--- a/SiriIntents/SiriIntents.csproj
+++ b/SiriIntents/SiriIntents.csproj
@@ -28,7 +28,7 @@
     <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler>
     <DeviceSpecificBuild>false</DeviceSpecificBuild>
     <MtouchVerbosity></MtouchVerbosity>
-    <CodesignProvision>0002-OnProSiri-240704-1-Dev</CodesignProvision>
+    <CodesignProvision>0002-OnProSiri-240905-1-Dev</CodesignProvision>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
     <DebugType>pdbonly</DebugType>
@@ -37,7 +37,7 @@
     <DefineConstants></DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
-    <CodesignKey>Apple Development: xuebiao huang (4P32GXQWWK)</CodesignKey>
+    <CodesignKey>Apple Distribution: HDL Automation Co., Ltd (BVTA78PRYA)</CodesignKey>
     <MtouchUseLlvm>true</MtouchUseLlvm>
     <MtouchFloat32>true</MtouchFloat32>
     <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
@@ -45,7 +45,7 @@
     <MtouchArch>ARM64</MtouchArch>
     <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler>
     <MtouchVerbosity></MtouchVerbosity>
-    <CodesignProvision>0002-OnProSiri-240830-1-Dev</CodesignProvision>
+    <CodesignProvision>0002-OnProSiri-240905-1-Hoc</CodesignProvision>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
     <DebugType>pdbonly</DebugType>
@@ -81,7 +81,7 @@
     <MtouchArch>ARM64</MtouchArch>
     <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler>
     <MtouchVerbosity></MtouchVerbosity>
-    <CodesignProvision>0002-OnProSiri-240704-1-Dev</CodesignProvision>
+    <CodesignProvision>0002-OnProSiri-240905-1-Dev</CodesignProvision>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="System" />
diff --git a/SiriIntentsUI/SiriIntentsUI.csproj b/SiriIntentsUI/SiriIntentsUI.csproj
index 976a633..f21e5e4 100644
--- a/SiriIntentsUI/SiriIntentsUI.csproj
+++ b/SiriIntentsUI/SiriIntentsUI.csproj
@@ -29,7 +29,7 @@
     <DeviceSpecificBuild>false</DeviceSpecificBuild>
     <MtouchVerbosity></MtouchVerbosity>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <CodesignProvision>0002-OnProSiriUI-240704-1-Dev</CodesignProvision>
+    <CodesignProvision>0002-OnProSiriUI-240905-1-Dev</CodesignProvision>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
     <DebugType>pdbonly</DebugType>
@@ -47,7 +47,7 @@
     <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler>
     <MtouchVerbosity></MtouchVerbosity>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <CodesignProvision>0002-OnProSiriUI-240703-1-Hoc</CodesignProvision>
+    <CodesignProvision>0002-OnProSiriUI-240905-1-Hoc</CodesignProvision>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
     <DebugType>pdbonly</DebugType>
@@ -85,7 +85,7 @@
     <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler>
     <MtouchVerbosity></MtouchVerbosity>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <CodesignProvision></CodesignProvision>
+    <CodesignProvision>0002-OnProSiriUI-240905-1-Dev</CodesignProvision>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="System" />

--
Gitblit v1.8.0