using System; using System.Collections.Generic; using Newtonsoft.Json.Linq; namespace ZigBee.Device { [System.Serializable] public class BindObj : CommonDevice { #region 设备绑定 [System.Serializable] public class AddedDeviceBindResponseAllData : ErrorResponCommon { /// /// 网关直接反馈绑定设备信息 /// public AddedDeviceBindResponseData addedDeviceBindResponseData; } [System.Serializable] public class AddedDeviceBindResponseData { /// ///绑定名称 /// public string BindName; /// ///绑定列表 ,当Status=0时存在 /// public List BindList = new List(); /// /// 0:绑定所有目标成功 ///1:绑定目标失败,绑定设备目标有漏掉 /// public int Result = -1; } /// /// 绑定列表的信息 /// [System.Serializable] public class AddBindListResponseObj : BindListResponseObj { /// /// 0:加入成功(该状态只适用用于跨网关绑定和绑定场景。同网关设备间的绑定需要节点设备的确认成功信息,不会直接反馈成功。) ///1:失败,节点设备或场景不存在。 ///2:未知,由节点设备反馈发送“Bind/BindResult”主题消息确定是否成功。 ///3:绑定已经存在。 /// public int Result; } /// /// 按键设备的确认的信息 /// [System.Serializable] public class AddBindResultResponseData { /// ///绑定结果 ///0:成功 ///140:失败,控制设备的绑定列表已满 ///其他:失败 /// public int Result; /// /// 绑定的cluster /// public int BindCluster; /// /// 绑定设备Mac地址, 当BindType=0时存在 /// public string BindMacAddr; /// /// 绑定设备的端口号,当BindType=0时存在 /// public int BindEpoint; /// /// 绑定场景,当BindType=2时存在 /// public int BindScenesId; /// /// 绑定设备的名称 /// public string DeviceName; } /// /// 绑定设备的数据 /// [System.Serializable] public class AddBindData { /// /// 控制设备节点的mac地址 /// public string DeviceAddr; /// /// 错误信息 /// public int Epoint; /// ///绑定名称,不修改名称时忽略该选项 /// public string BindName; /// ///绑定列表,不修改绑定列表时忽略该选项。 /// public List BindList = new List(); } /// /// 控制设备绑定的信息 /// [System.Serializable] public class AddBindListObj { /// /// 绑定类型 ///0:绑定设备 ///1:绑定场景 /// public int BindType; /// /// 绑定的cluster,需要控制设备的OutCluster列表中存在该cluster。 ///如绑定某个设备的on/off,为6。 /// public int BindCluster; /// /// 绑定设备Mac地址, 当BindType=0时存在 /// public string BindMacAddr; /// /// 绑定设备的端口号,当BindType=0时存在 /// public int BindEpoint; /// /// 绑定场景,当BindType=1时存在 /// public int BindScenesId; } #endregion #region 解除绑定 /// ///解除绑定数据,网关反馈信息 /// [System.Serializable] public class DelDeviceBindResponseAllData : ErrorResponCommon { /// /// 解除绑定数据信息 /// public DelDeviceBindResponseData delDeviceBindResponseData; /// /// 解除绑定按键确认数据信息 /// public RemoveBindResultResponseData removeBindResultResponseData; } /// /// 解除绑定数据 /// [System.Serializable] public class DelDeviceBindResponseData { /// ///绑定列表 ,当Status=0时存在 /// public List RemoveBindList = new List(); } /// /// 移除设备绑定的信息 /// [System.Serializable] public class RemoveBindListResponseObj : BindListResponseObj { /// /// 0:移除成功(该状态只适用用于跨网关绑定、绑定场景、失效设备(设备已经从网关的设备列表中删除)。同网关设备间的解除绑定需要节点设备的确认成功信息,不会直接反馈成功。) ///1:失败,设备不在绑定列表中 ///3:失败,在等待节点设备确认是否解除绑定成功(当网关还在等待某节点设备确认是否解除绑定成功的反馈信息时,客户端再次发送解除绑定该节点设备的指令,将反馈该状态。) ///2:未知,由节点设备反馈发送“Bind/RemoveBindResult”主题消息确定是否成功。 /// public int Result; } /// /// 移除设备绑定按键确认的信息 /// [System.Serializable] public class RemoveBindResultResponseData { /// ///绑定结果 ///0:成功 ///136:控制设备本地绑定列表中无此绑定 ///其他:失败 /// public int Result; /// /// 绑定设备Mac地址 /// public string BindMacAddr; /// /// 绑定设备的端口号 /// public int BindEpoint; /// /// 绑定的cluster /// public int BindCluster; /// /// 绑定设备名称 /// public string DeviceName; } /// /// 解除绑定数据 /// [System.Serializable] public class DelDeviceBindData { /// /// 控制设备节点的mac地址 /// public string DeviceAddr; /// /// 错误信息 /// public int Epoint; /// ///绑定列表 ,当Status=0时存在 /// public List RemoveBindList = new List(); } /// /// 移除设备绑定的信息 /// [System.Serializable] public class RemoveBindListObj { /// /// 绑定类型 ///0:移除设备 ///1:移除场景 /// public int BindType; /// /// 绑定的cluster /// public int BindCluster; /// /// 绑定设备Mac地址, 当BindType=0时存在 /// public string BindMacAddr; /// /// 绑定设备的端口号,当BindType=0时存在 /// public int BindEpoint; /// /// 绑定场景,当BindType=1时存在 /// public int BindScenesId; } #endregion #region (从网关中)获取所有绑定 /// ///获取所有绑定数据,网关反馈信息 /// [System.Serializable] public class GetDeviceBindResponseAllData : ErrorResponCommon { /// /// 控制设备绑定的设备列表回复数据 /// public GetDeviceBindResponseData getAllBindResponseData; } /// /// 获取所有绑定回复的数据 /// [System.Serializable] public class GetDeviceBindResponseData { /// /// 0:成功 ///1:绑定不存在 /// public int Result; /// /// 绑定列表 ,当Status=0时存在。 /// public List BindList = new List(); } /// /// 获取所有绑定的信息 /// public class BindListResponseObj { /// /// 绑定类型 ///0:同网关设备 ///1:跨网关设备间 ///2:场景 /// public int BindType; /// /// 绑定的cluster /// public int BindCluster; /// /// 绑定设备Mac地址, 当BindType=0时存在 /// public string BindMacAddr; /// /// 绑定设备的端口号,当BindType=0时存在 /// public int BindEpoint; /// /// 绑定场景,当BindType=1时存在 /// public int BindScenesId; /// /// 绑定的设备或场景名称 /// public string ESName; } /// /// 获取所有绑定的信息 /// public class BindListAllInfo { /// /// 控制源设备Mac地址 /// public string KeyMacAddr; /// /// 控制源设备的端口号 /// public int KeyEpoint; /// /// 绑定类型 ///0:同网关设备 ///1:跨网关设备间 ///2:场景 /// public int BindType; /// /// 绑定的cluster /// public int BindCluster; /// /// 绑定设备Mac地址, 当BindType=0时存在 /// public string BindMacAddr; /// /// 绑定设备的端口号,当BindType=0时存在 /// public int BindEpoint; /// /// 绑定场景,当BindType=1时存在 /// public int BindScenesId; /// /// 绑定的设备或场景名称 /// public string ESName; } /// /// 获取面板绑定回复的数据【通过mac获取的回复] /// [System.Serializable] public class GetPanelBindResponseDataByMac { /// /// 0:成功 ///1:绑定不存在 /// public int Result; /// /// MaxNumItems /// public int MaxNumItems; /// /// StartIndex /// public int StartIndex; /// /// ReturnBindNum /// public int ReturnBindNum; /// /// 绑定列表 ,当Status=0时存在。 /// public List BindList = new List(); } /// /// 获取面板绑定回复的数据【通过mac获取的回复] /// public class BindDeviceByMacObj { /// /// ControllerEpoint /// public int ControllerEpoint; /// /// 绑定的cluster /// public int BindCluster; /// /// 绑定设备Mac地址, 当BindType=0时存在 /// public string BindMacAddr; /// /// 绑定设备的端口号,当BindType=0时存在 /// public int BindEpoint; /// /// BindMode /// public int BindMode; } #endregion #region 从节点设备本地记录读取绑定列表信息 /// ///从节点设备本地记录读取绑定列表信息回复的数据,网关反馈信息 /// [System.Serializable] public class GetDeviceLocalBindResponseAllData : ErrorResponCommon { /// /// 从节点设备本地记录读取绑定列表信息回复的数据 /// public GetDeviceLocalBindResponseData getDeviceLocalBindResponseData; } /// /// 从节点设备本地记录读取绑定列表信息回复的数据 /// [System.Serializable] public class GetDeviceLocalBindResponseData { /// /// 0:成功 ///181:失败 /// public int Result; /// /// 该设备一共有多少个绑定列表 /// public int MaxNumItems; /// ///开始索引号 /// public int StartIndex; /// /// 该次读取返回绑定列表个数 /// public int ReturnBindNum; /// /// 绑定列表,当Result=0时存在 /// public List BindList = new List(); } /// /// 从节点设备本地记录读取绑定列表的信息 /// public class BindDeviceLocalListResponseObj { /// /// 绑定类型 ///0x01:绑定组(暂没用到组绑定,可忽略) ///0x03:绑定设备 /// public int BindMode; /// /// 控制设备的端口号 /// public int ControllerEpoint; /// /// 绑定的cluster /// public int BindCluster; /// /// 绑定的组(暂没用到组绑定,可忽略)。当BindMode为1时存在 /// public int GroupId; /// /// 绑定设备Mac地址, 当BindMode为3时存在 /// public string BindMacAddr; /// /// 绑定设备的端口号,当BindMode 为3时存在 /// public int BindEpoint; } #endregion #region 删除一个控制设备所有绑定信息 /// ///删除一个控制设备所有绑定数据,网关反馈信息 /// [System.Serializable] public class ClearBindInfoResponseAllData : ErrorResponCommon { /// /// 控制设备绑定的设备列表回复数据 /// public ClearBindInfoResponseData clearBindInfoResponseData; } /// /// 删除一个控制设备所有绑定信息回复的数据 /// [System.Serializable] public class ClearBindInfoResponseData { /// /// 0:成功 ///1:绑定信息不存在 /// public int Result; } #endregion } }