From d4811b7d34b45ff6b21b97f11da128b5572ec526 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 03 三月 2021 16:03:03 +0800
Subject: [PATCH] 20210303-1
---
HDL_ON/DAL/DriverLayer/Control_Udp.cs | 80 +++++++++++++++++++++++++---------------
1 files changed, 50 insertions(+), 30 deletions(-)
diff --git a/HDL_ON/DAL/DriverLayer/Control_Udp.cs b/HDL_ON/DAL/DriverLayer/Control_Udp.cs
index 5d91266..507f1c1 100644
--- a/HDL_ON/DAL/DriverLayer/Control_Udp.cs
+++ b/HDL_ON/DAL/DriverLayer/Control_Udp.cs
@@ -156,35 +156,7 @@
/// </summary>
public void ControlBusScenes(Scene scene)
{
- if (Control.Ins.IsRemote)
- {
- foreach (var f in scene.functions)
- {
- var count = 0;
- List<ApiAlinkControlActionObj> actionObjs = new List<ApiAlinkControlActionObj>();
- Dictionary<string, string> d = new Dictionary<string, string>();
- var pm = new DAL.Server.HttpServerRequest();
- foreach (var temp in f.status)
- {
- if (f.localFunction == null)
- {
- continue;
- }
- d.Add(temp.key, temp.value);
- var apiControlData = f.localFunction.GetApiControlData(d);
- actionObjs.Add(apiControlData);
- count++;
- if (count > 9)
- {
- var result = pm.ControlDevice(actionObjs);
- actionObjs = new List<ApiAlinkControlActionObj>();
- count = 0;
- }
- }
- var pack = pm.ControlDevice(actionObjs);
- }
- }
- else
+ if(Control.Ins.GatewayOnline_Local)
{
foreach (var f in scene.functions)
{
@@ -332,6 +304,34 @@
}
}
}
+ else
+ {
+ foreach (var f in scene.functions)
+ {
+ var count = 0;
+ List<ApiAlinkControlActionObj> actionObjs = new List<ApiAlinkControlActionObj>();
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ var pm = new DAL.Server.HttpServerRequest();
+ foreach (var temp in f.status)
+ {
+ if (f.localFunction == null)
+ {
+ continue;
+ }
+ d.Add(temp.key, temp.value);
+ var apiControlData = f.localFunction.GetApiControlData(d);
+ actionObjs.Add(apiControlData);
+ count++;
+ if (count > 9)
+ {
+ var result = pm.ControlDevice(actionObjs);
+ actionObjs = new List<ApiAlinkControlActionObj>();
+ count = 0;
+ }
+ }
+ var pack = pm.ControlDevice(actionObjs);
+ }
+ }
}
/// <summary>
@@ -353,8 +353,25 @@
var light = function as Light;
switch (light.spk)
{
+ case SPK.LightCCT:
+ byte b0 = 100;//寮�鍏虫搷浣滀緷鎹畂n_off瀛楁锛屽疄闄呭紑鍏冲�间緷鎹産rightness锛屽綋on_off涓烘墦寮�锛宐rightness涓嶈兘涓�0
+ if (light.trait_on_off.curValue.ToString() == "off")
+ {
+ b0 = 0;
+ }
+ else
+ {
+ b0 = (byte)light.brightness == 0 ? (byte)100 : (byte)light.brightness;
+ }
+ var bytes0 = new byte[] { function.bus.LoopId,
+ b0,
+ 254, 0,Convert.ToByte(light.fadeTime) ,2,
+ (byte)((int)light.Attr_CCT.curValue/256),(byte)((int)light.Attr_CCT.curValue%256),
+ (byte)light.BlueColor,
+ 0,0};
+ ControlBytesSend(Command.SetLogicLoopColor, subnetId, deviceId, bytes0, 1);
+ break;
case SPK.LightRGB:
- MainPage.Log($"rgb level : {light.brightness}");
byte b = 100;//寮�鍏虫搷浣滀緷鎹畂n_off瀛楁锛屽疄闄呭紑鍏冲�间緷鎹産rightness锛屽綋on_off涓烘墦寮�锛宐rightness涓嶈兘涓�0
if (light.trait_on_off.curValue.ToString() == "off")
{
@@ -588,6 +605,9 @@
ControlBytesSend(Command.ReadLightAllLoopBrightness, subnetId, deviceId, new byte[] { });
break;
case SPK.LightRGB:
+ ControlBytesSend(Command.ReadLogicLoopColor, subnetId, deviceId, new byte[] { function.bus.LoopId});
+ break;
+ case SPK.LightCCT:
ControlBytesSend(Command.ReadLogicLoopColor, subnetId, deviceId, new byte[] { function.bus.LoopId });
break;
}
--
Gitblit v1.8.0