public static BatchGetDeviceStateResponse Unmarshall(UnmarshallerContext context)
        {
            BatchGetDeviceStateResponse batchGetDeviceStateResponse = new BatchGetDeviceStateResponse();

            batchGetDeviceStateResponse.HttpResponse = context.HttpResponse;
            batchGetDeviceStateResponse.RequestId    = context.StringValue("BatchGetDeviceState.RequestId");
            batchGetDeviceStateResponse.Success      = context.BooleanValue("BatchGetDeviceState.Success");
            batchGetDeviceStateResponse.ErrorMessage = context.StringValue("BatchGetDeviceState.ErrorMessage");

            List <BatchGetDeviceStateResponse.DeviceStatus> deviceStatusList = new List <BatchGetDeviceStateResponse.DeviceStatus>();

            for (int i = 0; i < context.Length("BatchGetDeviceState.DeviceStatusList.Length"); i++)
            {
                BatchGetDeviceStateResponse.DeviceStatus deviceStatus = new BatchGetDeviceStateResponse.DeviceStatus();
                deviceStatus.DeviceId   = context.StringValue("BatchGetDeviceState.DeviceStatusList[" + i + "].DeviceId");
                deviceStatus.DeviceName = context.StringValue("BatchGetDeviceState.DeviceStatusList[" + i + "].DeviceName");
                deviceStatus.Status     = context.StringValue("BatchGetDeviceState.DeviceStatusList[" + i + "].Status");
                deviceStatus.AsAddress  = context.StringValue("BatchGetDeviceState.DeviceStatusList[" + i + "].AsAddress");

                deviceStatusList.Add(deviceStatus);
            }
            batchGetDeviceStateResponse.DeviceStatusList = deviceStatusList;

            return(batchGetDeviceStateResponse);
        }
Ejemplo n.º 2
0
        //获取设备的在线状态,ONLINE|OFFLINE|UNACTIVE|DISABLE
        public void TestBatchGetDeviceState()
        {
            DefaultAcsClient acsClient = Demo.IotClient.GetClient();

            BatchGetDeviceStateRequest request = new BatchGetDeviceStateRequest();

            request.ProductKey = "<productKey>";

            List <string> deviceNames = new List <string>();

            deviceNames.Add("device0820");
            deviceNames.Add("device0821");
            deviceNames.Add("device0822");

            request.DeviceNames = deviceNames;


            BatchGetDeviceStateResponse response = acsClient.GetAcsResponse(request);

            Console.WriteLine(response.Success);
            Console.WriteLine(response.Code + ", " + response.ErrorMessage);

            List <BatchGetDeviceStateResponse.BatchGetDeviceState_DeviceStatus> statusList = response.DeviceStatusList;

            for (int i = 0; i < statusList.Count; i += 1)
            {
                BatchGetDeviceStateResponse.BatchGetDeviceState_DeviceStatus deviceStatus = statusList[i];
                Console.WriteLine(deviceStatus.DeviceName + ", " + deviceStatus.IotId + ", " + deviceStatus.Status);
            }
        }
Ejemplo n.º 3
0
        public static BatchGetDeviceStateResponse Unmarshall(UnmarshallerContext _ctx)
        {
            BatchGetDeviceStateResponse batchGetDeviceStateResponse = new BatchGetDeviceStateResponse();

            batchGetDeviceStateResponse.HttpResponse = _ctx.HttpResponse;
            batchGetDeviceStateResponse.RequestId    = _ctx.StringValue("BatchGetDeviceState.RequestId");
            batchGetDeviceStateResponse.Success      = _ctx.BooleanValue("BatchGetDeviceState.Success");
            batchGetDeviceStateResponse.Code         = _ctx.StringValue("BatchGetDeviceState.Code");
            batchGetDeviceStateResponse.ErrorMessage = _ctx.StringValue("BatchGetDeviceState.ErrorMessage");

            List <BatchGetDeviceStateResponse.BatchGetDeviceState_DeviceStatus> batchGetDeviceStateResponse_deviceStatusList = new List <BatchGetDeviceStateResponse.BatchGetDeviceState_DeviceStatus>();

            for (int i = 0; i < _ctx.Length("BatchGetDeviceState.DeviceStatusList.Length"); i++)
            {
                BatchGetDeviceStateResponse.BatchGetDeviceState_DeviceStatus deviceStatus = new BatchGetDeviceStateResponse.BatchGetDeviceState_DeviceStatus();
                deviceStatus.DeviceId       = _ctx.StringValue("BatchGetDeviceState.DeviceStatusList[" + i + "].DeviceId");
                deviceStatus.DeviceName     = _ctx.StringValue("BatchGetDeviceState.DeviceStatusList[" + i + "].DeviceName");
                deviceStatus.Status         = _ctx.StringValue("BatchGetDeviceState.DeviceStatusList[" + i + "].Status");
                deviceStatus.AsAddress      = _ctx.StringValue("BatchGetDeviceState.DeviceStatusList[" + i + "].AsAddress");
                deviceStatus.LastOnlineTime = _ctx.StringValue("BatchGetDeviceState.DeviceStatusList[" + i + "].LastOnlineTime");
                deviceStatus.IotId          = _ctx.StringValue("BatchGetDeviceState.DeviceStatusList[" + i + "].IotId");

                batchGetDeviceStateResponse_deviceStatusList.Add(deviceStatus);
            }
            batchGetDeviceStateResponse.DeviceStatusList = batchGetDeviceStateResponse_deviceStatusList;

            return(batchGetDeviceStateResponse);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 查询设备是否在线
        /// </summary>
        /// <param name="product_key">产品Key</param>
        /// <param name="lstDevicesName">要查询的设备名称列表</param>
        /// <returns></returns>
        public static bool IsOnline(string product_key, List <string> lstDevicesName)
        {
            IClientProfile   clientProfile = DefaultProfile.GetProfile(Config.regionId, Config.accessKeyId, Config.accessKeySecret);
            DefaultAcsClient client        = new DefaultAcsClient(clientProfile);

            BatchGetDeviceStateRequest request = new BatchGetDeviceStateRequest();

            request.ProductKey = product_key;

            request.DeviceNames = lstDevicesName;
            BatchGetDeviceStateResponse response = null;

            try
            {
                response = client.GetAcsResponse(request);
            }
            catch (ClientException err)
            {
                throw err;
            }
            if (response != null)
            {
                List <BatchGetDeviceStateResponse.DeviceStatus> lstDeviceStatus = response.DeviceStatusList;
                if (lstDeviceStatus.Count > 0 && lstDeviceStatus[0].Status == "ONLINE")
                {
                    return(true);
                }
                Console.WriteLine("Response requestId:" + response.RequestId + " isSuccess:" + response.Success + " Error:" + response.ErrorMessage);
            }
            return(false);
        }
Ejemplo n.º 5
0
        //获取一批设备的状态信息,包括状态、最后上线时间、登录IP
        private static void TestBatchGetDeviceStatus()
        {
            IClientProfile             clientProfile = DefaultProfile.GetProfile("<your-region-id>", "<your-access-key-id>", "<your-access-key-secret>");
            DefaultAcsClient           client        = new DefaultAcsClient(clientProfile);
            BatchGetDeviceStateRequest request       = new BatchGetDeviceStateRequest();

            request.ProductKey = "<productKey>";
            List <String> DeviceNames = new List <string>();

            DeviceNames.Add("<deviceName1>");
            DeviceNames.Add("<deviceName2>");
            DeviceNames.Add("<deviceName3>");
            DeviceNames.Add("<deviceName4>");
            DeviceNames.Add("<deviceName...>");
            request.DeviceNames = DeviceNames;

            try
            {
                BatchGetDeviceStateResponse response = client.GetAcsResponse(request);
                Console.WriteLine(response.Success);
                Console.WriteLine(response.ErrorMessage);
                List <BatchGetDeviceStateResponse.BatchGetDeviceState_DeviceStatus> DeviceStatusList = response.DeviceStatusList;
                foreach (BatchGetDeviceStateResponse.BatchGetDeviceState_DeviceStatus DeviceStatus in DeviceStatusList)
                {
                    Console.WriteLine(DeviceStatus.DeviceName + ", " + DeviceStatus.Status + ", " + DeviceStatus.LastOnlineTime);
                }
            }
            catch (ServerException e)
            {
                Console.WriteLine(e.ErrorCode);
                Console.WriteLine(e.ErrorMessage);
            }
            catch (ClientException e)
            {
                Console.WriteLine(e.ErrorCode);
                Console.WriteLine(e.ErrorMessage);
            }
            Console.ReadKey();
        }