Home device application programming interface
First Claim
Patent Images
1. A method for seamlessly and automatically building an application using an application programming interface (API) to interface with one or more devices within an environment with an assistant device having artificial intelligence (AI), comprising:
- generating, by a processor, a graphic representing a layout of one or more graphical user interface (GUI) elements for the application to instruct the assistant device to control the one or more devices within the environment;
selecting, by the processor, a section of the graphic corresponding to the one or more GUI elements for the application that is to be a selectable item on the application to implement a functionality to be performed within the environment using the assistant device;
assigning, by the processor, one or more device categories to the section of the graphic corresponding to the one or more GUI elements for the application that is to be the selectable item on the application to implement the functionality to be performed within the environment using the assistant device, wherein the one or more device categories indicate types of devices within a location that can perform the functionality within the environment using the assistant device;
generating, by the processor, a rule based on attributes associated with the one or more device categories indicating the types of devices within the location that can perform the functionality within the environment using the assistant device, wherein the rule indicates a timer service and a conflict monitoring service to be executed, wherein the timer service initiates a count of time from selection of the section of the graphic corresponding to the one or more GUI elements for the application to determine when the count of time reaches a threshold time causing the one or more devices associated with the one or more device categories to perform the functionality within the environment using the assistant device, wherein the conflict monitoring service determines that the environment includes a conflicting device having a status that is not compatible with the functionality within the environment, and wherein the conflict monitoring service terminates performance of the functionality within the environment when the status of the conflicting device is determined; and
generating, by the processor, the application having the section of the graphic corresponding to the one or more GUI elements for the application, wherein the section of the graphic corresponding to the one or more GUI elements for the application when selected instructs the assistant device to cause the one or more devices to perform the functionality within the environment in accordance with the rule.
1 Assignment
0 Petitions
Accused Products
Abstract
The present disclosure contemplates a variety of improved methods and systems for enabling developers to program and control a variety of disparate devices coupled to the framework and/or ambient operating system. The Home API can expose operation of the devices in a natural and intuitive manner, facilitating control of unknown devices by high-level commands.
26 Citations
26 Claims
-
1. A method for seamlessly and automatically building an application using an application programming interface (API) to interface with one or more devices within an environment with an assistant device having artificial intelligence (AI), comprising:
-
generating, by a processor, a graphic representing a layout of one or more graphical user interface (GUI) elements for the application to instruct the assistant device to control the one or more devices within the environment; selecting, by the processor, a section of the graphic corresponding to the one or more GUI elements for the application that is to be a selectable item on the application to implement a functionality to be performed within the environment using the assistant device; assigning, by the processor, one or more device categories to the section of the graphic corresponding to the one or more GUI elements for the application that is to be the selectable item on the application to implement the functionality to be performed within the environment using the assistant device, wherein the one or more device categories indicate types of devices within a location that can perform the functionality within the environment using the assistant device; generating, by the processor, a rule based on attributes associated with the one or more device categories indicating the types of devices within the location that can perform the functionality within the environment using the assistant device, wherein the rule indicates a timer service and a conflict monitoring service to be executed, wherein the timer service initiates a count of time from selection of the section of the graphic corresponding to the one or more GUI elements for the application to determine when the count of time reaches a threshold time causing the one or more devices associated with the one or more device categories to perform the functionality within the environment using the assistant device, wherein the conflict monitoring service determines that the environment includes a conflicting device having a status that is not compatible with the functionality within the environment, and wherein the conflict monitoring service terminates performance of the functionality within the environment when the status of the conflicting device is determined; and generating, by the processor, the application having the section of the graphic corresponding to the one or more GUI elements for the application, wherein the section of the graphic corresponding to the one or more GUI elements for the application when selected instructs the assistant device to cause the one or more devices to perform the functionality within the environment in accordance with the rule.
-
-
2. A method, comprising:
-
generating, by a processor, a graphic representing a layout of one or more graphical user interface (GUI) elements for an application to instruct an assistant device to control one or more devices within an environment; selecting, by the processor, a section of the graphic corresponding to the one or more GUI elements for the application that is to be a selectable item on the application to implement a functionality to be performed within the environment using the assistant device; assigning, by the processor, one or more device categories to the section of the graphic corresponding to the one or more GUI elements for the application that is to be the selectable item on the application to implement the functionality to be performed within the environment using the assistant device, wherein the one or more device categories indicate types of devices within a location that can perform the functionality within the environment using the assistant device; generating, by the processor, a rule based on attributes associated with the one or more device categories indicating the types of devices within the location that can perform the functionality within the environment using the assistant device; and generating, by the processor, the application having the section of the graphic corresponding to the one or more GUI elements for the application, wherein the section of the graphic corresponding to the one or more GUI elements for the application when selected instructs the assistant device to cause the one or more devices to perform the functionality within the environment in accordance with the rule. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An electronic device, comprising:
-
one or more processors; a database storing records including information regarding one or more devices in an environment; and a memory storing instructions, execution of which by the one or more processors cause the electronic device to; generate a graphic representing a layout of one or more graphical user interface (GUI) elements for an application to instruct an assistant device to control one or more devices within the environment; select a section of the graphic corresponding to the one or more GUI elements for the application that is to be a selectable item on the application to implement a functionality to be performed within the environment using the assistant device; assign one or more device categories to the section of the graphic corresponding to the one or more GUI elements for the application that is to be the selectable item on the application to implement the functionality to be performed within the environment using the assistant device, wherein the one or more device categories indicate types of devices within a location that can perform the functionality within the environment using the assistant device; generate a rule based on attributes associated with the one or more device categories indicated by the information regarding the one or more devices in the environment found in the database, wherein the one or more device categories indicate the types of devices within the location that can perform the functionality within the environment using the assistant device; and generate the application having the section of the graphic corresponding to the one or more GUI elements for the application, wherein the section of the graphic corresponding to the one or more GUI elements for the application when selected instructs the assistant device to cause the one or more devices to perform the functionality within the environment in accordance with the rule. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A computer program product, comprising one or more non-transitory computer-readable media having computer program instructions stored therein, the computer program instructions being configured such that, when executed by one or more computing devices, the computer program instructions cause the one or more computing devices to:
-
generate a graphic representing a layout of one or more graphical user interface (GUI) elements for an application to instruct an assistant device to control one or more devices within an environment; select a section of the graphic corresponding to the one or more GUI elements for the application that is to be a selectable item on the application to implement a functionality to be performed within the environment using the assistant device; assign one or more device categories to the section of the graphic corresponding to the one or more GUI elements for the application that is to be the selectable item on the application to implement the functionality to be performed within the environment using the assistant device, wherein the one or more device categories indicate types of devices within a location that can perform the functionality within the environment using the assistant device; generate a rule based on attributes associated with the one or more device categories indicated by information regarding the one or more devices in the environment found in a database, wherein the one or more device categories indicate the types of devices within the location that can perform the functionality within the environment using the assistant device; and generate the application having the section of the graphic corresponding to the one or more GUI elements for the application, wherein the section of the graphic corresponding to the one or more GUI elements for the application when selected instructs the assistant device to cause the one or more devices to perform the functionality within the environment in accordance with the rule. - View Dependent Claims (25, 26)
-
Specification