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 AddedDeviceSingleBindResponseAllData : ErrorResponCommon
{
///
/// 网关直接反馈绑定设备信息
///
public AddedDeviceSingleBindResponseData addedDeviceSingleBindResponseData;
}
[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 AddedDeviceSingleBindResponseData
{
///
/// 控制设备节点的mac地址
///
public string DeviceAddr;
///
/// 控制设备节点的端口号
///
public int Epoint;
///
///绑定名称
///
public string BindName;
///
/// 0:成功,针对场景和跨网关绑定
///1:失败,节点设备或场景不存在。
///2:同网关设备绑定,等待控制源设备写入反馈结果;以下面主题结果为准
///
public int Result = -1;
///
/// 绑定类型
///0:绑定设备
///1:绑定场景
///
public int BindType;
///
///绑定的cluster数组
///
public List BindClusterList = new List();
///
/// 绑定设备Mac地址, 当BindType=0时存在
///
public string BindMacAddr;
///
/// 绑定设备的端口号,当BindType=0时存在
///
public int BindEpoint;
///
/// 绑定场景,当BindType=2时存在
///
public int BindScenesId;
///
///绑定的设备或场景的名称
///
public string ESName;
}
///
/// 绑定列表的信息
///
[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;
}
///
/// 单个设备的数据
///
[System.Serializable]
public class AddSingleBindData
{
///
/// 控制设备节点的mac地址
///
public string DeviceAddr;
///
/// 错误信息
///
public int Epoint;
///
///绑定名称,不修改名称时忽略该选项
///
public string BindName;
///
/// 绑定类型
///0:绑定设备
///1:绑定场景
///
public int BindType;
///
///绑定的clusters数组,需要控制设备的OutCluster列表中存在该cluster。如绑定某个设备的on/off,为6。如绑定场景,填族Id为6
///
public List BindClusterList = new List();
///
/// 绑定设备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 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
}
}