package com.hdl.sdk.link.zigbee.bean; 
 | 
  
 | 
import androidx.annotation.NonNull; 
 | 
import java.io.Serializable; 
 | 
import java.util.ArrayList; 
 | 
import java.util.List; 
 | 
  
 | 
/** 
 | 
 * Created by jlchen on 12/29/21. 
 | 
 * 搜索ZigBee设备回路回复 
 | 
 */ 
 | 
public class ZBDeviceBean implements Serializable { 
 | 
    /// <summary> 
 | 
    /// 实际的设备id 
 | 
    /// <para>258:color dimmable light,调关灯 </para> 
 | 
    /// <para>10:Door lock,门锁</para> 
 | 
    /// <para>514:Window covering device,窗帘</para> 
 | 
    /// <para>515:Window covering controller,窗帘控制器</para> 
 | 
    /// <para>769:Thermostat,恒温面板/空调</para> 
 | 
    /// <para>770:Temperature Sensor,温度传感器</para> 
 | 
    /// <para>775:Temperature Sensor,湿度传感器</para> 
 | 
    /// <para>262:Light sensor,光照传感器</para> 
 | 
    /// <para>1026:sensor,传感器,具体类型的传感器DeviceType来区分</para> 
 | 
    /// </summary> 
 | 
    private int Device_ID; 
 | 
    /// MAC地址 
 | 
    private String DeviceAddr; 
 | 
    //设备端口号 
 | 
    //和mac地址共同标识唯一的zigbee设备 
 | 
    //数值范围0-255 
 | 
    //如果无设备该字段不存在 
 | 
    private int Epoint; 
 | 
    //返回入网设备信息 
 | 
    private int Data_ID; 
 | 
    //设备详细信息 
 | 
    private ZBDataBean Data; 
 | 
    //自定义添加字段 可能是oid,可能是网关Id,可能是mac 
 | 
    private String gatewayMac; 
 | 
  
 | 
    /** 
 | 
     * 模板匹配标记 wxr 自定义 2022-02-23 16:09:44 
 | 
     */ 
 | 
    private boolean templateSettingFlag = false; 
 | 
    public boolean isTemplateSettingFlag() { 
 | 
        return templateSettingFlag; 
 | 
    } 
 | 
  
 | 
    public void setTemplateSettingFlag(boolean templateSettingFlag) { 
 | 
        this.templateSettingFlag = templateSettingFlag; 
 | 
    } 
 | 
    private String templateAddr ; 
 | 
  
 | 
    private String linkSid; 
 | 
    private String linkSpk; 
 | 
    private String linkOid; 
 | 
    private String linkName; 
 | 
  
 | 
    public ZBDeviceBean() { 
 | 
    } 
 | 
  
 | 
    public ZBDeviceBean(String linkSid, String linkSpk, String linkOid, String linkName) { 
 | 
        this.linkSid = linkSid; 
 | 
        this.linkSpk = linkSpk; 
 | 
        this.linkOid = linkOid; 
 | 
        this.linkName = linkName; 
 | 
    } 
 | 
  
 | 
    public String getLinkSid() { 
 | 
        return linkSid == null ? "" : linkSid; 
 | 
    } 
 | 
  
 | 
    public void setLinkSid(@NonNull String linkSid) { 
 | 
        this.linkSid = linkSid; 
 | 
    } 
 | 
  
 | 
    public String getLinkSpk() { 
 | 
        return linkSpk == null ? "" : linkSpk; 
 | 
    } 
 | 
  
 | 
    public void setLinkSpk(@NonNull String linkSpk) { 
 | 
        this.linkSpk = linkSpk; 
 | 
    } 
 | 
  
 | 
    public String getLinkOid() { 
 | 
        return linkOid == null ? "" : linkOid; 
 | 
    } 
 | 
  
 | 
    public void setLinkOid(@NonNull String linkOid) { 
 | 
        this.linkOid = linkOid; 
 | 
    } 
 | 
  
 | 
    public String getLinkName() { 
 | 
        return linkName == null ? "" : linkName; 
 | 
    } 
 | 
  
 | 
    public void setLinkName(@NonNull String linkName) { 
 | 
        this.linkName = linkName; 
 | 
    } 
 | 
  
 | 
    public String getTemplateAddr() { 
 | 
        return templateAddr == null ? "" : templateAddr; 
 | 
    } 
 | 
  
 | 
    public void setTemplateAddr(String templateAddr) { 
 | 
        this.templateAddr = templateAddr; 
 | 
    } 
 | 
  
 | 
    @NonNull 
 | 
    public String getGatewayMac() { 
 | 
        return gatewayMac == null ? "" : gatewayMac; 
 | 
    } 
 | 
  
 | 
    public void setGatewayMac(@NonNull String gatewayMac) { 
 | 
        this.gatewayMac = gatewayMac; 
 | 
    } 
 | 
  
 | 
    public int getDevice_ID() { 
 | 
        return Device_ID; 
 | 
    } 
 | 
  
 | 
    public void setDevice_ID(int Device_ID) { 
 | 
        this.Device_ID = Device_ID; 
 | 
    } 
 | 
  
 | 
    @NonNull 
 | 
    public String getDeviceAddr() { 
 | 
        return DeviceAddr == null ? "" : DeviceAddr; 
 | 
    } 
 | 
  
 | 
    public void setDeviceAddr(@NonNull String DeviceAddr) { 
 | 
        this.DeviceAddr = DeviceAddr; 
 | 
    } 
 | 
  
 | 
    public int getEpoint() { 
 | 
        return Epoint; 
 | 
    } 
 | 
  
 | 
    public void setEpoint(int Epoint) { 
 | 
        this.Epoint = Epoint; 
 | 
    } 
 | 
  
 | 
    public int getData_ID() { 
 | 
        return Data_ID; 
 | 
    } 
 | 
  
 | 
    public void setData_ID(int Data_ID) { 
 | 
        this.Data_ID = Data_ID; 
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
    public ZBDataBean getData() { 
 | 
        if(Data == null){ 
 | 
            Data = new ZBDataBean(); 
 | 
        } 
 | 
        return Data; 
 | 
    } 
 | 
  
 | 
    public void setData(ZBDataBean Data) { 
 | 
        this.Data = Data; 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 设备详细信息 
 | 
     */ 
 | 
    public static class ZBDataBean implements Serializable{ 
 | 
        private int TotalNum;//入网设备总数。等于0时,表示没有设备信息,下面字段将不存在。 
 | 
        private int DeviceNum;//标识当前设备是发送的是第几个设备。DeviceNum从1开始每发送一个设备信息,下一个设备信息的DeviceNum将加1。直到DeviceNum等于TotalNum说明所有设备信息发送完毕 
 | 
        private int JoinTime;//入网的utc时间戳 
 | 
        private int ZigbeeType;//1:路由器设备 2:终端设备,电池设备 
 | 
        private int NwkAddr;//设备网络地址 
 | 
        private int DeviceType;//该字段主要针对IAS安防设备设立。所有IAS安防设备共用一个DeviceID为1026。所以要区分子设备类型,需要该字段。 
 | 
        //用于判断设备的zigbee协议版本。49246:ZLL1.0标准设备。260: ZHA1.2标准设备、 Z3.0标准设备。 
 | 
        // 41440:ZGP3.0标准设备。265:ZSE1.4标准设备。 
 | 
        private int Profile; 
 | 
        //设备mac名称 
 | 
        private String MacName; 
 | 
        //设备名 
 | 
        private String DeviceName; 
 | 
        //0:设备不在线 1:设备在线 
 | 
        private int IsOnline; 
 | 
        //输入簇列表 
 | 
        //端点回路自身拥有多少功能,可以被控制;被控功能 
 | 
        //参考zigbee联盟文档 
 | 
        private List<InClusterListBean> InClusterList; 
 | 
        //输出簇列表 
 | 
        //端点回路可以控制其他设备多少功能;控制功能 
 | 
        //参考zigbee联盟文档 
 | 
        private List<OutClusterListBean> OutClusterList; 
 | 
        //用于记录设备最新上报的属性状态信息。最大支持记录16个属性状态,且只记录属性值长度不大于4字节的数据。 
 | 
        private List<AttributeStatusBean> AttributeStatus; 
 | 
        //当前运行程序版本信息 
 | 
        private int ImgVersion; 
 | 
        //当前镜像类型id 
 | 
        private int ImgTypeId; 
 | 
        //硬件版本 
 | 
        private int HwVersion; 
 | 
        //驱动代码。为0时,表示zigbee协调器设备。其他值表示为虚拟驱动设备 
 | 
        private int DriveCode; 
 | 
        //设备所在网关的网关id 
 | 
        private String GwId; 
 | 
        //所有指定cluster是否都已经成功绑定协调器 
 | 
        //0:未完全绑定 
 | 
        //1:已经绑定 
 | 
        private int ClusterBindZbSuccess; 
 | 
        //是否获取所有默认绑定信息 
 | 
        //0:否 
 | 
        //1:是 
 | 
        private int IsGetAllDefaultBind; 
 | 
        //制造商名字 
 | 
        private String ManufacturerName; 
 | 
        //设备型号 
 | 
        private String ModelIdentifier; 
 | 
        //产品码 序列号 
 | 
        private String ProductCode; 
 | 
        //用来表示实际回路用于什么功能,可扩展 
 | 
        //0-继电器接普通开关 
 | 
        //1-继电器接灯光 
 | 
        //插座 
 | 
        private String FunctionType; 
 | 
  
 | 
        public int getTotalNum() { 
 | 
            return TotalNum; 
 | 
        } 
 | 
  
 | 
        public void setTotalNum(int TotalNum) { 
 | 
            this.TotalNum = TotalNum; 
 | 
        } 
 | 
  
 | 
        public int getDeviceNum() { 
 | 
            return DeviceNum; 
 | 
        } 
 | 
  
 | 
        public void setDeviceNum(int DeviceNum) { 
 | 
            this.DeviceNum = DeviceNum; 
 | 
        } 
 | 
  
 | 
        public int getJoinTime() { 
 | 
            return JoinTime; 
 | 
        } 
 | 
  
 | 
        public void setJoinTime(int JoinTime) { 
 | 
            this.JoinTime = JoinTime; 
 | 
        } 
 | 
  
 | 
        public int getZigbeeType() { 
 | 
            return ZigbeeType; 
 | 
        } 
 | 
  
 | 
        public void setZigbeeType(int ZigbeeType) { 
 | 
            this.ZigbeeType = ZigbeeType; 
 | 
        } 
 | 
  
 | 
        public int getNwkAddr() { 
 | 
            return NwkAddr; 
 | 
        } 
 | 
  
 | 
        public void setNwkAddr(int NwkAddr) { 
 | 
            this.NwkAddr = NwkAddr; 
 | 
        } 
 | 
  
 | 
        public int getDeviceType() { 
 | 
            return DeviceType; 
 | 
        } 
 | 
  
 | 
        public void setDeviceType(int DeviceType) { 
 | 
            this.DeviceType = DeviceType; 
 | 
        } 
 | 
  
 | 
        public int getProfile() { 
 | 
            return Profile; 
 | 
        } 
 | 
  
 | 
        public void setProfile(int Profile) { 
 | 
            this.Profile = Profile; 
 | 
        } 
 | 
  
 | 
        @NonNull 
 | 
        public String getMacName() { 
 | 
            return MacName == null ? "" : MacName; 
 | 
        } 
 | 
  
 | 
        public void setMacName(@NonNull String MacName) { 
 | 
            this.MacName = MacName; 
 | 
        } 
 | 
  
 | 
        @NonNull 
 | 
        public String getDeviceName() { 
 | 
            return DeviceName == null ? "" : DeviceName; 
 | 
        } 
 | 
  
 | 
        public void setDeviceName(@NonNull String DeviceName) { 
 | 
            this.DeviceName = DeviceName; 
 | 
        } 
 | 
  
 | 
        public int getIsOnline() { 
 | 
            return IsOnline; 
 | 
        } 
 | 
  
 | 
        public void setIsOnline(int IsOnline) { 
 | 
            this.IsOnline = IsOnline; 
 | 
        } 
 | 
  
 | 
        @NonNull 
 | 
        public List<InClusterListBean> getInClusterList() { 
 | 
            if (InClusterList == null) { 
 | 
                return new ArrayList<>(); 
 | 
            } 
 | 
            return InClusterList; 
 | 
        } 
 | 
  
 | 
        public void setInClusterList(@NonNull List<InClusterListBean> InClusterList) { 
 | 
            this.InClusterList = InClusterList; 
 | 
        } 
 | 
  
 | 
        @NonNull 
 | 
        public List<OutClusterListBean> getOutClusterList() { 
 | 
            if (OutClusterList == null) { 
 | 
                return new ArrayList<>(); 
 | 
            } 
 | 
            return OutClusterList; 
 | 
        } 
 | 
  
 | 
        public void setOutClusterList(@NonNull List<OutClusterListBean> OutClusterList) { 
 | 
            this.OutClusterList = OutClusterList; 
 | 
        } 
 | 
  
 | 
        @NonNull 
 | 
        public List<AttributeStatusBean> getAttributeStatus() { 
 | 
            if (AttributeStatus == null) { 
 | 
                return new ArrayList<>(); 
 | 
            } 
 | 
            return AttributeStatus; 
 | 
        } 
 | 
  
 | 
        public void setAttributeStatus(@NonNull List<AttributeStatusBean> AttributeStatus) { 
 | 
            this.AttributeStatus = AttributeStatus; 
 | 
        } 
 | 
  
 | 
        public int getImgVersion() { 
 | 
            return ImgVersion; 
 | 
        } 
 | 
  
 | 
        public void setImgVersion(int ImgVersion) { 
 | 
            this.ImgVersion = ImgVersion; 
 | 
        } 
 | 
  
 | 
        public int getImgTypeId() { 
 | 
            return ImgTypeId; 
 | 
        } 
 | 
  
 | 
        public void setImgTypeId(int ImgTypeId) { 
 | 
            this.ImgTypeId = ImgTypeId; 
 | 
        } 
 | 
  
 | 
        public int getHwVersion() { 
 | 
            return HwVersion; 
 | 
        } 
 | 
  
 | 
        public void setHwVersion(int HwVersion) { 
 | 
            this.HwVersion = HwVersion; 
 | 
        } 
 | 
  
 | 
        public int getDriveCode() { 
 | 
            return DriveCode; 
 | 
        } 
 | 
  
 | 
        public void setDriveCode(int DriveCode) { 
 | 
            this.DriveCode = DriveCode; 
 | 
        } 
 | 
  
 | 
        @NonNull 
 | 
        public String getGwId() { 
 | 
            return GwId == null ? "" : GwId; 
 | 
        } 
 | 
  
 | 
        public void setGwId(@NonNull String GwId) { 
 | 
            this.GwId = GwId; 
 | 
        } 
 | 
  
 | 
        public int getClusterBindZbSuccess() { 
 | 
            return ClusterBindZbSuccess; 
 | 
        } 
 | 
  
 | 
        public void setClusterBindZbSuccess(int ClusterBindZbSuccess) { 
 | 
            this.ClusterBindZbSuccess = ClusterBindZbSuccess; 
 | 
        } 
 | 
  
 | 
        public int getIsGetAllDefaultBind() { 
 | 
            return IsGetAllDefaultBind; 
 | 
        } 
 | 
  
 | 
        public void setIsGetAllDefaultBind(int IsGetAllDefaultBind) { 
 | 
            this.IsGetAllDefaultBind = IsGetAllDefaultBind; 
 | 
        } 
 | 
  
 | 
        @NonNull 
 | 
        public String getManufacturerName() { 
 | 
            return ManufacturerName == null ? "" : ManufacturerName; 
 | 
        } 
 | 
  
 | 
        public void setManufacturerName(@NonNull String ManufacturerName) { 
 | 
            this.ManufacturerName = ManufacturerName; 
 | 
        } 
 | 
  
 | 
        @NonNull 
 | 
        public String getModelIdentifier() { 
 | 
            return ModelIdentifier == null ? "" : ModelIdentifier; 
 | 
        } 
 | 
  
 | 
        public void setModelIdentifier(@NonNull String ModelIdentifier) { 
 | 
            this.ModelIdentifier = ModelIdentifier; 
 | 
        } 
 | 
  
 | 
        @NonNull 
 | 
        public String getProductCode() { 
 | 
            return ProductCode == null ? "" : ProductCode; 
 | 
        } 
 | 
  
 | 
        public void setProductCode(@NonNull String ProductCode) { 
 | 
            this.ProductCode = ProductCode; 
 | 
        } 
 | 
  
 | 
        public String getFunctionType() { 
 | 
            return FunctionType; 
 | 
        } 
 | 
  
 | 
        public void setFunctionType(String FunctionType) { 
 | 
            this.FunctionType = FunctionType; 
 | 
        } 
 | 
  
 | 
        /** 
 | 
         * 输入簇 
 | 
         */ 
 | 
        public static class InClusterListBean implements Serializable{ 
 | 
            /// <summary> 
 | 
            /// 设备支持的输入功能 
 | 
            /// <para>0:Basic,设备支持“基础属性” </para> 
 | 
            /// <para>3:Identify,设备支持“识别功能”</para> 
 | 
            /// <para>4:Groups,设备支持“组功能”</para> 
 | 
            /// <para>5:Scenes,设备支持“场景功能”</para> 
 | 
            /// <para>6:on/off,设备支持“开关功能”</para> 
 | 
            /// 开关功能的设备如:调关灯/继电器/窗帘等。。。 
 | 
            /// <para>8:Level Control,设备支持“亮度调节功能”</para> 
 | 
            /// 亮度调节功能的设备如:调关灯。。。 
 | 
            /// <para>257:Door Lock,设备支持“门锁功能”</para> 
 | 
            /// 门锁功能的设备如:门锁。。。 
 | 
            ///  <para>258:Window Covering,设备支持“窗帘控制功能”</para> 
 | 
            /// 窗帘控制功能的设备如:窗帘/开合帘/卷帘。。。 
 | 
            /// <para>513:Thermostat,设备支持“恒温器功能”</para> 
 | 
            /// 恒温器功能的设备如:空调。。。 
 | 
            /// <para>768:Color Control,设备支持“颜色调节功能”</para> 
 | 
            /// 颜色调节功能的设备如:调光灯。。。 
 | 
            /// <para>1026:Temperature Measurement,设备支持“温度测量功能”</para> 
 | 
            /// 温度测量功能的设备如:温度传感器。。。 
 | 
            /// <para>1029:Relative Humidity Measurement,设备支持“湿度测量功能”</para> 
 | 
            /// 湿度测量功能的设备如:湿度传感器。。。 
 | 
            /// <para>1066:Pm2.5  Measurement,设备支持“pm2.5测量功能”</para> 
 | 
            /// Pm2.5测量功能的设备如:Pm2.5传感器。。。 
 | 
            /// </summary> 
 | 
            private int InCluster; 
 | 
  
 | 
            public int getInCluster() { 
 | 
                return InCluster; 
 | 
            } 
 | 
  
 | 
            public void setInCluster(int inCluster) { 
 | 
                this.InCluster = inCluster; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        /** 
 | 
         * 输出簇 
 | 
         */ 
 | 
        public static class OutClusterListBean implements Serializable{ 
 | 
            /// <summary> 
 | 
            /// 设备支持的输出功能 
 | 
            /// <para>0:Basic,设备支持“基础属性” </para> 
 | 
            /// <para>3:Identify,设备支持“识别功能”</para> 
 | 
            /// <para>4:Groups,设备支持“组功能”</para> 
 | 
            /// <para>5:Scenes,设备支持“场景功能”</para> 
 | 
            /// <para>6:on/off,设备支持“开关功能”</para> 
 | 
            /// 开关功能的设备如:调关灯/继电器/窗帘等。。。 
 | 
            /// <para>8:Level Control,设备支持“亮度调节功能”</para> 
 | 
            /// 亮度调节功能的设备如:调关灯。。。 
 | 
            /// <para>257:Door Lock,设备支持“门锁功能”</para> 
 | 
            /// 门锁功能的设备如:门锁。。。 
 | 
            ///  <para>258:Window Covering,设备支持“窗帘控制功能”</para> 
 | 
            /// 窗帘控制功能的设备如:窗帘/开合帘/卷帘。。。 
 | 
            /// <para>513:Thermostat,设备支持“恒温器功能”</para> 
 | 
            /// 恒温器功能的设备如:空调。。。 
 | 
            /// <para>768:Color Control,设备支持“颜色调节功能”</para> 
 | 
            /// 颜色调节功能的设备如:调光灯。。。 
 | 
            /// <para>1026:Temperature Measurement,设备支持“温度测量功能”</para> 
 | 
            /// 温度测量功能的设备如:温度传感器。。。 
 | 
            /// <para>1029:Relative Humidity Measurement,设备支持“湿度测量功能”</para> 
 | 
            /// 湿度测量功能的设备如:湿度传感器。。。 
 | 
            /// </summary> 
 | 
            private int OutCluster; 
 | 
  
 | 
            public int getOutCluster() { 
 | 
                return OutCluster; 
 | 
            } 
 | 
  
 | 
            public void setOutCluster(int outCluster) { 
 | 
                this.OutCluster = outCluster; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        /** 
 | 
         * 设备最新上报的属性状态信息 
 | 
         */ 
 | 
        public static class AttributeStatusBean implements Serializable{ 
 | 
  
 | 
            /// <summary> 
 | 
            /// 属性簇id 
 | 
            /// </summary> 
 | 
            private int ClusterId; 
 | 
            /// <summary> 
 | 
            /// 属性id 
 | 
            /// </summary> 
 | 
            private int AttributeId; 
 | 
            /// <summary> 
 | 
            /// 属性值,这个东西不需要什么高位在后低位在前,它已经是转为了10进制 
 | 
            /// </summary> 
 | 
            private int AttributeData; 
 | 
            /// <summary> 
 | 
            /// 属性状态最后更新的utc时间戳 
 | 
            /// </summary> 
 | 
            private int ReportTime; 
 | 
  
 | 
            public int getClusterId() { 
 | 
                return ClusterId; 
 | 
            } 
 | 
  
 | 
            public void setClusterId(int clusterId) { 
 | 
                this.ClusterId = ClusterId; 
 | 
            } 
 | 
  
 | 
            public int getAttributeId() { 
 | 
                return AttributeId; 
 | 
            } 
 | 
  
 | 
            public void setAttributeId(int AttributeId) { 
 | 
                this.AttributeId = AttributeId; 
 | 
            } 
 | 
  
 | 
            public int getAttributeData() { 
 | 
                return AttributeData; 
 | 
            } 
 | 
  
 | 
            public void setAttributeData(int attributeData) { 
 | 
                this.AttributeData = AttributeData; 
 | 
            } 
 | 
  
 | 
            public int getReportTime() { 
 | 
                return ReportTime; 
 | 
            } 
 | 
  
 | 
            public void setReportTime(int ReportTime) { 
 | 
                this.ReportTime = ReportTime; 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
} 
 |