old mode 100755
new mode 100644
File was renamed from ZigbeeApp/Shared/Phone/TemplateData/TemplateDataCommon.cs |
| | |
| | | using Shared.Phone.UserCenter;
|
| | | using System;
|
| | | using System.Collections.Generic;
|
| | | using System.Text;
|
| | |
|
| | | namespace Shared.Phone.TemplateData
|
| | | {
|
| | | #region ■ 共通模板数据定义___________________
|
| | |
|
| | | /// <summary>
|
| | | /// 模板缓存数据
|
| | | /// </summary>
|
| | | public class TemplateMemoryData
|
| | | {
|
| | | //★ テンプレートファイルに保存されたパラメーター ★ ↓
|
| | | /// <summary>
|
| | | /// 模板的名字
|
| | | /// </summary>
|
| | | public string TemplateName = string.Empty;
|
| | | /// <summary>
|
| | | /// 全部的设备配置缓存数据(主键是本地设备的主键)
|
| | | /// </summary>
|
| | | public Dictionary<string, List<TemplateDeviceDataCommon>> dicDeviceTemplateData = new Dictionary<string, List<TemplateDeviceDataCommon>>();
|
| | | /// <summary>
|
| | | /// 网关对象数据
|
| | | /// </summary>
|
| | | public Dictionary<string, ZigBee.Device.ZbGateway> dicGatewayInfo = new Dictionary<string, ZigBee.Device.ZbGateway>();
|
| | | /// <summary>
|
| | | /// 设备对象数据(key:设备Mac)
|
| | | /// </summary>
|
| | | public Dictionary<string, List<ZigBee.Device.CommonDevice>> dicDeviceInfo = new Dictionary<string, List<ZigBee.Device.CommonDevice>>();
|
| | | /// <summary>
|
| | | /// 模板中设备各自真实设备对应的房间(keys:设备Mac或者网关ID, value:房间ID)
|
| | | /// </summary>
|
| | | public Dictionary<string, string> dicDeviceTemplateRealRoom = new Dictionary<string, string>();
|
| | | //★ テンプレートに保存されたパラメーター ★ ↑
|
| | |
|
| | |
|
| | | /// <summary>
|
| | | /// 临时缓存:模板中各自端点所处的房间(keys:设备主键 value:房间ID) 旨在针对设备来回选择模板的情况
|
| | | /// </summary>
|
| | | public Dictionary<string, string> dicDeviceTemplateRoom = new Dictionary<string, string>();
|
| | | /// <summary>
|
| | | /// 临时缓存:模板中各自端点所保存的内容(keys:模板中设备主键),设备选择模板时,模板数据迁移使用,因为是引用类型,所以需要重新New
|
| | | /// </summary>
|
| | | public Dictionary<string, List<TemplateDeviceContent>> dicDeviceFileContent = new Dictionary<string, List<TemplateDeviceContent>>();
|
| | |
|
| | |
|
| | | //★ 別のファイルに保存されたパラメーター ★ ↓
|
| | | /// <summary>
|
| | | /// 设备选择的模板对象(keys:本地设备的Mac value:模板中的Mac)
|
| | | /// </summary>
|
| | | public Dictionary<string, string> dicDeviceTemplateSelect = new Dictionary<string, string>();
|
| | | /// <summary>
|
| | | /// 网关对象选择的模板对象(keys:本地网关ID, value:模板中的网关ID)
|
| | | /// </summary>
|
| | | public Dictionary<string, string> dicGatewayTemplateSelect = new Dictionary<string, string>();
|
| | | //★ 別のファイルに保存されたパラメーター ★ ↑
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 一个设备的模板数据的共通
|
| | | /// </summary>
|
| | | public class TemplateDeviceDataCommon
|
| | | {
|
| | | /// <summary>
|
| | | /// 设备Mac地址
|
| | | /// </summary>
|
| | | public string DeviceMac = string.Empty;
|
| | | /// <summary>
|
| | | /// 设备端点
|
| | | /// </summary>
|
| | | public int DeviceEpoint = -1;
|
| | | /// <summary>
|
| | | /// 发送需要的大概时间(秒)
|
| | | /// </summary>
|
| | | [Newtonsoft.Json.JsonIgnore]
|
| | | public int SendTime { get { return this.GetSendTime(); } }
|
| | | /// <summary>
|
| | | /// 数据保存的区分(不需要再次设置)
|
| | | /// </summary>
|
| | | public ModelDeviceSaveEnum DataSaveDiv = ModelDeviceSaveEnum.A未定义;
|
| | | /// <summary>
|
| | | /// 接收的主题(考虑多条命令,正常都是1条命令)
|
| | | /// </summary>
|
| | | public List<string> ListReceiveTopic = new List<string>();
|
| | | /// <summary>
|
| | | /// 接收的结果(考虑多条命令,正常都是1条命令)
|
| | | /// </summary>
|
| | | public List<string> ListReceiveResult = new List<string>();
|
| | | /// <summary>
|
| | | /// 发送的主题(考虑多条命令,正常都是1条命令)
|
| | | /// </summary>
|
| | | public List<string> ListSendTopic = new List<string>();
|
| | |
|
| | | /// <summary>
|
| | | /// 获取更改设备配置的命令字符(考虑多条命令,正常都是1条命令)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public virtual List<string> GetSendGatewayValue()
|
| | | {
|
| | | return new List<string>();
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 发送需要的大概时间(秒)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public virtual int GetSendTime()
|
| | | {
|
| | | return 0;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 获取失败时的Msg(log显示使用)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public virtual List<string> GetFailMsg()
|
| | | {
|
| | | return new List<string>();
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 变更Mac缓存(在网关执行完成导入之后执行)
|
| | | /// </summary>
|
| | | public virtual void ChangedMacMemmory()
|
| | | {
|
| | | }
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 模板设备的版本信息
|
| | | /// </summary>
|
| | | public class TemplateDeviceVersionInfo
|
| | | {
|
| | | //目前只有 版本变量
|
| | | /// <summary>
|
| | | /// 当前版本
|
| | | /// </summary>
|
| | | public int Version = -1;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 模板设备在文件中的内容
|
| | | /// </summary>
|
| | | public class TemplateDeviceContent
|
| | | {
|
| | | /// <summary>
|
| | | /// 保存区分 参照:ModelDeviceSaveEnum
|
| | | /// </summary>
|
| | | public ModelDeviceSaveEnum saveDiv = ModelDeviceSaveEnum.A未定义;
|
| | | /// <summary>
|
| | | /// 有点用处
|
| | | /// </summary>
|
| | | public string DeviceMac = string.Empty;
|
| | | /// <summary>
|
| | | /// 文件中保存的内容
|
| | | /// </summary>
|
| | | public string FileContent = string.Empty;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 可选模板的内容
|
| | | /// </summary>
|
| | | public class TemplateCanSelectContent
|
| | | {
|
| | | /// <summary>
|
| | | /// 设备Mac
|
| | | /// </summary>
|
| | | public string DeviceMac = string.Empty;
|
| | | /// <summary>
|
| | | /// 设备Mac名字
|
| | | /// </summary>
|
| | | public string DeviceName = string.Empty;
|
| | | /// <summary>
|
| | | /// 该设备所在的房间
|
| | | /// </summary>
|
| | | public string RoomName = string.Empty;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 本地模板的基本信息
|
| | | /// </summary>
|
| | | public class LocalModelBaseInfo
|
| | | {
|
| | | /// <summary>
|
| | | /// <para>保存数据的文件名字(不需要保存到文件夹中)</para>
|
| | | /// <para>ModelData_Local_yyyyMMdd_HHmmss.bin -> 本地模板</para>
|
| | | /// <para>ModelData_Cloud_yyyyMMdd_HHmmss.bin -> 本地模板</para>
|
| | | /// </summary>
|
| | | [Newtonsoft.Json.JsonIgnore]
|
| | | public string FileName = string.Empty;
|
| | | /// <summary>
|
| | | /// 是否是本地模板
|
| | | /// </summary>
|
| | | [Newtonsoft.Json.JsonIgnore]
|
| | | public bool IsLocalTemplate
|
| | | {
|
| | | get { return FileName.StartsWith("ModelData_Local"); }
|
| | | }
|
| | | /// <summary>
|
| | | /// 单元标题(这个目前是给查看模板使用的)
|
| | | /// </summary>
|
| | | [Newtonsoft.Json.JsonIgnore]
|
| | | public List<string> ListUintName = new List<string>();
|
| | | /// <summary>
|
| | | /// 单元名称(这个目前是给查看模板使用的)
|
| | | /// </summary>
|
| | | [Newtonsoft.Json.JsonIgnore]
|
| | | public List<string> ListUintContent = new List<string>();
|
| | | /// <summary>
|
| | | /// 当前住宅的地图位置名称
|
| | | /// </summary>
|
| | | [Newtonsoft.Json.JsonIgnore]
|
| | | public string ResidenceAddressName = string.Empty;
|
| | |
|
| | | /// <summary>
|
| | | /// 模板名字
|
| | | /// </summary>
|
| | | public string ModelName = string.Empty;
|
| | | /// <summary>
|
| | | /// 编辑时间 2020.01.04 19:55格式
|
| | | /// </summary>
|
| | | public string EditorTime = string.Empty;
|
| | | /// <summary>
|
| | | /// 楼层数
|
| | | /// </summary>
|
| | | public int FloorCount = 0;
|
| | | /// <summary>
|
| | | /// 设备数
|
| | | /// </summary>
|
| | | public int DeviceCount = 0;
|
| | | /// <summary>
|
| | | /// 功能数
|
| | | /// </summary>
|
| | | public int FunctionCount = 0;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 云端模板的基本信息
|
| | | /// </summary>
|
| | | public class CloundModelBaseInfo
|
| | | {
|
| | | /// <summary>
|
| | | /// 模板名字
|
| | | /// </summary>
|
| | | public string TemplateName = string.Empty;
|
| | | /// <summary>
|
| | | /// 编辑时间 2020.01.04 19:55格式
|
| | | /// </summary>
|
| | | public string CreatedOnUtc = string.Empty;
|
| | | /// <summary>
|
| | | /// 主键
|
| | | /// </summary>
|
| | | public string Id = string.Empty;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 模板住宅的信息
|
| | | /// </summary>
|
| | | public class TemplateHomeInfo
|
| | | {
|
| | | /// <summary>
|
| | | /// 单元标题
|
| | | /// </summary>
|
| | | public List<string> ListUintName = new List<string>();
|
| | | /// <summary>
|
| | | /// 单元名称
|
| | | /// </summary>
|
| | | public List<string> ListUintContent = new List<string>();
|
| | | /// <summary>
|
| | | /// 当前住宅的地图位置名称
|
| | | /// </summary>
|
| | | public string ResidenceAddressName = string.Empty;
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 窗帘模板数据定义___________________
|
| | |
|
| | | /// <summary>
|
| | | /// 窗帘手拉控制模板定义
|
| | | /// </summary>
|
| | | public class ModelCurtainHandPullControl : TemplateDeviceDataCommon
|
| | | {
|
| | | /// <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>
|
| | | /// <returns></returns>
|
| | | public override int GetSendTime()
|
| | | {
|
| | | //执行这个命令大约需要5秒
|
| | | return 5;
|
| | | }
|
| | | /// <summary>
|
| | | /// 获取失败时的Msg(log显示使用)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override List<string> GetFailMsg()
|
| | | {
|
| | | //切换手拉控制失败
|
| | | return new List<string> { Language.StringByID(R.MyInternationalizationString.uChangeHandPullControlFail) };
|
| | | }
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 窗帘限位模板定义
|
| | | /// </summary>
|
| | | public class ModelCurtainDirectionAndLimite : TemplateDeviceDataCommon
|
| | | {
|
| | | /// <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 };
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 获取发送命令大概需要的时间(秒)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override int GetSendTime()
|
| | | {
|
| | | //执行这个命令大约需要5秒
|
| | | return 5;
|
| | | }
|
| | | /// <summary>
|
| | | /// 获取失败时的Msg(log显示使用)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override List<string> GetFailMsg()
|
| | | {
|
| | | //设置窗帘限位点失败
|
| | | return new List<string> { Language.StringByID(R.MyInternationalizationString.uCommitCurtainLimitFail) };
|
| | | }
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 空调模板数据定义___________________
|
| | |
|
| | | /// <summary>
|
| | | /// 空调自定义模式模板数据定义
|
| | | /// </summary>
|
| | | public class ModelAcModeSupport : TemplateDeviceDataCommon
|
| | | {
|
| | | /// <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>
|
| | | /// <returns></returns>
|
| | | public override int GetSendTime()
|
| | | {
|
| | | //执行这个命令大约需要5秒
|
| | | return 5;
|
| | | }
|
| | | /// <summary>
|
| | | /// 获取失败时的Msg(log显示使用)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override List<string> GetFailMsg()
|
| | | {
|
| | | //设置空调模式失败
|
| | | return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetAcModeFail) };
|
| | | }
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 空调摆风模式模板数据定义
|
| | | /// </summary>
|
| | | public class ModelAcSwingModeSupport : TemplateDeviceDataCommon
|
| | | {
|
| | | /// <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>
|
| | | /// <returns></returns>
|
| | | public override int GetSendTime()
|
| | | {
|
| | | //执行这个命令大约需要5秒
|
| | | return 5;
|
| | | }
|
| | | /// <summary>
|
| | | /// 获取失败时的Msg(log显示使用)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override List<string> GetFailMsg()
|
| | | {
|
| | | //设置空调摆风失败
|
| | | return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetAirConditionerSwingFunctionFail) };
|
| | | }
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 设备绑定模板数据定义_______________
|
| | |
|
| | | /// <summary>
|
| | | /// 设备绑定模板数据定义
|
| | | /// </summary>
|
| | | public class ModelDeviceBindData : TemplateDeviceDataCommon
|
| | | {
|
| | | /// <summary>
|
| | | /// 按键的功能模式
|
| | | /// </summary>
|
| | | public ZigBee.Device.Panel.KeyMode keyMode = ZigBee.Device.Panel.KeyMode.Default;
|
| | | /// <summary>
|
| | | /// 按键的功能模式的镞ID
|
| | | /// </summary>
|
| | | public int keyModeClusterID = -1;
|
| | | /// <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;
|
| | |
|
| | | //当前选择的模板对象
|
| | | var dicChangedMac = new Dictionary<string, string>();
|
| | | var dicNowSelect = TemplateCommonLogic.Current.modelData.dicDeviceTemplateSelect;
|
| | | foreach (var localMac in dicNowSelect.Keys)
|
| | | {
|
| | | dicChangedMac[dicNowSelect[localMac]] = localMac;
|
| | | }
|
| | | foreach (var data in BindList)
|
| | | {
|
| | | //场景
|
| | | if (data.BindType == 2)
|
| | | {
|
| | | var addData = new ZigBee.Device.BindObj.AddBindListObj();
|
| | | addBindData.BindList.Add(addData);
|
| | | addData.BindCluster = data.BindCluster;
|
| | | addData.BindScenesId = data.BindScenesId;
|
| | | addData.BindType = 1;
|
| | | }
|
| | | //设备
|
| | | else
|
| | | {
|
| | | if (dicChangedMac.ContainsKey(data.BindMacAddr) == false)
|
| | | {
|
| | | //这个东西没有选择模板,则不执行
|
| | | continue;
|
| | | }
|
| | | var addData = new ZigBee.Device.BindObj.AddBindListObj();
|
| | | addBindData.BindList.Add(addData);
|
| | | addData.BindCluster = data.BindCluster;
|
| | | addData.BindEpoint = data.BindEpoint;
|
| | | //替换mac
|
| | | addData.BindMacAddr = dicChangedMac[data.BindMacAddr];
|
| | | addData.BindType = 0;
|
| | | }
|
| | | }
|
| | | var listCommand = new List<string>();
|
| | | //清空绑定
|
| | | listCommand.Add(string.Empty);
|
| | | //这个判断是为了针对一路调光器和三路继电器的那个第七回路
|
| | | if (this.ListReceiveResult.Count > 0 && string.IsNullOrEmpty(this.ListReceiveResult[0]) == false)
|
| | | {
|
| | | var jObject = new Newtonsoft.Json.Linq.JObject { { "DeviceAddr", this.DeviceMac }, { "Epoint", this.DeviceEpoint }, { "Cluster_ID", 0 }, { "Command", 5006 } };
|
| | | listCommand[0] = jObject.ToString();
|
| | | }
|
| | |
|
| | | //功能配置
|
| | | listCommand.Add(string.Empty);
|
| | | if (keyModeClusterID != -1)
|
| | | {
|
| | | var command1 = HdlDeviceBindLogic.Current.GetConfigureHdlKeyCommandText(this.DeviceMac, this.DeviceEpoint, keyMode, keyModeClusterID);
|
| | | listCommand[1] = command1;
|
| | | }
|
| | |
|
| | | //绑定列表
|
| | | listCommand.Add(string.Empty);
|
| | | if (addBindData.BindList.Count > 0)
|
| | | {
|
| | | var command2 = HdlDeviceBindLogic.Current.GetAddDeviceListBindCommandText(addBindData);
|
| | | listCommand[2] = command2;
|
| | | }
|
| | | return listCommand;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 获取发送命令大概需要的时间(秒)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override int GetSendTime()
|
| | | {
|
| | | //执行这个命令大约需要15秒
|
| | | return 15;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 获取失败时的Msg(log显示使用)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override List<string> GetFailMsg()
|
| | | {
|
| | | //清空绑定列表失败 , 设备属性变更失败 , 绑定目标设置失败
|
| | | return new List<string> {"清空绑定列表失败"
|
| | | ,Language.StringByID(R.MyInternationalizationString.uDeviceAttributeChangedFail)
|
| | | ,Language.StringByID(R.MyInternationalizationString.uSetBindTargetsFail)};
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 变更绑定目标的Mac
|
| | | /// </summary>
|
| | | public override void ChangedMacMemmory()
|
| | | {
|
| | | //当前选择的模板对象
|
| | | var dicChangedMac = new Dictionary<string, string>();
|
| | | var dicNowSelect = TemplateCommonLogic.Current.modelData.dicDeviceTemplateSelect;
|
| | | foreach (var localMac in dicNowSelect.Keys)
|
| | | {
|
| | | dicChangedMac[dicNowSelect[localMac]] = localMac;
|
| | | }
|
| | | foreach (var data in BindList)
|
| | | {
|
| | | //设备
|
| | | if (data.BindType != 2)
|
| | | {
|
| | | if (dicChangedMac.ContainsKey(data.BindMacAddr) == false)
|
| | | {
|
| | | //这个东西没有选择模板,则不执行
|
| | | continue;
|
| | | }
|
| | | //替换mac
|
| | | data.BindMacAddr = dicChangedMac[data.BindMacAddr];
|
| | | }
|
| | | }
|
| | | //变更缓存
|
| | | TemplateCommonLogic.Current.SaveDeviceMemmoryData(this.DeviceMac, this.DeviceEpoint);
|
| | | }
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ Pir传感器模板数据定义______________
|
| | |
|
| | | /// <summary>
|
| | | /// Pir传感器模板数据定义
|
| | | /// </summary>
|
| | | public class ModelPirSensorSettion : TemplateDeviceDataCommon
|
| | | {
|
| | | /// <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 };
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 获取发送命令大概需要的时间(秒)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override int GetSendTime()
|
| | | {
|
| | | //执行这个命令大约需要5秒
|
| | | return 5;
|
| | | }
|
| | | /// <summary>
|
| | | /// 获取失败时的Msg(log显示使用)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override List<string> GetFailMsg()
|
| | | {
|
| | | //设置传感器配置信息失败
|
| | | return new List<string> {Language.StringByID(R.MyInternationalizationString.uSetPirSensorSettionFail)};
|
| | | }
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 面板模板数据定义___________________
|
| | |
|
| | | /// <summary>
|
| | | /// 面板震动功能模板数据定义
|
| | | /// </summary>
|
| | | public class ModelPanelVibrationInfo : TemplateDeviceDataCommon
|
| | | {
|
| | | /// <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>
|
| | | /// <returns></returns>
|
| | | public override int GetSendTime()
|
| | | {
|
| | | //执行这个命令大约需要5秒
|
| | | return 5;
|
| | | }
|
| | | /// <summary>
|
| | | /// 获取失败时的Msg(log显示使用)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override List<string> GetFailMsg()
|
| | | {
|
| | | //设置震动反馈配置信息失败
|
| | | return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetVibrationFeedbackSettionFail) };
|
| | | }
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 面板亮度调节模板数据定义
|
| | | /// </summary>
|
| | | public class ModelPanelBrightnessAdjustInfo : TemplateDeviceDataCommon
|
| | | {
|
| | | /// <summary>
|
| | | /// 按键开状态(指示)亮度(这个是点击后的值,或者 1-6干接点的背光灯)
|
| | | /// </summary>
|
| | | public int panelDirectionsLevel = -1;
|
| | | /// <summary>
|
| | | /// 按键关状态(背光)亮度(这个是点击前的值,或者 第七干接点的背光灯)
|
| | | /// </summary>
|
| | | public int panelBacklightLevel = -1;
|
| | |
|
| | | /// <summary>
|
| | | /// 获取更改设备配置的命令字符
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override List<string> GetSendGatewayValue()
|
| | | {
|
| | | //亮度调节
|
| | | var command1 = HdlDevicePanelLogic.Current.GetPanelLevelCommadText(DeviceMac, panelDirectionsLevel, panelBacklightLevel);
|
| | | return new List<string>() { command1 };
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 获取发送命令大概需要的时间(秒)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override int GetSendTime()
|
| | | {
|
| | | //执行这个命令大约需要8秒
|
| | | return 3;
|
| | | }
|
| | | /// <summary>
|
| | | /// 获取失败时的Msg(log显示使用)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override List<string> GetFailMsg()
|
| | | {
|
| | | //设置亮度调节失败
|
| | | return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetLightRegulationFail) };
|
| | | }
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 面板节能模式模板数据定义
|
| | | /// </summary>
|
| | | public class ModelPanelEnergyModeInfo : TemplateDeviceDataCommon
|
| | | {
|
| | | /// <summary>
|
| | | /// 节能模式
|
| | | /// </summary>
|
| | | public ZigBee.Device.Panel.PanelSaveEnergyModeInfo energyModeInfo = new ZigBee.Device.Panel.PanelSaveEnergyModeInfo();
|
| | | /// <summary>
|
| | | /// 获取更改设备配置的命令字符
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override List<string> GetSendGatewayValue()
|
| | | {
|
| | | //节能模式
|
| | | var command1 = HdlDevicePanelLogic.Current.GetDeviceEnergyConservationModeCommandText(DeviceMac, energyModeInfo.enable, energyModeInfo.time, energyModeInfo.level);
|
| | |
|
| | | return new List<string>() { command1 };
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 获取发送命令大概需要的时间(秒)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override int GetSendTime()
|
| | | {
|
| | | //执行这个命令大约需要8秒
|
| | | return 3;
|
| | | }
|
| | | /// <summary>
|
| | | /// 获取失败时的Msg(log显示使用)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override List<string> GetFailMsg()
|
| | | {
|
| | | //节能模式配置失败
|
| | | return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetEnergyConservationFail) };
|
| | | }
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 面板指示灯模板数据定义(也叫背光灯)
|
| | | /// </summary>
|
| | | public class ModelPanelIndicatorLightInfo : TemplateDeviceDataCommon
|
| | | {
|
| | | /// <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.GetPanelColorCommandText(DeviceMac, keyColorData, KeyNum);
|
| | |
|
| | | return new List<string>() { command1 };
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 获取发送命令大概需要的时间(秒)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override int GetSendTime()
|
| | | {
|
| | | //执行这个命令大约需要8秒
|
| | | return 3;
|
| | | }
|
| | | /// <summary>
|
| | | /// 获取失败时的Msg(log显示使用)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override List<string> GetFailMsg()
|
| | | {
|
| | | //设置按键面板指示灯颜色失败
|
| | | return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetPanelPilolightSettionFail) };
|
| | | }
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 设备名称模板数据定义_______________
|
| | |
|
| | | /// <summary>
|
| | | /// 设备端点名称模板数据定义
|
| | | /// </summary>
|
| | | public class ModelDeviceEpointNameInfo : TemplateDeviceDataCommon
|
| | | {
|
| | | /// <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>
|
| | | /// 获取发送命令大概需要的时间(秒)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override int GetSendTime()
|
| | | {
|
| | | //执行这个命令大约需要3秒
|
| | | return 3;
|
| | | }
|
| | | /// <summary>
|
| | | /// 获取失败时的Msg(log显示使用)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override List<string> GetFailMsg()
|
| | | {
|
| | | //设备端点名称修改失败
|
| | | return new List<string> { "设备端点名称修改失败" };
|
| | | }
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 设备Mac名称模板数据定义
|
| | | /// </summary>
|
| | | public class ModelDeviceMacNameInfo : TemplateDeviceDataCommon
|
| | | {
|
| | | /// <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 };
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 获取发送命令大概需要的时间(秒)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override int GetSendTime()
|
| | | {
|
| | | //执行这个命令大约需要3秒
|
| | | return 3;
|
| | | }
|
| | | /// <summary>
|
| | | /// 获取失败时的Msg(log显示使用)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public override List<string> GetFailMsg()
|
| | | {
|
| | | //设备名称修改失败
|
| | | return new List<string> { Language.StringByID(R.MyInternationalizationString.uDeviceReNameFail) };
|
| | | }
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 自定义枚举_________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 模板设备保存的区分
|
| | | /// </summary>
|
| | | public enum ModelDeviceSaveEnum
|
| | | {
|
| | | A未定义 = -1,
|
| | | /// <summary>
|
| | | /// 对象类:ModelDeviceMacNameInfo
|
| | | /// </summary>
|
| | | A设备名称 = 1,
|
| | | /// <summary>
|
| | | /// 对象类:ModelDeviceEpointNameInfo
|
| | | /// </summary>
|
| | | A端点名称 = 2,
|
| | | /// <summary>
|
| | | /// 对象类:ModelPirSensorSettion
|
| | | /// </summary>
|
| | | APir配置 = 3,
|
| | | /// <summary>
|
| | | /// 对象类:ModelCurtainDirectionAndLimite
|
| | | /// </summary>
|
| | | A窗帘方向及限位 = 8,
|
| | | /// <summary>
|
| | | /// 对象类:ModelCurtainHandPullControl
|
| | | /// </summary>
|
| | | A窗帘手拉控制 = 9,
|
| | | /// <summary>
|
| | | /// 对象类:ModelAcModeSupport
|
| | | /// </summary>
|
| | | A空调自定义模式 = 10,
|
| | | /// <summary>
|
| | | /// 对象类:ModelPanelVibrationInfo
|
| | | /// </summary>
|
| | | A面板震动功能 = 11,
|
| | | /// <summary>
|
| | | /// 对象类:ModelAcSwingModeSupport
|
| | | /// </summary>
|
| | | A空调摆风功能 = 12,
|
| | | /// <summary>
|
| | | /// 对象类:ModelDeviceBindData
|
| | | /// </summary>
|
| | | A设备绑定列表 = 14,
|
| | | /// <summary>
|
| | | /// 对象类:ModelPanelBrightnessAdjustInfo
|
| | | /// </summary>
|
| | | A面板亮度调节 = 15,
|
| | | /// <summary>
|
| | | /// 对象类:ModelPanelEnergyModeInfo
|
| | | /// </summary>
|
| | | A面板节能模式 = 16,
|
| | | /// <summary>
|
| | | /// 也叫背光灯 对象类:ModelPanelIndicatorLightInfo
|
| | | /// </summary>
|
| | | A面板指示灯 = 17
|
| | | }
|
| | |
|
| | | #endregion
|
| | | }
|
| | | using Shared.Phone.UserCenter; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | |
| | | namespace Shared.Phone |
| | | { |
| | | #region ■ 共通模板数据定义___________________ |
| | | |
| | | /// <summary> |
| | | /// 模板缓存数据 |
| | | /// </summary> |
| | | public class TemplateMemoryData |
| | | { |
| | | //★ テンプレートファイルに保存されたパラメーター ★ ↓ |
| | | /// <summary> |
| | | /// 模板的名字 |
| | | /// </summary> |
| | | public string TemplateName = string.Empty; |
| | | /// <summary> |
| | | /// 全部的设备配置缓存数据(主键是本地设备的主键) |
| | | /// </summary> |
| | | public Dictionary<string, List<TemplateDeviceDataCommon>> dicDeviceTemplateData = new Dictionary<string, List<TemplateDeviceDataCommon>>(); |
| | | /// <summary> |
| | | /// 网关对象数据 |
| | | /// </summary> |
| | | public Dictionary<string, ZigBee.Device.ZbGateway> dicGatewayInfo = new Dictionary<string, ZigBee.Device.ZbGateway>(); |
| | | /// <summary> |
| | | /// 设备对象数据(key:设备Mac) |
| | | /// </summary> |
| | | public Dictionary<string, List<ZigBee.Device.CommonDevice>> dicDeviceInfo = new Dictionary<string, List<ZigBee.Device.CommonDevice>>(); |
| | | /// <summary> |
| | | /// 模板中设备各自真实设备对应的房间(keys:设备Mac或者网关ID, value:房间ID) |
| | | /// </summary> |
| | | public Dictionary<string, string> dicDeviceTemplateRealRoom = new Dictionary<string, string>(); |
| | | //★ テンプレートに保存されたパラメーター ★ ↑ |
| | | |
| | | |
| | | /// <summary> |
| | | /// 临时缓存:模板中各自端点所处的房间(keys:设备主键 value:房间ID) 旨在针对设备来回选择模板的情况 |
| | | /// </summary> |
| | | public Dictionary<string, string> dicDeviceTemplateRoom = new Dictionary<string, string>(); |
| | | /// <summary> |
| | | /// 临时缓存:模板中各自端点所保存的内容(keys:模板中设备主键),设备选择模板时,模板数据迁移使用,因为是引用类型,所以需要重新New |
| | | /// </summary> |
| | | public Dictionary<string, List<TemplateDeviceContent>> dicDeviceFileContent = new Dictionary<string, List<TemplateDeviceContent>>(); |
| | | |
| | | |
| | | //★ 別のファイルに保存されたパラメーター ★ ↓ |
| | | /// <summary> |
| | | /// 设备选择的模板对象(keys:本地设备的Mac value:模板中的Mac) |
| | | /// </summary> |
| | | public Dictionary<string, string> dicDeviceTemplateSelect = new Dictionary<string, string>(); |
| | | /// <summary> |
| | | /// 网关对象选择的模板对象(keys:本地网关ID, value:模板中的网关ID) |
| | | /// </summary> |
| | | public Dictionary<string, string> dicGatewayTemplateSelect = new Dictionary<string, string>(); |
| | | //★ 別のファイルに保存されたパラメーター ★ ↑ |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 一个设备的模板数据的共通 |
| | | /// </summary> |
| | | public class TemplateDeviceDataCommon |
| | | { |
| | | /// <summary> |
| | | /// 设备Mac地址 |
| | | /// </summary> |
| | | public string DeviceMac = string.Empty; |
| | | /// <summary> |
| | | /// 设备端点 |
| | | /// </summary> |
| | | public int DeviceEpoint = -1; |
| | | /// <summary> |
| | | /// 发送需要的大概时间(秒) |
| | | /// </summary> |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public int SendTime { get { return this.GetSendTime(); } } |
| | | /// <summary> |
| | | /// 数据保存的区分(不需要再次设置) |
| | | /// </summary> |
| | | public ModelDeviceSaveEnum DataSaveDiv = ModelDeviceSaveEnum.A未定义; |
| | | /// <summary> |
| | | /// 接收的主题(考虑多条命令,正常都是1条命令) |
| | | /// </summary> |
| | | public List<string> ListReceiveTopic = new List<string>(); |
| | | /// <summary> |
| | | /// 接收的结果(考虑多条命令,正常都是1条命令) |
| | | /// </summary> |
| | | public List<string> ListReceiveResult = new List<string>(); |
| | | /// <summary> |
| | | /// 发送的主题(考虑多条命令,正常都是1条命令) |
| | | /// </summary> |
| | | public List<string> ListSendTopic = new List<string>(); |
| | | |
| | | /// <summary> |
| | | /// 获取更改设备配置的命令字符(考虑多条命令,正常都是1条命令) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public virtual List<string> GetSendGatewayValue() |
| | | { |
| | | return new List<string>(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 发送需要的大概时间(秒) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public virtual int GetSendTime() |
| | | { |
| | | return 0; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取失败时的Msg(log显示使用) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public virtual List<string> GetFailMsg() |
| | | { |
| | | return new List<string>(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 变更Mac缓存(在网关执行完成导入之后执行) |
| | | /// </summary> |
| | | public virtual void ChangedMacMemmory() |
| | | { |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 模板设备的版本信息 |
| | | /// </summary> |
| | | public class TemplateDeviceVersionInfo |
| | | { |
| | | //目前只有 版本变量 |
| | | /// <summary> |
| | | /// 当前版本 |
| | | /// </summary> |
| | | public int Version = -1; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 模板设备在文件中的内容 |
| | | /// </summary> |
| | | public class TemplateDeviceContent |
| | | { |
| | | /// <summary> |
| | | /// 保存区分 参照:ModelDeviceSaveEnum |
| | | /// </summary> |
| | | public ModelDeviceSaveEnum saveDiv = ModelDeviceSaveEnum.A未定义; |
| | | /// <summary> |
| | | /// 有点用处 |
| | | /// </summary> |
| | | public string DeviceMac = string.Empty; |
| | | /// <summary> |
| | | /// 文件中保存的内容 |
| | | /// </summary> |
| | | public string FileContent = string.Empty; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 可选模板的内容 |
| | | /// </summary> |
| | | public class TemplateCanSelectContent |
| | | { |
| | | /// <summary> |
| | | /// 设备Mac |
| | | /// </summary> |
| | | public string DeviceMac = string.Empty; |
| | | /// <summary> |
| | | /// 设备Mac名字 |
| | | /// </summary> |
| | | public string DeviceName = string.Empty; |
| | | /// <summary> |
| | | /// 该设备所在的房间 |
| | | /// </summary> |
| | | public string RoomName = string.Empty; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 本地模板的基本信息 |
| | | /// </summary> |
| | | public class LocalModelBaseInfo |
| | | { |
| | | /// <summary> |
| | | /// <para>保存数据的文件名字(不需要保存到文件夹中)</para> |
| | | /// <para>ModelData_Local_yyyyMMdd_HHmmss.bin -> 本地模板</para> |
| | | /// <para>ModelData_Cloud_yyyyMMdd_HHmmss.bin -> 本地模板</para> |
| | | /// </summary> |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public string FileName = string.Empty; |
| | | /// <summary> |
| | | /// 是否是本地模板 |
| | | /// </summary> |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public bool IsLocalTemplate |
| | | { |
| | | get { return FileName.StartsWith("ModelData_Local"); } |
| | | } |
| | | /// <summary> |
| | | /// 单元标题(这个目前是给查看模板使用的) |
| | | /// </summary> |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public List<string> ListUintName = new List<string>(); |
| | | /// <summary> |
| | | /// 单元名称(这个目前是给查看模板使用的) |
| | | /// </summary> |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public List<string> ListUintContent = new List<string>(); |
| | | /// <summary> |
| | | /// 当前住宅的地图位置名称 |
| | | /// </summary> |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public string ResidenceAddressName = string.Empty; |
| | | |
| | | /// <summary> |
| | | /// 模板名字 |
| | | /// </summary> |
| | | public string ModelName = string.Empty; |
| | | /// <summary> |
| | | /// 编辑时间 2020.01.04 19:55格式 |
| | | /// </summary> |
| | | public string EditorTime = string.Empty; |
| | | /// <summary> |
| | | /// 楼层数 |
| | | /// </summary> |
| | | public int FloorCount = 0; |
| | | /// <summary> |
| | | /// 设备数 |
| | | /// </summary> |
| | | public int DeviceCount = 0; |
| | | /// <summary> |
| | | /// 功能数 |
| | | /// </summary> |
| | | public int FunctionCount = 0; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 云端模板的基本信息 |
| | | /// </summary> |
| | | public class CloundModelBaseInfo |
| | | { |
| | | /// <summary> |
| | | /// 模板名字 |
| | | /// </summary> |
| | | public string TemplateName = string.Empty; |
| | | /// <summary> |
| | | /// 编辑时间 2020.01.04 19:55格式 |
| | | /// </summary> |
| | | public string CreateTime = string.Empty; |
| | | /// <summary> |
| | | /// 主键 |
| | | /// </summary> |
| | | public string Id = string.Empty; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 模板住宅的信息 |
| | | /// </summary> |
| | | public class TemplateHomeInfo |
| | | { |
| | | /// <summary> |
| | | /// 单元标题 |
| | | /// </summary> |
| | | public List<string> ListUintName = new List<string>(); |
| | | /// <summary> |
| | | /// 单元名称 |
| | | /// </summary> |
| | | public List<string> ListUintContent = new List<string>(); |
| | | /// <summary> |
| | | /// 当前住宅的地图位置名称 |
| | | /// </summary> |
| | | public string ResidenceAddressName = string.Empty; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 窗帘模板数据定义___________________ |
| | | |
| | | /// <summary> |
| | | /// 窗帘手拉控制模板定义 |
| | | /// </summary> |
| | | public class ModelCurtainHandPullControl : TemplateDeviceDataCommon |
| | | { |
| | | /// <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> |
| | | /// <returns></returns> |
| | | public override int GetSendTime() |
| | | { |
| | | //执行这个命令大约需要5秒 |
| | | return 5; |
| | | } |
| | | /// <summary> |
| | | /// 获取失败时的Msg(log显示使用) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override List<string> GetFailMsg() |
| | | { |
| | | //切换手拉控制失败 |
| | | return new List<string> { Language.StringByID(R.MyInternationalizationString.uChangeHandPullControlFail) }; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 窗帘限位模板定义 |
| | | /// </summary> |
| | | public class ModelCurtainDirectionAndLimite : TemplateDeviceDataCommon |
| | | { |
| | | /// <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 }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取发送命令大概需要的时间(秒) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override int GetSendTime() |
| | | { |
| | | //执行这个命令大约需要5秒 |
| | | return 5; |
| | | } |
| | | /// <summary> |
| | | /// 获取失败时的Msg(log显示使用) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override List<string> GetFailMsg() |
| | | { |
| | | //设置窗帘限位点失败 |
| | | return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetCurtainDirectionFail), |
| | | Language.StringByID(R.MyInternationalizationString.uCommitCurtainLimitFail) |
| | | }; |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 空调模板数据定义___________________ |
| | | |
| | | /// <summary> |
| | | /// 空调自定义模式模板数据定义 |
| | | /// </summary> |
| | | public class ModelAcModeSupport : TemplateDeviceDataCommon |
| | | { |
| | | /// <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> |
| | | /// <returns></returns> |
| | | public override int GetSendTime() |
| | | { |
| | | //执行这个命令大约需要5秒 |
| | | return 5; |
| | | } |
| | | /// <summary> |
| | | /// 获取失败时的Msg(log显示使用) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override List<string> GetFailMsg() |
| | | { |
| | | //设置空调模式失败 |
| | | return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetAcModeFail) }; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 空调摆风模式模板数据定义 |
| | | /// </summary> |
| | | public class ModelAcSwingModeSupport : TemplateDeviceDataCommon |
| | | { |
| | | /// <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> |
| | | /// <returns></returns> |
| | | public override int GetSendTime() |
| | | { |
| | | //执行这个命令大约需要5秒 |
| | | return 5; |
| | | } |
| | | /// <summary> |
| | | /// 获取失败时的Msg(log显示使用) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override List<string> GetFailMsg() |
| | | { |
| | | //设置空调摆风失败 |
| | | return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetAirConditionerSwingFunctionFail) }; |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 设备绑定模板数据定义_______________ |
| | | |
| | | /// <summary> |
| | | /// 设备绑定模板数据定义 |
| | | /// </summary> |
| | | public class ModelDeviceBindData : TemplateDeviceDataCommon |
| | | { |
| | | /// <summary> |
| | | /// 按键的功能模式 |
| | | /// </summary> |
| | | public ZigBee.Device.Panel.KeyMode keyMode = ZigBee.Device.Panel.KeyMode.Default; |
| | | /// <summary> |
| | | /// 按键的功能模式的镞ID |
| | | /// </summary> |
| | | public int keyModeClusterID = -1; |
| | | /// <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; |
| | | |
| | | //当前选择的模板对象 |
| | | var dicChangedMac = new Dictionary<string, string>(); |
| | | var dicNowSelect = HdlTemplateCommonLogic.Current.modelData.dicDeviceTemplateSelect; |
| | | foreach (var localMac in dicNowSelect.Keys) |
| | | { |
| | | dicChangedMac[dicNowSelect[localMac]] = localMac; |
| | | } |
| | | foreach (var data in BindList) |
| | | { |
| | | //场景 |
| | | if (data.BindType == 2) |
| | | { |
| | | var addData = new ZigBee.Device.BindObj.AddBindListObj(); |
| | | addBindData.BindList.Add(addData); |
| | | addData.BindCluster = data.BindCluster; |
| | | addData.BindScenesId = data.BindScenesId; |
| | | addData.BindType = 1; |
| | | } |
| | | //设备 |
| | | else |
| | | { |
| | | if (dicChangedMac.ContainsKey(data.BindMacAddr) == false) |
| | | { |
| | | //这个东西没有选择模板,则不执行 |
| | | continue; |
| | | } |
| | | var addData = new ZigBee.Device.BindObj.AddBindListObj(); |
| | | addBindData.BindList.Add(addData); |
| | | addData.BindCluster = data.BindCluster; |
| | | addData.BindEpoint = data.BindEpoint; |
| | | //替换mac |
| | | addData.BindMacAddr = dicChangedMac[data.BindMacAddr]; |
| | | addData.BindType = 0; |
| | | } |
| | | } |
| | | var listCommand = new List<string>(); |
| | | //清空绑定 |
| | | listCommand.Add(string.Empty); |
| | | //这个判断是为了针对一路调光器和三路继电器的那个第七回路 |
| | | if (this.ListReceiveResult.Count > 0 && string.IsNullOrEmpty(this.ListReceiveResult[0]) == false) |
| | | { |
| | | var jObject = new Newtonsoft.Json.Linq.JObject { { "DeviceAddr", this.DeviceMac }, { "Epoint", this.DeviceEpoint }, { "Cluster_ID", 0 }, { "Command", 5006 } }; |
| | | listCommand[0] = jObject.ToString(); |
| | | } |
| | | |
| | | //功能配置 |
| | | listCommand.Add(string.Empty); |
| | | if (keyModeClusterID != -1) |
| | | { |
| | | var command1 = HdlDeviceBindLogic.Current.GetConfigureHdlKeyCommandText(this.DeviceMac, this.DeviceEpoint, keyMode, keyModeClusterID); |
| | | listCommand[1] = command1; |
| | | } |
| | | |
| | | //绑定列表 |
| | | listCommand.Add(string.Empty); |
| | | if (addBindData.BindList.Count > 0) |
| | | { |
| | | var command2 = HdlDeviceBindLogic.Current.GetAddDeviceListBindCommandText(addBindData); |
| | | listCommand[2] = command2; |
| | | } |
| | | return listCommand; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取发送命令大概需要的时间(秒) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override int GetSendTime() |
| | | { |
| | | //执行这个命令大约需要15秒 |
| | | return 15; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取失败时的Msg(log显示使用) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override List<string> GetFailMsg() |
| | | { |
| | | //清空绑定列表失败 , 设备属性变更失败 , 绑定目标设置失败 |
| | | return new List<string> {"清空绑定列表失败" |
| | | ,Language.StringByID(R.MyInternationalizationString.uDeviceAttributeChangedFail) |
| | | ,Language.StringByID(R.MyInternationalizationString.uSetBindTargetsFail)}; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 变更绑定目标的Mac |
| | | /// </summary> |
| | | public override void ChangedMacMemmory() |
| | | { |
| | | //当前选择的模板对象 |
| | | var dicChangedMac = new Dictionary<string, string>(); |
| | | var dicNowSelect = HdlTemplateCommonLogic.Current.modelData.dicDeviceTemplateSelect; |
| | | foreach (var localMac in dicNowSelect.Keys) |
| | | { |
| | | dicChangedMac[dicNowSelect[localMac]] = localMac; |
| | | } |
| | | foreach (var data in BindList) |
| | | { |
| | | //设备 |
| | | if (data.BindType != 2) |
| | | { |
| | | if (dicChangedMac.ContainsKey(data.BindMacAddr) == false) |
| | | { |
| | | //这个东西没有选择模板,则不执行 |
| | | continue; |
| | | } |
| | | //替换mac |
| | | data.BindMacAddr = dicChangedMac[data.BindMacAddr]; |
| | | } |
| | | } |
| | | //变更缓存 |
| | | HdlTemplateCommonLogic.Current.SaveDeviceMemmoryData(this.DeviceMac, this.DeviceEpoint); |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ■ Pir传感器模板数据定义______________ |
| | | |
| | | /// <summary> |
| | | /// Pir传感器模板数据定义 |
| | | /// </summary> |
| | | public class ModelPirSensorSettion : TemplateDeviceDataCommon |
| | | { |
| | | /// <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 }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取发送命令大概需要的时间(秒) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override int GetSendTime() |
| | | { |
| | | //执行这个命令大约需要5秒 |
| | | return 5; |
| | | } |
| | | /// <summary> |
| | | /// 获取失败时的Msg(log显示使用) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override List<string> GetFailMsg() |
| | | { |
| | | //设置传感器配置信息失败 |
| | | return new List<string> {Language.StringByID(R.MyInternationalizationString.uSetPirSensorSettionFail)}; |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 面板模板数据定义___________________ |
| | | |
| | | /// <summary> |
| | | /// 面板震动功能模板数据定义 |
| | | /// </summary> |
| | | public class ModelPanelVibrationInfo : TemplateDeviceDataCommon |
| | | { |
| | | /// <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> |
| | | /// <returns></returns> |
| | | public override int GetSendTime() |
| | | { |
| | | //执行这个命令大约需要5秒 |
| | | return 5; |
| | | } |
| | | /// <summary> |
| | | /// 获取失败时的Msg(log显示使用) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override List<string> GetFailMsg() |
| | | { |
| | | //设置震动反馈配置信息失败 |
| | | return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetVibrationFeedbackSettionFail) }; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 面板亮度调节模板数据定义 |
| | | /// </summary> |
| | | public class ModelPanelBrightnessAdjustInfo : TemplateDeviceDataCommon |
| | | { |
| | | /// <summary> |
| | | /// 按键开状态(指示)亮度(这个是点击后的值,或者 1-6干接点的背光灯) |
| | | /// </summary> |
| | | public int panelDirectionsLevel = -1; |
| | | /// <summary> |
| | | /// 按键关状态(背光)亮度(这个是点击前的值,或者 第七干接点的背光灯) |
| | | /// </summary> |
| | | public int panelBacklightLevel = -1; |
| | | |
| | | /// <summary> |
| | | /// 获取更改设备配置的命令字符 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override List<string> GetSendGatewayValue() |
| | | { |
| | | //亮度调节 |
| | | var command1 = HdlDevicePanelLogic.Current.GetPanelLevelCommadText(DeviceMac, panelDirectionsLevel, panelBacklightLevel); |
| | | return new List<string>() { command1 }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取发送命令大概需要的时间(秒) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override int GetSendTime() |
| | | { |
| | | //执行这个命令大约需要8秒 |
| | | return 3; |
| | | } |
| | | /// <summary> |
| | | /// 获取失败时的Msg(log显示使用) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override List<string> GetFailMsg() |
| | | { |
| | | //设置亮度调节失败 |
| | | return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetLightRegulationFail) }; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 面板节能模式模板数据定义 |
| | | /// </summary> |
| | | public class ModelPanelEnergyModeInfo : TemplateDeviceDataCommon |
| | | { |
| | | /// <summary> |
| | | /// 节能模式 |
| | | /// </summary> |
| | | public ZigBee.Device.Panel.PanelSaveEnergyModeInfo energyModeInfo = new ZigBee.Device.Panel.PanelSaveEnergyModeInfo(); |
| | | /// <summary> |
| | | /// 获取更改设备配置的命令字符 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override List<string> GetSendGatewayValue() |
| | | { |
| | | //节能模式 |
| | | var command1 = HdlDevicePanelLogic.Current.GetDeviceEnergyConservationModeCommandText(DeviceMac, energyModeInfo.enable, energyModeInfo.time, energyModeInfo.level); |
| | | |
| | | return new List<string>() { command1 }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取发送命令大概需要的时间(秒) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override int GetSendTime() |
| | | { |
| | | //执行这个命令大约需要8秒 |
| | | return 3; |
| | | } |
| | | /// <summary> |
| | | /// 获取失败时的Msg(log显示使用) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override List<string> GetFailMsg() |
| | | { |
| | | //节能模式配置失败 |
| | | return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetEnergyConservationFail) }; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 面板指示灯模板数据定义(也叫背光灯) |
| | | /// </summary> |
| | | public class ModelPanelIndicatorLightInfo : TemplateDeviceDataCommon |
| | | { |
| | | /// <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.GetPanelColorCommandText(DeviceMac, keyColorData, KeyNum); |
| | | |
| | | return new List<string>() { command1 }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取发送命令大概需要的时间(秒) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override int GetSendTime() |
| | | { |
| | | //执行这个命令大约需要8秒 |
| | | return 3; |
| | | } |
| | | /// <summary> |
| | | /// 获取失败时的Msg(log显示使用) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override List<string> GetFailMsg() |
| | | { |
| | | //设置按键面板指示灯颜色失败 |
| | | return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetPanelPilolightSettionFail) }; |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 设备名称模板数据定义_______________ |
| | | |
| | | /// <summary> |
| | | /// 设备端点名称模板数据定义 |
| | | /// </summary> |
| | | public class ModelDeviceEpointNameInfo : TemplateDeviceDataCommon |
| | | { |
| | | /// <summary> |
| | | /// 设备端点名称 |
| | | /// </summary> |
| | | public string deviceEpointName = string.Empty; |
| | | /// <summary> |
| | | /// 获取更改设备配置的命令字符 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override List<string> GetSendGatewayValue() |
| | | { |
| | | var command = HdlDeviceCommonLogic.Current.GetReDeviceEpointNameCommandText(DeviceMac, DeviceEpoint, deviceEpointName); |
| | | return new List<string>() { command }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取发送命令大概需要的时间(秒) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override int GetSendTime() |
| | | { |
| | | //执行这个命令大约需要3秒 |
| | | return 3; |
| | | } |
| | | /// <summary> |
| | | /// 获取失败时的Msg(log显示使用) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override List<string> GetFailMsg() |
| | | { |
| | | //设备端点名称修改失败 |
| | | return new List<string> { "设备端点名称修改失败" }; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设备Mac名称模板数据定义 |
| | | /// </summary> |
| | | public class ModelDeviceMacNameInfo : TemplateDeviceDataCommon |
| | | { |
| | | /// <summary> |
| | | /// 设备Mac名称 |
| | | /// </summary> |
| | | public string deviceMacName = string.Empty; |
| | | /// <summary> |
| | | /// 获取更改设备配置的命令字符 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override List<string> GetSendGatewayValue() |
| | | { |
| | | var command = HdlDeviceCommonLogic.Current.GetReDeviceMacNameCommandText(DeviceMac, DeviceEpoint, deviceMacName); |
| | | return new List<string>() { command }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取发送命令大概需要的时间(秒) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override int GetSendTime() |
| | | { |
| | | //执行这个命令大约需要3秒 |
| | | return 3; |
| | | } |
| | | /// <summary> |
| | | /// 获取失败时的Msg(log显示使用) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public override List<string> GetFailMsg() |
| | | { |
| | | //设备名称修改失败 |
| | | return new List<string> { Language.StringByID(R.MyInternationalizationString.uDeviceReNameFail) }; |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 自定义枚举_________________________ |
| | | |
| | | /// <summary> |
| | | /// 模板设备保存的区分 |
| | | /// </summary> |
| | | public enum ModelDeviceSaveEnum |
| | | { |
| | | A未定义 = -1, |
| | | /// <summary> |
| | | /// 对象类:ModelDeviceMacNameInfo |
| | | /// </summary> |
| | | A设备名称 = 1, |
| | | /// <summary> |
| | | /// 对象类:ModelDeviceEpointNameInfo |
| | | /// </summary> |
| | | A端点名称 = 2, |
| | | /// <summary> |
| | | /// 对象类:ModelPirSensorSettion |
| | | /// </summary> |
| | | APir配置 = 3, |
| | | /// <summary> |
| | | /// 对象类:ModelCurtainDirectionAndLimite |
| | | /// </summary> |
| | | A窗帘方向及限位 = 8, |
| | | /// <summary> |
| | | /// 对象类:ModelCurtainHandPullControl |
| | | /// </summary> |
| | | A窗帘手拉控制 = 9, |
| | | /// <summary> |
| | | /// 对象类:ModelAcModeSupport |
| | | /// </summary> |
| | | A空调自定义模式 = 10, |
| | | /// <summary> |
| | | /// 对象类:ModelPanelVibrationInfo |
| | | /// </summary> |
| | | A面板震动功能 = 11, |
| | | /// <summary> |
| | | /// 对象类:ModelAcSwingModeSupport |
| | | /// </summary> |
| | | A空调摆风功能 = 12, |
| | | /// <summary> |
| | | /// 对象类:ModelDeviceBindData |
| | | /// </summary> |
| | | A设备绑定列表 = 14, |
| | | /// <summary> |
| | | /// 对象类:ModelPanelBrightnessAdjustInfo |
| | | /// </summary> |
| | | A面板亮度调节 = 15, |
| | | /// <summary> |
| | | /// 对象类:ModelPanelEnergyModeInfo |
| | | /// </summary> |
| | | A面板节能模式 = 16, |
| | | /// <summary> |
| | | /// 也叫背光灯 对象类:ModelPanelIndicatorLightInfo |
| | | /// </summary> |
| | | A面板指示灯 = 17 |
| | | } |
| | | |
| | | #endregion |
| | | } |