Techniques for adding accessories to an ecosystem

CN122996403APending Publication Date: 2026-10-27APPLE INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202580022706.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2025-07-17
Filing Date
2025-09-29
Publication Date
2026-10-27

AI Technical Summary

Technical Problem

随着那些连接的配置已经变得更加复杂,设置此类电子设备已经变得更加困难

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122996403A_ABST
    Figure CN122996403A_ABST
Patent Text Reader

Abstract

This disclosure generally relates to adding accessories to an ecosystem. According to some embodiments, some techniques are used to temporarily install an application to add an accessory to an ecosystem. According to some embodiments, other techniques are used to initialize configuration of an accessory by an installer device. According to some embodiments, other techniques are used to initialize configuration of an accessory by a resident device. According to some embodiments, other techniques are used to communicate with another device. According to some embodiments, other techniques are used to notify a user. According to some embodiments, other techniques are described herein for extending functionality.
Need to check novelty before this filing date? Find Prior Art

Description

Cross-reference to related applications

[0001] This international patent application claims U.S. Provisional Patent Application Serial No. 63 / 846,040, filed July 17, 2025, entitled "TECHNIQUES FOR ADDING ACCESSORIES TO ECOSYSTEMS"; U.S. Provisional Patent Application Serial No. 63 / 796,877, filed April 29, 2025, entitled "TECHNIQUES FOR ADDING ACCESSORIES TO ECOSYSTEMS"; U.S. Non-Provisional Patent Application Serial No. 19 / 075,331, filed March 10, 2025, entitled "TECHNIQUES FOR ADDING ACCESSORIES TO ECOSYSTEMS"; and U.S. Non-Provisional Patent Application Serial No. 19 / 075,331, filed December 5, 2024, entitled "TECHNIQUES FOR ADDING ACCESSORIES TO ECOSYSTEMS". The benefits of U.S. Provisional Patent Application Serial No. 63 / 728,407 entitled "ECOSYSTEMS (Technologies for Adding Accessories to Ecosystems)" and U.S. Provisional Patent Application Serial No. 63 / 700,533 entitled "TECHNIQUES FOR ADDING ACCESSORIES TO ECOSYSTEMS (Technologies for Adding Accessories to Ecosystems)" filed on September 27, 2024, are hereby incorporated by reference in their entirety for all purposes. Background Technology

[0002] Electronic devices are becoming increasingly interconnected. For example, controllers (e.g., user devices and / or computer systems) are often connected to accessories in the home or office (e.g., speakers, fans, and thermostats). As the configuration of those connections has become more complex, setting up such electronic devices has become more difficult. Therefore, there is a need to improve the technologies used to add accessories to the ecosystem. Summary of the Invention

[0003] Current technologies used to add accessories to an ecosystem are often inefficient and / or ineffective. For example, some technologies require users to manually switch between multiple different apps to add accessories to the ecosystem. This disclosure uses the example of adding a vacuum cleaner to a home ecosystem to provide more efficient and / or more effective technologies for adding accessories to an ecosystem. It should be recognized that other types of electronic devices can be used with the technologies described herein. For example, smartphones can use the technologies described herein to connect to laptops. Furthermore, the technologies optionally complement or replace other technologies used to add accessories to an ecosystem.

[0004] According to some implementations, some technologies are used for temporarily installing applications to add accessories to the ecosystem. According to some implementations, other technologies are used for initializing accessory configuration by the installer device. According to some implementations, other technologies are used for initializing accessory configuration by a resident device. According to some implementations, other technologies are used for communicating with another device. According to some implementations, other technologies are used for notifying users. According to some implementations, this document describes other technologies for extending functionality.

[0005] In some embodiments, a method is described that is executed at a computer system communicating with one or more input devices. In some embodiments, the method includes: detecting input via the one or more input devices corresponding to a request to add an accessory device to an ecosystem corresponding to a first application; in response to detecting the input corresponding to the request to add the accessory device to the ecosystem, initiating a process to add the accessory device to the ecosystem, wherein the process of adding the accessory device to the ecosystem includes: initiating a process to install a second application based on a determination that a second application is not installed on the computer system, wherein the second application corresponds to the accessory device and wherein the second application is different from the first application; and abandoning the process of initiating the installation of the second application based on a determination that the second application is installed on the computer system; and after installing the second application as part of the process of adding the accessory device to the ecosystem, removing the second application without detecting user input for removing the second application based on a determination that one or more automatic removal criteria are met.

[0006] In some embodiments, a non-transitory computer-readable storage medium is described, which stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more input devices. In some embodiments, the one or more programs include instructions for: detecting input via the one or more input devices corresponding to a request to add an accessory device to an ecosystem corresponding to a first application; in response to detecting the input corresponding to the request to add the accessory device to the ecosystem, initiating a process to add the accessory device to the ecosystem, wherein the process of adding the accessory device to the ecosystem includes: initiating a process to install a second application based on a determination that a second application is not installed on the computer system, wherein the second application corresponds to the accessory device and wherein the second application is different from the first application; and abandoning the process of initiating the installation of the second application based on a determination that the second application is installed on the computer system; and after installing the second application as part of the process of adding the accessory device to the ecosystem, removing the second application without detecting user input for removing the second application based on a determination that one or more automatic removal criteria are met.

[0007] In some embodiments, a transient computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more input devices. In some embodiments, the one or more programs include instructions for: detecting input via the one or more input devices corresponding to a request to add an accessory device to an ecosystem corresponding to a first application; in response to detecting the input corresponding to the request to add the accessory device to the ecosystem, initiating a process to add the accessory device to the ecosystem, wherein the process of adding the accessory device to the ecosystem includes: initiating a process to install a second application based on a determination that a second application is not installed on the computer system, wherein the second application corresponds to the accessory device and wherein the second application is different from the first application; and abandoning the process of initiating the installation of the second application based on a determination that the second application is installed on the computer system; and after installing the second application as part of the process of adding the accessory device to the ecosystem, removing the second application without detecting user input for removing the second application based on a determination that one or more automatic removal criteria are met.

[0008] In some embodiments, a computer system configured to communicate with one or more input devices is described. In some embodiments, the computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors. In some embodiments, the one or more programs include instructions for: detecting input via the one or more input devices corresponding to a request to add an accessory device to an ecosystem corresponding to a first application; in response to detecting the input corresponding to the request to add the accessory device to the ecosystem, initiating a process to add the accessory device to the ecosystem, wherein the process of adding the accessory device to the ecosystem includes: initiating a process to install a second application based on a determination that a second application is not installed on the computer system, wherein the second application corresponds to the accessory device and is different from the first application; and abandoning the process of initiating the installation of the second application based on a determination that the second application is installed on the computer system; and after installing the second application as part of the process of adding the accessory device to the ecosystem, removing the second application without detecting user input for removing the second application based on a determination that one or more automatic removal criteria are met.

[0009] In some embodiments, a computer system configured to communicate with one or more input devices is described. In some embodiments, the computer system includes components for performing each of the following steps: detecting input via the one or more input devices corresponding to a request to add an accessory device to an ecosystem corresponding to a first application; in response to detecting the input corresponding to the request to add the accessory device to the ecosystem, initiating a process to add the accessory device to the ecosystem, wherein the process of adding the accessory device to the ecosystem includes: initiating a process to install a second application based on determining that a second application is not installed on the computer system, wherein the second application corresponds to the accessory device and wherein the second application is different from the first application; and abandoning the process of initiating the installation of the second application based on determining that the second application is installed on the computer system; and after installing the second application as part of the process of adding the accessory device to the ecosystem, removing the second application without detecting user input for removing the second application based on determining that one or more automatic removal criteria are met.

[0010] In some embodiments, a computer program product is described. In some embodiments, the computer program product includes one or more programs configured to be executed by one or more processors of a computer system communicating with one or more input devices. In some embodiments, the one or more programs include instructions for: detecting input via the one or more input devices corresponding to a request to add an accessory device to an ecosystem corresponding to a first application; in response to detecting the input corresponding to the request to add the accessory device to the ecosystem, initiating a process to add the accessory device to the ecosystem, wherein the process of adding the accessory device to the ecosystem includes: initiating a process to install a second application based on a determination that a second application is not installed on the computer system, wherein the second application corresponds to the accessory device and wherein the second application is different from the first application; and abandoning the process of initiating the installation of the second application based on a determination that the second application is installed on the computer system; and after installing the second application as part of the process of adding the accessory device to the ecosystem, removing the second application without detecting user input for removing the second application based on a determination that one or more automatic removal criteria are met.

[0011] In some embodiments, a method performed at an electronic device is described. In some embodiments, the method includes: pairing with an accessory device; after pairing with the accessory device, initializing the accessory device in one or more security domains of a first set; after initializing the accessory device in the first set of one or more security domains, transmitting a request to the accessory device to enter a reinitialization configuration mode; and after transmitting the request to enter the reinitialization configuration mode: receiving reinitialization configuration data from the accessory device; and using the reinitialization configuration data, via a resident device different from both the accessory device and the electronic device, to reinitialize the accessory device in one or more security domains of a second set, wherein the second set of one or more security domains is different from the first set of one or more security domains.

[0012] In some embodiments, a non-transitory computer-readable storage medium is described storing one or more programs configured to be executed by one or more processors of an electronic device. In some embodiments, the one or more programs include instructions for: pairing with an accessory device; after pairing with the accessory device, initializing the configuration of the accessory device on a first set of one or more security domains; after initializing the configuration of the accessory device on the first set of one or more security domains, transmitting a request to the accessory device to enter a reinitialization configuration mode; and after transmitting the request to enter the reinitialization configuration mode: receiving reinitialization configuration data from the accessory device; and using the reinitialization configuration data via a resident device different from the accessory device and the electronic device to reinitialize the accessory device on a second set of one or more security domains, wherein the second set of one or more security domains is different from the first set of one or more security domains.

[0013] In some embodiments, a transient computer-readable storage medium is described storing one or more programs configured to be executed by one or more processors of an electronic device. In some embodiments, the one or more programs include instructions for: pairing with an accessory device; after pairing with the accessory device, initializing the configuration of the accessory device on a first set of one or more security domains; after initializing the configuration of the accessory device on the first set of one or more security domains, transmitting a request to the accessory device to enter a reinitialization configuration mode; and after transmitting the request to enter the reinitialization configuration mode: receiving reinitialization configuration data from the accessory device; and using the reinitialization configuration data via a resident device different from the accessory device and the electronic device to reinitialize the accessory device on a second set of one or more security domains, wherein the second set of one or more security domains is different from the first set of one or more security domains.

[0014] In some embodiments, an electronic device is described. In some embodiments, the electronic device includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors. In some embodiments, the one or more programs include instructions for: pairing with an accessory device; after pairing with the accessory device, initializing the configuration of the accessory device on a first set of one or more security domains; after initializing the configuration of the accessory device on the first set of one or more security domains, transmitting a request to the accessory device to enter a reinitialization configuration mode; and after transmitting the request to enter the reinitialization configuration mode: receiving reinitialization configuration data from the accessory device; and using the reinitialization configuration data, via a resident device different from the accessory device and the electronic device, to reinitialize the accessory device on a second set of one or more security domains, wherein the second set of one or more security domains is different from the first set of one or more security domains.

[0015] In some embodiments, an electronic device is described. In some embodiments, the electronic device includes components for performing each of the following steps: pairing with an accessory device; after pairing with the accessory device, initializing the accessory device in a first set of one or more security domains; after initializing the accessory device in the first set of one or more security domains, transmitting a request to the accessory device to enter a reinitialization configuration mode; and after transmitting the request to enter the reinitialization configuration mode: receiving reinitialization configuration data from the accessory device; and using the reinitialization configuration data via a resident device different from the accessory device and the electronic device to reinitialize the accessory device in a second set of one or more security domains, wherein the second set of one or more security domains is different from the first set of one or more security domains.

[0016] In some embodiments, a computer program product is described. In some embodiments, the computer program product includes one or more programs configured to be executed by one or more processors of an electronic device. In some embodiments, the one or more programs include instructions for: pairing with an accessory device; after pairing with the accessory device, initializing the configuration of the accessory device on a first set of one or more security domains; after initializing the configuration of the accessory device on the first set of one or more security domains, transmitting a request to the accessory device to enter a reinitialization configuration mode; and after transmitting the request to enter the reinitialization configuration mode: receiving reinitialization configuration data from the accessory device; and using the reinitialization configuration data via a resident device different from the accessory device and the electronic device to reinitialize the accessory device on a second set of one or more security domains, wherein the second set of one or more security domains is different from the first set of one or more security domains.

[0017] In some embodiments, a method performed at an electronic device is described. In some embodiments, the method includes: receiving from an installer device a request to initialize and configure an accessory device, wherein the request includes connection information corresponding to the accessory device, wherein the accessory device is different from both the installer device and the electronic device; and in response to receiving the request to initialize and configure the accessory device: establishing a connection with the accessory device using the connection information; and initializing and configuring the accessory device using the connection on one or more security domains.

[0018] In some embodiments, a non-transitory computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of an electronic device. In some embodiments, the one or more programs include instructions for: receiving a request from an installer device to initialize and configure an accessory device, wherein the request includes connection information corresponding to the accessory device, wherein the accessory device is different from both the installer device and the electronic device; and in response to receiving the request to initialize and configure the accessory device: establishing a connection with the accessory device using the connection information; and initializing and configuring the accessory device using the connection on one or more security domains.

[0019] In some embodiments, a transient computer-readable storage medium is described storing one or more programs configured to be executed by one or more processors of an electronic device. In some embodiments, the one or more programs include instructions for: receiving a request from an installer device to initialize and configure an accessory device, wherein the request includes connection information corresponding to the accessory device, wherein the accessory device is different from both the installer device and the electronic device; and in response to receiving the request to initialize and configure the accessory device: establishing a connection with the accessory device using the connection information; and initializing and configuring the accessory device using the connection on one or more security domains.

[0020] In some embodiments, an electronic device is described. In some embodiments, the electronic device includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors. In some embodiments, the one or more programs include instructions for: receiving a request from an installer device to initialize and configure an accessory device, wherein the request includes connection information corresponding to the accessory device, wherein the accessory device is different from both the installer device and the electronic device; and in response to receiving the request to initialize and configure the accessory device: establishing a connection with the accessory device using the connection information; and initializing and configuring the accessory device using the connection on one or more security domains.

[0021] In some embodiments, an electronic device is described. In some embodiments, the electronic device includes components for performing each of the following steps: receiving a request from an installer device to initialize and configure an accessory device, wherein the request to initialize and configure the accessory device includes connection information corresponding to the accessory device, wherein the accessory device is different from both the installer device and the electronic device; and in response to receiving the request to initialize and configure the accessory device: establishing a connection with the accessory device using the connection information; and initializing and configuring the accessory device using the connection on one or more security domains.

[0022] In some embodiments, a computer program product is described. In some embodiments, the computer program product includes one or more programs configured to be executed by one or more processors of an electronic device. In some embodiments, the one or more programs include instructions for: receiving a request from an installer device to initialize and configure an accessory device, wherein the request to initialize and configure the accessory device includes connection information corresponding to the accessory device, wherein the accessory device is different from both the installer device and the electronic device; and in response to receiving the request to initialize and configure the accessory device: establishing a connection with the accessory device using the connection information; and initializing and configuring the accessory device using the connection on one or more security domains.

[0023] In some embodiments, a method is described that is performed at a first device communicating with one or more input devices. In some embodiments, the method includes: detecting, via the one or more input devices, an input corresponding to a request to communicate with a second device, the second device being different from the first device; in response to detecting the input corresponding to the request to communicate with the second device: generating a first message to be transmitted to the second device, the first message including an identifier of the first set of one or more activities, based on determining that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes criteria satisfied when the first device detects a first set of one or more activities; and generating a second message to be transmitted to the second device, the second message including an identifier of the second set of one or more activities, based on determining that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes criteria satisfied when the first device detects a second set of one or more activities, wherein the second message is different from the first message, wherein the second set of one or more criteria is different from the first set of one or more criteria, and wherein the second set of one or more activities is different from the first set of one or more activities.

[0024] In some embodiments, a non-transitory computer-readable storage medium is described, which stores one or more programs configured to be executed by one or more processors of a first device communicating with one or more input devices. In some embodiments, the one or more programs include instructions for: detecting, via the one or more input devices, an input corresponding to a request to communicate with a second device, which is different from the first device; in response to detecting the input corresponding to the request to communicate with the second device: generating a first message to be transmitted to the second device, the first message including an identifier of the first set of one or more activities, based on determining that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes criteria satisfied when the first device detects a first set of one or more activities; and generating a second message to be transmitted to the second device, the second message including an identifier of the second set of one or more activities, based on determining that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes criteria satisfied when the first device detects a second set of one or more activities, wherein the second message is different from the first message, wherein the second set of one or more criteria is different from the first set of one or more criteria, and wherein the second set of one or more activities is different from the first set of one or more activities.

[0025] In some embodiments, a transient computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of a first device communicating with one or more input devices. In some embodiments, the one or more programs include instructions for: detecting, via the one or more input devices, an input corresponding to a request to communicate with a second device, different from the first device; in response to detecting the input corresponding to the request to communicate with the second device: generating a first message to be transmitted to the second device, the first message including an identifier of the first set of one or more activities, based on determining that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes criteria satisfied when the first device detects a first set of one or more activities; and generating a second message to be transmitted to the second device, the second message including an identifier of the second set of one or more activities, based on determining that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes criteria satisfied when the first device detects a second set of one or more activities, wherein the second message is different from the first message, wherein the second set of one or more criteria is different from the first set of one or more criteria, and wherein the second set of one or more activities is different from the first set of one or more activities.

[0026] In some embodiments, a first device configured to communicate with one or more input devices is described. In some embodiments, the first device includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors. In some embodiments, the one or more programs include instructions for: detecting input via the one or more input devices corresponding to a request to communicate with a second device, the second device being different from the first device; in response to detecting the input corresponding to the request to communicate with the second device: generating a first message to be transmitted to the second device, the first message including an identifier of the first set of one or more activities, based on determining that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes criteria satisfied when the first device detects a first set of one or more activities; and generating a second message to be transmitted to the second device, the second message including an identifier of the second set of one or more activities, based on determining that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes criteria satisfied when the first device detects a second set of one or more activities, wherein the second message is different from the first message, wherein the second set of one or more criteria is different from the first set of one or more criteria, and wherein the second set of one or more activities is different from the first set of one or more activities.

[0027] In some embodiments, a first device configured to communicate with one or more input devices is described. In some embodiments, the first device includes components for performing each of the following steps: detecting input corresponding to a request to communicate with a second device, which is different from the first device, via the one or more input devices; in response to detecting the input corresponding to the request to communicate with the second device: generating a first message to be transmitted to the second device, the first message including an identifier of the first group of one or more activities, based on determining that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes criteria satisfied when the first device detects a first set of one or more activities; and generating a second message to be transmitted to the second device, the second message including an identifier of the second group of one or more activities, based on determining that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes criteria satisfied when the first device detects a second group of one or more activities, wherein the second message is different from the first message, wherein the second set of one or more criteria is different from the first set of one or more criteria, and wherein the second group of one or more activities is different from the first set of one or more activities.

[0028] In some embodiments, a computer program product is described. In some embodiments, the computer program product includes one or more programs configured to be executed by one or more processors of a first device communicating with one or more input devices. In some embodiments, the one or more programs include instructions for: detecting input via the one or more input devices corresponding to a request to communicate with a second device, the second device being different from the first device; in response to detecting the input corresponding to the request to communicate with the second device: generating a first message to be transmitted to the second device, the first message including an identifier of the first set of one or more activities, based on determining that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes criteria satisfied when the first device detects a first set of one or more activities; and generating a second message to be transmitted to the second device, the second message including an identifier of the second set of one or more activities, based on determining that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes criteria satisfied when the first device detects a second set of one or more activities, wherein the second message is different from the first message, wherein the second set of one or more criteria is different from the first set of one or more criteria, and wherein the second set of one or more activities is different from the first set of one or more activities.

[0029] In some embodiments, a method is described that is performed at a first device communicating with one or more display generation components. In some embodiments, the method includes: detecting that a user of a second device is no longer near the second device, wherein the second device is different from the first device; and in response to detecting that the user of the second device is no longer near the second device and based on determining that a set of one or more criteria is satisfied, wherein the set of one or more criteria includes criteria satisfied when the second device is not set to a specific mode, displaying a notification corresponding to the second device via the one or more display generation components.

[0030] In some embodiments, a non-transitory computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of a first device communicating with one or more display generation components. In some embodiments, the one or more programs include instructions for: detecting that a user of a second device is no longer near the second device, wherein the second device is different from the first device; and, in response to detecting that the user of the second device is no longer near the second device and based on determining that a set of one or more criteria is satisfied, wherein the set of one or more criteria includes criteria satisfied when the second device is not set to a specific mode, displaying a notification corresponding to the second device via the one or more display generation components.

[0031] In some embodiments, a transient computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of a first device communicating with one or more display generation components. In some embodiments, the one or more programs include instructions for: detecting that a user of a second device is no longer near the second device, wherein the second device is different from the first device; and, in response to detecting that the user of the second device is no longer near the second device and based on determining that a set of one or more criteria is satisfied, wherein the set of one or more criteria includes criteria satisfied when the second device is not set to a specific mode, displaying a notification corresponding to the second device via the one or more display generation components.

[0032] In some embodiments, a first device configured to communicate with one or more display generation components is described. In some embodiments, the first device includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors. In some embodiments, the one or more programs include instructions for: detecting that a user of a second device is no longer near the second device, wherein the second device is different from the first device; and, in response to detecting that the user of the second device is no longer near the second device and based on determining that a set of one or more criteria is met, wherein the set of one or more criteria includes criteria met when the second device is not set to a specific mode, displaying a notification corresponding to the second device via the one or more display generation components.

[0033] In some embodiments, a first device configured to communicate with one or more display generation components is described. In some embodiments, the first device includes components for performing each of the following steps: detecting that a user of a second device is no longer near the second device, wherein the second device is different from the first device; and in response to detecting that the user of the second device is no longer near the second device and based on determining that a set of one or more criteria is satisfied, wherein the set of one or more criteria includes criteria satisfied when the second device is not set to a specific mode, displaying a notification corresponding to the second device via the one or more display generation components.

[0034] In some embodiments, a computer program product is described. In some embodiments, the computer program product includes one or more programs configured to be executed by one or more processors of a first device communicating with one or more display generation components. In some embodiments, the one or more programs include instructions for: detecting that a user of a second device is no longer near the second device, wherein the second device is different from the first device; and, in response to detecting that the user of the second device is no longer near the second device and based on determining that a set of one or more criteria is met, wherein the set of one or more criteria includes criteria met when the second device is not set to a specific mode, displaying a notification corresponding to the second device via the one or more display generation components.

[0035] In some embodiments, a method is described that is performed by a first application at a computer system. In some embodiments, the method includes: detecting a request to display a user interface of the first application; and in response to detecting the request to display the user interface of the first application: initiating a second application, wherein the second application is distinct from the first application, based on determining that a second application has not yet been initiated; receiving content from the second application; and rendering the content received from the second application within the user interface of the first application, wherein the second application is terminated after the second application transmits the content to the first application.

[0036] In some embodiments, a non-transitory computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of a computer system by a first application. In some embodiments, the one or more programs include instructions for: detecting a request to display a user interface of the first application; and in response to detecting the request to display the user interface of the first application: initiating a second application, distinct from the first application, based on determining that a second application has not yet been initiated; receiving content from the second application; and rendering the content received from the second application within the user interface of the first application, wherein the second application is terminated after the second application transmits the content to the first application.

[0037] In some embodiments, a transient computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of a computer system by a first application. In some embodiments, the one or more programs include instructions for: detecting a request to display a user interface of the first application; and in response to detecting the request to display the user interface of the first application: initiating a second application, distinct from the first application, based on determining that a second application has not yet been initiated; receiving content from the second application; and rendering the content received from the second application within the user interface of the first application, wherein the second application is terminated after the second application transmits the content to the first application.

[0038] In some embodiments, a computer system for a first application is described. In some embodiments, the computer system includes: one or more processors; and memory storing one or more programs configured to be executed by the one or more processors. In some embodiments, the one or more programs include instructions for: detecting a request to display a user interface of the first application; and in response to detecting the request to display the user interface of the first application: initiating a second application, distinct from the first application, based on a determination that a second application has not yet been initiated; receiving content from the second application; and rendering the content received from the second application within the user interface of the first application, wherein the second application is terminated after the second application transmits the content to the first application.

[0039] In some embodiments, a computer system comprising a first application is described. In some embodiments, the computer system includes components for performing each of the following steps: detecting a request to display a user interface of the first application; and in response to detecting the request to display the user interface of the first application: initiating a second application, wherein the second application is distinct from the first application, based on determining that a second application has not yet been initiated; receiving content from the second application; and rendering the content received from the second application within the user interface of the first application, wherein the second application is terminated after the second application transmits the content to the first application.

[0040] In some embodiments, a computer program product is described. In some embodiments, the computer program product includes one or more programs configured to be executed by one or more processors of a computer system by a first application. In some embodiments, the one or more programs include instructions for: detecting a request to display a user interface of the first application; and in response to detecting the request to display the user interface of the first application: initiating a second application, wherein the second application is distinct from the first application, based on determining that a second application has not yet been initiated; receiving content from the second application; and rendering the content received from the second application within the user interface of the first application, wherein the second application is terminated after the second application transmits the content to the first application.

[0041] Executable instructions for performing these functions are optionally included in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors. Attached Figure Description

[0042] To better understand the various described embodiments, reference should be made to the following detailed description in conjunction with the accompanying drawings, wherein the same reference numerals in all the drawings indicate corresponding parts.

[0043] Figure 1A This is a block diagram illustrating a computing system based on some implementation schemes.

[0044] Figures 1B to 1G Examples of using application programming interfaces (APIs) to perform operations according to some implementation schemes are given.

[0045] Figure 2 This is a block diagram illustrating a device with interconnected subsystems according to some implementation schemes.

[0046] Figures 3A to 3K An exemplary user interface for adding accessories to a home ecosystem is illustrated according to some implementation schemes.

[0047] Figure 4 This is a flowchart illustrating a process for temporarily installing applications to add accessories to an ecosystem, according to some implementation schemes.

[0048] Figure 5 This is a flowchart illustrating the process of initializing and configuring accessories by the installer's equipment, according to some implementation schemes.

[0049] Figure 6This is a flowchart illustrating a process for initializing configuration accessories by a resident device, according to some implementation schemes.

[0050] Figure 7 The process for installing the resident equipment and initializing the structure is illustrated according to some implementation schemes.

[0051] Figure 8 This illustrates a process for initializing and configuring accessory equipment by the installer, according to some implementation schemes.

[0052] Figure 9 The process for operating a resident device in stand-alone mode is illustrated according to some implementation schemes.

[0053] Figure 10 The process for registering stationed equipment is illustrated according to some implementation schemes.

[0054] Figure 11 An example is given of a process for communicating with another device according to some implementation schemes.

[0055] Figure 12 Examples of procedures for notifying users are provided based on some implementation schemes.

[0056] Figure 13 An exemplary system architecture for integrating diagnostic information with communications, according to some implementation schemes, is illustrated.

[0057] Figures 14A to 14D An exemplary user interface for integrating diagnostic information with communications, according to some implementation schemes, is illustrated.

[0058] Figure 15 An exemplary system architecture for providing extended functionality using integrated content provider components within accessory devices, according to some implementation schemes, is illustrated.

[0059] Figure 16 An exemplary system architecture for providing extended functionality using rich content obtained through communication with a third-party web server, according to some implementation schemes, is illustrated.

[0060] Figure 17 An exemplary system architecture for providing extended functionality via downloaded content providers in a personal user's computing device is illustrated according to some implementation schemes.

[0061] Figure 18 Exemplary system architectures for using artificial intelligence to provide extended functionality are illustrated according to some implementation schemes.

[0062] Figures 19A to 19C An exemplary user interface for adding accessory devices to an environment, according to some implementation schemes, is illustrated.

[0063] Figures 20A to 20E Exemplary user interfaces for expanding functionality are illustrated according to some implementation schemes.

[0064] Figure 21 This is a flowchart illustrating a process for expanding functionality according to some implementation schemes. Detailed Implementation

[0065] The following description illustrates exemplary processes, parameters, etc. However, it should be understood that such description is not intended to limit the scope of this disclosure, but is provided as a description of exemplary embodiments.

[0066] The process described herein may include one or more steps depending on the satisfaction of one or more conditions. It should be understood that a process may occur in multiple iterations of the same process, where different steps of the process are satisfied in different iterations. For example, if a process requires performing a first step upon the determination of a set of one or more criteria, and a second step upon the determination of a set of one or more criteria not being satisfied, those skilled in the art will understand that the steps of the process are repeated until the two conditions are not satisfied in a particular order. Therefore, a process described as having steps depending on the satisfaction of conditions can be rewritten as a process that repeats until each of the conditions described in the process is satisfied. However, this is not required by a system claim or computer-readable medium claim, which includes instructions for performing one or more steps depending on the satisfaction of one or more conditions. Because the instructions for a system claim or computer-readable medium claim are stored in one or more processors and / or at one or more memory locations, the system claim or computer-readable medium claim includes logic that determines whether one or more conditions have been satisfied without explicitly repeating the steps of the process until all conditions under which the steps in the process are based have been satisfied. Those skilled in the art will also understand that, similar to a process having discretionary steps, a system or computer-readable storage medium may repeat the steps of a process multiple times as needed to ensure that all discretionary steps have been performed.

[0067] Although the following description uses the terms "first," "second," etc., to describe various elements, these elements should not be limited by the terms. In some embodiments, these terms are used to distinguish one element from another. For example, without departing from the scope of the various described embodiments, a first subsystem may be referred to as a second subsystem, and similarly, a second subsystem device or subsystem device may be referred to as a first subsystem device. In some embodiments, the first subsystem and the second subsystem are two separate references to the same subsystem. In some embodiments, both the first subsystem and the second subsystem are subsystems, but they are not the same subsystem or subsystems of the same type.

[0068] The terminology used in the description of the various described embodiments herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used in the description of the various described embodiments and in the appended claims, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and / or” as used herein refers to and covers any and all possible combinations of one or more of the associated listed items. It will also be understood that the terms “comprising” and / or “including” as used in this specification specify the presence of the stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0069] Depending on the context, the term "if" may optionally be interpreted as meaning "when," "in response to," "in response to detection," or "according to determination." Similarly, depending on the context, the phrases "if it is determined..." or "if [the stated condition or event] is detected" may optionally be interpreted as meaning "in response to," "in response to," "when [the stated condition or event] is detected," "in response to," or "according to"."

[0070] Go to Figure 1A A block diagram of computing system 100 is illustrated. Computing system 100 is a non-limiting example of a computing system that can be used to perform the functions described herein. It should be appreciated that other computer architectures can be used to perform the functions described herein.

[0071] In the illustrated example, computing system 100 includes a processor subsystem 110 that communicates (e.g., wired or wirelessly) with memory 120 (e.g., system memory) and I / O interface 130 via interconnect 150 (e.g., a system bus, one or more memory locations, or other communication channels for connecting multiple components of computing system 100). Furthermore, I / O interface 130 communicates (e.g., wired or wirelessly) with I / O device 140. In some embodiments, I / O interface 130 and I / O device 140 are included together such that they are a single component. It should be appreciated that one or more I / O interfaces may exist, with each I / O interface communicating with one or more I / O devices. In some embodiments, multiple instances of processor subsystem 110 may communicate via interconnect 150.

[0072] The computing system 100 can be any type of device from a variety of types, including but not limited to system-on-a-chip, server systems, personal computer systems (e.g., smartphones, smartwatches, wearable devices, tablets, laptops, and / or desktop computers), sensors, etc. In some embodiments, the computing system 100 includes or communicates with physical components for the purpose of modifying physical components in response to instructions. In some embodiments, the computing system 100 receives instructions for modifying physical components and, in response to those instructions, causes the physical components to be modified. In some embodiments, the physical components are modified via actuators, electrical signals, and / or algorithms. Examples of such physical components include accelerometer controls, brakes, gearboxes, hinges, motors, pumps, cooling systems, springs, suspension systems, steering controls, pumps, vacuum systems, and / or valves. In some embodiments, the sensor includes one or more hardware components that detect information about the physical environment in the vicinity (e.g., the surroundings) of the sensor. In some embodiments, the hardware components of the sensor include sensing components (e.g., image sensors or temperature sensors), transmitting components (e.g., laser or radio transmitters), receiving components (e.g., laser or radio receivers), or any combination thereof. Examples of sensors include angle sensors, chemical sensors, braking pressure sensors, contact sensors, non-contact sensors, electrical sensors, flow sensors, force sensors, gas sensors, humidity sensors, image sensors (e.g., camera sensors, radar sensors, and / or lidar sensors), inertial measurement units, leak sensors, level sensors, light detection and ranging systems, metal sensors, motion sensors, particle sensors, photoelectric sensors, positioning sensors (e.g., GPS), sediment sensors, pressure sensors, proximity sensors, radio detection and ranging systems, radiation sensors, velocity sensors (e.g., measuring the velocity of an object), temperature sensors, time-of-flight sensors, torque sensors, and ultrasonic sensors. In some embodiments, the sensor comprises a combination of multiple sensors. In some embodiments, sensor data is captured by fusing data from one sensor with data from one or more other sensors. Although in Figure 1A The diagram shows a single computing system, but computing system 100 can also be implemented as two or more computing systems operating together.

[0073] In some implementations, processor subsystem 110 includes one or more processors or processing units configured to execute program instructions to perform the functionality described herein. For example, processor subsystem 110 may execute an operating system, middleware system, one or more applications, or any combination thereof.

[0074] In some implementations, the operating system manages the resources of computing system 100. Examples of operating system types covered herein include bulk operating systems (e.g., multiple virtual memory (MVS)), time-sharing operating systems (e.g., Unix), distributed operating systems (e.g., Advanced Interactive Execution (AIX)), network operating systems (e.g., Microsoft Windows Server), and real-time operating systems (e.g., QNX). In some implementations, the operating system includes various processes, instruction sets, software components, and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and for facilitating communication between various hardware and software components. In some implementations, the operating system uses a priority-based scheduler that assigns priorities to different tasks executable by processor subsystem 110. In such examples, the priority assigned to a task is used to identify the next task to be executed. In some implementations, the priority-based scheduler identifies the next task to be executed when a previous task has completed execution. In some implementations, the highest priority task runs until completion unless another higher priority task becomes ready.

[0075] In some implementations, the middleware system provides applications (e.g., one or more applications running on processor subsystem 110) with one or more services and / or capabilities beyond those provided by the operating system (e.g., data management, application services, messaging, authentication, API management, etc.). In some implementations, the middleware system is designed for heterogeneous computer clusters to provide hardware abstraction, low-level device control, implementation of common functionality, inter-process messaging, packet management, or any combination thereof. Examples of middleware systems include Lightweight Communication and Marshaling (LCM), PX4, Robot Operating System (ROS), and ZeroMQ. In some implementations, the middleware system uses a graphical architecture to represent processes and / or operations, where processing occurs in nodes that can receive, publish, and multiplex sensor data messages, control messages, status messages, planning messages, actuator messages, and other messages. In such examples, the graphical architecture may define an application (e.g., an application executing on processor subsystem 110 as described above) such that different operations of the application are associated with different nodes in the graphical architecture.

[0076] In some implementations, a publish-subscribe model is used to perform message delivery from a first node in the graph architecture to a second node in the graph architecture, where the first node publishes data on a channel that the second node can subscribe to. In such examples, the first node may store data in memory (e.g., memory 120 or a local memory of processor subsystem 110) and notify the second node that the data has been stored in memory. In some implementations, the first node notifies the second node that the data has been stored in memory by sending a pointer (e.g., a memory pointer, such as an identifier of a memory location) to the second node, enabling the second node to access the data from the location where the first node stores the data. In some implementations, the first node will deliver data directly to the second node, so that the second node will not need to access memory based on data received from the first node.

[0077] Memory 120 may include a computer-readable medium (e.g., a non-transitory or transient computer-readable medium) that can be used to store (e.g., configured to store, assigned to store, and / or store) program instructions that can be executed by processor subsystem 110 to cause computing system 100 to perform the various operations described herein. For example, memory 120 may store program instructions to implement processes 400, 500, 600, 1100, 1200, and / or 2100 described below. Figure 4 , Figure 5 , Figure 6 , Figure 11 , Figure 12 and Figure 21 Related functionality.

[0078] Memory 120 may be implemented using various physical non-transitory memory media, such as hard disk storage devices, floppy disk storage devices, removable disk storage devices, flash memory, random access memory (RAM-SRAM, EDO RAM, SDRAM, DDRSDRAM, RAMBUS RAM, etc.), read-only memory (PROM, EEPROM, etc.). The memory in computing system 100 is not limited to main memory devices such as memory 120. Computing system 100 may also include other forms of storage devices, such as cache memory in processor subsystem 110 and auxiliary storage devices (e.g., hard disk drives, memory arrays, etc.) on I / O devices 140. In some embodiments, these other forms of storage devices may also store program instructions executable by processor subsystem 110 to perform the operations described herein. In some embodiments, processor subsystem 110 (or each processor within processor subsystem 110) includes cache or other forms of on-board memory.

[0079] I / O interface 130 can be any type of interface configured to communicate with other devices. In some embodiments, I / O interface 130 includes a bridge chip (e.g., a southbridge) connecting a front-side bus to one or more back-side buses. I / O interface 130 can communicate with one or more I / O devices (e.g., I / O device 140) via one or more corresponding buses or other interfaces. Examples of I / O devices include storage devices (hard disk drives, optical disk drives, removable flash drives, storage arrays, SANs, or their associated controllers), network interface devices (e.g., to a local area network or wide area network), sensor devices (e.g., cameras, radar, lidar, ultrasonic sensors, GPS, inertial measurement devices, etc.), and auditory or visual output devices (e.g., speakers, lights, screens, projectors, etc.). In some embodiments, computing system 100 communicates with a network via a network interface device (e.g., configured to communicate via Wi-Fi, Bluetooth, Ethernet, etc.). In some embodiments, computing system 100 is directly or wired connected to a network.

[0080] Specific embodiments within the scope of this disclosure may be implemented, in whole or in part, using a tangible computer-readable storage medium (or a plurality of tangible computer-readable storage media of one or more types) that encodes one or more computer-readable instructions. It should be understood that computer-executable instructions may be organized in any format, including applications, widgets, processes, software, software modules, and / or components.

[0081] Specific embodiments within the scope of this disclosure include computer-readable storage media encoding instructions organized as an application (e.g., application 170) that, when executed by one or more processing units, control the execution of an electronic device (e.g., device 168). Figure 1B The process, Figure 1C The process and / or one or more other processes and / or processes described herein.

[0082] It should be recognized that, ( Figure 1DThe illustrated application 170 can be any suitable type of application, including one or more of the following: browser applications, applications used as execution environments for plugins, widgets, or other applications, fitness applications, health applications, accessory management applications, home applications, digital payment applications, media applications, social networking applications, messaging applications, and / or map applications. In some embodiments, application 170 is an application pre-installed on device 168 at the time of purchase (e.g., a first-party application). In some embodiments, application 170 is an application provided to device 168 via operating system update files (e.g., a first-party or second-party application). In other embodiments, application 170 is an application provided via an app store. In some embodiments, the app store can be an app store pre-installed on device 168 at the time of purchase (e.g., a first-party app store). In some embodiments, the app store is a third-party app store (e.g., an app store provided by another app store, downloaded via a network, and / or read from a storage device).

[0083] refer to Figure 1B and Figure 1F Application 170 obtains information (e.g., 160). In some embodiments, at 160, information is obtained from at least one hardware component of device 168. In some embodiments, at 160, information is obtained from at least one software module of device 168 (e.g., a set of one or more instructions). In some embodiments, at 160, information is obtained from at least one hardware component external to device 168 (e.g., peripheral devices, accessory devices, and / or servers). In some embodiments, the information obtained at 160 includes location information, time information, notification information, user information, environmental information, electronic device status information, weather information, media information, historical information, event information, hardware information, and / or motion information. In some embodiments, in response to obtaining information at 160 and / or after this step, application 170 provides the information to the system (e.g., 162).

[0084] In some implementations, the system (e.g., such as) Figure 1E The illustrated 180) is the operating system hosted on device 168. In some implementations, the system (e.g., such as...) Figure 1E The illustrated 180) is an external device (e.g., a server, peripheral device, accessory and / or personal computing device) that includes the operating system.

[0085] refer to Figure 1CApplication 170 obtains information (e.g., 164). In some embodiments, the information obtained at 164 includes location information, time information, notification information, user information, environmental information, electronic device status information, weather information, media information, historical information, event information, hardware information, and / or motion information. In response to obtaining information at 164 and / or after this step, application 170 uses the information to perform an operation (e.g., 166). In some embodiments, the operation performed at 166 includes: providing notifications based on the information, sending messages based on the information, displaying information, controlling the user interface of a fitness application based on the information, controlling the user interface of a health application based on the information, controlling focus mode based on the information, setting reminders based on the information, adding calendar entries based on the information, and / or calling the API of system 180 based on the information.

[0086] In some implementation schemes, Figure 1B The process and / or Figure 1C One or more steps of the process are performed in response to a trigger. In some implementations, triggers include the detection of an event, a notification received from system 180, user input, and / or a response to a call to an API provided by system 180.

[0087] In some implementations, when instructions from application 170 are executed, they control device 168 to perform actions by invoking an application programming interface (API) (e.g., API 176) provided by system 180. Figure 1B The process and / or Figure 1C The process. In some implementations, application 170 executes without calling API 176. Figure 1B The process and / or Figure 1C At least part of the process.

[0088] In some implementation schemes, Figure 1B The process and / or Figure 1C One or more steps of the process involve calling the API (e.g., API 176) using one or more parameters defined by the API. In some implementations, one or more parameters include constants, keys, data structures, objects, object classes, variables, data types, pointers, arrays, lists, or pointers to functions or processes and / or references to data or other items to be passed via the API in another way.

[0089] refer to Figure 1D Device 168 is illustrated. In some embodiments, device 168 is a personal computing device, smartphone, smartwatch, fitness tracker, head-mounted display (HMD) device, media device, public utility, speaker, television, and / or tablet computer. Device 168 includes application 170 and operating system (not shown) (e.g., such as...). Figure 1E The illustrated system 180). Application 170 includes application implementation instructions 172 and API call instructions 174. System 180 includes API 176 and implementation instructions 178. It should be understood that, with Figure 1D and Figure 1E Compared to the illustrated components, device 168, application 170 and / or system 180 may include more, fewer and / or different components.

[0090] In some embodiments, application implementation instructions 172 are software modules comprising a set of one or more computer-readable instructions. In some embodiments, this set of one or more computer-readable instructions corresponds to one or more operations performed by application 170. For example, when application 170 is a messaging application, application implementation instructions 172 may include operations for receiving and transmitting messages. In some embodiments, application implementation instructions 172 communicate with API call instructions to communicate with system 180 (e.g., via API 176) via API 176. Figure 1E (As illustrated) to communicate.

[0091] In some implementations, API call instruction 174 is a software module that includes a set of one or more computer-executable instructions.

[0092] In some implementations, implementing instruction 178 is a software module that includes one or more computer-executable instructions.

[0093] In some implementations, API 176 is a software module comprising one or more computer-executable instructions. In some implementations, API 176 provides an interface that allows different sets of instructions (e.g., API call instruction 174) to access and / or use one or more functions, processes, procedures, data structures, classes, and / or other services provided by implementation instructions 178 of system 180. For example, API call instruction 174 can access features of implementation instruction 178 through one or more API calls or references exposed by API 176 (e.g., manifested through function calls, method calls, or process calls), and can pass data and / or control information using one or more parameters via API calls or references. In some implementations, API 176 allows application 170 to use services provided by a software development kit (SDK) library. In some implementations, application 170 combines calls to functions or processes provided by the SDK library and provided by API 176, or the use of data types or objects defined in the SDK library and provided by API 176. In some implementations, API call instruction 174 makes an API call via API 176 to access and use the features of implementation instruction 178 specified by API 176. In such implementations, implementation instruction 178 may return a value to API call instruction 174 via API 176 in response to the API call. This value may report to application 170 the capabilities or status of hardware components of device 168, including those capabilities or statuses related to input capabilities and status, output capabilities and status, processing capabilities, power status, storage capacity and status, and / or communication capabilities. In some implementations, API 176 is implemented in part by firmware, microcode, or other low-level logic executed in part on the hardware components.

[0094] In some implementations, API 176 allows the developer of API call instruction 174 (which may be a third-party developer) to utilize features provided by implementation instruction 178. In such implementations, one or more sets of API call instructions (e.g., including API call instruction 174) may exist that communicate with implementation instruction 178. In some implementations, API 176 allows multiple sets of API call instructions written in different programming languages ​​to communicate with implementation instruction 178 (e.g., API 176 may include features for translating calls and returns between implementation instruction 178 and API call instruction 174), and API 176 is implemented in a specific programming language. In some implementations, API call instruction 174 calls APIs from different providers, such as one set of APIs from an OS provider, another set of APIs from a plugin provider, and / or another set of APIs from another provider (e.g., a software library provider) or the creator of another set of APIs.

[0095] Examples of API 176 may include one or more of the following: pairing APIs (e.g., for establishing a secure connection, such as with an accessory), device detection APIs (e.g., for locating nearby devices, such as media devices and / or smartphones), payment APIs, UIKit APIs (e.g., for generating user interfaces), location detection APIs, locator APIs, map APIs, health sensor APIs, sensor APIs, messaging APIs, push notification APIs, streaming APIs, collaboration APIs, video conferencing APIs, app store APIs, advertising service APIs, web browser APIs (e.g., WebKit APIs), transportation APIs, networking APIs, WiFi APIs, Bluetooth APIs, NFC APIs, UWB APIs, fitness APIs, smart home APIs, contact passing APIs, photo APIs, camera APIs, and / or image processing APIs. In some implementations, a sensor API is an API for accessing data associated with sensors of device 168. For example, a sensor API may provide access to raw sensor data. Alternatively, a sensor API may provide data derived (and / or generated) from raw sensor data. In some implementations, sensor data includes temperature data, image data, video data, audio data, heart rate data, IMU (Inertial Measurement Unit) data, LiDAR data, location data, GPS data, and / or camera data. In some implementations, sensors include one or more of accelerometers, temperature sensors, infrared sensors, optical sensors, heart rate sensors, barometers, gyroscopes, proximity sensors, and / or biometric sensors.

[0096] In some implementations, implementation instruction 178 is a system (e.g., an operating system and / or server system) software module (e.g., a set of computer-readable instructions) configured to perform an operation in response to an API call received via API 176. In some implementations, implementation instruction 178 is configured to provide an API response (via API 176) as a result of processing the API call. For example, implementation instruction 178 and API call instruction 174 can each be any of an operating system, library, device driver, API, application, or other module. It should be understood that implementation instruction 178 and API call instruction 174 can be the same or different types of software modules. In some implementations, implementation instruction 178 is at least partially embodied in firmware, microcode, or other hardware logic.

[0097] In some implementations, implementation instruction 178 returns a value via API 176 in response to an API call from API call instruction 174. While API 176 defines the syntax and result of the API call (e.g., how to reference the API call and what the API call can do), API 176 may not reveal how implementation instruction 178 performs the function specified by the API call. Various API calls are transferred via one or more application programming interfaces between API call instruction 174 and implementation instruction 178. Transferring API calls may include issuing, initiating, referencing, calling, receiving, returning, and / or responding to function calls or messages. In other words, a transfer may describe the action performed by API call instruction 174 or implementation instruction 178. In some implementations, the function call or other reference of API 176 is passed through a parameter list or other structure and / or receives one or more parameters.

[0098] In some implementations, implementation instruction 178 provides more than one API, each API providing a different view or aspect of the functionality implemented by implementation instruction 178. For example, one API of implementation instruction 178 may provide a first set of functions and be exposed to third-party developers, while another API of implementation instruction 178 may be hidden (e.g., not exposed) and provide a subset of the first set of functions, and also provide another set of functions, such as test or debug functions not in the first set of functions. In some implementations, implementation instruction 178 calls one or more other components via the underlying API, thus acting as both an API call instruction and an implementation instruction. It should be recognized that implementation instruction 178 may include additional functions, processes, classes, data structures, and / or other features not specified through API 176 and not available for API call instruction 174. It should also be recognized that API call instruction 174 may reside on the same system as implementation instruction 178, or may be remotely located and accessed via a network using API 176. In some implementations, implementation instructions 178, API 176, and / or API call instructions 174 are stored in a machine-readable medium, which includes any means for storing information in a machine-readable form (e.g., a computer or other data processing system). For example, a machine-readable medium may include a magnetic disk, optical disk, random access memory, read-only memory, and / or flash memory devices.

[0099] Figure 2A block diagram of a device 200 with interconnected subsystems is illustrated. In the illustrated example, device 200 includes three distinct subsystems (i.e., a first subsystem 210, a second subsystem 220, and a third subsystem 230) that communicate with each other (e.g., wired or wirelessly) to create networks (e.g., personal area networks, local area networks, wireless LANs, metropolitan area networks, wide area networks, storage area networks, virtual private networks, enterprise intranets, campus area networks, system area networks, and / or controller area networks). Figure 1A (That is, computing system 100) describes as follows: Figure 2 Examples of possible computer architectures for the subsystems included. Although in Figure 2 Three subsystems are shown, but device 200 may include more or fewer subsystems.

[0100] In some implementations, some subsystems are not connected to other subsystems (e.g., first subsystem 210 may be connected to second subsystem 220 and third subsystem 230, but second subsystem 220 cannot be connected to third subsystem 230). In some implementations, some subsystems are connected via one or more wires, while other subsystems are wirelessly connected. In some implementations, a message is set between first subsystem 210, second subsystem 220, and third subsystem 230 such that when a corresponding subsystem transmits a message, other subsystems (e.g., via wires and / or buses) receive that message. In some implementations, one or more subsystems are wirelessly connected to one or more computing systems, such as server systems, external to device 200. In such examples, subsystems may be configured to communicate wirelessly with one or more computing systems external to device 200.

[0101] In some embodiments, device 200 includes a housing that completely or partially encloses subsystems 210-230. Examples of device 200 include household appliances (e.g., refrigerators or air conditioning systems), robots (e.g., robotic arms or robotic vacuum cleaners), and vehicles. In some embodiments, device 200 is configured to navigate in a physical environment (with or without user input).

[0102] In some embodiments, one or more subsystems of device 200 are used to control, manage, and / or receive data from one or more other subsystems of device 200 and / or one or more computing systems remote from device 200. For example, the first subsystem 210 and the second subsystem 220 may each be a camera capturing images, and the third subsystem 230 may use the captured images for decision-making. In some embodiments, at least a portion of device 200 is used as a distributed computing system. For example, a task may be broken down into different parts, with a first part performed by the first subsystem 210 and a second part performed by the second subsystem 220.

[0103] Attention now turns to the technologies used to add accessories to the ecosystem. Such technologies are described in the context of adding vacuum cleaners to a home ecosystem using the following user interface flow: from one or more user interfaces of a home application to one or more user interfaces of an operating system, then to one or more user interfaces of a vacuum cleaner application, then to one or more user interfaces of a home application, then to one or more user interfaces of a vacuum cleaner application, and finally to one or more user interfaces of a home application. It should be recognized that other user interface flows can be used in conjunction with the technologies described herein. For example, the technologies described herein can use the following user interface flow: from one or more user interfaces of an operating system to one or more user interfaces of a vacuum cleaner application, then to one or more user interfaces of a home application. Furthermore, the technologies optionally complement or replace other technologies used to add accessories to the ecosystem.

[0104] Figures 3A to 3K Exemplary user interfaces for adding accessories to a home ecosystem are illustrated according to some implementation schemes. The user interfaces in these figures are used to illustrate the processes described below, including... Figures 4 to 6 The process in.

[0105] Figures 3A to 3K Computer system 300 is illustrated. In this example, computer system 300 is illustrated as a smartphone. It should be understood that computer system 300 can be other types of computer systems, such as smartwatches, tablets, laptops, desktop computers, public devices, accessories (sometimes referred to herein as accessory devices), personal gaming systems, laptop computers, fitness trackers, and / or head-mounted display (HMD) devices.

[0106] In the following text about Figures 3A to 3KIn the described example, computer system 300 displays a user interface for a home application, an operating system, and a vacuum cleaner application. In some embodiments, the home application is an application that allows a user to control one or more accessories, communicate with one or more accessories, and / or check the status of one or more accessories. In some embodiments, the operating system is software (sometimes referred to as an application) that manages the hardware and / or software resources of computer system 300. In such embodiments, system processes such as services and / or daemons may perform operations on behalf of the operating system. In some embodiments, the vacuum cleaner application is an application for a type of accessory and / or is provided by the manufacturer of that type of accessory. In such embodiments, the accessory corresponding to the vacuum cleaner application may need to use the vacuum cleaner application (and / or as described below). Figure 3E (A further sub-function described herein) to add accessories to the home ecosystem of the home application (e.g., a collection of one or more accessories belonging to a single security domain, as further described below). It should be recognized that the user interface of one type of application described herein can be another type of user interface of an application besides the user interface of the application described herein, including: the user interface of the home application can be the user interface of an operating system, and / or the user interface of the operating system can be the user interface of a camera application.

[0107] In some implementations, computer system 300 communicates with another computer system (hereinafter sometimes referred to as a resident device) that is different from computer system 300. In such implementations, the resident device may be a device that physically exists in a physical area (sometimes referred to as a home) to add accessories to the home, initialize the configuration of the accessory, install the accessory, configure the accessory, manage the accessory, control the accessory, communicate with the accessory, and / or identify the accessory. For example, the resident device may use the following description... Figures 3A to 3K The described process is one or more procedures to add accessories to a home ecosystem corresponding to home applications.

[0108] Although Figures 3A to 3K Examples include computer system 300 detecting one or more inputs, but it should be recognized that such inputs are for interpretive purposes only, and such inputs can be other types of inputs, such as voice input via one or more microphones, touch input via one or more touch-sensitive surfaces, physical input via one or more physical input mechanisms, and / or gesture input via one or more cameras.

[0109] like Figure 3AAs illustrated, computer system 300 displays a user interface 302 for home applications. In some embodiments, user interface 302 includes representations of accessories previously added to the home ecosystem. In some embodiments, the representation of accessories allows quick access to the status, condition, and / or control functions of existing accessories in the home ecosystem. In some embodiments, under the "My Home" section, user interface 302 includes representations of content categories, such as ambient lighting, lighting, and / or music. In such embodiments, content categories allow users to quickly control and / or access the user interface sections belonging to those categories. For example, a lighting representation 308 (e.g., with an indication of "All Off") and a music representation 310 (e.g., with an indication of "Off") provide quick access to the status and / or control functions of accessories. In some embodiments, under the "Accessories" section, user interface 302 includes representations of accessories in the home ecosystem, such as a front door lock representation 312, a porch light representation 314, and a coffee maker representation 316. In some implementations, the "Accessories" section may include accessories for specific areas, zones, and / or rooms within the home ecosystem (accessories that have been previously added, assigned, and / or configured to that specific area, zone, and / or room), rather than a complete list of all accessories in the home ecosystem. For example, when a user has a pre-configured room (such as a living room), the "Accessories" section may include a list of accessories corresponding to (e.g., added, assigned, and / or configured to be included in) the living room. In some implementations, the representation of an accessory (e.g., 308, 310, 312, 314, and / or 316) provides the status and / or control functionality of one or more accessories they correspond to. For example, the representation of a front door lock 312 may indicate whether the front door is currently "locked" or "unlocked." In some implementations, the representation of an accessory may include one or more controls leading to a separate user interface of a home application and / or another application (e.g., an application corresponding to the accessory type described above) for accessing further features and / or control functionality of the accessory. In some implementations, the user interface 302 includes edit buttons (e.g., 304) for editing, adding, and / or removing representations of accessories from the user interface 302. In some embodiments, user interface 302 includes one or more user interface elements (e.g., 318, 320, and / or 322) for accessing other user interfaces in the home application, such as options for navigating to a user interface for automation (e.g., 322) and / or user interface 302 (e.g., 318). In some embodiments, user interface 302 includes an add button (e.g., 306) marked with a "+" displayed in the upper right corner of user interface 302 for adding new accessories and / or new scenes to the home ecosystem. It should be appreciated that user interface 302 may include more than Figure 3AThe examples illustrate more, less, and / or different content, and this placement of certain user interface elements is for explanatory purposes.

[0110] exist Figure 3A At this point, computer system 300 detects a tap input 305a directed at add button 306. It should be recognized that input 305a is an example of selection input and can be other types of input, such as mouse click, verbal input, and / or button press. It should also be recognized that in some implementations, with... Figure 3B The corresponding description is optional, and alternatively, tapping input 305a causes computer system 300 to proceed to the position corresponding to... Figure 3C Corresponding description.

[0111] like Figure 3B As illustrated, in response to detecting a tap input 305a, the computer system 300 displays a modal on top of the user interface 302, such as covering the bottom portion of the user interface 302. In some embodiments, the modal belongs to a home application and includes a button 324 labeled "Add Accessory" for adding accessories, a button 326 labeled "Add Scene" for adding scenes, and / or a button 328 labeled "Cancel" for canceling the modal. In some embodiments, the button 324 for adding accessories is used to initiate a process for adding accessories to the home ecosystem, which will be discussed below. Figures 3C to 3K Further description. In some embodiments, button 326 for adding a scene is used to create a new scene that allows simultaneous control of multiple accessories. In some embodiments, button 328 for canceling a modality allows the user to close the modality without selecting button 324 or button 326.

[0112] exist Figure 3B At this point, computer system 300 detects a tap input 305b pointing to button 324 for adding accessories. It should be recognized that tap input 305b is an example of selection input and could be other inputs, such as voice input pointing to button 324 or air gestures, to initiate the process of adding accessories to the home ecosystem.

[0113] like Figure 3CAs illustrated, in response to the detection of a tap input 305b, computer system 300 displays user interface 330 over user interface 302, such as partially covering user interface 302. In other embodiments, user interface 330 replaces user interface 302. In some embodiments, user interface 330 is part of a home application and includes a camera view 332 that displays live feeds from one or more cameras communicating with and / or included in the computer system 300. It should be appreciated that user interface 330 may be part of other applications, such as the operating system of computer system 300 or a camera application.

[0114] In some embodiments, camera view 332 allows a user to scan a Quick Response (QR) code associated with an accessory (such as a vacuum cleaner used as an example in the description below). In some embodiments, the QR code associated with the accessory is displayed or printed on the accessory. In other embodiments, the QR code associated with the accessory is provided with documentation and / or a box associated with the accessory. In some embodiments, user interface 330 includes instructions guiding the user to scan the QR code on the accessory and / or to keep their device (e.g., computer system 300) near the accessory to identify the accessory via wireless communication, as discussed further below. In such embodiments, the accessory can be identified by detecting its proximity to computer system 300 to initiate the process of adding the accessory. For example, computer system 300 may use NFC, Bluetooth, and / or other short-range wireless technologies to detect the presence of an accessory within range. It should be understood that user interface 330 is for illustrative purposes and may include more, less, and / or different content than illustrated, including different mechanisms for identifying accessories beyond camera view 332.

[0115] exist Figure 3C At this point, computer system 300 detects input for identifying the accessory as a step in adding the accessory to the home ecosystem; in this example, the input is a QR code detected via camera view 332. It should be recognized that the input for identifying the accessory can be other types of input, such as NFC detection events and / or Bluetooth pairing.

[0116] like Figure 3D As illustrated, in response to detecting input for identifying an accessory, computer system 300 displays a user interface 334 for adding the accessory to one or more networks associated with a home ecosystem. In some embodiments, computer system 300 displays user interface 334 in response to pairing the accessory with information obtained via a QR code and / or after that step. For example, the QR code can be used to obtain the accessory's pairing code, address information, and / or other identification information, enabling computer system 300 to connect to the accessory (e.g., via a short-range communication channel, such as Bluetooth). Figure 3D As illustrated, user interface 334 includes a prompt to inform the user that access to the WiFi network is required before adding the accessory to the home ecosystem. It should be recognized that WiFi is an example of a network type that can be used, and other types of networks, such as Thread networks and / or cellular networks, may also be used.

[0117] like Figure 3D As illustrated, the user interface 334 includes two buttons: a "Disallow" button 336 and an "Allow" button 338. In some embodiments, the "Disallow" button 336 and the "Allow" button 338 allow the user to control whether to grant the accessory access to a network associated with the home ecosystem (e.g., a home Wi-Fi network). In some embodiments, if the user selects the "Disallow" button 336, the process of adding the accessory to the home ecosystem is canceled and / or paused until network access is granted.

[0118] exist Figure 3D At this point, computer system 300 detects a tap input 305d on the "Allow" button 338. It should be recognized that tap input 305d is an example of selection input and could be other inputs, such as an air gesture pointing to the "Allow" button or a voice command to allow accessories access to the network associated with the home ecosystem.

[0119] In some implementations, after granting the accessory access to the network associated with the home ecosystem, computer system 300 determines whether the accessory application corresponding to the accessory is already installed on computer system 300. In some implementations, there are multiple versions of the accessory application sufficient to add the accessory to the home ecosystem. For example, a full application may exist, installed by the user and maintained on computer system 300 until the user decides to remove it. Alternatively, a lighter-weight application (referred to herein as a vacuum cleaner application) may exist corresponding to the full application, which is temporarily downloaded and / or installed such that the vacuum cleaner application is automatically removed from computer system 300 after the accessory is added to the home ecosystem without the computer system 300 detecting user input. In such an example, the vacuum cleaner application may have limited functionality, be faster and / or smaller in size than the full application download. The vacuum cleaner application may allow access to the functionality of the full application without installing the full application. In some implementations, during the setup process (e.g., as described below regarding...), Figures 3F to 3J After (as described) or after a predetermined period of use of the vacuum cleaner application has elapsed, the vacuum cleaner application is automatically removed from the computer system 300.

[0120] like Figure 3EAs illustrated, in response to the detection of input 305d when the accessory application is not installed on computer system 300, computer system 300 displays user interface 340. In some embodiments, user interface 340 is provided by the operating system and allows the user to initiate a process of downloading, installing, and / or otherwise obtaining the vacuum cleaner application. In such embodiments, the operating system manages the integration of the user interface of the home application and the user interface of the vacuum cleaner application to allow seamless transitions between user interfaces during the process of adding accessories to the home ecosystem. In some embodiments, integration may involve transferring relevant data (such as accessory data, user account data, and / or accessory configuration data) between the home application, the operating system, and / or the accessory application. It should be recognized that user interface 340 may be provided by other applications (such as the home application and / or a browser).

[0121] like Figure 3E As illustrated, the user interface 340 includes a representation of the accessory (e.g., an icon or image of a vacuum cleaner in this example) and a default name and / or identifier for the accessory (e.g., "vacuum cleaner" in this example). Also, Figure 3E As illustrated, the user interface 340 includes a close button 346, indicated as an "X," in the upper right corner of the user interface 340. In some embodiments, the close button 346 allows the user to end the process of adding accessories to the home ecosystem. Also as... Figure 3E As illustrated, the user interface 340 includes a button 344, labeled "Open" in this example. In some embodiments, button 344 is used to initiate a process of downloading, installing, and / or otherwise obtaining the vacuum cleaner application. It should be appreciated that the user interface 340 may include more than Figure 6 E illustrates more, less, and / or different content, such as a "Start" button, a "Connect" button, and / or other buttons for performing different operations and / or obtaining different information. In some implementations, the operating system customizes the user interface 340 based on information received from the home application or accessory itself. For example, the user interface 340 may include a specific model of the vacuum cleaner and / or indications of the home ecosystem being used. It should be recognized that the computer system 300 may initiate the process of downloading, installing, and / or otherwise obtaining the vacuum cleaner application at other times, such as in response to detecting input for identifying the accessory, as described above. Figure 3C As described. In some implementations, the user interface 340 can be skipped when the vacuum cleaner application is accessed at other times.

[0122] exist Figure 3E At this point, the computer system 300 detects a tap input 305e on button 344. It should be recognized that tap input 305e is an example of selection input and can be other types of input, such as a voice command pointing to button 344 or an air gesture.

[0123] In some implementations, in response to detecting a tap input 305e and / or obtaining a vacuum cleaner application, computer system 600 displays a user interface for the vacuum cleaner application. In such implementations, the user interface may depend on the vacuum cleaner application and / or what type of accessory is being added. Specifically, different applications and / or different accessories may have different user interface flows including different user interfaces. Examples of such user interfaces may include content corresponding to the installation and / or configuration of the accessory, which is necessary and / or optional for adding the accessory to the home ecosystem. In some implementations, some steps described as part of adding the accessory to the home ecosystem on the user interface of the home application (such as allowing the accessory to access the network associated with the home ecosystem) may alternatively be performed via the user interface of the vacuum cleaner application (e.g., such as in...). Figures 3E to 3G or Figure 3I (As illustrated in the user interface). Similarly, in some embodiments, some steps described as part of adding accessories to the home ecosystem on the user interface of a vacuum cleaner application can alternatively be provided via the user interface of the home application (such as on...). Figures 3A to 3D , Figure 3H and / or Figures 3J to 3K Provided on the illustrated user interface.

[0124] like Figure 3F As illustrated, in response to detecting a tap input 305e and / or obtaining a vacuum cleaner application, computer system 300 displays a user interface 348 for the vacuum cleaner application. In some embodiments, user interface 348 is a user interface for logging into the vacuum cleaner application. Figure 3F As illustrated, user interface 348 includes (1) a header (e.g., “Log in to your vacuum cleaner account”); (2) a back button in the upper left corner to return to user interface 340 or user interface 302; and (3) multiple buttons for logging into the vacuum cleaner app (e.g., button 350, button 352, and button 354), each using a different login method. It should be recognized that user interface 340 is used as an example, and some apps may use more, fewer, and / or different methods and / or may not require user login and therefore skip user interface 340 entirely.

[0125] In some implementations, button 350, labeled “Log in using device,” allows the user to authenticate using one or more credentials stored on and / or associated with computer system 300. For example, one or more credentials may be used for a single sign-on (SSO) authentication method that is not solely tied to the vacuum cleaner app and / or home app. In some implementations, button 352, labeled “Log in using vacuum cleaner app,” allows the user to log in using one or more credentials from the vacuum cleaner app. For example, the vacuum cleaner app (and / or the organization corresponding to the vacuum cleaner app, such as a third-party supplier, manufacturer, and / or seller of accessories) may allow the user to directly create an account for the vacuum cleaner app only. In some implementations, button 354, labeled “Create account using vacuum cleaner app,” provides the user with the option to create an account using the vacuum cleaner app. In such implementations, the created account may be logged in later using, for example, button 352.

[0126] In some implementations, the selection made at user interface 348 determines the subsequent process of adding an accessory to the home ecosystem. For example, selecting to create a new account (e.g., entering 305f3) leads to an additional user interface for entering and / or submitting user information, while selecting to log in using existing credentials (e.g., entering 305f1 or 305f2) leads to a different user interface for completing the login process (such as through one or more user interfaces of the operating system and / or vacuum cleaner application). In some implementations, user interface 348 includes an option to skip authentication.

[0127] Figure 3F An example is shown of computer system 300 detecting inputs 305f1, 305f3, or 305f3. It should be recognized that these inputs are examples of selection inputs and can be other types of inputs, such as voice commands for authentication or air gestures pointing to corresponding buttons. It should also be recognized that only one of these inputs is detected at a time, and each input will result in a different user interface flow.

[0128] like Figure 3G As illustrated, in response to logging into the vacuum cleaner application, computer system 300 displays the vacuum cleaner application's user interface 356. In some implementations, the user interface 356 is an installation guide for setting up the vacuum cleaner's physical components, such as the docking station. Figure 3G As illustrated, the user interface 356 includes a button 358 labeled "Done" for completing and / or advancing the third-party setup process of the accessory.

[0129] exist Figure 3GAt this point, the computer system 300 detects a tap input 305g on button 358. It should be recognized that tap input 305g is an example of selection input and can be other inputs, such as a voice command to confirm the completion of physical installation or an air gesture pointing to button 358.

[0130] like Figure 3H As illustrated, in response to a detected tap input 305g on button 358, computer system 300 displays user interface 366 for home applications. In some embodiments, user interface 366 is a configuration user interface for configuring the name of the vacuum cleaner and which group (e.g., restaurant, gym, kitchen, or office) the vacuum cleaner should belong to.

[0131] like Figure 3H As illustrated, the user interface 366 includes a representation 368 of the vacuum cleaner, which has predefined values ​​and / or placeholder values ​​for the vacuum cleaner (e.g., name and / or group assignment). In some embodiments, the user interface 366 includes an input field 370 for naming the vacuum cleaner. For example, as... Figure 3H As illustrated, the user enters "Vic" as the name of the vacuum cleaner, which will replace the default name (such as "vacuum cleaner") on the vacuum cleaner's representation in the home application. In some implementations, the user interface 366 includes pre-configured areas and / or rooms on the home application. For example, the user interface 366 displays options 372 for pre-configured areas and / or rooms in the home ecosystem, such as a gym (e.g., represented by option 372b) and / or a dining room (e.g., represented by option 372a). In such an example, the pre-configured areas and / or rooms are used to group accessories, such that these pre-configured areas and / or rooms can be used to display specific accessory groups. Figure 3H As illustrated, user interface 366 includes a button 372 labeled “Identify Area”. In some embodiments, selection of button 372 causes computer system 300 to display one or more user interfaces for identifying and / or adding new areas and / or rooms that have not yet been pre-configured for the home ecosystem.

[0132] like Figure 6As illustrated by H, the user interface 366 includes a button 374 labeled "Done" in the upper right corner of the user interface 366. This button allows the user to save configuration choices (e.g., the name of the vacuum cleaner and / or area assignment) and continue the process of adding the vacuum cleaner to the home ecosystem. It should be understood that the user interface 366 may include more, fewer, and / or different configuration options, such as setting the characteristics of the vacuum cleaner, configuring automation rules, and / or associating the vacuum cleaner with other accessories and / or devices. In some embodiments, other configuration options may be based on existing data about the home ecosystem in the home application and / or on specific characteristics and / or capabilities of the vacuum cleaner. In some embodiments, configuration options may be displayed on an additional user interface different from the user interface 366.

[0133] exist Figure 3H At this point, the computer system 300 detects a tap input 305h on button 374. It should be recognized that tap input 305h is an example of a selection input, and it can be other inputs, such as a voice command to confirm a configuration selection or an air gesture pointing to button 374.

[0134] like Figure 3I As illustrated, after completing the configuration selection for adding a vacuum cleaner to the home ecosystem, computer system 300 displays user interface 376 of the vacuum cleaner application. In some embodiments, this transition back to the vacuum cleaner application occurs after determining that additional configuration steps are available in the vacuum cleaner application. It should be understood that user interface 376 is used as an example, and this user interface may appear before or after user interface 366 during the process of adding a vacuum cleaner to the home ecosystem.

[0135] In some implementations, user interface 376 is a user interface for configuring features of the accessory, such as the cleaning schedule of the vacuum cleaner. Figure 3I As illustrated, the user interface 376 includes views of the days of the week, each with selectable toggle keys (e.g., 378a to 378l) to allow the user to set a weekly cleaning schedule for the vacuum cleaner. Figure 3I The user has deselected Tuesday (e.g., via input 305i2 on switch key 378f), Thursday (e.g., via input 305i3 on switch key 378j), and Friday (e.g., via input 305i4 on switch key 378l), thereby selecting the other four days of the week for the vacuum cleaner to perform cleaning in areas and / or rooms in the house where the vacuum cleaner is configured.

[0136] like Figure 3I As illustrated, the user interface 376 includes a button 380 labeled "Done" in the upper right corner of the user interface 376 to save configuration selections, such as regarding... Figure 3IThe cleaning plan described herein. In some embodiments, data associated with configuration selections submitted on user interface 376 is stored within the vacuum cleaner application. In some embodiments, data associated with configuration selections is transferred to a home application for integration into the process of adding the vacuum cleaner to the home ecosystem. In other embodiments, data is not shared with the home application. It should be noted that while the examples described herein illustrate cleaning plan configuration, the vacuum cleaner application may include other configuration options, such as setting cleaning modes, adjusting power, and / or integrating with other devices. In some embodiments, these other configuration options may be displayed across an additional user interface of the vacuum cleaner application, different from user interface 376. In some embodiments, the accessory application may customize configuration options based on information received from the home application regarding the user's home ecosystem and / or based on the vacuum cleaner's capabilities.

[0137] exist Figure 3I At this point, the computer system 300 detects a tap input 305i1 on button 380. It should be recognized that tap input 305i1 is an example of selection input and could be other inputs, such as a voice command to save configuration selections or an air gesture pointing to button 380.

[0138] like Figure 3J As illustrated, in response to detecting a tap input 605i1, computer system 300 stops displaying user interface 376 and displays user interface 302 for the home application (e.g., after detecting that the process of adding the vacuum cleaner to the home ecosystem is complete). In some embodiments, user interface 302 displays a confirmation user interface 382 with a message indicating that the vacuum cleaner has been successfully added to the home ecosystem. In this example, the message reads "Vic has been added to the home," thus confirming the vacuum cleaner (e.g., in the context of...). Figure 3HThe vacuum cleaner (user-designated as "Vic") described in the previous configuration steps has been successfully added to the home ecosystem. In some embodiments, the confirmation user interface 382 includes a button 384 labeled "Done," which allows the user to confirm that the process of adding the vacuum cleaner to the home ecosystem is complete and return to the user interface 302 of the home application. Additionally, in some embodiments, a button 386 labeled "View in Home" is displayed. In response to detecting input pointing to control 386, the computer system 300 displays a detailed view of the vacuum cleaner in the home application. In some embodiments, the confirmation user interface 382 may also include a summary of configuration selections, such as area and / or room assignments and / or the vacuum cleaner's cleaning schedule. At this stage, in some embodiments, data associated with the configuration set via the home application and / or the vacuum cleaner application is now synchronized with the operating system of the computer system 300 and / or with other devices in the home ecosystem. It should be understood that although the confirmation user interface 382 is illustrated above the user interface 302, the confirmation user interface 382 may be displayed above any user interface displayed when the process of adding the vacuum cleaner to the home ecosystem is initiated. For example, if the process of adding a vacuum cleaner to the home ecosystem is initiated from the camera app's user interface by scanning a QR code, then the confirmation user interface 382 can be displayed on top of the camera app's user interface, and the selection of button 384 can return to the camera app's user interface.

[0139] exist Figure 3J At this point, the computer system 300 detects a tap input 305j on button 384. It should be recognized that tap input 305j is an example of selection input and can be other inputs, such as a voice confirmation or an air gesture pointing to button 384.

[0140] like Figure 3K As illustrated, after detecting a tap input 305j on button 384 and / or in response to that step, computer system 300 redisplays the user interface 302 of the home application, such as by closing the confirmation user interface 382. In some embodiments, user interface 302 now includes a representation 388 of the vacuum cleaner that has just been added to the home ecosystem. In some embodiments, the vacuum cleaner representation 388 is added below the area and / or room to which the accessory is assigned.

[0141] In some implementations, 388 indicates that "Vic" is displayed as the name of the vacuum cleaner (e.g., this name is assigned to the vacuum cleaner during the configuration process, as per the information provided). Figure 3H (As described). In some embodiments, 388 indicates that it includes a status indicator and / or control functions for the vacuum cleaner. For example... Figure 3KAs illustrated, indication 388 includes the current status of the vacuum cleaner (e.g., "docked"). In some embodiments, in response to detecting input corresponding to indication 388, computer system 300 may perform one or more operations related to the vacuum cleaner. For example, tapping on indication 388 may start a cleaning program, pause ongoing cleaning, and / or transport the vacuum cleaner to its docking station.

[0142] In some implementation schemes, the above regarding Figures 3A to 3K The description applies to one or more processes described below. For example, process 500 describes the process of an electronic device initializing and configuring accessory devices on a first set of one or more security domains. It should be recognized that the security domains in the first set of one or more security domains can be a home ecosystem, and the above description regarding... Figures 3A to 3K The description can be used to initialize and configure accessory devices on one or more security domains in the first group.

[0143] Figure 4 This is a flowchart illustrating a process (e.g., process 400) for temporarily installing an application to add accessories to an ecosystem, according to some implementation schemes. Some operations in process 400 may be combined, the order of some operations may be changed, and some operations may be omitted.

[0144] As described below, Process 400 provides an intuitive way to temporarily install applications to add accessories to the ecosystem. Process 400 reduces the cognitive load on users, thus creating a more efficient human-machine interface. For battery-powered computing devices, it enables users to interact with such devices faster and more efficiently, saving power and increasing the time between battery charging.

[0145] In some embodiments, process 400 is performed at a computer system (e.g., 300) that communicates with (or includes) one or more input devices (e.g., wireless radio components, ports, cameras, depth sensors, microphones, hardware input mechanisms, rotatable input mechanisms, physical input mechanisms, mechanical buttons, touch-sensitive buttons, buttons, crowns, knobs, dials, physical sliders, accelerometers, mice, keyboards, touchpads, and / or touch-sensitive surfaces) and / or includes such input devices. In some embodiments, the electronic device is a watch, telephone, tablet computer, fitness tracker, processor, head-mounted display (HMD) device, public utility, media device, speaker, television, and / or personal computing device.

[0146] The computer system detects (402) the accessory device (e.g., as per one or more input devices) via one or more input devices. Figures 3C to 3KThe described and / or illustrated accessory devices (e.g., devices configured to be controlled by one or more other devices) are added to the ecosystem corresponding to (and / or belonging to) the first application (e.g., corresponding to 302) (e.g., the first application of a computer system) (e.g., as per the description and / or illustration of these figures). Figure 3A and / or Figure 3K The inputs corresponding to the requests for the described ecosystem (e.g., a software framework for managing and / or controlling one or more devices and / or computer systems) (e.g., 305a, 305b and / or as per relevant regulations) Figure 3C The input described herein. In some embodiments, the input is a message, a tap, and / or an indication of the presence and / or proximity of the accessory device. In some embodiments, an ecosystem corresponds to a security domain (e.g., as described below with respect to process 400 and / or CS2). In some embodiments, after an accessory device is added to the ecosystem, the computer system is able to obtain the status of the accessory device and / or control the accessory device via the ecosystem and / or a first application. In some embodiments, the first application is downloaded and / or installed on the computer system. In some embodiments, the accessory device is a monitor, television, light, lock, security system, speaker, appliance, and / or thermostat.

[0147] In response to detecting input corresponding to a request to add accessory devices to the ecosystem, the computer system initiates (404) the process of adding accessory devices to the ecosystem (e.g., as per the request for adding accessory devices to the ecosystem). Figures 3C to 3J The process described and / or illustrated in these figures), wherein the process of adding accessory devices to the ecosystem includes: (406) initiating a process of installing (and / or downloading) a second application, wherein the second application corresponds to the accessory device, and wherein the second application is different from the first application, based on (408) determining that the second application is installed (and / or downloaded) on the computer system. Figure 3EThe process of initiating the installation (and / or download) of a second application (as described) is as follows: In some embodiments, the process of installing (and / or downloading) a second application includes displaying one or more user interfaces for downloading and / or installing the second application. In some embodiments, the process of installing (and / or downloading) a second application does not include displaying one or more user interfaces for downloading and / or installing the second application. In some embodiments, the process of installing (and / or downloading) a second application includes obtaining permission from a user of the computer system to download and / or install the second application. In some embodiments, the process of adding an accessory device to the ecosystem includes configuring the accessory device to communicate via a network (such as an Internet network, cellular network, wired network, wireless network, WiFi network, and / or Thread network). In some embodiments, the process of adding an accessory device to the ecosystem includes configuring the accessory device using its name and / or the region where the accessory device is located.

[0148] After a second application is installed as part of the process of adding accessory devices to the ecosystem, and based on the determination that one or more automatic removal criteria are met (e.g., a certain amount of time has elapsed since the second application was installed and / or interacted with), the computer system removes (410) the second application without detecting user input for removal (e.g., uninstallation, deletion, automatic removal, and / or other removal) (e.g., as described above regarding...). Figure 3E The second application (e.g., removal from the computer system). In some embodiments, after the second application is installed as part of the process of adding the accessory device to the ecosystem, and if it is determined that one or more of the set of automatic removal criteria are not met, the computer system maintains the installation of the second application on the computer system. In some embodiments, after the accessory device is added to the ecosystem and if it is determined that the second application was installed and / or downloaded outside the process of adding the accessory device to the ecosystem, the computer system does not remove the second application unless the computer system receives user input for removing the second application.

[0149] In some embodiments, the computer system communicates with (and / or includes) one or more display generation components (e.g., a display screen, projector, head-mounted display, and / or touch-sensitive display). In some embodiments, in response to installing a second application (and / or as part of a process of adding accessory devices to an ecosystem), the computer system displays the user interface (e.g., 348) of the second application via one or more display generation components. In some embodiments, the user interface of the second application includes user interface elements for logging into an account for the second application. In some embodiments, the user interface of the second application includes user interface elements for creating an account for the second application. In some embodiments, the user interface of the second application includes user interface elements for configuring accessory devices (e.g., information and / or one or more settings corresponding to the accessory device).

[0150] In some implementations, the computer system communicates with (and / or includes) one or more display generating components (e.g., a display screen, projector, head-mounted display, and / or touch-sensitive display). In some implementations, the input is a third application displayed via one or more display generating components, different from the second application (e.g., as described above regarding...). Figure 3C The detection occurs when the user interface of the described camera application, operating system, and / or other application (e.g., the user interface of the second application and / or the user interface of the first application are not displayed) is not displayed.

[0151] In some implementations, the third application is part of the computer system's operating system (e.g., as mentioned above regarding...). Figure 3C (Description). In some implementations, the third application is a system process of the operating system.

[0152] In some implementations, the third application (e.g., corresponding to 302) is the first application.

[0153] In some implementations, the accessory device is a first accessory device. In some implementations, after detecting input corresponding to a request to add the first accessory device to the ecosystem of a first application, the computer system detects and adds a second accessory device (e.g., as per [reference to...]) via one or more input devices. Figures 3C to 3KThe input corresponding to a request to add a second accessory device (e.g., a device configured to be controlled by one or more other devices) to the ecosystem corresponding to the first application (described and / or illustrated in these figures) is different from the first accessory device. In some embodiments, the input corresponding to the request to add a second accessory device is a message, a tap input, and / or an indication of the presence and / or proximity of the second accessory device. In some embodiments, after the second accessory device is added to the ecosystem, the computer system is able to obtain the status of the second accessory device and / or control the second accessory device (e.g., as per the ecosystem and / or the first application) via the ecosystem. Figure 3K (As described). In some embodiments, the second accessory device is a display, television, light, lock, security system, speaker, appliance, and / or thermostat. In some embodiments, in response to detecting input corresponding to a request to add the second accessory device to the ecosystem, the computer system initiates a process to add the second accessory device to the ecosystem (e.g., as described in...). Figures 3C to 3JThe process described and / or illustrated in these figures, wherein adding a second accessory device to the ecosystem includes: initiating a process to install (and / or download) a fourth application (e.g., when the second application is installed on the computer system or when the second application is not installed on the computer system) based on determining that a fourth application (e.g., as described above regarding the use of a similar process to that described for a vacuum cleaner for different applications of different accessories) is not installed (and / or downloaded) on the computer system, wherein the fourth application corresponds to the second accessory device and wherein the fourth application is different from the first application and the second application (and / or the third application); and abandoning the process of initiating (e.g., as described above regarding the use of a similar process to that described for a vacuum cleaner for different applications of different accessories) the installation (and / or download) of the second application based on determining that the fourth application is installed (and / or downloaded) on the computer system. In some embodiments, the process of installing (and / or downloading) the fourth application includes displaying one or more user interfaces for downloading and / or installing the fourth application. In some embodiments, the process of installing (and / or downloading) the fourth application does not include displaying one or more user interfaces for downloading and / or installing the fourth application. In some implementations, the process of installing (and / or downloading) a fourth application includes obtaining permission from a user of the computer system to download and / or install the fourth application. In some implementations, the fourth application is independent of the second application. In some implementations, the fourth application is not associated with the second application. In some implementations, the fourth application is specific to an organization that is distinct from the organization specific to the second application. In some implementations, the process of adding a second accessory device to the ecosystem includes configuring the second accessory device to communicate via a network. In some implementations, the process of adding a second accessory device to the ecosystem includes configuring the second accessory device using its name and / or the region where it is located. In some implementations, after the fourth application is installed as part of the process of adding the second accessory device to the ecosystem, and based on determining that one or more automatic removal criteria are met (e.g., a certain amount of time has elapsed since the fourth application was installed and / or interacted with), the computer system removes (e.g., uninstalls, deletes, automatically removes, and / or otherwise removes) the fourth application without detecting user input for removal (e.g., as described above regarding the use of different applications for different accessories as described for a vacuum cleaner). In some implementations, after the fourth application is installed as part of the process of adding a second accessory device to the ecosystem, and if it is determined that one or more of the set of automatic removal criteria are not met, the computer system maintains the installation of the fourth application on the computer system.In some implementations, after the second accessory device is added to the ecosystem and the fourth application is determined to have been installed and / or downloaded outside the process of adding the second accessory device to the ecosystem, the computer system does not remove the fourth application unless the computer system receives user input for removing the fourth application.

[0154] In some embodiments, the computer system communicates with (and / or includes) one or more display generating components (e.g., a display screen, projector, head-mounted display, and / or touch-sensitive display). In some embodiments, the input corresponding to a request to add an accessory device to the ecosystem is detected when a user interface (e.g., 330) is displayed via one or more display generating components. In some embodiments, the computer system displays a user interface via one or more display generating components in response to detecting that an accessory device is near the computer system. In some embodiments, the accessory device is detected near the computer system via wireless communication. In some embodiments, the accessory device is detected near the computer system via Near Field Communication (NFC). In some embodiments, the accessory device is detected near the computer system via Ultra Wideband (UWB) communication. In some embodiments, the input corresponding to a request to add an accessory device to the ecosystem is determining that the accessory device is near the computer system (e.g., as per [reference to...]). Figure 3C (As described).

[0155] In some implementations, the computer system communicates with (and / or includes) one or more display generation components (e.g., a display screen, projector, head-mounted display, and / or touch-sensitive display). In some implementations, input corresponding to a request to add an accessory device to the ecosystem is detected when a user interface (e.g., 330) is displayed via one or more display generation components. In some implementations, input is detected in response to scanning a quick response (QR) code (e.g., as per the "About" function). Figure 3C As described and / or illustrated in the figure, the computer system displays the user interface via one or more display generation components. In some embodiments, the input corresponding to a request to add accessory devices to the ecosystem is scanning a QR code (e.g., as per the description and / or illustration of the figure). Figure 3C (As described and / or illustrated in the figure).

[0156] In some implementations, the process of adding accessory devices to the ecosystem includes: connecting the accessory device to the network (and / or enabling the accessory device to connect to the network) (e.g., as per [reference to...]). Figure 3D(as described) (e.g., internet networks, cellular networks, wired networks, wireless networks, WiFi networks, and / or Thread networks). In some embodiments, the accessory device connects to the network via a user interface (e.g., 334) of a first application. In some embodiments, the accessory device connects to the network via a user interface of a second application. In some embodiments, the accessory device connects to the network via a user interface of a third application.

[0157] In some implementations, after the second application is installed as part of the process of adding accessory devices to the ecosystem, it is not added to the list of applications installed on the computer system before it is removed (e.g., the second application is installed but not added to the list of applications installed on the computer system). Figure 3E (As described).

[0158] In some implementations, the second application is installed without requiring credentials (e.g., password, key, and / or biometric information). In some implementations, the computer system detects and installs (and / or downloads) a fifth application (e.g., as described above) via one or more input devices. Figure 3E The fifth application is a request corresponding to an input (e.g., tap input and / or voice request) of the complete application described herein, and is different from the first and second applications (and / or the third and / or the fourth application), wherein the fifth application corresponds to (and / or is associated with) the second application. In some embodiments, the fifth application and the second application have overlapping functionality. In some embodiments, the fifth application is part of the second application. In some embodiments, the fifth application is a temporary application of the second application (e.g., as per the description of the full application). Figure 3E (As described). In some implementations, the second application is a non-transitory application of the fifth application. In some implementations, in response to detecting input corresponding to a request to install the fifth application, the computer system requests (and / or requires) one or more credentials (e.g., password, key, and / or biometric information) to allow the installation of the fifth application (e.g., sometimes a full application is required instead of a lighter-weight application). In some implementations, requesting one or more credentials to allow the installation of the fifth application includes displaying an authentication user interface to authenticate the user.

[0159] In some implementations, the computer system communicates with (and / or includes) one or more display generation components (e.g., a display screen, projector, head-mounted display, and / or touch-sensitive display). In some implementations, after an accessory device is added to the ecosystem (and / or in response to adding an accessory device to the ecosystem), the computer system displays a user interface of the first application (and / or the ecosystem) via one or more display generation components (e.g., 302), wherein the user interface includes the current status of the accessory device (e.g., the current status of 388 and / or information such as...). Figure 3K The current status described and / or illustrated in the diagram (e.g., states such as on, off, and / or power level). In some embodiments, the current status of the accessory device is obtained by a computer system communicating with the accessory device.

[0160] In some implementations, the user interface of the first application includes controls corresponding to the accessory device (e.g., controls in 388 and / or such as those related to...). Figure 3K The described controls (e.g., virtual buttons, sliders, and / or other types of user interface elements capable of changing the state of the accessory device). In some implementations, when displaying the user interface of the first application and the controls corresponding to the accessory device, the computer system detects input corresponding to the controls (e.g., tap input, selection input, and / or movement input) via one or more input devices (e.g., as described above). Figure 3K (The input described). In some embodiments, in response to detecting input corresponding to a control, the computer system changes the state of the accessory device based on (and / or on) the input corresponding to the control. In some embodiments, changing the state of the accessory device based on the input corresponding to the control includes turning the accessory device on or off.

[0161] In some implementations, the process of adding accessory devices to the ecosystem includes: automatically creating an account for the second application using credentials (e.g., username and / or password) of a computer system (e.g., credentials stored on, associated with, corresponding to, and / or accessible by the computer system) based on the determination that the second application is not logged into at least one account. In some implementations, the account is created without detecting input corresponding to a selection of credentials. In some implementations, in response to the automatic creation of the second application's account, the computer system logs into the second application's account without detecting user input.

[0162] In some implementations, the computer system communicates with (and / or includes) one or more display generating components (e.g., a display screen, projector, head-mounted display, and / or touch-sensitive display). In some implementations, the process of adding accessory devices to the ecosystem includes concurrent display via one or more display generating components (e.g., as per [reference to...]). Figure 3F (As described and / or illustrated in the figure): A first option (e.g., 350) for logging into a second application using credentials (e.g., username and / or password) of a computer system (e.g., stored on, associated with, corresponding to, and / or accessible by the computer system). In some embodiments, in response to detecting input corresponding to the first option via one or more input devices (e.g., tap input and / or voice request), the computer system automatically creates an account for the second application using credentials of the computer system. In some embodiments, the account for the second application is created without detecting input corresponding to a selection of credentials. A second option (e.g., 352) for logging into the account for the second application, distinct from the first option. In some embodiments, in response to detecting input corresponding to the second option via one or more input devices (e.g., tap input and / or voice request), the computer system displays one or more text input fields for entering the username and / or password for the account of the second application via one or more display generation components. In some embodiments, after entering the username and / or password, the computer system logs into the account using the username and / or password. In some implementations, the process of adding accessory devices to the ecosystem includes displaying a third option (e.g., either when displaying the first and / or second option, or when not displaying the first and / or second option) via one or more display generation components for an account used to create a second application.

[0163] In some implementations, the process of adding accessory devices to an ecosystem includes: detecting input (e.g., input corresponding to 370, 372a, 372b, 372c, or 372d) via one or more input devices (e.g., typed input, tap input, and / or voice request); and in response to detecting input corresponding to a request to assign attributes (e.g., attributes corresponding to 368, 370, 372a to 372e, and / or 388) to an accessory device, assigning the attribute to the accessory device such that the attribute affects the display of content corresponding to the accessory device (e.g., the name represents the accessory device in one or more user interfaces, and / or the location groups the accessory device with one or more other accessory devices in that location) (e.g., as in the context of...). Figure 3Hand / or Figure 3K (As described and / or illustrated in these figures).

[0164] In some implementations, attributes (e.g., attributes corresponding to 368, 370, 372a to 372e and / or 388) are assigned to accessory devices via a first application (e.g., rather than via a second application).

[0165] In some implementations, attributes (e.g., attributes corresponding to 368, 370, 372a to 372e and / or 388) are assigned to the accessory device via a second application (e.g., not via a first application) (e.g., as per [reference to...]). Figure 3G (As described).

[0166] In some embodiments, the computer system communicates with (and / or includes) one or more display generation components (e.g., a display screen, projector, head-mounted display, and / or touch-sensitive display). In some embodiments, the process of adding accessory devices to the ecosystem includes displaying a user interface of a first application (e.g., 302, 366, or 382) via one or more display generation components. In some embodiments, the user interface of the first application includes user interface elements for logging into an account for the first application (e.g., 350). In some embodiments, the user interface of the first application includes user interface elements for creating an account for the first application. In some embodiments, the user interface of the first application includes user interface elements for configuring accessory devices (e.g., information and / or one or more settings corresponding to the accessory device).

[0167] In some implementations, the user interface of the first application is displayed before the process of initiating the installation of the second application (e.g., as per [reference]). Figures 3A to 3B (As described and / or illustrated in these figures).

[0168] In some implementations, the user interface of the first application is displayed after the process of initiating the installation of the second application (and / or after the installation of the second application and / or after displaying one or more user interfaces of the second application) (e.g., as per [reference to...]). Figures 3C to 3E , Figure 3H and / or Figures 3J to 3K (As described and / or illustrated in these figures).

[0169] It should be noted that the above text regarding process 400 (for example, Figure 4The details of the processes described herein also apply in a similar manner to the other processes described herein. For example, process 500 may optionally include one or more characteristics of the various processes described above with reference to process 400. For example, the initial configuration of process 500 may include the addition of accessory devices to the ecosystem by process 400. For the sake of brevity, these details will not be repeated herein.

[0170] Figure 5 This is a flowchart illustrating a process (e.g., process 500) for initializing the configuration of accessories by the installer's equipment, according to some implementation schemes. Some operations in process 500 may be optionally combined, some operations may be optionally changed in order, and some operations may be optionally omitted.

[0171] As described below, Process 500 provides an intuitive way for the installer's device to initialize the configuration of accessories. Process 500 reduces the cognitive burden on the user, thereby creating a more efficient human-machine interface. For battery-powered computing devices, it enables users to interact with such devices faster and more efficiently, saving power and increasing the time between battery charging.

[0172] In some embodiments, process 500 is performed at an electronic device (e.g., computer system 300) (e.g., installer device, installation equipment, computer system, user equipment, initialization configuration device, and / or controller device). In some embodiments, the electronic device is a watch, telephone, tablet computer, fitness tracker, processor, head-mounted display (HMD) device, public utility, media device, speaker, television, and / or personal computing device.

[0173] Electronic equipment and accessories (e.g., as per...) Figures 3C to 3K The described and / or illustrated accessory devices (e.g., devices configured to be controlled by one or more other devices) are paired (502) (e.g., as per the description and / or illustration of these figures). Figures 3C to 3D As described. In some implementations, it is paired with accessory devices (e.g., as described in...). Figure 3EThe description includes establishing a connection and / or exchanging information, such as information for communication, information for private communication, and / or information for verifying communication from each device. In some embodiments, pairing with an accessory device includes registering the electronic device with the accessory device and / or registering the accessory device with the electronic device. In some embodiments, the accessory device announces itself before pairing with the accessory device. In such embodiments, the electronic device detects the accessory device's announcement and, in response and / or afterward, initiates a pairing process with the accessory device. In some embodiments, pairing with an accessory device includes establishing one or more keys for communication between the electronic device and the accessory device. In some embodiments, the accessory device is a display, television, lamp, lock, security system, speaker, appliance, and / or thermostat.

[0174] After pairing with an accessory device (and / or while communicating with or without the accessory device), the electronic device is in one or more security domains in the first group (e.g., as per [reference]). Figures 3J to 3KInitializing the configuration (504) (e.g., configuring, adding, registering, and / or establishing) of an accessory device on the described and / or illustrated figures (e.g., a structure, secure communication network, and / or group). In some embodiments, initializing the configuration of an accessory device on a first set of one or more security domains includes registering the accessory device on the first set of one or more security domains (e.g., including each security domain in the first set of one or more security domains). In some embodiments, initializing the configuration of an accessory device on a first set of one or more security domains includes configuring the accessory device to communicate using a network (sometimes referred to as an operational network) (e.g., communicating with electronic devices and / or one or more other devices). In other embodiments, the electronic device configures the accessory device to communicate using the network before initializing the configuration of the accessory device on the first set of one or more security domains. In some embodiments, the electronic device communicates with the accessory device using the network after initializing the configuration. In some embodiments, initializing the configuration of an accessory device on a first set of one or more security domains includes discovering the accessory device on the network and establishing a connection to the accessory device. In other embodiments, the electronic device discovers the accessory device on the network and establishes a connection to the accessory device before initializing the configuration of the accessory device on the first set of one or more security domains. In some implementations, initializing the configuration of an accessory device on a single security domain includes providing the accessory device with one or more credentials to be used by the accessory device to communicate with other devices within the single security domain. In some implementations, the first set of one or more security domains includes an installer domain (e.g., a temporary domain for reconfiguring the accessory device to another security domain), a management domain (e.g., a domain for coordinating the addition of other security domains), and / or one or more ecosystem-specific domains (e.g., application- and / or company-specific domains). In some implementations, the first set of one or more security domains corresponds to, is managed by, controlled by, associated with, and / or owned by an electronic device.

[0175] After initializing the configuration accessory device on one or more security domains in the first group, the electronic device (e.g., via one or more networks that the accessory device gained access to when it was initially configured on one or more security domains in the first group) sends (506) a request to the accessory device to enter a re-initialization configuration mode (and / or an initialization configuration mode). In some embodiments, the accessory device is in an initialization configuration mode when the electronic device initializes the configuration accessory device on one or more security domains in the first group.

[0176] After transmitting a request to enter the reinitialization configuration mode (508) (and / or when the accessory device is in the reinitialization configuration mode or the initialization configuration mode), the electronic device receives (510) reinitialization configuration data from the accessory device. In some embodiments, the reinitialization configuration data includes codes used by the device to initialize the configuration of the accessory device on one or more security domains (e.g., pairing codes and / or initialization configuration codes, such as Enhanced Initialization Configuration Method (ECM) codes). In some embodiments, the codes used for reinitialization configuration are different from the codes used for initialization configuration.

[0177] After transmitting a request to enter reinitialization configuration mode (508), the electronic device, via a resident device (e.g., an electronic device, computer system, user equipment, initialization configuration device, and / or controller device) different from the accessory device and the electronic device, uses reinitialization configuration data to reinitialize (512) the accessory device on a second set of one or more security domains, wherein the second set of one or more security domains is different from the first set of one or more security domains. In some embodiments, the resident device, accessory device, and / or electronic device communicate via a single network or multiple networks. In some embodiments, the resident device is not initialized on the first set of one or more security domains when the accessory device is reinitialized on the second set of one or more security domains. In some embodiments, the first set of one or more security domains includes at least one security domain included in the second set of one or more security domains. In some embodiments, the first set of one or more security domains includes at least one security domain not included in the second set of one or more security domains. In some embodiments, the second set of one or more security domains includes at least one security domain not included in the first set of one or more security domains. In some embodiments, the first set of one or more security domains does not include security domains included in the second set of one or more security domains. In some embodiments, the second set of one or more security domains does not include security domains included in the first set of one or more security domains. In some embodiments, using reinitialization configuration data to reinitialize an accessory device on the second set of one or more security domains includes transmitting the reinitialization configuration data to the resident device. In some embodiments, the reinitialization configuration data is transmitted from the resident device to the accessory device as part of and / or for reinitializing the accessory device. In some embodiments, the resident device is an electronic device and / or computer system located on a network in a home that includes the accessory device. In some embodiments, the resident device is a watch, telephone, tablet, fitness tracker, processor, head-mounted display (HMD) device, public utility, media device, speaker, television, and / or personal computing device. In some embodiments, the electronic device and the accessory device communicate with each other via the resident device. In some embodiments, the second set of one or more security domains corresponds to, is managed by, controlled by, associated with, and / or owned by the resident device (e.g., not the electronic device).

[0178] In some implementations, the electronic device connects to a network (e.g., an operational network, internet network, cellular network, wired network, wireless network, WiFi network, and / or Thread network) before the accessory device is reconfigured on a second set of one or more security domains via the resident device. In some implementations, upon connecting to the network, the electronic device obtains the address of the resident device via the network. In some implementations, the address is an Internet Protocol (IP) address. In some implementations, after obtaining the address of the resident device (and / or upon connecting to the network), the electronic device uses that address (e.g., via the network) to connect to a local server (and / or port) of the resident device (e.g., to establish a TCP connection with the local server using that address), wherein the electronic device communicates with the resident device via the local server (and / or port) to reconfigure the accessory device on a second set of one or more security domains. In some implementations, reconfiguring the accessory device on a second set of one or more security domains includes transmitting reconfiguration data to the resident device via a local server. In some implementations, the electronic device uses the address to transmit reconfiguration data to the resident device instead of connecting to a local server.

[0179] In some implementations, prior to pairing with an accessory device, the electronic device receives connection information (e.g., network information, one or more credentials, address, local server address, IP address, WiFi information, Bluetooth information, Software Enabled Access Point (SoftAP) information, and / or Thread information) from a resident device, wherein the electronic device uses the connection information to communicate with the accessory device to initialize and configure the accessory device on a first set of one or more security domains. In some implementations, the connection information is used to communicate with the resident device (e.g., sending messages to the resident device, establishing a connection with the resident device, and / or establishing a communication channel with the resident device). In some implementations, the connection information is used to communicate with the accessory device (e.g., sending messages to the accessory device, establishing a connection with the accessory device, and / or establishing a communication channel with the accessory device). In some implementations, the connection information is used to communicate via one or more networks (such as an Internet network, cellular network, wired network, wireless network, WiFi network, and / or Thread network). In some implementations, initializing and configuring the accessory device on a first set of one or more security domains includes using the connection information as an address (e.g., a resident device) to convey data to initialize and configure the accessory device. In some embodiments, initializing the configuration accessory device on one or more security domains in a first set includes establishing a connection (e.g., a connection to a network, a resident device, and / or the accessory device) using connectivity information as an address to initialize the configuration accessory device. In some embodiments, connectivity information is received from the resident device via wireless communication (e.g., short-range wireless communication (e.g., NFC and / or Bluetooth) and / or long-range wireless communication). In some embodiments, connectivity information is received by scanning a QR code (e.g., a physical QR code or a digital QR code) on the resident device. In some embodiments, the electronic device uses the connectivity information to communicate with the accessory device to reinitialize the configuration accessory device on one or more security domains in a second set. In some embodiments, the electronic device uses the connectivity information to communicate with the resident device to reinitialize the configuration accessory device on one or more security domains in a second set.

[0180] In some implementations, after initializing the configuration of the accessory device on one or more security domains in the first set, the electronic device uses connectivity information (e.g., via a communication channel established using the connectivity information or via transmitting commands to an address included in the connectivity information) to change the state of the accessory device (and / or use the connectivity information to control the accessory device) (e.g., as per [reference to...]). Figure 3K(As described). In some embodiments, the state of the accessory device is changed in response to the electronic device detecting input corresponding to a request to change the state of the accessory device via one or more input components of the electronic device (e.g., camera, depth sensor, microphone, hardware input mechanism, rotatable input mechanism, physical input mechanism, mechanical button, touch-sensitive button, button, crown, knob, dial, physical slider, accelerometer, mouse, keyboard, touchpad, and / or touch-sensitive surface). In some embodiments, the input corresponding to a request to change the state of the accessory device includes a tap input on a control displayed by the electronic device. In some embodiments, the input corresponding to a request to change the state of the accessory device includes a verbal request to change the state of the accessory device.

[0181] In some implementations, after pairing with an accessory device, the electronic device receives connectivity information from the resident device (e.g., network information, one or more credentials, address, local server address, IP address, WiFi information, Bluetooth information, Software Enabled Access Point (SoftAP) information, and / or Thread information) (e.g., as described above regarding...). Figure 3D As described, the electronic device uses connection information to communicate with an accessory device to reinitialize and configure the accessory device on one or more security domains in a second set. In some embodiments, the electronic device uses connection information to communicate with a resident device to reinitialize and configure the accessory device on one or more security domains in a second set. In some embodiments, the connection information is used to communicate with the resident device (e.g., to send messages to the resident device, to establish a connection with the resident device, and / or to establish a communication channel with the resident device). In some embodiments, the connection information is used to communicate with the accessory device (e.g., to send messages to the accessory device, to establish a connection with the accessory device, and / or to establish a communication channel with the accessory device). In some embodiments, the connection information is used to communicate via one or more networks (such as an Internet network, a cellular network, a wired network, a wireless network, a WiFi network, and / or a Thread network). In some embodiments, reinitializing and configuring the accessory device on one or more security domains in a first set includes using the connection information as an address (e.g., for the resident device) to convey data (e.g., reinitialization configuration data) to reinitialize and configure the accessory device. In some implementations, reconfiguring the accessory device on one or more security domains in a first set includes establishing a connection (e.g., a connection to a network, a resident device, and / or the accessory device) using connectivity information as an address to reconfigure the accessory device. In some implementations, connectivity information is received from the resident device via wireless communication (e.g., short-range wireless communication (e.g., NFC and / or Bluetooth) and / or long-range wireless communication). In some implementations, connectivity information is received by scanning a QR code on the resident device (e.g., a physical QR code or a digital QR code).

[0182] In some implementations, after initializing the configuration accessory device on a first set of one or more security domains, the electronic device uses connectivity information obtained during the initial configuration (e.g., via a communication channel established using the connectivity information or via transmitting commands to an address included in the connectivity information) (e.g., as per [reference to...]). Figure 3D The described WiFi network is used to change the state of the accessory device (and / or control the accessory device using connectivity information). In some embodiments, the state of the accessory device is changed in response to the electronic device detecting input corresponding to a request to change the state of the accessory device via one or more input components of the electronic device (e.g., camera, depth sensor, microphone, hardware input mechanism, rotatable input mechanism, physical input mechanism, mechanical button, touch-sensitive button, button, crown, knob, dial, physical slider, accelerometer, mouse, keyboard, touchpad, and / or touch-sensitive surface). In some embodiments, the input corresponding to a request to change the state of the accessory device includes a tap input on a control displayed by the electronic device. In some embodiments, the input corresponding to a request to change the state of the accessory device includes a verbal request to change the state of the accessory device.

[0183] In some implementations, pairing with accessory devices includes scanning a machine-readable code (e.g., a quick-response code or a barcode) via one or more cameras on the electronic device (e.g., as referenced). Figure 3C (As described between 300 and the vacuum cleaner). In some implementations, a machine-readable code is scanned to obtain connectivity information and / or one or more credentials to be used for pairing with accessory devices.

[0184] In some implementations, pairing with accessory devices includes communicating with accessory devices via wireless communication (e.g., near field communication (NFC) and / or Bluetooth beacons) (e.g., as per [the relevant documentation]). Figure 3C (As described).

[0185] In some implementations, accessory devices are initialized and configured on a first set of one or more security domains (e.g., as per [reference]). Figures 3A to 3K The description and / or illustrations in these figures include communication via wireless communication (e.g., network communication, Bluetooth communication, WiFi communication, Thread communication, NFC and / or Bluetooth beacons) (e.g., as described above regarding...). Figure 3D (As described) communicates with accessory devices. In some implementations, initializing the configuration of accessory devices on a first set of one or more security domains includes communicating with the resident device via wireless communication or another wireless communication different from the wireless communication.

[0186] In some embodiments, before reconfiguring the accessory device on a second set of one or more security domains (and / or before pairing with the accessory device), the electronic device receives a list of pre-configured groups of the accessory device (e.g., a list of rooms and / or zones) from the resident device. In some embodiments, after receiving the list of pre-configured groups of the accessory device and as part of initializing the configuration of the accessory device on a first set of one or more security domains, the electronic device configures the accessory device to be included in a group within the list of pre-configured groups of the accessory device.

[0187] In some embodiments, before the accessory device is reconfigured on a second set of one or more security domains (and / or before being paired with the accessory device), the electronic device receives a list of pre-configured groups of the accessory device (e.g., a list of rooms and / or zones) from the resident device. In some embodiments, after receiving the list of pre-configured groups of the accessory device and as part of initializing the accessory device configuration on a first set of one or more security domains, the electronic device configures the accessory device to be included in a group not included in the list of pre-configured groups of the accessory device. In some embodiments, this group is generated, identified, and / or configured by the electronic device. In some embodiments, the accessory device is configured to be included in a group in response to the electronic device detecting input corresponding to a request to configure the accessory device to be included in a group not included in the list of pre-configured groups of the accessory device via one or more input components of the electronic device (e.g., camera, depth sensor, microphone, hardware input mechanism, rotatable input mechanism, physical input mechanism, mechanical button, touch-sensitive button, button, crown, knob, dial, physical slider, accelerometer, mouse, keyboard, touchpad, and / or touch-sensitive surface). In some embodiments, the input corresponding to a request to configure an accessory device to be included in a group not included in a list of pre-configured groups for accessory devices includes a tap input on a control displayed by the electronic device. In some embodiments, the input corresponding to a request to configure an accessory device to be included in a group not included in a list of pre-configured groups for accessory devices includes a verbal request to add the accessory device to the group.

[0188] In some implementations, reconfiguring the accessory device on a second group or more security domains includes sending a request to the resident device to reconfigure the accessory device. In some implementations, the request to reconfigure the accessory device includes an identifier (and / or indication) of the group.

[0189] In some implementations, after the accessory device is reconfigured on one or more security domains in a second set (and / or in response to this step) (and / or in the absence of detected user input corresponding to a request to remove access permissions), the electronic device removes its access permissions to the accessory device (e.g., after removing access permissions to the accessory device, the electronic device is no longer able to obtain the status of the accessory device and / or control the accessory device). In some implementations, access permissions to the accessory device are removed without detected user input. In some implementations, access permissions to the accessory device are removed in response to the detection of user input corresponding to a request to remove access permissions to the accessory device.

[0190] In some implementations, the re-initialization configuration data includes an initialization configuration code used to verify the resident device with the accessory device during re-initialization configuration. In some implementations, the initialization configuration code is received by the electronic device from the accessory device.

[0191] In some implementations, after the accessory device is initialized and configured on a first set of one or more security domains and before it is reinitialized and configured on a second set of one or more security domains, the electronic device (e.g., via a resident device) establishes an automation function with the accessory device, such that the accessory device is configured to perform one or more operations according to the automation function (e.g., turning on at a specific time, turning off at a specific time, changing state at a specific time, and / or changing state in response to detecting a specific event). In some implementations, the automation function is maintained after the accessory device is reinitialized and configured on a second set of one or more security domains. In some implementations, the automation function is established in response to the detection of input corresponding to the request to establish the automation function with the accessory device via one or more input components of the electronic device (e.g., camera, depth sensor, microphone, hardware input mechanism, rotatable input mechanism, physical input mechanism, mechanical button, touch-sensitive button, button, crown, knob, dial, physical slider, accelerometer, mouse, keyboard, touchpad, and / or touch-sensitive surface). In some implementations, the input corresponding to the request to establish the automation function with the accessory device includes a tap input on a control displayed by the electronic device. In some implementations, the input corresponding to the request to establish automation functions for accessory equipment includes a verbal request to establish automation functions for accessory equipment.

[0192] In some embodiments, the electronic device is a first electronic device. In some embodiments, the electronic device is paired with a second accessory device (e.g., a device configured to be controlled by one or more other devices) (e.g., before, after, and / or during pairing with the first accessory device), wherein the second accessory device is distinct from (and / or different from) the first accessory device and the resident device. In some embodiments, pairing with the second accessory device includes establishing a connection and / or exchanging information, such as information for communication, information for private communication, and / or information for verifying communication from each device. In some embodiments, pairing with the second accessory device includes registering the electronic device with the second accessory device and / or registering the second accessory device with the electronic device. In some embodiments, the second accessory device announces itself before pairing with it. In such embodiments, the electronic device detects the announcement by the second accessory device and, in response and / or afterward, initiates a pairing process with the second accessory device. In some embodiments, pairing with the second accessory device includes establishing one or more keys for communication between the electronic device and the second accessory device. In some embodiments, the second accessory device is a display, television, lamp, lock, security system, speaker, appliance, and / or thermostat. In some embodiments, after pairing with the second accessory device (and / or while communicating with or not communicating with the second accessory device), the electronic device initializes the configuration (e.g., configures, adds, registers, and / or establishes) the second accessory device on a third group of one or more security domains (e.g., infrastructure, secure communication networks, and / or groups) different from the first group of one or more security domains. In some embodiments, initializing the configuration of the second accessory device on the third group of one or more security domains includes registering the second accessory device on the third group of one or more security domains (e.g., including each security domain in the third group of one or more security domains). In some embodiments, initializing the configuration of the second accessory device on the third group of one or more security domains includes configuring the second accessory device to communicate using a network (e.g., communicating with the electronic device and / or one or more other devices). In other embodiments, the electronic device configures the second accessory device to communicate using a network before initializing the configuration on the third group of one or more security domains. In some embodiments, the electronic device communicates with the second accessory device using a network after initializing the configuration. In some implementations, initializing the configuration of the second accessory device on one or more third security domains includes discovering the second accessory device on the network and establishing a connection to it. In other implementations, the electronic device discovers the second accessory device on the network and establishes a connection to it before initializing the configuration of the second accessory device on one or more third security domains.In some implementations, initializing the configuration of a second accessory device on a single security domain includes providing the second accessory device with one or more credentials to be used by the second accessory device to communicate with other devices in the single security domain. In some implementations, a third set of one or more security domains includes installer domains (e.g., temporary domains used to reconfigure the second accessory device to another security domain), management domains (e.g., domains used to coordinate the addition of other security domains), and / or one or more ecosystem-specific domains (e.g., application- and / or company-specific domains). In some implementations, the third set of one or more security domains corresponds to, is managed by, controlled by, associated with, and / or owned by an electronic device. In some implementations, the third set of one or more security domains includes at least one security domain from the first set of one or more security domains. In some implementations, the first set of one or more security domains includes at least one security domain from the third set of one or more security domains. In some implementations, the third set of one or more security domains does not include any security domains from the first set of one or more security domains. In some implementations, the first set of one or more security domains does not include any security domains from the third set of one or more security domains. In some implementations, the third set of one or more security domains is determined based on the accessory device type to which the second accessory device belongs. In some implementations, the first set of one or more security domains is determined based on the accessory device type to which the first accessory device belongs. In some implementations, after pairing with the second accessory device (and / or while communicating with or not communicating with the second accessory device), the electronic device initializes the configuration (e.g., configures, adds, registers, and / or establishes) the second accessory device on the first set of one or more security domains, depending on whether the second accessory device is determined to be a first type (e.g., light, fan, camera, power monitor, accessory device type determined to be security-related, accessory device type determined to be non-security-related, accessory device type determined to be power usage-related, and / or accessory device type determined to be power usage-related). In some implementations, after pairing with a second accessory device (and / or while communicating with or not communicating with the second accessory device), based on the determination that the second accessory device is a second type (e.g., a light, fan, camera, power monitor, accessory device type determined to be security-related, accessory device type determined to be non-security-related, accessory device type determined to be power usage-related, and / or accessory device type determined to be power usage-related), the electronic device initializes the configuration (e.g., configures, adds, registers, and / or establishes) the second accessory device on one or more security domains in a third group. In some implementations, the second type differs from the first type.In some embodiments, after initializing the configuration of the second accessory device on one or more security domains in a third group, the electronic device (e.g., via one or more networks that the second accessory device gains access to when it is initially configured on one or more security domains in the third group) transmits a request to the second accessory device to enter a reinitialization configuration mode (and / or an initialization configuration mode); and in some embodiments, the second accessory device is in an initialization configuration mode when the electronic device initializes the configuration of the second accessory device on one or more security domains in the third group. In some embodiments, the reinitialization configuration data is first reinitialization configuration data. In some embodiments, after transmitting the request to the second accessory device to enter the reinitialization configuration mode (and / or while the second accessory device is in the reinitialization configuration mode or the initialization configuration mode), the electronic device receives second reinitialization configuration data from the second accessory device (e.g., the same as or different from the first reinitialization configuration data). In some embodiments, the second reinitialization configuration data includes codes used by the device to initialize the configuration of the second accessory device on one or more security domains (e.g., pairing codes and / or initialization configuration codes, such as Enhanced Initialization Configuration Method (ECM) codes). In some embodiments, the codes used for reinitialization configuration are different from the codes used for initialization configuration. In some embodiments, after a request to enter a reinitialization configuration mode is transmitted to the second accessory device (and / or while the second accessory device is in a reinitialization configuration mode or an initialization configuration mode), the electronic device uses second reinitialization configuration data via a resident device to reinitialize the second accessory device on one or more security domains in a second group. In some embodiments, the resident device, the second accessory device, and / or the electronic device communicate via a single network or multiple networks. In some embodiments, the resident device is not initialized on one or more security domains in a third group when the second accessory device is reinitialized on one or more security domains. In some embodiments, the third group of one or more security domains includes at least one security domain included in the second group of one or more security domains. In some embodiments, the third group of one or more security domains includes at least one security domain not included in the second group of one or more security domains. In some embodiments, the second group of one or more security domains includes at least one security domain not included in the third group of one or more security domains. In some embodiments, the third group of one or more security domains does not include security domains included in the second group of one or more security domains. In some embodiments, the second group of one or more security domains does not include security domains included in the third group of one or more security domains. In some implementations, using second reinitialization configuration data to reinitialize the second accessory device on one or more security domains in a second group includes transmitting the second reinitialization configuration data to the resident device.In some embodiments, second reinitialization configuration data is transmitted from the resident device to the second accessory device as part of and / or for reinitializing the second accessory device. In some embodiments, the electronic device and the second accessory device communicate with each other via the resident device.

[0193] In some implementations, the second group of one or more security domains includes multiple security domains. In some implementations, the multiple security domains include a first security domain and a second security domain different from the first security domain. In some implementations, the first security domain communicates using one or more credentials from a first group. In some implementations, the second security domain communicates using one or more credentials from a second group. In some implementations, the second group of one or more credentials is different from the first group of one or more credentials. In some implementations, the first group of one or more security domains consists of a single security domain. In some implementations, the first group of one or more security domains includes multiple security domains, each with one or more credentials from a different group.

[0194] In some implementations, initializing the configuration of accessory devices on a first set of one or more security domains includes naming the accessory devices (e.g., assigning default or custom names to the accessory devices) (e.g., as per the context of...). Figure 3H (As described). In some embodiments, naming an accessory device includes detecting input via one or more input components of an electronic device (e.g., camera, depth sensor, microphone, hardware input mechanism, rotatable input mechanism, physical input mechanism, mechanical button, touch-sensitive button, button, crown, knob, dial, physical slider, accelerometer, mouse, keyboard, touchpad and / or touch-sensitive surface), which includes (1) the name of the accessory device and / or (2) a request to assign a name to the accessory device. In some embodiments, input including the name of the accessory device includes typed input and / or verbal input detected by the electronic device (e.g., as about Figure 3H (As described).

[0195] It should be noted that the above text regarding process 500 (for example, Figure 5 The details of the process described herein also apply in a similar manner to the other processes described herein. For example, process 600 optionally includes one or more characteristics of the various processes described above with reference to process 500. For example, the electronic equipment of process 500 may be the mounting device of process 600. For the sake of brevity, these details will not be repeated herein.

[0196] Figure 6This is a flowchart illustrating a process (e.g., process 600) for initializing configuration accessories by a resident device according to some embodiments. Some operations in process 600 may be optionally combined, some operations may be optionally changed in order, and some operations may be optionally omitted.

[0197] As described below, process 600 provides an intuitive way to initialize configuration accessories by a resident device. Process 600 reduces the cognitive burden on the user, thereby creating a more efficient human-machine interface. For battery-powered computing devices, it enables users to interact with such devices faster and more efficiently, saving power and increasing the time between battery charging.

[0198] In some implementations, process 600 is performed at an electronic device (e.g., a resident device, a computer system, a user device, an initialization configuration device, and / or a controller device). In some implementations, the electronic device is a watch, telephone, tablet computer, fitness tracker, processor, head-mounted display (HMD) device, public utility, media device, speaker, television, and / or personal computing device.

[0199] The electronic device receives (602) an initialization configuration accessory device (e.g., as per installation equipment, electronic equipment, computer system, user equipment, initialization configuration device, and / or controller device) from the installation equipment (e.g., 300) (602). Figures 3C to 3K The request to initialize the configuration of the accessory device (e.g., a device configured to be controlled by one or more other devices) described and / or illustrated in these figures includes connection information corresponding to the accessory device (e.g., code, credential, identifier, name, and / or address information), wherein the accessory device is different from the installer device and the electronic device, and wherein the installer device is different from the electronic device. In some embodiments, the accessory device is a display, television, lamp, lock, security system, speaker, appliance, and / or thermostat. In some embodiments, the request to initialize the configuration of the accessory device is transmitted as part of re-initializing the accessory device on one or more security domains in a second set using re-initialization configuration data, as described above with respect to process 500. In some embodiments, when the electronic device receives the request to initialize the configuration of the accessory device, the accessory device is initialized and configured on one or more security domains (e.g., as described above with respect to process 500).

[0200] In response to receiving a request to initialize and configure the accessory device at (604), the electronic device establishes (606) a connection with (and / or communicates with) the accessory device using connection information. In some embodiments, the connection is established via a network (sometimes referred to as an operational network) that includes the accessory device and the electronic device. In some embodiments, the accessory device and the electronic device are located on the network before receiving the request to initialize and configure the accessory device. In some embodiments, the network includes the Internet, cellular network, wired network, wireless network, WiFi network, and / or Thread network. In some embodiments, establishing a connection using connection information includes identifying the accessory device on the network and / or communicating with the accessory device via the network using the connection information.

[0201] In response to receiving a request to initialize the configuration of an accessory device at (604), the electronic device initializes the configuration (608) (e.g., configures, adds, registers, and / or establishes) of the accessory device on a set of one or more security domains (e.g., infrastructure, secure communication networks, and / or groups) using connectivity. In some embodiments, initializing the configuration of the accessory device on the set of one or more security domains includes registering the accessory device on the set of one or more security domains (e.g., including each security domain in the set of one or more security domains). In some embodiments, the electronic device communicates with the accessory device using a network after initializing the configuration. In some embodiments, initializing the configuration of the accessory device on a single security domain includes providing the accessory device with one or more credentials to be used by the accessory device to communicate with other devices in the single security domain. In some embodiments, the set of one or more security domains includes management domains (e.g., domains for coordinating the addition of other security domains) and / or one or more ecosystem-specific domains (e.g., application- and / or company-specific domains). In some embodiments, the set of one or more security domains corresponds to, is managed by, is controlled by, is associated with, and / or is owned by the electronic device.

[0202] It should be noted that the above text regarding process 600 (for example, Figure 6 The details of the process described herein also apply in a similar manner to the process described herein. For example, process 500 optionally includes one or more characteristics of the various processes described herein with reference to process 600. For example, the electronic device of process 600 may be a resident device of process 500. For the sake of brevity, these details will not be repeated herein.

[0203] Figures 7 to 10 Exemplary processes for configuring and managing a home accessories ecosystem are illustrated according to some implementation schemes. The processes in these figures are used to illustrate the processes described above, including... Figure 5 and Figure 6 The process in.

[0204] In some implementation schemes, Figures 7 to 10 The process enables a ready-to-move-in home ecosystem by pre-configuring the structure and initializing accessory devices on it, eliminating the need for homeowners to separately install and / or configure accessory devices. In such implementations, the structure may represent a security domain, such as a set of one or more configurations, including a set of accessory device configurations, network infrastructure, and / or communication protocols that can be used to control accessory devices. For example, the structure may maintain a set of credentials to verify communication between devices (e.g., installer devices, resident devices, and / or accessory devices), such as the exchange of keys, certificates, and / or other security data for secure communication between devices and the structure.

[0205] Figure 7 A diagram illustrating an exemplary process of the installation phase of a home accessory ecosystem according to some embodiments is provided. It should be understood that while process 700 is described as a series of discrete steps, one or more steps of process 700 may be omitted, performed in a different order, combined, and / or further subdivided. Process 700 includes the use of a device referred to as a resident device. In some embodiments, a resident device is a device that manages and / or coordinates a home accessory ecosystem within an environment such as a home, office, and / or defined space. In such embodiments, the resident device may serve as a central hub for the home accessory ecosystem, acting as a router and providing a user interface for controlling the accessory devices. In some embodiments, the resident device is capable of directly controlling the accessory devices, performing automation functions, and / or processing user commands for controlling the accessory devices, while other devices require the resident device to perform such operations. Examples of resident devices include motorized smart displays, wall-mounted smart displays, control panels, networked appliances, multi-protocol bridging devices, accessory devices, media players, and / or home management systems.

[0206] Process 700 begins with installing (702) the dwelling device. In some embodiments, installing the dwelling device includes: physically placing the dwelling device in a central and / or accessible location within the environment and / or connecting the dwelling device to a power source. In some embodiments, installing the dwelling device includes: mounting the dwelling device on a mounting bracket, such as a wall mount, a motorized mounting bracket with wheels, and / or a robot base. In some embodiments, installing the dwelling device includes: assembling multiple components of the dwelling device, such as attaching a display to a base unit and / or connecting modular parts of the dwelling device. In some embodiments, installing the dwelling device includes: connecting the dwelling device to one or more networks, such as a local network, a Thread network, a WiFi network, and / or a wired network. In some embodiments, installing the dwelling device includes: establishing one or more networks, such as a local network, a Thread network, a WiFi network, and / or a Bluetooth network. For example, after connecting to one or more networks (such as a WiFi network as an example), the dwelling device may create a new network (such as a Thread network as an example) that allows Thread-enabled accessory devices to communicate with the dwelling device and / or with each other. In such an example, the residing device (e.g., as a Thread border router) facilitates communication between a Thread-enabled accessory device and one or more controller devices using other network protocols, such as Wi-Fi, to allow the controller devices to interact with the Thread-enabled accessory device, even if the controller devices do not support Thread. It should be recognized that Thread is merely one example of a network protocol used by the residing device, and other network protocols, such as Bluetooth, Wi-Fi, cellular, and / or wired connections, may be used. It should also be recognized that the residing device may utilize different network protocols to communicate with these different accessory devices, depending on their capabilities.

[0207] In some implementations, the host device establishes a local server as part of the installation process or after the installation process. In some implementations, the local server (1) is a software component that runs directly on the host device and (2) provides services and / or enables communication with the host device. In other implementations, the local server is implemented as a web server that handles TCP connections such as HTTP requests. In some implementations, communication with the local server occurs within the physical boundaries of the home's local area network (LAN), such that any device attempting to communicate with the local server must be physically present and connected to the same LAN as the host device. In some implementations, the local server provides security benefits by ensuring that the installation process and / or initial configuration process cannot be accessed or interfered with from outside one or more local networks. In some implementations, the local server provides a standardized way for many types of installer devices to interact with the host device without requiring a specific operating system and / or user account.

[0208] After the residing device is installed, process 700 includes entering (704) installer mode on the residing device. In some embodiments, installer mode allows installer devices (e.g., devices used for initial configuration of one or more accessory devices, which are personal devices of a person) and / or residing devices to set up a home accessory ecosystem and / or interact with the residing device. In such embodiments, the installer device may be paired with the residing device to enter installer mode or as part of installer mode.

[0209] In some implementations, the installer mode is activated in response to the resident device detecting input (such as a button press, voice command, options in the resident device's settings menu, and / or air gestures). In such implementations, in response to or after the detection of input, the resident device can pair with the installer device to securely communicate information between the resident device and the installer device. For example, the resident device may present a QR code including connectivity information (e.g., WiFi data, Bluetooth data, and / or Thread data), which the installer device can scan to establish a connection with the resident device. In another example, the resident device may initiate a Bluetooth announcement including connectivity information to achieve pairing. After scanning the QR code or detecting the Bluetooth announcement, the installer device can pair with the resident device (e.g., via a handshake, such as through key exchange) and / or establish a communication channel with the resident device's local server using the connectivity information. In some implementations, in response to or after the detection of input, the installer device connects to the resident device's network address to establish a TCP connection with the resident device's local server. In such implementations, communication with the local server can be achieved via one of several communication methods, such as WiFi, Software Enabled Access Point (SoftAP), or Bluetooth. In some implementations, the installer device maintains a connection to the local server residing on the device throughout the process 700. In some implementations, the local server provides the installer device with information required to configure one or more accessory devices, such as Thread credentials, WiFi network information, Bluetooth credentials, and / or a list of security credentials. In some implementations, the installer device uses this information to configure the installer structure and / or prepare further accessory initialization configurations, as described below. Figure 8 Further description. In some implementations, entering installer mode, pairing with the installer device, and / or communicating between the installer device and / or the resident device requires authentication, such as password and / or biometric verification to authenticate an authorized installer.

[0210] After the resident device enters installer mode and / or in response to this step, process 700 includes initializing (706) one or more home structures. In some embodiments, multiple home structures are initialized at 706. For example, the resident device may initialize a management structure for coordinating the removal, addition, and / or modification of one or more other home structures, an ecosystem-specific structure specific to the accessory device ecosystem, and / or an operation-specific structure for specific accessory device functions, such as a power structure that can be used to manage accessory devices with manageable power consumption.

[0211] After initializing one or more family structures, process 700 includes setting (708) rooms and partitions. For example, the installer may define different rooms and / or partitions in the family within the residing device, such as “living room” and / or “kitchen”. In some implementations, partitions may be created to group multiple rooms and / or areas together, such as “upstairs” or “outdoors”. For example, the installer may create a “downstairs” partition that includes a living room, kitchen, and / or dining room. In some implementations, the residing device stores partition information and / or room information that can be accessed by the installer and / or homeowner via the residing device during future accessory installations. It should be recognized that other settings, such as network name, password, and / or restrictions, may be configured for the family.

[0212] After setting up the room and / or partition, process 700 includes unloading (710) the residing device. This optional step can be considered a security measure to protect the residing device from damage, theft, and / or unauthorized access. For example, the residing device may be removed from the mounting rack and / or stored in a secure location until subsequent stages of the home accessories ecosystem setup process occur, as described below. Figure 8 , Figure 9 and / or Figure 10 As described. In some implementations, unloading a residing device includes powering off, disconnecting from the power supply, and / or physically removing the residing device from its installation location. In some implementations, unloading a residing device does not erase one or more home structures and / or zoning and / or room information to allow the process to continue when the residing device is reinstalled.

[0213] Figure 8 A diagram illustrating an exemplary process for the construction phase of a home accessory ecosystem according to some implementation schemes is provided. It should be understood that while process 800 is described as a series of discrete steps, one or more steps of process 800 may be omitted, performed in a different order, combined, and / or further subdivided. Process 800 includes the use of resident devices (e.g., as described above regarding...). Figure 7 (as described) and devices referred to as installer devices. In some implementations, installer devices (1) are distinguished from dwelling devices, and (2) are devices that configure one or more accessory devices for a home accessory ecosystem in an environment such as a home, office, and / or confined space. Examples of installer devices include watches, phones, tablets, fitness trackers, processors, head-mounted display (HMD) devices, public facilities, media devices, speakers, televisions, electronic devices, and / or personal computing devices.

[0214] Process 800 begins with the installation (802) of the resident device. In some implementations, the installation of the resident device is similar to that described above. Figure 7As described in section 702. After the resident device is installed, process 800 includes putting the resident device into (804) installer mode. In some embodiments, the resident device enters installer mode similar to the above description. Figure 7 As described in 704.

[0215] After the resident device enters installer mode, process 800 proceeds to initiate (806) one or more installer structures (e.g., at least partially different from and / or distinct from the one or more home structures described above with respect to process 700). In some embodiments, the installer structure is established on and / or via the installer device and represents a temporary set of configurations (such as configurations of a set of accessory devices, network infrastructure, and / or communication protocols) that can be used by the installer device to set up and configure the one or more accessory devices before transferring them to one or more home structures (e.g., as described above with respect to process 700). Figure 7 (As described above). In some embodiments, multiple home structures are initialized at 806. For example, the installer device may initialize a management structure for coordinating the removal, addition, and / or modification of one or more other installer structures, an ecosystem-specific structure specific to the accessory device ecosystem, and / or an operation-specific structure for specific accessory device functions, such as a power structure for managing accessory devices with manageable power consumption. In some embodiments, initiating an installer structure includes: establishing one or more communication channels between the installer device and one or more accessory devices, configuring one or more temporary security protocols, and / or defining one or more temporary network boundaries. For example, the installer structure may use Wi-Fi, Thread, and / or other wireless communications to connect to one or more accessory devices. In some embodiments, the installer device may connect to a local server running on the host device and / or pair with the host device by scanning a QR code and / or detecting Bluetooth announcements, as described above regarding process 700. In some embodiments, the host device's local server provides information such as Thread, Bluetooth, Wi-Fi credentials, and / or a pre-configured list of partitions and / or rooms. In some implementations, the installer equipment can use this information to set up one or more installer structures and / or prepare further accessory initialization configurations.

[0216] After initiating one or more installer structures, process 800 includes installing (808) accessory devices (e.g., smart lights, thermostats, door locks, and / or cameras). In some implementations, installing accessory devices includes: placing the accessory device within the physical boundaries of the home; mounting the accessory device to a surface; connecting the accessory device to a power source; and / or powering on the accessory device. It should be recognized that multiple accessory devices may be installed, including different accessory devices compatible with different ecosystems and / or network protocols.

[0217] After the accessory device is installed, process 800 includes initializing the accessory device configuration (810) to the installer structure. In some embodiments, initializing the accessory device configuration includes the installer device establishing a secure connection with the accessory device and / or pairing with the accessory device. For example, the installer device may scan a QR code containing pairing information displayed on the accessory device. Alternatively, the installer device and the accessory device may use Near Field Communication (NFC) to establish a connection. Alternatively, the accessory device may announce its presence via Bluetooth to allow the installer device to detect and establish Bluetooth pairing. Alternatively, if an automated method is unavailable, the accessory device may display a pairing code that can be manually entered into the installer device. Once paired, the installer device continues to initialize the accessory device configuration to one or more installer structures. In some embodiments, the installer device uses network information previously obtained from a local server residing on the device (e.g., as described above with respect to process 700) to help establish the connection. For example, the installer device may provide the accessory device with WiFi or Thread network credentials to allow the accessory device to join the home network. In some implementations, the installer equipment then establishes the necessary safety credentials for the accessory equipment to operate within one or more installer structures.

[0218] In some implementations, the installer device sequentially initializes and configures multiple accessories on at least one of one or more installer structures without needing to interact with the resident device between each initialization configuration. In other implementations, after initializing and configuring an accessory device onto an installer structure, the installer device notifies and / or synchronizes with the resident device information about the newly initialized accessory device, including information for later reinitializing and configuring the accessory device onto one or more home structures (e.g., as described above with respect to process 700).

[0219] After initializing the accessory device onto the installation structure, process 800 includes configuring (812) the accessory device. In some embodiments, configuring the accessory device may include setting accessory device-specific characteristics, assigning a unique identifier, and / or updating the device firmware. For example, the installation device may set initial parameters for the accessory device, such as the brightness level of a smart light, the temperature threshold of a thermostat, and / or the sensitivity setting of a motion sensor.

[0220] After configuring the accessory device, process 800 includes assigning (814) the accessory device to a room or partition. This step may utilize pre-configured partition and / or room information stored on the resident device and added during the installation phase, as described above regarding 708. In some embodiments, at 814, a new room and / or partition may be added to the installer structure. In some embodiments, assigning the accessory device to a room or partition facilitates the logical organization of the accessory device within the home accessory ecosystem and / or enables room-based or partition-based control and automation functions. In some embodiments, the installer device may access a predefined list of partitions and / or rooms via an installer application on the installer device that communicates with the resident device. When assigning an accessory to a room or partition, the installer device may select from a list of predefined options defined during resident device setup or by adding a room or partition. For example, if a smart light switch is installed in the kitchen, the installer device may assign it to the “kitchen” room. Similarly, if a thermostat is installed to control an upstairs area, the thermostat can be assigned to an "upstairs" zone that may include multiple rooms.

[0221] After assigning accessory devices to zones and / or rooms, process 800 includes setting (816) automation functions and scenes for the accessory devices. For example, the installer may create automation functions such as turning on lights at sunset and / or adjusting thermostats based on occupancy and / or time of day. In some embodiments, scenes may be set to simultaneously control multiple accessory devices, such as a "good morning" scene for opening blinds, turning on lights, and / or starting a coffee maker. In some embodiments, automation functions and / or scenes are initially set on at least one of one or more installer structures and may be transferred to at least one of one or more home structures in a later step, as further described below. In some embodiments, one or more automation functions and / or scenes are set on a home structure (e.g., after 820), in addition to or as an alternative to those described above with respect to 816.

[0222] After setting up automation functions and scenarios, process 800 includes calibrating (818) accessory devices. In some implementations, calibrating accessory devices includes checking network connectivity, verifying sensor readings, and / or confirming that the accessory devices are responsive to commands. For example, installer devices may test one or more accessory devices on at least one installer structure in one or more installer structures.

[0223] After the accessory equipment is verified, process 800 includes transferring (820) one or more installer structures to one or more home structures. In some implementations, the installer equipment uses a local server connection and / or pairing with the resident equipment, as described above regarding... Figure 7 The described method involves initiating the transfer of accessory devices from one or more installer structures to one or more home structures. In some implementations, the transfer is initiated by exchanging initialization configuration codes and / or reinitialization configuration codes and / or other reinitialization configuration data from the accessory device to the installer device, then to the resident device, and back to the accessory device. In some implementations, a local server remains active throughout the installation process, allowing the installer device to continuously reinitialize and configure multiple accessories while maintaining a single connection with the resident device. As part of transferring one or more installer structures to one or more home structures, the resident device initiates a reinitialization configuration process to add the accessory device to one or more home structures. In some implementations, the reinitialization configuration process begins with the installer device sending a request to the accessory device to enter reinitialization configuration mode. Upon receiving the request, the accessory device generates and returns reinitialization configuration data including an Enhanced Initialization Configuration Method (ECM) code. The installer device then sends the reinitialization configuration data including the ECM code to the resident device. Using the ECM code, the resident device can locate the accessory device on the network and perform the reinitialization configuration of the accessory device onto one or more home structures. In some implementations, when multiple accessory devices are reconfigured from one or more installer structures to one or more home structures, the installer transfers the accessory devices on a separate request or in bulk on a single request.

[0224] In some implementations, the transfer of accessory devices from one or more installer structures to one or more home structures includes reassigning network addresses, updating security credentials, and / or verifying transferred information such as accessory device name, identifier, partition and / or room assignment, and / or configuration. In some implementations, settings and / or configuration parameters are maintained during the secure transfer of accessory devices to one or more home structures. In some implementations, after a successful transfer, process 800 implements an eviction policy. In such implementations, the eviction policy can automatically remove the association between the installer device and one or more accessory devices, and / or allow the installer device to initiate a completion action to remove the installer device's access to one or more accessory devices. At this point, the accessory device, initially initialized and configured on one or more installer structures, has been successfully transferred to one or more home structures associated with the resident device. In some implementations, the resident device can now directly control the accessory device. In some implementations, the transfer can be repeated for different accessories and / or the transfer can support multi-structure accessory devices, where, in addition to one or more home structures, one or more accessory devices may also need to be reconfigured to one or more additional structures (such as a separate energy management system).

[0225] After the accessory equipment is transferred from one or more installer structures to one or more home structures, process 800 includes verifying (822) the accessory equipment at at least one home structure within the one or more home structures. For example, the installer may perform a comprehensive check on the appropriate functionality of the transferred accessory equipment, configurations (such as assigned zones and / or rooms), and / or automation functions and scenarios. In some implementations, verifying the accessory equipment at 822 ensures that the one or more home structures, including all accessories and / or configurations transferred from one or more installer structures, and / or that the one or more home structures function as intended for homeowner use.

[0226] After verifying the accessory device on one or more home structures, process 800 includes unloading (824) the resident device. In some implementations, unloading the resident device is considered a security measure to protect the resident device from damage and / or theft, and / or to protect the home structure from unauthorized access during the remainder of the construction and / or renovation process. For example, the resident device may be removed from the installation and stored in a secure location until the next stage of the home accessory ecosystem setup process is initiated, as described below. Figure 9 and / or Figure 10 Further description. In some implementations, unloading the resident device includes powering off, disconnecting from the power supply, and / or physically removing the resident device from its installation location.

[0227] It should be recognized that although one installer device has been described above, multiple different installer devices may be used with the technology described herein, each of which transfers different fittings from the same or different installer structures to one or more home structures.

[0228] Figure 9 A diagram illustrating exemplary processes of operational phases of a home accessory ecosystem according to some embodiments is provided. It should be understood that while process 900 is described as a series of discrete steps, one or more steps of process 900 may be omitted, performed in a different order, combined, and / or further subdivided. Process 900 includes the use of resident devices (e.g., as described above regarding...). Figures 7 to 8 (As described).

[0229] Process 900 begins with the installation (902) of the resident device. In some implementations, the installation of the resident device is similar to that described above. Figure 7 702 and / or Figure 8 As described in 802.

[0230] After the resident device is installed, process 900 includes enabling (904) standby mode. In some implementations, standby mode allows the resident device to operate independently without needing to communicate with external servers, applications, and / or devices (such as the installer device) (e.g., as described above regarding...). Figure 8 (As described). For example, in standalone mode, the resident device can manage local control of accessory devices, perform automation functions, and / or process user commands via one or more home structures pre-configured on the resident device. In some implementations, standalone mode is activated in response to the resident device detecting input such as button presses, voice commands, options in the resident device's settings menu, and / or air gestures.

[0231] After enabling standalone mode, process 900 includes controlling (906) the accessory device. For example, the resident device may send one or more commands to the accessory device, receive status updates from the accessory device, and / or execute automated functions and / or scenarios set for the accessory device during the build phase (e.g., as described above regarding...). Figure 8(As described). In some implementations, controlling the accessory device includes responding to user input detected via the resident device and / or via another device (such as a mobile device) connected to the resident device and / or the home network. In such implementations, the other device may be paired with the resident device and / or establish a communication channel to control the accessory device via the resident device using one or more home structures, without requiring input detected via the resident device itself. For example, a user may command the resident device to turn on a light in a specific room, adjust a thermostat, and / or activate a predefined scene. Alternatively, a user may open a home app on another device that displays the status of the accessory device, such as real-time energy consumption from a power monitoring accessory and / or the current status of the lights. The home app may then relay these commands to the resident device, which executes the commands by communicating with the accessory device.

[0232] Following the control of the accessory device, process 900 includes unloading (908) the resident device. In some embodiments, this step may be performed when a home accessory ecosystem needs to be reconfigured, when a resident device needs to be replaced, and / or when the home is ready for new occupants. For example, the resident device may be removed from the mounting rack and / or stored. In some embodiments, unloading the resident device includes de-energizing, disconnecting from the power supply, and / or physically removing the resident device from its installation location. In some embodiments, unloading the resident device includes removing data associated with one or more installer structures and / or one or more home structures to protect user and / or home data privacy.

[0233] Figure 10 A diagram illustrating an exemplary process for the transfer phase of a home accessories ecosystem according to some embodiments is provided. It should be understood that while process 1000 is described as a series of discrete steps, one or more steps of process 800 may be omitted, performed in a different order, combined, and / or further subdivided. Process 800 includes the use of resident devices (e.g., as described above regarding...). Figures 7 to 9 (As described).

[0234] Process 1000 begins with the installation (1002) of the resident device. In some implementations, the installation of the resident device is similar to that described above. Figure 7 702 Figure 8 802 and / or Figure 9 As described in 902.

[0235] After the resident device is installed, process 1000 includes registering (1004) the resident device. For example, the resident device or a personal device communicating with the resident device detects input (such as a button press, voice command, option in a settings menu, and / or air gesture) to register the resident device. In some embodiments, registering the resident device includes associating the resident device with a user account, configuring network settings, and / or restoring previously saved settings and / or configurations. For example, a new resident can register the resident device to a personal account used to control a home accessories ecosystem. In some embodiments, registering the resident device 1004 includes restoring and / or reactivating one or more home structures on the resident device (e.g., as described above regarding...). Figures 7 to 9 (As described) and / or authorize one or more home structures to new users, such as new residents. In some implementations, when a new user is added to one or more home structures, the resident device initiates a process to add one or more devices of the new user to one or more home structures. In some implementations, different users are granted different levels of access. For example, a primary user may have access to the management structure, while other users may be restricted to accessing specific structures and / or have limited control over the management structure. In some implementations, when multiple users are registered, the resident device maintains separate security credentials for each user, while ensuring that all registered users can access and control one or more accessory devices included in one or more home structures according to their assigned permissions. In some implementations, the resident device supports adding temporary users (such as visitors and / or maintenance personnel) who have time-limited and / or security-limited access to specific structures. It should be recognized that registering a resident device may involve additional sub-steps, such as network configuration, account-specific user authentication steps, and / or restoration of previously set settings.

[0236] After registering the resident device, process 1000 includes controlling (1006) the accessory device. For example, the resident device may send commands to the accessory device, receive status updates from the accessory device, and / or execute previously set automation functions and / or scenarios for the accessory device, as described above. Figure 7 and / or Figure 8 As described. In some embodiments, the control accessory device includes responding to user input detected via a resident device and / or via user equipment (such as a mobile device) connected to the resident device and / or home network.

[0237] In some implementations, new residents use a home app on their mobile devices to control and / or display the status of accessory devices. In such implementations, the resident device can act as a security intermediary, ensuring that command and / or status requests are authenticated using security permissions granted during registration. In some implementations, through the home app, new residents monitor various aspects of the home accessory ecosystem, such as viewing security camera feeds, door lock status, and / or monitoring temperature settings across different zones and / or rooms. In such implementations, the home app can transmit these requests to the resident device, which then retrieves information from one or more accessory devices and returns the status to the home app. Alternatively, new residents can use their devices to transmit commands to control accessory devices routed through the resident device. The new resident's device transmits the commands to the resident device, which then communicates with one or more appropriate accessories using security permissions established during registration. For example, a new resident can transmit commands from their mobile device to turn on lights in a specific room, adjust a thermostat, and / or activate a predefined scene, and the resident device will execute the commands on behalf of the new resident's device.

[0238] In some implementations, process 1000 may include Figure 10 Additional steps not illustrated herein include reconfiguring accessory devices, updating automation features and / or scenarios to suit the new resident's preferences, and / or performing system-wide checks to ensure all components of the home accessory ecosystem are functioning correctly. For example, after registering resident devices, new residents can customize existing scenarios and / or create new ones.

[0239] In some implementations, the accessory device is the first accessory device. In some implementations, the connection information is the first connection information. In some implementations, the electronic device receives from the installer device (e.g., before, after, or simultaneously with initializing the configuration of the first accessory device on that set of one or more security domains and / or before or after receiving a request to initialize the configuration of the first accessory device) the initialization configuration of the second accessory device (e.g., as per the description of...). Figures 3C to 3KThe request to initialize the configuration of the second accessory device (e.g., a device configured to be controlled by one or more other devices) as described and / or illustrated in these figures includes second connection information (e.g., code, credential, identifier, name, and / or address information) corresponding to the second accessory device, wherein the second accessory device is different from the installer device, the electronic device, and the first accessory device. In some embodiments, the second accessory device is a display, television, lamp, lock, security system, speaker, appliance, and / or thermostat. In some embodiments, the request to initialize the configuration of the second accessory device is transmitted as part of re-initializing the accessory device on a second set of one or more security domains using re-initialization configuration data, as described above with respect to process 500. In some embodiments, when the electronic device receives the request to initialize the configuration of the second accessory device, the second accessory device is initialized and configured on one or more security domains (e.g., as described above with respect to the first set of one or more security domains). In some embodiments, the second connection information may be the same as or different from the first connection information. In some embodiments, in response to receiving a request to initialize the configuration of a second accessory device, the electronic device establishes a connection with (and / or communicates with) the second accessory device using second connection information. In some embodiments, the connection using the second connection information is established via a network (sometimes referred to as an operational network) that includes the second accessory device and the electronic device. In some embodiments, the second accessory device and the electronic device are located on the network before receiving the request to initialize the configuration of the second accessory device. In some embodiments, the network includes an internet network, a cellular network, a wired network, a wireless network, a WiFi network, and / or a Thread network. In some embodiments, establishing a connection using the second connection information includes identifying the second accessory device on the network and / or communicating with the second accessory device via the network using the second connection information. In some embodiments, in response to receiving a request to initialize the configuration of the second accessory device, the electronic device initializes the configuration (e.g., configures, adds, registers, and / or establishes) the second accessory device on one or more security domains using the second connection. In some embodiments, initializing the configuration of the second accessory device on one or more security domains includes registering the second accessory device on one or more security domains (e.g., including each of the one or more security domains in the one or more security domains). In some embodiments, the electronic device communicates with the second accessory device using the network after initial configuration. In some implementations, initializing the configuration of a second accessory device on a single security domain includes providing the second accessory device with one or more credentials to be used by the second accessory device to communicate with other devices in the single security domain.

[0240] In some implementations, the accessory device is the first accessory device. In some implementations, the connection information is the first connection information. In some implementations, the installer device is the first installer device. In some implementations, the electronic device receives initial configuration of the third accessory device from the second installer device (e.g., installation equipment, electronic device, computer system, user equipment, initial configuration device, and / or controller device) (e.g., before, after, or simultaneously with initial configuration of the first accessory device on that set of one or more security domains and / or before or after receiving a request to initialize configuration of the first accessory device). Figures 3C to 3KThe request to initialize the configuration of a third accessory device (e.g., a device configured to be controlled by one or more other devices) as described and / or illustrated in these figures includes third connection information (e.g., code, credential, identifier, name, and / or address information) corresponding to the third accessory device, wherein the third accessory device is different from the first installer device, the second installer device, the electronic device, and the first accessory device (and / or the second accessory device), and wherein the second installer device is different from the electronic device and the first installer device. In some embodiments, the third accessory device is a display, television, lamp, lock, security system, speaker, appliance, and / or thermostat. In some embodiments, the request to initialize the configuration of the third accessory device is transmitted as part of re-initializing the accessory device on a second set of one or more security domains using re-initialization configuration data, as described above with respect to process 500. In some embodiments, when the electronic device receives the request to initialize the configuration of the third accessory device, the third accessory device is initialized and configured on one or more security domains (e.g., as described above with respect to process 500). In some embodiments, the third connection information may be the same as or different from the first connection information and / or the second connection information. In some embodiments, in response to receiving a request to initialize the configuration of a third accessory device, the electronic device uses the third connection information to establish a connection with (and / or communicate with) the third accessory device. In some embodiments, the connection is established via a network (sometimes referred to as an operational network) that includes the third accessory device and the electronic device. In some embodiments, the third accessory device and the electronic device are located on the network before receiving the request to initialize the configuration of the third accessory device. In some embodiments, the network includes an Internet network, a cellular network, a wired network, a wireless network, a WiFi network, and / or a Thread network. In some embodiments, establishing a connection using the third connection information includes identifying the third accessory device on the network and / or communicating with the third accessory device via the network using the third connection information. In some embodiments, in response to receiving a request to initialize the configuration of a third accessory device, the electronic device uses the third connection to initialize the configuration (e.g., configure, add, register, and / or establish) of the third accessory device on one or more security domains. In some embodiments, initializing the configuration of the third accessory device on one or more security domains includes registering the third accessory device on one or more security domains (e.g., including each security domain in one or more security domains). In some implementations, the electronic device communicates with the third accessory device via a network after initial configuration. In some implementations, initial configuration of the third accessory device on a single security domain includes providing the third accessory device with one or more credentials to be used by the third accessory device to communicate with other devices in the single security domain.

[0241] In some implementations, the accessory device is the first accessory device. In some implementations, the connection information is the first connection information. In some implementations, the set of one or more security domains is the first set of one or more security domains. In some implementations, the electronic device receives (e.g., before, after, or simultaneously with initializing the configuration of the first accessory device on the first set of one or more security domains and / or before or after receiving a request to initialize the configuration of the first accessory device) the initialization configuration of the fourth accessory device (e.g., as per the description of...). Figures 3C to 3KThe request to initialize the configuration of a fourth accessory device (e.g., a device configured to be controlled by one or more other devices) as described and / or illustrated in these figures includes fourth connection information (e.g., code, credential, identifier, name, and / or address information) corresponding to the fourth accessory device, wherein the fourth accessory device is different from the installer device, the electronic device, and the first accessory device (and / or the second and / or the third accessory device). In some embodiments, the fourth accessory device is a display, television, lamp, lock, security system, speaker, appliance, and / or thermostat. In some embodiments, the request to initialize the configuration of the fourth accessory device is transmitted as part of re-initializing the accessory device on one or more security domains in a second set using re-initialization configuration data, as described above with respect to process 500. In some embodiments, when the electronic device receives the request to initialize the configuration of the fourth accessory device, the fourth accessory device is initialized and configured on one or more security domains (e.g., as described above with respect to the first set of one or more security domains). In some embodiments, the fourth connection information may be the same as or different from the first connection information, the second connection information, and / or the third connection information. In some embodiments, in response to receiving a request to initialize the configuration of a fourth accessory device, the electronic device establishes a connection (and / or communicates with) the fourth accessory device using fourth connection information. In some embodiments, the connection using the fourth connection information is established via a network (sometimes referred to as an operational network) that includes the fourth accessory device and the electronic device. In some embodiments, the fourth accessory device and the electronic device are located on the network before receiving the request to initialize the configuration of the fourth accessory device. In some embodiments, the network includes the Internet, cellular networks, wired networks, wireless networks, WiFi networks, and / or Thread networks. In some embodiments, establishing a connection using the fourth connection information includes identifying the fourth accessory device on the network and / or communicating with the fourth accessory device via the network using the fourth connection information. In some embodiments, in response to receiving a request to initialize the configuration of the fourth accessory device, the electronic device uses the fourth connection to initialize the configuration (e.g., configure, add, register, and / or establish) of the fourth accessory device on a second group of one or more security domains (e.g., infrastructure, secure communication networks, and / or groups) that is different from the first group of one or more security domains. In some embodiments, initializing the configuration of the fourth accessory device on one or more security domains in the second set includes registering the fourth accessory device on each of the one or more security domains in the second set. In some embodiments, the electronic device communicates with the fourth accessory device via a network after initializing the configuration.In some implementations, initializing the configuration of a fourth accessory device on a single security domain includes providing the fourth accessory device with one or more credentials to be used by the fourth accessory device to communicate with other devices in the single security domain. In some implementations, the second set of one or more security domains includes management domains (e.g., domains used to coordinate the addition of other security domains) and / or one or more ecosystem-specific domains (e.g., application- and / or company-specific domains). In some implementations, the second set of one or more security domains corresponds to, is managed by, controlled by, associated with, and / or owned by an electronic device. In some implementations, the second set of one or more security domains includes at least one security domain included in the first set of one or more security domains. In some implementations, the first set of one or more security domains includes at least one security domain included in the second set of one or more security domains. In some implementations, the second set of one or more security domains does not include security domains included in the first set of one or more security domains. In some implementations, the first set of one or more security domains does not include security domains included in the second set of one or more security domains.

[0242] In some implementations, the electronic device connects to a network (e.g., an operational network, an internet network, a cellular network, a wired network, a wireless network, a WiFi network, and / or a Thread network) before receiving a request to initialize the accessory device. In some implementations, before receiving a request to initialize the accessory device, the electronic device establishes (e.g., turns on, starts, initiates, and / or activates) a local server (and / or port) on itself (e.g., for communicating with one or more devices, such as the installer device). In some implementations, upon connecting to the network, after establishing the local server and before receiving the request to initialize the accessory device, the electronic device connects to the installer device via the local server (e.g., establishes a TCP connection with the installer device using the local server), wherein the request to initialize the accessory device is received by the electronic device via the local server (and / or port). In some implementations, the electronic device receives the request to initialize the accessory device from the installer device in a message (such as a direct message not part of an ongoing connection), rather than receiving the request to initialize the accessory device via the local server.

[0243] In some implementations, the connection established with the accessory device uses a different communication channel than the local server (e.g., communication between the electronic device and the accessory device does not go through the local server).

[0244] In some implementations, prior to receiving a request to initialize the configuration of accessory devices, the electronic device transmits a list of pre-configured accessory device groups (e.g., a list of rooms and / or zones) to the installer device, wherein the request to initialize the configuration of accessory devices includes an identifier of a group in the list of pre-configured accessory device groups, and wherein the accessory device is initialized as part of that group on one or more security domains.

[0245] In some implementations, prior to receiving a request to initialize the configuration of accessory devices, the electronic device transmits a list of pre-configured accessory device groups (e.g., a list of rooms and / or zones) to the installer device, wherein the request to initialize the configuration of accessory devices includes the identifier of a group not included in the list of pre-configured accessory device groups (e.g., the group was established and / or created by the installer device), and wherein the accessory device is initialized as part of that group on one or more security domains.

[0246] In some implementations, prior to receiving a request to initialize the accessory device, the electronic device receives a request from the installer device to add automation functions to the accessory device, such that the accessory device is configured to perform one or more operations based on the automation functions (e.g., turning on at a specific time, turning off at a specific time, changing state at a specific time, and / or changing state in response to detecting a specific event). In some implementations, the electronic device transmits the request to add automation functions to the accessory device (e.g., the request is transmitted via the electronic device, such as when the electronic device acts as a router for the installer device and / or the accessory device).

[0247] In some embodiments, the electronic device is a first electronic device. In some embodiments, after transmitting a request to the accessory device to add automation functionality, the electronic device receives a request to modify the automation functionality from a second electronic device different from the first electronic device (e.g., via the set of one or more security domains, such as communicating with the accessory device using credentials as part of the set of one or more security domains). In some embodiments, the second electronic device is a user device and / or personal device that (e.g., takes over from the first electronic device), becomes the owner or co-owner of the set of one or more security domains, and / or becomes the administrator of the set of one or more security domains. In some embodiments, the second electronic device is a watch, phone, tablet, fitness tracker, processor, head-mounted display (HMD) device, public utility, media device, speaker, television, and / or personal computing device. In some embodiments, in response to receiving a request to modify the automation functionality, the electronic device modifies the automation functionality via the accessory device. In some embodiments, in response to receiving a request to modify the automation functionality, the first electronic device transmits the request to modify the automation functionality to the accessory device (e.g., the request to modify the automation functionality is transmitted via the first electronic device, such as when the first electronic device acts as a router for the second electronic device and / or the accessory device).

[0248] In some implementations, after initializing the configuration of the accessory device on one or more security domains (and / or in response to this step) (and / or in the absence of detected user input corresponding to a request to remove access permissions), the electronic device removes the installer device's access permissions to the accessory device (e.g., after removing access permissions to the accessory device, the electronic device is no longer able to obtain the status of the accessory device and / or control the accessory device). In some implementations, access permissions to the accessory device are removed without detecting user input. In some implementations, access permissions to the accessory device are removed in response to detecting user input corresponding to a request to remove access permissions to the accessory device.

[0249] In some embodiments, after initializing the configuration of an accessory device on the set of one or more security domains (and / or in response to this step) (and / or in the absence of user input corresponding to a request to remove access), the electronic device receives a request from a third electronic device (e.g., 300) different from the first electronic device to initialize the configuration of a third electronic device on the set of one or more security domains. In some embodiments, the third electronic device is a user device and / or personal device that (e.g., takes over from the first electronic device), becomes the owner or co-owner of the set of one or more security domains, and / or becomes the administrator of the set of one or more security domains. In some embodiments, the third electronic device is a watch, phone, tablet, fitness tracker, processor, head-mounted display (HMD) device, public utility, media device, speaker, television, and / or personal computing device. In some embodiments, the third electronic device is not an accessory device. In some embodiments, in response to receiving a request to initialize the configuration of a third electronic device on the set of one or more security domains, the electronic device initializes the configuration of the third electronic device on the set of one or more security domains. In some embodiments, initializing the configuration of a third electronic device on the set of one or more security domains includes registering the third electronic device on the set of one or more security domains (e.g., including each security domain in the set of one or more security domains). In some implementations, the third electronic device communicates with accessory devices via a network after initial configuration. In some implementations, initial configuration of the third electronic device on a single security domain includes providing the third electronic device with one or more credentials to use by the third electronic device to communicate with other devices in the single security domain.

[0250] In some implementations, the set of one or more security domains includes multiple security domains. In some implementations, the multiple security domains include a first security domain and a second security domain different from the first security domain. In some implementations, the first security domain communicates using a first set of one or more credentials. In some implementations, the second security domain communicates using a second set of one or more credentials. In some implementations, the second set of one or more credentials is different from the first set of one or more credentials.

[0251] In some implementations, after initializing the configuration of the accessory device on the set of one or more security domains, the electronic device receives a request to change one or more sets of credentials (e.g., username, password, and / or certificate) for the network corresponding to the accessory device (e.g., an operational network, an internet network, a cellular network, a wired network, a wireless network, a WiFi network, and / or a Thread network). In some implementations, the request to change the set of one or more credentials for the network corresponding to the accessory device is received from the installer device, the accessory device, or another device different from the accessory device and the installer device. In some implementations, the other device is a user device and / or personal device that (e.g., from the electronic device) takes over, becomes the owner or co-owner of the set of one or more security domains, and / or becomes the administrator of the set of one or more security domains. In some implementations, the other electronic device is a watch, phone, tablet, fitness tracker, processor, head-mounted display (HMD) device, public utility, media device, speaker, television, and / or personal computing device. In some implementations, the other electronic device is not an accessory device. In some implementations, the installer device, the electronic device, the other electronic device, and / or the accessory device communicate via a network. In some implementations, in response to receiving a request to change the set of one or more credentials for the network corresponding to the accessory device, the electronic device (e.g., according to the request to change the set of one or more credentials for the network corresponding to the accessory device) changes the set of one or more credentials for the network corresponding to the accessory device.

[0252] In some embodiments, after initializing the configuration of the accessory device on the set of one or more security domains, the electronic device receives a request from a user device different from the accessory device, the installer device, and the electronic device to be added to the set of one or more security domains (e.g., a management domain (e.g., a domain used to coordinate the addition of other security domains) and / or an ecosystem-specific domain (e.g., an application- and / or company-specific domain)). In some embodiments, in response to receiving the request to be added to a security domain, the electronic device initializes the configuration of the user device on the security domain. In some embodiments, initializing the configuration of the user device on a security domain includes registering the accessory device on the security domain. In some embodiments, initializing the configuration of the user device on a security domain includes providing the accessory device with one or more credentials to be used by the accessory device to communicate with other devices in the security domain. In some embodiments, after initializing the configuration of the accessory device on the set of one or more security domains, the electronic device receives a request from the user device to be added to one or more security domains. In some embodiments, in response to receiving the request to be added to the set of one or more security domains, the electronic device initializes the configuration of the user device on the set of one or more security domains. In some embodiments, initializing the configuration of a user device on the set of one or more security domains includes registering accessory devices on the set of one or more security domains (e.g., including each of the set of one or more security domains). In some embodiments, the user device is provided with control over accessory devices due to the initial configuration on the security domain and / or the set of one or more security domains. In some embodiments, the user device is (e.g., taking over from an electronic device), becoming the owner or co-owner of the security domain and / or the set of one or more security domains, and / or becoming the administrator of the security domain and / or the set of one or more security domains. In some embodiments, the user device is a watch, phone, tablet, fitness tracker, processor, head-mounted display (HMD) device, media device, speaker, television, controller, and / or personal computing device. In some embodiments, the user device is not an accessory device.

[0253] In some implementations, after initializing the configuration of the accessory device on the set of one or more security domains, the electronic device receives a request from a user device different from the accessory device, the installer device, and the electronic device to add an additional security domain (e.g., an ecosystem-specific domain, such as an application- and / or company-specific domain) to the set of one or more security domains. In some implementations, in response to receiving the request to add an additional security domain to the set of one or more security domains, the electronic device maintains at least one existing security domain in the set of one or more security domains. In some implementations, in response to receiving the request to add an additional security domain to the set of one or more security domains, the electronic device initializes the configuration of the accessory device on the additional security domain. In some implementations, in response to receiving the request to add an additional security domain to the set of one or more security domains, the electronic device initializes the configuration of one or more other devices on the additional security domain. In some implementations, when the request to add an additional security domain to the set of one or more security domains is received, one or more other devices have already been initialized and configured on the set of one or more security domains. In some implementations, in response to receiving a request to add an additional security domain to the set of one or more security domains, the electronic device deinitializes an existing security domain in the set of one or more security domains (e.g., an ecosystem-specific domain that is different from the additional security domain, such as an application- and / or company-specific domain).

[0254] Attention now turns to technologies for integrating diagnostic information with communications. Such technologies are described to illustrate the processes described below, which include... Figure 11 The process is described in the following context: When a problem is reported with an accessory device, and during the attempt to fix the problem, the user's actions to fix it are tracked, allowing this information to be transmitted to the accessory device's support service without requiring the user to manually add the actions taken to fix the problem in communications with the support service. It should be recognized that such technology can be used in other contexts, such as problems with the application, problems using the application, and / or other activities performed by the user, such as exercise and / or cooking.

[0255] In one example, an accessory device may experience connectivity issues with a user's personal device. In some implementations, the accessory device communicates with the personal device to notify the user of the connectivity problem. In other implementations, the user's personal device may detect the connectivity problem (e.g., in the absence of communication from the accessory device) and display a notification in response to detecting the connectivity problem. In still other implementations, a resident device managing communication between the accessory device and the personal device may detect the connectivity problem and notify the personal device in response to detecting the connectivity problem.

[0256] In one example, the personal device displays a notification to indicate a connectivity problem. In some implementations, the notification is displayed in response to receiving and / or detecting a connectivity issue. In other implementations, the notification may be displayed within the user interface of an application on the personal device, which is displayed when the user navigates to the user interface using the personal device. In some implementations, the notification includes an identifier of the accessory device, an identifier of the current problem (e.g., a connectivity problem), the time and / or date the current problem started, the current time and / or date, and / or a button to attempt to resolve the current problem.

[0257] In one example, when a notification is displayed, the personal device detects input corresponding to the notification, such as user input for selecting the notification and / or buttons included in the notification. In response to the detected input, the personal device initiates a process to resolve connectivity issues. In some embodiments, the process to resolve connectivity issues includes displaying one or more user interfaces and / or one or more instructions for actions performed by the user to resolve the connectivity issue. In some embodiments, the process to resolve connectivity issues includes audio output of one or more instructions for actions performed by the user to resolve the connectivity issue. In any of these sets of embodiments, the personal device tracks what the user does to resolve connectivity issues. Such tracking may include certain user interfaces being displayed, the user taking certain actions, certain actions being requested to be performed by the user, the user interacting with certain user interface elements and / or buttons, and / or certain devices being restarted and / or otherwise interacted with to change the state of such devices. In some embodiments, the personal device, accessory devices, cameras remote from the personal device and accessories, and / or other devices are used to track what the user does to resolve connectivity issues. For example, an accessory device can send instructions to a personal device to interact with the accessory device, such as the accessory device being restarted, a button on the accessory device being pressed, and / or the accessory device changing from a low-power mode to an active mode.

[0258] In one example, during the process of resolving connectivity issues, the personal device displays a user interface with links to communicate with the accessory device's support service. The user interface may be provided by the personal device's primary application, such as an application for controlling and / or managing the accessory device. In some implementations, the support service is a server provided by the accessory device's manufacturer. In such implementations, the primary application may also be provided by the accessory device's manufacturer. In other implementations, the support service is a contact for the personal device, such as a friend of the user.

[0259] In one example, in response to detecting input corresponding to a link (e.g., a tap on a link), the personal device generates a message that includes information about what the user did to resolve the connectivity issue. Therefore, the message will differ depending on what the user did. It should be recognized that the message can be generated as different user actions are tracked, rather than in response to detecting input corresponding to a link.

[0260] In one example, in response to detecting input corresponding to a link and in conjunction with generating a message (e.g., before, during, after, or in response to generating the message), the personal device displays an application's user interface to communicate with a support service. Examples of applications communicating with a support service include messaging applications, email applications, and / or calling applications. In some implementations, the user interface includes a message containing information about what the user did to resolve the connectivity problem. In other implementations, the user interface does not include a message or a generic message that does not include information about what the user did to resolve the connectivity problem. In such implementations, the message including information about what the user did to resolve the connectivity problem may be sent to the support service without being displayed to the user. In other implementations, a first portion of the message is included within the user interface, and a second portion of the message (e.g., different from the first portion) is not included within the user interface. In such implementations, both the first and second portions may be sent to the support service, such as when the personal device detects input for communicating with the support service via the user interface. An example of a message displayed within the user interface (and sent to the support service) is "Hello, I have a connectivity problem with my accessory device. I can confirm that it is on and I am able to control it." In this example, the personal device may have communicated with the accessory device to confirm that it is powered on, and the user may have used the personal device's app to control the accessory device.

[0261] Figure 11 This is a flowchart illustrating a process (e.g., process 1100) for communicating with another device according to some embodiments. Some operations in process 1100 may be optionally combined, some operations may be optionally changed in order, and some operations may be optionally omitted.

[0262] As described below, process 1100 provides an intuitive way to communicate with another device according to some implementation schemes. Process 1100 reduces the cognitive burden on the user, thereby creating a more efficient human-machine interface. For battery-powered computing devices, it enables users to interact with such devices faster and more efficiently, saving power and increasing the time between battery charging.

[0263] In some embodiments, process 1100 is performed at a first device (e.g., 1302) that communicates (e.g., wired or wirelessly) with one or more input devices (e.g., wireless radio components, ports, cameras, depth sensors, microphones, hardware input mechanisms, rotatable input mechanisms, physical input mechanisms, mechanical buttons, touch-sensitive buttons, buttons, crowns, knobs, dials, physical sliders, accelerometers, mice, keyboards, touchpads, and / or touch-sensitive surfaces) (e.g., wired or wireless communication) (and / or includes the one or more input devices). In some embodiments, the first device is a watch, telephone, tablet computer, fitness tracker, processor, head-mounted display (HMD) device, public utility, media device, speaker, television, and / or personal computing device.

[0264] The first device detects (1102) input corresponding to a request to communicate with a second device (e.g., tap input or verbal input, e.g., 1405c) that is different from the first device, via one or more input devices (e.g., 1306). In some embodiments, the input is detected when a user interface of a first application is displayed (e.g., 1406). In some embodiments, the first application is associated with the second device. In some embodiments, the input is a tap input on a user interface element (e.g., 1412) corresponding to a messaging application (such as a text messaging application, email application, and / or chat application). In some embodiments, the first application is different from the messaging application.

[0265] In response to (1104) detecting input corresponding to a request to communicate with the second device, the system determines that a first set of one or more criteria are met, wherein the first set of one or more criteria includes criteria met when the first device detects a first set of one or more activities (e.g., the first device recently displayed one or more user interfaces and / or the first device recently attempted to perform one or more operations on a third device different from the first device and the second device) (e.g., as described above regarding 1410a to 1410d and / or Figure 14DAs described, the first device generates (1106) a first message (e.g., 1416) to be transmitted to the second device, the first message including identifiers of one or more first sets of activities (e.g., 1418 and / or 1420). In some embodiments, in response to detecting input corresponding to a request to communicate with the second device and based on determining that one or more first sets of criteria are met, the first device displays a user interface of the second application (e.g., 1414). In some embodiments, the second application is different from the first application. In some embodiments, the third device is an accessory device, such as a smartwatch, smart light, smart lock, and / or camera. In some embodiments, the first message includes first content. In some embodiments, the user interface of the second application includes at least a portion of the first message and / or the first content.

[0266] In response to (1104) detecting an input corresponding to a request to communicate with the second device, and based on determining that a second set of one or more criteria are satisfied, wherein the second set of one or more criteria includes criteria satisfied when the first device detects the second set of one or more activities, the first device generates (1108) a second message to be transmitted to the second device, the second message including an identifier of the second set of one or more activities (e.g., having or not having an identifier of the first set of one or more activities), wherein the second message is different from the first message, wherein the second set of one or more criteria is different from the first set of one or more criteria, and wherein the second set of one or more activities is different from the first set of one or more activities.

[0267] In some embodiments, the first device communicates (e.g., wired or wirelessly) with one or more display generating components (e.g., a display screen, projector, head-mounted display, and / or touch-sensitive display) (and / or includes the one or more display generating components). In some embodiments, the first set of one or more activities includes displaying a user interface (e.g., 1406) via one or more display generating components before detecting input corresponding to a request to communicate with the second device. In some embodiments, the identifier of the first set of one or more activities includes an identifier of the user interface. In some embodiments, the identifier of the first set of one or more activities includes content included within the user interface. In some embodiments, the user interface is a first user interface of a first application (e.g., a home application, note-taking application, word processing application, document processing application, presentation application, email application, form processing application such as a PDF viewer and / or editor, game, messaging application, map application, fitness application, health application, digital payment application, media application, and / or social networking application). In some embodiments, the input is detected when a second user interface of the first application is displayed. In some embodiments, the second user interface is the first user interface. In some embodiments, the second user interface is different from the first user interface. In some embodiments, the input is detected when a user interface of another application different from the first application is displayed. In some embodiments, the first device detects one or more activities by detecting that a user interface is displayed before the detection of input corresponding to a request for communication with the second device. In some embodiments, the second group of one or more activities includes displaying another user interface via one or more display generation components before the detection of input corresponding to a request for communication with the second device. In some embodiments, the other user interface is different from the first user interface. In some embodiments, the identifier of the second group of one or more activities includes the identifier of the other user interface. In some embodiments, the identifier of the second group of one or more activities includes content included within the other user interface. In some embodiments, the first device detects the second group of one or more activities by detecting that the other user interface is displayed before the detection of input corresponding to a request for communication with the second device.

[0268] In some embodiments, the first device communicates (e.g., wired or wirelessly) with one or more display generating components (e.g., a display screen, projector, head-mounted display, and / or touch-sensitive display) (and / or includes the one or more display generating components). In some embodiments, the first set of one or more activities includes: selecting a user interface element (e.g., confirmation regarding: the user reading a portion of content, attempting to perform an action corresponding to a portion of content, attempting to fix a problem using one or more processes associated with a portion of content, and / or otherwise confirming a portion of content) (e.g., 1410a to 1410d) (e.g., user input corresponding to the selection of the user interface element) in a user interface (e.g., 1406) displayed via one or more display generating components for a first application (e.g., a home application, a note-taking application, a word processing application, a document processing application, a presentation application, an email application, a form processing application such as a PDF viewer and / or editor, a game, a map application, a fitness application, a health application, a digital payment application, a media application, and / or a social networking application) of a first application (e.g., a home application, a note-taking application, a word processing application, a document processing application, a presentation application, an email application, a form processing application such as a PDF viewer and / or editor, a game, a map application, a fitness application, a health application, a digital payment application, a media application, and / or a social networking application) before detecting input corresponding to a request for communication with the second device. In some embodiments, the second set of one or more activities includes: selecting a user interface element (e.g., user input corresponding to the selection of the user interface element) in a user interface displayed via one or more display generation components of a first application or a third application (e.g., different from the first application and / or the second application) before detecting input corresponding to a request to communicate with the second device. In some embodiments, in response to detecting input corresponding to a request to communicate with the second device (and / or based on determining that one or more criteria of the first set and / or determining that one or more criteria of the second set are met), the first device displays a user interface (e.g., 1414) of a second application (e.g., an email application, a messaging application, a social media application, and / or a calling application) different from the first application via one or more display generation components. In some embodiments, the identifier of the first set of one or more activities includes a user interface element, the user interface of the first application, and / or the identifier of the first application. In some embodiments, the identifier of the first set of one or more activities includes content included within the user interface of the first application. In some embodiments, the first device detects the first set of one or more activities by detecting the selection of a user interface element before detecting input corresponding to a request to communicate with the second device. In some embodiments, the second set of one or more activities includes: selecting another user interface element before detecting input corresponding to a request to communicate with the second device. In some implementations, another user interface element differs from the first user interface element. In some implementations, the identifiers of the second group of one or more activities include the identifiers of the other user interface element and / or the user interface of the first application.In some implementations, the first device detects a second group of one or more activities by detecting the selection of another user interface element before detecting input corresponding to a request to communicate with the second device.

[0269] In some embodiments, the first group of one or more activities includes pressing a hardware input mechanism of a third device before detecting input corresponding to a request for communication with the second device. In some embodiments, the third device is different from (and / or distinguished from) the first and second devices. In some embodiments, the hardware input mechanism includes a physical input mechanism, a rotatable input mechanism, a crown, a knob, a dial, a physical slider, and / or a hardware button. In some embodiments, the third device is an accessory device, such as a smartwatch, smart light, smart lock, and / or camera. In some embodiments, the identifier of the first group of one or more activities includes an identifier of the hardware input mechanism and / or an operation performed due to pressing the hardware input mechanism (such as restarting, reconfiguring, and / or turning on the third device). In some embodiments, the first device detects the first group of one or more activities by detecting pressing the hardware input mechanism before detecting input corresponding to a request for communication with the second device. In some embodiments, the second group of one or more activities includes pressing another hardware input mechanism of the third device before detecting input corresponding to a request for communication with the second device (and / or pressing the hardware input mechanism when the third device displays a different user interface). In some embodiments, the other hardware input mechanism is different from the first hardware input mechanism. In some implementations, the identifier of the second group of one or more activities includes an identifier of another hardware input mechanism and / or an operation performed due to pressing the other hardware input mechanism (such as restarting, reconfiguring, and / or turning on a third device). In some implementations, the first device detects the second group of one or more activities by detecting pressing the other hardware input mechanism before detecting input corresponding to a request to communicate with the second device.

[0270] In some implementations, the primary device is the user's personal device. In other implementations, the user is the administrator (and / or owner) of the accessory device.

[0271] In some implementations, the first group of one or more activities includes restarting a third device that is different from (and / or distinct from) the first and second devices. In some implementations, the third device is an accessory device, such as a smartwatch, smart light, smart lock, and / or camera. In some implementations, the identifiers of the first group of one or more activities include an identifier regarding the third device being restarted and / or an identifier regarding the user being notified to restart the third device. In some implementations, the first device detects the first group of one or more activities by receiving an indication from the third device that the third device has been restarted before detecting input corresponding to a request to communicate with the second device.

[0272] In some embodiments, the one or more input devices include one or more cameras. In some embodiments, the first set of one or more activities includes detecting an action (and / or activity) performed by a person (e.g., in an environment, such as a physical environment) via one or more cameras before detecting input corresponding to a request for communication with the second device. In some embodiments, the second set of one or more activities includes detecting another action (and / or activity) performed by a person (e.g., in the environment) via one or more cameras before detecting input corresponding to a request for communication with the second device. In some embodiments, the other action is different from the first action.

[0273] In some embodiments, the first device communicates (e.g., wired or wirelessly) with (and / or includes) one or more display generating components (e.g., a display screen, projector, head-mounted display, and / or touch-sensitive display). In some embodiments, in response to detecting input corresponding to a request to communicate with the second device, the first device displays a first message (and / or at least a portion of the first message) via one or more display generating components, based on determining that one or more criteria of a first set are met. In some embodiments, in response to detecting input corresponding to a request to communicate with the second device, the first device displays a second message (and / or at least a portion of the second message) via one or more display generating components, based on determining that one or more criteria of a second set are met.

[0274] In some embodiments, the first device communicates (e.g., wired or wirelessly) with (and / or includes) one or more display generating components (e.g., a display screen, projector, head-mounted display, and / or touch-sensitive display). In some embodiments, in response to detecting input corresponding to a request to communicate with the second device, the first device displays a third message different from the first and second messages via one or more display generating components. In some embodiments, after detecting input corresponding to a request to communicate with the second device (and / or after displaying the third message), the first device transmits the first message to the second device based on determining that one or more criteria of a first set are met. In some embodiments, after detecting input corresponding to a request to communicate with the second device, the first device transmits the second message to the second device based on determining that one or more criteria of a second set are met.

[0275] In some embodiments, the first device communicates (e.g., wired or wirelessly) with (and / or includes) one or more display generating components (e.g., a display screen, projector, head-mounted display, and / or touch-sensitive display). In some embodiments, input is detected when a user interface is displayed via one or more display generating components. In some embodiments, input corresponds to (and / or points to) the user interface. In some embodiments, the first device receives a notification from a third device different from the first and second devices before displaying the user interface. In some embodiments, the notification corresponds to and / or includes an identifier of a problem detected by the third device and / or an identifier of a problem detected by the third device. In some embodiments, the third device is an accessory device, such as a smartwatch, smart light, smart lock, and / or camera. In some embodiments, when displaying a notification, the first device detects input corresponding to the notification via one or more input devices (e.g., tap input and / or verbal request), wherein the user interface is displayed in response to the detection of input corresponding to the notification. In some embodiments, the verbal request is a request to view information about the notification.

[0276] In some implementations, the notification indicates a problem with the accessory device (e.g., a network problem, battery problem, malfunction, need for an update, and / or required credentials) (and / or includes an identifier of the problem). In some implementations, the third device is the accessory device. In some implementations, the third device is different from the accessory device.

[0277] It should be noted that the above text regarding process 1100 (for example, Figure 11The details of the process described herein also apply in a similar manner to other processes described herein. For example, process 1200 optionally includes one or more characteristics of the various processes described above with reference to process 1100. For example, the third device of process 1100 may be the second device of process 1200. For the sake of brevity, these details will not be repeated herein.

[0278] Now let’s turn our attention to technologies for notifying users when they are no longer near the device. Such technologies are described to illustrate the processes described below, which include… Figure 12 The process described herein. Furthermore, such technology is described in the context of notifying a user's personal device when the accessory device is no longer near the accessory device, even when the accessory device has not yet been set to a mode that allows remote control of the accessory device. It should be recognized that such technology can be used in other contexts, such as when a personal device is no longer physically near the accessory device, when one personal device is no longer near another personal device, and / or when a user's personal device is no longer near another user's personal device without having obtained contact information with each other.

[0279] In one example, the accessory device may need to be set to a mode for remote and / or wireless control. For example, the accessory device may include a physical button that must be pressed so that the user's personal device can control the accessory device via an app on the personal device. In some implementations, the accessory device communicates with the personal device to notify the user that it is not in that mode because the user and / or personal device is near the accessory device and / or interacts with it while in the vicinity, and in response to the personal device no longer being near the accessory device when it is not set to that mode for remote and / or wireless control. In other implementations, the user's personal device may detect the presence of one or more of those criteria (e.g., in the case of communicating with or not communicating with the accessory device) and output a notification in response. In other implementations, a resident device managing communication between the accessory device and the personal device may detect the presence of one or more of those criteria (e.g., in the case of communicating with or not communicating with the accessory device) and notify the personal device in response.

[0280] In some implementations, the personal device is detected as no longer being near the accessory device in response to the personal device ceasing to wirelessly communicate with the accessory device. In other implementations, the personal device is detected as no longer being near the accessory device in response to the personal device ceasing to communicate via a short-range wireless communication channel and instead communicating only via another wireless communication channel (such as another short-range wireless communication channel or a long-range wireless communication channel).

[0281] In some implementations, the detection that the personal device is no longer near the accessory device is triggered in response to the personal device no longer being within a predefined distance (e.g., 0 to 100 feet) of the accessory device. In such implementations, the personal device, accessory device, and / or remote sensing device can detect the location of the personal device and / or whether the personal device is still within the predefined distance. For example, a remote camera or occupancy sensor can be used to detect where the personal device (and / or the user) is located.

[0282] In some implementations, the user is notified via audio output and / or notification display through the personal device. In such implementations, the notification may be displayed temporarily for a predefined period of time (e.g., 5 seconds to 1 minute) and then turned off without requiring user input. In other implementations, the notification is displayed until it is turned off by the user and / or until the personal device no longer displays content.

[0283] In some implementations, the user is notified only when they are no longer near the accessory device, specifically when they are no longer near it for the first time since their last interaction with the device. In other implementations, the user is notified only when they are no longer near the accessory device, specifically when they are no longer near it for the first time since their last interaction with the device in a particular manner (such as closing the washing machine door, rather than pressing the start button). In still other implementations, the user is notified every time they are no longer near the accessory device.

[0284] Figure 12 This is a flowchart illustrating a process (e.g., process 1200) for notifying a user according to some implementation schemes. Some operations in process 1200 may be optionally combined, some operations may be optionally changed in order, and some operations may be optionally omitted.

[0285] As described below, process 1200 provides an intuitive way to notify users according to some implementation schemes. Process 1200 reduces the cognitive burden on users, thereby creating a more efficient human-computer interface. For battery-powered computing devices, it enables users to interact with such devices faster and more efficiently, saving power and increasing the time between battery charging.

[0286] In some embodiments, process 1200 is performed at a first device that communicates (e.g., wired or wirelessly) with one or more display generating components (e.g., a display screen, projector, head-mounted display, and / or touch-sensitive display) (and / or includes the one or more display generating components). In some embodiments, the first device is a watch, telephone, tablet computer, fitness tracker, processor, head-mounted display (HMD) device, public utility, media device, speaker, television, and / or personal computing device.

[0287] The first device detects (1202) that the user of the second device (e.g., appliances, accessories, smart washing machines, smart dryers, televisions, computer systems, watches, telephones, tablets, fitness trackers, head-mounted display (HMD) devices, public facilities, media devices, speakers, televisions, electronic devices, cameras, and / or personal computing devices) is no longer near the second device, wherein the second device is different from (and / or distinguished from) the first device. In some embodiments, the user of the second device is detected as no longer near the second device by disconnecting the computer system from the user's personal device, receiving messages from the user's personal device, and / or detecting the location of the user or personal device via communication with and / or inclusion in the first device and one or more input devices. In some embodiments, one or more input devices include wireless radio components, ports, cameras, depth sensors, microphones, hardware input mechanisms, rotatable input mechanisms, physical input mechanisms, mechanical buttons, touch-sensitive buttons, buttons, crowns, knobs, dials, physical sliders, accelerometers, mice, keyboards, touchpads, and / or touch-sensitive surfaces. In some embodiments, the user of the second device is a person. In some implementations, the first device does not communicate with the second device when it detects that the user of the second device is no longer nearby. In other implementations, the first device communicates with the second device when it detects that the user of the second device is no longer nearby.

[0288] In response to detecting that a user of the second device is no longer near the second device and based on determination that one or more criteria are met, wherein the set of one or more criteria includes criteria met when the second device is not set to a specific mode (e.g., remote start mode, remote access mode, remote control mode, power saving mode, active mode, inactive mode, and / or on), the first device displays (1204) a notification corresponding to the second device via one or more display generation components. In some embodiments, the notification is received from the second device via a computer system, detecting that a user of the second device is no longer near the second device. In some embodiments, the notification includes an indication that the second device is not set to a specific mode. In some embodiments, the specific mode is a mode in which the second device is configured, such as being remotely controlled via an application installed on the first device. In some embodiments, the notification includes an identifier of the second device. In some embodiments, the specific mode is not whether the second device is locked or unlocked. In some embodiments, the first device waives the display of the notification corresponding to the second device when a user of the second device is detected to be near the second device. In some embodiments, the first device waives the display of the notification corresponding to the second device in response to detecting that a user of the second device is no longer near the second device and based on determination that another set of one or more criteria is met. In some embodiments, the other set of one or more criteria differs from the first set of one or more criteria. In some implementations, another set of one or more criteria includes criteria that are met when the second device is in a specific mode. In some implementations, the determination is performed by the first device. In some implementations, the determination is performed by the second device. In some implementations, the determination is performed by another device different from the first and second devices. In some implementations, the other device is a server or coordinator device in an environment that includes the second device.

[0289] In some implementations, the second device is an accessory device (e.g., as described above) (and / or a smart appliance).

[0290] In some implementations, the first device is a user's personal device (e.g., a smartphone, smartwatch, and / or wearable device).

[0291] In some implementations, detecting that a user of the second device is no longer near the second device includes detecting that the second device is no longer communicating with the first device (and / or connected to the first device, such as when the communication channel is no longer active).

[0292] In some implementations, detecting that the user of the second device is no longer near the second device includes detecting that the user is no longer within a predefined distance (e.g., 1 foot to 100 feet) of the second device.

[0293] In some embodiments, the first device communicates with one or more cameras (e.g., wireless or wired communication) (and / or includes the one or more cameras). In some embodiments, detecting that a user of the second device is no longer near the second device includes detecting the user's location via one or more cameras. In some embodiments, one or more cameras are distinct from and / or located away from the first and / or second devices. In some embodiments, the second device includes one or more cameras.

[0294] In some implementations, before displaying a notification corresponding to the second device, the first device receives communication from the second device indicating that the second device is set to a specific mode, wherein it is determined that one or more criteria are met based on (and / or using) that communication.

[0295] In some embodiments, the set of one or more criteria is a first set of one or more criteria. In some embodiments, the notification corresponding to the second device is a first notification corresponding to the second device. In some embodiments, after displaying the first notification corresponding to the second device, the first device detects that the user of the second user is no longer near the second device since being near the second device after the first notification corresponding to the second device was displayed. In some embodiments, in response to detecting that the user of the second user is no longer near the second device since being near the second device after the first notification corresponding to the second device was displayed, and based on determining that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes criteria satisfied when the second device has been set to a specific mode since the first notification was displayed and criteria satisfied when the second device is not set (e.g., not currently set) to a specific mode, the first device displays a second notification corresponding to the second device via one or more display generation components, wherein the second set of one or more criteria differs from the first set of one or more criteria. In some embodiments, the second notification is the first notification. In some embodiments, the second notification differs from and / or is different from the first notification.

[0296] In some implementations, when displaying a notification corresponding to the second device, the first device detects that a certain amount of time (e.g., 5 to 30 seconds) has elapsed since the notification corresponding to the second device was displayed. In some implementations, in response to detecting that this amount of time has elapsed since the notification corresponding to the second device was displayed (and / or in response to detecting that the first device is more than a certain distance from the second device, such as 10 to 100 feet) (e.g., in the absence of detected user input, such as in the absence of detected user input for closing the notification corresponding to the second device and / or in the absence of detected user input for closing one or more display generation components), the first device stops displaying the notification corresponding to the second device (e.g., while maintaining the display of other content and / or one or more other notifications).

[0297] In some implementations, a specific mode is one that enables remote control of the second device (and / or enables the first device to remotely control the second device, such as via an application of the first device).

[0298] It should be noted that the above text regarding process 1200 (for example, Figure 12 The details of the process described herein also apply in a similar manner to the process described herein. For example, process 1100 may optionally include one or more characteristics of the various processes described herein with reference to process 1200. For example, the first device of process 1200 may be the first device of process 1100. For the sake of brevity, these details will not be repeated herein.

[0299] Figure 13 An exemplary system architecture for integrating diagnostic information with communications, according to some implementation schemes, is illustrated. This system architecture can be used to perform the processes described below, including... Figure 11 The process in.

[0300] In some implementations, system architecture 1300 supports processes for detecting diagnostic information and / or communicating diagnostic information to accessory devices within a home accessory ecosystem. In some implementations, system architecture 1300 includes user device 1302, accessory device 1304, and remote server 1306. It should be understood that system architecture 1300 may include one or more other accessory devices, user devices, and / or remote servers. It should also be understood that accessory devices and diagnostic information are one example of the use of the techniques described herein, and other contexts may be used, such as communicating information about different user devices, tracking operations performed on different devices, and / or tracking operations performed on the same device that communicates such information.

[0301] In some embodiments, user equipment 1302 is a personal computing device, such as a smartphone, tablet, laptop, desktop computer, and / or smartwatch. In some embodiments, user equipment 1302 includes one or more processors, memory, and communication interfaces for wireless and / or wired communication. In some embodiments, user equipment 1302 includes one or more input devices, such as touch-sensitive surfaces, microphones, cameras, and / or other sensors for detecting user interaction and / or environmental conditions. In some embodiments, user equipment 1302 executes home applications that include user interfaces for controlling and / or monitoring accessory devices (including accessory device 1304) within a home accessory ecosystem. In some embodiments, user equipment 1302 executes one or more accessory device-specific applications that provide dedicated control functions, features, and / or communication for the accessory device. In some embodiments, user equipment 1302 is a resident device or personal device that is initially used as an installer device during the initial setup and / or configuration of the accessory device, as described above. Figures 7 to 10 As described. In such embodiments, user equipment 1302 may pair with accessory device 1304 to initialize and configure accessory device 1304 on one or more security domains for management, control, and / or monitoring by one or more user equipments. In some embodiments, user equipment 1302 maintains security credentials, authentication information, and / or connectivity information for communicating with one or more devices in the home accessory ecosystem, such as one or more resident devices, accessory devices, and / or remote servers.

[0302] In some embodiments, accessory device 1304 is a smart device that can be integrated into and / or controlled within a home accessory ecosystem, such as a light, smart lock, camera, thermostat, speaker, appliance, sensor, security system, and / or other Internet of Things (IoT) device. In some embodiments, accessory device 1304 includes one or more processors, memory, and / or communication interfaces. In some embodiments, accessory device 1304 includes one or more sensors, such as temperature sensors, humidity sensors, light sensors, motion sensors, sound sensors, air quality sensors, and / or other sensors for monitoring environmental conditions. In some embodiments, accessory device 1304 includes one or more components for influencing changes in the physical environment of the home accessory ecosystem, such as actuators, motors, lights, speakers, heating mechanisms, and / or cooling mechanisms. It should be recognized that accessory device 1304 can be other types of devices, including personal computing devices such as smartwatches and / or fitness trackers. In some embodiments, accessory device 1304 is configured to operate within one or more security domains of the home accessory ecosystem, as described above regarding... Figures 7 to 10As described. In some implementations, accessory device 1304 maintains security credentials, authentication information, and / or connectivity information for communicating with one or more devices in the home accessory ecosystem, such as including one or more resident devices, accessory devices, and / or remote servers. In some implementations, accessory device 1304 is initialized, reconfigured, and / or transferred between different security domains to accommodate changes in ownership, network configuration, and / or ecosystem management.

[0303] In some implementations, remote server 1306 is a cloud- and / or network-accessible computing device that provides diagnostic communications, diagnostic assistance, and / or troubleshooting assistance services (e.g., via the manufacturer of accessory device 1304) to accessory device 1304 and / or other similar accessory devices within the home accessory ecosystem. In some implementations, remote server 1...

Claims

1. A method, the method comprising: At a computer system that communicates with one or more input devices: Inputs corresponding to a request to add accessory devices to the ecosystem corresponding to the first application are detected via the one or more input devices; In response to detecting the input corresponding to the request to add the accessory device to the ecosystem, a process for adding the accessory device to the ecosystem is initiated, wherein the process for adding the accessory device to the ecosystem includes: Based on the determination that the second application is not installed on the computer system, a process for installing the second application is initiated, wherein the second application corresponds to the accessory device, and wherein the second application is different from the first application; and Based on the determination that the second application is installed on the computer system, the process of initiating the installation of the second application is abandoned; and After the second application is installed as part of the process of adding the accessory device to the ecosystem, and the second application is removed without detecting user input for removing the second application, based on determining that one or more sets of automatic removal criteria are met.

2. The method of claim 1, wherein the computer system communicates with one or more display generation components, the method further comprising: In response to the installation of the second application, the user interface of the second application is displayed via the one or more display generation components.

3. The method according to any one of claims 1 to 2, wherein the computer system communicates with one or more display generation components, and wherein the input is detected when a user interface of a third application different from the second application is displayed via the one or more display generation components.

4. The method of claim 3, wherein the third application is part of the operating system of the computer system.

5. The method according to claim 3, wherein the third application is the first application.

6. The method according to any one of claims 4 to 5, wherein the accessory device is a first accessory device, and the method further comprises: After detecting the input corresponding to the request to add the first accessory device to the ecosystem of the first application, input corresponding to the request to add a second accessory device to the ecosystem corresponding to the first application is detected via the one or more input devices, wherein the second accessory device is different from the first accessory device; In response to detecting the input corresponding to the request to add the second accessory device to the ecosystem, a process for adding the second accessory device to the ecosystem is initiated, wherein the process for adding the second accessory device to the ecosystem includes: Based on the determination that a fourth application is not installed on the computer system, a process for installing the fourth application is initiated, wherein the fourth application corresponds to the second accessory device, and wherein the fourth application is different from the first application and the second application; and Based on the determination that the fourth application is installed on the computer system, the process of initiating the installation of the second application is abandoned; and After the fourth application is installed as part of the process of adding the second accessory device to the ecosystem, and the fourth application is removed without detecting user input for removing the fourth application, based on the determination that one or more automatic removal criteria are met.

7. The method of any one of claims 1 to 6, wherein the computer system communicates with one or more display generation components, wherein the input corresponding to the request to add the accessory device to the ecosystem is detected when a user interface is displayed via the one or more display generation components, the method further comprising: In response to detecting that the accessory device is located near the computer system, the user interface is displayed via the one or more display generation components.

8. The method of any one of claims 1 to 6, wherein the computer system communicates with one or more display generation components, wherein the input corresponding to the request to add the accessory device to the ecosystem is detected when a user interface is displayed via the one or more display generation components, the method further comprising: In response to scanning a Quick Response (QR) code, the user interface is displayed via one or more display generation components.

9. The method according to any one of claims 1 to 8, wherein the process of adding the accessory device to the ecosystem comprises: Connect the accessory device to the network.

10. The method of any one of claims 1 to 9, wherein after the second application is installed as part of the process of adding the accessory device to the ecosystem, the second application is not added to the list of applications installed on the computer system before the second application is removed.

11. The method according to any one of claims 1 to 10, wherein the second application is installed without entering credentials, the method further comprising: Input corresponding to a request to install a fifth application is detected via the one or more input devices. The fifth application is different from the first application and the second application, wherein the fifth application corresponds to the second application. as well as In response to the detection of input corresponding to the request to install the fifth application, a request is made to provide one or more credentials to allow the installation of the fifth application.

12. The method according to any one of claims 1 to 11, wherein the computer system communicates with one or more display generation components, the method further comprising: After the accessory device is added to the ecosystem, the user interface of the first application is displayed via one or more display generation components, wherein the user interface includes the current status of the accessory device.

13. The method of claim 12, wherein the user interface of the first application includes controls corresponding to the accessory device, the method further comprising: When displaying the user interface of the first application and the controls corresponding to the accessory device, input corresponding to the controls is detected via the one or more input devices; as well as In response to detecting the input corresponding to the control, the state of the accessory device is changed according to the input corresponding to the control.

14. The method according to any one of claims 1 to 13, wherein the process of adding the accessory device to the ecosystem comprises: Based on the determination that the second application is not logged into at least one account, an account for the second application is automatically created using the credentials of the computer system, wherein the account is created without detecting input corresponding to the selection of the credentials.

15. The method of any one of claims 1 to 13, wherein the computer system communicates with one or more display generation components, and wherein the process of adding the accessory device to the ecosystem includes concurrent display via the one or more display generation components: A first option for logging into the second application using credentials from the computer system; and A second option, separate from the first option, for logging into the account of the second application.

16. The method according to any one of claims 1 to 15, wherein the process of adding the accessory device to the ecosystem comprises: The input corresponding to the request to assign attributes to the accessory device is detected via the one or more input devices; as well as In response to detecting the input corresponding to the request to assign the attribute to the accessory device, the attribute is assigned to the accessory device such that the attribute affects the display of content corresponding to the accessory device.

17. The method of claim 16, wherein the attribute is assigned to the accessory device via the first application.

18. The method of claim 16, wherein the attribute is assigned to the accessory device via the second application.

19. The method of any one of claims 1 to 18, wherein the computer system communicates with one or more display generation components, and wherein the process of adding the accessory device to the ecosystem includes displaying a user interface of the first application via the one or more display generation components.

20. The method of claim 19, wherein the user interface of the first application is displayed before the process of initiating the installation of the second application is initiated.

21. The method of claim 19, wherein the user interface of the first application is displayed after the process of initiating the installation of the second application is performed.

22. A non-transitory computer-readable medium storing one or more programs configured to be executed by one or more processors of a computer system communicating with one or more input devices, the one or more programs including instructions for performing the method according to any one of claims 1 to 21.

23. A computer system configured to communicate with one or more input devices, the computer system comprising: One or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method according to any one of claims 1 to 21.

24. A computer system configured to communicate with one or more input devices, the computer system comprising: Components for performing the method according to any one of claims 1 to 21.

25. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with one or more input devices, the one or more programs comprising instructions for performing the method according to any one of claims 1 to 21.

26. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system communicating with one or more input devices, the one or more programs including instructions for: Inputs corresponding to a request to add accessory devices to the ecosystem corresponding to the first application are detected via the one or more input devices; In response to detecting the input corresponding to the request to add the accessory device to the ecosystem, a process for adding the accessory device to the ecosystem is initiated, wherein the process for adding the accessory device to the ecosystem includes: Based on the determination that the second application is not installed on the computer system, the process of installing the second application is initiated, wherein the second application corresponds to the accessory device, and wherein the second application is different from the first application; as well as Based on the determination that the second application is installed on the computer system, the process of initiating the installation of the second application is abandoned; as well as After the second application is installed as part of the process of adding the accessory device to the ecosystem, and the second application is removed without detecting user input for removing the second application, based on determining that one or more sets of automatic removal criteria are met.

27. A computer system configured to communicate with one or more input devices, the computer system comprising: One or more processors; and The memory stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for the following operations: Inputs corresponding to a request to add accessory devices to the ecosystem corresponding to the first application are detected via the one or more input devices; In response to detecting the input corresponding to the request to add the accessory device to the ecosystem, a process for adding the accessory device to the ecosystem is initiated, wherein the process for adding the accessory device to the ecosystem includes: Based on the determination that the second application is not installed on the computer system, a process for installing the second application is initiated, wherein the second application corresponds to the accessory device, and wherein the second application is different from the first application; and Based on the determination that the second application is installed on the computer system, the process of initiating the installation of the second application is abandoned; and After the second application is installed as part of the process of adding the accessory device to the ecosystem, and the second application is removed without detecting user input for removing the second application, based on determining that one or more sets of automatic removal criteria are met.

28. A computer system configured to communicate with one or more input devices, the computer system comprising: A component for detecting, via the one or more input devices, an input corresponding to a request to add an accessory device to the ecosystem corresponding to the first application; A component for initiating a process of adding the accessory device to the ecosystem in response to detecting input corresponding to the request to add the accessory device to the ecosystem, wherein the process of adding the accessory device to the ecosystem includes: Components for initiating a process to install a second application based on the determination that the second application is not installed on the computer system, wherein the second application corresponds to the accessory device, and wherein the second application is different from the first application; and A component for abandoning the process of initiating the installation of the second application based on the determination that the second application is installed on the computer system; and After the second application is installed as part of the process of adding the accessory device to the ecosystem, and based on determining that one or more automatic removal criteria are met, the component of the second application is removed without detecting user input for removing the second application.

29. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system communicating with one or more input devices, the one or more programs comprising instructions for performing the following operations: Inputs corresponding to a request to add accessory devices to the ecosystem corresponding to the first application are detected via the one or more input devices; In response to detecting the input corresponding to the request to add the accessory device to the ecosystem, a process for adding the accessory device to the ecosystem is initiated, wherein the process for adding the accessory device to the ecosystem includes: Based on the determination that the second application is not installed on the computer system, the process of installing the second application is initiated, wherein the second application corresponds to the accessory device, and wherein the second application is different from the first application; as well as Based on the determination that the second application is installed on the computer system, the process of initiating the installation of the second application is abandoned; as well as After the second application is installed as part of the process of adding the accessory device to the ecosystem, and the second application is removed without detecting user input for removing the second application, based on determining that one or more sets of automatic removal criteria are met.

30. A method comprising: At electronic devices: Pair with accessory equipment; After pairing with the accessory device, initialize the configuration of the accessory device on one or more security domains in the first group; After initializing the configuration of the accessory device on one or more security domains in the first group, a request to enter the re-initialization configuration mode is sent to the accessory device; as well as After transmitting the request to enter the re-initialization configuration mode: Receive reinitialization configuration data from the accessory device; and The accessory device is reconfigured on a second set of one or more security domains using the reinitialization configuration data, which is different from the first set of one or more security domains, via a different resident device than the accessory device and the electronic device.

31. The method according to claim 30, further comprising: Connect to the network before the accessory device is reconfigured in the second set of one or more security domains via the resident device; When connecting to the network, the address of the residing device is obtained via the network; as well as After obtaining the address of the resident device, the address is used to connect to the local server of the resident device, wherein the electronic device communicates with the resident device via the local server to reinitialize the accessory device in one or more security domains of the second group.

32. The method according to any one of claims 30 to 31, further comprising: Before pairing with the accessory device, connection information is received from the resident device, wherein the electronic device uses the connection information to communicate with the accessory device to initialize the configuration of the accessory device on one or more security domains in the first group.

33. The method according to claim 32, further comprising: After initializing the configuration of the accessory device on one or more security domains in the first group, the connection information is used to change the state of the accessory device.

34. The method according to any one of claims 30 to 31, further comprising: After pairing with the accessory device, connection information is received from the resident device, wherein the electronic device uses the connection information to communicate with the accessory device to reinitialize and configure the accessory device on one or more security domains in the second group.

35. The method according to claim 34, further comprising: After initializing the configuration of the accessory device on one or more security domains in the first group, the state of the accessory device is changed using the connection information obtained during the initialization configuration.

36. The method of any one of claims 30 to 35, wherein pairing with the accessory device includes scanning a machine-readable code via one or more cameras of the electronic device.

37. The method according to any one of claims 30 to 36, wherein pairing with the accessory device includes communicating with the accessory device via wireless communication.

38. The method of any one of claims 30 to 37, wherein initializing the configuration of the accessory device on the first set of one or more security domains includes communicating with the accessory device via wireless communication.

39. The method according to any one of claims 30 to 38, the method further comprising: Before the accessory device is reconfigured on the second group of one or more security domains, a list of pre-configured groups of accessory devices is received from the resident device; as well as After receiving the list of pre-configured groups of accessory devices and as part of initializing the configuration of the accessory devices on one or more security domains in the first group, the accessory devices are configured to be included in the group of the list of pre-configured groups of accessory devices.

40. The method according to any one of claims 30 to 38, the method further comprising: Before the accessory device is reconfigured on the second group of one or more security domains, a list of pre-configured groups of accessory devices is received from the resident device; as well as After receiving the list of pre-configured groups of accessory devices and as part of initializing the configuration of the accessory devices on one or more security domains in the first group, the accessory devices are configured to be included in a group that is not included in the list of pre-configured groups of accessory devices.

41. The method of claim 40, wherein reconfiguring the accessory device in the second group or one or more security domains includes sending a request to the resident device to reconfigure the accessory device, and wherein the request to reconfigure the accessory device includes an identifier of the group.

42. The method according to any one of claims 30 to 41, further comprising: After the accessory device is reconfigured on one or more security domains in the second group, the electronic device's access rights to the accessory device are removed.

43. The method according to any one of claims 30 to 42, wherein the re-initialization configuration data includes an initialization configuration code, the initialization configuration code being used to verify the resident device with the accessory device when re-initializing the accessory device.

44. The method according to any one of claims 30 to 43, the method further comprising: After the accessory device is initialized and configured on the first set of one or more security domains and before the accessory device is reinitialized and configured on the second set of one or more security domains, an automation function is established with the accessory device, such that the accessory device is configured to perform one or more operations according to the automation function.

45. The method according to any one of claims 30 to 44, wherein the electronic device is a first electronic device, and the method further comprises: Paired with a second accessory device, wherein the second accessory device is separate from the first accessory device and the dwelling device; as well as After pairing with the second accessory device, initialize the configuration of the second accessory device on one or more security domains in a third group that are different from the first group of one or more security domains.

46. ​​The method according to any one of claims 30 to 45, wherein the second group of one or more security domains comprises a plurality of security domains.

47. The method of any one of claims 30 to 46, wherein initializing the configuration of the accessory device on the first set of one or more security domains includes naming the accessory device.

48. A non-transitory computer-readable medium storing one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs including instructions for performing the method according to any one of claims 30 to 47.

49. An electronic device, the electronic device comprising: One or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method according to any one of claims 30 to 47.

50. An electronic device, the electronic device comprising: Components for performing the method according to any one of claims 30 to 47.

51. A computer program product comprising one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs comprising instructions for performing the method according to any one of claims 30 to 47.

52. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs including instructions for: Pair with accessory equipment; After pairing with the accessory device, initialize the configuration of the accessory device on one or more security domains in the first group; After initializing the configuration of the accessory device on one or more security domains in the first group, a request to enter the re-initialization configuration mode is sent to the accessory device; as well as After transmitting the request to enter the re-initialization configuration mode: Receive reinitialization configuration data from the accessory device; and The accessory device is reconfigured on a second set of one or more security domains using the reinitialization configuration data, which is different from the first set of one or more security domains, via a different resident device than the accessory device and the electronic device.

53. An electronic device, the electronic device comprising: One or more processors; and The memory stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for the following operations: Pair with accessory equipment; After pairing with the accessory device, initialize the configuration of the accessory device on one or more security domains in the first group; After initializing the configuration of the accessory device on one or more security domains in the first group, a request to enter the re-initialization configuration mode is sent to the accessory device; as well as After transmitting the request to enter the re-initialization configuration mode: Receive reinitialization configuration data from the accessory device; and The accessory device is reconfigured on a second set of one or more security domains using the reinitialization configuration data, which is different from the first set of one or more security domains, via a different resident device than the accessory device and the electronic device.

54. An electronic device, the electronic device comprising: Components used for pairing with accessory devices; Components for initializing the configuration of the accessory device in one or more security domains in a first group after pairing with the accessory device; A component for transmitting a request to the accessory device to enter a reinitialization configuration mode after initializing the configuration of the accessory device on one or more security domains in the first group; as well as After transmitting the request to enter the re-initialization configuration mode: Components for receiving reinitialization configuration data from the accessory equipment; and A component for reconfiguring the accessory device on a second set of one or more security domains via a dwelling device different from the accessory device and the electronic device, using the reinitialization configuration data, wherein the second set of one or more security domains is different from the first set of one or more security domains.

55. A computer program product comprising one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs comprising instructions for performing the following operations: Pair with accessory equipment; After pairing with the accessory device, initialize the configuration of the accessory device on one or more security domains in the first group; After initializing the configuration of the accessory device on one or more security domains in the first group, a request to enter the re-initialization configuration mode is sent to the accessory device; as well as After transmitting the request to enter the re-initialization configuration mode: Receive reinitialization configuration data from the accessory device; and The accessory device is reconfigured on a second set of one or more security domains using the reinitialization configuration data, which is different from the first set of one or more security domains, via a different resident device than the accessory device and the electronic device.

56. A method, the method comprising: At electronic devices: Receives a request to initialize and configure accessory devices from the installer device, wherein the request to initialize and configure the accessory devices includes connection information corresponding to the accessory devices, wherein the accessory devices are different from the installer device and the electronic device, and wherein the installer device is different from the electronic device; as well as In response to receiving the request to initialize the configuration of the accessory device: Establish a connection with the accessory device using the connection information; and Use the connection to initialize and configure the accessory device on one or more security domains.

57. The method of claim 56, wherein the accessory device is a first accessory device, wherein the connection information is first connection information, and the method further comprises: The device receives a request to initialize and configure a second accessory device, wherein the request to initialize and configure the second accessory device includes second connection information corresponding to the second accessory device, wherein the second accessory device is different from the device, the electronic device and the first accessory device. as well as In response to receiving the request to initialize the configuration of the second accessory device: Establish a connection with the second accessory device using the second connection information; and The second accessory device is initialized and configured on one or more of the set of security domains using the second connection.

58. The method according to any one of claims 56 to 57, wherein the accessory device is a first accessory device, wherein the connection information is first connection information, wherein the installation device is a first installation device, and the method further comprises: A request to initialize and configure a third accessory device is received from a second installation device, wherein the request to initialize and configure the third accessory device includes third connection information corresponding to the third accessory device, wherein the third accessory device is different from the first installation device, the second installation device, the electronic device and the first accessory device, and wherein the second installation device is different from the electronic device and the first installation device; as well as In response to receiving the request to initialize the configuration of the third accessory device: Establish a connection with the third accessory device using the third connection information; and The third connection is used to initialize and configure the third accessory device on one or more of the set of security domains.

59. The method according to any one of claims 56 to 58, wherein the accessory device is a first accessory device, wherein the connection information is first connection information, and wherein the set of one or more security domains is a first set of one or more security domains, the method further comprising: Receives a request from the installer device to initialize and configure a fourth accessory device, wherein the request includes fourth connection information corresponding to the fourth accessory device, and wherein the fourth accessory device is different from the installer device, the electronic device, and the first accessory device; and In response to receiving the request to initialize the configuration of the fourth accessory device: Use the fourth connection information to establish a connection with the fourth accessory device; as well as The fourth accessory device is initialized and configured on one or more security domains in a second group, which are different from the first group of one or more security domains, using the fourth connection.

60. The method according to any one of claims 56 to 59, the method further comprising: Before receiving the request to initialize the configuration of the accessory device: Connect to the network; as well as Establish a local server on the electronic device; as well as When connecting to the network, after establishing the local server and before receiving the request to initialize the accessory device, the device connects to the installer device via the local server, wherein the request to initialize the accessory device is received by the electronic device via the local server.

61. The method of claim 60, wherein the connection established with the accessory device uses a different communication channel than that of the local server.

62. The method according to any one of claims 56 to 61, the method further comprising: Before receiving the request to initialize the accessory device, a list of pre-configured groups of accessory devices is transmitted to the installer device, wherein the request to initialize the accessory device includes an identifier of a group in the list of pre-configured groups of accessory devices, and wherein the accessory device is initialized as part of the group on one or more security domains.

63. The method according to any one of claims 56 to 61, the method further comprising: Before receiving the request to initialize the accessory device, a list of pre-configured groups of accessory devices is transmitted to the installer device, wherein the request to initialize the accessory device includes the identifier of a group not included in the list of pre-configured groups of accessory devices, and wherein the accessory device is initialized as part of the group on one or more security domains.

64. The method according to any one of claims 56 to 63, the method further comprising: Before receiving the request to initialize the configuration of the accessory device, a request to add automation functions to the accessory device is received from the installer device, such that the accessory device is configured to perform one or more operations according to the automation functions; as well as The request to add the automation function to the accessory device is transmitted to the accessory device.

65. The method of claim 64, wherein the electronic device is a first electronic device, and the method further comprises: After sending the request to add the automation function to the accessory device, a request to modify the automation function is received from a second electronic device that is different from the first electronic device. as well as In response to receiving the request to modify the automation function, the automation function is modified via the accessory device.

66. The method according to any one of claims 56 to 65, the method further comprising: After initializing and configuring the accessory device on one or more security domains, remove the installer device's access rights to the accessory device.

67. The method according to any one of claims 56 to 66, wherein the electronic device is a first electronic device, and the method further comprises: After initializing the configuration of the accessory device on the set of one or more security domains, a request to initialize the configuration of the third electronic device on the set of one or more security domains is received from a third electronic device that is different from the first electronic device; In response to receiving the request to initialize the configuration of the third electronic device on the set of one or more security domains, the third electronic device is initialized and configured on the set of one or more security domains.

68. The method according to any one of claims 56 to 67, wherein the set of one or more security domains comprises a plurality of security domains.

69. The method according to any one of claims 56 to 68, the method further comprising: After initializing the configuration of the accessory device on one or more security domains, a request is received to change one or more credentials of the network corresponding to the accessory device. as well as In response to receiving a request to change one or more sets of credentials for the network corresponding to the accessory device, the one or more sets of credentials for the network corresponding to the accessory device are changed.

70. The method according to any one of claims 56 to 69, the method further comprising: After initializing the configuration of the accessory device on the set of one or more security domains, a request to be added to the set of one or more security domains is received from a user device that is different from the accessory device, the installer device, and the electronic device. as well as In response to receiving the request to be added to the security domain, the user equipment is initialized and configured on the security domain.

71. The method according to any one of claims 56 to 70, the method further comprising: After initializing the configuration of the accessory device on the set of one or more security domains, a request to add an additional security domain to the set of one or more security domains is received from a user device that is different from the accessory device, the installer device, and the electronic device. as well as In response to receiving the request to add the additional security domain to the set of one or more security domains: Maintain at least one existing security domain from the set of one or more security domains; as well as Initialize and configure the accessory device on the additional security domain.

72. A non-transitory computer-readable medium storing one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs including instructions for performing the method according to any one of claims 56 to 71.

73. An electronic device, the electronic device comprising: One or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method according to any one of claims 56 to 71.

74. An electronic device, the electronic device comprising: Components for performing the method according to any one of claims 56 to 71.

75. A computer program product comprising one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs comprising instructions for performing the method according to any one of claims 56 to 71.

76. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs including instructions for: Receive a request to initialize and configure an accessory device from the installer device, wherein the request includes connection information corresponding to the accessory device, wherein the accessory device is different from both the installer device and the electronic device, and wherein the installer device is different from the electronic device; and In response to receiving the request to initialize the configuration of the accessory device: Establish a connection with the accessory device using the connection information; and Use the connection to initialize and configure the accessory device on one or more security domains.

77. An electronic device, the electronic device comprising: One or more processors; and The memory stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for the following operations: Receives a request to initialize and configure accessory devices from the installer device, wherein the request to initialize and configure the accessory devices includes connection information corresponding to the accessory devices, wherein the accessory devices are different from the installer device and the electronic device, and wherein the installer device is different from the electronic device; as well as In response to receiving the request to initialize the configuration of the accessory device: Establish a connection with the accessory device using the connection information; and Use the connection to initialize and configure the accessory device on one or more security domains.

78. An electronic device, the electronic device comprising: A component for receiving a request to initialize and configure an accessory device from an installer device, wherein the request includes connection information corresponding to the accessory device, wherein the accessory device is different from both the installer device and the electronic device, and wherein the installer device is different from the electronic device; and In response to receiving the request to initialize the configuration of the accessory device: Components used to establish a connection with the accessory device using the connection information; as well as Components used to initialize the configuration of the accessory device on one or more security domains using the connection.

79. A computer program product comprising one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs comprising instructions for performing the following operations: Receive a request to initialize and configure an accessory device from the installer device, wherein the request includes connection information corresponding to the accessory device, wherein the accessory device is different from both the installer device and the electronic device, and wherein the installer device is different from the electronic device; and In response to receiving the request to initialize the configuration of the accessory device: Establish a connection with the accessory device using the connection information; and Use the connection to initialize and configure the accessory device on one or more security domains.

80. A method comprising: At the first device that communicates with one or more input devices: The input corresponding to a request to communicate with a second device is detected via the one or more input devices, the second device being different from the first device; as well as In response to detecting the input corresponding to the request communicated with the second device: Based on determining that one or more criteria of a first group are met, wherein the first group of one or more criteria include criteria that are met when the first device detects one or more activities of the first group, a first message to be transmitted to the second device is generated, the first message including an identifier of the first group of one or more activities; as well as Based on determining that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes criteria satisfied when the first device detects a second set of one or more activities, a second message is generated to be transmitted to the second device, the second message including an identifier of the second set of one or more activities, wherein the second message is different from the first message, wherein the second set of one or more criteria is different from the first set of one or more criteria, and wherein the second set of one or more activities is different from the first set of one or more activities.

81. The method of claim 80, wherein the first device communicates with one or more display generation components, and wherein the first group of one or more activities includes: Before detecting the input corresponding to the request communicating with the second device, the user interface is displayed via the one or more display generation components.

82. The method of any one of claims 80 to 81, wherein the first device communicates with one or more display generation components, and wherein the first group of one or more activities includes: Before detecting the input corresponding to the request communicating with the second device, the method further includes selecting a user interface element in the user interface of the first application displayed via the one or more display generation components, wherein the method further comprises: In response to the detection of input corresponding to the request communicating with the second device, a user interface of a second application, different from the first application, is displayed via the one or more display generation components.

83. The method according to any one of claims 80 to 82, wherein the first group of one or more activities comprises: Before detecting the input corresponding to the request for communication with the second device, press the hardware input mechanism of the third device, which is different from the first device and the second device.

84. The method of claim 83, wherein the first device is a user's personal device, and wherein the user is an administrator of the accessory device.

85. The method according to any one of claims 80 to 84, wherein the first group of one or more activities includes restarting a third device different from the first device and the second device.

86. The method of any one of claims 80 to 85, wherein the one or more input devices comprise one or more cameras, and wherein the first set of one or more activities comprises: Before detecting the input corresponding to the request communicating with the second device, the action performed by the person is detected via the one or more cameras.

87. The method of any one of claims 80 to 86, wherein the first device communicates with one or more display generation components, the method further comprising: In response to detecting the input corresponding to the request communicated with the second device: The first message is displayed via the one or more display generation components based on the determination that one or more of the first set of criteria are met. as well as The second message is displayed via the one or more display generation components based on the determination that one or more criteria of the second set are met.

88. The method of any one of claims 80 to 86, wherein the first device communicates with one or more display generation components, the method further comprising: In response to detecting the input corresponding to the request to communicate with the second device, a third message different from the first message and the second message is displayed via the one or more display generation components; as well as After detecting the input corresponding to the request to communicate with the second device: Based on the determination that one or more of the first set of criteria are met, the first message is transmitted to the second device; as well as The second message is transmitted to the second device based on the determination that one or more criteria of the second set are met.

89. The method of any one of claims 80 to 88, wherein the first device communicates with one or more display generation components, wherein the input is detected when a user interface is displayed via the one or more display generation components, wherein the input corresponds to the user interface, the method further comprising: Before displaying the user interface, a notification is received from a third device that is different from the first device and the second device; as well as When the notification is displayed, input corresponding to the notification is detected via the one or more input devices, wherein the user interface is displayed in response to the detection of the input corresponding to the notification.

90. The method of claim 89, wherein the notification indicates a problem with the accessory device.

91. A non-transitory computer-readable medium storing one or more programs configured to be executed by one or more processors of a first device communicating with one or more input devices, the one or more programs including instructions for performing the method according to any one of claims 80 to 90.

92. A first device configured to communicate with one or more input devices, the first device comprising: One or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method according to any one of claims 80 to 90.

93. A first device configured to communicate with one or more input devices, the first device comprising: Components for performing the method according to any one of claims 80 to 90.

94. A computer program product comprising one or more programs configured to be executed by one or more processors of a first device communicating with one or more input devices, the one or more programs comprising instructions for performing the method according to any one of claims 80 to 90.

95. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a first device communicating with one or more input devices, the one or more programs including instructions for: The input corresponding to a request to communicate with a second device is detected via the one or more input devices, the second device being different from the first device; as well as In response to detecting the input corresponding to the request communicated with the second device: Based on determining that one or more criteria of a first group are met, wherein the first group of one or more criteria include criteria that are met when the first device detects one or more activities of the first group, a first message to be transmitted to the second device is generated, the first message including an identifier of the first group of one or more activities; as well as Based on determining that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes criteria satisfied when the first device detects a second set of one or more activities, a second message is generated to be transmitted to the second device, the second message including an identifier of the second set of one or more activities, wherein the second message is different from the first message, wherein the second set of one or more criteria is different from the first set of one or more criteria, and wherein the second set of one or more activities is different from the first set of one or more activities.

96. A first device configured to communicate with one or more input devices, the first device comprising: One or more processors; and The memory stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for the following operations: The input corresponding to a request to communicate with a second device is detected via the one or more input devices, the second device being different from the first device; as well as In response to detecting the input corresponding to the request communicated with the second device: Based on determining that one or more criteria of a first group are met, wherein the first group of one or more criteria include criteria that are met when the first device detects one or more activities of the first group, a first message to be transmitted to the second device is generated, the first message including an identifier of the first group of one or more activities; as well as Based on determining that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes criteria satisfied when the first device detects a second set of one or more activities, a second message is generated to be transmitted to the second device, the second message including an identifier of the second set of one or more activities, wherein the second message is different from the first message, wherein the second set of one or more criteria is different from the first set of one or more criteria, and wherein the second set of one or more activities is different from the first set of one or more activities.

97. A first device configured to communicate with one or more input devices, the first device comprising: A component for detecting, via the one or more input devices, an input corresponding to a request to communicate with a second device, which is different from the first device; as well as In response to detecting the input corresponding to the request communicated with the second device: A component for generating a first message to be transmitted to the second device based on determining that one or more criteria of a first set are met, wherein the first set of one or more criteria include criteria that are met when the first device detects one or more activities of the first set; the first message includes an identifier of the first set of one or more activities. as well as A component for generating a second message to be transmitted to the second device based on determining that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes criteria satisfied when the first device detects a second set of one or more activities, the second message including an identifier of the second set of one or more activities, wherein the second message is different from the first message, wherein the second set of one or more criteria is different from the first set of one or more criteria, and wherein the second set of one or more activities is different from the first set of one or more activities.

98. A computer program product comprising one or more programs configured to be executed by one or more processors of a first device communicating with one or more input devices, the one or more programs comprising instructions for: The input corresponding to a request to communicate with a second device is detected via the one or more input devices, the second device being different from the first device; as well as In response to detecting the input corresponding to the request communicated with the second device: Based on determining that one or more criteria of a first group are met, wherein the first group of one or more criteria include criteria that are met when the first device detects one or more activities of the first group, a first message to be transmitted to the second device is generated, the first message including an identifier of the first group of one or more activities; as well as Based on determining that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes criteria satisfied when the first device detects a second set of one or more activities, a second message is generated to be transmitted to the second device, the second message including an identifier of the second set of one or more activities, wherein the second message is different from the first message, wherein the second set of one or more criteria is different from the first set of one or more criteria, and wherein the second set of one or more activities is different from the first set of one or more activities.

99. A method comprising: At the first device that communicates with one or more display generation components: The user detecting the second device is no longer near the second device, wherein the second device is different from the first device; as well as In response to detecting that the user of the second device is no longer near the second device and based on determining that one or more criteria are met, wherein the one or more criteria include those met when the second device is not set to a specific mode, a notification corresponding to the second device is displayed via the one or more display generation components.

100. The method of claim 99, wherein the second device is an accessory device.

101. The method of claim 99, wherein the first device is the user's personal device.

102. The method according to any one of claims 99 to 101, wherein detecting that the user of the second device is no longer near the second device comprises: The second device is detected to no longer communicate with the first device.

103. The method according to any one of claims 99 to 101, wherein detecting that the user of the second device is no longer near the second device comprises: The system detects that the user is no longer within the predefined distance of the second device.

104. The method according to any one of claims 99 to 101 and 103, wherein the first device communicates with one or more cameras, wherein detecting that the user of the second device is no longer near the second device comprises: The user's location is detected via the one or more cameras.

105. The method according to any one of claims 99 to 101 and 103, the method further comprising: Before displaying the notification corresponding to the second device, a communication indicating that the second device is set to the specific mode is received from the second device, wherein the determination that the set of one or more criteria is satisfied is based on the communication.

106. The method according to any one of claims 99 to 105, wherein the set of one or more criteria is a first set of one or more criteria, wherein the notification corresponding to the second device is a first notification corresponding to the second device, the method further comprising: After displaying the first notification corresponding to the second device, it is detected that the user of the second user has not been near the second device since being near the second device after the first notification corresponding to the second device was displayed; as well as In response to detecting that the user of the second user is no longer near the second device since the first notification corresponding to the second device was displayed, and based on determining that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes criteria satisfied when the second device has been set to the specific mode since the first notification was displayed and criteria satisfied when the second device is not set to the specific mode, a second notification corresponding to the second device is displayed via the one or more display generation components, wherein the second set of one or more criteria is different from the first set of one or more criteria.

107. The method according to any one of claims 99 to 106, the method further comprising: When displaying the notification corresponding to the second device, it is detected that a certain amount of time has elapsed since the notification corresponding to the second device was displayed; as well as In response to detecting that the amount of time has elapsed since the notification corresponding to the second device was displayed, the display of the notification corresponding to the second device is stopped.

108. The method according to any one of claims 99 to 107, wherein the particular mode is a mode that enables remote control of the second device.

109. A non-transitory computer-readable medium storing one or more programs configured to be executed by one or more processors of a first device communicating with one or more display generation components, the one or more programs including instructions for performing the method according to any one of claims 99 to 108.

110. A first device configured to communicate with one or more display generation components, the first device comprising: One or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method according to any one of claims 99 to 108.

111. A first device configured to communicate with one or more display generation components, the first device comprising: Components for performing the method according to any one of claims 99 to 108.

112. A computer program product comprising one or more programs configured to be executed by one or more processors of a first device communicating with one or more display generation components, the one or more programs comprising instructions for performing the method according to any one of claims 99 to 108.

113. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a first device communicating with one or more display generation components, the one or more programs including instructions for: The user detecting the second device is no longer near the second device, wherein the second device is different from the first device; and In response to detecting that the user of the second device is no longer near the second device and based on determining that one or more criteria are met, wherein the one or more criteria include those met when the second device is not set to a specific mode, a notification corresponding to the second device is displayed via the one or more display generation components.

114. A first device configured to communicate with one or more display generation components, the first device comprising: One or more processors; and The memory stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for the following operations: The user detecting the second device is no longer near the second device, wherein the second device is different from the first device; as well as In response to detecting that the user of the second device is no longer near the second device and based on determining that one or more criteria are met, wherein the one or more criteria include those met when the second device is not set to a specific mode, a notification corresponding to the second device is displayed via the one or more display generation components.

115. A first device configured to communicate with one or more display generation components, the first device comprising: A component used to detect when a user of the second device is no longer near the second device, wherein the second device is different from the first device; and A component for displaying a notification corresponding to the second device via the one or more display generation components in response to detecting that the user of the second device is no longer near the second device and based on determining that a set of one or more criteria is met, wherein the set of one or more criteria includes criteria that are met when the second device is not set to a specific mode.

116. A computer program product comprising one or more programs configured to be executed by one or more processors of a first device communicating with one or more display generation components, the one or more programs comprising instructions for: The user detecting the second device is no longer near the second device, wherein the second device is different from the first device; and In response to detecting that the user of the second device is no longer near the second device and based on determining that one or more criteria are met, wherein the one or more criteria include those met when the second device is not set to a specific mode, a notification corresponding to the second device is displayed via the one or more display generation components.

117. A method, the method comprising: The first application is in the computer system: Detect requests to display the user interface of the first application; as well as In response to detecting the request to display the user interface of the first application: Based on the determination that the second application has not yet been initiated, the second application is initiated, wherein the second application is separate from the first application; Receive content from the second application; as well as The content received from the second application is rendered within the user interface of the first application, wherein the second application is terminated after the second application transmits the content to the first application.

118. The method of claim 117, wherein the second application is initiated by invoking a Uniform Resource Locator (URL), and wherein the content is received from the second application using inter-process communication.

119. The method of any one of claims 117 to 118, wherein the content is received from the second application as part of initiating the second application.

120. The method according to any one of claims 117 to 118, the method further comprising: After initiating the second application, a request for the content is sent to the second application.

121. The method according to any one of claims 117 to 120, wherein the second application is initiated as a foreground application.

122. The method according to any one of claims 117 to 121, wherein the second application is a interfaceless application.

123. The method according to any one of claims 117 to 122, wherein the second application is terminated in response to the first application receiving the content.

124. The method according to any one of claims 117 to 122, wherein the second application is terminated based on determining that the second application is inactive.

125. The method according to any one of claims 117 to 122, wherein the second application is terminated in response to receiving a request to stop displaying the user interface.

126. The method according to any one of claims 117 to 125, wherein after terminating the second application and based on determining that the second application has been inactive for a first time period, data corresponding to the second application is deleted.

127. The method according to any one of claims 117 to 126, wherein after terminating the second application and based on determining that the second application has been inactive for a second amount of time, the second application is uninstalled from the computer system.

128. The method according to any one of claims 117 to 127, wherein the user interface includes content from the first application.

129. The method according to any one of claims 117 to 128, the method further comprising: After the second application is terminated, maintain activity with the second application without requesting content from the second application.

130. The method according to any one of claims 117 to 129, the method further comprising: Before detecting the request to display the user interface of the first application, obtain user permission to download the second application.

131. The method of claim 130, wherein: The user license is obtained when the accessory device is added to the environment managed by the first application; The accessory equipment corresponds to the second application; and The accessory equipment is separate from the computer system.

132. The method according to any one of claims 130 to 131, the method further comprising: In response to obtaining the user's permission to download the second application, the second application is downloaded.

133. The method according to any one of claims 130 to 131, the method further comprising: In response to the detection of the request to display the user interface of the first application, the second application is downloaded.

134. The method according to any one of claims 117 to 133, wherein the first application uses the operating system of the computer system to initiate the second application.

135. The method of any one of claims 117 to 134, wherein detecting the request to display the user interface of the first application comprises: The request to display the user interface of the first application is received from the second application.

136. A non-transitory computer-readable medium storing one or more programs configured to be executed by one or more processors of a computer system by a first application, the one or more programs including instructions for performing the method according to any one of claims 117 to 135.

137. A computer system for a first application, the computer system comprising: One or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method according to any one of claims 117 to 135.

138. A computer system for a first application, the computer system comprising: Components for performing the method according to any one of claims 117 to 135.

139. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system by a first application, the one or more programs comprising instructions for performing the method according to any one of claims 117 to 135.

140. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system by a first application, the one or more programs including instructions for: Detect requests to display the user interface of the first application; as well as In response to detecting the request to display the user interface of the first application: Based on the determination that the second application has not yet been initiated, the second application is initiated, wherein the second application is separate from the first application; Receive content from the second application; as well as The content received from the second application is rendered within the user interface of the first application, wherein the second application is terminated after the second application transmits the content to the first application.

141. A computer system for a first application, the computer system comprising: One or more processors; and The memory stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for the following operations: Detect requests to display the user interface of the first application; as well as In response to detecting the request to display the user interface of the first application: Based on the determination that the second application has not yet been initiated, the second application is initiated, wherein the second application is separate from the first application; Receive content from the second application; as well as The content received from the second application is rendered within the user interface of the first application, wherein the second application is terminated after the second application transmits the content to the first application.

142. A computer system for a first application, said computer system comprising: A component for detecting a request to display the user interface of the first application; as well as In response to detecting the request to display the user interface of the first application: A component for initiating a second application based on the determination that the second application has not yet been initiated, wherein the second application is separate from the first application; Components for receiving content from the second application; and A component for rendering the content received from the second application within the user interface of the first application, wherein the second application is terminated after the second application transmits the content to the first application.

143. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system by a first application, the one or more programs comprising instructions for performing the following operations: Detect requests to display the user interface of the first application; as well as In response to detecting the request to display the user interface of the first application: Based on the determination that the second application has not yet been initiated, the second application is initiated, wherein the second application is separate from the first application; Receive content from the second application; as well as The content received from the second application is rendered within the user interface of the first application, wherein the second application is terminated after the second application transmits the content to the first application.