1
zhanghua
2024-09-26 c775c6953d9759e70f08acbfa8f6d7490aaae3d1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package com.netsdk.demo.customize;
 
import com.netsdk.demo.util.CaseMenu;
import com.netsdk.lib.ToolKits;
import com.netsdk.lib.enumeration.*;
import com.netsdk.lib.structure.*;
import com.netsdk.lib.utils.Initialization;
import java.io.UnsupportedEncodingException;
 
/**
 * @author 291189
 * @version 1.0
 * @description  ERR220926212-RC01
 * @date 2022/10/9 10:00
 */
public class GetAlarmregionInfoChannelsstateDemo extends Initialization {
 
 
    public static void getAlarmregionInfoChannelsstate(){
 
        // 入参
        NET_IN_GET_CHANNELS_STATE stuIn = new NET_IN_GET_CHANNELS_STATE();
        /**
         通道类型 {@link com.netsdk.lib.enumeration.EM_CHANNELS_STATE_TYPE}
         */
        stuIn.stuCondition.emType=1;
        stuIn.write();
 
        // 出参
        NET_OUT_GET_CHANNELS_STATE stuOut = new NET_OUT_GET_CHANNELS_STATE();
        stuOut.write();
        Boolean bRet = netSdk.CLIENT_GetAlarmRegionInfo(loginHandle, NET_EM_GET_ALARMREGION_INFO.NET_EM_GET_ALARMREGION_INFO_CHANNELSSTATE, stuIn.getPointer(), stuOut.getPointer(), 3000);
        if (!bRet){
            System.err.println("获取通道状态 失败:" + ToolKits.getErrorCode());
            return;
        }else{
            stuOut.read();
            System.out.println("获取通道状态 成功");
            System.out.println("通道状态个数:"+stuOut.nChannelsStatesCount);
            NET_CHANNELS_STATE[] stuChannelsStates = stuOut.stuChannelsStates;
            for (int i = 0; i < stuOut.nChannelsStatesCount; i++) {
                System.out.println("Area号:"+(i+1));
                System.out.println("通道类型:"+ EM_CHANNELS_STATE_TYPE.getNoteByValue(stuChannelsStates[i].emType) );
                System.out.println("通道号:"+ stuChannelsStates[i].nIndex );
                System.out.println("在线状态:"+ EM_DEV_STATUS.getNoteByValue(stuChannelsStates[i].emOnlineState));
                System.out.println("报警状态:"+ EM_ZONE_STATUS.getNoteByValue(stuChannelsStates[i].emAlarmState));
                System.out.println("输出状态:"+ EM_OUTPUT_STATE.getNoteByValue(stuChannelsStates[i].emOutputState));
 
                try {
                    System.out.println("通道对应名称:"+ new  String(stuChannelsStates[i].szName,encode) );
 
                    System.out.println("通道对应SN号:"+ new  String(stuChannelsStates[i].szSN,encode) );
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                }
                //探测器状态信息
                NET_SENSOR_STATE stuSensorState = stuChannelsStates[i].stuSensorState;
                //外接电源连接状态 : 0:正常, 1:未连接
                System.out.println("外接电源连接状态:"+ stuSensorState.nExPowerState);
                // 配件防拆状态 : 0:正常, 1:打开
                System.out.println("配件防拆状态:"+ stuSensorState.nTamper);
                //  电池电量状态 : 0:正常, 1:低电量, 2:掉电
                System.out.println("电池电量状态:"+ stuSensorState.nLowPowerState);
            }
 
        }
    }
 
    public void RunTest()
    {
        System.out.println("Run Test");
        CaseMenu menu = new CaseMenu();;
 
        menu.addItem((new CaseMenu.Item(this , "getAlarmregionInfoChannelsstate" , "getAlarmregionInfoChannelsstate")));
 
        menu.run();
    }
 
    public static void main(String[] args) {
        GetAlarmregionInfoChannelsstateDemo getAlarmregionInfoChannelsstateDemo=new GetAlarmregionInfoChannelsstateDemo();
        InitTest("172.3.0.185",37777,"admin","admin123");
        getAlarmregionInfoChannelsstateDemo.RunTest();
        LoginOut();
 
    }
 
}