From bfb3d0d4879dca8c59ff287c92f5113162f3a33a Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期二, 27 八月 2024 15:22:48 +0800
Subject: [PATCH] 代码备份
---
OnPro/HDL_ON/DAL/DriverLayer/Control_Udp.cs | 984 ---------------------------------------------------------
1 files changed, 0 insertions(+), 984 deletions(-)
diff --git a/OnPro/HDL_ON/DAL/DriverLayer/Control_Udp.cs b/OnPro/HDL_ON/DAL/DriverLayer/Control_Udp.cs
index 5dba3fd..963039f 100644
--- a/OnPro/HDL_ON/DAL/DriverLayer/Control_Udp.cs
+++ b/OnPro/HDL_ON/DAL/DriverLayer/Control_Udp.cs
@@ -1,7 +1,6 @@
锘縰sing System;
using System.Collections.Generic;
using System.Text;
-using HDL_ON.DriverLayer;
using HDL_ON.Entity;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
@@ -11,10 +10,6 @@
{
public class Control_Udp
{
- //public Control_Udp()
- //{
- // MainPage.Log($"control bus udp 琚垱寤猴紝鏃堕棿锛歿DateTime.Now}");
- //}
/// <summary>
/// 閫氳绔彛
/// </summary>
@@ -46,33 +41,6 @@
}
}
}
-
- /// <summary>
- /// 鍙戦�佹暟鎹紝涓嶉渶瑕佺瓑寰呭洖澶�
- /// </summary>
- public void ControlBytesSend(Command command, byte subnetID, byte deviceID, byte[] gatewayBytes, int sendCount = 3,bool reSend = false)
- {
-#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()
- {
- IPEndPoint = EndPoint ,
- Command = command,
- SubnetID = subnetID,
- DeviceID = deviceID,
- AddData = gatewayBytes,
- //}, 3, true);
- }, sendCount, reSend);
- }
-
/// <summary>
/// 閲嶅彂楠岃瘉
/// </summary>
@@ -95,878 +63,6 @@
}
}
}
-
- /// <summary>
- /// 000E 鎼滅储鍥炲
- /// </summary>
- public void ReceiveReadRemark(byte[] usefullBytes)
- {
- try
- {
- //璐﹀彿娌$櫥褰曚笉鍥炲
- if ( UserInfo.Current == null || ! UserInfo.Current.IsLogin)
- {
- return;
- }
-
- Control.Ins.OpenTcpServer();
- var sendStr = UserInfo.Current.AccountString;
- if (usefullBytes.Length == 0)
- {
- SendRemark(sendStr);
- }
- else
- {
- bool isExit = false;
- for (int i = 0, len = usefullBytes.Length; i < len; i++)
- {
- if (i % 2 == 0)
- {
- if ((usefullBytes[i] & 0xFF) == 252 && (usefullBytes[i + 1] & 0xFF) == 252)
- {
- isExit = true;
- break;
- }
- }
- }
- if (!isExit)
- {
- //涓嶅瓨鍦紝浠h〃娌℃敹鍒版湰鏈虹殑鍙戦�侊紝缁х画鍥炲
- SendRemark(sendStr);
- }
- }
- }
- catch (Exception ex) {
- Console.WriteLine($"鍥炲bus鎼滅储寮傚父 : {ex.Message}");
- }
- }
- /// <summary>
- /// 000F鍥炲澶囨敞
- /// </summary>
- void SendRemark(string sendStr)
- {
- byte[] sendBytes = new byte[20];
- byte[] b1 = Encoding.GetEncoding("gb2312").GetBytes(sendStr);
- Array.Copy(b1, 0, sendBytes, 0, 20 < b1.Length ? 20 : b1.Length);
-
- var control = new Control_Udp();
- control.Send(new Target()
- {
- IPEndPoint = EndPoint,
- Command = Command.ReadRemarkACK,
- SubnetID = 0xFF,
- DeviceID = 0xFF,
- AddData = sendBytes,
- }, 0, false); //璁剧疆褰撳墠鍙戦�佹寚浠ゆ柟寮忎负锛氫换浣曟儏鍐典笅鏈湴鍙戦�併�佷笉闄愬埗銆佷笉鍔犲瘑鏄庢枃鍙戦��
- }
-
- /// <summary>
- /// 鎺у埗bus鍦烘櫙
- /// </summary>
- public void ControlBusScenes(Scene scene)
- {
- if(Control.Ins.GatewayOnline_Local)
- {
- foreach (var f in scene.functions)
- {
- if (f.localFunction == null)
- {
- continue;
- }
- switch (f.localFunction.spk)
- {
- case SPK.CurtainSwitch:
- foreach (var attr in f.status)
- {
- if (attr.key == FunctionAttributeKey.OnOff)
- {
- byte curtainState = 0;
- switch (attr.value)
- {
- case "on":
- curtainState = 1;
- break;
- case "off":
- curtainState = 2;
- break;
- }
- ControlBytesSend(Command.SetCurtainModelStutas, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID,
- new byte[] { f.localFunction.bus.LoopId, curtainState },0);
- break;
- }
- }
- break;
- case SPK.AcStandard:
- case SPK.HvacAC:
- AC acTemp = new AC();
- byte onoff = 0;
- byte mode = 0;
- byte fan = 0;
- foreach (var attr in f.status)
- {
- byte modeKey = 4;
- switch (attr.key)
- {
- case FunctionAttributeKey.OnOff:
- if(attr.value == "on")
- {
- onoff = 1;
- }
- else
- {
- onoff = 0;
- }
- break;
- case FunctionAttributeKey.Mode:
- switch (attr.value)
- {
- case "auto":
- mode = 3;
- modeKey = 8;
- break;
- case "cool":
- mode = 0;
- modeKey = 4;
- break;
- case "heat":
- mode = 1;
- modeKey = 7;
- break;
- case "dry":
- mode = 4;
- modeKey = 19;
- break;
- case "fan":
- mode = 2;
- modeKey = 2;
- break;
- }
- break;
- case FunctionAttributeKey.FanSpeed:
- switch (attr.value)
- {
- case "high":
- fan = 1;
- break;
- case "medium":
- fan = 2;
- break;
- case "low":
- fan = 3;
- break;
- case "auto":
- fan = 0;
- break;
- default:
- fan = 0;
- break;
- }
- break;
- case FunctionAttributeKey.SetTemp:
- ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] {
- modeKey, Convert.ToByte(attr.value), f.localFunction.bus.LoopId });
- break;
- }
- ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { 3, onoff, f.localFunction.bus.LoopId });
- ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { 6, mode, f.localFunction.bus.LoopId });
- ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { 5, fan, f.localFunction.bus.LoopId });
- ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { modeKey, modeKey, f.localFunction.bus.LoopId });
-
- }
- break;
- case SPK.LightSwitch:
- case SPK.LightDimming:
- byte brightness = 0;
- foreach (var attr in f.status)
- {
- switch (attr.key)
- {
- case FunctionAttributeKey.OnOff:
- switch (attr.value)
- {
- case "on":
- brightness = 100;
- break;
- case "off":
- brightness = 0;
- break;
- }
- break;
- case FunctionAttributeKey.Brightness:
- brightness = Convert.ToByte(attr.value);
- break;
- }
- }
- ControlBytesSend(Command.SetSingleLight, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID,
- new byte[] { f.localFunction.bus.LoopId, brightness, (byte)(f.localFunction.delay / 255), (byte)(f.localFunction.delay % 255) });
- break;
- case SPK.LightRGB:
- break;
- case SPK.HvacFloorHeat:case SPK.FloorHeatStandard:
- if (f.status.Find((obj)=>obj.key ==FunctionAttributeKey.Mode) == null)
- {
- foreach (var dic in f.status)
- {
- switch (dic.key)
- {
- case FunctionAttributeKey.OnOff:
- ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { 20, dic.value.ToString() == "on" ? (byte)1 : (byte)0, f.localFunction.bus.LoopId });
- break;
- case "mode":
- ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { 21, Convert.ToByte(dic.value), f.localFunction.bus.LoopId });
- break;
- case FunctionAttributeKey.SetTemp:
- ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] {
- 25, Convert.ToByte(dic.value), f.localFunction.bus.LoopId });
- break;
- }
- }
- }
- else
- {
- byte onoff_1 = 0;
- byte setTemp_1 = 0;
- byte mode_1 = 0;
- foreach (var attr in f.status)
- {
- switch (attr.key)
- {
- case FunctionAttributeKey.OnOff:
- if (attr.value == "on")
- {
- onoff_1 = 1;
- }
- else
- {
- onoff_1 = 0;
- }
- break;
- case FunctionAttributeKey.SetTemp:
- setTemp_1 = Convert.ToByte(attr.value);
- break;
- case FunctionAttributeKey.Mode:
- switch (attr.value)
- {
- case "day":
- mode_1 = 2;
- break;
- case "night":
- mode_1 = 3;
- break;
- case "away":
- mode_1 = 4;
- break;
- case "normal":
- mode_1 = 1;
- break;
- case "timer":
- mode_1 = 5;
- break;
- }
- break;
- }
- }
- ControlBytesSend(Command.SetFloorHeat, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] {
- f. localFunction.bus.LoopId, onoff_1, 0, setTemp_1, mode_1, setTemp_1, setTemp_1, setTemp_1, 0, 0 });
- }
- break;
- case SPK.ElectricSocket:
- case SPK.PanelSocket:
- foreach (var attr in f.status)
- {
- if (attr.key == FunctionAttributeKey.OnOff)
- {
- byte onOffValue = 0;
- switch (attr.value)
- {
- case "on":
- onOffValue = 1;
- break;
- case "off":
- onOffValue = 2;
- break;
- }
- ControlBytesSend(Command.SetSingleLight, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID,
- new byte[] { f.localFunction.bus.LoopId, onOffValue });
- break;
- }
- }
- break;
- }
- }
- }
- 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>
- /// 鎺у埗bus璁惧
- /// </summary>
- /// <param name="commandString"></param>
- /// <returns></returns>
- public void WriteBusData(Function function, Dictionary<string, string> commandDictionary, bool reSend = false)
- {
- try
- {
- var subnetId = function.bus.SubnetID;
- var deviceId = function.bus.DeviceID;
- var loopId = function.bus.LoopId;
-
- switch (function.spk)
- {
- case SPK.LightCCT:
- #region cct light
- byte b0 = 100;
- if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff))
- {
- 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));
- }
- var bytes0 = new byte[] { function.bus.LoopId,
- b0,
- 254, 0,Convert.ToByte(function.GetAttrState(FunctionAttributeKey.FadeTime)) ,2,
- (byte)(Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.CCT))/256),
- (byte)(Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.CCT))%256),
- 0,
- 0,0};
- ControlBytesSend(Command.SetLogicLoopColor, subnetId, deviceId, bytes0, 1);
- #endregion
- break;
- case SPK.LightRGB:
- #region rgb light
- byte b = 100;
- if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff))
- {
- if (function.trait_on_off.curValue.ToString() == "off")
- {
- b = 0;
- }
- else
- {
- 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,
- b,
- 254, 0,Convert.ToByte(function.GetAttrState(FunctionAttributeKey.FadeTime)) ,3,
- (byte)tempLight.GetColor(0,function),
- (byte)tempLight.GetColor(1,function),
- (byte)tempLight.GetColor(2,function),
- 0,0};
- ControlBytesSend(Command.SetLogicLoopColor, subnetId, deviceId, bytes, 1);
- #endregion
- break;
- case SPK.LightDimming:
- #region dimming light
- byte b1 = 100;
- if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff))
- {
- if (function.trait_on_off.curValue.ToString() == "off")
- {
- b1 = 0;
- }
- else
- {
- 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,
- b1,
- 0, Convert.ToByte(function.GetAttrState(FunctionAttributeKey.FadeTime)) });
- #endregion
- break;
- case SPK.LightSwitch:
- #region LightSwitch
- ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { function.bus.LoopId, function.trait_on_off.curValue.ToString() == "on" ? (byte)100 : (byte)0, 0, 0 });
- #endregion
- break;
- case SPK.CurtainSwitch:
- #region switch curtain
- byte switchCurtain = 0;
- if (function.trait_on_off.curValue.ToString() == "stop")
- {
- switchCurtain = 0;
- }
- else if (function.trait_on_off.curValue.ToString() == "on")
- {
- switchCurtain = 1;
- }
- else
- {
- switchCurtain = 2;
- }
- ControlBytesSend(Command.SetCurtainModelStutas, subnetId, deviceId, new byte[] { function.bus.LoopId, switchCurtain });
- #endregion
- break;
- case SPK.CurtainTrietex:
- case SPK.CurtainRoller:
- if (function.trait_on_off.curValue.ToString() == "stop")
- {
- ControlBytesSend(Command.SetCurtainModelStutas, subnetId, deviceId, new byte[] { function.bus.LoopId, 0 });
- }
- else
- {
- if (commandDictionary.ContainsKey(FunctionAttributeKey.Percent))
- {
- ControlBytesSend(Command.SetCurtainModelStutas, subnetId, deviceId, new byte[] { (byte)(((int)function.bus.LoopId) + 16), Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Percent)) });
- }
- else
- {
-
- byte tempCurtainState = 0;
- if (function.trait_on_off.curValue.ToString() == "stop")
- {
- tempCurtainState = 0;
- }
- else if (function.trait_on_off.curValue.ToString() == "on")
- {
- tempCurtainState = 1;
- }
- else
- {
- tempCurtainState = 2;
- }
- ControlBytesSend(Command.SetCurtainModelStutas, subnetId, deviceId, new byte[] { function.bus.LoopId, tempCurtainState });
- }
-
- }
- break;
- case SPK.AcStandard:
- case SPK.HvacAC:
- var ac = new AC();
-
- byte onoff = 0;
- onoff = function.trait_on_off.curValue.ToString() == "on" ? (byte)1 : (byte)0;
- byte mode = 0;
- mode = ac.GetModeIndex(function);
- byte fan = 0;
- fan = ac.GetFanIndex(function);
- byte sanfan = 0;
- byte temp = 16;
- temp = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.SetTemp));
- foreach (var dic in commandDictionary)
- {
- switch (dic.Key)
- {
- case FunctionAttributeKey.OnOff:
- onoff = dic.Value == "on" ? (byte)1 : (byte)0;
- //ControlBytesSend(Command.InstructionPanelKey, function.bus.SubnetID, function.bus.DeviceID,
- // new byte[] { 3, onoff, function.bus.LoopId });
- break;
- case "mode":
- switch (dic.Value)
- {
- case "auto":
- mode = 3;
- break;
- case "cool":
- mode = 0;
- break;
- case "heat":
- mode = 1;
- break;
- case "dry":
- mode = 4;
- break;
- case "fan":
- mode = 2;
- break;
- default:
- mode = 0;
- break;
- }
- //ControlBytesSend(Command.InstructionPanelKey, function.bus.SubnetID, function.bus.DeviceID,
- // new byte[] { 6, mode, function.bus.LoopId });
- break;
- case "fan":
- switch (dic.Value)
- {
- case "high":
- fan = 1;
- break;
- case "medium":
- fan = 2;
- break;
- case "low":
- fan = 3;
- break;
- case "auto":
- fan = 0;
- break;
- default:
- fan = 0;
- break;
- }
- //ControlBytesSend(Command.InstructionPanelKey, function.bus.SubnetID, function.bus.DeviceID,
- // new byte[] { 5, fan, function.bus.LoopId });
- break;
- case FunctionAttributeKey.SetTemp:
- try
- {
- temp = Convert.ToByte(dic.Value);
- }
- catch
- {
- temp = 16;
- }
- //byte modeKey = 4;
- //switch (ac.GetModeIndex(function))
- //{
- // case 3:
- // modeKey = 8;
- // break;
- // case 0:
- // modeKey = 4;
- // break;
- // case 1:
- // modeKey = 7;
- // break;
- // case 4:
- // modeKey = 19;
- // break;
- // case 2:
- // modeKey = 2;
- // break;
- //}
-
- //ControlBytesSend(Command.InstructionPanelKey, function.bus.SubnetID, function.bus.DeviceID, new byte[] {
- // modeKey, temp, function.bus.LoopId });
- break;
- case FunctionAttributeKey.Swing:
- //sanfan
- break;
- default:
- MainPage.Log($"鍔熻兘鏈敮鎸� : {dic.Key}");
- break;
- }
- }
- /// 璁剧疆绌鸿皟妯″潡鍛戒护
- /// 1绌鸿皟鍙�(1-128)
- ///2娓╁害妯″紡(鎽勬皬Celsius:0锛屽崕姘廎ahrenheit:1)
- ///3鐜娓╁害 (鎽勬皬0-40锛屽崕姘�32-99)
- ///4鍒跺喎鎺у埗娓╁害(鎽勬皬0-30锛屽崕姘�32-86)
- ///5鍒剁儹鎺у埗娓╁害(鎽勬皬0-30锛屽崕姘�32-86)
- ///6鑷姩鎺у埗娓╁害(鎽勬皬0-30锛屽崕姘�32-86)
- ///7闄ゆ箍鎺у埗娓╁害(鎽勬皬0-30锛屽崕姘�32-86)
- ///8妞掔饥鍋堝浣裤伔楂? 楂�4bit妯″紡(0 鍒跺喎锛�1鍒剁儹锛�2閫氶) 浣�4bit椋庨��(0 鑷姩锛�1楂橀?椋庯紝3浣庨)
- ///9绌鸿皟寮�鍏� (1寮�0鍏�)
- ///10璁剧疆妯″紡 0 鍒跺喎1鍒剁儹锛�2閫氶锛�3鑷姩锛�4闄ゆ箍
- ///11璁剧疆椋庨�� 0 鑷姩锛�1楂橀2涓锛�3浣庨
- ///12宸ヤ綔妯℃帶鍒舵俯鑲氭幃鎽勬皬0-30锛屽崕姘�32-86)
- ///13鎵妯″紡锛氶珮4bit(瀹為檯鎵鐘舵�侊細0涓嶆壂椋庯紝1鎵)锛屼綆4bit(璁剧疆鎵妯″紡锛�0涓嶆壂椋庯紝1鎵)
- ControlBytesSend(Command.SetACMode, function.bus.SubnetID, function.bus.DeviceID, new byte[] { function.bus.LoopId,
- 0,0,0,0,0,0,0,onoff,mode,fan,temp,sanfan});
-
- break;
- case SPK.HvacFloorHeat:case SPK.FloorHeatStandard:
- var fhTemp = new FloorHeating();
- if (function.Fh_Mode_Temp.Count == 4)
- {
- if (function.GetAttribute(FunctionAttributeKey.Mode) == null)
- {
- foreach (var dic in commandDictionary)
- {
- switch (dic.Key)
- {
- case FunctionAttributeKey.OnOff:
- ControlBytesSend(Command.InstructionPanelKey, function.bus.SubnetID, function.bus.DeviceID, new byte[] { 20, function.trait_on_off.curValue.ToString() == "on" ? (byte)1 : (byte)0, function.bus.LoopId });
- break;
- case "mode":
- ControlBytesSend(Command.InstructionPanelKey, function.bus.SubnetID, function.bus.DeviceID, new byte[] { 21, fhTemp.GetModeIndex(function), function.bus.LoopId });
- break;
- case FunctionAttributeKey.SetTemp:
- byte modeKey = 25;
- switch (fhTemp.GetModeIndex(function))
- {
- case 1:
- modeKey = 25;
- break;
- case 2:
- modeKey = 26;
- break;
- case 3:
- modeKey = 27;
- break;
- case 4:
- modeKey = 28;
- break;
- }
- ControlBytesSend(Command.InstructionPanelKey, function.bus.SubnetID, function.bus.DeviceID, new byte[] {
- modeKey, Convert.ToByte(function.GetAttrState(FunctionAttributeKey.SetTemp)), function.bus.LoopId });
- break;
- default:
- MainPage.Log($"鍔熻兘鏈敮鎸� : {dic.Key}");
- break;
- }
- }
- }
- else
- {
- var onoffString = function.trait_on_off.curValue.ToString();
- byte b12 = 1;
- if (onoffString == "off")
- {
- b12 = 0;
- }
- var wm = fhTemp.GetWorkModeIndex(function);
- if (wm > 0)
- {
- b12 += (byte)(16 + wm);
- }
- if (commandDictionary.ContainsKey("set_temp"))
- {
- var dicTempString = "";
- commandDictionary.TryGetValue("set_temp", out dicTempString);
- var dicTemp = Convert.ToByte(dicTempString);
- var mode22 = function.GetAttrState(FunctionAttributeKey.Mode);
- switch (mode22)
- {
- case "day":
- function.Fh_Mode_Temp["day"] = dicTemp;
- break;
- case "night":
- function.Fh_Mode_Temp["night"] = dicTemp;
- break;
- case "away":
- function.Fh_Mode_Temp["away"] = dicTemp;
- break;
- case "normal":
- function.Fh_Mode_Temp["normal"] = dicTemp;
- break;
- }
- }
- var tt = fhTemp.GetTempUintIndex(function);
- ControlBytesSend(Command.SetFloorHeat, subnetId, deviceId, new byte[] { function.bus.LoopId, b12,
- (byte)tt,fhTemp.GetModeIndex(function), function.Fh_Mode_Temp["normal"], function.Fh_Mode_Temp["day"], function.Fh_Mode_Temp["night"], function.Fh_Mode_Temp["away"], 0, 0 });
- }
- }
- break;
- case SPK.HvacFan:
- case SPK.ElectricFan:
- #region ElectricFan
- if (function.trait_on_off.curValue.ToString() == "on")
- {
- ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { function.bus.LoopId, Convert.ToByte(function.GetAttrState(FunctionAttributeKey.OpenLevel)) });
- }
- {
- ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { function.bus.LoopId, 0 });
- }
- #endregion
- break;
- case SPK.ElectricSocket:
- case SPK.PanelSocket:
- ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { function.bus.LoopId, function.trait_on_off.curValue.ToString() == "on" ? (byte)100 : (byte)0 });
- break;
- case SPK.AirFreshJinmao:case SPK.HvacAirFreshJinmao:
- #region AirFresh
- //1 鏂伴缂栧彿 1~200
- //2 绫诲瀷 绗笁鏂圭被鍨� 0锛氶噾鑼傛柊椋�
-
- //3 寮�鍏� 0 - 鍏虫満锛�1 - 寮�鏈�
- byte switchValue = 0;
- if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff) == true
- && commandDictionary[FunctionAttributeKey.OnOff] == "on")
- {
- switchValue = 1;
- }
-
- //4 杩愯妯″紡 1 - 閫氶锛�2 - 鍔犳箍
- byte airFreshMode = 1;
- if (commandDictionary.ContainsKey(FunctionAttributeKey.Mode) == true
- && commandDictionary[FunctionAttributeKey.Mode] == "humidification")
- {
- airFreshMode = 2;
- }
- //5 鑺傝兘鑸掗�傞�夋嫨 1 - 鑸掗�傦紝2 - 鑺傝兘
- byte airFreshEnergy = 1;
- if (commandDictionary.ContainsKey(FunctionAttributeKey.Energy) == true
- && commandDictionary[FunctionAttributeKey.Energy] == "true")
- {
- airFreshEnergy = 2;
- }
- //6 椋庨�熸。浣� 0 - 鑷姩锛�1 - 1妗o紝2 - 2妗o紝3 - 3妗�
- byte airFreshFan = 0;
- if (commandDictionary.ContainsKey(FunctionAttributeKey.FanSpeed) == true)
- {
- switch (commandDictionary[FunctionAttributeKey.FanSpeed])
- {
- case "auto":
- airFreshFan = 0;
- break;
- case "level_1":
- airFreshFan = 1;
- break;
- case "level_2":
- airFreshFan = 2;
- break;
- case "level_3":
- airFreshFan = 3;
- break;
- }
- }
- //7 婀垮害璁惧畾 %
- byte hum = 0;
- if (commandDictionary.ContainsKey(FunctionAttributeKey.Humidity) == true)
- {
- hum = Convert.ToByte(commandDictionary[FunctionAttributeKey.Humidity]);
- }
- //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 鏃�
- ControlBytesSend(Command.FreshAirControl_JinMao, subnetId, deviceId, new byte[] {
- function.bus.LoopId,0, switchValue ,
- airFreshMode,airFreshEnergy,
- airFreshFan,
- hum,
- indoorTemp_airFrsh,
- indoorHumidity_airFrsh,
- //Convert.ToByte( function.GetAttrState(FunctionAttributeKey.FilterRemain)),
- //function.GetAttrState(FunctionAttributeKey.FilterTimeout) =="true"?1:0,
- 0,0
- });
- #endregion
- break;
- }
- #region 鍙戦�佸懡浠ょ珛鍗虫洿鏂癠I
- //HomePage.UpdataFunctionStates(function);
- //RoomPage.UpdataStates(function);
- //FunctionPage.UpdataStates(function);
- //ClassificationPage.UpdataInfo(function);
- #endregion
- }
- catch (Exception ex)
- {
- MainPage.Log($"DataConversion_Bus Erorr : {ex.Message}");
- }
- }
-
- /// <summary>
- /// 璇诲彇bus璁惧鏁版嵁
- /// </summary>
- public void ReadBusData(Function function)
- {
- try
- {
- var subnetId = function.bus.SubnetID;
- var deviceId = function.bus.DeviceID;
- var loopId = function.bus.LoopId;
-
- switch (function.spk)
- {
- case SPK.LightSwitch:
- case SPK.LightDimming:
- 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;
- case SPK.CurtainSwitch:
- case SPK.CurtainTrietex:
- case SPK.CurtainRoller:
- ControlBytesSend(Command.ReadCurtainStatus, subnetId, deviceId, new byte[] { function.bus.LoopId });
- break;
- case SPK.AcStandard:
- case SPK.HvacAC:
- ControlBytesSend(Command.ReadACMode, subnetId, deviceId, new byte[] { function.bus.LoopId });
- break;
- case SPK.HvacFloorHeat:case SPK.FloorHeatStandard:
- ControlBytesSend(Command.ReadFloorHeat, subnetId, deviceId, new byte[] { function.bus.LoopId });
- break;
- case SPK.HvacFan:
- case SPK.ElectricFan:
- ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { function.bus.LoopId });
- break;
- case SPK.ElectricSocket:
- case SPK.PanelSocket:
- ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { function.bus.LoopId });
- break;
- case SPK.SensorTemperature:
- ControlBytesSend(Command.ReadDeviceLoopInfo, subnetId, deviceId, new byte[] { 5, 2, function.bus.LoopId });
- break;
- case SPK.SensorHumidity:
- ControlBytesSend(Command.ReadDeviceLoopInfo, subnetId, deviceId, new byte[] { 5, 3, function.bus.LoopId });
- break;
- case SPK.SensorTVOC:
- ControlBytesSend(Command.ReadDeviceLoopInfo, subnetId, deviceId, new byte[] { 5, 5, function.bus.LoopId });
- break;
- case SPK.SensorPm25:
- ControlBytesSend(Command.ReadDeviceLoopInfo, subnetId, deviceId, new byte[] { 5, 6, function.bus.LoopId });
- break;
- case SPK.SensorCO2:
- ControlBytesSend(Command.ReadDeviceLoopInfo, subnetId, deviceId, new byte[] { 5, 7, function.bus.LoopId });
- break;
- case SPK.AirFreshJinmao:
- case SPK.HvacAirFreshJinmao:
- ControlBytesSend(Command.FreshAirRead_JinMao, subnetId, deviceId, new byte[] { function.bus.LoopId });
- break;
- }
- }
- catch (Exception ex)
- {
- MainPage.Log($"Read DataConversion_Bus Erorr : {ex.Message}");
- }
- }
-
/// <summary>
/// 娣诲姞鍒板唴瀛樻暟缁勯噷闈�
/// </summary>
@@ -1102,86 +198,6 @@
/// 褰撳墠鏁版嵁鍖�
/// </summary>
Packet packet;
- /// <summary>
- /// 璁板綍鍙戦�佹暟鎹寘
- /// </summary>
- /// <param name="target"></param>
- private void signPacket(Target target)
- {
- this.SendFlag = string.Format("{0},{1},{2},", target.SubnetID, target.DeviceID, (int)target.Command + 1);
-
- switch (target.Command)
- {
- case Command.SetSingleLight:
- case Command.ReadLogicLoopColor:
- case Command.ReadACMode:
- case Command.SetACMode:
- case Command.ReadFloorHeat:
- case Command.SetFloorHeat:
- case Command.FreshAirRead:
- case Command.FreshAirControl:
- case Command.FreshAirRead_JinMao:
- case Command.FreshAirControl_JinMao:
- this.sendFlag += string.Format("{0}", target.AddData[0]);
- break;
- case Command.SetLogicLoopColor:
- this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]);
- break;
- case Command.ReadLightAllLoopBrightness:
- this.SendFlag += "";
- break;
- case Command.ReadGateway:
- this.SendFlag = string.Format("{0},{1}", target.AddData[0], target.AddData[1]);
- break;
- case Command.ReadDeviceLoopInfo:
- if (target.AddData[0] == 1)//鐗规畩澶勭悊鐏厜绫伙紝DMX妯″潡姣忎竴涓洖璺笉鍥哄畾灏忕被锛屾牴鎹叿浣撹缃潵鍥炲
- this.sendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[2]);
- else
- this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]);
- break;
- case Command.InstructionPanelKey:
- case Command.ReadInstructionPanelKey:
- this.sendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[1]);
- break;
- default:
- break;
- }
-
- }
-
- //private void signAlinkPacket()
- //{
- //}
-
- /// <summary>
- /// 鍙戦�佹暟鎹�
- /// </summary>
- /// <param name="target">鍙戦�佸璞�</param>
- /// <param name="sendCount">閲嶅彂娆℃暟</param>
- private void Send(Target target, int sendCount, bool isWait)
- {
- try
- {
- packet = new Packet(target.SendBytes, target.IPEndPoint);
- packet.HaveSendCount = 3 - sendCount;
-
- signPacket(target);
-
- System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(managerSendCount));
- thread.IsBackground = true;
- thread.Start(packet);
-
- if (isWait)
- {
- this.wait();
- }
- }
- catch(Exception ex)
- {
- MainPage.Log($"Send bus data error {ex.Message}");
- }
- }
-
/// <summary>
/// 璇诲彇缃戝叧IP
/// </summary>
--
Gitblit v1.8.0