From 6fe1c5ebeb8312edc479a4576f05d80c5051a6c6 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 19 七月 2023 19:47:00 +0800
Subject: [PATCH] 炫彩功能优化
---
HDL_ON/Entity/Function/Scene.cs | 7
HDL_ON/UI/UI2/3-Intelligence/Scene/SceneFunctionListChoosePage.cs | 6
HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/GroupControl.cs | 28 +++
HDL_ON/UI/UI2/FuntionControlView/Light/ColorfulSettingPage.cs | 38 ++++
HDL-ON_Android/Assets/Language.ini | 12 +
HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 139 +++++++++++++++--
HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs | 17 +
HDL_ON/Common/ApiUtlis.cs | 1
HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs | 10 +
HDL_ON/DAL/Mqtt/MqttClient.cs | 3
HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 97 +++++++++++
HDL-ON_iOS/Resources/Language.ini | 12 +
HDL_ON/Entity/Function/Function.cs | 46 +++++
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | 18 ++
HDL-ON_Android/Resources/Resource.designer.cs | 2
HDL_ON/Common/R.cs | 9 +
HDL_ON/UI/MainPage.cs | 6
HDL_ON/UI/UI1-Login/LoginPage.cs | 4
18 files changed, 413 insertions(+), 42 deletions(-)
diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini
index 3d19285..05d3ffb 100644
--- a/HDL-ON_Android/Assets/Language.ini
+++ b/HDL-ON_Android/Assets/Language.ini
@@ -663,7 +663,7 @@
676=Moderate
677=High
678=Current user data has been cleared, about to return to the previous page.
-
+679=Group control
@@ -1203,6 +1203,7 @@
7169=Time of duration
7170=Human presence detection
7171=continue
+7172=Rgb color plate
8501=Video door lock
8502=Electric quantity
@@ -2000,6 +2001,8 @@
676=涓�
677=楂�
678=褰撳墠鐢ㄦ埛鏁版嵁宸叉竻绌猴紝鍗冲皢杩斿洖涓婁竴椤点��
+679=缇ゆ帶
+
2532=璁垮閭�璇疯褰�
@@ -2539,6 +2542,7 @@
7169=鎸佺画鏃堕棿
7170=浜轰綋瀛樺湪妫�娴�
7171=鎸佺画
+7172=RGB鑹茬洏
@@ -3334,6 +3338,7 @@
676=Moderate
677=High
678=Current user data has been cleared, about to return to the previous page.
+679=Group control
@@ -3873,6 +3878,7 @@
7169=Time of duration
7170=Human presence detection
7171=continue
+7172=Rgb color plate
8501=Video door lock
8502=Electric quantity
@@ -4665,6 +4671,7 @@
676=Moderate
677=High
678=Current user data has been cleared, about to return to the previous page.
+679=Group control
@@ -5200,6 +5207,7 @@
7169=Time of duration
7170=Human presence detection
7171=continue
+7172=Rgb color plate
8501=Video door lock
8502=Electric quantity
@@ -5985,6 +5993,7 @@
676=Moderate
677=High
678=Current user data has been cleared, about to return to the previous page.
+679=Group control
@@ -6527,6 +6536,7 @@
7169=Time of duration
7170=Human presence detection
7171=continue
+7172=Rgb color plate
8501=Video door lock
8502=Electric quantity
diff --git a/HDL-ON_Android/Resources/Resource.designer.cs b/HDL-ON_Android/Resources/Resource.designer.cs
index 24b9b9e..0bf2792 100644
--- a/HDL-ON_Android/Resources/Resource.designer.cs
+++ b/HDL-ON_Android/Resources/Resource.designer.cs
@@ -14,7 +14,7 @@
{
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "12.2.8.165")]
public partial class Resource
{
diff --git a/HDL-ON_iOS/Resources/Language.ini b/HDL-ON_iOS/Resources/Language.ini
index 3d19285..05d3ffb 100644
--- a/HDL-ON_iOS/Resources/Language.ini
+++ b/HDL-ON_iOS/Resources/Language.ini
@@ -663,7 +663,7 @@
676=Moderate
677=High
678=Current user data has been cleared, about to return to the previous page.
-
+679=Group control
@@ -1203,6 +1203,7 @@
7169=Time of duration
7170=Human presence detection
7171=continue
+7172=Rgb color plate
8501=Video door lock
8502=Electric quantity
@@ -2000,6 +2001,8 @@
676=涓�
677=楂�
678=褰撳墠鐢ㄦ埛鏁版嵁宸叉竻绌猴紝鍗冲皢杩斿洖涓婁竴椤点��
+679=缇ゆ帶
+
2532=璁垮閭�璇疯褰�
@@ -2539,6 +2542,7 @@
7169=鎸佺画鏃堕棿
7170=浜轰綋瀛樺湪妫�娴�
7171=鎸佺画
+7172=RGB鑹茬洏
@@ -3334,6 +3338,7 @@
676=Moderate
677=High
678=Current user data has been cleared, about to return to the previous page.
+679=Group control
@@ -3873,6 +3878,7 @@
7169=Time of duration
7170=Human presence detection
7171=continue
+7172=Rgb color plate
8501=Video door lock
8502=Electric quantity
@@ -4665,6 +4671,7 @@
676=Moderate
677=High
678=Current user data has been cleared, about to return to the previous page.
+679=Group control
@@ -5200,6 +5207,7 @@
7169=Time of duration
7170=Human presence detection
7171=continue
+7172=Rgb color plate
8501=Video door lock
8502=Electric quantity
@@ -5985,6 +5993,7 @@
676=Moderate
677=High
678=Current user data has been cleared, about to return to the previous page.
+679=Group control
@@ -6527,6 +6536,7 @@
7169=Time of duration
7170=Human presence detection
7171=continue
+7172=Rgb color plate
8501=Video door lock
8502=Electric quantity
diff --git a/HDL_ON/Common/ApiUtlis.cs b/HDL_ON/Common/ApiUtlis.cs
index 95903e1..e0a8a6a 100644
--- a/HDL_ON/Common/ApiUtlis.cs
+++ b/HDL_ON/Common/ApiUtlis.cs
@@ -401,6 +401,7 @@
}
readSidList.Clear();
}
+ //FunctionList.List.Functions.AddRange(FunctionList.List.groupControls);
}
if (readSidList.Count > 0)
{
diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs
index 34d0c0b..4b3807e 100644
--- a/HDL_ON/Common/R.cs
+++ b/HDL_ON/Common/R.cs
@@ -6,6 +6,10 @@
{
/// <summary>
+ /// 缇ゆ帶
+ /// </summary>
+ public const int GroupControl = 679;
+ /// <summary>
/// 褰撳墠鐢ㄦ埛鏁版嵁鏄竻绌猴紝鍗冲皢杩斿洖涓婁竴椤点��
/// </summary>
public const int VideoDoorlockDelDataTip = 678;
@@ -3447,6 +3451,11 @@
/// 鎸佺画
/// </summary>
public const int chixu = 7171;
+ /// <summary>
+ /// RGB鑹茬洏
+ /// </summary>
+ public const int rgbsepan = 7172;
+
/// <summary>
diff --git a/HDL_ON/DAL/Mqtt/MqttClient.cs b/HDL_ON/DAL/Mqtt/MqttClient.cs
index bf5dd53..0358a57 100644
--- a/HDL_ON/DAL/Mqtt/MqttClient.cs
+++ b/HDL_ON/DAL/Mqtt/MqttClient.cs
@@ -12,6 +12,7 @@
using HDL_ON.Entity;
using HDL_ON.UI;
using HDL_ON.DAL.Server;
+using HDL_ON;
namespace HDL_ON.DAL.Mqtt
{
@@ -1187,7 +1188,7 @@
}
catch (Exception ex)
{
- Console.WriteLine(ex.Message);
+ MainPage.Log(ex.Message);
}
return reData;
}
diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index 0960b7e..8b52231 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -109,7 +109,7 @@
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
- public string GetAttrState(string key , string defaultValue = "0")
+ public string GetAttrState(string key, string defaultValue = "0")
{
//涓�绾ф煡璇eyValue鍊�
var attrState = attributes.Find((s) => s.key == key.ToString());
@@ -279,7 +279,7 @@
/// <summary>
/// 鐗╃悊璁惧(妯″潡)鍨嬪彿
/// </summary>
- public string omodel =string.Empty;
+ public string omodel = string.Empty;
/// <summary>
/// 璁惧spk
/// </summary>
@@ -372,6 +372,39 @@
/// attri
/// </summary>
public List<FunctionAttributes> attributes = new List<FunctionAttributes>();
+
+ public List<FunctionAttributes> GetFunctionAttributes()
+ {
+ if (spk == SPK.GroupControl)
+ {
+ var list = new List<FunctionAttributes>();
+ var gc = FunctionList.List.groupControls.Find((obj) => obj.sid == sid);
+ if (gc != null)
+ {
+ foreach (var temp in gc.sids)
+ {
+ var light = FunctionList.List.GetLightList().Find((obj) => obj.sid == temp.sid);
+ if (light != null)
+ {
+ foreach (var attr in light.attributes)
+ {
+ if (list.Find((obj) => obj.key == attr.key) == null)
+ {
+ list.Add(attr);
+ }
+ }
+ }
+ }
+ }
+
+ return list;
+ }
+ else
+ {
+ return attributes;
+ }
+ }
+
/// <summary>
/// 鎴块棿ID鍒楄〃
@@ -766,6 +799,10 @@
public SceneFunction ConvertSceneFunction()
{
var sFunc = new SceneFunction();
+ if(spk == SPK.GroupControl)
+ {
+
+ }
foreach (var attr in attributes)
{
//绐楀笜鍚屾椂鍙戦�佸紑鍏宠窡鐧惧垎姣斾細鏈夐棶棰橈紝
@@ -778,6 +815,9 @@
continue;
}
}
+ }else if (spk == SPK.GroupControl)
+ {
+ sFunc.type = "5";
}
string us = "";
@@ -1424,7 +1464,7 @@
/// <summary>
/// 缇ゆ帶锛堣嚜瀹氫箟锛�
/// </summary>
- public const string GroupControl = "GroupControl";
+ public const string GroupControl = "groupControl";
/// <summary>
/// 閫氱敤寮�鍏�
/// </summary>
diff --git a/HDL_ON/Entity/Function/Scene.cs b/HDL_ON/Entity/Function/Scene.cs
index 3b00095..1e6d11d 100644
--- a/HDL_ON/Entity/Function/Scene.cs
+++ b/HDL_ON/Entity/Function/Scene.cs
@@ -629,7 +629,12 @@
return sceneFunctionInfo;
}
-
+ /// <summary>
+ /// 璁惧
+ /// 鍦烘櫙 =scene
+ /// 缇ゆ帶=5
+ /// </summary>
+ public string type = "0";
}
/// <summary>
diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs
index cf5614a..e71ce0f 100644
--- a/HDL_ON/UI/MainPage.cs
+++ b/HDL_ON/UI/MainPage.cs
@@ -121,6 +121,7 @@
SPK.AirSwitch,
SPK.PanelSocket,SPK.ElectricSocket,
SPK.MechanicalArm,SPK.IpCam_Imou,
+ SPK.GroupControl
};
@@ -607,7 +608,10 @@
public static void Log(string msg)
{
#if DEBUG
- if (msg.Contains("鏀跺埌鏁版嵁"))
+ if (msg.Contains("鏀跺埌鏁版嵁")
+ || msg.Contains("鍙戦��")
+
+ )
Console.WriteLine(msg);
#endif
}
diff --git a/HDL_ON/UI/UI1-Login/LoginPage.cs b/HDL_ON/UI/UI1-Login/LoginPage.cs
index 246f9f4..a2afca1 100644
--- a/HDL_ON/UI/UI1-Login/LoginPage.cs
+++ b/HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -944,11 +944,11 @@
sids = new List<GroupControlFunction>()
{
new GroupControlFunction(){
- sid = "light1",
+ sid = lightRgb1.sid,
spk = SPK.LightRGB,
},
new GroupControlFunction(){
- sid = "light2",
+ sid = "light2",
spk = SPK.LightRGB,
},
}
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
index 805c245..6da1d29 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -995,6 +995,7 @@
switch (outputTarget.target_type)
{
case "1":
+ case "5":
{
//鐢╯id鎵惧埌璁惧锛�
var device = LogicMethod.Current.GetDevice(outputTarget.sid);
@@ -1008,6 +1009,7 @@
//鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬�
switch (device.spk)
{
+
case SPK.CommonSeries:
targetView.btnIcon.UnSelectedImagePath = "FunctionIcon/Icon/groupControl.png";
stateStr = GetKeyValue("on_off", dicList) == "on" ? Language.StringByID(StringId.onLogic) : Language.StringByID(StringId.offLogic);
@@ -1049,29 +1051,14 @@
}
}
break;
+
+
case SPK.LightRGB:
case SPK.LightRGBW:
case SPK.LightCCT:
case SPK.LightDimming:
{
- if(device.spk == SPK.LightRGB)
- {
- string colorful = GetKeyValue(FunctionAttributeKey.Colorful, dicList);
- if (!string.IsNullOrEmpty(colorful))
- {
- targetView.btnIcon.UnSelectedImagePath = "FunctionIcon/Icon/groupControl.png";
- if (colorful == "on")
- {
- stateStr = Language.StringByID(StringId.onLogic);
- }
- else if (colorful == "off")
- {
- stateStr = Language.StringByID(StringId.offLogic);
- }
-
- break;
- }
- }
+
string on_off = GetKeyValue("on_off", dicList);
string brightness = GetKeyValue("brightness", dicList);
if (on_off == "on" && brightness != "")
@@ -1119,7 +1106,61 @@
}
break;
-
+ case SPK.GroupControl: //缇ゆ帶
+ {
+ targetView.btnIcon.UnSelectedImagePath = "FunctionIcon/Icon/groupControl.png";
+ string on_off = GetKeyValue("on_off", dicList);
+ string brightness = GetKeyValue("brightness", dicList);
+ string cct = GetKeyValue(FunctionAttributeKey.CCT, dicList);
+ string colorful = GetKeyValue(FunctionAttributeKey.Colorful, dicList);
+ if (on_off == "on" && brightness != "")
+ {
+ stateStr = Language.StringByID(StringId.onLogic) + brightness + "%";
+ }
+ else if (on_off == "on")
+ {
+ stateStr = Language.StringByID(StringId.onLogic);
+ }
+ else if (on_off == "off")
+ {
+ stateStr = Language.StringByID(StringId.offLogic);
+ }
+ else if (brightness != "")
+ {
+ stateStr = brightness + "%";
+ }
+ //鑹叉俯杩欎釜灞炴�ф墠鏈夋晥
+ if (!string.IsNullOrEmpty(cct))
+ {
+ stateStr += "," + Language.StringByID(StringId.ColorTemperature) + cct + "k";
+ }
+
+ if (!string.IsNullOrEmpty(colorful))
+ {
+ stateStr += "," + Language.StringByID(StringId.ColorfulFunction);
+ if (colorful == "on")
+ {
+ stateStr += Language.StringByID(StringId.onLogic);
+ }
+ else if (colorful == "off")
+ {
+ stateStr += Language.StringByID(StringId.offLogic);
+ }
+
+ break;
+ }
+
+ string rgb = GetKeyValue("rgb", dicList);
+ if (!string.IsNullOrEmpty(rgb) && rgb.Length > 6)
+ {
+ targetView.btnStateColor.Visible = true;
+ targetView.btnStateColor.BackgroundColor = new LogicView.RGBColorView().GetBackgroundColor(rgb);
+ }
+
+
+ }
+ break;
+
case SPK.CurtainSwitch:
{
foreach (var dic in dicList)
@@ -1689,6 +1730,66 @@
}
}
break;
+ case SPK.GroupControl://缇ゆ帶
+ {
+ foreach (var dic in dicList)
+ {
+ string value = dic["value"];
+ switch (dic["key"])
+ {
+ case "on_off":
+ case "colorful":
+ {
+ if (value == "on")
+ {
+ button1.Text = Language.StringByID(StringId.onLogic);
+ }
+ else
+ {
+ button1.Text = Language.StringByID(StringId.offLogic);
+ }
+ }
+ break;
+ case "brightness":
+ {
+ if (button1 == null)
+ {
+ //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父
+ break;
+ }
+ button1.Text = value + "%";
+ }
+ break;
+ case "cct":
+ {
+ if (button1 == null)
+ {
+ //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父
+ break;
+ }
+ button1.Text = value + "k";
+ }
+ break;
+ case "rgb":
+ {
+ if (button1 == null)
+ {
+ //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父
+ break;
+ }
+ if (!string.IsNullOrEmpty(value) && value.Length > 6)
+ {
+ button1.BackgroundColor = new LogicView.RGBColorView().GetBackgroundColor(value);
+ button1.Tag = value;
+ }
+ }
+ break;
+
+ }
+
+ }
+ }
+ break;
case SPK.CurtainSwitch:
{
foreach (var dic in dicList)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
index 812dfa5..7472d73 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
@@ -187,6 +187,7 @@
var list2 = this.GetVideoDeviceList();
list.AddRange(list1);
list.AddRange(list2);
+ list.AddRange(FunctionList.List.groupControls);
#if DEBUG
GetTestDevice(ref list, true);
#endif
@@ -499,7 +500,15 @@
{
List<string> deviceStrTypeList = new List<string>();
deviceStrTypeList.Clear();
-
+
+ //缇ゆ帶
+ var gp = deviceList.Find((device) =>
+ device.spk == SPK.GroupControl);
+ if (gp != null)
+ {
+ deviceStrTypeList.Add(Language.StringByID(StringId.GroupControl));
+ }
+
///鐏厜绫�
var lightjosn = deviceList.Find((device) =>
device.spk == SPK.LightSwitch
@@ -639,6 +648,11 @@
functionTypeList.Add(SPK.PanelSocket);
functionTypeList.Add(SPK.ElectricSocket);
}
+ //缇ゆ帶
+ else if (deviceType == Language.StringByID(StringId.GroupControl))
+ {
+ functionTypeList.Add(SPK.GroupControl);
+ }
///绐楀笜绫�
else if (deviceType == Language.StringByID(StringId.Curtain))
{
@@ -734,6 +748,7 @@
else
{
//鍏ㄩ儴鍖哄煙
+ functionTypeList.Add(SPK.GroupControl);
functionTypeList.Add(SPK.Peephole);
functionTypeList.Add(SPK.Ev_Ipcam);
functionTypeList.Add(SPK.LightSwitch);
@@ -861,6 +876,7 @@
break;
case target_if:
{
+ deviceTypeList.Add(SPK.GroupControl);
deviceTypeList.Add(SPK.LightSwitch);
deviceTypeList.Add(SPK.LightRGB);
deviceTypeList.Add(SPK.LightRGBW);
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index e828e1a..8b698be 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -56,6 +56,87 @@
#region 缂栬緫璁惧鐘舵��
switch (device.spk)
{
+ //缇ゆ帶
+ case SPK.GroupControl:
+ int bottom = 50;
+ int attributesNameId=0;
+ int count = 0;
+ foreach (var attr in (device as GroupControl).attributes)
+ {
+ if (attr.key == FunctionAttributeKey.OnOff ||
+ attr.key == FunctionAttributeKey.Brightness ||
+ attr.key == FunctionAttributeKey.CCT ||
+ attr.key == FunctionAttributeKey.RGB ||
+ attr.key == FunctionAttributeKey.Colorful)
+ {
+ LogicView.FunTypeView view = new LogicView.FunTypeView();
+ view.btnState.Name = "缇ゆ帶";
+ view.frameLayout.Y = count * Application.GetRealHeight(50);
+ fLayout.AddChidren(view.FLayoutView());
+ count++;
+ switch (attr.key)
+ {
+ case FunctionAttributeKey.OnOff:
+ attributesNameId = StringId.switchLogic;
+ ///寮�鍏崇偣鍑讳簨浠�
+ view.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ SwitchViewMethod(device, view.btnState, 2);
+ };
+ break;
+ case FunctionAttributeKey.Brightness:
+ attributesNameId = StringId.brightnesLogic;
+ view.btnState.Text = "5%";//浜у搧缁忕悊鏅撹緣瑕佹眰鏀圭殑 2021-11-06
+ ///浜害鐐瑰嚮浜嬩欢
+ view.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ BrightnessMethod(device, view.btnState, view.btnText.Text);
+
+ };
+ break;
+ case FunctionAttributeKey.CCT:
+ attributesNameId = StringId.ColorTemperature;
+ ///鑹叉俯鐐瑰嚮浜嬩欢
+ view.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ ColorTemperatureMethod(device, view.btnState, view.btnText.Text);
+
+ };
+ break;
+ case FunctionAttributeKey.RGB:
+ attributesNameId = StringId.rgbsepan;
+ view.btnState.Tag = "";
+ view.btnState.Width = Application.GetRealWidth(16);
+ view.btnState.Height = Application.GetRealWidth(16);
+ view.btnState.Radius = (uint)Application.GetRealWidth(8);
+ view.btnState.X = Application.GetRealWidth(375 - 48 - 16);
+ ///RGB鑹茬洏鐐瑰嚮浜嬩欢
+ view.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ RgbColorDiskMethod(device, view.btnState, view.btnText.Text);
+ };
+ break;
+ case FunctionAttributeKey.Colorful:
+ attributesNameId = StringId.ColorfulFunction;
+ ///寮�鍏崇偣鍑讳簨浠�
+ view.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ SwitchViewMethod(device, view.btnState, 2);
+ };
+ break;
+ }
+ view.btnText.TextID = attributesNameId;
+ if (edit)
+ {
+ //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
+ GetEditDeviceState(device, index, view.btnState, null, null, null);
+ }
+ }
+ }
+
+ //璁惧寤舵椂iewv
+ DelayView(fLayout, Application.GetRealHeight(50)* count);
+ break;
//鎻掑骇(鏈塙SB)
case SPK.PanelSocket:
{
@@ -168,8 +249,7 @@
///RGB鑹茬洏
LogicView.FunTypeView rgbView = new LogicView.FunTypeView();
rgbView.frameLayout.Y = brightnessView.frameLayout.Bottom;
- //rgbView.btnText.TextID = StringId.brightnesLogic;
- rgbView.btnText.Text= "RGB鑹茬洏";
+ rgbView.btnText.TextID = StringId.rgbsepan;
rgbView.btnState.Tag = "";
rgbView.btnState.Width = Application.GetRealWidth(16);
rgbView.btnState.Height = Application.GetRealWidth(16);
@@ -815,6 +895,11 @@
}
}
break;
+ case SPK.GroupControl:
+ {
+ outputDevice.target_type = "5";
+ }
+ break;
}
outputDevice.status.AddRange(dicSateteList);
@@ -929,6 +1014,11 @@
}
}
break;
+ case SPK.GroupControl:
+ {
+ keyVlaue = "colorful";
+ }
+ break;
}
//鏁版嵁灏佽
AddDictionary(keyVlaue, strValue);
@@ -960,6 +1050,7 @@
case SPK.LightRGB:
case SPK.LightRGBW:
case SPK.LightCCT:
+ case SPK.GroupControl:
{
keyVlaue = "brightness";
}
@@ -1004,6 +1095,7 @@
switch (device.spk)
{
case SPK.LightCCT:
+ case SPK.GroupControl:
{
keyVlaue = "cct";
}
@@ -1037,6 +1129,7 @@
switch (device.spk)
{
case SPK.LightRGB:
+ case SPK.GroupControl:
{
keyVlaue = "rgb";
}
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
index 1a39122..a85c1ea 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
@@ -433,14 +433,17 @@
var pack = pm.GetSceneInfo(scene.userSceneId);
if (pack.Code == StateCode.SUCCESS)
{
- var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString());
- var tempScene = sceneList.Find((obj) => obj.userSceneId == scene.userSceneId);
- if (tempScene != null)
+ if (pack.Data != null)
{
- scene.name = tempScene.name;
- scene.delay = tempScene.delay;
- scene.roomIds = tempScene.roomIds;
- scene.functions = tempScene.functions;
+ var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString());
+ var tempScene = sceneList.Find((obj) => obj.userSceneId == scene.userSceneId);
+ if (tempScene != null)
+ {
+ scene.name = tempScene.name;
+ scene.delay = tempScene.delay;
+ scene.roomIds = tempScene.roomIds;
+ scene.functions = tempScene.functions;
+ }
}
Application.RunOnMainThread(() =>
{
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneFunctionListChoosePage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneFunctionListChoosePage.cs
index cc40903..dc80600 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneFunctionListChoosePage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneFunctionListChoosePage.cs
@@ -128,7 +128,11 @@
};
bodyView.AddChidren(functionListView);
- foreach (var function in FunctionList.List.Functions)
+ List<Function> showList = new List<Function>();
+ showList.AddRange(FunctionList.List.Functions);
+ showList.AddRange(FunctionList.List.groupControls);
+
+ foreach (var function in showList)
{
if (!MainPage.SceneSupportFunctionList.Contains(function.spk))
{
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/GroupControl.cs b/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/GroupControl.cs
index 81ce887..6a36845 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/GroupControl.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/GroupControl.cs
@@ -11,7 +11,7 @@
{
public GroupControl()
{
- spk = "GroupControl";
+ spk = "groupControl";
}
/// <summary>
/// 缇ゆ帶ID
@@ -161,6 +161,32 @@
MainPage.Log($"缇ゆ帶鎺у埗澶辫触: {ex.Message}");
}
}
+
+
+ public new List<FunctionAttributes> attributes {
+ get
+ {
+ var list = new List<FunctionAttributes>();
+
+ foreach (var temp in sids)
+ {
+ var light = FunctionList.List.GetLightList().Find((obj) => obj.sid == temp.sid);
+ if (light != null)
+ {
+ foreach(var attr in light.attributes)
+ {
+ if(list.Find((obj)=>obj.key == attr.key) == null)
+ {
+ list.Add(attr);
+ }
+ }
+ }
+
+ }
+
+ return list;
+ }
+ }
}
public class GroupControlFunction
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/ColorfulSettingPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/ColorfulSettingPage.cs
index 60ce741..8bb2a15 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/ColorfulSettingPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/ColorfulSettingPage.cs
@@ -335,10 +335,26 @@
backAction?.Invoke(curColor) ;
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
if (isSatrtColor)
+ {
d.Add(FunctionAttributeKey.ColorfulBegin, redColor + "," + greenColor + "," + blueColor);
+ function.SetAttrState(FunctionAttributeKey.ColorfulBegin, redColor + "," + greenColor + "," + blueColor);
+ var color = function.GetAttrState(FunctionAttributeKey.ColorfulEnd).Split(",");
+ var sendColorString = color[0] + "," + color[1] + "," + color[2];
+ d.Add(FunctionAttributeKey.ColorfulEnd, sendColorString);
+ d.Add(FunctionAttributeKey.ColorfulTime, function.GetAttrState(FunctionAttributeKey.ColorfulTime));
+
+ }
else
+ {
+ var color = function.GetAttrState(FunctionAttributeKey.ColorfulBegin).Split(",");
+ var sendColorString = color[0] + "," + color[1] + "," + color[2];
+ d.Add(FunctionAttributeKey.ColorfulBegin, sendColorString);
+ d.Add(FunctionAttributeKey.ColorfulTime, function.GetAttrState(FunctionAttributeKey.ColorfulTime));
d.Add(FunctionAttributeKey.ColorfulEnd, redColor + "," + greenColor + "," + blueColor);
+ function.SetAttrState(FunctionAttributeKey.ColorfulEnd, redColor + "," + greenColor + "," + blueColor);
+ }
Control.Ins.SendWriteCommand(function, d);
+ this.RemoveFromParent();
};
@@ -357,30 +373,52 @@
btnRecommenColor1.MouseUpEventHandler = (sender, e) => {
curColor = btnCurColor.BackgroundColor = btnRecommenColor1.BackgroundColor;
etCurColorHexInfo.Text = "FC4645";
+ redColor = 252;
+ greenColor = 70;
+ blueColor = 69;
+
};
btnRecommenColor2.MouseUpEventHandler = (sender, e) => {
curColor = btnCurColor.BackgroundColor = btnRecommenColor2.BackgroundColor;
etCurColorHexInfo.Text = "FD834D";
+ redColor = 253;
+ greenColor = 131;
+ blueColor = 77;
};
btnRecommenColor3.MouseUpEventHandler = (sender, e) => {
curColor = btnCurColor.BackgroundColor = btnRecommenColor3.BackgroundColor;
etCurColorHexInfo.Text = "00AB11";
+ redColor = 0;
+ greenColor = 171;
+ blueColor = 17;
};
btnRecommenColor4.MouseUpEventHandler = (sender, e) => {
curColor = btnCurColor.BackgroundColor = btnRecommenColor4.BackgroundColor;
etCurColorHexInfo.Text = "28952E";
+ redColor = 40;
+ greenColor = 149;
+ blueColor = 46;
};
btnRecommenColor5.MouseUpEventHandler = (sender, e) => {
curColor = btnCurColor.BackgroundColor = btnRecommenColor5.BackgroundColor;
etCurColorHexInfo.Text = "45B7FD";
+ redColor = 69;
+ greenColor = 183;
+ blueColor = 253;
};
btnRecommenColor6.MouseUpEventHandler = (sender, e) => {
curColor = btnCurColor.BackgroundColor = btnRecommenColor6.BackgroundColor;
etCurColorHexInfo.Text = "794EFC";
+ redColor = 121;
+ greenColor = 78;
+ blueColor = 252;
};
btnRecommenColor7.MouseUpEventHandler = (sender, e) => {
curColor = btnCurColor.BackgroundColor = btnRecommenColor7.BackgroundColor;
etCurColorHexInfo.Text = "FFFFFF";
+ redColor = 255;
+ greenColor = 255;
+ blueColor = 255;
};
}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs
index efa0d57..bb83402 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs
@@ -404,6 +404,16 @@
function.SetAttrState(FunctionAttributeKey.Colorful, controlColorfulState);
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
d.Add(FunctionAttributeKey.Colorful, controlColorfulState);
+ if (controlColorfulState == "on")
+ {
+ var color = function.GetAttrState(FunctionAttributeKey.ColorfulBegin).Split(",");
+ var sendColorString = color[0] + "," + color[1] + "," + color[2];
+ d.Add(FunctionAttributeKey.ColorfulBegin, sendColorString);
+ color = function.GetAttrState(FunctionAttributeKey.ColorfulEnd).Split(",");
+ sendColorString = color[0] + "," + color[1] + "," + color[2];
+ d.Add(FunctionAttributeKey.ColorfulEnd, sendColorString);
+ d.Add(FunctionAttributeKey.ColorfulTime, function.GetAttrState(FunctionAttributeKey.ColorfulTime));
+ }
Control.Ins.SendWriteCommand(function, d);
}catch(Exception ex)
{
--
Gitblit v1.8.0