A method by a device for controlling an external apparatus , the method comprising: checking (S200) at least one external apparatus controllable by the device by identifying the at least one external apparatus based on whether the at least one external apparatus has a predetermined application for utilizing a control service, and obtaining apparatus information of the checked at least one external apparatus ; receiving a user input and generating user input information used to determine (S204) a user's intention based on the user input; providing (S202), to a server , the user input information; providing (S206), to the server , the apparatus information; obtaining a condition information related to a control condition, according to the control condition for controlling the at least one external apparatus which is determined based on the user's intention; providing, to the server , the condition information; receiving (S214), from the server , control information for controlling an external apparatus of the checked at least one external apparatus , wherein the control information is generated (S212), by the server , based on the user input information, the condition information and the apparatus information; and transmitting (S218) a control command to the external apparatus which is generated based on the received control information; wherein obtaining the condition information comprises obtaining the condition information from the at least one external apparatus ; and wherein the condition information comprises information about at least one of a location of the device, an environmental condition around the device, and traffic at a preset location. checking (S200) at least one external apparatus controllable by the device by identifying the at least one external apparatus based on whether the at least one external apparatus has a predetermined application for utilizing a control service, and obtaining apparatus information of the checked at least one external apparatus ; receiving a user input and generating user input information used to determine (S204) a user's intention based on the user input; providing (S202), to a server , the user input information; providing (S206), to the server , the apparatus information; obtaining a condition information related to a control condition, according to the control condition for controlling the at least one external apparatus which is determined based on the user's intention; providing, to the server , the condition information; receiving (S214), from the server , control information for controlling an external apparatus of the checked at least one external apparatus , wherein the control information is generated (S212), by the server , based on the user input information, the condition information and the apparatus information; and transmitting (S218) a control command to the external apparatus which is generated based on the received control information; wherein obtaining the condition information comprises obtaining the condition information from the at least one external apparatus ; and wherein the condition information comprises information about at least one of a location of the device, an environmental condition around the device, and traffic at a preset location. <EOS>