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:
- receiving, via 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;
identifying, 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;
identifying, by the processor, a graphical content within the section of the graphic;
determining, by the processor, object characteristics of the graphical content within 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;
identifying, by the processor, a textual content within the section of the graphic;
determining, by the processor, text characteristics of the textual content within 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;
determining, by the processor using a database, the functionality to be performed within the environment using the assistant device based on the text characteristics of the textual content within the section of the graphic and the object characteristics of the graphical content within the section of the graphic;
identifying, by the processor, the one or more devices capable of performing the functionality within the environment; and
generating, by the processor, the application having the section of the graphic, wherein the section of the graphic, when selected, instructs the assistant device to cause the identified one or more devices to perform the functionality within the environment.
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.
25 Citations
37 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:
-
receiving, via 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; identifying, 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; identifying, by the processor, a graphical content within the section of the graphic; determining, by the processor, object characteristics of the graphical content within 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; identifying, by the processor, a textual content within the section of the graphic; determining, by the processor, text characteristics of the textual content within 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; determining, by the processor using a database, the functionality to be performed within the environment using the assistant device based on the text characteristics of the textual content within the section of the graphic and the object characteristics of the graphical content within the section of the graphic; identifying, by the processor, the one or more devices capable of performing the functionality within the environment; and generating, by the processor, the application having the section of the graphic, wherein the section of the graphic, when selected, instructs the assistant device to cause the identified one or more devices to perform the functionality within the environment.
-
-
2. A method, comprising:
-
receiving, via 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; identifying, by the processor, a section of the graphic corresponding to the one or more GUI elements for the application corresponding to a functionality to be performed within the environment using the assistant device; identifying, by the processor, a graphical content within the section of the graphic; determining, by the processor, characteristics of the graphical content within the section of the graphic; determining, by the processor using a database, the functionality to be performed within the environment using the assistant device based on the characteristics of the graphical content within the section of the graphic; identifying, by the processor, the one or more devices and associated adapters capable of performing the functionality within the environment; and generating, by the processor, the application having the one or more GUI elements for the application which, when selected, instruct the assistant device to initialize one or more adapters of the associated adapters causing the identified one or more devices to perform the functionality within the environment. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system, comprising:
-
a processor; and a memory storing instructions, wherein the processor is configured to execute the instructions such that the processor and the memory are configured to; receive 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; identify a section of the graphic corresponding to the one or more GUI elements for the application corresponding to a functionality to be performed within the environment using the assistant device; identify a graphical content within the section of the graphic; determine characteristics of the graphical content within the section of the graphic; determine, using a database, the functionality to be performed within the environment using the assistant device based on the characteristics of the graphical content within the section of the graphic; identify the one or more devices and associated adapters capable of performing the functionality within the environment; and generate the application having the one or more GUI elements for the application which, when selected, instruct the assistant device to initialize one or more adapters of the associated adapters causing the identified one or more devices to perform the functionality within the environment. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. 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:
-
receive 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; identify a section of the graphic corresponding to the one or more GUI elements for the application corresponding to a functionality to be performed within the environment using the assistant device; identify a graphical content within the section of the graphic; determine characteristics of the graphical content within the section of the graphic; determine, using a database, the functionality to be performed within the environment using the assistant device based on the characteristics of the graphical content within the section of the graphic; identify the one or more devices and associated adapters capable of performing the functionality within the environment; and generate the application having the one or more GUI elements for the application which, when selected, instruct the assistant device to initialize one or more adapters of the associated adapters causing the identified one or more devices to perform the functionality within the environment. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
Specification