Dynamic application customization for automated environments
First Claim
1. A method for customizing an application developed to control devices in an environment via an assistant device with artificial intelligence (AI) capabilities, comprising:
- initializing, by a processor, the application developed to control the devices in the environment and the environment being associated with a unique identifier, the application having a functionality of a plurality of functionalities and associated device properties identifying the devices capable of performing the plurality of functionalities in the environment;
determining that the application has been previously customized in the environment, by analyzing customization information by determining that the application has been previously connected to the devices in the environment based on the unique identifier associated with the environment;
requesting information from the assistant device about a subset of the devices connected to the assistant device in the environment, the information including a device identifier, a device type, a device category, and a date of update, wherein the date of update includes one or more of date of installation, or date of configuration;
determining that one of the device identifier, the device type, the device category, or the date of update does not match the customization information stored in a database associated with the application, the database storing the information about a second subset of the subset of the devices which were previously used in the customization;
performing a second customization based on the determination that the one of the device identifier, the device type, the device category, or the date of update does not match the customization information, wherein the second customization includes;
identifying a third subset of the subset of the devices connected to the assistant device which is associated with one of device identifier, the device type, the device category, or the date of update which does not match the customization information stored in the database associated with the application, wherein the third subset of the subset of the devices does not include the second subset of the subset of the devices;
determining that the device properties of the application match the device type, and the device category of a device of the devices; and
provide a reference to an adapter stored on the assistant device to the application associated with the third subset of the subset of the devices in the environment, wherein the adapter is capable of controlling the device to perform the functionality of the plurality of functionalities association with the application; and
updating the customization information stored in the database associated with the application to reflect the third subset of the subset of the devices identified as being connected to the assistant device, the unique identifier associated with the environment and the reference to the adapter associated with the devices in the environment; and
causing third subset of the subset of the devices to perform one of the devices to perform the plurality of functionalities in the environment responsive to a request from the application.
1 Assignment
0 Petitions
Accused Products
Abstract
The present disclosure contemplates a variety of improved methods and systems for controlling a variety of disparate home devices coupled to the framework and/or ambient operating system (AmbientOS). This home application programming interface (API) exposes the operation of the home devices in a natural and intuitive manner, facilitating control of unknown devices by high level commands. The home devices are contextually responsive to API commands. Additionally, the home application programming interface can customizing an application developed to control devices in an environment to control the devices in the environment via an assistant device with artificial intelligence (AI) capabilities.
27 Citations
25 Claims
-
1. A method for customizing an application developed to control devices in an environment via an assistant device with artificial intelligence (AI) capabilities, comprising:
-
initializing, by a processor, the application developed to control the devices in the environment and the environment being associated with a unique identifier, the application having a functionality of a plurality of functionalities and associated device properties identifying the devices capable of performing the plurality of functionalities in the environment; determining that the application has been previously customized in the environment, by analyzing customization information by determining that the application has been previously connected to the devices in the environment based on the unique identifier associated with the environment; requesting information from the assistant device about a subset of the devices connected to the assistant device in the environment, the information including a device identifier, a device type, a device category, and a date of update, wherein the date of update includes one or more of date of installation, or date of configuration; determining that one of the device identifier, the device type, the device category, or the date of update does not match the customization information stored in a database associated with the application, the database storing the information about a second subset of the subset of the devices which were previously used in the customization; performing a second customization based on the determination that the one of the device identifier, the device type, the device category, or the date of update does not match the customization information, wherein the second customization includes; identifying a third subset of the subset of the devices connected to the assistant device which is associated with one of device identifier, the device type, the device category, or the date of update which does not match the customization information stored in the database associated with the application, wherein the third subset of the subset of the devices does not include the second subset of the subset of the devices; determining that the device properties of the application match the device type, and the device category of a device of the devices; and provide a reference to an adapter stored on the assistant device to the application associated with the third subset of the subset of the devices in the environment, wherein the adapter is capable of controlling the device to perform the functionality of the plurality of functionalities association with the application; and updating the customization information stored in the database associated with the application to reflect the third subset of the subset of the devices identified as being connected to the assistant device, the unique identifier associated with the environment and the reference to the adapter associated with the devices in the environment; and causing third subset of the subset of the devices to perform one of the devices to perform the plurality of functionalities in the environment responsive to a request from the application.
-
-
2. A method for customizing an application developed to control devices in an environment via an assistant device, comprising:
-
initializing, by a processor, the application developed to control the devices in the environment and the environment being associated with a unique identifier, the application having a functionality of a plurality of functionalities and associated device properties identifying the devices capable of performing the plurality of functionalities in the environment; determining that the application has not been previously customized in the environment by analyzing customization information by determining that the application has not been previously connected to the devices in the environment based on the unique identifier associated with the environment; performing the customization based on the determination that the application has not been previously customized, performing the customization including; identifying the devices connected to the assistant device in the environment matching the functionality and the device properties identified in the application; providing a reference to an adapter stored on the assistant device to the application associated with the devices in the environment, wherein the adapter is capable of controlling a device to perform the functionality associated with the application; and updating the customization information stored in association with the application to reflect that the customization was performed by storing the unique identifier associated with the environment and the reference to the adapter associated with the devices in the environment; and causing the devices to perform the plurality of functionalities responsive to a request from the application. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for customizing an application developed to control devices in an environment via an assistant device, comprising:
-
a processor; and a memory storing instructions, wherein the processor is configured to execute the instructions such that the processor and memory are configured to; initialize the application developed to control the devices in the environment and the environment being associated with a unique identifier, the application having a functionality of a plurality of functionalities and associated device properties identifying the devices capable of performing the plurality of functionalities in the environment; determine that the application has not been previously customized in the environment by analyzing customization information by determining that the application has not been previously connected to the devices in the environment based on the unique identifier associated with the environment and stored in a database; perform the customization based on the determination that the application has not been previously customized, performing the customization including; identify the devices connected to the assistant device in the environment matching the functionality and the device properties identified in the application; provide a reference to an adapter stored on the assistant device to the application associated with the devices in the environment, wherein the adapter is capable of controlling a device to perform the functionality associated with the application; and update the customization information stored in the database associated with the application indicating that the customization was performed by storing the unique identifier associated with the environment and the reference to the adapter associated with the devices in the environment; and perform the functionality of one of the devices in response to a request from the application. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer program product for customizing an application developed to control devices in an environment via an assistant device, 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:
-
initialize the application developed to control the devices in the environment and the environment being associated with a unique identifier, the application having a functionality of a plurality of functionalities and associated device properties identifying the devices capable of performing the plurality of functionalities in the environment; determine that the application has not been previously customized in the environment by analyzing customization information by determining that the application has not been previously connected to the devices in the environment based on the unique identifier associated with the environment; perform the customization based on the determination that the application has not been previously customized, performing the customization including; identify the devices connected to the assistant device in the environment matching the functionality and the device properties identified in the application; provide a reference to an adapter stored on the assistant device to the application associated with the devices in the environment, wherein the adapter is capable of controlling a device to perform the functionality associated with the application; and update the customization information stored in association with the application to reflect that the customization was performed by storing the unique identifier associated with the environment and the reference to the adapter associated with the devices in the environment; and perform the functionality of one of the devices in response to a request from the application. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
Specification