From b562a582ac3a288193e6e4f57c5eff8a344305a4 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期五, 27 九月 2024 13:52:17 +0800
Subject: [PATCH] Update AndroidManifest.xml
---
HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoPage.cs | 1084 +++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 827 insertions(+), 257 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoPage.cs
index 5de0923..02bbf02 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;
@@ -7,8 +10,116 @@
{
public class InverterJinmaoPage : FrameLayout
{
- FrameLayout bodyView;
+ static InverterJinmaoPage bodyView;
Function function;
+ /// <summary>
+ /// 浠婃棩鍙戠數閲忔暟鎹寜閽�
+ /// </summary>
+ Button pvGenerate_TodayValuesButton;
+ /// <summary>
+ /// 浠婃棩鍙戠數閲忓崟浣嶆寜閽�
+ /// </summary>
+ Button pvGenerate_todayUintButton;
+ /// <summary>
+ /// 绱鍙戠數閲忔暟鎹寜閽�
+ /// </summary>
+ Button pvGenerate_TotalValuesButton;
+ /// <summary>
+ /// 浠婃棩鐢ㄧ數閲忔暟鎹寜閽�
+ /// </summary>
+ Button pvLoad_TodayValuesButton;
+ /// <summary>
+ /// 浠婃棩鐢ㄧ數閲忓崟浣嶆寜閽�
+ /// </summary>
+ Button loadEle_TodayUintButton;
+ /// <summary>
+ /// 绱鐢ㄧ數閲忔暟鎹寜閽�
+ /// </summary>
+ Button pvLoad_TotalValuesButton;
+ /// <summary>
+ /// 鍏変紡杩愯鐘舵�佷俊鎭尯鍩�
+ /// </summary>
+ FrameLayout pvRunStatusInfoView;
+ /// <summary>
+ /// 鍏変紡杩愯鐘舵�佸浘鏍囨寜閽�
+ /// </summary>
+ Button pvRunStatus_IconButton;
+ /// <summary>
+ /// 鍏変紡杩愯鐘舵�佹枃鏈寜閽�
+ /// </summary>
+ Button pvRunStatus_TextButton;
+ /// <summary>
+ /// 鍏変紡鍙戠數鍔熻兘鏁版嵁鎸夐挳
+ /// </summary>
+ Button pvPower_ValuesButton;
+ /// <summary>
+ /// 鍏変紡浠婃棩鍙戠數閲忔暟鎹寜閽�
+ /// </summary>
+ Button pvGeneration_TodayValuesButton;
+ /// <summary>
+ /// 鍏変紡鏈湀鍙戠數閲忔暟鎹寜閽�
+ /// </summary>
+ Button pvGeneration_MonthValuesButton;
+ /// <summary>
+ /// 鍏変紡瀹炴椂鐢ㄧ數鍔熺巼鏁版嵁鎸夐挳
+ /// </summary>
+ Button loadElec_ValuesButton;
+ /// <summary>
+ /// 鍏変紡鐘舵�佷粖鏃ョ敤鐢甸噺鏁版嵁鎸夐挳
+ /// </summary>
+ Button powerUsage_TodayValuesButton;
+ /// <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()
{
@@ -59,7 +170,7 @@
};
electricityQuantityView.AddChidren(electricityGenerationView);
- var electricityGeneration_IconButton = new Button()
+ var pv_IconButton = new Button()
{
X = Application.GetRealWidth(14),
Y = Application.GetRealWidth(16),
@@ -67,9 +178,9 @@
Height = Application.GetRealWidth(12),
UnSelectedImagePath = "FunctionIcon/Acst/Inverter/ElectricityGenerationIcon.png"
};
- electricityQuantityView.AddChidren(electricityGeneration_IconButton);
+ electricityQuantityView.AddChidren(pv_IconButton);
- var electricityGeneration_TextButton = new Button()
+ var pv_TextButton = new Button()
{
X = Application.GetRealWidth(32),
Y = Application.GetRealWidth(12),
@@ -80,9 +191,9 @@
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.MainBackgroundColor,
};
- electricityGenerationView.AddChidren(electricityGeneration_TextButton);
+ electricityGenerationView.AddChidren(pv_TextButton);
- var electricityGeneration_ValuesButton = new Button()
+ pvGenerate_TodayValuesButton = new Button()
{
X = Application.GetRealWidth(12),
Y = Application.GetRealWidth(34),
@@ -92,28 +203,29 @@
TextSize = 18,
IsBold = true,
};
- electricityGenerationView.AddChidren(electricityGeneration_ValuesButton);
+ electricityGenerationView.AddChidren(pvGenerate_TodayValuesButton);
#if __IOS__
- electricityGeneration_ValuesButton.TextAlignment = TextAlignment.TopLeft;
- electricityGeneration_ValuesButton.Width = electricityGeneration_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
+ pvGenerate_TodayValuesButton.TextAlignment = TextAlignment.TopLeft;
+ pvGenerate_TodayValuesButton.Width = pvGenerate_TodayValuesButton.GetTextWidth() + Application.GetRealWidth(8);
#else
- electricityGeneration_ValuesButton.TextAlignment = TextAlignment.BottomLeft;
- electricityGeneration_ValuesButton.Width = electricityGeneration_ValuesButton.GetTextWidth();
+ pvGenerate_TodayValuesButton.TextAlignment = TextAlignment.BottomLeft;
+ pvGenerate_TodayValuesButton.Y = Application.GetRealWidth(37);
+ pvGenerate_TodayValuesButton.Width = pvGenerate_TodayValuesButton.GetTextWidth() + Application.GetRealWidth(4);
#endif
- var electricityGeneration_UintButton = new Button()
+ pvGenerate_todayUintButton = new Button()
{
- Y = Application.GetRealWidth(41),
+ Y = Application.GetRealWidth(43),
Height = Application.GetRealWidth(17),
Text = "kwh",
TextColor = CSS_Color.MainBackgroundColor,
TextSize = 12,
TextAlignment = TextAlignment.CenterLeft,
};
- electricityGeneration_UintButton.X = electricityGeneration_ValuesButton.Right;
- electricityGenerationView.AddChidren(electricityGeneration_UintButton);
+ pvGenerate_todayUintButton.X = pvGenerate_TodayValuesButton.Right - Application.GetRealWidth(2);
+ electricityGenerationView.AddChidren(pvGenerate_todayUintButton);
- var electricityGeneration_TotalValuesButton = new Button()
+ pvGenerate_TotalValuesButton = new Button()
{
X = Application.GetRealWidth(12),
Y = Application.GetRealWidth(69),
@@ -124,24 +236,23 @@
TextAlignment = TextAlignment.CenterLeft,
//IsBold = true,
};
- electricityGenerationView.AddChidren(electricityGeneration_TotalValuesButton);
+ electricityGenerationView.AddChidren(pvGenerate_TotalValuesButton);
#endregion
-
#region 鐢ㄧ數閲� Electricity consumption
- var electricityConsumptionView = new FrameLayout()
+ var loadEleView = new FrameLayout()
{
- X = Application.GetRealWidth(178-16),
+ X = Application.GetRealWidth(178 - 16),
Width = Application.GetRealWidth(181),
Height = Application.GetRealWidth(99),
BackgroundImagePath = "FunctionIcon/Acst/Inverter/ElectricityConsumptionBg.png"
};
- electricityQuantityView.AddChidren(electricityConsumptionView);
+ electricityQuantityView.AddChidren(loadEleView);
- var electricityConsumption_IconButton = new Button()
+ var loadEle_IconButton = new Button()
{
X = Application.GetRealWidth(155),
Y = Application.GetRealWidth(16),
@@ -149,9 +260,9 @@
Height = Application.GetRealWidth(12),
UnSelectedImagePath = "FunctionIcon/Acst/Inverter/ElectricityConsumptionIcon.png"
};
- electricityConsumptionView.AddChidren(electricityConsumption_IconButton);
+ loadEleView.AddChidren(loadEle_IconButton);
- var electricityConsumption_TextButton = new Button()
+ var loadEle_TodayTextButton = new Button()
{
//X = Application.GetRealWidth(181 - 32),
Y = Application.GetRealWidth(12),
@@ -162,29 +273,29 @@
TextAlignment = TextAlignment.CenterRight,
TextColor = CSS_Color.MainBackgroundColor,
};
- electricityConsumptionView.AddChidren(electricityConsumption_TextButton);
+ loadEleView.AddChidren(loadEle_TodayTextButton);
- var electricityConsumption_UintButton = new Button()
+ loadEle_TodayUintButton = new Button()
{
- Y = Application.GetRealWidth(41),
+ Y = Application.GetRealWidth(43),
Height = Application.GetRealWidth(17),
Text = "kwh",
TextColor = CSS_Color.MainBackgroundColor,
TextSize = 12,
TextAlignment = TextAlignment.CenterRight,
};
- electricityConsumptionView.AddChidren(electricityConsumption_UintButton);
+ loadEleView.AddChidren(loadEle_TodayUintButton);
#if __IOS__
- electricityConsumption_UintButton.Width = electricityConsumption_UintButton.GetTextWidth() + Application.GetRealWidth(8);
+ loadEle_TodayUintButton.Width = loadEle_TodayUintButton.GetTextWidth() + Application.GetRealWidth(8);
#else
- electricityConsumption_UintButton.Width = electricityConsumption_UintButton.GetTextWidth();
+ loadEle_TodayUintButton.Width = loadEle_TodayUintButton.GetTextWidth();
#endif
- electricityConsumption_UintButton.X = Application.GetRealWidth(181 - 12) - electricityConsumption_UintButton.Width;
+ loadEle_TodayUintButton.X = Application.GetRealWidth(181 - 12) - loadEle_TodayUintButton.Width;
- var electricityConsumption_ValuesButton = new Button()
+ pvLoad_TodayValuesButton = new Button()
{
- X = Application.GetRealWidth(81 - 12) - electricityConsumption_UintButton.Width,
+ X = Application.GetRealWidth(81 - 12) - loadEle_TodayUintButton.Width,
Y = Application.GetRealWidth(34),
Height = Application.GetRealWidth(53),
Width = Application.GetRealWidth(100),
@@ -194,27 +305,34 @@
TextAlignment = TextAlignment.TopRight,
IsBold = true,
};
- electricityConsumptionView.AddChidren(electricityConsumption_ValuesButton);
+#if __IOS__
+ pvLoad_TodayValuesButton.Y = Application.GetRealWidth(34);
+ pvLoad_TodayValuesButton.X = Application.GetRealWidth(81 - 12) - loadEle_TodayUintButton.Width;
+#else
+ pvLoad_TodayValuesButton.Y = Application.GetRealWidth(37);
+ pvLoad_TodayValuesButton.X = Application.GetRealWidth(81 - 16) - loadEle_TodayUintButton.Width;
+#endif
+ loadEleView.AddChidren(pvLoad_TodayValuesButton);
-
- var electricityConsumption_TotalValuesButton = new Button()
+ pvLoad_TotalValuesButton = new Button()
{
Y = Application.GetRealWidth(69),
Height = Application.GetRealWidth(18),
- Width = Application.GetRealWidth(181-12),
+ Width = Application.GetRealWidth(181 - 12),
Text = "绱鐢ㄧ數閲忥細" + function.GetAttrState(InverterJinmao_AttrEnum.load_electricity.ToString()),
TextColor = CSS_Color.MainBackgroundColor,
TextSize = 12,
TextAlignment = TextAlignment.CenterRight,
//IsBold = true,
};
- electricityConsumptionView.AddChidren(electricityConsumption_TotalValuesButton);
+ loadEleView.AddChidren(pvLoad_TotalValuesButton);
#endregion
var goHistroyButton = new Button();
electricityQuantityView.AddChidren(goHistroyButton);
- goHistroyButton.MouseUpEventHandler = (sender, e) => {
+ goHistroyButton.MouseUpEventHandler = (sender, e) =>
+ {
var page = new InverterJinmaoHistroyPage(function);
MainPage.BasePageView.AddChidren(page);
page.LoadPage();
@@ -227,7 +345,7 @@
Height = Application.GetRealWidth(8),
});
#region 鍏変紡杩愯鐘舵��
- var runStatus_TitleButton = new Button()
+ var pvRunStatus_TitleButton = new Button()
{
X = Application.GetRealWidth(16),
Height = Application.GetRealWidth(47),
@@ -237,10 +355,9 @@
TextSize = 16,
IsBold = true,
};
- contentView.AddChidren(runStatus_TitleButton);
+ contentView.AddChidren(pvRunStatus_TitleButton);
- #region 鍙戠數閲� electricity generation
- var electricityGenerationStatusView = new FrameLayout()
+ var pvEleGenerationInfoView = new FrameLayout()
{
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(343),
@@ -250,9 +367,10 @@
BorderColor = 0x00FFFFFF,
BorderWidth = 0,
};
- contentView.AddChidren(electricityGenerationStatusView);
+ contentView.AddChidren(pvEleGenerationInfoView);
- var electricityGenerationStatus_InfoView = new FrameLayout()
+ #region 鍏変紡杩愯鐘舵��
+ pvRunStatusInfoView = new FrameLayout()
{
X = 0 - Application.GetRealWidth(14),
Y = Application.GetRealWidth(12),
@@ -263,9 +381,9 @@
BorderColor = 0x00FFFFFF,
BorderWidth = 0,
};
- electricityGenerationStatusView.AddChidren(electricityGenerationStatus_InfoView);
+ pvEleGenerationInfoView.AddChidren(pvRunStatusInfoView);
- var runStatus_Info_IconButton = new Button()
+ pvRunStatus_IconButton = new Button()
{
X = Application.GetRealWidth(8 + 14),
Gravity = Gravity.CenterVertical,
@@ -273,9 +391,9 @@
Height = Application.GetRealWidth(12),
UnSelectedImagePath = "FunctionIcon/Acst/Inverter/PvIconRun.png",
};
- electricityGenerationStatus_InfoView.AddChidren(runStatus_Info_IconButton);
+ pvRunStatusInfoView.AddChidren(pvRunStatus_IconButton);
- var runStatus_Info_TextButton = new Button()
+ pvRunStatus_TextButton = new Button()
{
X = Application.GetRealWidth(8 + 14 + 4 + 12),
TextAlignment = TextAlignment.CenterLeft,
@@ -283,7 +401,7 @@
TextColor = 0xFF4484F4,
Text = "杩愯",
};
- electricityGenerationStatus_InfoView.AddChidren(runStatus_Info_TextButton);
+ pvRunStatusInfoView.AddChidren(pvRunStatus_TextButton);
var powerGenerationView = new FrameLayout()
{
@@ -291,11 +409,50 @@
Y = Application.GetRealWidth(20),
Width = Application.GetRealWidth(151),
Height = Application.GetRealWidth(151),
- BackgroundImagePath = "FunctionIcon/Acst/Inverter/PvBgRun.png"
};
- electricityGenerationStatusView.AddChidren(powerGenerationView);
+ pvEleGenerationInfoView.AddChidren(powerGenerationView);
- var powerGeneration_ValuesButton = new Button()
+ var powerGenerationBg = new Button()
+ {
+ UnSelectedImagePath = "FunctionIcon/Acst/Inverter/PvBgRun.png"
+ };
+ powerGenerationView.AddChidren(powerGenerationBg);
+
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+ int index = 1;
+ float pvPower = 0.00f;
+ while (index < 361)
+ {
+ float.TryParse(function.GetAttrState(InverterJinmao_AttrEnum.pv_power.ToString()), out pvPower);
+ if (pvPower > 0.00f)
+ {
+ 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 鍏変紡鍙戠數閲�
+ #region 鍏変紡鍙戠數鍔熺巼
+ pvPower_ValuesButton = new Button()
{
Gravity = Gravity.CenterHorizontal,
Y = Application.GetRealWidth(46),
@@ -307,7 +464,7 @@
TextSize = 24,
IsBold = true,
};
- powerGenerationView.AddChidren(powerGeneration_ValuesButton);
+ powerGenerationView.AddChidren(pvPower_ValuesButton);
var powerGeneration_TextButton = new Button()
{
@@ -315,15 +472,16 @@
Y = Application.GetRealWidth(78),
//Width = Application.GetRealWidth(100),
Height = Application.GetRealWidth(25),
- Text = "瀹炴椂鍙戠數鍔熺巼 (kwh)",
+ Text = "瀹炴椂鍙戠數鍔熺巼 (kw)",
TextAlignment = TextAlignment.Center,
TextColor = CSS_Color.TextualColor,
TextSize = 12,
};
powerGenerationView.AddChidren(powerGeneration_TextButton);
+ #endregion
-
- var powerGeneration_TodayValuesButton = new Button()
+ #region 鍏変紡浠婃棩鍙戠數閲�
+ pvGeneration_TodayValuesButton = new Button()
{
X = Application.GetRealWidth(16),
Y = Application.GetRealWidth(191),
@@ -335,7 +493,7 @@
TextSize = 18,
IsBold = true,
};
- electricityGenerationStatusView.AddChidren(powerGeneration_TodayValuesButton);
+ pvEleGenerationInfoView.AddChidren(pvGeneration_TodayValuesButton);
var powerGeneration_TodayTextButton = new Button()
{
@@ -348,10 +506,11 @@
TextColor = CSS_Color.TextualColor,
TextSize = 12,
};
- electricityGenerationStatusView.AddChidren(powerGeneration_TodayTextButton);
+ pvEleGenerationInfoView.AddChidren(powerGeneration_TodayTextButton);
+ #endregion
-
- var powerGeneration_MonthValuesButton = new Button()
+ #region 鍏変紡鏈湀鍙戠數閲�
+ pvGeneration_MonthValuesButton = new Button()
{
X = Application.GetRealWidth(16 + 105),
Y = Application.GetRealWidth(191),
@@ -363,7 +522,7 @@
TextSize = 18,
IsBold = true,
};
- electricityGenerationStatusView.AddChidren(powerGeneration_MonthValuesButton);
+ pvEleGenerationInfoView.AddChidren(pvGeneration_MonthValuesButton);
var powerGeneration_MonthTextButton = new Button()
{
@@ -376,22 +535,23 @@
TextColor = CSS_Color.TextualColor,
TextSize = 12,
};
- electricityGenerationStatusView.AddChidren(powerGeneration_MonthTextButton);
+ pvEleGenerationInfoView.AddChidren(powerGeneration_MonthTextButton);
+ #endregion
-
- var powerGeneration_YearValuesButton = new Button()
+ #region 鍏変紡鏈勾鍙戠數閲�
+ 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,
IsBold = true,
};
- electricityGenerationStatusView.AddChidren(powerGeneration_YearValuesButton);
+ pvEleGenerationInfoView.AddChidren(pvGeneration_YearValuesButton);
var powerGeneration_YearTextButton = new Button()
{
@@ -399,12 +559,57 @@
Y = Application.GetRealWidth(220),
Width = Application.GetRealWidth(100),
Height = Application.GetRealWidth(17),
- Text = "鎬诲彂鐢甸噺 (kwh)",
+ Text = "鏈勾鍙戠數閲� (kwh)",
TextAlignment = TextAlignment.Center,
TextColor = CSS_Color.TextualColor,
TextSize = 12,
};
- electricityGenerationStatusView.AddChidren(powerGeneration_YearTextButton);
+ pvEleGenerationInfoView.AddChidren(powerGeneration_YearTextButton);
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+ var revertObj = new HttpServerRequest().GetSensorHistory("custom_year",
+ function.deviceId, InverterJinmao_AttrEnum.pv_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()
@@ -431,11 +636,46 @@
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;
+ float loadPower = 0.00f;
+ while (index < 361)
+ {
+ float.TryParse(function.GetAttrState(InverterJinmao_AttrEnum.load_active_power.ToString()), out loadPower);
+ if (loadPower > 0.00f)
+ {
+ 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),
@@ -447,7 +687,7 @@
TextSize = 24,
IsBold = true,
};
- powerUsageView.AddChidren(powerUsage_ValuesButton);
+ powerUsageView.AddChidren(loadElec_ValuesButton);
var powerUsage_TextButton = new Button()
{
@@ -455,7 +695,7 @@
Y = Application.GetRealWidth(78),
//Width = Application.GetRealWidth(100),
Height = Application.GetRealWidth(25),
- Text = "瀹炴椂鐢ㄧ數鍔熺巼 (kwh)",
+ Text = "瀹炴椂鐢ㄧ數鍔熺巼 (kw)",
TextAlignment = TextAlignment.Center,
TextColor = CSS_Color.TextualColor,
TextSize = 12,
@@ -463,7 +703,7 @@
powerUsageView.AddChidren(powerUsage_TextButton);
- var powerUsage_TodayValuesButton = new Button()
+ powerUsage_TodayValuesButton = new Button()
{
X = Application.GetRealWidth(16),
Y = Application.GetRealWidth(191),
@@ -477,7 +717,7 @@
};
electricityUsageStatusView.AddChidren(powerUsage_TodayValuesButton);
- var powerUsage_TodayTextButton = new Button()
+ var loadElec_TodayTextButton = new Button()
{
X = Application.GetRealWidth(16),
Y = Application.GetRealWidth(220),
@@ -488,10 +728,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),
@@ -503,7 +742,7 @@
TextSize = 18,
IsBold = true,
};
- electricityUsageStatusView.AddChidren(powerUsage_MonthValuesButton);
+ electricityUsageStatusView.AddChidren(loadElec_MonthValuesButton);
var powerUsage_MonthTextButton = new Button()
{
@@ -539,194 +778,236 @@
Y = Application.GetRealWidth(220),
Width = Application.GetRealWidth(100),
Height = Application.GetRealWidth(17),
- Text = "鎬荤敤鐢甸噺 (kwh)",
+ Text = "鏈勾鐢ㄧ數閲� (kwh)",
TextAlignment = TextAlignment.Center,
TextColor = CSS_Color.TextualColor,
TextSize = 12,
};
electricityUsageStatusView.AddChidren(powerUsage_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(() =>
+ {
+ powerUsage_YearValuesButton.Text = totalValues.ToString();
+ while (true)
+ {
+ if (powerUsage_YearValuesButton.Width < powerUsage_YearValuesButton.GetTextWidth())
+ {
+ powerUsage_YearValuesButton.TextSize--;
+ }
+ else
+ {
+ break;
+ }
+ }
+ });
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log("Error", "璇诲彇閲戣寕鏈勾鍙戠數閲忔暟鎹紓甯革細" + ex.Message);
+ }
+ })
+ { IsBackground = true }.Start();
+
#endregion
-
-
#endregion
- contentView.AddChidren(new Button()
+ if (function.attributes.Find((obj) => obj.key == InverterJinmao_AttrEnum.ess_status.ToString()) != null)
{
- Height = Application.GetRealWidth(8)
- });
+ contentView.AddChidren(new Button()
+ {
+ Height = Application.GetRealWidth(8)
+ });
- #region 鍌ㄨ兘杩愯鐘舵�� Energy storage
- var esRunStatus_TitleButton = new Button()
- {
- X = Application.GetRealWidth(16),
- Height = Application.GetRealWidth(47),
- TextAlignment = TextAlignment.CenterLeft,
- Text = "鍌ㄨ兘杩愯鐘舵��",
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = 16,
- IsBold = true,
- };
- contentView.AddChidren(esRunStatus_TitleButton);
+ #region 鍌ㄨ兘杩愯鐘舵�� Energy storage
+ var esRunStatus_TitleButton = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Height = Application.GetRealWidth(47),
+ TextAlignment = TextAlignment.CenterLeft,
+ Text = "鍌ㄨ兘杩愯鐘舵��",
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = 16,
+ IsBold = true,
+ };
+ contentView.AddChidren(esRunStatus_TitleButton);
- #region
- var esStatusView = new FrameLayout()
- {
- Gravity = Gravity.CenterHorizontal,
- Width = Application.GetRealWidth(343),
- Height = Application.GetRealWidth(194),
- BackgroundColor = CSS_Color.MainBackgroundColor,
- Radius = (uint)Application.GetRealHeight(12),
- BorderColor = 0x00FFFFFF,
- BorderWidth = 0,
- };
- contentView.AddChidren(esStatusView);
+ #region
+ var esStatusView = new FrameLayout()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealWidth(194),
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ Radius = (uint)Application.GetRealHeight(12),
+ BorderColor = 0x00FFFFFF,
+ BorderWidth = 0,
+ };
+ contentView.AddChidren(esStatusView);
- var esStatus_InfoView = new FrameLayout()
- {
- X = 0 - Application.GetRealWidth(14),
- Y = Application.GetRealWidth(12),
- Width = Application.GetRealWidth(68 + 14),
- Height = Application.GetRealWidth(28),
- BackgroundColor = 0x1500C22D,
- Radius = (uint)Application.GetRealHeight(14),
- BorderColor = 0x00FFFFFF,
- BorderWidth = 0,
- };
- esStatusView.AddChidren(esStatus_InfoView);
+ esStatus_InfoView = new FrameLayout()
+ {
+ X = 0 - Application.GetRealWidth(14),
+ Y = Application.GetRealWidth(12),
+ Width = Application.GetRealWidth(68 + 14),
+ Height = Application.GetRealWidth(28),
+ BackgroundColor = 0x1500C22D,
+ Radius = (uint)Application.GetRealHeight(14),
+ BorderColor = 0x00FFFFFF,
+ BorderWidth = 0,
+ };
+ esStatusView.AddChidren(esStatus_InfoView);
- var esRunStatus_Info_IconButton = new Button()
- {
- X = Application.GetRealWidth(8 + 14),
- Gravity = Gravity.CenterVertical,
- Width = Application.GetRealWidth(12),
- Height = Application.GetRealWidth(12),
- UnSelectedImagePath = "FunctionIcon/Acst/Inverter/EsIconCharg.png",
- };
- esStatus_InfoView.AddChidren(esRunStatus_Info_IconButton);
+ esRunStatus_Info_IconButton = new Button()
+ {
+ X = Application.GetRealWidth(8 + 14),
+ Gravity = Gravity.CenterVertical,
+ Width = Application.GetRealWidth(12),
+ Height = Application.GetRealWidth(12),
+ UnSelectedImagePath = "FunctionIcon/Acst/Inverter/EsIconCharg.png",
+ };
+ esStatus_InfoView.AddChidren(esRunStatus_Info_IconButton);
- var esRunStatus_Info_TextButton = new Button()
- {
- X = Application.GetRealWidth(8 + 14 + 4 + 12),
- TextAlignment = TextAlignment.CenterLeft,
- TextSize = 14,
- TextColor = 0xFF00C22D,
- Text = "鍏呯數",
- };
- esStatus_InfoView.AddChidren(esRunStatus_Info_TextButton);
+ esRunStatus_Info_TextButton = new Button()
+ {
+ X = Application.GetRealWidth(8 + 14 + 4 + 12),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextSize = 14,
+ TextColor = 0xFF00C22D,
+ Text = "鍏呯數",
+ };
+ esStatus_InfoView.AddChidren(esRunStatus_Info_TextButton);
- var esRunStatus_BatteryValuesButton = new Button()
- {
- Y = Application.GetRealWidth(18),
- Height = Application.GetRealWidth(17),
- TextAlignment = TextAlignment.CenterRight,
- Text = function.GetAttrState(InverterJinmao_AttrEnum.battery_soc.ToString()) + "%",
- 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);
+ esRunStatus_BatteryValuesButton = new Button()
+ {
+ Y = Application.GetRealWidth(18),
+ Height = Application.GetRealWidth(17),
+ TextAlignment = TextAlignment.CenterRight,
+ Text = function.GetAttrState(InverterJinmao_AttrEnum.battery_soc.ToString()) + "%",
+ TextSize = 12,
+ TextColor = 0xFF00C22D,
+ };
+ esRunStatus_BatteryValuesButton.Width = esRunStatus_BatteryValuesButton.GetTextWidth() + Application.GetRealWidth(8);
+ esRunStatus_BatteryValuesButton.X = Application.GetRealWidth(343 - 12) - esRunStatus_BatteryValuesButton.Width;
+ esStatusView.AddChidren(esRunStatus_BatteryValuesButton);
- var 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",
- };
- esStatusView.AddChidren(esRunStatus_BatteryIconButton);
+ 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);
- var esRunStatus_ValuesInfoView = new FrameLayout()
- {
- Width = Application.GetRealWidth(263),
- Height = Application.GetRealWidth(134),
- Gravity = Gravity.CenterHorizontal,
- Y = Application.GetRealWidth(40),
- BackgroundImagePath = "FunctionIcon/Acst/Inverter/EnergyStorageStatusBg.png",
- };
- esStatusView.AddChidren(esRunStatus_ValuesInfoView);
+ var esRunStatus_ValuesInfoView = new FrameLayout()
+ {
+ Width = Application.GetRealWidth(282),
+ Height = Application.GetRealWidth(153),
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealWidth(40),
+ BackgroundImagePath = "FunctionIcon/Acst/Inverter/EnergyStorageStatusBg.png",
+ };
+ esStatusView.AddChidren(esRunStatus_ValuesInfoView);
- #region 瀹炴椂鍏呯數鍔熺巼
- var esRunStatus_ChargeValuesView = new FrameLayout()
- {
- X = Application.GetRealWidth(2),
- Width = Application.GetRealWidth(128),
- Height = Application.GetRealWidth(128),
- };
- esRunStatus_ValuesInfoView.AddChidren(esRunStatus_ChargeValuesView);
+ #region 瀹炴椂鍏呯數鍔熺巼
+ var esRunStatus_ChargeValuesView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(15),
+ Width = Application.GetRealWidth(128),
+ Height = Application.GetRealWidth(128),
+ };
+ esRunStatus_ValuesInfoView.AddChidren(esRunStatus_ChargeValuesView);
- var esRunStatus_ChargeValuesButton = new Button()
- {
- Y = Application.GetRealWidth(36),
- Height = Application.GetRealWidth(32),
- TextAlignment = TextAlignment.Center,
- Text = function.GetAttrState(InverterJinmao_AttrEnum.ess_charge_power.ToString()),
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = 24,
- IsBold = true,
- };
- esRunStatus_ChargeValuesView.AddChidren(esRunStatus_ChargeValuesButton);
+ esRunStatus_ChargeValuesButton = new Button()
+ {
+ Y = Application.GetRealWidth(36),
+ Height = Application.GetRealWidth(32),
+ TextAlignment = TextAlignment.Center,
+ Text = function.GetAttrState(InverterJinmao_AttrEnum.ess_charge_power.ToString()),
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = 24,
+ IsBold = true,
+ };
+ esRunStatus_ChargeValuesView.AddChidren(esRunStatus_ChargeValuesButton);
- var esRunStatus_ChargeTextButton = new Button()
- {
- X = Application.GetRealWidth(1),
- Y = Application.GetRealWidth(76),
- Height = Application.GetRealWidth(17),
- TextAlignment = TextAlignment.Center,
- Text = "瀹炴椂鍏呯數鍔熺巼(kwh)",
- TextColor = CSS_Color.TextualColor,
- TextSize = 12,
- };
- esRunStatus_ChargeValuesView.AddChidren(esRunStatus_ChargeTextButton);
- #endregion
+ var esRunStatus_ChargeTextButton = new Button()
+ {
+ X = Application.GetRealWidth(1),
+ Y = Application.GetRealWidth(76),
+ Height = Application.GetRealWidth(17),
+ TextAlignment = TextAlignment.Center,
+ Text = "瀹炴椂鍏呯數鍔熺巼(kw)",
+ TextColor = CSS_Color.TextualColor,
+ TextSize = 12,
+ };
+ esRunStatus_ChargeValuesView.AddChidren(esRunStatus_ChargeTextButton);
+ #endregion
- #region 瀹炴椂鏀剧數鍔熺巼
- var esRunStatus_DischargeValuesView = new FrameLayout()
- {
- X = Application.GetRealWidth(132),
- Width = Application.GetRealWidth(128),
- Height = Application.GetRealWidth(128),
- };
- esRunStatus_ValuesInfoView.AddChidren(esRunStatus_DischargeValuesView);
+ #region 瀹炴椂鐢ㄧ數鍔熺巼
+ var esRunStatus_DischargeValuesView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(132 + 13),
+ Width = Application.GetRealWidth(128),
+ Height = Application.GetRealWidth(128),
+ };
+ esRunStatus_ValuesInfoView.AddChidren(esRunStatus_DischargeValuesView);
- var esRunStatus_DischargeValuesButton = new Button()
- {
- Y = Application.GetRealWidth(36),
- Height = Application.GetRealWidth(32),
- TextAlignment = TextAlignment.Center,
- Text = function.GetAttrState(InverterJinmao_AttrEnum.ess_discharg_power.ToString()),
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = 24,
- IsBold = true,
- };
- esRunStatus_DischargeValuesView.AddChidren(esRunStatus_DischargeValuesButton);
+ esRunStatus_DischargeValuesButton = new Button()
+ {
+ Y = Application.GetRealWidth(36),
+ Height = Application.GetRealWidth(32),
+ TextAlignment = TextAlignment.Center,
+ Text = function.GetAttrState(InverterJinmao_AttrEnum.ess_discharg_power.ToString()),
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = 24,
+ IsBold = true,
+ };
+ esRunStatus_DischargeValuesView.AddChidren(esRunStatus_DischargeValuesButton);
- var esRunStatus_DischargeTextButton = new Button()
- {
- X = Application.GetRealWidth(1),
- Y = Application.GetRealWidth(76),
- Height = Application.GetRealWidth(17),
- TextAlignment = TextAlignment.Center,
- Text = "瀹炴椂鏀剧數鍔熺巼(kwh)",
- TextColor = CSS_Color.TextualColor,
- TextSize = 12,
- };
- esRunStatus_DischargeValuesView.AddChidren(esRunStatus_DischargeTextButton);
- #endregion
+ var esRunStatus_DischargeTextButton = new Button()
+ {
+ X = Application.GetRealWidth(1),
+ Y = Application.GetRealWidth(76),
+ Height = Application.GetRealWidth(17),
+ TextAlignment = TextAlignment.Center,
+ Text = "瀹炴椂鏀剧數鍔熺巼(kwh)",
+ TextColor = CSS_Color.TextualColor,
+ TextSize = 12,
+ };
+ esRunStatus_DischargeValuesView.AddChidren(esRunStatus_DischargeTextButton);
+ #endregion
+ #endregion
+ #endregion
- #endregion
-
- #endregion
-
+ }
contentView.AddChidren(new Button()
{
@@ -774,7 +1055,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),
@@ -786,14 +1067,10 @@
TextAlignment = TextAlignment.BottomLeft,
IsBold = true,
};
-#if __IOS__
socialContribution_Info1_ValuesButton.Width = socialContribution_Info1_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
-#else
- socialContribution_Info1_ValuesButton.Width = socialContribution_Info1_ValuesButton.GetTextWidth();
-#endif
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),
@@ -804,6 +1081,9 @@
TextColor = CSS_Color.FirstLevelTitleColor,
TextAlignment = TextAlignment.BottomLeft,
};
+#if __IOS__
+ socialContribution_Info1_UintButton.Y = Application.GetRealWidth(66);
+#endif
socialContribution_InfoView_1.AddChidren(socialContribution_Info1_UintButton);
var socialContribution_Info1_TipButton = new Button()
@@ -844,7 +1124,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),
@@ -856,14 +1136,10 @@
TextAlignment = TextAlignment.BottomLeft,
IsBold = true,
};
-#if __IOS__
socialContribution_Info2_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
-#else
- socialContribution_Info2_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth();
-#endif
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),
@@ -874,6 +1150,9 @@
TextColor = CSS_Color.FirstLevelTitleColor,
TextAlignment = TextAlignment.BottomLeft,
};
+#if __IOS__
+ socialContribution_Info2_UintButton.Y = Application.GetRealWidth(66);
+#endif
socialContribution_InfoView_2.AddChidren(socialContribution_Info2_UintButton);
var socialContribution_Info2_TipButton = new Button()
@@ -914,7 +1193,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),
@@ -926,14 +1205,10 @@
TextAlignment = TextAlignment.BottomLeft,
IsBold = true,
};
-#if __IOS__
socialContribution_Info3_ValuesButton.Width = socialContribution_Info3_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
-#else
- socialContribution_Info3_ValuesButton.Width = socialContribution_Info3_ValuesButton.GetTextWidth();
-#endif
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),
@@ -944,6 +1219,9 @@
TextColor = CSS_Color.FirstLevelTitleColor,
TextAlignment = TextAlignment.BottomLeft,
};
+ #if __IOS__
+ socialContribution_Info3_UintButton.Y = Application.GetRealWidth(66);
+ #endif
socialContribution_InfoView_3.AddChidren(socialContribution_Info3_UintButton);
var socialContribution_Info3_TipButton = new Button()
@@ -964,7 +1242,299 @@
#endregion
+ Control.Ins.SendReadCommand(function);
+ }
+ /// <summary>
+ /// 鏇存柊鐣岄潰鏁版嵁
+ /// </summary>
+ /// <param name="temp"></param>
+ public static void UpdateStatus(Function temp)
+ {
+ if (bodyView == null)
+ {
+ return;
+ }
+ Application.RunOnMainThread(() =>
+ {
+ try
+ {
+ /// 鏇存柊浠婃棩鍙戠數閲�
+ bodyView.upatePvGenerateTodayValues();
+ /// 鏇存柊绱鍙戠數閲�
+ bodyView.upatePvGenerateTotalValues();
+ /// 鏇存柊浠婃棩鐢ㄧ數閲�
+ bodyView.upatePvLoadTodayValues();
+ /// 鏇存柊绱鐢ㄧ數閲�
+ bodyView.upatePvLoadTotalValues();
+ /// 鏇存柊鍏変紡杩愯鐘舵��
+ bodyView.upatePvRunStatus();
+ /// 鏇存柊鍏変紡鍙戠數鍔熺巼
+ bodyView.updatePvPower();
+ /// 鏇存柊鍏変紡鏈湀鍙戠數閲�
+ bodyView.upatePvGenerateMonthValues();
+ /// 鏇存柊鍏変紡鐢ㄧ數鍔熺巼
+ bodyView.updateLoadElec();
+ ///鏇存柊鍏変紡鐘舵�佹湰鏈堢敤鐢甸噺
+ bodyView.updateLoadElecMonthValues();
+ //鏇存柊鍌ㄨ兘杩愯鐘舵��
+ bodyView.updateEsRunStates();
+ //鏇存柊鍌ㄨ兘鐢垫睜鐧惧垎姣�
+ bodyView.updateEsBatterySoc();
+ //鏇存柊鍌ㄨ兘瀹炴椂鍏呯數鐘舵��
+ bodyView.updateEsCharge();
+ //鏇存柊鍌ㄨ兘瀹炴椂鏀剧數鐘舵��
+ bodyView.updateEsDischarge();
+ bodyView.updateSocialContribution1();
+ bodyView.updateSocialContribution2();
+ bodyView.updateSocialContribution3();
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log("Error", $"閲戣寕鍏変紡鏇存柊寮傚父:{ex.StackTrace}");
+ }
+ });
+ }
+ /// <summary>
+ /// 鏇存柊浠婃棩鍙戠數閲�
+ /// </summary>
+ private void upatePvGenerateTodayValues()
+ {
+ pvGenerate_TodayValuesButton.Text = pvGeneration_TodayValuesButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.pv_electricity_today.ToString());
+
+#if __IOS__
+ pvGenerate_TodayValuesButton.TextAlignment = TextAlignment.TopLeft;
+ pvGenerate_TodayValuesButton.Width = pvGenerate_TodayValuesButton.GetTextWidth() + Application.GetRealWidth(8);
+#else
+ pvGenerate_TodayValuesButton.TextAlignment = TextAlignment.BottomLeft;
+ pvGenerate_TodayValuesButton.Y = Application.GetRealWidth(37);
+ pvGenerate_TodayValuesButton.Width = pvGenerate_TodayValuesButton.GetTextWidth() + Application.GetRealWidth(4);
+#endif
+ pvGenerate_todayUintButton.X = pvGenerate_TodayValuesButton.Right;
+ }
+ /// <summary>
+ /// 鏇存柊鍏変紡鏈湀鍙戠數閲�
+ /// </summary>
+ private void upatePvGenerateMonthValues()
+ {
+ pvGeneration_MonthValuesButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.pv_electricity_month.ToString());
+ }
+ /// <summary>
+ /// 鏇存柊绱鍙戠數閲�
+ /// </summary>
+ private void upatePvGenerateTotalValues()
+ {
+ pvGenerate_TotalValuesButton.Text = "绱鍙戠數閲�:" + function.GetAttrState(InverterJinmao_AttrEnum.pv_electricity.ToString());
+ }
+ /// <summary>
+ /// 鏇存柊浠婃棩鐢ㄧ數閲�
+ /// </summary>
+ private void upatePvLoadTodayValues()
+ {
+ pvLoad_TodayValuesButton.Text = powerUsage_TodayValuesButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.load_electricity_today.ToString());
+
+#if __IOS__
+ pvLoad_TodayValuesButton.Y = Application.GetRealWidth(34);
+ pvLoad_TodayValuesButton.X = Application.GetRealWidth(81 - 12) - loadEle_TodayUintButton.Width;
+#else
+ pvLoad_TodayValuesButton.Y = Application.GetRealWidth(37);
+ pvLoad_TodayValuesButton.X = Application.GetRealWidth(81 - 16) - loadEle_TodayUintButton.Width;
+#endif
+ }
+ /// <summary>
+ /// 鏇存柊鏈湀鐢ㄧ數閲�
+ /// </summary>
+ private void updateLoadElecMonthValues()
+ {
+ loadElec_MonthValuesButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.load_electricity_month.ToString());
+ }
+ /// <summary>
+ /// 鏇存柊绱鐢ㄧ數閲�
+ /// </summary>
+ private void upatePvLoadTotalValues()
+ {
+ pvLoad_TotalValuesButton.Text = "绱鐢ㄧ數閲忥細" + function.GetAttrState(InverterJinmao_AttrEnum.load_electricity.ToString());
+
+ }
+ /// <summary>
+ /// 鏇存柊鍏変紡杩愯鐘舵��
+ /// </summary>
+ private void upatePvRunStatus()
+ {
+ switch (function.GetAttrState(InverterJinmao_AttrEnum.system_status.ToString()))
+ {
+ case "run":
+ pvRunStatusInfoView.BackgroundColor = 0x154484F4;
+ pvRunStatus_IconButton.UnSelectedImagePath = "FunctionIcon/Acst/Inverter/PvIconRun.png";
+ pvRunStatus_TextButton.Text = "杩愯";
+ pvRunStatus_TextButton.TextColor = 0xFF4484F4;
+ break;
+ case "fault":
+ pvRunStatusInfoView.BackgroundColor = 0x15FF4747;
+ pvRunStatus_IconButton.UnSelectedImagePath = "FunctionIcon/Acst/Inverter/PvIconFault.png";
+ pvRunStatus_TextButton.Text = "鏁呴殰";
+ pvRunStatus_TextButton.TextColor = 0xFFFF4747;
+ break;
+ case "standby":
+ pvRunStatusInfoView.BackgroundColor = 0x15798394;
+ pvRunStatus_IconButton.UnSelectedImagePath = "FunctionIcon/Acst/Inverter/PvIconStandby.png";
+ pvRunStatus_TextButton.Text = "寰呮満";
+ pvRunStatus_TextButton.TextColor = 0xFF798394;
+ break;
+ }
+
+ }
+ /// <summary>
+ /// 鏇存柊鍏変紡鍙戠數鍔熺巼
+ /// </summary>
+ 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()
+ {
+ if (function.attributes.Find((obj) => obj.key == InverterJinmao_AttrEnum.ess_status.ToString()) != null)
+ {
+ switch (function.GetAttrState(InverterJinmao_AttrEnum.ess_status.ToString()))
+ {
+ case "charge":
+ esStatus_InfoView.BackgroundColor = 0x1500C22D;
+ esRunStatus_Info_TextButton.TextColor = 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_Info_TextButton.TextColor = 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_Info_TextButton.TextColor = 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_Info_TextButton.TextColor = 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()
+ {
+ if (function.attributes.Find((obj) => obj.key == InverterJinmao_AttrEnum.ess_status.ToString()) != null)
+ {
+ esRunStatus_BatteryValuesButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.battery_soc.ToString()) + "%";
+ if (esRunStatus_BatteryIconButton.Text == "100%")
+ {
+ esRunStatus_BatteryIconButton.IsSelected = true;
+ }
+ }
+ }
+ /// <summary>
+ /// 鏇存柊鍌ㄨ兘瀹炴椂鍏呯數鐘舵��
+ /// </summary>
+ private void updateEsCharge()
+ {
+ if (function.attributes.Find((obj) => obj.key == InverterJinmao_AttrEnum.ess_status.ToString()) != null)
+ {
+ esRunStatus_ChargeValuesButton.Text = function.GetAttrState(InverterJinmao_AttrEnum.ess_charge_power.ToString());
+ }
+ }
+ /// <summary>
+ /// 鏇存柊鍌ㄨ兘瀹炴椂鏀剧數鐘舵��
+ /// </summary>
+ private void updateEsDischarge()
+ {
+ if (function.attributes.Find((obj) => obj.key == InverterJinmao_AttrEnum.ess_status.ToString()) != null)
+ {
+ 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());
+ socialContribution_Info1_ValuesButton.Width = socialContribution_Info1_ValuesButton.GetTextWidth();
+ if (socialContribution_Info1_ValuesButton.Width > Application.GetRealWidth(61))
+ {
+ socialContribution_Info1_ValuesButton.TextSize = 14;
+ socialContribution_Info1_ValuesButton.Width = socialContribution_Info1_ValuesButton.GetTextWidth();
+ socialContribution_Info1_UintButton.Height = Application.GetRealWidth(25);
+ }
+#if __IOS__
+ socialContribution_Info1_ValuesButton.Width += Application.GetRealWidth(6);
+ socialContribution_Info1_UintButton.X = socialContribution_Info1_ValuesButton.Right - Application.GetRealWidth(4);
+#else
+ socialContribution_Info1_UintButton.X = socialContribution_Info1_ValuesButton.Right +Application.GetRealWidth(2);
+#endif
+ }
+ /// <summary>
+ /// 鏇存柊绀句細璐�2鐚暟鎹甎I
+ /// </summary>
+ private void updateSocialContribution2()
+ {
+ socialContribution_Info2_ValuesButton.Text = function.GetAttrState(WaterHeaterJinmao_AttrEnum.co2.ToString());
+ socialContribution_Info2_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth();
+ if (socialContribution_Info2_ValuesButton.Width > Application.GetRealWidth(61))
+ {
+ socialContribution_Info2_ValuesButton.TextSize = 14;
+ socialContribution_Info2_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth();
+ }
+#if __IOS__
+ socialContribution_Info2_ValuesButton.Width += Application.GetRealWidth(6);
+ socialContribution_Info2_UintButton.X = socialContribution_Info2_ValuesButton.Right - Application.GetRealWidth(4);
+#else
+ socialContribution_Info2_UintButton.X = socialContribution_Info2_ValuesButton.Right +Application.GetRealWidth(2);
+#endif
+
+ }
+ /// <summary>
+ /// 鏇存柊绀句細璐�3鐚暟鎹甎I
+ /// </summary>
+ private void updateSocialContribution3()
+ {
+ socialContribution_Info3_ValuesButton.Text = function.GetAttrState(WaterHeaterJinmao_AttrEnum.trees.ToString());
+ socialContribution_Info3_ValuesButton.Width = socialContribution_Info3_ValuesButton.GetTextWidth();
+ if (socialContribution_Info3_ValuesButton.Width > Application.GetRealWidth(61))
+ {
+ socialContribution_Info3_ValuesButton.TextSize = 14;
+ socialContribution_Info3_ValuesButton.Width = socialContribution_Info3_ValuesButton.GetTextWidth();
+ socialContribution_Info3_UintButton.Height = Application.GetRealWidth(25);
+ }
+#if __IOS__
+ socialContribution_Info3_ValuesButton.Width += Application.GetRealWidth(6);
+ socialContribution_Info3_UintButton.X = socialContribution_Info3_ValuesButton.Right - Application.GetRealWidth(4);
+#else
+ socialContribution_Info3_UintButton.X = socialContribution_Info3_ValuesButton.Right +Application.GetRealWidth(2);
+#endif
}
}
}
--
Gitblit v1.8.0