From c8c33200e43f05136eca9fc8ff4942f8def31cc6 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期三, 18 八月 2021 10:45:40 +0800 Subject: [PATCH] 2021-08-18 1.完善Android对接LinphoneSDK 2.完善SIP相关接口对接 --- HDL_ON/DAL/DriverLayer/Control_Udp.cs | 83 ++++++++++++++++++++++++++--------------- 1 files changed, 53 insertions(+), 30 deletions(-) diff --git a/HDL_ON/DAL/DriverLayer/Control_Udp.cs b/HDL_ON/DAL/DriverLayer/Control_Udp.cs index 4b9483b..160eee7 100644 --- a/HDL_ON/DAL/DriverLayer/Control_Udp.cs +++ b/HDL_ON/DAL/DriverLayer/Control_Udp.cs @@ -52,6 +52,15 @@ /// </summary> public void ControlBytesSend(Command command, byte subnetID, byte deviceID, byte[] gatewayBytes, int sendCount = 3) { +#if DEBUG + string ddd = ""; + foreach (var bb in gatewayBytes) + { + ddd += bb + ","; + } + MainPage.Log($"鍙戦�乥us鍛戒护:" + ((int)command).ToString("X").PadLeft(4,'0') + " : 鏁版嵁:" + ddd); +#endif + var control = new Control_Udp(); control.Send(new Target() { @@ -428,14 +437,21 @@ switch (function.spk) { case SPK.LightCCT: - byte b0 = 100;//寮�鍏虫搷浣滀緷鎹畂n_off瀛楁锛屽疄闄呭紑鍏冲�间緷鎹産rightness锛屽綋on_off涓烘墦寮�锛宐rightness涓嶈兘涓�0 - if (function.trait_on_off.curValue.ToString() == "off") + byte b0 = 100; + if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff)) { - b0 = 0; + if (function.trait_on_off.curValue.ToString() == "off") + { + b0 = 0; + } + else + { + b0 = function.lastBrightness == 0 ? (byte)100 : Convert.ToByte(function.lastBrightness); + } } else { - b0 = Convert.ToByte( function.GetAttrState(FunctionAttributeKey.Brightness)) == 0 ? (byte)100 : Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness)); + b0 = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness)); } var bytes0 = new byte[] { function.bus.LoopId, b0, @@ -447,22 +463,21 @@ ControlBytesSend(Command.SetLogicLoopColor, subnetId, deviceId, bytes0, 1); break; case SPK.LightRGB: - byte b = 100;//寮�鍏虫搷浣滀緷鎹畂n_off瀛楁锛屽疄闄呭紑鍏冲�间緷鎹産rightness锛屽綋on_off涓烘墦寮�锛宐rightness涓嶈兘涓�0 - if (function.trait_on_off.curValue.ToString() == "off") + byte b = 100; + if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff)) { - b = 0; - } - else - { - byte lightBri1 = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness)); - if (lightBri1 == 0) + if (function.trait_on_off.curValue.ToString() == "off") { - b = 100; + b = 0; } else { - b = lightBri1; + b = function.lastBrightness == 0 ? (byte)100 : Convert.ToByte(function.lastBrightness); } + } + else + { + b = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness)); } var tempLight = new Light(); var bytes = new byte[] { function.bus.LoopId, @@ -476,21 +491,20 @@ break; case SPK.LightDimming: byte b1 = 100; - if (function.trait_on_off.curValue.ToString() == "off") + if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff)) { - b1 = 0; - } - else - { - byte lightBri = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness)); - if (lightBri == 0) + if (function.trait_on_off.curValue.ToString() == "off") { - b1 = 100; + b1 = 0; } else { - b1 = lightBri; + b1 = function.lastBrightness == 0 ? (byte)100 : Convert.ToByte(function.lastBrightness); } + } + else + { + b1 = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness)); } ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { function.bus.LoopId, @@ -646,10 +660,10 @@ { b1 += (byte)(16 + wm); } - if (commandDictionary.ContainsKey("temp")) + if (commandDictionary.ContainsKey("set_temp")) { var dicTempString = ""; - commandDictionary.TryGetValue("temp", out dicTempString); + commandDictionary.TryGetValue("set_temp", out dicTempString); var dicTemp = Convert.ToByte(dicTempString); var mode = function.GetAttrState(FunctionAttributeKey.Mode); switch (mode) @@ -742,22 +756,31 @@ break; } } - //7 婀垮害璁惧畾 % //8 瀹ゅ唴娓╁害鍊� 鈩� + byte indoorTemp_airFrsh = 0; + if (commandDictionary.ContainsKey(FunctionAttributeKey.IndoorTemp) == true) + { + indoorTemp_airFrsh= Convert.ToByte(commandDictionary[FunctionAttributeKey.IndoorTemp]); + } + byte indoorHumidity_airFrsh = 0; + if (commandDictionary.ContainsKey(FunctionAttributeKey.IndoorHumidity) == true) + { + indoorHumidity_airFrsh = Convert.ToByte(commandDictionary[FunctionAttributeKey.IndoorHumidity]); + } //9 瀹ゅ唴婀垮害鍊� 鈩� //10 杩囨护缃戝墿浣� % - //11 杩囨护缃戜娇鐢ㄨ秴鏃� 1 瓒呮椂 0 鏃� + //11 杩囨护缃戜娇鐢ㄨ秴鏃� 1 瓒呮椂 0 鏃� ControlBytesSend(Command.FreshAirControl_JinMao, subnetId, deviceId, new byte[] { function.bus.LoopId,0, switchValue , airFreshMode,airFreshEnergy, airFreshFan, Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Humidity)), - 0,0,0,0 - //Convert.ToByte( function.GetAttrState(FunctionAttributeKey.IndoorTemp)), - //Convert.ToByte( function.GetAttrState(FunctionAttributeKey.IndoorHumidity)), + indoorTemp_airFrsh, + indoorHumidity_airFrsh, //Convert.ToByte( function.GetAttrState(FunctionAttributeKey.FilterRemain)), //function.GetAttrState(FunctionAttributeKey.FilterTimeout) =="true"?1:0, + 0,0 }); break; } -- Gitblit v1.8.0