From 068c68295cad1967f7aafb4e5e951260ef03d4ce Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 09 七月 2021 09:16:43 +0800
Subject: [PATCH] 状态属性更改,不要轻易合并
---
HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs | 99 ++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 76 insertions(+), 23 deletions(-)
diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
index b84b2a7..ed924af 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
@@ -27,11 +27,27 @@
/// </summary>
public static void LoadEvent_RefreshEnvirIndoorHumi()
{
- Application.RunOnMainThread(() =>
+ Application.RunOnMainThread((Action)(() =>
{
if (bodyView != null)
{
var humiSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorHumidity);
+ var enviSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorEnvironment);
+ foreach (var enviTemp in enviSensorList)
+ {
+ var tempAttr = enviTemp.attributes.Find((obj) => obj.key == "humidity");
+ if (tempAttr != null)
+ {
+ var newTemp = new Function()
+ {
+ name = enviTemp.name,
+ sid = enviTemp.sid,
+ deviceId = enviTemp.deviceId,
+ attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = tempAttr.state } },
+ };
+ humiSensorList.Add(newTemp);
+ }
+ }
double humiTotalValues = 0;
foreach (var temp in humiSensorList)
{
@@ -45,19 +61,35 @@
}
bodyView.btnIndoorHumiValues.Width = bodyView.btnIndoorHumiValues.GetTextWidth();
}
- });
+ }));
}
/// <summary>
/// 鏇存柊瀹ゅ唴浼犳劅鍣ㄦ暟鎹�-鏅氱偣
/// </summary>
public static void LoadEvent_RefreshEnvirIndoorTemp()
- {
- Application.RunOnMainThread(() =>
+ {
+ Application.RunOnMainThread((Action)(() =>
{
if (bodyView != null)
{
var tempSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorTemperature);
+ var enviSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorEnvironment);
+ foreach (var enviTemp in enviSensorList)
+ {
+ var tempAttr = enviTemp.attributes.Find((obj) => obj.key == "temperature");
+ if (tempAttr != null)
+ {
+ var newTemp = new Function()
+ {
+ name = enviTemp.name,
+ sid = enviTemp.sid,
+ deviceId = enviTemp.deviceId,
+ attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = tempAttr.state } },
+ };
+ tempSensorList.Add(newTemp);
+ }
+ }
double tempTotalValues = 0;
foreach (var temp in tempSensorList)
{
@@ -71,7 +103,7 @@
}
bodyView.btnIndoorTempValues.Width = bodyView.btnIndoorTempValues.GetTextWidth();
}
- });
+ }));
}
/// <summary>
@@ -233,7 +265,7 @@
/// </summary>
public static void UpdataFunctionStates(Function function)
{
- Application.RunOnMainThread(() =>
+ Application.RunOnMainThread((Action)(() =>
{
try
{
@@ -251,7 +283,7 @@
}
else
{
- state = function.trait_on_off.curValue.ToString() == "on";
+ state = function.trait_on_off.state.ToString() == "on";
}
for (int i = 0; i < view.ChildrenCount; i++)
{
@@ -283,7 +315,7 @@
{
MainPage.Log($"HomePage updata funciton states error {ex.Message}");
}
- });
+ }));
}
/// <summary>
@@ -359,11 +391,18 @@
btnSwitch.IsSelected = !btnSwitch.IsSelected;
new System.Threading.Thread(() =>
{
- function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
+ if(SPK.NotStatusSpkList.Contains(function.spk))
+ {
+ System.Threading.Thread.Sleep(1000);
+ Application.RunOnMainThread(() => {
+ btnSwitch.IsSelected = !btnSwitch.IsSelected;
+ });
+ }
+ function.trait_on_off.state = btnSwitch.IsSelected ? "on" : "off";
Dictionary<string, string> d = new Dictionary<string, string>();
if (function.spk == SPK.LightDimming || function.spk == SPK.LightRGB)
{
- d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString());
+ d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.state.ToString());
if (btnSwitch.IsSelected)
{
d.Add(FunctionAttributeKey.Brightness, function.lastBrightness.ToString());
@@ -377,7 +416,7 @@
}
else
{
- d.Add("on_off", function.trait_on_off.curValue.ToString());
+ d.Add("on_off", function.trait_on_off.state.ToString());
Control.Ins.SendWriteCommand(function, d);
}
})
@@ -388,21 +427,35 @@
/// <summary>
/// 鍔犺浇鐢佃鎺у埗浜嬩欢
/// </summary>
- /// <param name="tV"></param>
- /// <param name="button"></param>
- void LoadEvent_ControlTV(Function tV, Button button)
+ /// <param name="function"></param>
+ /// <param name="btnSwitch"></param>
+ void LoadEvent_ControlTV(Function function, Button btnSwitch)
{
- button.MouseUpEventHandler = (sender, e) =>
+ btnSwitch.MouseUpEventHandler = (sender, e) =>
{
if (DB_ResidenceData.Instance.GatewayType == 1)
{
- Dictionary<string, string> d = new Dictionary<string, string>();
- d.Add("on_off", "");
- Control.Ins.SendWriteCommand(tV, d);
+ btnSwitch.IsSelected = !btnSwitch.IsSelected;
+ new System.Threading.Thread(() =>
+ {
+ if (SPK.NotStatusSpkList.Contains(function.spk))
+ {
+ System.Threading.Thread.Sleep(2000);
+ Application.RunOnMainThread(() =>
+ {
+ btnSwitch.IsSelected = !btnSwitch.IsSelected;
+ });
+ }
+
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add("on_off", "");
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
}
else
{
- new TV().ControlTV(InfraredCode_TV.Power, tV);
+ new TV().ControlTV(InfraredCode_TV.Power, function);
}
};
}
@@ -415,20 +468,20 @@
btnClose.MouseUpEventHandler = (sender, e) =>
{
btnClose.IsSelected = true;
- curtain.trait_on_off.curValue = "off";
+ curtain.trait_on_off.state = "off";
curtain.SetAttrState(FunctionAttributeKey.Percent, 0);
Dictionary<string, string> d = new Dictionary<string, string>();
- d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.curValue.ToString());
+ d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.state.ToString());
Control.Ins.SendWriteCommand(curtain, d);
};
btnOpen.MouseUpEventHandler = (sender, e) =>
{
btnOpen.IsSelected = true;
- curtain.trait_on_off.curValue = "on";
+ curtain.trait_on_off.state = "on";
curtain.SetAttrState(FunctionAttributeKey.Percent, 100);
Dictionary<string, string> d = new Dictionary<string, string>();
- d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.curValue.ToString());
+ d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.state.ToString());
Control.Ins.SendWriteCommand(curtain, d);
};
}
--
Gitblit v1.8.0