using Shared.Phone.UserCenter; using System; using System.Collections.Generic; using System.Text; namespace Shared.Phone.ModelData { #region â– å…±é€šæ¨¡æ¿æ•°æ®å®šä¹‰___________________ /// <summary> /// 模æ¿ç¼“å˜æ•°æ® /// </summary> public class ModelMemoryData { /// <summary> /// å…¨éƒ¨çš„ç¼“å˜æ•°æ® /// </summary> public Dictionary<string, List<ModelDeviceDataCommon>> dicAllData = new Dictionary<string, List<ModelDeviceDataCommon>>(); } /// <summary> /// ä¸€ä¸ªè®¾å¤‡çš„æ¨¡æ¿æ•°æ®çš„共通 /// </summary> public class ModelDeviceDataCommon { /// <summary> /// 设备Macåœ°å€ /// </summary> public string DeviceMac = string.Empty; /// <summary> /// 设备端点 /// </summary> public int DeviceEpoint = -1; /// <summary> /// æ•°æ®ä¿å˜çš„区分(ä¸éœ€è¦å†æ¬¡è®¾ç½®) /// </summary> public ModelDeviceSaveEnum DataSaveDiv = ModelDeviceSaveEnum.A未定义; /// <summary> /// å‘逿¨¡æ¿æ•°æ®çš„区分,ç”¨ä»¥æ ‡è¯†æ˜¯ä»¥ä»€ä¹ˆæ–¹å¼å‘é€ç»™ç½‘å…³(需è¦å†æ¬¡æŒ‡å®š) /// </summary> public ModelDataSendEnum DataSendDiv = ModelDataSendEnum.A未定义; /// <summary> /// æ•°æ®å‘逿ˆåŠŸçš„è¿”å›žæ ‡è¯†(æ¤å˜é‡æ˜¯ç»™ã€é€ä¼ æ•°æ®ã€‘使用,借以让网关知é“é€ä¼ 之åŽ,æ€Žä¹ˆåˆ¤æ–æˆåŠŸ) /// </summary> public string SuccessFlage = string.Empty; /// <summary> /// 主题åå—(需è¦å†æ¬¡æŒ‡å®š) /// </summary> public string TopicName = string.Empty; /// <summary> /// èŽ·å–æ›´æ”¹è®¾å¤‡é…置的命令å—符(å› ä¸ºæœ‰äº›ä¸œè¥¿éœ€è¦è€ƒè™‘镞ID,所以有å¯èƒ½ä¼šå‡ºçŽ°å¤šæ¡å‘½ä»¤) /// </summary> /// <returns></returns> public virtual List<string> GetSendGatewayValue() { return new List<string>(); } } #endregion #region â– çª—å¸˜æ¨¡æ¿æ•°æ®å®šä¹‰___________________ /// <summary> /// 窗帘手拉控制模æ¿å®šä¹‰ /// </summary> public class ModelCurtainHandPullControl : ModelDeviceDataCommon { /// <summary> /// çŠ¶æ€ /// </summary> public bool Statu = false; /// <summary> /// èŽ·å–æ›´æ”¹è®¾å¤‡é…置的命令å—符 /// </summary> /// <returns></returns> public override List<string> GetSendGatewayValue() { var command = HdlDeviceCurtainLogic.Current.GetHandPullControlText(DeviceMac, DeviceEpoint, Statu); return new List<string>() { command }; } } /// <summary> /// 窗帘手拉控制模æ¿å®šä¹‰ /// </summary> public class ModelCurtainDirectionAndLimite : ModelDeviceDataCommon { /// <summary> /// false:ç”µæœºæ–¹å‘æ£å‘ï¼›true:电机方å‘åå‘ /// </summary> public bool Direction = false; /// <summary> /// å¼€é™ä½ /// </summary> public int upLimit = 2; /// <summary> /// åˆé™ä½ /// </summary> public int downLimit = 98; /// <summary> /// 导轨长度 /// </summary> public int curtainLength = 100; /// <summary> /// èŽ·å–æ›´æ”¹è®¾å¤‡é…置的命令å—符 /// </summary> /// <returns></returns> public override List<string> GetSendGatewayValue() { //æ–¹å‘ var command1 = HdlDeviceCurtainLogic.Current.GetCurtainDirectionCommadText(DeviceMac, DeviceEpoint, Direction); //é™ä½ var command2 = HdlDeviceCurtainLogic.Current.GetAutoOpenCurtainLimitPointCommandText(DeviceMac, DeviceEpoint, upLimit, downLimit); return new List<string>() { command1, command2 }; } } #endregion #region â– ç©ºè°ƒæ¨¡æ¿æ•°æ®å®šä¹‰___________________ /// <summary> /// ç©ºè°ƒè‡ªå®šä¹‰æ¨¡å¼æ¨¡æ¿æ•°æ®å®šä¹‰ /// </summary> public class ModelAcModeSupport : ModelDeviceDataCommon { /// <summary> /// 值 /// </summary> public int data = 0; /// <summary> /// èŽ·å–æ›´æ”¹è®¾å¤‡é…置的命令å—符 /// </summary> /// <returns></returns> public override List<string> GetSendGatewayValue() { var command = HdlDeviceAttributeLogic.Current.GetWriteDeviceAttributeText(DeviceMac, DeviceEpoint, 513, 4099, 25, data); return new List<string>() { command }; } } /// <summary> /// ç©ºè°ƒæ‘†é£Žæ¨¡å¼æ¨¡æ¿æ•°æ®å®šä¹‰ /// </summary> public class ModelAcSwingModeSupport : ModelDeviceDataCommon { /// <summary> /// 值 /// </summary> public int data = 0; /// <summary> /// èŽ·å–æ›´æ”¹è®¾å¤‡é…置的命令å—符 /// </summary> /// <returns></returns> public override List<string> GetSendGatewayValue() { var command = HdlDeviceAttributeLogic.Current.GetWriteDeviceAttributeText(DeviceMac, DeviceEpoint, 513, 4099, 25, data); return new List<string>() { command }; } } #endregion #region â– è®¾å¤‡ç»‘å®šæ¨¡æ¿æ•°æ®å®šä¹‰_______________ /// <summary> /// è®¾å¤‡ç»‘å®šæ¨¡æ¿æ•°æ®å®šä¹‰ /// </summary> public class ModelDeviceBindData : ModelDeviceDataCommon { /// <summary> /// æŒ‰é”®çš„åŠŸèƒ½æ¨¡å¼ /// </summary> public ZigBee.Device.Panel.KeyMode keyMode = ZigBee.Device.Panel.KeyMode.Default; /// <summary> /// 按键的功能模å¼çš„镞ID /// </summary> public int keyModeClusterID = 0; /// <summary> /// 按键的功能模å¼çš„主题 /// </summary> public string TopicName2 = string.Empty; /// <summary> /// 绑定列表 /// </summary> public List<ZigBee.Device.BindObj.BindListResponseObj> BindList = new List<ZigBee.Device.BindObj.BindListResponseObj>(); /// <summary> /// èŽ·å–æ›´æ”¹è®¾å¤‡é…置的命令å—符 /// </summary> /// <returns></returns> public override List<string> GetSendGatewayValue() { var addBindData = new ZigBee.Device.BindObj.AddBindData(); addBindData.DeviceAddr = this.DeviceMac; addBindData.Epoint = this.DeviceEpoint; foreach (var data in BindList) { var addData = new ZigBee.Device.BindObj.AddBindListObj(); addBindData.BindList.Add(addData); addData.BindCluster = data.BindCluster; addData.BindEpoint = data.BindEpoint; addData.BindMacAddr = data.BindMacAddr; addData.BindScenesId = data.BindScenesId; addData.BindType = data.BindType == 0 ? 0 : 1; } //功能é…ç½® var command1 = HdlDeviceBindLogic.Current.GetConfigureHdlKeyCommandText(this.DeviceMac, this.DeviceEpoint, keyMode, keyModeClusterID); //绑定列表 var command2 = HdlDeviceBindLogic.Current.GetAddDeviceListBindCommandText(addBindData); return new List<string>() { command1, command2 }; } } #endregion #region â– Pirä¼ æ„Ÿå™¨æ¨¡æ¿æ•°æ®å®šä¹‰______________ /// <summary> /// Pirä¼ æ„Ÿå™¨æ¨¡æ¿æ•°æ®å®šä¹‰ /// </summary> public class ModelPirSensorSettion : ModelDeviceDataCommon { /// <summary> /// pirçš„é…ç½®ä¿¡æ¯ /// </summary> public ZigBee.Device.IASZone.ConfigureParamates pirConfigure = new ZigBee.Device.IASZone.ConfigureParamates(); /// <summary> /// èŽ·å–æ›´æ”¹è®¾å¤‡é…置的命令å—符 /// </summary> /// <returns></returns> public override List<string> GetSendGatewayValue() { var command = HdlDevicePirSensorLogic.Current.GetPirSensorSettionCommandText(DeviceMac, pirConfigure); return new List<string>() { command }; } } #endregion #region â– é¢æ¿æ¨¡æ¿æ•°æ®å®šä¹‰___________________ /// <summary> /// 颿¿éœ‡åŠ¨åŠŸèƒ½æ¨¡æ¿æ•°æ®å®šä¹‰ /// </summary> public class ModelPanelVibrationInfo : ModelDeviceDataCommon { /// <summary> /// 震动功能 /// </summary> public HdlDevicePanelLogic.PanelVibrationInfo vibrationInfo = new HdlDevicePanelLogic.PanelVibrationInfo(); /// <summary> /// èŽ·å–æ›´æ”¹è®¾å¤‡é…置的命令å—符 /// </summary> /// <returns></returns> public override List<string> GetSendGatewayValue() { var command = HdlDevicePanelLogic.Current.GetPanelVibrationCommandText(DeviceMac, vibrationInfo); return new List<string>() { command }; } } /// <summary> /// 颿¿èƒŒå…‰ç¯æ¨¡æ¿æ•°æ®å®šä¹‰ /// </summary> public class ModelPanelBackLightInfo : ModelDeviceDataCommon { /// <summary> /// äº®åº¦è°ƒèŠ‚çš„ä¿¡æ¯ /// </summary> public ModelPanelSwitchLevelInfo linghtLevelInfo = new ModelPanelSwitchLevelInfo(); /// <summary> /// èŠ‚èƒ½æ¨¡å¼ /// </summary> public ZigBee.Device.Panel.PanelSaveEnergyModeInfo energyModeInfo = new ZigBee.Device.Panel.PanelSaveEnergyModeInfo(); /// <summary> /// æŒ‰é”®çš„é¢œè‰²æ•°æ® /// </summary> public ZigBee.Device.Panel.KeyColorData keyColorData = new ZigBee.Device.Panel.KeyColorData(); /// <summary> /// å’ŒkeyColorData一起用的东西 /// </summary> public ZigBee.Device.Panel.KeyNumStatus KeyNum = new ZigBee.Device.Panel.KeyNumStatus(); /// <summary> /// èŽ·å–æ›´æ”¹è®¾å¤‡é…置的命令å—符 /// </summary> /// <returns></returns> public override List<string> GetSendGatewayValue() { //亮度调节 var command1 = HdlDevicePanelLogic.Current.GetPanelLevelCommadText(DeviceMac, linghtLevelInfo.panelDirectionsLevel, linghtLevelInfo.panelBacklightLevel); //èŠ‚èƒ½æ¨¡å¼ var command2 = HdlDevicePanelLogic.Current.GetDeviceEnergyConservationModeCommandText(DeviceMac, energyModeInfo.enable, energyModeInfo.time, energyModeInfo.level); return new List<string>() { command1, command2 }; } } /// <summary> /// 按键指示ç¯é¢æ¿å¼€å…³äº®åº¦é…ç½®å›žå¤ /// </summary> public class ModelPanelSwitchLevelInfo { /// <summary> ///按键开状æ€ï¼ˆæŒ‡ç¤ºï¼‰äº®åº¦(这个是点击åŽçš„值) /// </summary> public int panelDirectionsLevel = -1; /// <summary> /// 按键关状æ€ï¼ˆèƒŒå…‰ï¼‰äº®åº¦(这个是点击å‰çš„值) /// </summary> public int panelBacklightLevel = -1; } #endregion #region ■设备åç§°æ¨¡æ¿æ•°æ®å®šä¹‰_______________ /// <summary> /// 设备端点åç§°æ¨¡æ¿æ•°æ®å®šä¹‰ /// </summary> public class ModelDeviceEpointNameInfo : ModelDeviceDataCommon { /// <summary> /// 设备端点åç§° /// </summary> public string deviceEpointName = string.Empty; /// <summary> /// èŽ·å–æ›´æ”¹è®¾å¤‡é…置的命令å—符 /// </summary> /// <returns></returns> public override List<string> GetSendGatewayValue() { var command = Common.LocalDevice.Current.GetReDeviceEpointNameCommandText(DeviceMac, DeviceEpoint, deviceEpointName); return new List<string>() { command }; } } /// <summary> /// 设备Macåç§°æ¨¡æ¿æ•°æ®å®šä¹‰ /// </summary> public class ModelDeviceMacNameInfo : ModelDeviceDataCommon { /// <summary> /// 设备Macåç§° /// </summary> public string deviceMacName = string.Empty; /// <summary> /// èŽ·å–æ›´æ”¹è®¾å¤‡é…置的命令å—符 /// </summary> /// <returns></returns> public override List<string> GetSendGatewayValue() { var command = Common.LocalDevice.Current.GetReDeviceMacNameCommandText(DeviceMac, DeviceEpoint, deviceMacName); return new List<string>() { command }; } } #endregion #region ■自定义枚举_________________________ /// <summary> /// 模æ¿è®¾å¤‡ä¿å˜çš„区分 /// </summary> public enum ModelDeviceSaveEnum { A未定义 = -1, A设备åç§° = 1, A端点åç§° = 2, APiré…ç½® = 3, A干接点颜色调节 = 4, A干接点亮度调节 = 5, Aå¹²æŽ¥ç‚¹èŠ‚èƒ½æ¨¡å¼ = 6, Aå¹²æŽ¥ç‚¹ç¬¬ä¸‰çº§åˆ«ç§æœ‰å±žæ€§ = 7, A窗帘方å‘åŠé™ä½ = 8, A窗帘手拉控制 = 9, Aç©ºè°ƒè‡ªå®šä¹‰æ¨¡å¼ = 10, A颿¿éœ‡åŠ¨åŠŸèƒ½ = 11, A空调摆风功能 = 12, A颿¿æŽ¥è¿‘感应功能 = 13, A设备绑定列表 = 14, A颿¿èƒŒå…‰ç¯ = 15 } /// <summary> /// å‘逿¨¡æ¿æ•°æ®çš„区分 /// </summary> public enum ModelDataSendEnum { A未定义 = -1, Aç§æœ‰å±žæ€§ = 1, Aç§æœ‰åè®® = 2, Aé€ä¼ æ•°æ® = 3 } #endregion }