Techniques for adding accessories to ecosystems
The method automates the addition of accessories to electronic device ecosystems by intelligent application management and streamlined integration, addressing inefficiencies in current techniques and improving user experience.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-29
- Publication Date
- 2026-04-02
AI Technical Summary
Current techniques for adding accessories to electronic device ecosystems are inefficient and cumbersome, often requiring users to manually switch between multiple applications and lack streamlined integration processes.
A method and system for efficiently adding accessories to an ecosystem by automating the installation and commissioning of devices, including intelligent detection and management of applications, security domains, and user notifications, using a computer system with input devices to streamline the process.
Facilitates seamless and efficient addition of accessories to electronic device ecosystems by reducing manual intervention and optimizing application management, enhancing user experience and system integration.
Smart Images

Figure US2025048460_02042026_PF_FP_ABST
Abstract
Description
Attorney Docket No.: 126266.094501 (P69796WO1)TECHNIQUES FOR ADDING ACCESSORIES TO ECOSYSTEMSCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This international patent application claims the benefit of U.S. Provisional Patent Application Serial No. 63 / 846,040, entitled “TECHNIQUES FOR ADDING ACCESSORIES TO ECOSYSTEMS” filed July 17, 2025, of U.S. Provisional Patent Application Serial No. 63 / 796,877, entitled “TECHNIQUES FOR ADDING ACCESSORIES TO ECOSYSTEMS” filed April 29, 2025, of U.S. Non-provisional Patent Application Serial No. 19 / 075,331, entitled “TECHNIQUES FOR ADDING ACCESSORIES TO ECOSYSTEMS” filed March 10, 2025, of U.S. Provisional Patent Application Serial No. 63 / 728,407, entitled “TECHNIQUES FOR ADDING ACCESSORIES TO ECOSYSTEMS” filed December 5, 2024, and of U.S. Provisional Patent Application Serial No. 63 / 700,533, entitled “TECHNIQUES FOR ADDING ACCESSORIES TO ECOSYSTEMS” filed September 27, 2024, which are hereby incorporated by reference in their entireties for all purposes.BACKGROUND
[0002] Electronic devices are becoming increasingly interconnected. For example, controllers (e.g., user devices and / or computer systems) are often connected to accessories (e.g., a speaker, a fan, and a thermostat) in the home or office. Setting up such electronic devices has become more difficult as the configurations of those connections have become more complicated. Accordingly, there is a need to improve techniques for adding an accessory to an ecosystem.SUMMARY
[0003] Current techniques for adding an accessory to an ecosystem are generally ineffective and / or inefficient. For example, some techniques require users manually move between multiple different applications in order to add an accessory to an ecosystem. This disclosure provides more effective and / or efficient techniques for adding an accessory to an ecosystem using examples of a vacuum being added to a home ecosystem. It should be recognized that other types of electronic devices can be used with techniques described herein. For example, a smartphone can be connected with a laptop using techniques described herein. In addition, techniques optionally complement or replace other techniques for adding an accessory to an ecosystem.14911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0004] Some techniques are for temporarily installing an application to add an accessory to an ecosystem in accordance with some embodiments. Other techniques are for commissioning an accessory by an installer device in accordance with some embodiments. Other techniques are for commissioning an accessory by a resident device in accordance with some embodiments. Other techniques are for communicating with another device in accordance with some embodiments. Other techniques are for notifying a user in accordance with some embodiments. Other techniques are described herein for extending functionality in accordance with some embodiments.
[0005] In some embodiments, a method that is performed at a computer system that is in communication with one or more input devices is described. In some embodiments, the method comprises: detecting, via the one or more input devices, an input 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 to add the accessory device to the ecosystem includes: in accordance with a determination that a second application is not installed on the computer system, initiating a process to install the second application, wherein the second application corresponds to the accessory device, and wherein the second application is different from the first application; and in accordance with a determination that the second application is installed on the computer system, forgoing initiation of the process to install the second application; and after installing the second application as part of the process to add the accessory device to the ecosystem and in accordance with a determination that a set of one or more automatic removal criteria is satisfied, removing the second application without detecting a user input to remove the second application.
[0006] In some embodiments, 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 that is in communication with one or more input devices is described. In some embodiments, the one or more programs includes instructions for: detecting, via the one or more input devices, an input 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 to add the accessory device24911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) to the ecosystem includes: in accordance with a determination that a second application is not installed on the computer system, initiating a process to install the second application, wherein the second application corresponds to the accessory device, and wherein the second application is different from the first application; and in accordance with a determination that the second application is installed on the computer system, forgoing initiation of the process to install the second application; and after installing the second application as part of the process to add the accessory device to the ecosystem and in accordance with a determination that a set of one or more automatic removal criteria is satisfied, removing the second application without detecting a user input to remove the second application.
[0007] In some embodiments, a transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system that is in communication with one or more input devices is described. In some embodiments, the one or more programs includes instructions for: detecting, via the one or more input devices, an input 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 to add the accessory device to the ecosystem includes: in accordance with a determination that a second application is not installed on the computer system, initiating a process to install the second application, wherein the second application corresponds to the accessory device, and wherein the second application is different from the first application; and in accordance with a determination that the second application is installed on the computer system, forgoing initiation of the process to install the second application; and after installing the second application as part of the process to add the accessory device to the ecosystem and in accordance with a determination that a set of one or more automatic removal criteria is satisfied, removing the second application without detecting a user input to remove the second application.
[0008] In some embodiments, a computer system configured to communicate with one or more input devices is described. In some embodiments, the computer system comprises 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 includes instructions for: detecting, via the one or more input devices, an input corresponding to a request to add an accessory device to an ecosystem corresponding to a first application; in34911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) 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 to add the accessory device to the ecosystem includes: in accordance with a determination that a second application is not installed on the computer system, initiating a process to install the second application, wherein the second application corresponds to the accessory device, and wherein the second application is different from the first application; and in accordance with a determination that the second application is installed on the computer system, forgoing initiation of the process to install the second application; and after installing the second application as part of the process to add the accessory device to the ecosystem and in accordance with a determination that a set of one or more automatic removal criteria is satisfied, removing the second application without detecting a user input to remove the second application.
[0009] In some embodiments, a computer system configured to communicate with one or more input devices is described. In some embodiments, the computer system comprises means for performing each of the following steps: detecting, via the one or more input devices, an input 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 to add the accessory device to the ecosystem includes: in accordance with a determination that a second application is not installed on the computer system, initiating a process to install the second application, wherein the second application corresponds to the accessory device, and wherein the second application is different from the first application; and in accordance with a determination that the second application is installed on the computer system, forgoing initiation of the process to install the second application; and after installing the second application as part of the process to add the accessory device to the ecosystem and in accordance with a determination that a set of one or more automatic removal criteria is satisfied, removing the second application without detecting a user input to remove the second application.
[0010] In some embodiments, a computer program product is described. In some embodiments, the computer program product comprises one or more programs configured to be executed by one or more processors of a computer system that is in communication with one or more input devices. In some embodiments, the one or more programs include44911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) instructions for: detecting, via the one or more input devices, an input 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 to add the accessory device to the ecosystem includes: in accordance with a determination that a second application is not installed on the computer system, initiating a process to install the second application, wherein the second application corresponds to the accessory device, and wherein the second application is different from the first application; and in accordance with a determination that the second application is installed on the computer system, forgoing initiation of the process to install the second application; and after installing the second application as part of the process to add the accessory device to the ecosystem and in accordance with a determination that a set of one or more automatic removal criteria is satisfied, removing the second application without detecting a user input to remove the second application.
[0011] In some embodiments, a method that is performed at an electronic device is described. In some embodiments, the method comprises: pairing with an accessory device; after pairing with the accessory device, commissioning the accessory device on a first set of one or more security domains; after commissioning the accessory device on the first set of one or more security domains, sending, to the accessory device, a request to enter into a recommissioning mode; and after sending the request to enter into the recommissioning mode: receiving, from the accessory device, recommissioning data; and causing, via a resident device different from the accessory device and the electronic device, the accessory device to be recommissioned on a second set of one or more security domains using the recommissioning data, 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 storing one or more programs configured to be executed by one or more processors of an electronic device is described. In some embodiments, the one or more programs includes instructions for: pairing with an accessory device; after pairing with the accessory device, commissioning the accessory device on a first set of one or more security domains; after commissioning the accessory device on the first set of one or more security domains, sending, to the accessory device, a request to enter into a recommissioning mode; and after sending the54911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) request to enter into the recommissioning mode: receiving, from the accessory device, recommissioning data; and causing, via a resident device different from the accessory device and the electronic device, the accessory device to be recommissioned on a second set of one or more security domains using the recommissioning data, 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 transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device is described. In some embodiments, the one or more programs includes instructions for: pairing with an accessory device; after pairing with the accessory device, commissioning the accessory device on a first set of one or more security domains; after commissioning the accessory device on the first set of one or more security domains, sending, to the accessory device, a request to enter into a recommissioning mode; and after sending the request to enter into the recommissioning mode: receiving, from the accessory device, recommissioning data; and causing, via a resident device different from the accessory device and the electronic device, the accessory device to be recommissioned on a second set of one or more security domains using the recommissioning data, 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 comprises 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 includes instructions for: pairing with an accessory device; after pairing with the accessory device, commissioning the accessory device on a first set of one or more security domains; after commissioning the accessory device on the first set of one or more security domains, sending, to the accessory device, a request to enter into a recommissioning mode; and after sending the request to enter into the recommissioning mode: receiving, from the accessory device, recommissioning data; and causing, via a resident device different from the accessory device and the electronic device, the accessory device to be recommissioned on a second set of one or more security domains using the recommissioning data, 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 comprises means for performing each of the following steps: pairing64911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) with an accessory device; after pairing with the accessory device, commissioning the accessory device on a first set of one or more security domains; after commissioning the accessory device on the first set of one or more security domains, sending, to the accessory device, a request to enter into a recommissioning mode; and after sending the request to enter into the recommissioning mode: receiving, from the accessory device, recommissioning data; and causing, via a resident device different from the accessory device and the electronic device, the accessory device to be recommissioned on a second set of one or more security domains using the recommissioning data, 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 comprises 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, commissioning the accessory device on a first set of one or more security domains; after commissioning the accessory device on the first set of one or more security domains, sending, to the accessory device, a request to enter into a recommissioning mode; and after sending the request to enter into the recommissioning mode: receiving, from the accessory device, recommissioning data; and causing, via a resident device different from the accessory device and the electronic device, the accessory device to be recommissioned on a second set of one or more security domains using the recommissioning data, 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 that is performed at an electronic device is described. In some embodiments, the method comprises: receiving, from an installer device, a request to commission an accessory device, wherein the request to commission the accessory device includes connection information corresponding to the accessory device, 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; and in response to receiving the request to commission the accessory device: establishing, with the accessory device, a connection using the connection information; and commissioning, using the connection, the accessory device on a set of one or more security domains.74911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0018] In some embodiments, 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 is described. In some embodiments, the one or more programs includes instructions for: receiving, from an installer device, a request to commission an accessory device, wherein the request to commission the accessory device includes connection information corresponding to the accessory device, 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; and in response to receiving the request to commission the accessory device: establishing, with the accessory device, a connection using the connection information; and commissioning, using the connection, the accessory device on a set of one or more security domains.
[0019] In some embodiments, a transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device is described. In some embodiments, the one or more programs includes instructions for: receiving, from an installer device, a request to commission an accessory device, wherein the request to commission the accessory device includes connection information corresponding to the accessory device, 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; and in response to receiving the request to commission the accessory device: establishing, with the accessory device, a connection using the connection information; and commissioning, using the connection, the accessory device on a set of one or more security domains.
[0020] In some embodiments, an electronic device is described. In some embodiments, the electronic device comprises 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 includes instructions for: receiving, from an installer device, a request to commission an accessory device, wherein the request to commission the accessory device includes connection information corresponding to the accessory device, 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; and in response to receiving the request to commission the accessory device: establishing, with the accessory device, a84911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) connection using the connection information; and commissioning, using the connection, the accessory device on a set of one or more security domains.
[0021] In some embodiments, an electronic device is described. In some embodiments, the electronic device comprises means for performing each of the following steps: receiving, from an installer device, a request to commission an accessory device, wherein the request to commission the accessory device includes connection information corresponding to the accessory device, 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; and in response to receiving the request to commission the accessory device: establishing, with the accessory device, a connection using the connection information; and commissioning, using the connection, the accessory device on a set of one or more security domains.
[0022] In some embodiments, a computer program product is described. In some embodiments, the computer program product comprises 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, from an installer device, a request to commission an accessory device, wherein the request to commission the accessory device includes connection information corresponding to the accessory device, 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; and in response to receiving the request to commission the accessory device: establishing, with the accessory device, a connection using the connection information; and commissioning, using the connection, the accessory device on a set of one or more security domains.
[0023] In some embodiments, a method that is performed at a first device that is in communication with one or more input devices is described. In some embodiments, the method comprises: 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; and in response to detecting the input corresponding to the request to communicate with the second device: in accordance with a determination that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes a criterion that is satisfied when the first device detects a first set of one or more activities, generating, to be sent to the second device, a first message includes an identification of the first set of one or more activities; and in accordance with a determination that a second set of one or more criteria is satisfied, wherein the second94911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) set of one or more criteria includes a criterion that is satisfied when the first device detects a second set of one or more activities, generating, to be sent to the second device, a second message includes an identification 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.
[0024] In some embodiments, 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 that is in communication with one or more input devices is described. In some embodiments, the one or more programs includes 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; and in response to detecting the input corresponding to the request to communicate with the second device: in accordance with a determination that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes a criterion that is satisfied when the first device detects a first set of one or more activities, generating, to be sent to the second device, a first message includes an identification of the first set of one or more activities; and in accordance with a determination that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes a criterion that is satisfied when the first device detects a second set of one or more activities, generating, to be sent to the second device, a second message includes an identification 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.
[0025] In some embodiments, a transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a first device that is in communication with one or more input devices is described. In some embodiments, the one or more programs includes 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; and in response to detecting the input corresponding to the request to communicate with the second device: in accordance with a determination that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes a104911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) criterion that is satisfied when the first device detects a first set of one or more activities, generating, to be sent to the second device, a first message includes an identification of the first set of one or more activities; and in accordance with a determination that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes a criterion that is satisfied when the first device detects a second set of one or more activities, generating, to be sent to the second device, a second message includes an identification 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.
[0026] In some embodiments, a first device configured to communicate with one or more input devices is described. In some embodiments, the first device comprises 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 includes 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; and in response to detecting the input corresponding to the request to communicate with the second device: in accordance with a determination that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes a criterion that is satisfied when the first device detects a first set of one or more activities, generating, to be sent to the second device, a first message includes an identification of the first set of one or more activities; and in accordance with a determination that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes a criterion that is satisfied when the first device detects a second set of one or more activities, generating, to be sent to the second device, a second message includes an identification 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.
[0027] In some embodiments, a first device configured to communicate with one or more input devices is described. In some embodiments, the first device comprises means for performing each of the following steps: detecting, via the one or more input devices, an input corresponding to a request to communicate with a second device different from the first114911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) device; and in response to detecting the input corresponding to the request to communicate with the second device: in accordance with a determination that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes a criterion that is satisfied when the first device detects a first set of one or more activities, generating, to be sent to the second device, a first message includes an identification of the first set of one or more activities; and in accordance with a determination that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes a criterion that is satisfied when the first device detects a second set of one or more activities, generating, to be sent to the second device, a second message includes an identification 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.
[0028] In some embodiments, a computer program product is described. In some embodiments, the computer program product comprises one or more programs configured to be executed by one or more processors of a first device that is in communication 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; and in response to detecting the input corresponding to the request to communicate with the second device: in accordance with a determination that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes a criterion that is satisfied when the first device detects a first set of one or more activities, generating, to be sent to the second device, a first message includes an identification of the first set of one or more activities; and in accordance with a determination that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes a criterion that is satisfied when the first device detects a second set of one or more activities, generating, to be sent to the second device, a second message includes an identification 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.124911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0029] In some embodiments, a method that is performed at a first device that is in communication with one or more display generation components is described. In some embodiments, the method comprises: detecting that a user of a second device is no longer within proximity of 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 within proximity of the second device and in accordance with a determination that a set of one or more criteria is satisfied, wherein the set of one or more criteria includes a criterion that is satisfied when the second device is not set in a particular mode, displaying, via the one or more display generation components, a notification corresponding to the second device.
[0030] In some embodiments, 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 that is in communication with one or more display generation components is described. In some embodiments, the one or more programs includes instructions for: detecting that a user of a second device is no longer within proximity of 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 within proximity of the second device and in accordance with a determination that a set of one or more criteria is satisfied, wherein the set of one or more criteria includes a criterion that is satisfied when the second device is not set in a particular mode, displaying, via the one or more display generation components, a notification corresponding to the second device.
[0031] In some embodiments, a transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a first device that is in communication with one or more display generation components is described. In some embodiments, the one or more programs includes instructions for: detecting that a user of a second device is no longer within proximity of 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 within proximity of the second device and in accordance with a determination that a set of one or more criteria is satisfied, wherein the set of one or more criteria includes a criterion that is satisfied when the second device is not set in a particular mode, displaying, via the one or more display generation components, a notification corresponding to the second device.134911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[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 comprises 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 includes instructions for: detecting that a user of a second device is no longer within proximity of 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 within proximity of the second device and in accordance with a determination that a set of one or more criteria is satisfied, wherein the set of one or more criteria includes a criterion that is satisfied when the second device is not set in a particular mode, displaying, via the one or more display generation components, a notification corresponding to the second device.
[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 comprises means for performing each of the following steps: detecting that a user of a second device is no longer within proximity of 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 within proximity of the second device and in accordance with a determination that a set of one or more criteria is satisfied, wherein the set of one or more criteria includes a criterion that is satisfied when the second device is not set in a particular mode, displaying, via the one or more display generation components, a notification corresponding to the second device.
[0034] In some embodiments, a computer program product is described. In some embodiments, the computer program product comprises one or more programs configured to be executed by one or more processors of a first device that is in communication 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 within proximity of 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 within proximity of the second device and in accordance with a determination that a set of one or more criteria is satisfied, wherein the set of one or more criteria includes a criterion that is satisfied when the second device is not set in a particular mode, displaying, via the one or more display generation components, a notification corresponding to the second device.144911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0035] In some embodiments, a method that is performed at a computer system by a first application is described. In some embodiments, the method comprises: 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: in accordance with a determination that a second application has not been initiated, initiating the second application, wherein the second application is separate from the first application; receiving, from the second application, content; and rendering, within the user interface of the first application, the content received from the second application, wherein the second application is terminated after the second application sends the content to the first application.
[0036] In some embodiments, 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 is described. In some embodiments, the one or more programs includes 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: in accordance with a determination that a second application has not been initiated, initiating the second application, wherein the second application is separate from the first application; receiving, from the second application, content; and rendering, within the user interface of the first application, the content received from the second application, wherein the second application is terminated after the second application sends the content to the first application.
[0037] In some embodiments, a 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 is described. In some embodiments, the one or more programs includes 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: in accordance with a determination that a second application has not been initiated, initiating the second application, wherein the second application is separate from the first application; receiving, from the second application, content; and rendering, within the user interface of the first application, the content received from the second application, wherein the second application is terminated after the second application sends the content to the first application.
[0038] In some embodiments, a computer system by a first application is described. In some embodiments, the computer system comprises one or more processors and memory154911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) storing one or more programs configured to be executed by the one or more processors. In some embodiments, the one or more programs includes 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: in accordance with a determination that a second application has not been initiated, initiating the second application, wherein the second application is separate from the first application; receiving, from the second application, content; and rendering, within the user interface of the first application, the content received from the second application, wherein the second application is terminated after the second application sends the content to the first application.
[0039] In some embodiments, a computer system by a first application is described. In some embodiments, the computer system comprises means 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: in accordance with a determination that a second application has not been initiated, initiating the second application, wherein the second application is separate from the first application; receiving, from the second application, content; and rendering, within the user interface of the first application, the content received from the second application, wherein the second application is terminated after the second application sends the content to the first application.
[0040] In some embodiments, a computer program product is described. In some embodiments, the computer program product comprises 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: in accordance with a determination that a second application has not been initiated, initiating the second application, wherein the second application is separate from the first application; receiving, from the second application, content; and rendering, within the user interface of the first application, the content received from the second application, wherein the second application is terminated after the second application sends 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. Executable instructions for performing164911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) these functions are, optionally, included in a transitory computer-readable storage medium or other computer program product configured for execution by one or more processors.DESCRIPTION OF THE FIGURES
[0042] For a better understanding of the various described embodiments, reference should be made to the Detailed Description below, in conjunction with the following drawings in which like reference numerals refer to corresponding parts throughout the figures.
[0043] FIG. 1 A is a block diagram illustrating a compute system in accordance with some embodiments.
[0044] FIGS. 1B-1G illustrate the use of Application Programming Interfaces (APIs) to perform operations in accordance with some embodiments.
[0045] FIG. 2 is a block diagram illustrating a device with interconnected subsystems in accordance with some embodiments.
[0046] FIGS. 3A-3K illustrate exemplary user interfaces for adding accessories to a home ecosystem in accordance with some embodiments.
[0047] FIG. 4 is a flow diagram illustrating a process for temporarily installing an application to add an accessory to an ecosystem in accordance with some embodiments.
[0048] FIG. 5 is a flow diagram illustrating a process for commissioning an accessory by an installer device in accordance with some embodiments.
[0049] FIG. 6 is a flow diagram illustrating a process for commissioning an accessory by a resident device in accordance with some embodiments.
[0050] FIG. 7 illustrates a process for installing a resident device and initializing a fabric in accordance with some embodiments.
[0051] FIG. 8 illustrates a process for commissioning an accessory device by an installer device in accordance with some embodiments.
[0052] FIG. 9 illustrates a process for operating a resident device in standalone mode in accordance with some embodiments.174911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0053] FIG. 10 illustrates a process for enrolling a resident device in accordance with some embodiments.
[0054] FIG. 11 illustrates a process for communicating with another device in accordance with some embodiments.
[0055] FIG. 12 illustrates a process for notifying a user in accordance with some embodiments.
[0056] FIG. 13 illustrates an exemplary system architecture for integrating diagnostic information with communications in accordance with some embodiments.
[0057] FIGS. 14A-14D illustrate exemplary user interfaces for integrating diagnostic information with communications in accordance with some embodiments.
[0058] FIG. 15 illustrates an exemplary system architecture for providing extended functionality using an integrated content provider component within an accessory device in accordance with some embodiments.
[0059] FIG. 16 illustrates an exemplary system architecture for providing extended functionality using rich content obtained via third party web server communication in accordance with some embodiments.
[0060] FIG. 17 illustrates an exemplary system architecture for providing extended functionality via a downloaded content provider in a personal user computing device in accordance with some embodiments.
[0061] FIG. 18 illustrates an exemplary system architecture for providing extended functionality using artificial intelligence in accordance with some embodiments.
[0062] FIGS. 19A-19C illustrate exemplary user interfaces for adding an accessory device to an environment in accordance with some embodiments.
[0063] FIGS. 20A-20E illustrate exemplary user interfaces for extending functionality in accordance with some embodiments.
[0064] FIG. 21 is a flow diagram illustrating a process for extending functionality in accordance with some embodiments.184911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)DETAILED DESCRIPTION
[0065] The following description sets forth exemplary processes, parameters, and the like. It should be recognized, however, that such description is not intended as a limitation on the scope of the present disclosure but is instead provided as a description of exemplary embodiments.
[0066] Processes described herein can include one or more steps that are contingent upon one or more conditions being satisfied. It should be understood that a process can occur over multiple iterations of the same process with different steps of the process being satisfied in different iterations. For example, if a process requires performing a first step upon a determination that a set of one or more criteria is met and a second step upon a determination that the set of one or more criteria is not met, a person of ordinary skill in the art would appreciate that the steps of the process are repeated until both conditions, in no particular order, are satisfied. Thus, a process described with steps that are contingent upon a condition being satisfied can be rewritten as a process that is repeated until each of the conditions described in the process are satisfied. This, however, is not required of system or computer readable medium claims where the system or computer readable medium claims include instructions for performing one or more steps that are contingent upon one or more conditions being satisfied. Because the instructions for the system or computer readable medium claims are stored in one or more processors and / or at one or more memory locations, the system or computer readable medium claims include logic that can determine whether the one or more conditions have been satisfied without explicitly repeating steps of a process until all of the conditions upon which steps in the process are contingent have been satisfied. A person having ordinary skill in the art would also understand that, similar to a process with contingent steps, a system or computer readable storage medium can repeat the steps of a process as many times as needed to ensure that all of the contingent steps have been performed.
[0067] Although the following description uses 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, a first subsystem could be termed a second subsystem, and, similarly, a second subsystem device or a subsystem device could be termed a first subsystem device, without departing from the scope of the various described embodiments. In some embodiments, the first subsystem and the194911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) second subsystem are two separate references to the same subsystem. In some embodiments, the first subsystem and the second subsystem are both subsystems, but they are not the same subsystem or the same type of subsystem.
[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 the appended claims, the singular forms “a,” “an,” 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 encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “includes,” “including,” “comprises,” and / or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0069] The term “if’ is, optionally, construed to mean “when,” “upon,” “in response to determining,” “in response to detecting,” or “in accordance with a determination that” depending on the context. Similarly, the phrase “if it is determined” or “if [a stated condition or event] is detected” is, optionally, construed to mean “upon determining,” “in response to determining,” “upon detecting [the stated condition or event],” “in response to detecting [the stated condition or event],” or “in accordance with a determination that [the stated condition or event]” depending on the context.
[0070] Turning to FIG. 1 A, a block diagram of compute system 100 is illustrated. Compute system 100 is a non-limiting example of a compute system that can be used to perform functionality described herein. It should be recognized that other computer architectures of a compute system can be used to perform functionality described herein.
[0071] In the illustrated example, compute system 100 includes processor subsystem 110 communicating with (e.g., wired or wirelessly) memory 120 (e.g., a system memory) and I / O interface 130 via interconnect 150 (e.g., a system bus, one or more memory locations, or other communication channel for connecting multiple components of compute system 100). In addition, I / O interface 130 is communicating with (e.g., wired or wirelessly) to I / O device 140. In some embodiments, I / O interface 130 is included with I / O device 140 such that the204911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) two are a single component. It should be recognized that there can be one or more I / O interfaces, with each I / O interface communicating with one or more I / O devices. In some embodiments, multiple instances of processor subsystem 110 can be communicating via interconnect 150.
[0072] Compute system 100 can be any of various types of devices, including, but not limited to, a system on a chip, a server system, a personal computer system (e.g., a smartphone, a smartwatch, a wearable device, a tablet, a laptop computer, and / or a desktop computer), a sensor, or the like. In some embodiments, compute system 100 is included or communicating with a physical component for the purpose of modifying the physical component in response to an instruction. In some embodiments, compute system 100 receives an instruction to modify a physical component and, in response to the instruction, causes the physical component to be modified. In some embodiments, the physical component is modified via an actuator, an electric signal, and / or algorithm. Examples of such physical components include an acceleration control, a break, a gear box, a hinge, a motor, a pump, a refrigeration system, a spring, a suspension system, a steering control, a pump, a vacuum system, and / or a valve. In some embodiments, a sensor includes one or more hardware components that detect information about a physical environment in proximity to (e.g., surrounding) the sensor. In some embodiments, a hardware component of a sensor includes a sensing component (e.g., an image sensor or temperature sensor), a transmitting component (e.g., a laser or radio transmitter), a receiving component (e.g., a laser or radio receiver), or any combination thereof. Examples of sensors include an angle sensor, a chemical sensor, a brake pressure sensor, a contact sensor, a non-contact sensor, an electrical sensor, a flow sensor, a force sensor, a gas sensor, a humidity sensor, an image sensor (e.g., a camera sensor, a radar sensor, and / or a LiDAR sensor), an inertial measurement unit, a leak sensor, a level sensor, a light detection and ranging system, a metal sensor, a motion sensor, a particle sensor, a photoelectric sensor, a position sensor (e.g., a global positioning system), a precipitation sensor, a pressure sensor, a proximity sensor, a radio detection and ranging system, a radiation sensor, a speed sensor (e.g., measures the speed of an object), a temperature sensor, a time-of-flight sensor, a torque sensor, and an ultrasonic sensor. In some embodiments, a sensor includes 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 a single compute system is shown in FIG. 1 A, compute system 100 can also be implemented as two or more compute systems operating together.214911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0073] In some embodiments, processor subsystem 110 includes one or more processors or processing units configured to execute program instructions to perform functionality described herein. For example, processor subsystem 110 can execute an operating system, a middleware system, one or more applications, or any combination thereof.
[0074] In some embodiments, the operating system manages resources of compute system 100. Examples of types of operating systems covered herein include batch operating systems (e.g., Multiple Virtual Storage (MVS)), time-sharing operating systems (e.g., Unix), distributed operating systems (e.g., Advanced Interactive executive (AIX), network operating systems (e.g., Microsoft Windows Server), and real-time operating systems (e.g., QNX). In some embodiments, the operating system includes various procedures, sets of instructions, software components, and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, or the like) and for facilitating communication between various hardware and software components. In some embodiments, the operating system uses a priority -based scheduler that assigns a priority to different tasks that processor subsystem 110 can execute. In such examples, the priority assigned to a task is used to identify a next task to execute. In some embodiments, the priority-based scheduler identifies a next task to execute when a previous task finishes executing. In some embodiments, the highest priority task runs to completion unless another higher priority task is made ready.
[0075] In some embodiments, the middleware system provides one or more services and / or capabilities to applications (e.g., the one or more applications running on processor subsystem 110) outside of what the operating system offers (e.g., data management, application services, messaging, authentication, API management, or the like). In some embodiments, the middleware system is designed for a heterogeneous computer cluster to provide hardware abstraction, low-level device control, implementation of commonly used functionality, message-passing between processes, package management, or any combination thereof. Examples of middleware systems include Lightweight Communications and Marshalling (LCM), PX4, Robot Operating System (ROS), and ZeroMQ. In some embodiments, the middleware system represents processes and / or operations using a graph architecture, where processing takes place in nodes that can receive, post, and multiplex sensor data messages, control messages, state messages, planning messages, actuator messages, and other messages. In such examples, the graph architecture can define an224911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) application (e.g., an application executing on processor subsystem 110 as described above) such that different operations of the application are included with different nodes in the graph architecture.
[0076] In some embodiments, a message sent from a first node in a graph architecture to a second node in the graph architecture is performed using a publish-subscribe model, where the first node publishes data on a channel in which the second node can subscribe. In such examples, the first node can store data in memory (e.g., memory 120 or some local memory of processor subsystem 110) and notify the second node that the data has been stored in the memory. In some embodiments, the first node notifies the second node that the data has been stored in the memory by sending a pointer (e.g., a memory pointer, such as an identification of a memory location) to the second node so that the second node can access the data from where the first node stored the data. In some embodiments, the first node would send the data directly to the second node so that the second node would not need to access a memory based on data received from the first node.
[0077] Memory 120 can include a computer readable medium (e.g., non-transitory or transitory computer readable medium) usable to store (e.g., configured to store, assigned to store, and / or that stores) program instructions executable by processor subsystem 110 to cause compute system 100 to perform various operations described herein. For example, memory 120 can store program instructions to implement the functionality associated with processes 400, 500, 600, 1100, 1200, and / or 2100 (FIGS. 4, 5, 6, 11, 12, and 21) described below.
[0078] Memory 120 can be implemented using different physical, non-transitory memory media, such as hard disk storage, floppy disk storage, removable disk storage, flash memory, random access memory (RAM-SRAM, EDO RAM, SDRAM, DDR SDRAM, RAMBUS RAM, or the like), read only memory (PROM, EEPROM, or the like), or the like. Memory in compute system 100 is not limited to primary storage such as memory 120. Compute system 100 can also include other forms of storage such as cache memory in processor subsystem 110 and secondary storage on VO device 140 (e.g., a hard drive, storage array, etc.). In some embodiments, these other forms of storage can also store program instructions executable by processor subsystem 110 to perform operations described herein. In some embodiments, processor subsystem 110 (or each processor within processor subsystem 110) contains a cache or other form of on-board memory.234911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0079] I / O interface 130 can be any of various types of interfaces configured to communicate with other devices. In some embodiments, I / O interface 130 includes a bridge chip (e.g., Southbridge) from 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 VO devices include storage devices (hard drive, optical drive, removable flash drive, storage array, SAN, or their associated controller), network interface devices (e.g., to a local or wide-area network), sensor devices (e.g., camera, radar, LiDAR, ultrasonic sensor, GPS, inertial measurement device, or the like), and auditory or visual output devices (e.g., speaker, light, screen, projector, or the like). In some embodiments, compute system 100 is communicating with a network via a network interface device (e.g., configured to communicate over Wi-Fi, Bluetooth, Ethernet, or the like). In some embodiments, compute system 100 is directly or wired to the network.
[0080] Implementations within the scope of the present disclosure can be partially or entirely realized using a tangible computer-readable storage medium (or multiple tangible computer-readable storage media of one or more types) encoding one or more computer- readable instructions. It should be recognized that computer-executable instructions can be organized in any format, including applications, widgets, processes, software, software modules, and / or components.
[0081] Implementations within the scope of the present disclosure include a computer- readable storage medium that encodes instructions organized as an application (e.g., application 170) that, when executed by one or more processing units, control an electronic device (e.g., device 168) to perform the process of FIG. IB, the process of FIG. 1C, and / or one or more other processes and / or processes described herein.
[0082] It should be recognized that application 170 (e.g., illustrated in FIG. ID) can be any suitable type of application, including, for example, one or more of: a browser application, an application that functions as an execution environment for plug-ins, widgets, or other applications, a fitness application, a health application, an accessory management application, a home application, a digital payments application, a media application, a social network application, a messaging application, and / or a maps application. In some embodiments, application 170 is an application that is pre-installed on device 168 at purchase (e.g., a first party application). In some embodiments, application 170 is an application that is provided to device 168 via an operating system update file (e.g., a first party application or a244911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) second party application). In other embodiments, application 170 is an application that is provided via an application store. In some embodiments, the application store can be an application store that is pre-installed on device 168 at purchase (e.g., a first party application store). In some embodiments, the application store is a third-party application store (e.g., an application store that is provided by another application store, downloaded via a network, and / or read from a storage device).
[0083] Referring to FIG. IB and FIG. IF, 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 (e.g., a set of one more instructions) of device 168. In some embodiments, at 160, information is obtained from at least one hardware component external to device 168 (e.g., a peripheral device, an accessory device, and / or a server). In some embodiments, the information obtained at 160 includes positional information, time information, notification information, user information, environment information, electronic device state information, weather information, media information, historical information, event information, hardware information, and / or motion information. In some embodiments, in response to and / or after obtaining the information at 160, application 170 provides the information to system (e.g., 162).
[0084] In some embodiments, the system (e.g., 180 as illustrated in FIG. IE) is an operating system hosted on device 168. In some embodiments, the system (e.g., 180 as illustrated in FIG. IE) is an external device (e.g., a server, a peripheral device, an accessory, and / or a personal computing device) that includes an operating system.
[0085] Referring to FIG. 1C, application 170 obtains information (e.g., 164). In some embodiments, the information obtained at 164 includes positional information, time information, notification information, user information, environment information electronic device state information, weather information, media information, historical information, event information, hardware information and / or motion information. In response to and / or after obtaining the information at 164, application 170 performs an operation with the information (e.g., 166). In some embodiments, the operation performed at 166 includes: providing a notification based on the information, sending a message based on the information, displaying the information, controlling a user interface of a fitness application based on the information, controlling a user interface of a health application based on the254911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) information, controlling a focus mode based on the information, setting a reminder based on the information, adding a calendar entry based on the information, and / or calling an API of system 180 based on the information.
[0086] In some embodiments, one or more steps of the process of FIG. IB and / or the process of FIG. 1C is performed in response to a trigger. In some embodiments, the trigger includes detection of an event, a notification received from system 180, a user input, and / or a response to a call to an API provided by system 180.
[0087] In some embodiments, the instructions of application 170, when executed, control device 168 to perform the process of FIG. IB and / or the process of FIG. 1C by calling an application programming interface (API) (e.g., API 176) provided by system 180. In some embodiments, application 170 performs at least a portion of the process of FIG. IB and / or the process of FIG. 1C without calling API 176.
[0088] In some embodiments, one or more steps of the process of FIG. IB and / or the process of FIG. 1C includes calling an API (e.g., API 176) using one or more parameters defined by the API. In some embodiments, the one or more parameters include a constant, a key, a data structure, an object, an object class, a variable, a data type, a pointer, an array, a list or a pointer to a function or a process, and / or another way to reference a data or other item to be passed via the API.
[0089] Referring to FIG. ID, device 168 is illustrated. In some embodiments, device 168 is a personal computing device, a smart phone, a smart watch, a fitness tracker, a head mounted display (HMD) device, a media device, a communal device, a speaker, a television, and / or a tablet. Device 168 includes application 170 and an operating system (not shown) (e.g., system 180 as illustrated in FIG. IE). Application 170 includes application implementation instructions 172 and API calling instructions 174. System 180 includes API 176 and implementation instructions 178. It should be recognized that device 168, application 170, and / or system 180 can include more, fewer, and / or different components than illustrated in FIG. ID and IE.
[0090] In some embodiments, application implementation instructions 172 is a software module that includes a set of one or more computer-readable instructions. In some embodiments, the set of one or more computer-readable instructions correspond to one or more operations performed by application 170. For example, when application 170 is a264911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) messaging application, application implementation instructions 172 can include operations to receive and send messages. In some embodiments, application implementation instructions 172 communicates with API calling instructions to communicate with system 180 via API 176 (e.g., as illustrated in FIG. IE).
[0091] In some embodiments, API calling instructions 174 is a software module that includes a set of one or more computer-executable instructions.
[0092] In some embodiments, implementation instructions 178 is a software module that includes a set of one or more computer-executable instructions.
[0093] In some embodiments, API 176 is a software module that includes a set of one or more computer-executable instructions. In some embodiments, API 176 provides an interface that allows a different set of instructions (e.g., API calling instructions 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 calling instructions 174 can access a feature of implementation instructions 178 through one or more API calls or invocations (e.g., embodied by a function call, a method call, or a process call) exposed by API 176 and can pass data and / or control information using one or more parameters via the API calls or invocations. In some embodiments, API 176 allows application 170 to use a service provided by a Software Development Kit (SDK) library. In some embodiments, application 170 incorporates a call to a function or process provided by the SDK library and provided by API 176 or uses data types or objects defined in the SDK library and provided by API 176. In some embodiments, API calling instructions 174 makes an API call via API 176 to access and use a feature of implementation instructions 178 that is specified by API 176. In such embodiments, implementation instructions 178 can return a value via API 176 to API calling instructions 174 in response to the API call. The value can report to application 170 the capabilities or state of a hardware component of device 168, including those related to aspects such as input capabilities and state, output capabilities and state, processing capability, power state, storage capacity and state, and / or communications capability. In some embodiments, API 176 is implemented in part by firmware, microcode, or other low level logic that executes in part on the hardware component.
[0094] In some embodiments, API 176 allows a developer of API calling instructions 174 (which can be a third-party developer) to leverage a feature provided by implementation274911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) instructions 178. In such embodiments, there can be one or more sets of API calling instructions (e.g., including API calling instructions 174) that communicate with implementation instructions 178. In some embodiments, API 176 allows multiple sets of API calling instructions written in different programming languages to communicate with implementation instructions 178 (e.g., API 176 can include features for translating calls and returns between implementation instructions 178 and API calling instructions 174) while API 176 is implemented in terms of a specific programming language. In some embodiments, API calling instructions 174 calls APIs from different providers such as a set of APIs from an OS provider, another set of APIs from a plug-in provider, and / or another set of APIs from another provider (e.g., the provider of a software library) or creator of the another set of APIs.
[0095] Examples of API 176 can include one or more of: a pairing API (e.g., for establishing secure connection, e.g., with an accessory), a device detection API (e.g., for locating nearby devices, e.g., media devices and / or smartphone), a payment API, a UIKit API (e.g., for generating user interfaces), a location detection API, a locator API, a maps API, a health sensor API, a sensor API, a messaging API, a push notification API, a streaming API, a collaboration API, a video conferencing API, an application store API, an advertising services API, a web browser API (e.g., WebKit API), a vehicle API, a networking API, a WiFi API, a Bluetooth API, an NFC API, a UWB API, a fitness API, a smart home API, contact transfer API, photos API, camera API, and / or image processing API. In some embodiments the sensor API is an API for accessing data associated with a sensor of device 168. For example, the sensor API can provide access to raw sensor data. For another example, the sensor API can provide data derived (and / or generated) from the raw sensor data. In some embodiments, the 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 embodiments, the sensor includes one or more of an accelerometer, temperature sensor, infrared sensor, optical sensor, heartrate sensor, barometer, gyroscope, proximity sensor, temperature sensor and / or biometric sensor.
[0096] In some embodiments, implementation instructions 178 is a system (e.g., an operating system and / or a server system) software module (e.g., a collection of computer- readable instructions) that is constructed to perform an operation in response to receiving an API call via API 176. In some embodiments, implementation instructions 178 is constructed to provide an API response (via API 176) as a result of processing an API call. By way of284911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) example, implementation instructions 178 and API calling instructions 174 can each be any one of an operating system, a library, a device driver, an API, an application program, or other module. It should be understood that implementation instructions 178 and API calling instructions 174 can be the same or different type of software module from each other. In some embodiments, implementation instructions 178 is embodied at least in part in firmware, microcode, or other hardware logic.
[0097] In some embodiments, implementation instructions 178 returns a value through API 176 in response to an API call from API calling instructions 174. While API 176 defines the syntax and result of an API call (e.g., how to invoke the API call and what the API call does), API 176 might not reveal how implementation instructions 178 accomplishes the function specified by the API call. Various API calls are transferred via the one or more application programming interfaces between API calling instructions 174 and implementation instructions 178. Transferring the API calls can include issuing, initiating, invoking, calling, receiving, returning, and / or responding to the function calls or messages. In other words, transferring can describe actions by either of API calling instructions 174 or implementation instructions 178. In some embodiments, a function call or other invocation of API 176 sends and / or receives one or more parameters through a parameter list or other structure.
[0098] In some embodiments, implementation instructions 178 provides more than one API, each providing a different view of or with different aspects of functionality implemented by implementation instructions 178. For example, one API of implementation instructions 178 can provide a first set of functions and can be exposed to third party developers, and another API of implementation instructions 178 can 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 testing or debugging functions which are not in the first set of functions. In some embodiments, implementation instructions 178 calls one or more other components via an underlying API and thus be both an API calling instructions and an implementation instructions. It should be recognized that implementation instructions 178 can include additional functions, processes, classes, data structures, and / or other features that are not specified through API 176 and are not available to API calling instructions 174. It should also be recognized that API calling instructions 174 can be on the same system as implementation instructions 178 or can be located remotely and access implementation instructions 178 using API 176 over a network. In some embodiments, implementation instructions 178, API 176, and / or API calling294911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) instructions 174 is stored in a machine-readable medium, which includes any mechanism for storing information in a form readable by a machine (e.g., a computer or other data processing system). For example, a machine-readable medium can include magnetic disks, optical disks, random access memory; read only memory, and / or flash memory devices.
[0099] FIG. 2 illustrates a block diagram of device 200 with interconnected subsystems. In the illustrated example, device 200 includes three different subsystems (i.e., first subsystem 210, second subsystem 220, and third subsystem 230) communicating with (e.g., wired or wirelessly) each other, creating a network (e.g., a personal area network, a local area network, a wireless local area network, a metropolitan area network, a wide area network, a storage area network, a virtual private network, an enterprise internal private network, a campus area network, a system area network, and / or a controller area network). An example of a possible computer architecture of a subsystem as included in FIG. 2 is described in FIG. 1 A (i.e., compute system 100). Although three subsystems are shown in FIG. 2, device 200 can include more or fewer subsystems.
[0100] In some embodiments, some subsystems are not connected to other subsystem (e.g., first subsystem 210 can be connected to second subsystem 220 and third subsystem 230 but second subsystem 220 cannot be connected to third subsystem 230). In some embodiments, some subsystems are connected via one or more wires while other subsystems are wirelessly connected. In some embodiments, messages are set between the first subsystem 210, second subsystem 220, and third subsystem 230, such that when a respective subsystem sends a message the other subsystems receive the message (e.g., via a wire and / or a bus). In some embodiments, one or more subsystems are wirelessly connected to one or more compute systems outside of device 200, such as a server system. In such examples, the subsystem can be configured to communicate wirelessly to the one or more compute systems outside of device 200.
[0101] In some embodiments, device 200 includes a housing that fully or partially encloses subsystems 210-230. Examples of device 200 include a home-appliance device (e.g., a refrigerator or an air conditioning system), a robot (e.g., a robotic arm or a robotic vacuum), and a vehicle. In some embodiments, device 200 is configured to navigate (with or without user input) in a physical environment.304911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[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 compute systems remote from device 200. For example, first subsystem 210 and second subsystem 220 can each be a camera that captures images, and third subsystem 230 can use the captured images for decision making. In some embodiments, at least a portion of device 200 functions as a distributed compute system. For example, a task can be split into different portions, where a first portion is executed by first subsystem 210 and a second portion is executed by second subsystem 220.
[0103] Attention is now directed towards techniques for adding an accessory to an ecosystem. Such techniques are described in the context of a vacuum being added to a home ecosystem using a user interface flow from one or more user interfaces of a home application to one or more user interfaces of an operating system to one or more user interfaces of a vacuum application to one or more user interfaces of the home application to one or more user interfaces of a vacuum application to one or more user interfaces of the home application. It should be recognized that other user interface flows can be used with techniques described herein. For example, techniques described herein can use a user interface flow from one or more user interfaces of an operating system to one or more user interfaces of a vacuum application to one or more user interfaces of a home application. In addition, techniques optionally complement or replace other techniques for adding an accessory to an ecosystem.
[0104] FIGS. 3A-3K illustrate exemplary user interfaces for adding accessories to a home ecosystem in accordance with some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes in FIGS. 4-6.
[0105] FIGS. 3A-3K illustrate computer system 300. In this example, computer system 300 is illustrated as a smart phone. It should be recognized that computer system 300 can be other types of computer systems, such as a smart watch, a tablet, a laptop, a desktop, a communal device, an accessory (sometimes referred to herein as an accessory device), a personal gaming system, a laptop computer, a fitness tracking device, and / or a head-mounted display (HMD) device.
[0106] In the examples described below with respect to FIGS. 3 A-3K, computer system 300 displays user interfaces of a home application, of an operating system, and of a vacuum314911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) application. In some embodiments, the home application is an application that allows users to control, communicate with, and / or check a status of one or more accessories. In some embodiments, the operating system is software (sometimes referred to as an application) that manages hardware and / or software resources of computer system 300. In such embodiments, system processes, such as services and / or daemons, can perform operations on behalf of the operating system. In some embodiments, the vacuum application is an application of a type of accessory and / or is provided by a manufacturer of the type of accessory. In such embodiments, an accessory corresponding to the vacuum application can require use of the vacuum application (and / or some subset as described further below with respect to FIG. 3E) to add the accessory to a home ecosystem (e.g., a collection of one or more accessories that are part of a single security domain as described further below) of the home application. It should be recognized that user interfaces of one type of application described herein can be user interfaces of another type of application than described herein, including a user interface of the home application can be a user interface of the operating system and / or a user interface of the operating system can be a user interface of a camera application.
[0107] In some embodiments, computer system 300 is in communication with another computer system (sometimes referred to below as a resident device) that is different from computer system 300. In such embodiments, the resident device can be a device that is physically present in a physical area (sometimes referred to as a home) to add, commission, install, configure, manage, control, communicate with, and / or identify accessories in the home. For example, the resident device can add accessories to the home ecosystem corresponding to the home application using one or more of the processes described below with respect to FIGS. 3 A-3K.
[0108] While the examples in FIGS. 3A-3K include computer system 300 detecting one or more inputs, it should be recognized that such inputs are merely for explanatory purposes and that such inputs can be other types of inputs such as voice inputs via one or more microphones, touch inputs via one or more touch-sensitive surfaces, physical inputs via one or more physical input mechanisms, and / or hand-gesture inputs via one or more cameras.
[0109] As illustrated in FIG. 3A, computer system 300 displays user interface 302 of the home application. In some embodiments, user interface 302 includes representations of accessories previously added to the home ecosystem. In some embodiments, the representations of accessories allow quick access to a state, a status, and / or control of existing324911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) accessories in the home ecosystem. In some embodiments, under a “My Home” section, user interface 302 includes representations of categories of content, such as climate, lights, and / or music. In such embodiments, the categories of content can allow users to quickly control and / or access user interfaces of accessories that are part of these categories. For example, representation 308 for lights (e.g., with indication “All Off’) and representation 310 for music (e.g., with indication “Off’) provide quick access to a status of an accessory and / or control of the accessory. In some embodiments, under an “Accessories” section, user interface 302 includes representations of accessories in the home ecosystem such as representation 312 for a front door lock, representation 314 for porch lights, and representation 316 for a coffee maker. In some embodiments, instead of including a full list of all accessories in the home ecosystem, the “Accessories” section can include accessories of a specific area, zone, and / or room in the home ecosystem to which the accessories were previously added, assigned, and / or configured. For example, when a user has a preconfigured room such as a living room, the “Accessories” section can include a list of accessories corresponding to (e.g., added, assigned, and / or configured to be included in) the living room. In some embodiments, representations of accessories (e.g., 308, 310, 312, 314, and / or 316) provide statuses and / or controls of one or more accessories that they correspond to. For example, representation 312 of the front door lock can indicate that the front door is currently “Locked” or “Unlocked.” In some embodiments, representations of accessories can include one or more controls leading to other user interfaces of the home application and / or another application (e.g., an application corresponding to a type of accessory as described above) for accessing more features and / or controls of the accessories. In some embodiments, user interface 302 includes an edit button (e.g., 304) for editing, adding, and / or removing representations of accessories from user interface 302. In some embodiments, user interface 302 includes one or more user interface elements (e.g., 318, 320, and / or 322) for leading to other user interfaces of the home application such as an option 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) labeleddisplayed at the top right corner of user interface 302, for adding a new accessory and / or a new scene to the home ecosystem. It should be recognized that user interface 302 can include more, less, and / or different content than illustrated in FIG. 3 A and that such placement of certain user interface elements is for explanatory purposes.334911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0110] At FIG. 3A, computer system 300 detects tap input 305a directed to add button 306. It should be recognized that input 305a is an example of a selection input and can be other types of inputs, such as a mouse click, a verbal input, and / or a button press. It should also be recognized that, in some embodiments, description corresponding to FIG. 3B is optional and instead tap input 305a causes computer system 300 to proceed to description corresponding to FIG. 3C.[OHl] As illustrated in FIG. 3B, in response to detecting tap input 305a, computer system 300 displays a modal on top of user interface 302, such as covering a bottom portion of user interface 302. In some embodiments, the modal belongs to the home application and includes button 324 for adding an accessory labeled “Add Accessory,” button 326 for adding a scene labeled “Add Scene,” and / or button 328 for cancelling the modal labeled “Cancel.” In some embodiments, button 324 for adding an accessory is used to initiate a process for adding an accessory to the home ecosystem, which is further described below with respect to FIGS. 3C-3K. In some embodiments, button 326 for adding a scene is used to create a new scene that can control multiple accessories simultaneously. In some embodiments, button 328 for cancelling the modal allows a user to dismiss the modal without making a selection of button 324 or button 326.
[0112] At FIG. 3B, computer system 300 detects tap input 305b directed to button 324 for adding an accessory. It should be recognized that tap input 305b is an example of a selection input and can be other inputs, such as a voice input or an air gesture directed at button 324 for initiating the process for adding an accessory to the home ecosystem.
[0113] As illustrated in FIG. 3C, in response to detecting tap input 305b, computer system 300 displays user interface 330 on top of 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 belongs to the home application and includes camera view 332, which displays a live feed from one or more cameras that are in communication with and / or included in computer system 300. It should be recognized that user interface 330 can belong to other applications, such as the operating system or a camera application of computer system 300.
[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 as used as an example in the344911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) 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 an instruction that guides a user to scan the QR code on the accessory and / or hold their device (e.g., computer system 300) near the accessory for identifying an accessory via a wireless communication as further discussed below. In such embodiments, an accessory can be identified for initiating a process to add the accessory by detecting the accessory in proximity to computer system 300. For example, computer system 300 can use NFC, Bluetooth, and / or other short-range wireless technologies to detect a presence of an accessory within a range. It should be recognized that user interface 330 is for explanatory purposes and can include more, less, and / or different content than illustrated, including different mechanisms for identifying an accessory instead of camera view 332.
[0115] At FIG. 3C, computer system 300 detects an input for identifying an accessory as a step of adding the accessory to the home ecosystem, which in this example is detection of a QR code via camera view 332. It should be recognized that the input for identifying an accessory can be other types of inputs, such as an NFC detection event and / or a Bluetooth pairing.
[0116] As illustrated in FIG. 3D, in response to detecting the input for identifying the accessory, computer system 300 displays user interface 334 for adding the accessory to one or more networks associated with the home ecosystem. In some embodiments, computer system 300 displays user interface 334 in response to and / or after computer system 300 pairs with the accessory using information obtained via the QR code. For example, the QR code can be used to obtain a pairing code, address information, and / or other identifying information for the accessory so that computer system 300 can connect (e.g., via a short range communication channel, such as Bluetooth) to the accessory. As illustrated in FIG. 3D, user interface 334 includes a prompt for informing a user that the accessory needs to be allowed access to a WiFi network before adding to the home ecosystem. It should be recognized that a WiFi network is an example of a type of network that can be used and that other types of networks can also be used, such as a Thread network and / or a cellular network.
[0117] As illustrated in FIG. 3D, user interface 334 includes two buttons: “Don't Allow” button 336 and “Allow” button 338. In some embodiments, “Don't Allow” button 336 and354911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)“Allow” button 338 give a user control over granting 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 “Don't Allow” button 336, the process for adding the accessory to the home ecosystem is cancelled and / or paused until network access is granted.
[0118] At FIG. 3D, computer system 300 detects tap input 305d on “Allow” button 338. It should be recognized that tap input 305d is an example of a selection input and can be other inputs, such as an air gesture directed at the “Allow” button or a voice command to allow the accessory access to a network associated with the home ecosystem.
[0119] In some embodiments, after granting the accessory access to a network associated with the home ecosystem, computer system 300 determines whether an accessory application corresponding to the accessory has already been installed on computer system 300. In some embodiments, there are multiple versions of the accessory application that will suffice for adding the accessory to the home ecosystem. For example, there can be a full application that is installed by a user and is maintained on computer system 300 until a user determines to remove the application. For another example, there can be a lighter weight application (referred to as the vacuum application herein), corresponding to the full application, that is temporarily downloaded and / or installed such that the vacuum application is automatically removed from computer system 300 without computer system 300 detecting user input after the accessory is added to the home ecosystem. In such an example, the vacuum application can have limited functionality, be faster to download, and / or be smaller in size than the full application. The vacuum application can allow access to functionality of the full application without a need for installing the full application. In some embodiments, the vacuum application is automatically removed from computer system 300 after a setup process (e.g., as described below with respect to FIGS. 3F-3J) or after a predetermined period of use of the vacuum application has lapsed.
[0120] As illustrated in FIG. 3E, in response to detecting 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 a user to initiate a process to download, install, and / or otherwise obtain the vacuum application. In such embodiments, the operating system manages integration of user interfaces of the home application and user interfaces of the vacuum application to allow for a seamless transition between user interfaces during the process for adding the accessory to364911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) the home ecosystem. In some embodiments, the integration can involve passing 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 can be provided by other applications, such as the home application and / or a browser.
[0121] As illustrated in FIG. 3E, user interface 340 includes a representation of the accessory (e.g., an icon or image of the vacuum in this example) and a default name and / or identifier of the accessory (e.g., “Vacuum” in this example). As also illustrated in FIG. 3E, user interface 340 includes dismiss button 346, represented as an “X” in the top-right corner of user interface 340. In some embodiments, dismiss button 346 allows a user to end the process for adding the accessory to the home ecosystem. As also illustrated in FIG. 3E, user interface 340 includes button 344, labeled “Open” in this example. In some embodiments, button 344 is used to initiate the process to download, install, and / or otherwise obtain the vacuum application. It should be recognized that user interface 340 can include more, fewer, and / or different content than illustrated in FIG. 6E, such as a “Get Started” button, a “Connect” button, and / or other buttons performing different operations and / or obtaining different information. In some embodiments, the operating system customizes user interface 340 based on information received from the home application or the accessory itself. For example, user interface 340 can include a specific model of the vacuum and / or an indication of the home ecosystem being used. It should be recognized that computer system 300 can initiate the process to download, install, and / or otherwise obtain the vacuum application at other times, such as in response to detecting the input for identifying the accessory as described above with respect to FIG. 3C. In some embodiments, when obtaining the vacuum application at other times, user interface 340 can be skipped.
[0122] At FIG. 3E, computer system 300 detects tap input 305e on button 344. It should be recognized that tap input 305e is an example of a selection input and can be other types of inputs, such as a voice command or an air gesture directed at button 344.
[0123] In some embodiments, in response to detecting tap input 305e and / or obtaining the vacuum application, computer system 600 displays a user interface of the vacuum application. In such embodiments, the user interface can depend on the vacuum application and / or what type of accessory is being added. In particular, different applications and / or different accessories can have a different user interface flow that includes different user374911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) interfaces. Examples of such user interfaces can include content corresponding to installation and / or configuration of the accessory that are required and / or optional to adding the accessory to the home ecosystem. In some embodiments, some steps described as part of adding the accessory to the home ecosystem on user interfaces of the home application, such as allowing the accessory to access a network associated with the home ecosystem, can be instead provided via user interfaces of the vacuum application (e.g., such as on user interfaces illustrated in FIGS. 3E-3G or FIG. 31). Similarly, in some embodiments, some steps described as part of adding the accessory to the home ecosystem on user interfaces of the vacuum application can be instead provided via user interfaces of the home application (such as on user interfaces illustrated in FIGS. 3A-3D, 3H, and / or 3J-3K).
[0124] As illustrated in FIG. 3F, in response to detecting tap input 305e and / or obtaining the vacuum application, computer system 300 displays user interface 348 of the vacuum application. In some embodiments, user interface 348 is a user interface for signing into the vacuum application. As illustrated in FIG. 3F, user interface 348 includes (1) a title (e.g., “Sign in to your vacuum account”), (2) a back button in the top left corner to go back to user interface 340 or user interface 302, and (3) multiple buttons (e.g., button 350, button 352 and button 354) for signing into the vacuum application, each button using a different method for signing in. It should be recognized that user interface 340 is used as an example and that some applications might use more, fewer, and / or different methods and / or might not require a user to sign in and therefore skip user interface 340 altogether.
[0125] In some embodiments, button 350 labeled “Sign in with Device” allows a user to authenticate using one or more credentials stored on and / or associated with computer system 300. For example, the one or more credentials can be for single-sign on (SSO) authentication method that is not tied only to the vacuum application and / or the home application. In some embodiments, button 352 labeled “Sign in with Vacuum Application” allows a user to sign-in with one or more credentials of the vacuum application. For example, the vacuum application (and / or an organization corresponding to the vacuum application, such as a third-party vendor, manufacturer, and / or seller of the accessory) can allow users to directly create accounts with the vacuum application that are only used for the vacuum application. In some embodiments, button 354 labeled “Create Account with Vacuum Application” provides an option for a user to create an account with the vacuum application. In such embodiments, the account created can later be signed in using, for example, button 352.384911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0126] In some embodiments, a selection made at user interface 348 determines a subsequent flow of the process to add the accessory to the home ecosystem. For example, choosing to create a new account (e.g., input 3O5f3) can lead to additional user interfaces for entering and / or submitting user information while choosing to sign in with existing credentials (e.g., input 305f 1 or input 305f2) can lead to different user interfaces for completing a sign-in process (such as through one or more user interfaces of the operating system and / or the vacuum application. In some embodiments, user interface 348 includes an option to skip authentication.
[0127] FIG. 3F illustrates computer system 300 detecting inputs 305fl, 3O5f3 or 3O5f3. It should be recognized that these inputs are examples of selection inputs and can be other types of inputs such as voice commands for authenticating or air gestures directed at the respective buttons. It should also be recognized that only one of these inputs would be detected at a time and that each input would cause a different user interface flow to be used.
[0128] As illustrated in FIG. 3G, in response to signing into the vacuum application, computer system 300 displays user interface 356 of the vacuum application. In some embodiments, user interface 356 is an installation guide for setting up physical components of the vacuum such as a docking station. As illustrated in FIG. 3G, user interface 356 includes button 358 labeled “done”, for completing and / or moving forward with the third- party setup process of the accessory.
[0129] At FIG. 3G, computer system 300 detects tap input 305g on button 358. It should be recognized that tap input 305g is an example of a selection input and can be other inputs, such as a voice command to confirm completion of physical installation or an air gesture directed at button 358.
[0130] As illustrated in FIG. 3H, in response to detecting tap input 305g on button 358, computer system 300 displays user interface 366 of the home application. In some embodiments, user interface 366 is a configuration user interface for configuring a name of the vacuum and in which group that the vacuum should be a part of (e.g., dining room, gym, kitchen, or office).
[0131] As illustrated in FIG. 3H, user interface 366 includes representation 368 of the vacuum with pre-defined and / or placeholder values (e.g., name and / or group assignment) for the vacuum. In some embodiments, user interface 366 includes input field 370 for naming the394911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) vacuum. For example, as illustrated in FIG. 3H, the user entered “Vic” as a name for the vacuum that will replace the default name (such as “Vacuum”) on representations of the vacuum in the home application. In some embodiments, user interface 366 includes areas and / or rooms that were pre-configured on the home application. For example, user interface 366 displays options 372 of preconfigured 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 preconfigured areas and / or rooms are used to group accessories so that such preconfigured areas and / or rooms can be used to show particular sets of accessories. As illustrated in FIG. 3H, user interface 366 includes 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 a new area and / or room that was not pre-configured for the home ecosystem.
[0132] As illustrated in FIG. 6H, user interface 366 includes button 374 labeled “Done” at the top right corner of user interface 366 that allows a user to save configuration selections (e.g., name of vacuum and / or area assignments) and proceed with the process of adding the vacuum to the home ecosystem. It should be recognized that user interface 366 can include more, fewer, and / or different configuration options, such as setting up features of the vacuum, configuring automation rules, and / or linking the vacuum with other accessories and / or devices. In some embodiments, the other configuration options can be based on existing data in the home application about the home ecosystem and / or based on specific features and / or capabilities of the vacuum. In some embodiments, configuration options can be displayed on additional user interfaces different from user interface 366.
[0133] At FIG. 3H, computer system 300 detects tap input 305h on the button 374. It should be recognized that tap input 305h is an example of a selection input and can be other inputs, such as a voice command to confirm configuration selections or an air gesture directed at button 374.
[0134] As illustrated in FIG. 31, after completing configuration selections for adding the vacuum to the home ecosystem, computer system 300 displays user interface 376 of the vacuum application. In some embodiments, this transition back to the vacuum application occurs after determining that additional configuration steps are available on the vacuum application. It should be recognized that user interface 376 is used as an example and that it404911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) can occur before or after user interface 366 in the process for adding the vacuum to the home ecosystem.
[0135] In some embodiments, user interface 376 is a user interface for configuring features of the accessory, such as a cleaning schedule of the vacuum. As illustrated in FIG. 31, user interface 376 includes a view of days of the week with selectable toggles (e.g., 378a- 3781) for each day for allowing a user to set a weekly cleaning schedule for the vacuum. At FIG. 31, a user has unselected Tuesday (e.g., via input 305i2 on toggle 378f), Thursday (e.g., via input 305i3 on toggle 378j) and Friday (e.g., via input 305i4 on toggle 3781), thereby selecting the other four days of the week for the vacuum to perform cleaning in areas and / or rooms of the house that the vacuum is configured with.
[0136] As illustrated in FIG. 31, user interface 376 includes a button 380 labeled “Done” at the top right corner of user interface 376 to save configuration selections, such as the cleaning schedule described with respect to FIG. 31. In some embodiments, data associated with configuration selections submitted on user interface 376 is saved within the vacuum application. In some embodiments, the data associated with configuration selections is sent to the home application to be integrated into the process for adding the vacuum to the home ecosystem. In other embodiments, the data is not shared with the home application. It should be noted that while the example described herein showcases a cleaning schedule configuration, the vacuum application can include other configuration options, such as setting cleaning modes, adjusting power, and / or integrating with other devices. In some embodiments, these other configuration options can be displayed across additional user interfaces of the vacuum application different from user interface 376. In some embodiments, the accessory application can customize configuration options based on information received from the home application about the user’s home ecosystem and / or based on the capabilities of the vacuum.
[0137] At FIG. 31, computer system 300 detects tap input 305i 1 on button 380. It should be recognized that tap input 305i 1 is an example of a selection input and can be other inputs, such as a voice command to save configuration selections or an air gesture directed at button 380.
[0138] As illustrated in FIG. 3 J, in response to detecting tap input 605i 1 , computer system 300 ceases display of user interface 376 and displays user interface 302 of the home414911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) application (e.g., after detecting completion of the process to add the vacuum to the home ecosystem). In some embodiments, user interface 302 displays confirmation user interface 382 with a message indicating successful addition of the vacuum to the home ecosystem. In this example, the message reads “Vic Added to Home” confirming that the vacuum (e.g., named “Vic” by a user in a previous configuration step as described with respect to FIG. 3H) has been successfully added to the home ecosystem. In some embodiments, confirmation user interface 382 includes button 384 labeled “Done” that allows a user to acknowledge completion of the process of adding the vacuum to the home ecosystem and return to user interface 302 of the home application. Additionally, in some embodiments, button 386 labeled “View in Home” is displayed. In response to detecting an input directed to control 386, computer system 300 displays a detailed view of the vacuum in the home application. In some embodiments, confirmation user interface 382 can also include a summary of configuration selections, such as area and / or room assignments and / or cleaning schedule of the vacuum. At this stage, in some embodiments, data associated with configurations set via the home application and / or the vacuum application are now synchronized with the operating system of computer system 300 and / or with other devices in the home ecosystem. It should be recognized that, while confirmation user interface 382 is illustrated on top of user interface 302, confirmation user interface 382 can be displayed on top of whatever user interface was displayed when initiating the process to add the vacuum to the home ecosystem. For example, if the process to add the vacuum to the home ecosystem was initiated from a user interface of a camera application by scanning a QR code, confirmation user interface 382 can be displayed on top of the user interface of the camera application and selection of button 384 can return to the user interface of the camera application.
[0139] At FIG. 3J, computer system 300 detects tap input 305j on button 384. It should be recognized that tap input 305j is an example of a selection input and can be other inputs, such as a voice input of acknowledgement or an air gesture directed at button 384.
[0140] As illustrated in FIG. 3K, after and / or in response to detecting tap input 305j on button 384, computer system 300 re-displays user interface 302 of the home application, such as by dismissing confirmation user interface 382. In some embodiments, user interface 302 now includes representation 388 of the vacuum that was just added to the home ecosystem. In some embodiments, representation 388 of the vacuum is added under an area and / or room that the accessory was assigned to.424911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0141] In some embodiments, representation 388 displays “Vic” as a name for the vacuum (e.g., which was assigned to the vacuum during the configuration process, as described with respect to FIG. 3H). In some embodiments, representation 388 includes status indicators and / or controls of the vacuum. As illustrated in FIG. 3K, representation 388 includes a current status of the vacuum (e.g., “Docked”). In some embodiments, in response to detecting an input corresponding to representation 388, computer system 300 can perform one or more operations with respect to the vacuum. For example, tapping on representation 388 can start a cleaning cycle, pause an ongoing cleaning, and / or send the vacuum to its docking station.
[0142] In some embodiments, the description above with respect to FIGS. 3 A-3K applied to one or more processes described below. For example, process 500 describes a process for an electronic device to commission an accessory device on a first set of one or more security domains. It should be recognized that a security domain of the first set of one or more security domains can be the home ecosystem and that the description above with respect to FIGS. 3A-3K can be used to commission the accessory device on the first set of one or more security domains.
[0143] FIG. 4 is a flow diagram illustrating a process (e.g., process 400) for temporarily installing an application to add an accessory to an ecosystem in accordance with some embodiments. Some operations in process 400 are, optionally, combined, the orders of some operations are, optionally, changed, and some operations are, optionally, omitted.
[0144] As described below, process 400 provides an intuitive way for temporarily installing an application to add an accessory to an ecosystem. Process 400 reduces the cognitive burden on a user, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to interact with such devices faster and more efficiently conserves power and increases the time between battery charges.
[0145] In some embodiments, process 400 is performed at a computer system (e.g., 300) (e.g., an electronic device a resident device, a computer system, a user device, a commissioning device, and / or a controller device) that is in communication with (and / or includes) one or more input devices (e.g., a wireless radio, a port, a camera, a depth sensor, a microphone, a hardware input mechanism, a rotatable input mechanism, a physical input mechanism, a mechanical button, a touch-sensitive button, a button, a crown, a knob, a dial, a434911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) physical slider, an accelerometer, a mouse, a keyboard, a touchpad, and / or a touch-sensitive surface). In some embodiments, the electronic device is a watch, a phone, a tablet, a fitness tracking device, a processor, a head-mounted display (HMD) device, a communal device, a media device, a speaker, a television, and / or a personal computing device.
[0146] The computer system detects (402), via the one or more input devices, an input (e.g., 305a, 305b, and / or an input as described with respect to FIG. 3C) corresponding to a request to add an accessory device (e.g., an accessory device as described with respect to and / or as illustrated in FIGS. 3C-3K) (e.g., a device configured to be controlled by one or more other devices) to an ecosystem (e.g., an ecosystem as described with respect to FIG. 3 A and / or FIG. 3K) (e.g., a software framework that manages and / or controls one or more devices and / or computer systems) corresponding to (and / or of) a first application (e.g., corresponding to 302) (e.g., of the computer system). In some embodiments, the input is a message, a tap input, and / or an indication of presence and / or proximity of the accessory device. In some embodiments, the ecosystem corresponds to a security domain (e.g., as described below with respect to process 400 and / or CS2). In some embodiments, after adding the accessory device to the ecosystem, the computer system is able to obtain a status of and / or control the accessory device via the ecosystem and / or the 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 display, a television, a light, a lock, a security system, a speaker, an appliance, and / or a thermostat.
[0147] In response to detecting the input corresponding to the request to add the accessory device to the ecosystem, the computer system initiates (404) a process (e.g., a process as described with respect to and / or illustrated in FIGS. 3C-3 J) to add the accessory device to the ecosystem, wherein the process to add the accessory device to the ecosystem includes: (406) in accordance with a determination that a second application (e.g., corresponding to 340, 348, 346, and / or 376) is not installed (and / or downloaded) on the computer system, initiating a process to install (and / or download) the second application, wherein the second application corresponds to the accessory device, and wherein the second application is different from the first application; and in accordance with (408) a determination that the second application is installed (and / or downloaded) on the computer system, forgoing (e.g., as described above with respect to FIG. 3E) initiation of the process to install (and / or download) the second application. In some embodiments, the process to install444911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)(and / or download) the second application includes displaying one or more user interfaces to download and / or install the second application. In some embodiments, the process to install (and / or download) the second application does not include displaying the one or more user interfaces to download and / or install the second application. In some embodiments, the process to install (and / or download) the 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 to add the accessory device to the ecosystem includes configuring the accessory device to communicate via a network, 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, the process to add the accessory device to the ecosystem includes configuring the accessory device with a name and / or an area in which the accessory device is located.
[0148] After installing the second application as part of the process to add the accessory device to the ecosystem and in accordance with a determination that a set of one or more automatic removal criteria is satisfied (e.g., an amount of time has expired since installing and / or interacting with the second application), the computer system removes (410) (e.g., uninstalls, deletes, automatically removes, and / or otherwise gets rid of) (e.g., as described above with respect to FIG. 3E) the second application (e.g., from being installed on the computer system) without detecting a user input to remove the second application. In some embodiments, after installing the second application as part of the process to add the accessory device to the ecosystem and in accordance with a determination that the set of one or more automatic removal criteria is not satisfied, the computer system maintains installation of the second application on the computer system. In some embodiments, after adding the accessory device to the ecosystem and in accordance with a determination that the second application was installed and / or downloaded outside of the process to add the accessory device to the ecosystem, the computer system does not remove the second application unless the computer system receives a user input to remove the second application.
[0149] In some embodiments, the computer system is in communication with (and / or includes) one or more display generation components (e.g., a display screen, a projector, a head mounted display, and / or a touch-sensitive display). In some embodiments, in response to installing the second application (and / or as part of the process to add the accessory device to the ecosystem), the computer system displays, via the one or more display generation454911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) components, a user interface (e.g., 348) of the second application. In some embodiments, the user interface of the second application includes a user interface element for logging into an account of the second application. In some embodiments, the user interface of the second application includes a user interface element for creating an account of the second application. In some embodiments, the user interface of the second application includes a user interface element for configuring the accessory device (e.g., information and / or one or more settings corresponding to the accessory device).
[0150] In some embodiments, the computer system is in communication with (and / or includes) one or more display generation components (e.g., a display screen, a projector, a head mounted display, and / or a touch-sensitive display). In some embodiments, the input is detected while displaying, via the one or more display generation components, a user interface of a third application (e.g., a camera application, an operating system, and / or other application as described above with respect to FIG. 3C) different from the second application (e.g., without displaying a user interface of the second application and / or a user interface of the first application).
[0151] In some embodiments, the third application is part of an operating system (e.g., as described above with respect to FIG. 3C) of the computer system. In some embodiments, the third application is a system process of the operating system.
[0152] In some embodiments, the third application (e.g., corresponding to 302) is the first application.
[0153] In some embodiments, the accessory device is a first accessory device. In some embodiments, after detecting the input corresponding to the request to add the first accessory device to the ecosystem of the first application, the computer system detects, via the one or more input devices, an input corresponding to a request to add a second accessory device (e.g., an accessory device as described with respect to and / or as illustrated in FIGS. 3C-3K) (e.g., a device configured to be controlled by one or more other devices) to the ecosystem corresponding to the first application, wherein the second accessory device is different from the first accessory device. In some embodiments, the input corresponding to the request to add the second accessory device is a message, a tap input, and / or an indication of presence and / or proximity of the second accessory device. In some embodiments, after adding the second accessory device to the ecosystem, the computer system is able to obtain a status of464911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) and / or control the second accessory device via the ecosystem and / or the first application (e.g., as described with respect to FIG. 3K). In some embodiments, the second accessory device is a display, a television, a light, a lock, a security system, a speaker, an appliance, and / or a thermostat. In some embodiments, in response to detecting the input corresponding to the 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., a process as described with respect to and / or illustrated in FIGS. 3C-3 J), wherein the process to add the second accessory device to the ecosystem includes: in accordance with a determination that a fourth application (e.g., as described about with respect to different applications for different accessories using a similar process as described for the vacuum) is not installed (and / or downloaded) on the computer system, initiating a process to install (and / or download) the fourth application (e.g., while the second application is installed on the computer system or while the second application is not installed on the computer system), wherein the fourth applications 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 in accordance with a determination that the fourth application is installed (and / or downloaded) on the computer system, forgoing initiation (e.g., as described about with respect to different applications for different accessories using a similar process as described for the vacuum) of the process to install (and / or download) the second application. In some embodiments, the process to install (and / or download) the fourth application includes displaying one or more user interfaces to download and / or install the fourth application. In some embodiments, the process to install (and / or download) the fourth application does not include displaying the one or more user interfaces to download and / or install the fourth application. In some embodiments, the process to install (and / or download) the fourth application includes obtaining permission from a user of the computer system to download and / or install the fourth application. In some embodiments, the fourth application is unrelated to the second application. In some embodiments, the fourth application is not associated with the second application. In some embodiments, the fourth application is specific to an organization that is separate from an organization that is specific to the second application. In some embodiments, the process to add the second accessory device to the ecosystem includes configuring the second accessory device to communicate via the network. In some embodiments, the process to add the second accessory device to the ecosystem includes configuring the second accessory device with a name and / or an area in which the second accessory device is located. In some embodiments, after installing the fourth application as474911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) part of the process to add the second accessory device to the ecosystem and in accordance with a determination that the set of one or more automatic removal criteria is satisfied (e.g., an amount of time has expired since installing and / or interacting with the fourth application), the computer system removes (e.g., uninstalls, deletes, automatically removes, and / or otherwise gets rid of) (e.g., as described about with respect to different applications for different accessories using a similar process as described for the vacuum) the fourth application without detecting a user input to remove the fourth application. In some embodiments, after installing the fourth application as part of the process to add the second accessory device to the ecosystem and in accordance with a determination that the set of one or more automatic removal criteria is not satisfied, the computer system maintains installation of the fourth application on the computer system. In some embodiments, after adding the second accessory device to the ecosystem and in accordance with a determination that the fourth application was installed and / or downloaded outside of the process to add the second accessory device to the ecosystem, the computer system does not remove the fourth application unless the computer system receives a user input to remove the fourth application.
[0154] In some embodiments, the computer system is in communication with (and / or includes) one or more display generation components (e.g., a display screen, a projector, a head mounted display, and / or a touch-sensitive display). In some embodiments, the input corresponding to the request to add the accessory device to the ecosystem is detected while displaying, via the one or more display generation components, a user interface (e.g., 330). In some embodiments, in response to detecting the accessory device in proximity to the computer system, the computer system displays, via the one or more display generation components, the user interface. In some embodiments, the accessory device is detected in proximity to the computer system via a wireless communication. In some embodiments, the accessory device is detected in proximity to the computer system via a near-field communication (NFC). In some embodiments, the accessory device is detected in proximity to the computer system via ultra-wideband (UWB) communication. In some embodiments, the input corresponding to the request to add the accessory device to the ecosystem is a determination that the accessory device is in proximity to the computer system (e.g., as described with respect to FIG. 3C).
[0155] In some embodiments, the computer system is in communication with (and / or includes) one or more display generation components (e.g., a display screen, a projector, a484911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) head mounted display, and / or a touch-sensitive display). In some embodiments, the input corresponding to the request to add the accessory device to the ecosystem is detected while displaying, via the one or more display generation components, a user interface (e.g., 330). In some embodiments, in response to scanning a Quick Response (QR) code (e.g., as described with respect to and / or illustrated in FIG. 3C), the computer system displays, via the one or more display generation components, the user interface. In some embodiments, the input corresponding to the request to add the accessory device to the ecosystem is scanning the QR code (e.g., as described with respect to and / or illustrated in FIG. 3C).
[0156] In some embodiments, the process to add the accessory device to the ecosystem includes: connecting (and / or causes connection of) the accessory device to a network (e.g., as described with respect to FIG. 3D) (e.g., an Internet network, a cellular network, a wired network, a wireless network, a WiFi network, and / or a Thread network). In some embodiments, the accessory device is connected to the network via a user interface (e.g., 334) of the first application. In some embodiments, the accessory device is connected to the network via a user interface of the second application. In some embodiments, the accessory device is connected to the network via a user interface of the third application.
[0157] In some embodiments, before removing the second application, the second application is not added to a list of applications installed on the computer system after installing the second application as part of the process to add the accessory device to the ecosystem (e.g., the second application is installed but not added to the list of applications installed on the computer system) (e.g., as described with respect to FIG. 3E).
[0158] In some embodiments, the second application is installed without entering a credential (e.g., a password, a passkey, and / or biometric information). In some embodiments, the computer system detects, via the one or more inputs devices, an input (e.g., a tap input and / or a voice request) corresponding to a request to install (and / or download) a fifth application (e.g., a full application as described above with respect to FIG. 3E) different from the first application and the second application (and / or the third application 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 a portion of the second application. In some embodiments, the fifth application is a temporary application of the second application (e.g., as described with respect to FIG. 3E). In some embodiments, the494911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) second application is a non-temporary application of the fifth application. In some embodiments, in response to detecting the input corresponding to the request to install the fifth application, the computer system requests (and / or requires) one or more credentials (e.g., a password, a passkey, and / or biometric information) to be provided to allow the fifth application to be installed (e.g., as sometimes required to install a full application as opposed to a lighter weight application). In some embodiments, requesting one or more credentials to be provided to allow the fifth application to be installed includes displaying an authentication user interface to authenticate a user.
[0159] In some embodiments, the computer system is in communication with (and / or includes) one or more display generation components (e.g., a display screen, a projector, a head mounted display, and / or a touch-sensitive display). In some embodiments, after (and / or in response to) adding the accessory device to the ecosystem, the computer system displays, via the one or more display generation components, a user interface (e.g., 302) of the first application (and / or the ecosystem), wherein the user interface includes a current status (e.g., of 388 and / or as described with respect to and / or illustrated in FIG. 3K) (e.g., a state, such as on, off, and / or a power level) of the accessory device. In some embodiments, the current status of the accessory device is obtained by the computer system communicating with the accessory device.
[0160] In some embodiments, the user interface of the first application includes a control (e.g., a control in 388 and / or as described with respect to FIG. 3K) (e.g., a virtual button, slider, and / or other type of user interface element that is able to be used to change a state of the accessory device) corresponding to the accessory device. In some embodiments, while displaying the user interface of the first application and the control corresponding to the accessory device, the computer system detects, via the one or more input devices, an input (e.g., a tap input, a selection input, and / or a movement input) corresponding to the control (e.g., an input as described with respect to FIG. 3K). In some embodiments, in response to detecting the input corresponding to the control, the computer system changes a state of the accessory device in accordance with (and / or based on) the input corresponding to the control. In some embodiments, changing the state of the accessory device in accordance with the input corresponding to the control includes turning the accessory device on or off.
[0161] In some embodiments, the process to add the accessory device to the ecosystem includes: in accordance with a determination that the second application is not logged into at504911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) least one account, automatically creating, using a credential (e.g., username and / or password) of (e.g., stored on, associated with, corresponding to, and / or accessible by) the computer system, an account with the second application. In some embodiments, the account is created without detecting an input corresponding to selection of the credential. In some embodiments, in response to automatically creating the account with the second application, the computer system logs into the account for the second application without detecting user input.
[0162] In some embodiments, the computer system is in communication with (and / or includes) one or more display generation components (e.g., a display screen, a projector, a head mounted display, and / or a touch-sensitive display). In some embodiments, the process to add the accessory device to the ecosystem includes concurrently displaying, via the one or more display generation components (e.g., as described with respect to and / or illustrated in FIG. 3F): a first option (e.g., 350) to log into the second application using a credential (e.g., username and / or password) of (e.g., stored on, associated with, corresponding to, and / or accessible by) the computer system; and In some embodiments, in response to detecting, via the one or more input devices, an input (e.g., a tap input and / or a voice request) corresponding to the first option, the computer system automatically creates an account for the second application using the credential of the computer system. In some embodiments, the account for the second application is created without detecting an input corresponding to selection of the credential, a second option (e.g., 352), separate from the first option, to log into an account of the second application. In some embodiments, in response to detecting, via the one or more input devices, an input (e.g., a tap input and / or a voice request) corresponding to the second option, the computer system displays, via the one or more display generation components, one or more text entry fields for entering a username and / or a password for an account of the second application. In some embodiments, after entering the username and / or the password, the computer system logs into an account using the username and / or the password. In some embodiments, the process to add the accessory device to the ecosystem includes displaying, via the one or more display generation components, a third option, separate from the first option and the second option, to create an account for the second application (e.g., while displaying the first option and / or the second option or without displaying the first option and / or the second option).
[0163] In some embodiments, the process to add the accessory device to the ecosystem includes: detecting, via the one or more input devices, an input (e.g., an input corresponding514911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) to 370, 372a, 372b, 372c, or 372d) (e.g., typed input, a tap input, and / or a voice request) corresponding to a request to assign an attribute (e.g., a name and / or a location) to the accessory device; and in response to detecting the input corresponding to the request to assign the attribute (e.g., an attribute corresponding to 368, 370, 372a-e, and / or 388) to the accessory device, assigning the attribute to the accessory device such that the attribute affects 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 the location) (e.g., as described with respect to and / or illustrated in FIG. 3H and / or FIG. 3K).
[0164] In some embodiments, the attribute (e.g., an attribute corresponding to 368, 370, 372a-e, and / or 388) is assigned to the accessory device via the first application (e.g., and not via the second application).
[0165] In some embodiments, the attribute (e.g., an attribute corresponding to 368, 370, 372a-e, and / or 388) is assigned to the accessory device via the second application (e.g., and not via the first application) (e.g., as described with respect to FIG. 3G).
[0166] In some embodiments, the computer system is in communication with (and / or includes) one or more display generation components (e.g., a display screen, a projector, a head mounted display, and / or a touch-sensitive display). In some embodiments, the process to add the accessory device to the ecosystem includes displaying, via the one or more display generation components, a user interface (e.g., 302, 366, or 382) of the first application. In some embodiments, the user interface of the first application includes a user interface element (e.g., 350) for logging into an account of the first application. In some embodiments, the user interface of the first application includes a user interface element for creating an account of the first application. In some embodiments, the user interface of the first application includes a user interface element for configuring the accessory device (e.g., information and / or one or more settings corresponding to the accessory device).
[0167] In some embodiments, the user interface of the first application is displayed before initiating the process to install the second application (e.g., as described with respect to and / or illustrated in FIGS. 3A-3B).
[0168] In some embodiments, the user interface of the first application is displayed after initiating the process to install the second application (and / or after installing the second524911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) application and / or after displaying one or more user interfaces of the second application) (e.g., as described with respect to and / or illustrated in FIGS. 3C-3E, FIG. 3H, and / or FIGS. 3J-3K).
[0169] Note that details of the processes described above with respect to process 400 (e.g., FIG. 4) are also applicable in an analogous manner to other processes described herein. For example, process 500 optionally includes one or more of the characteristics of the various processes described above with reference to process 400. For example, the commissioning of process 500 can include adding the accessory device to the ecosystem of process 400. For brevity, these details are not repeated herein.
[0170] FIG. 5 is a flow diagram illustrating a process (e.g., process 500) for commissioning an accessory by an installer device in accordance with some embodiments. Some operations in process 500 are, optionally, combined, the orders of some operations are, optionally, changed, and some operations are, optionally, omitted.
[0171] As described below, process 500 provides an intuitive way for commissioning an accessory by an installer device. Process 500 reduces the cognitive burden on a user, thereby creating a more efficient human -machine interface. For battery-operated computing devices, enabling a user to interact with such devices faster and more efficiently conserves power and increases the time between battery charges.
[0172] In some embodiments, process 500 is performed at an electronic device (e.g., computer system 300) (e.g., an installer device, an installation device, a computer system, a user device, a commissioning device, and / or a controller device). In some embodiments, the electronic device is a watch, a phone, a tablet, a fitness tracking device, a processor, a headmounted display (HMD) device, a communal device, a media device, a speaker, a television, and / or a personal computing device.
[0173] The electronic device pairs (502) (e.g., as described with respect to FIGS. 3C-3D) with an accessory device (e.g., an accessory device as described with respect to and / or as illustrated in FIGS. 3C-3K) (e.g., a device configured to be controlled by one or more other devices). In some embodiments, pairing with the accessory device (e.g., as described with respect to FIG. 3E) includes establishing a connection and / or exchanging information, such as information used to communicate, information used to communicate privately, and / or information to validate communications from each device. In some embodiments, pairing534911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) with the accessory device includes registering the electronic device with the accessory device and / or the accessory device with the electronic device. In some embodiments, before pairing with the accessory device, the accessory device advertises itself. In such embodiments, the electronic device detects the accessory device advertising and, in response and / or after, initiates a pairing process with the accessory device. In some embodiments, pairing with the accessory device includes establishing one or more keys to be used for communicating between the electronic device and the accessory device. In some embodiments, the accessory device is a display, a television, a light, a lock, a security system, a speaker, an appliance, and / or a thermostat.
[0174] After pairing with the accessory device (and / or while communicating with or while not communicating with the accessory device), the electronic device commissions (504) (e.g., provisions, adds, registers, and / or establishes) the accessory device on a first set of one or more security domains (e.g., as described with respect to and / or illustrated in FIGS. 3J-3K) (e.g., fabrics, secure communication networks, and / or groups). In some embodiments, commissioning the accessory device on the 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., each security domain included in the first set of one or more security domains). In some embodiments, commissioning the accessory device on the first set of one or more security domains includes configuring the accessory device to communicate (e.g., with the electronic device and / or one or more other devices) using a network (sometimes referred to as an operational network), such as an Internet network, a cellular network, a wired network, a wireless network, a WiFi network, and / or a Thread network. In other embodiments, before commissioning the accessory device on the first set of one or more security domains, the electronic devices configure the accessory device to communicate using the network. In some embodiments, the electronic device, after commissioning, communicates with the accessory device using the network. In some embodiments, commissioning the accessory device on the first set of one or more security domains includes discovering the accessory device on the network and establishing a connection with the accessory device. In other embodiments, before commissioning the accessory device on the first set of one or more security domains, the electronic devices discover the accessory device on the network and establishes the connection with the accessory device. In some embodiments, commissioning the accessory device on a single security domain includes providing, to the accessory device, one or more credentials to be used by the accessory device to communicate with other devices in the544911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) single security domain. In some embodiments, the first set of one or more security domains includes an installer domain (e.g., a temporary domain used to recommission the accessory device to another security domain), an administrative domain (e.g., a domain that is used to coordinate addition of other security domains), and / or one or more ecosystem-specific domains (e.g., a domain specific to an application and / or a company). In some embodiments, the first set of one or more security domains corresponds to, is administered by, is controlled by, is associated with, and / or is owned by the electronic device.
[0175] After commissioning the accessory device on the first set of one or more security domains, the electronic device sends (506), to the accessory device (e.g., via one or more networks that the accessory device gained access while commissioning the accessory device on the first set of one or more security domains), a request to enter into a recommissioning mode (and / or a commissioning mode). In some embodiments, the accessory device is in the commissioning mode when the electronic device commissions the accessory device on the first set of one or more security domains.
[0176] After (508) sending the request to enter into the recommissioning mode (and / or while the accessory device is in the recommissioning mode or the commissioning mode), the electronic device receives (510), from the accessory device, recommissioning data. In some embodiments, the recommissioning data includes a code (e.g., a pairing code and / or a commissioning code, such as an Enhanced Commissioning Method (ECM) code) used by a device to commission the accessory device on one or more security domains. In some embodiments, the code used to recommission is different from a code used to commission.
[0177] After (508) sending the request to enter into the recommissioning mode, the electronic device causes (512), via a resident device (e.g., an electronic device, a computer system, a user device, a commissioning device, and / or a controller device) different from the accessory device and the electronic device, the accessory device to be recommissioned on a second set of one or more security domains using the recommissioning data, 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, the accessory device, and / or the electronic device communicate via a single network or multiple networks. In some embodiments, the resident device is not commissioned on the first set of one or more security domains while causing the accessory device to be recommissioned on the second set of one or more security domains. In some embodiments, the first set of one or more security554911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) 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 a security domain 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 a security domain included in the first set of one or more security domains. In some embodiments, causing the accessory device to be recommissioned on the second set of one or more security domains using the recommissioning data includes sending, to the resident device, the recommissioning data. In some embodiments, the recommissioning data is sent from the resident device to the accessory device as part of and / or to recommission the accessory device. In some embodiments, the resident device is an electronic device and / or computer system that is on a network in a home that includes the accessory device. In some embodiments, the resident device is a watch, a phone, a tablet, a fitness tracking device, a processor, a head-mounted display (HMD) device, a communal device, a media device, a speaker, a television, and / or a 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 administered by, is controlled by, is associated with, and / or is owned by the resident device (e.g., and not the electronic device).
[0178] In some embodiments, before causing, via the resident device, the accessory device to be recommissioned on the second set of one or more security domains, 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). In some embodiments, while connected to the network, the electronic device obtains, via the network an address of the resident device. In some embodiments, the address is an Internet Protocol (IP) address. In some embodiments, after obtaining the address of the resident device (and / or while connected to the network), the electronic device connects, using the address (e.g., via the network), to a local server (and / or a port) of the resident device (e.g., establishes, using the address, a TCP connection with the local server), wherein the electronic device communicates with the resident device via the local server (and / or the port) to cause564911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) the accessory device to be recommissioned on the second set of one or more security domains. In some embodiments, causing the accessory device to be recommissioned on the second set of one or more security domains includes sending, via the local server, the recommissioning data to the resident device. In some embodiments, instead of connecting to the local server, the electronic device sends, using the address, the recommissioning data to the resident device.
[0179] In some embodiments, before pairing with the accessory device, the electronic device receives, from the resident device, connection information (e.g., network information, one or more credentials, an address, a local server address, an IP address, WiFi information, Bluetooth information, software enabled access point (SoftAP) information, and / or Thread information), wherein the electronic device communicates with the accessory device to commission the accessory device on the first set of one or more security domains using the connection information. In some embodiments, the connection information is for communicating with (e.g., sending a message to, establishing a connection with, and / or establishing a communication channel with) the resident device. In some embodiments, the connection information is for communicating with (e.g., sending a message to, establishing a connection with, and / or establishing a communication channel with) the accessory device. In some embodiments, the connection information is for communicating 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, commissioning the accessory device on the first set of one or more security domains includes communicating, using the connection information as an address (e.g., of the resident device), data to commission the accessory device. In some embodiments, commissioning the accessory device on the first set of one or more security domains includes establishing, using the connection information as an address, a connection (e.g., to a network, the resident device, and / or the accessory device) to commission the accessory device. In some embodiments, the connection information is received via a wireless communication (e.g., a short range wireless communication (e.g., NFC and / or Bluetooth) and / or a long range wireless communication) from the resident device. In some embodiments, the connection information is received by scanning a QR code (e.g., a physical QR code or a digital QR code) of the resident device. In some embodiments, the electronic device communicates with the accessory device to recommission the accessory device on the second set of one or more security domains using the connection information. In some embodiments, the electronic574911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) device communicates with the resident device to recommission the accessory device on the second set of one or more security domains using the connection information.
[0180] In some embodiments, after commissioning the accessory device on the first set of one or more security domains, the electronic device changes, using the connection information (e.g., via a communication channel established using the connection information or via sending a command to an address included in the connection information), a state of the accessory device (and / or controls, using the connection information, the accessory device) (e.g., as described with respect to FIG. 3K). In some embodiments, the state of the accessory device is changed in response to the electronic device detecting, via one or more input components (e.g., a camera, a depth sensor, a microphone, a hardware input mechanism, a rotatable input mechanism, a physical input mechanism, a mechanical button, a touch-sensitive button, a button, a crown, a knob, a dial, a physical slider, an accelerometer, a mouse, a keyboard, a touchpad, and / or a touch-sensitive surface) of the electronic device, an input corresponding to a request to change the state of the accessory device. In some embodiments, the input, corresponding to the request to change the state of the accessory device, includes a tap input on a control being displayed by the electronic device. In some embodiments, the input, corresponding to the request to change the state of the accessory device, includes a verbal request to change the state of the accessory device.
[0181] In some embodiments, after pairing with the accessory device, the electronic device receives, from the resident device, connection information (e.g., network information, one or more credentials, an address, a local server address, an IP address, WiFi information, Bluetooth information, software enabled access point (SoftAP) information, and / or Thread information) (e.g., as described above with respect to FIG. 3D), wherein the electronic device communicates with the accessory device to recommission the accessory device on the second set of one or more security domains using the connection information. In some embodiments, the electronic device communicates, using the connection information, with the resident device to cause the accessory device to be recommissioned on the second set of one or more security domains. In some embodiments, the connection information is for communicating with (e.g., sending a message to, establishing a connection with, and / or establishing a communication channel with) the resident device. In some embodiments, the connection information is for communicating with (e.g., sending a message to, establishing a connection with, and / or establishing a communication channel with) the accessory device. In some584911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) embodiments, the connection information is for communicating 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, causing the accessory device to be recommissioned on the first set of one or more security domains includes communicating, using the connection information as an address (e.g., of the resident device), data (e.g., the recommissioning data) to recommission the accessory device. In some embodiments, causing the accessory device to be recommissioned on the first set of one or more security domains includes establishing, using the connection information as an address, a connection (e.g., to a network, the resident device, and / or the accessory device) to recommission the accessory device. In some embodiments, the connection information is received via a wireless communication (e.g., a short-range wireless communication (e.g., NFC and / or Bluetooth) and / or a long-range wireless communication) from the resident device. In some embodiments, the connection information is received by scanning a QR code (e.g., a physical QR code or a digital QR code) of the resident device.
[0182] In some embodiments, after commissioning the accessory device on the first set of one or more security domains, the electronic device changes, using connection information (e.g., via a communication channel established using the connection information or via sending a command to an address included in the connection information) (e.g., a WiFi network as described with respect to FIG. 3D) obtained during the commissioning, a state of the accessory device (and / or controls, using the connection information, the accessory device). In some embodiments, the state of the accessory device is changed in response to the electronic device detecting, via one or more input components (e.g., a camera, a depth sensor, a microphone, a hardware input mechanism, a rotatable input mechanism, a physical input mechanism, a mechanical button, a touch-sensitive button, a button, a crown, a knob, a dial, a physical slider, an accelerometer, a mouse, a keyboard, a touchpad, and / or a touch-sensitive surface) of the electronic device, an input corresponding to a request to change the state of the accessory device. In some embodiments, the input, corresponding to the request to change the state of the accessory device, includes a tap input on a control being displayed by the electronic device. In some embodiments, the input, corresponding to the request to change the state of the accessory device, includes a verbal request to change the state of the accessory device.594911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0183] In some embodiments, pairing with the accessory device includes scanning, via one or more cameras of the electronic device, a machine-readable code (e.g., a Quick Response code or a barcode) (e.g., as described with respect to FIG. 3C between 300 and the vacuum). In some embodiments, the machine-readable code is scanned to obtain connection information and / or one or more credentials to be used to pair with the accessory device.
[0184] In some embodiments, pairing with the accessory device includes communicating, via a wireless communication (e.g., near-field communication (NFC) and / or Bluetooth beaconing) with the accessory device (e.g., as described with respect to FIG. 3C).
[0185] In some embodiments, commissioning the accessory device (e.g., as described with respect to and / or as illustrated in FIGS. 3 A-3K) on the first set of one or more security domains includes communicating, via a wireless communication (e.g., a network communication, a Bluetooth communication, a WiFi communication, a Thread communication, NFC and / or Bluetooth beaconing) (e.g., as described above with respect to FIG. 3D), with the accessory device. In some embodiments, commissioning the accessory device on the first set of one or more security domains includes communicating, via the wireless communication or another wireless communication different from the wireless communication, with the resident device.
[0186] In some embodiments, before causing the accessory device to be recommissioned on the second set of one or more security domains (and / or before pairing with the accessory device), the electronic device receives, from the resident device, a list of pre-configured groups of accessory devices (e.g., a list of rooms and / or zones). In some embodiments, after receiving the list of pre-configured groups of accessory devices and as a part of commissioning the accessory device on the first set of one or more security domains, the electronic device configures the accessory device to be included in a group of the list of preconfigured groups of accessory devices.
[0187] In some embodiments, before causing the accessory device to be recommissioned on the second set of one or more security domains (and / or before pairing with the accessory device), the electronic device receives, from the resident device, a list of pre-configured groups of accessory devices (e.g., a list of rooms and / or zones). In some embodiments, after receiving the list of pre-configured groups of accessory devices and as a part of commissioning the accessory device on the first set of one or more security domains, the604911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) electronic device configures the accessory device to be included in a group that is not included in the list of preconfigured groups of accessory devices. In some embodiments, the group is generated, identified, and / or configured by the electronic device. In some embodiments, the accessory device is configured to be included in the group in response to the electronic device detecting, via one or more input components (e.g., a camera, a depth sensor, a microphone, a hardware input mechanism, a rotatable input mechanism, a physical input mechanism, a mechanical button, a touch-sensitive button, a button, a crown, a knob, a dial, a physical slider, an accelerometer, a mouse, a keyboard, a touchpad, and / or a touch- sensitive surface) of the electronic device, an input corresponding to a request to configure the accessory device to be included in the group that is not included in the list of preconfigured groups of accessory devices. In some embodiments, the input, corresponding to the request to configure the accessory device to be included in the group that is not included in the list of preconfigured groups of accessory devices, includes a tap input on a control being displayed by the electronic device. In some embodiments, the input, corresponding to the request to configure the accessory device to be included in the group that is not included in the list of preconfigured groups of accessory devices, includes a verbal request to add the accessory device to the group.
[0188] In some embodiments, causing the accessory device to be recommissioned on the second set of one or more security domains includes sending, to the resident device, a request to recommission the accessory device. In some embodiments, the request to recommission the accessory device includes an identification (and / or indication) of the group.
[0189] In some embodiments, after (and / or in response to) causing the accessory device to be recommissioned on the second set of one or more security domains (and / or without detecting user input corresponding to a request to remove access), the electronic device removes access to the accessory device by the electronic device (e.g., after removing access to the accessory device, the electronic device is no longer able to obtain a status of the accessory device and / or control the accessory device). In some embodiments, access to the accessory device is removed without detecting user input. In some embodiments, access to the accessory device is removed in response to detecting user input corresponding to a request to remove access to the accessory device.
[0190] In some embodiments, the recommissioning data includes a commissioning code that is used to validate the resident device to the accessory device when recommissioning the614911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) accessory device. In some embodiments, the commissioning code is received by the electronic device from the accessory device.
[0191] In some embodiments, after commissioning the accessory device on the first set of one or more security domains and before causing the accessory device to be recommissioning on the second set of one or more security domains, the electronic device establishes (e.g., via the resident device) an automation with the accessory device such that the accessory device is configured to perform one or more operations (e.g., turn on at a particular time, turn off at a particular, change states at a particular time, and / or change states in response to detecting a particular event) according to the automation. In some embodiments, the automation is maintained after causing the accessory device to be recommissioning on the second set of one or more security domains. In some embodiments, the automation is established in response to detecting, via one or more input components (e.g., a camera, a depth sensor, a microphone, a hardware input mechanism, a rotatable input mechanism, a physical input mechanism, a mechanical button, a touch-sensitive button, a button, a crown, a knob, a dial, a physical slider, an accelerometer, a mouse, a keyboard, a touchpad, and / or a touch-sensitive surface) of the electronic device, an input corresponding to a request to establish the automation with the accessory device. In some embodiments, the input, corresponding to the request to establish the automation with the accessory device, includes a tap input on a control being displayed by the electronic device. In some embodiments, the input, corresponding to the request to establish the automation with the accessory device, includes a verbal request to establish the automation with the accessory device.
[0192] In some embodiments, the electronic device is a first electronic device. In some embodiments, the electronic device pairs (e.g., before, after, and / or while pairing and / or paired with the first accessory device) with a second accessory device (e.g., a device configured to be controlled by one or more other devices), wherein the second accessory device is separate (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 used to communicate, information used to communicate privately, and / or information to validate communications from each device. In some embodiments, pairing with the second accessory device includes registering the electronic device with the second accessory device and / or the second accessory device with the electronic device. In some embodiments, before pairing with the624911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) second accessory device, the second accessory device advertises itself. In such embodiments, the electronic device detects the second accessory device advertising and, in response and / or after, initiates a pairing process with the second accessory device. In some embodiments, pairing with the second accessory device includes establishing one or more keys to be used for communicating between the electronic device and the second accessory device. In some embodiments, the second accessory device is a display, a television, a light, a lock, a security system, a speaker, an appliance, and / or a thermostat. In some embodiments, after pairing with the second accessory device (and / or while communicating with or while not communicating with the second accessory device), the electronic device commissions (e.g., provisions, adds, registers, and / or establishes) the second accessory device on a third set of one or more security domains (e.g., fabrics, secure communication networks, and / or groups) different from the first set of one or more security domains. In some embodiments, commissioning the second accessory device on the third set of one or more security domains includes registering the second accessory device on the third set of one or more security domains (e.g., each security domain included in the third set of one or more security domains). In some embodiments, commissioning the second accessory device on the third set of one or more security domains includes configuring the second accessory device to communicate (e.g., with the electronic device and / or one or more other devices) using the network. In other embodiments, before commissioning the second accessory device on the third set of one or more security domains, the electronic device configures the second accessory device to communicate using the network. In some embodiments, the electronic device, after commissioning, communicates with the second accessory device using the network. In some embodiments, commissioning the second accessory device on the third set of one or more security domains includes discovering the second accessory device on the network and establishing a connection with the second accessory device. In other embodiments, before commissioning the second accessory device on the third set of one or more security domains, the electronic device discovers the second accessory device on the network and establishes the connection with the second accessory device. In some embodiments, commissioning the second accessory device on a single security domain includes providing, to the second accessory device, one or more credentials to be used by the second accessory device to communicate with other devices in the single security domain. In some embodiments, the third set of one or more security domains includes an installer domain (e.g., a temporary domain used to recommission the second accessory device to another security domain), an administrative domain (e.g., a domain that is used to coordinate addition of other security634911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) domains), and / or one or more ecosystem-specific domains (e.g., a domain specific to an application and / or a company). In some embodiments, the third set of one or more security domains corresponds to, is administered by, is controlled by, is associated with, and / or is owned by the electronic device. In some embodiments, the third set of one or more security domains includes at least one security domain of the first 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 of the third set of one or more security domains. In some embodiments, the third set of one or more security domains does not include a security domain of the first set of one or more security domains. In some embodiments, the first set of one or more security domains does not include a security domain of the third set of one or more security domains. In some embodiments, the third set of one or more security domains is determined based on a type of accessory device that the second accessory device is. In some embodiments, the first set of one or more security domains is determined based on a type of accessory device that the first accessory device is. In some embodiments, after pairing with the second accessory device (and / or while communicating with or while not communicating with the second accessory device), the electronic device, in accordance with a determination that the second accessory device is a first type (e.g., a light, a fan, a camera, a power monitor, a type of accessory device determined to relate to security, a type of accessory device determined to not relate to security, a type of accessory device determined to relate to power usage, and / or a type of accessory device determined to not relate to power usage), commissions (e.g., provisions, adds, registers, and / or establishes) the second accessory device on the first set of one or more security domains. In some embodiments, after pairing with the second accessory device (and / or while communicating with or while not communicating with the second accessory device), the electronic device, in accordance with a determination that the second accessory device is a second type (e.g., a light, a fan, a camera, a power monitor, a type of accessory device determined to relate to security, a type of accessory device determined to not relate to security, a type of accessory device determined to relate to power usage, and / or a type of accessory device determined to not relate to power usage), commissions (e.g., provisions, adds, registers, and / or establishes) the second accessory device on the third set of one or more security domains. In some embodiments, the second type is different from the first type. In some embodiments, after commissioning the second accessory device on the third set of one or more security domains, the electronic device sends, to the second accessory device (e.g., via one or more networks that the second accessory device gained access while commissioning the second accessory device on the third set of one or644911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) more security domains), a request to enter into a recommissioning mode (and / or a commissioning mode); and In some embodiments, the second accessory device is in the commissioning mode when the electronic device commissions the second accessory device on the third set of one or more security domains. In some embodiments, the recommissioning data is first recommissioning data. In some embodiments, after sending, to the second accessory device, the request to enter into the recommissioning mode (and / or while the second accessory device is in the recommissioning mode or the commissioning mode), the electronic device receives, from the second accessory device, second recommissioning data (e.g., the same as or different from the first recommissioning data). In some embodiments, the second recommissioning data includes a code (e.g., a pairing code and / or a commissioning code, such as an Enhanced Commissioning Method (ECM) code) used by a device to commission the second accessory device on one or more security domains. In some embodiments, the code used to recommission is different from a code used to commission. In some embodiments, after sending, to the second accessory device, the request to enter into the recommissioning mode (and / or while the second accessory device is in the recommissioning mode or the commissioning mode), the electronic device causes, via the resident device, the second accessory device to be recommissioned on the second set of one or more security domains using the second recommissioning data. 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 commissioned on the third set of one or more security domains while causing the second accessory device to be recommissioned on the second set of one or more security domains. In some embodiments, the third 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 third 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 third set of one or more security domains. In some embodiments, the third set of one or more security domains does not include a security domain 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 a security domain included in the third set of one or more security domains. In some embodiments, causing the second accessory device to be recommissioned on the second set of one or more security domains using the second recommissioning data includes sending, to the resident device, the second recommissioning654911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) data. In some embodiments, the second recommissioning data is sent from the resident device to the second accessory device as part of and / or to recommission 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 embodiments, the second set of one or more security domains include multiple security domains. In some embodiments, the multiple security domains include a first security domain and a second security domain different from the first security domain. In some embodiments, the first security domain uses a first set of one or more credentials for communicating. In some embodiments, the second security domain uses a second set of one or more credentials communicating. In some embodiments, the second set of one or more credentials is different from the first set of one or more credentials. In some embodiments, the first set of one or more security domain consists of a single security domain. In some embodiments, the first set of one or more security domains include multiple security domains, each with a different set of one or more credentials.
[0194] In some embodiments, commissioning the accessory device on the first set of one or more security domains includes naming the accessory device (e.g., assigns a default or custom name to the accessory device) (e.g., as described with respect to FIG. 3H). In some embodiments, naming the accessory device includes detecting, via one or more input components (e.g., a camera, a depth sensor, a microphone, a hardware input mechanism, a rotatable input mechanism, a physical input mechanism, a mechanical button, a touch- sensitive button, a button, a crown, a knob, a dial, a physical slider, an accelerometer, a mouse, a keyboard, a touchpad, and / or a touch-sensitive surface) of the electronic device, an input includes (1) a name for the accessory device and / or (2) a request for assigning the name to the accessory device. In some embodiments, the input, including the name for the accessory device, includes typed input and / or a verbal input detected by the electronic device (e.g., as described with respect to FIG. 3H).
[0195] Note that details of the processes described above with respect to process 500 (e.g., FIG. 5) are also applicable in an analogous manner to other processes described herein. For example, process 600 optionally includes one or more of the characteristics of the various processes described above with reference to process 500. For example, the electronic device of process 500 can be the installer device of process 600. For brevity, these details are not repeated herein.664911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0196] FIG. 6 is a flow diagram illustrating a process (e.g., process 600) for commissioning an accessory by a resident device in accordance with some embodiments. Some operations in process 600 are, optionally, combined, the orders of some operations are, optionally, changed, and some operations are, optionally, omitted.
[0197] As described below, process 600 provides an intuitive way for commissioning an accessory by a resident device. Process 600 reduces the cognitive burden on a user, thereby creating a more efficient human -machine interface. For battery-operated computing devices, enabling a user to interact with such devices faster and more efficiently conserves power and increases the time between battery charges.
[0198] In some embodiments, process 600 is performed at an electronic device (e.g., a resident device, a computer system, a user device, a commissioning device, and / or a controller device). In some embodiments, the electronic device is a watch, a phone, a tablet, a fitness tracking device, a processor, a head-mounted display (HMD) device, a communal device, a media device, a speaker, a television, and / or a personal computing device.
[0199] The electronic device receives (602), from an installer device (e.g., an installation device, an electronic device, a computer system, a user device, a commissioning device, and / or a controller device) (e.g., 300), a request to commission an accessory device (e.g., an accessory device as described with respect to and / or as illustrated in FIGS. 3C-3K) (e.g., a device configured to be controlled by one or more other devices), wherein the request to commission the accessory device includes connection information (e.g., a code, a credential, an identifier, a name, and / or address information) corresponding to the accessory device, 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, a television, a light, a lock, a security system, a speaker, an appliance, and / or a thermostat. In some embodiments, the request to commission the accessory device is sent as a part of causing the accessory device to be recommissioned on the second set of one or more security domains using the recommissioning data as described above with respect to process 500. In some embodiments, the accessory device is commissioned on one or more security domains (e.g., as described above with respect to the first set of one or more security domains of process 500) while the electronic device receives the request to commission the accessory device.674911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0200] In response to (604) receiving the request to commission the accessory device, the electronic device establishes (606), with the accessory device, a connection using the connection information (and / or communicates with the accessory device). 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 on the network before receiving the request to commission the 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 the connection using the connection information includes identifying, using the connection information, the accessory device on the network and / or communicating, via the network, with the accessory device.
[0201] In response to (604) receiving the request to commission the accessory device, the electronic device commissions (608) (e.g., provisions, adds, registers, and / or establishes), using the connection, the accessory device on a set of one or more security domains (e.g., fabrics, secure communication networks, and / or groups). In some embodiments, commissioning 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., each security domain included in the set of one or more security domains). In some embodiments, the electronic device, after commissioning, communicates with the accessory device using the network. In some embodiments, commissioning the accessory device on a single security domain includes providing, to the accessory device, 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 an administrative domain (e.g., a domain that is used to coordinate addition of other security domains) and / or one or more ecosystem-specific domains (e.g., a domain specific to an application and / or a company). In some embodiments, the set of one or more security domains corresponds to, is administered by, is controlled by, is associated with, and / or is owned by the electronic device.
[0202] Note that details of the processes described above with respect to process 600 (e.g., FIG. 6) are also applicable in an analogous manner to the processes described herein. For example, process 500 optionally includes one or more of the characteristics of the various processes described herein with reference to process 600. For example, the electronic device684911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) of process 600 can be the resident device of process 500. For brevity, these details are not repeated herein.
[0203] FIGS. 7-10 illustrate exemplary processes for configuring and managing a home accessory ecosystem in accordance with some embodiments. The processes in these figures are used to illustrate the processes described above, including the processes in FIGS. 5 and 6.
[0204] In some embodiments, the processes of FIGS. 7-10 enable a move-in-ready home ecosystem by pre-configuring fabrics and commissioning accessory devices on the fabrics without requiring a homeowner to individually install and / or or configure the accessory devices. In such embodiments, a fabric can represents a security domain, such as a collection of one or more configurations including a set of accessory device configurations, network infrastructure, and / or communication protocols that can be used for controlling accessory devices. For example, a fabric can maintain a set of credentials to validate communication between devices (e.g., an installer device, a resident device, and / or an accessory device), such as exchange of keys, certificates, and / or other security data, for secure communication between devices and the fabric.
[0205] FIG. 7 illustrates a diagram of an exemplary process for an installation phase of a home accessory ecosystem in accordance with some embodiments. It should be recognized that, while process 700 is described as a series of discrete steps, one or more steps of process 700 can be omitted, performed in a different order, combined, and / or further subdivided. Process 700 includes use of a device referred to as a resident device. In some embodiments, the resident device is a device that manages and / or coordinates the home accessory ecosystem for an environment, such as a home, an office, and / or a defined space. In such embodiments, the resident device can serve as a central hub for the home accessory ecosystem, acting as a router and providing a user interface for controlling accessory devices. In some embodiments, the resident device is capable of direct control of accessory devices, executing automations, and / or processing user commands for controlling the accessory devices while other devices are required to use the resident device for such operations. Examples of the resident device include a motorized smart display, a wall-mounted smart display, a control panel, a networked appliance, a multi -protocol bridge device, an accessory device, a media player, and / or a home management system.694911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0206] Process 700 begins with installing (702) the resident device. In some embodiments, installing the resident device includes physically placing the resident device in a central and / or accessible location within the environment and / or connecting the resident device to power. In some embodiments, installing the resident device includes mounting the resident device on a mount, such as a wall mount, a motorized mount with wheels, and / or a robotic base. In some embodiments, installing the resident device includes assembling multiple components of the resident device, such as attaching a display screen to a base unit and / or connecting modular parts of the resident device. In some embodiments, installing the resident device includes connecting the resident 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 resident 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 the one or more networks (such as a WiFi network as an example), the resident device can create a new network (such as a Thread network as an example) that allows Thread-enabled accessory devices to communicate with the resident device and / or with each other. In such an example, the resident device (e.g., as a Thread border router) can facilitate communication between the Thread-enabled accessory devices and one or more controller devices using other network protocols, such as Wi-Fi, to allow a controller device to interact with the Thread-enabled accessory devices even if the controller device does not support Thread. It should be recognized that Thread is just one example of a network protocol used by the resident device and that other network protocols can be used, such as Bluetooth, WiFi, cellular, and / or a wired connection. It should also be recognized that the resident device can communicate with different accessory devices with different network protocols depending on a capability of the different accessory devices.
[0207] In some embodiments, as part of installing the resident device or after installing the resident device, the resident device establishes a local server. In some embodiments, the local server (1) is a software component running directly on the resident device and (2) provides services and / or enables communication with the resident device. In other embodiments, the local server is implemented as a web server that handles TCP connections such as HTTP requests. In some embodiments, communication with the local server happens within physical boundaries of a local area network of a home, such that any device attempting to communicate with the local server must be physically present and connected to the same local area network as the resident device. In some embodiments, the local server provides704911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) security benefits by ensuring that installation and / or commissioning processes cannot be accessed or interfered with from outside one or more local networks. In some embodiments, the local server provides a standardized way for many types of installer devices to interact with the resident device without requiring specific operating systems and / or user accounts.
[0208] After installing the resident device, process 700 includes entering (704) an installer mode on the resident device. In some embodiments, the installer mode allows an installer device (e.g., a device to initially configure one or more accessory devices, the device being a personal device of a person) and / or the resident device to set up the home accessory ecosystem and / or interact with the resident device. In such embodiments, the installer device can pair with the resident device to enter into or as part of the installer mode.
[0209] In some embodiments, the installer mode is activated in response to the resident device detecting an input, such as a button press, a voice command, an option in a settings menu of the resident device, and / or an air gesture. In such embodiments, in response to or after detecting the input, the resident device can pair with the installer device to communicate information between the resident device and the installer device in a secure manner. For example, the resident device can present a QR code that includes connection information (e.g., WiFi data, Bluetooth data, and / or Thread data) that the installer device can scan to establish a connection with the resident device. In another example, the resident device can initiate a Bluetooth advertisement that includes connection information to enable pairing. After scanning the QR code or detecting the Bluetooth advertisement, the installer device can pair with the resident device (e.g., through a handshake such as via an exchange of keys) and / or establish a communication channel with the local server of the resident device using the connection information. In some embodiments, in response to or after detecting the input, the installer device connects to a network address of the resident device to establish a TCP connection with the local server of the resident device. In such embodiments, the local server can be communicated with via one of multiple communication methods, such as WiFi, a software enabled access point (SoftAP), or Bluetooth. In some embodiments, the installer device maintains connection with the local server of the resident device throughout steps of process 700. In some embodiments, the local server provides the installer device with information needed for setup of one or more accessory devices, such as Thread credentials, WiFi network information, Bluetooth credentials, and / or a list of security credentials. In some embodiments, the installer device uses this information to set up an installer fabric and / or714911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) prepare for further accessory commissioning as further described below with respect to FIG. 8. In some embodiments, entering the installer mode, pairing with the installer device, and / or communicating between the installer device and / or the resident device requires authentication, such as a passcode and / or biometric verification for verifying an authorized installer.
[0210] After and / or in response to the resident device entering the installer mode, process 700 includes initializing (706) one or more home fabrics. In some embodiments, multiple home fabrics are initialized at 706. For example, the resident device can initialize an administrative fabric for coordinating removal, addition, and / or modification of one or more other home fabrics, an ecosystem-specific fabric that is a specific to an accessory device ecosystem, and / or an operation-specific fabric for specific accessory device functions, such as a power fabric that can be used to manage accessory devices with manageable power consumption.
[0211] After initializing the one or more home fabrics, process 700 includes setting up (708) rooms and zones. For example, the installer can define different rooms and / or zones of a home, such as “Living Room” and / or “Kitchen,” within the resident device. In some embodiments, zones can be created to group multiple rooms and / or areas together, such as “Upstairs” or “Outdoor.” For example, the installer can create a “Downstairs” zone that includes a living room, kitchen, and / or a dining room. In some embodiments, the resident device stores zone and / or room information that can be accessed by installers and / or homeowners during future accessory installations via the resident device. It should be recognized that other settings can be configured with respect to the home, such as names of networks, passwords, and / or limitations.
[0212] After rooms and / or zones are set up, process 700 includes uninstalling (710) the resident device. This optional step can be taken as a security measure to protect the resident device from damage, theft, and / or unauthorized access. For example, the resident device can be removed from a mount and / or be stored in a secure location until following phases of the home accessory ecosystem setup process take place, as described below with respect to FIGS. 8, 9 and / or 10. In some embodiments, uninstalling the resident device includes powering down, disconnecting from power sources, and / or physically removing the resident device from an installed location. In some embodiments, uninstalling the resident device does not724911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) erase the one or more home fabrics and / or the zone and / or room information to allow for continuation of processes when the resident device is reinstalled.
[0213] FIG. 8 illustrates a diagram of an exemplary process for a construction phase of a home accessory ecosystem in accordance with some embodiments. It should be recognized that, while process 800 is described as a series of discrete steps, one or more steps of process 800 can be omitted, performed in a different order, combined, and / or further subdivided. Process 800 includes use of a resident device (e.g., as described above with respect to FIG. 7) and a device referred to as an installer device. In some embodiments, the installer device is (1) separate from the resident device and (2) a device that configures one or more accessory devices with respect to the home accessory ecosystem for an environment, such as a home, an office, and / or a defined space. Examples of the installer device include a watch, a phone, a tablet, a fitness tracking device, a processor, a head-mounted display (HMD) device, a communal device, a media device, a speaker, a television, an electronic device, and / or a personal computing device.
[0214] Process 800 begins with installing (802) the resident device. In some embodiments, the resident device is installed similarly to as described above with respect to 702 of FIG. 7. After installing the resident device, process 800 includes entering (804) the resident device into an installer mode. In some embodiments, the resident device enters the installer mode similarly to as described above with respect to 704 of FIG. 7.
[0215] After the resident device enters the installer mode, process 800 proceeds with initiating (806) one or more installer fabrics (e.g., at least partially separate and / or distinct from the one or more home fabrics described above with respect to process 700). In some embodiments, an installer fabric is established on and / or via the installer device and represents a temporary collection of configurations, such as including 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 one or more accessory devices before transferring the one or more accessory devices to one or more home fabrics (e.g., such as described above with respect to FIG. 7). In some embodiments, multiple home fabrics are initialized at 806. For example, the installer device can initialize an administrative fabric for coordinating removal, addition, and / or modification of one or more other installer fabrics, an ecosystem-specific fabric that is a specific to an accessory device ecosystem, and / or an operation-specific fabric for specific accessory device functions, such as a power fabric that734911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) can be used to manage accessory devices with manageable power consumption. In some embodiments, initiating the installer fabric 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 fabric can use Wi-Fi, Thread, and / or other wireless communication for connecting with one or more accessory devices. In some embodiments, the installer device can connect to a local server running on the resident device and / or pair with the resident device by scanning a QR code and / or detecting a Bluetooth advertisement as described above with respect to process 700. In some embodiments, the local server of the resident device provides information such as Thread, Bluetooth, Wi-Fi credentials, and / or a list of pre-configured zones and / or rooms. In some embodiments, the installer device can use this information to set up the one or more installer fabrics and / or prepare for further accessory commissioning.
[0216] After initiating the one or more installer fabrics, process 800 includes installing (808) an accessory device (e.g., a smart light, thermostat, door lock, and / or camera). In some embodiments, installing the accessory device includes placing the accessory device within physical boundaries of a 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 can be installed, including different accessory devices compatible with different ecosystems and / or network protocols.
[0217] After the accessory device is installed, process 800 includes commissioning (810) the accessory device to the installer fabric. In some embodiments, commissioning the accessory device includes the installer device establishing a secure connection and / or pairing with the accessory device. For example, the installer device can scan a QR code displayed on the accessory device that contains pairing information. For another example, the installer device and the accessory device can use near-field communication (NFC) to establish a connection. For another example, the accessory device can advertise presence via Bluetooth to allow the installer device to detect and establish a Bluetooth pairing. For another example, in cases where automated methods are not available, the accessory device can display a pairing code that can be manually entered into the installer device. Once paired, the installer device proceeds to commission the accessory device onto the one or more installer fabrics. In some embodiments, the installer device uses network information previously obtained from a744911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) local server (e.g., as described above with respect to process 700) of the resident device to help establish this connection. For example, the installer device can provide the accessory device with WiFi or Thread network credentials to allow the accessory device to join a home network. In some embodiments, the installer device then establishes necessary security credentials for the accessory device to operate within the one or more installer fabrics.
[0218] In some embodiments, the installer device commissions multiple accessories in succession on at least one of the one or more installer fabrics without needing to interact with the resident device between each commissioning. In other embodiments, after commissioning an accessory device onto the installer fabric, the installer device notifies and / or synchronizes with the resident device on a newly commissioned accessory device, including information to later recommission the accessory device onto one or more home fabrics (e.g., as described above with respect to process 700).
[0219] After commissioning the accessory device onto the installer fabric, process 800 includes configuring (812) the accessory device. In some embodiments, configuring the accessory device can include setting up accessory device-specific features, assigning unique identifiers, and / or updating device firmware. For example, the installer device can set initial parameters for the accessory device, such as brightness levels for a smart light, temperature thresholds for a thermostat, and / or sensitivity settings for a motion sensor.
[0220] After configuring the accessory device, process 800 includes assigning (814) accessory device to a room or a zone. This step can leverage pre-configured zone and / or room information stored on the resident device that were added during the installation phase as described above with respect to 708. In some embodiments, new rooms and / or zones can be added to the installer fabric at 814. In some embodiments, assigning the accessory device to a room or zone helps organize accessory devices logically within the home accessory ecosystem and / or enables room-based or zone-based controls and automations. In some embodiments, the installer device can access a pre-defined list of zones and / or rooms via an installer application on the installer device that is in communication with the resident device. When assigning an accessory to a room or zone, the installer device can select from the predefined list of options defined during the resident device setup or by adding a room or zone. For example, if a smart light switch is being installed in the kitchen, the installer device can assign it to a “Kitchen” room. Similarly, if a thermostat is being installed to control an754911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) upstairs area, the thermostat can be assigned to an “Upstairs” zone that can include multiple rooms.
[0221] After the accessory device is assigned to a zone and / or a room, process 800 includes setting up (816) automations and scenes for the accessory device. For example, the installer can create automations such as turning on a light at sunset and / or adjusting a thermostat based on occupancy and / or a time of day. In some embodiments, scenes can be set up to control multiple accessory devices simultaneously, such as a “Good Morning” scene that opens blinds, turns on lights, and / or starts a coffee maker. In some embodiments, automations and / or scenes are initially set up on at least one of the one or more installer fabrics and can be transferred to at least one of the one or more home fabrics in a later step as further described below. In some embodiments, one or more automations and / or scenes are set up on the home fabric (e.g., after 820) in addition to or instead of as described with respect to 816 above.
[0222] After setting up automations and scenes, process 800 includes validating (818) the accessory device. In some embodiments, validating the accessory device includes checking network connectivity, verifying sensor readings, and / or confirming that the accessory device can respond to commands. For example, the installer device can test one or more accessory devices on at least one of the one or more installer fabrics.
[0223] After the accessory device is validated, process 800 includes transferring (820) the one or more installer fabrics to the one or more home fabrics. In some embodiments, the installer device uses the local server connection and / or pairing with the resident device, as described above with respect to FIG. 7, to initiate transfer of accessory devices from the one or more installer fabrics to the one or more home fabrics. In some embodiments, the transfer is initiated by exchanging a commissioning and / or recommissioning code and / or other recommissioning data from the accessory device to the installer device to the resident device and back to the accessory device. In some embodiments, the local server remains active during the entire installation process and allows the installer device to recommission multiple accessories in succession while maintaining a single connection to the resident device. As part of transferring the one or more installer fabrics to the one or more home fabrics, the resident device initiates a recommissioning process to add accessory devices to the one or more home fabrics. In some embodiments, the recommissioning process begins with the installer device sending a request to an accessory device to enter recommissioning mode.764911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)After receiving the request, the accessory device generates and returns recommissioning data that includes an Enhanced Commissioning Method (ECM) code. The installer device then transmits the recommissioning 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 execute recommissioning of the accessory device onto the one or more home fabrics. In some embodiments, in the case of recommissioning multiple accessory devices from the one or more installer fabrics onto the one or more home fabrics, the installer device transfers accessory devices in separate requests or batch transfers multiple accessory devices in a single request.
[0224] In some embodiments, transfer of an accessory device from the one or more installer fabrics to the one or more home fabrics includes reassigning network addresses, updating security credentials, and / or verifying transferred information, such as an accessory device name, identifier, zone and / or room assignments, and / or configurations. In some embodiments, setup and / or configuration parameters are maintained while securely transitioning an accessory device to the one or more home fabrics. In some embodiments, after successful transfer, process 800 implements an eviction policy. In such embodiments, the eviction policy can automatically remove an association of the installer device with one or more accessory devices and / or allow the installer device to initiate a completion action that removes access of the installer device to one or more accessory device. At this point, an accessory device that was originally commissioned on the one or more installer fabrics has been successfully transferred to the one or more home fabrics associated with the resident device. In some embodiments, the resident device can now directly control the accessory device. In some embodiments, transfer can be repeated for different accessories and / or can support multi-fabric accessory devices, where one or more accessory devices might need to be recommissioned to one or more additional fabrics, such as a separate energy management system, alongside the one or more home fabrics.
[0225] After transferring the accessory device from the one or more installer fabrics to the one or more home fabrics, process 800 includes validating (822) the accessory device on at least one of the one or more home fabrics. For example, an installer can perform a comprehensive check of transferred accessory devices, configurations such as assigned zones and / or rooms, and / or proper functionality of automations and scenes. In some embodiments, validating the accessory device at 822 ensures that the one or more home fabrics include all774911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) accessories and / or configurations transferred from the one or more installer fabrics and / or that the one or more home fabrics are functioning as intended for homeowner use.
[0226] After validating the accessory device on the one or more home fabrics, process 800 includes uninstalling (824) the resident device. In some embodiments, uninstalling the resident device is taken as a security measure to protect the resident device from damage and / or theft, and / or protect the home fabric from unauthorized access during a remainder of a construction and / or renovation process. For example, the resident device can be removed from a mount and stored in a secure location until a next phase of the home accessory ecosystem setup process is initiated, as described further below with respect to FIGS. 9 and / or 10. In some embodiments, uninstalling the resident device includes powering down, disconnecting from power sources, and / or physically removing the resident device from an installed location.
[0227] It should be recognized that while one installer device is described above, multiple different installer devices can be used with techniques described herein, each different installer device transferring different accessories on the same one or more installer fabrics and / or different accessories on different installer fabrics to the one or more home fabrics.
[0228] FIG. 9 illustrates a diagram of an exemplary process for an operation phase of a home accessory ecosystem in accordance with some embodiments. It should be recognized that, while process 900 is described as a series of discrete steps, one or more steps of process 900 can be omitted, performed in a different order, combined, and / or further subdivided. Process 900 includes use of a resident device (e.g., as described above with respect to FIGS. 7-8).
[0229] Process 900 begins with installing (902) the resident device. In some embodiments, the resident device is installed similarly to as described above with respect to 702 of FIG. 7 and / or 802 of FIG. 8.
[0230] After installing the resident device, process 900 includes enabling (904) a standalone mode. In some embodiments, the standalone mode allows the resident device to operate independently without requiring communication to external servers, applications, and / or devices, such as an installer device (e.g., as described above with respect to FIG. 8). For example, in the standalone mode, the resident device can manage local control of accessory devices, execute automations, and / or process user commands via the one or more 784911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) home fabrics that were preconfigured on the resident device. In some embodiments, the standalone mode is activated in response to the resident device detecting an input, such as a button presses, a voice command, an option in a settings menu of the resident device, and / or an air gesture.
[0231] After the standalone mode is enabled, process 900 includes controlling (906) an accessory device. For example, the resident device can send one or more commands to the accessory device, receive status updates from the accessory device, and / or execute automations and / or scenes set up during the construction phase for the accessory device (e.g., as described above with respect to FIG. 8). In some embodiments, controlling the accessory device includes responding to user input detected via the resident device and / or user input detected via another device, such as a mobile device, connected to the resident device and / or to a home network. In such embodiments, the other device can pair and / or open a communication channel with the resident device to control the accessory device via the resident device using the one or more home fabrics without requiring input detected via the resident device itself. For example, a user can command the resident device to turn on lights in a specific room, adjust a thermostat, and / or activate a predefined scene. For another example, a user can open a home application on the other device that displays a status of the accessory device, such as real-time energy consumption from power monitoring accessories and / or a current state of a light. The home application can communicate these commands to the resident device and, then, the resident device executes the commands by communicating with the accessory device.
[0232] After controlling the accessory device, process 900 includes uninstalling (908) the resident device. In some embodiments, this step can be executed when the home accessory ecosystem needs to be reconfigured, when the resident device needs to be replaced, and / or when a home is being prepared for a new occupant. For example, the resident device can be removed from a mount and / or stored away. In some embodiments, uninstalling the resident device includes powering down, disconnecting from power sources, and / or physically removing the resident device from an installed location. In some embodiments, uninstalling the resident device includes removing data related to one or more installer fabrics and / or one or more home fabrics to protect user and / or home data privacy.
[0233] FIG. 10 illustrates a diagram of an exemplary process for a transfer phase of a home accessory ecosystem in accordance with some embodiments. It should be recognized794911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) that, while process 1000 is described as a series of discrete steps, one or more steps of process 800 can be omitted, performed in a different order, combined, and / or further subdivided. Process 800 includes use of a resident device (e.g., as described above with respect to FIGS. 7-9).
[0234] Process 1000 begins with installing (1002) the resident device. In some embodiments, the resident device is installed similarly to as described above with respect to 702 of FIG. 7, 802 of FIG. 8, and / or 902 of FIG. 9.
[0235] After installing the resident device, process 1000 includes enrolling (1004) the resident device. For example, the resident device is enrolled in response to the resident device or a personal device in communication with the resident device detecting an input, such as a button press, a voice command, an option in a settings menu, and / or an air gesture. In some embodiments, enrolling 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 occupant can enroll the resident device to a personal account for controlling the home accessory ecosystem. In some embodiments, enrolling the resident device 1004 includes restoring and / or reactivating one or more home fabrics (e.g., as described above with respect to FIGS. 7-9) on the resident device and / or assigning authorization to the one or more home fabrics to a new user, such as the new occupant. In some embodiments, when a new user is being added to the one or more home fabrics, the resident device initiates a process to add one or more devices of the new user to the one or more home fabrics. In some embodiments, different users are granted different levels of access. For example, a primary user can have access to an administrative fabric while other users might be restricted to specific fabrics and / or have limited control capabilities of the administrative fabric. In some embodiments, when multiple users are enrolled, the resident device maintains separate security credentials for each user while ensuring all enrolled users can access and control one or more accessory devices included in the one or more home fabrics according to their assigned permissions. In some embodiments, the resident device supports addition of temporary users, such as guests and / or maintenance personnel, with time and / or security limited access to specific fabrics. It should be recognized that enrolling the resident device can involve additional sub-steps such as network configuration, account specific user authentication steps, and / or restoration of previous settings.804911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0236] After enrollment of the resident device, process 1000 includes controlling (1006) an accessory device. For example, the resident device can send commands to the accessory device, receive status updates from the accessory device, and / or execute automations and / or scenes that were previously set up for the accessory device as described above with respect to FIGS. 7 and / or 8. In some embodiments, controlling the accessory device includes responding to user inputs detected via the resident device and / or user inputs detected via a user device, such as a mobile device, connected to the resident device and / or a home network.
[0237] In some embodiments, a new occupant uses a home application on their mobile device to control and / or display a status of the accessory device. In such embodiments, the resident device can act as a secure intermediary that ensures commands and / or status requests are authenticated using security permissions granted during enrollment. In some embodiments, through the home application, the new occupant monitors aspects of the home accessory ecosystem, such as viewing security camera feeds, door lock statuses, and / or monitoring temperature settings across different zones and / or rooms. In such embodiments, the home application can send these requests to the resident device that then retrieves information from one or more accessory devices and returns statuses back to the home application. For another example, the new occupant can use their device to send commands to control accessory devices that are routed through the resident device. The device of the new occupant sends the command to the resident device that then communicates with one or more appropriate accessory using security permissions established during enrollment. For example, the new occupant can send a command 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 command on behalf of the device of the new occupant.
[0238] In some embodiments, process 1000 can include additional steps not illustrated in FIG. 10, such as reconfiguring accessory devices, updating automations and / or scenes to suit preferences of a new occupant, and / or performing a system-wide check to ensure all components of the home accessory ecosystem are functioning correctly. For example, after enrolling the resident device, a new occupant can customize existing scenes and / or create new scenes.
[0239] In some embodiments, the accessory device is a first accessory device. In some embodiments, the connection information is first connection information. In some embodiments, the electronic device receives (e.g., before, after, or while commissioning the814911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) first accessory device on the set of one or more security domains and / or before or after receiving the request to commission the first accessory device), from the installer device, a request to commission a second accessory device(e.g., an accessory device as described with respect to and / or as illustrated in FIGS. 3C-3K) (e.g., a device configured to be controlled by one or more other devices), wherein the request to commission the second accessory device includes second connection information (e.g., a code, a credential, an identifier, a 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, a television, a light, a lock, a security system, a speaker, an appliance, and / or a thermostat. In some embodiments, the request to commission the second accessory device is sent as a part of causing the accessory device to be recommissioned on the second set of one or more security domains using the recommissioning data as described above with respect to process 500. In some embodiments, the second accessory device is commissioned on one or more security domains (e.g., as described above with respect to the first set of one or more security domains of process 500) while the electronic device receives the request to commission the second accessory device. In some embodiments, the second connection information is the same as or different from the first connection information. In some embodiments, in response to receiving the request to commission the second accessory device, the electronic device establishes, with the second accessory device, a connection using the second connection information (and / or communicates with the second accessory device). 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 on the network before receiving the request to commission 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 the connection using the second connection information includes identifying, using the second connection information, the second accessory device on the network and / or communicating, via the network, with the second accessory device. In some embodiments, in response to receiving the request to commission the second accessory device, the electronic device Commissions (e.g., provisions, adds, registers, and / or establishes), using the second connection, the second accessory device on the set of one or more security domains. In some embodiments, commissioning the second accessory device824911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) on the set of one or more security domains includes registering the second accessory device on the set of one or more security domains (e.g., each security domain included in the set of one or more security domains). In some embodiments, the electronic device, after commissioning, communicates with the second accessory device using the network. In some embodiments, commissioning the second accessory device on a single security domain includes providing, to the second accessory device, 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 embodiments, the accessory device is a first accessory device. In some embodiments, the connection information is first connection information. In some embodiments, the installer device is a first installer device. In some embodiments, the electronic device receives (e.g., before, after, or while commissioning the first accessory device on the set of one or more security domains and / or before or after receiving the request to commission the first accessory device), from a second installer device (e.g., an installation device, an electronic device, a computer system, a user device, a commissioning device, and / or a controller device), a request to commission a third accessory device(e.g., an accessory device as described with respect to and / or as illustrated in FIGS. 3C-3K) (e.g., a device configured to be controlled by one or more other devices), wherein the request to commission the third accessory device includes third connection information (e.g., a code, a credential, an identifier, a 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, a television, a light, a lock, a security system, a speaker, an appliance, and / or a thermostat. In some embodiments, the request to commission the third accessory device is sent as a part of causing the accessory device to be recommissioned on the second set of one or more security domains using the recommissioning data as described above with respect to process 500. In some embodiments, the third accessory device is commissioned on one or more security domains (e.g., as described above with respect to the first set of one or more security domains of process 500) while the electronic device receives the request to commission the third accessory device. In some embodiments, the third connection information is the same as or different from the first connection information and / or the second connection information. In some embodiments, in response to receiving the834911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) request to commission the third accessory device, the electronic device establishes, with the third accessory device, a connection using the third connection information (and / or communicates 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 on the network before receiving the request to commission 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 the connection using the third connection information includes identifying, using the third connection information, the third accessory device on the network and / or communicating, via the network, with the third accessory device. In some embodiments, in response to receiving the request to commission the third accessory device, the electronic device commissions (e.g., provisions, adds, registers, and / or establishes), using the third connection, the third accessory device on the set of one or more security domains. In some embodiments, commissioning the third accessory device on the set of one or more security domains includes registering the third accessory device on the set of one or more security domains (e.g., each security domain included in the set of one or more security domains). In some embodiments, the electronic device, after commissioning, communicates with the third accessory device using the network. In some embodiments, commissioning the third accessory device on a single security domain includes providing, to the third accessory device, 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 embodiments, the accessory device is a first accessory device. In some embodiments, the connection information is first connection information. In some embodiments, the set of one or more security domains is a first set of one or more security domains. In some embodiments, the electronic device receives (e.g., before, after, or while commissioning the first accessory device on the first set of one or more security domains and / or before or after receiving the request to commission the first accessory device), from the installer device, a request to commission a fourth accessory device(e.g., an accessory device as described with respect to and / or as illustrated in FIGS. 3C-3K) (e.g., a device configured to be controlled by one or more other devices), wherein the request to commission the fourth accessory device includes fourth connection information (e.g., a code, a credential, an identifier, a name, and / or address information) corresponding to the fourth accessory844911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) device, wherein the fourth accessory device is different from the installer device, the electronic device, and the first accessory device (and / or the second accessory device and / or the third accessory device). In some embodiments, the fourth accessory device is a display, a television, a light, a lock, a security system, a speaker, an appliance, and / or a thermostat. In some embodiments, the request to commission the fourth accessory device is sent as a part of causing the accessory device to be recommissioned on the second set of one or more security domains using the recommissioning data as described above with respect to process 500. In some embodiments, the fourth accessory device is commissioned on one or more security domains (e.g., as described above with respect to the first set of one or more security domains of process 500) while the electronic device receives the request to commission the fourth accessory device. In some embodiments, the fourth connection information is 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 the request to commission the fourth accessory device, the electronic device establishes, with the fourth accessory device, a connection using the fourth connection information (and / or communicates with the fourth accessory device). 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 on the network before receiving the request to commission the fourth 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 the connection using the fourth connection information includes identifying, using the fourth connection information, the fourth accessory device on the network and / or communicating, via the network, with the fourth accessory device. In some embodiments, in response to receiving the request to commission the fourth accessory device, the electronic device commissions (e.g., provisions, adds, registers, and / or establishes), using the fourth connection, the fourth accessory device on a second set of one or more security domains (e.g., fabrics, secure communication networks, and / or groups) different from the first set of one or more security domains. In some embodiments, commissioning the fourth accessory device on the second set of one or more security domains includes registering the fourth accessory device on the second set of one or more security domains (e.g., each security domain included in the second set of one or more security domains). In some embodiments, the electronic device, after commissioning, communicates with the fourth accessory device854911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) using the network. In some embodiments, commissioning the fourth accessory device on a single security domain includes providing, to the fourth accessory device, one or more credentials to be used by the fourth accessory device to communicate with other devices in the single security domain. In some embodiments, the second set of one or more security domains includes an administrative domain (e.g., a domain that is used to coordinate addition of other security domains) and / or one or more ecosystem-specific domains (e.g., a domain specific to an application and / or a company). In some embodiments, the second set of one or more security domains corresponds to, is administered by, is controlled by, is associated with, and / or is owned by the electronic device. In some embodiments, 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 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 second set of one or more security domains does not include a security domain 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 a security domain included in the second set of one or more security domains.
[0242] In some embodiments, before receiving the request to commission the accessory device, 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). In some embodiments, before receiving the request to commission the accessory device, the electronic device establishes (e.g., brings up, starts, initiates, and / or activates) a local server (and / or a port) on the electronic device (e.g., for communicating with one or more devices, such as the installer device). In some embodiments, while connected to the network, after establishing the local server, and before receiving the request to commission the accessory device, the electronic device connects, via the local server, to the installer device (e.g., establishes a TCP connection with the installer device using the local server), wherein the request to commission the accessory device is received by the electronic device via the local server (and / or the port). In some embodiments, instead of receiving the request to commission the accessory via the local server, the electronic device receives, from the installer device, the request to commission the accessory in a message, such as a direct message that is not part of an on-going connection.864911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0243] In some embodiments, 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 is not through the local server).
[0244] In some embodiments, before receiving the request to commission the accessory device, the electronic device sends, to the installer device, a list of pre-configured groups of accessory devices (e.g., a list of rooms and / or zones), wherein the request, to commission the accessory device, includes an identification of a group of the list of pre-configured groups of accessory devices, and wherein the accessory device is commissioned on the set of one or more security domains as a part of the group.
[0245] In some embodiments, before receiving the request to commission the accessory device, the electronic device sends, to the installer device, a list of pre-configured groups of accessory devices (e.g., a list of rooms and / or zones), wherein the request, to commission the accessory device, includes an identification of a group that is not included in the list of preconfigured groups of accessory devices (e.g., the group is established and / or created by the installer device), and wherein the accessory device is commissioned on the set of one or more security domains as a part of the group.
[0246] In some embodiments, before receiving the request to commission the accessory device, the electronic device receives, from the installer device, a request to add an automation to the accessory device such that the accessory device is configured to perform one or more operations (e.g., turn on at a particular time, turn off at a particular, change states at a particular time, and / or change states in response to detecting a particular event) according to the automation. In some embodiments, the electronic device sends, to the accessory device, the request to add the automation to the accessory device (e.g., the request is sent through the electronic device, such as when the electronic device is acting 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 sending, to the accessory device, the request to add the automation to the accessory device, the electronic device receives, from a second electronic device (e.g., via the set of one or more security domains, such as using a credential that is part of the set of one or more security domains to communicate with the accessory device) different from the first electronic device, a request to modify the automation. In some embodiments, the second874911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) electronic device is a user device and / or a personal device that is taking over (e.g., from the first electronic device), becoming an owner or co-owner of, and / or becoming an administrator of the set of one or more security domains. In some embodiments, the second electronic device is a watch, a phone, a tablet, a fitness tracking device, a processor, a head-mounted display (HMD) device, a communal device, a media device, a speaker, a television, and / or a personal computing device. In some embodiments, in response to receiving the request to modify the automation, the electronic device modifies, via the accessory device, the automation. In some embodiments, in response to receiving the request to modify the automation, the first electronic device sends, to the accessory device, the request to modify the automation (e.g., the request to modify the automation is sent through the first electronic device, such as when the first electronic device is acting a router for the second electronic device and / or the accessory device).
[0248] In some embodiments, after (and / or in response to) commissioning the accessory device on the set of one or more security domains (and / or without detecting user input corresponding to a request to remove access), the electronic device removes access to the accessory device by the installer device (e.g., after removing access to the accessory device, the electronic device is no longer able to obtain a status of the accessory device and / or control the accessory device). In some embodiments, access to the accessory device is removed without detecting user input. In some embodiments, access to the accessory device is removed in response to detecting user input corresponding to a request to remove access to the accessory device.
[0249] In some embodiments, after (and / or in response to) commissioning the accessory device on the set of one or more security domains (and / or without detecting user input corresponding to a request to remove access), the electronic device receives, from a third electronic device (e.g., 300) different from the first electronic device, a request to commission the 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 a personal device that is taking over (e.g., from the first electronic device), becoming an owner or co-owner of, and / or becoming an administrator of the set of one or more security domains. In some embodiments, the third electronic device is a watch, a phone, a tablet, a fitness tracking device, a processor, a head-mounted display (HMD) device, a communal device, a media device, a speaker, a television, and / or a personal computing device. In some embodiments, the third electronic884911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) device is not an accessory device. In some embodiments, in response to receiving the request to commission the third electronic device on the set of one or more security domains, the electronic device commissions the third electronic device on the set of one or more security domains. In some embodiments, commissioning the 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., each security domain included in the set of one or more security domains). In some embodiments, the third electronic device, after commissioning, communicates with the accessory device using the network. In some embodiments, commissioning the third electronic device on a single security domain includes providing, to the third electronic device, one or more credentials to be used by the third electronic device to communicate with other devices in the single security domain.
[0250] In some embodiments, the set of one or more security domains include multiple security domains. In some embodiments, the multiple security domains include a first security domain and a second security domain different from the first security domain. In some embodiments, the first security domain uses a first set of one or more credentials for communicating. In some embodiments, the second security domain uses a second set of one or more credentials for communicating. In some embodiments, the second set of one or more credentials is different from the first set of one or more credentials.
[0251] In some embodiments, after commissioning the accessory device on the set of one or more security domains, the electronic device receives a request to change a set of one or more credentials (e.g., a username, a password, and / or a certificate) for 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) corresponding to the accessory device. In some embodiments, 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 embodiments, the other device is a user device and / or a personal device that is taking over (e.g., from the electronic device), becoming an owner or co-owner of, and / or becoming an administrator of the set of one or more security domains. In some embodiments, the other electronic device is a watch, a phone, a tablet, a fitness tracking device, a processor, a headmounted display (HMD) device, a communal device, a media device, a speaker, a television, and / or a personal computing device. In some embodiments, the other electronic device is not894911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) an accessory device. In some embodiments, the installer device, the electronic device, the other electronic device, and / or the accessory device communicate via the network. In some embodiments, in response to receiving the request to change the set of one or more credentials for the network corresponding to the accessory device, the electronic device changes the set of one or more credentials for the network corresponding to the accessory device (e.g., in accordance with the request to change the set of one or more credentials for the network corresponding to the accessory device).
[0252] In some embodiments, after commissioning the accessory device on the set of one or more security domains, the electronic device receives, from a user device different from the accessory device, the installer device, and the electronic device, a request to be added to a security domain (e.g., an administrative domain (e.g., a domain that is used to coordinate addition of other security domains) and / or an ecosystem-specific domain (e.g., a domain specific to an application and / or a company)) of the set of one or more security domains. In some embodiments, in response to receiving the request to be added to the security domain, the electronic device commissions the user device on the security domain. In some embodiments, commissioning the user device on the security domain includes registering the accessory device on the security domain. In some embodiments, commissioning the user device on the security domain includes providing, to the accessory device, one or more credentials to be used by the accessory device to communicate with other devices in the security domain. In some embodiments, after commissioning the accessory device on the set of one or more security domains, the electronic device receives, from the user device, a request to be added to the 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 commissions the user device on the set of one or more security domains. In some embodiments, commissioning the user 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., each security domain included in the set of one or more security domains). In some embodiments, the user device is provided control of the accessory device as a result of being commissioned on the security domain and / or the set of one or more security domains. In some embodiments, the user device is taking over (e.g., from the electronic device), becoming an owner or co-owner of, and / or becoming an administrator of the security domain and / or the set of one or more security domains. In some embodiments, the user device is a watch, a phone, a tablet, a fitness tracking device, a processor, a head-mounted display904911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)(HMD) device, a media device, a speaker, a television, a controller, and / or a personal computing device. In some embodiments, the user device is not an accessory device.
[0253] In some embodiments, after commissioning the accessory device on the set of one or more security domains, the electronic device receives, from a user device different from the accessory device, the installer device, and the electronic device, a request to add an additional security domain (e.g., an ecosystem-specific domain, such as a domain specific to an application and / or a company) to the set of one or more security domains. In some embodiments, in response to receiving the request to add the 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 of more security domains. In some embodiments, in response to receiving the request to add the additional security domain to the set of one or more security domains, the electronic device commissions the accessory device on the additional security domain. In some embodiments, in response to receiving the request to add the additional security domain to the set of one or more security domains, the electronic device commissions one or more other devices on the additional security domain. In some embodiments, the one or more other devices are already commissioned on the set of one or more security domains while receiving the request to add the additional security domain to the set of one or more security domains. In some embodiments, in response to receiving the request to add the additional security domain to the set of one or more security domains, the electronic device decommissions an existing security domain (e.g., an ecosystem-specific domain, such as a domain specific to an application and / or a company, that is different from the additional security domain) in the set of one of more security domains.
[0254] Attention is now directed to techniques for integrating diagnostic information with communications. Such techniques are described to illustrate the processes described below, including the processes in FIG. 11. In addition, such techniques are described in the context of being notified of an issue with an accessory device and, in the process for attempting to fix the issue, tracking what a user does to fix the issue so that such information ca be sent to a support service for the accessory device without the user needing to manually add what the user did to fix the issue in a communication to the support service. It should be recognized that such techniques can be used in other contexts, such as issues with applications, issues with using applications, and / or other activities performed by a user, such as exercising and / or cooking.914911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0255] In one example, an accessory device can be having connectivity issues with a personal device of a user. In some embodiments, as a result of the connectivity issues, the accessory device communicates with the personal device to notify the user that the connectivity issues are present. In other embodiments, the personal device of the user can detect the connectivity issues (e.g., without receiving a communication from the accessory device) and display a notification in response to detecting the connectivity issues. In other embodiments, a resident device that manages communication between the accessory device and the personal device can detect the connectivity issues and notify the personal device in response to detecting the connectivity issues.
[0256] In the one example, the personal device displays the notification to indicate that the connectivity issues are present. In some embodiments, the notification is displayed in response to receiving the notification and / or detecting the connectivity notifications. In other embodiments, the notification can be displayed within a user interface of an application of the personal device, the user interface displayed as a result of the user navigating to the user interface using the personal device. In some embodiments, the notification includes an identification of the accessory device, an identification of a current issue (e.g., the connectivity issues), a time and / or a date that the current issue began, a current time and / or a current date, and / or a button to attempt to resolve the current issue.
[0257] In the one example, while displaying the notification, the personal device detects an input corresponding to the notification, such as user input to select the notification and / or the button included in the notification. In response to detecting the input, the personal device initiates a process to resolve the connectivity issues. In some embodiments, the process to resolve the connectivity issues includes display of one or more user interfaces and / or one or more instructions for actions to be performed by the user to resolve the connectivity issues. In some embodiments, the process to resolve the connectivity issues includes audio output of one or more instructions for actions to be performed by the user to resolve the connectivity issues. In either of such sets of embodiments, the personal device tracks what the user does to resolve the connectivity issues. Such tracking can include that certain user interfaces were displayed, certain actions were taken by the user, certain actions were requested to be performed by the user, certain user interface elements and / or buttons were interacted by the user, and / or certain devices were restarted and / or otherwise interacted with to change a state of such devices. In some embodiments, the personal device, the accessory device, a camera924911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) remote from the personal device and the accessory, and / or some other device is used to track what the user does to resolve the connectivity issues. For example, the accessory device can send indications to the personal device of interactions with the accessory device, such as that the accessory device was restarted, a button on the accessory device was pressed, and / or the accessory device was changed from low power mode to active mode.
[0258] In the one example, during the process to resolve the connectivity issues, the personal device displays a user interface with a link to communicate with a support service for the accessory device. The user interface can be provided by a first application of the personal device, such as an application uses to control and / or manage the accessory device. In some embodiments, the support service is a server provided by a manufacturer of the accessory device. In such embodiments, the first application can be also provided by the manufacturer of the accessory device. In other embodiments, the support service is a contact of the personal device, such as a friend of the user.
[0259] In the one example, in response to detecting an input corresponding to the link (e.g., a tap input on the link), the personal device generates a message including information about what the user did to resolve the connectivity issues. Accordingly, depending on what the user did, the message would be different. It should be recognized that the message can be generated as different actions by the user are tracked instead of in response to detecting the input corresponding to the link.
[0260] In the one example, in response to detecting an input corresponding to the link and on conjunction with (e.g., before, while, after, or in response to) generating the message, the personal device displays a user interface of an application to communicate with the support service. Examples of the application to communicate with the support service include a messaging application, an email application, and / or a calling application. In some embodiments, the user interface includes the message including the information about what the user did to resolve the connectivity issues. In other embodiments, the user interface includes no message or a generic message that does not include the information about what the user did to resolve the connectivity issues. In such embodiments, the message including the information about what the user did to resolve the connectivity issues can be sent to the support service without displaying the message to the user. In other embodiments, a first portion of the message is included within the user interface and a second portion (e.g., different from the first portion) of the message is not included within the user interface. In934911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) such embodiments, the first portion and the second portion can be sent to the support service, such as when the personal device detects an input to communicate 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 “Hi, my accessory device is having connectivity issues and I can confirm that it is on and that I can control it.” In this example, the personal device can have communicated with the accessory device to confirm that it is on and the user could have used an application of the personal device to control the accessory device.
[0261] FIG. 11 is a flow diagram illustrating a process (e.g., process 1100) for communicating with another device in accordance with some embodiments. Some operations in process 1100 are, optionally, combined, the orders of some operations are, optionally, changed, and some operations are, optionally, omitted.
[0262] As described below, process 1100 provides an intuitive way for communicating with another device in accordance with some embodiments. Process 1100 reduces the cognitive burden on a user, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to interact with such devices faster and more efficiently conserves power and increases the time between battery charges.
[0263] In some embodiments, process 1100 is performed at a first device (e.g., 1302) that is in communication (e.g., wired or wireless communication) with (and / or includes) one or more input devices (e.g., a wireless radio, a port, a camera, a depth sensor, a microphone, a hardware input mechanism, a rotatable input mechanism, a physical input mechanism, a mechanical button, a touch-sensitive button, a button, a crown, a knob, a dial, a physical slider, an accelerometer, a mouse, a keyboard, a touchpad, and / or a touch-sensitive surface). In some embodiments, the first device is a watch, a phone, a tablet, a fitness tracking device, a processor, a head-mounted display (HMD) device, a communal device, a media device, a speaker, a television, and / or a personal computing device.
[0264] The first device detects (1102), via the one or more input devices, an input (e.g., a tap input or a verbal input (e.g., 1405c) corresponding to a request to communicate with a second device (e.g., a server and / or a remote service that is remote from the first device and the second device) (e.g., 1306) different from the first device. In some embodiments, the input is detected while displaying a user interface (e.g., 1406) of a first application. In some embodiments, the first application is associated with the second device. In some944911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) 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, an email application, and / or a chat application. In some embodiments, the first application is different from the messaging application.
[0265] In response to (1104) detecting the input corresponding to the request to communicate with the second device, in accordance with a determination that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes a criterion that is satisfied when the first device detects a first set of one or more activities (e.g., that the first device recently displayed one or more user interfaces and / or that the first device recently attempted to perform one or more operations with respect to a third device different from the first device and the second device) (e.g., as described above with respect to 1410a- 1410d and / or FIG. 14D), the first device generates (1106), to be sent to the second device, a first message (e.g., 1416) includes an identification (e.g., 1418 and / or 1420) of the first set of one or more activities. In some embodiments, in response to detecting the input corresponding to the request to communicate with the second device and in accordance with the determination that the first set of one or more criteria is satisfied, the first device displays a user interface (e.g., 1414) of a second application. 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 smart watch, a smart light, a smart lock, and / or a camera. In some embodiments, the first message includes first content. In some embodiments, the user interface of the second application includes the first message and / or at least a portion of the first content.
[0266] In response to (1104) detecting the input corresponding to the request to communicate with the second device, in accordance with a determination that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes a criterion that is satisfied when the first device detects a second set of one or more activities, the first device generates (1108), to be sent to the second device, a second message includes an identification of the second set of one or more activities (e.g., with or without including the identification 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.954911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0267] In some embodiments, the first device is in communication (e.g., wired or wireless communication) with (and / or includes) one or more display generation components (e.g., a display screen, a projector, a head mounted display, and / or a touch-sensitive display). In some embodiments, the first set of one or more activities includes display of a user interface (e.g., 1406) via the one or more display generation components before detecting the input corresponding to the request to communicate with the second device. In some embodiments, the identification of the first set of one or more activities includes identification of the user interface. In some embodiments, the identification 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, a note-taking application, a word-processing application, a document-processing application, a presentation application, an email application, a form processing application such as for PDF viewer and / or editor, a game, a messaging application, a maps application, a fitness application, a health application, a digital payments application, a media application, and / or a social network application). In some embodiments, the input is detected while displaying a second user interface of the first application. 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 while displaying a user interface of another application different from the application. In some embodiments, the first device detects the first set of one or more activities by detecting that the user interface is displayed before detecting the input corresponding to the request to communicate with the second device. In some embodiments, the second set of one or more activities includes display of another user interface via the one or more display generation components before detecting the input corresponding to the request to communicate with the second device. In some embodiments, the other user interface is different from the user interface. In some embodiments, the identification of the second set of one or more activities includes identification of the other user interface. In some embodiments, the identification of the second set of one or more activities includes content included within the other user interface. In some embodiments, the first device detects the second set of one or more activities by detecting that the other user interface is displayed before detecting the input corresponding to the request to communicate with the second device.
[0268] In some embodiments, the first device is in communication (e.g., wired or wireless communication) with (and / or includes) one or more display generation components (e.g., a964911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) display screen, a projector, a head mounted display, and / or a touch-sensitive display). In some embodiments, the first set of one or more activities includes selection of (e.g., user input corresponding to selection of) a user interface element (e.g., acknowledgement that a user read, attempted to perform an action corresponding to, tried to fix an issue using one or more processes associated with, and / or otherwise acknowledged a portion of content) (e.g., 1410a-1410d) in a user interface (e.g., 1406) 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 for PDF viewer and / or editor, a game, a maps application, a fitness application, a health application, a digital payments application, a media application, and / or a social network application) displayed via the one or more display generation components before detecting the input corresponding to the request to communicate with the second device. In some embodiments, the second set of one or more activities includes selection of (e.g., user input corresponding to selection of) a user interface element in a user interface of the first application or a third application (e.g., different from the first application and / or the second application) displayed via the one or more display generation components before detecting the input corresponding to the request to communicate with the second device. In some embodiments, in response to detecting the input corresponding to the request to communicate with the second device (and / or in accordance with the determination that the first set of one or more criteria is satisfied and / or the determination that the second set of one or more criteria is satisfied), the first device displays, via the one or more display generation components, 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 form the first application. In some embodiments, the identification of the first set of one or more activities includes identification of the user interface element, the user interface of the first application, and / or the first application. In some embodiments, the identification 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 selection of the user interface element before detecting the input corresponding to the request to communicate with the second device. In some embodiments, the second set of one or more activities includes selection of another user interface element before detecting the input corresponding to the request to communicate with the second device. In some embodiments, the other user interface element is different from the user interface element. In some embodiments, the identification of the second set of one or more activities includes974911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) identification of the other user interface element and / or the user interface of the first application. In some embodiments, the first device detects the second set of one or more activities by detecting selection of the other user interface element before detecting the input corresponding to the request to communicate with the second device.
[0269] In some embodiments, the first set of one or more activities includes press of a hardware input mechanism of a third device before detecting the input corresponding to the request to communicate with the second device. In some embodiments, the third device is different (and / or separate) from the first device and the second device. 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 smart watch, a smart light, a smart lock, and / or a camera. In some embodiments, the identification of the first set of one or more activities includes identification of the hardware input mechanism and / or an operation performed as a result of the press of the hardware input mechanism, such as restarting, reconfiguring, and / or turning on the third device. In some embodiments, the first device detects the first set of one or more activities by detecting the press of the hardware input mechanism before detecting the input corresponding to the request to communicate with the second device. In some embodiments, the second set of one or more activities includes press of another hardware input mechanism of the third device (and / or the hardware input mechanism while a different user interface is being displayed by the third device) before detecting the input corresponding to the request to communicate with the second device. In some embodiments, the other hardware input mechanism is different from the hardware input mechanism. In some embodiments, the identification of the second set of one or more activities includes identification of the other hardware input mechanism and / or an operation performed as a result of the press of the other hardware input mechanism, such as restarting, reconfiguring, and / or turning on the third device. In some embodiments, the first device detects the second set of one or more activities by detecting the press of the other hardware input mechanism before detecting the input corresponding to the request to communicate with the second device.
[0270] In some embodiments, the first device is a personal device of a user. In some embodiments, the user is an administrator for (and / or an owner of) the accessory device.984911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0271] In some embodiments, the first set of one or more activities includes restart of a third device different (and / or separate) from the first device and the second device. In some embodiments, the third device is an accessory device, such as a smart watch, a smart light, a smart lock, and / or a camera. In some embodiments, the identification of the first set of one or more activities includes identification that the third device was restarted and / or identification that a user has been informed to restart the third device. In some embodiments, the first device detects the first set of one or more activities by receiving, from the third device, an indication that the third device has been restarted before detecting the input corresponding to the request to communicate with the second device.
[0272] In some embodiments, the one or more input devices includes one or more cameras. In some embodiments, the first set of one or more activities includes detection of, via the one or more cameras, of an action (and / or activity) performed by a person (e.g., in an environment, such as a physical environment) before detecting the input corresponding to the request to communicate with the second device. In some embodiments, the second set of one or more activities includes detection of, via the one or more cameras, of another action (and / or activity) performed by the person (e.g., in the environment) before detecting the input corresponding to the request to communicate with the second device. In some embodiments, the other action is different from the action.
[0273] In some embodiments, the first device is in communication (e.g., wired or wireless communication) with (and / or includes) one or more display generation components (e.g., a display screen, a projector, a head mounted display, and / or a touch-sensitive display). In some embodiments, in response to detecting the input corresponding to the request to communicate with the second device, in accordance with a determination that the first set of one or more criteria is satisfied, the first device displays, via the one or more display generation components, the first message (and / or at least a portion of the first message). In some embodiments, in response to detecting the input corresponding to the request to communicate with the second device, in accordance with a determination that the second set of one or more criteria is satisfied, the first device displays, via the one or more display generation components, the second message (and / or at least a portion of the second message).
[0274] In some embodiments, the first device is in communication (e.g., wired or wireless communication) with (and / or includes) one or more display generation components (e.g., a display screen, a projector, a head mounted display, and / or a touch-sensitive display). In994911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) some embodiments, in response to detecting the input corresponding to the request to communicate with the second device, the first device displays, via the one or more display generation components, a third message different from the first message and the second message. In some embodiments, after detecting the input corresponding to the request to communicate with the second device (and / or after displaying the third message), in accordance with a determination that the first set of one or more criteria is satisfied, the first device sends, to the second device, the first message. In some embodiments, after detecting the input corresponding to the request to communicate with the second device, in accordance with a determination that the second set of one or more criteria is satisfied, the first device sends, to the second device, the second message.
[0275] In some embodiments, the first device is in communication (e.g., wired or wireless communication) with (and / or includes) one or more display generation components (e.g., a display screen, a projector, a head mounted display, and / or a touch-sensitive display). In some embodiments, the input is detected while displaying, via the one or more display generation components, a user interface. In some embodiments, the input corresponds to (and / or is directed at) the user interface. In some embodiments, before displaying the user interface, the first device receives, from a third device different from the first device and the second device, a notification. In some embodiments, the notification corresponds to and / or includes an identification of an issue detected by and / or with the third device. In some embodiments, the third device is an accessory device, such as a smart watch, a smart light, a smart lock, and / or a camera. In some embodiments, while displaying the notification, the first device detects, via the one or more input devices, an input (e.g., a tap input and / or a verbal request) corresponding to the notification, wherein the user interface is displayed in response to detecting the input corresponding to the notification. In some embodiments, the verbal request is a request to view information regarding the notification.
[0276] In some embodiments, the notification is indicative of (and / or includes an identification of) an issue (e.g., a network issue, a battery issue, a malfunction, a need to be updated, and / or a credential required) with an accessory device. In some embodiments, the third device is the accessory device. In some embodiments, the third device is different from the accessory device.
[0277] Note that details of the processes described above with respect to process 1100 (e.g., FIG. 11) are also applicable in an analogous manner to other processes described1004911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) herein. For example, process 1200 optionally includes one or more of the characteristics of the various processes described above with reference to process 1100. For example, the third device of process 1100 can be the second device of process 1200. For brevity, these details are not repeated herein.
[0278] Attention is now directed to techniques for notifying a user when the user is no longer in proximity of a device. Such techniques are described to illustrate the processes described below, including the processes in FIG. 12. In addition, such techniques are described in the context of a personal device of a user being notified when the personal device is no longer in proximity of an accessory device when the accessory device has not been set to a mode that allows remote control of the accessory device. It should be recognized that such techniques can be used in other contexts, such as with respect to a personal device no longer being in proximity to a physical environment, one personal device no longer being in proximity to another personal device, and / or a personal device of a user no longer being in proximity of a personal device of another user without getting contact information for each other.
[0279] In one example, an accessory device can require to be set into a mode in order to be remotely and / or wirelessly controlled. For example, the accessory device can include a physical button that must be pressed in order for a personal device of a user to control the accessory device through an application of the personal device. In some embodiments, as a result of the user and / or the personal device being within proximity to the accessory device and / or interacting with the accessory device while in proximity to the accessory device and in response to the personal device no longer being within proximity to the accessory device while the accessory device is not set into the mode in order to be remotely and / or wirelessly controlled, the accessory device communicates with the personal device to notify the user that the accessory device is not in the mode. In other embodiments, the personal device of the user can detect one or more of those criteria being present (e.g., with or without communicating with the accessory device) and, in response, output a notification. In other embodiments, a resident device that manages communication between the accessory device and the personal device can detect one or more of those criteria being present (e.g., with or without communicating with the accessory device) and, in response, a notify the personal device.
[0280] In some embodiments, the personal device is detected to no longer be in proximity to the accessory device in response to the personal device no longer being in wireless1014911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) communication with the accessory device. In other embodiments, the personal device is detected to no longer be in proximity to the accessory device in response to the personal device no longer being in communication via a short-range wireless communication channel and instead only being in communication via another wireless communication channel, such as another short-range wireless communication channel or a long-range wireless communication channel.
[0281] In some embodiments, the personal device is detected to no longer be in proximity to the accessory device in response to the personal device no longer being within a predefined distance (e.g., 0-100 feet) of the accessory device. In such embodiments, the personal device, the accessory device, and / or a remote sensing device can detect a position of the personal device and / or whether the personal device is still within the predefined distance. For example, a remote camera or a occupancy sensor can be used to detect where the personal device (and / or the user) is located.
[0282] In some embodiments, the user is notified via output of audio and / or display of a notification via the personal device. In such embodiments, the notification can be temporarily displayed for a predefined period of time (e.g., 5 seconds to 1 minutes) and be dismissed without requiring user input. In other embodiments, the notification is displayed until dismissed by a user and / or until the personal device is no longer displaying content.
[0283] In some embodiments, a user is only notified when the user is no longer in proximity of the accessory device when it is the first time that the user goes from being within proximity of the accessory device and no longer in proximity of the accessory device after last interacting with the accessory device. In other embodiments, a user is only notified when the user is no longer in proximity of the accessory device when it is the first time that the user goes from being within proximity of the accessory device and no longer in proximity of the accessory device after last interacting with the accessory device in a particular manner, such as closing a door of a washer but not when hitting the start button. In other embodiments, a user is notified each time that the user is no longer in proximity of the accessory device.
[0284] FIG. 12 is a flow diagram illustrating a process (e.g., process 1200) for notifying a user in accordance with some embodiments. Some operations in process 1200 are, optionally,1024911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) combined, the orders of some operations are, optionally, changed, and some operations are, optionally, omitted.
[0285] As described below, process 1200 provides an intuitive way for notifying a user in accordance with some embodiments. Process 1200 reduces the cognitive burden on a user, thereby creating a more efficient human -machine interface. For battery-operated computing devices, enabling a user to interact with such devices faster and more efficiently conserves power and increases the time between battery charges.
[0286] In some embodiments, process 1200 is performed at a first device that is in communication (e.g., wired or wireless communication) with (and / or includes) one or more display generation components (e.g., a display screen, a projector, a head mounted display, and / or a touch-sensitive display). In some embodiments, the first device is a watch, a phone, a tablet, a fitness tracking device, a processor, a head-mounted display (HMD) device, a communal device, a media device, a speaker, a television, and / or a personal computing device.
[0287] The first device detects (1202) that a user of a second device (e.g., an appliance, an accessory device, a smart washer, a smart dryer, a television, a computer system, a watch, a phone, a tablet, a fitness tracking device, a head-mounted display (HMD) device, a communal device, a media device, a speaker, a television, an electronic device, a camera, and / or a personal computing device) is no longer within proximity of the second device, wherein the second device is different (and / or separate) from the first device. In some embodiments, the user of the second device is detected to be no longer within proximity of the second device by the computer system disconnecting from a personal device of the user, receiving a message from the personal device of the user, and / or detecting a position of the user or the personal device via one or more input devices that are in communication with and / or included in the first device. In some embodiments, the one or more input devices include a wireless radio, a port, a camera, a depth sensor, a microphone, a hardware input mechanism, a rotatable input mechanism, a physical input mechanism, a mechanical button, a touch-sensitive button, a button, a crown, a knob, a dial, a physical slider, an accelerometer, a mouse, a keyboard, a touchpad, and / or a touch-sensitive surface. In some embodiments, the user of the second device is a person. In some embodiments, the first device is not in communication with the second device while detecting that the user of the second device is no longer within proximity of the second device. In some embodiments, the first device is in1034911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) communication with the second device while detecting that the user of the second device is no longer within proximity of the second device.
[0288] In response to detecting that the user of the second device is no longer within proximity of the second device and in accordance with a determination that a set of one or more criteria is satisfied, wherein the set of one or more criteria includes a criterion that is satisfied when the second device is not set in a particular mode (e.g., a remote start mode, a remote access mode, a remote control mode, a power saving mode, an active mode, an inactive mode, and / or turned on), the first device displays (1204), via the one or more display generation components, a notification corresponding to the second device. In some embodiments, the user of the second device is detected to be no longer within proximity of the second device by the computer system receiving the notification from the second device. In some embodiments, the notification includes an indication that the second device is not set in the particular mode. In some embodiments, the particular mode is a mode that the second device is configured to be remotely controlled, such as through an application installed on the first device. In some embodiments, the notification includes an identification of the second device. In some embodiments, the particular mode is not whether the second device is locked or unlocked. In some embodiments, while detecting that the user of the second device is within proximity of the second device, the first device forgoes display of the notification corresponding to the second device. In some embodiments, in response to detecting that the user of the second device is no longer within proximity of the second device and in accordance with a determination that another set of one or more criteria is satisfied, the first device forgoes display of the notification corresponding to the second device. In some embodiments, the other set of one or more criteria is different from the set of one or more criteria. In some embodiments, the other set of one or more criteria includes a criterion that is satisfied when the second device is in the particular mode. In some embodiments, the determination is performed by the first device. In some embodiments, the determination is performed by the second device. In some embodiments, the determination is performed by another device different from the first device and the second device. In some embodiments, the other device is a server or a coordinator device in an environment including the second device.
[0289] In some embodiments, the second device is an accessory device (e.g., as described above) (and / or a smart appliance).1044911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0290] In some embodiments, the first device is a personal device (e.g., a smart phone, a smart watch, and / or a wearable device) of the user.
[0291] In some embodiments, detecting that the user of the second device is no longer within proximity of the second device includes detecting that the second device is no longer is in communication with (and / or connected to, such as a communication channel is no longer active) the first device.
[0292] In some embodiments, detecting that the user of the second device is no longer within proximity of 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 is in communication (e.g., wired or wireless communication) with (and / or includes) one or more cameras. In some embodiments, detecting that the user of the second device is no longer within proximity of the second device includes detecting, via the one or more cameras, a position of the user. In some embodiments, the one or more cameras are separate and / or remote from the first device and / or the second device. In some embodiments, the second device includes the one or more cameras.
[0294] In some embodiments, before displaying the notification corresponding to the second device, the first device receives, from the second device, a communication that indicates that the second device is set in the particular mode, wherein the determination that the set of one or more criteria is satisfied is based on (and / or uses) the 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 within proximity of the second device since being within proximity of the second device after displaying the first notification corresponding to the second device. In some embodiments, in response to detecting that the user of the second user is no longer within proximity of the second device since being within proximity of the second device after displaying the first notification corresponding to the second device and in accordance with a determination that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes a criterion that is satisfied when the second1054911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) device was set in the particular mode since displaying the first notification and a criterion that is satisfied when the second device is not set (e.g., is not currently set) in the particular mode, the first device displays, via the one or more display generation components, a second notification corresponding to the second device, wherein the second set of one or more criteria is different 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 is separate and / or different from the first notification.
[0296] In some embodiments, while displaying the notification corresponding to the second device, the first device detects that an amount of time (e.g., 5 to 30 seconds) has expired since displaying the notification corresponding to the second device. In some embodiments, in response to detecting that the amount of time has expired since displaying the notification corresponding to the second device (and / or in response to detecting that the first device is more than an amount of distance, such as 10 to 100 feet, from the second device) (e.g., without detecting user input, such as without detecting user input to dismiss the notification corresponding to the second device and / or without detecting user input to turn off the one or more display generation components), the first device ceases display of the notification corresponding to the second device (e.g., while maintaining display of other content and / or one or more other notifications).
[0297] In some embodiments, the particular mode is a mode that enables remote control of the second device (and / or a mode that enables the first device to remotely control the second device, such as via an application of the first device).
[0298] Note that details of the processes described above with respect to process 1200 (e.g., FIG. 12) are also applicable in an analogous manner to the processes described herein. For example, process 1100 optionally includes one or more of the characteristics of the various processes described herein with reference to process 1200. For example, the first device of process 1200 can be the first device of process 1100. For brevity, these details are not repeated herein.
[0299] FIG. 13 illustrates an exemplary system architecture for integrating diagnostic information with communications in accordance with some embodiments. The system architecture can be used to perform the processes described below, including the processes in FIG. 11.1064911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)
[0300] In some embodiments, system architecture 1300 supports a process for detecting and / or communicating diagnostic information with an accessory device within a home accessory ecosystem. In some embodiments, system architecture 1300 includes user device 1302, accessory device 1304, and remote server 1306. It should be recognized that system architecture 1300 can include one or more other accessory devices, user devices, and / or remote servers. It should also be recognized that accessory devices and diagnostic information is one example of use of techniques described herein and that other contexts can 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 is communicating such information.
[0301] In some embodiments, user device 1302 is a personal computing device, such as a smartphone, a tablet, laptop computer, a desktop computer, and / or a smartwatch. In some embodiments, user device 1302 includes one or more processors, memory, and communication interfaces for wireless and / or wired communication. In some embodiments, user device 1302 includes one or more input devices, such as a touch-sensitive surface, microphone, camera, and / or other sensors for detecting user interactions and / or environmental conditions. In some embodiments, user device 1302 executes a home application that includes a user interface for controlling and / or monitoring accessory devices, including accessory device 1304, within a home accessory ecosystem. In some embodiments, user device 1302 executes one or more accessory device specific applications that provide specialized controls, features, and / or communications for accessory devices. In some embodiments, user device 1302 is a resident device or a personal device that initially serves as an installer device during initial setup and / or configuration of accessory devices, as described above with respect to FIGS. 7-10. In such embodiments, user device 1302 can pair with accessory device 1304, commission accessory device 1304 on one or more security domains for management, control, and / or monitoring of accessory device 1304 one or more user devices. In some embodiments, user device 1302 maintains security credentials, authentication information, and / or connection 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.
[0302] In some embodiments, acc...
Claims
Attorney Docket No.: 126266.094501 (P69796WO1)CLAIMSWhat is claimed is:
1. A method, comprising: at a computer system that is in communication with one or more input devices: detecting, via the one or more input devices, an input 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 to add the accessory device to the ecosystem includes: in accordance with a determination that a second application is not installed on the computer system, initiating a process to install the second application, wherein the second application corresponds to the accessory device, and wherein the second application is different from the first application; and in accordance with a determination that the second application is installed on the computer system, forgoing initiation of the process to install the second application; and after installing the second application as part of the process to add the accessory device to the ecosystem and in accordance with a determination that a set of one or more automatic removal criteria is satisfied, removing the second application without detecting a user input to remove the second application.
2. The method of claim 1, wherein the computer system is in communication with one or more display generation components, the method further comprising: in response to installing the second application, displaying, via the one or more display generation components, a user interface of the second application.
3. The method of any one of claims 1-2, wherein the computer system is in communication with one or more display generation components, and wherein the input is detected while displaying, via the one or more display generation components, a user interface of a third application different from the second application.1624911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)4. The method of claim 3, wherein the third application is part of an operating system of the computer system.
5. The method of claim 3, wherein the third application is the first application.
6. The method of any one of claims 4-5, wherein the accessory device is a first accessory device, the method further comprising: after detecting the input corresponding to the request to add the first accessory device to the ecosystem of the first application, detecting, via the one or more input devices, an input corresponding to a request to add a second accessory device to the ecosystem corresponding to the first application, 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, initiating a process to add the second accessory device to the ecosystem, wherein the process to add the second accessory device to the ecosystem includes: in accordance with a determination that a fourth application is not installed on the computer system, initiating a process to install the fourth application, wherein the fourth applications corresponds to the second accessory device, and wherein the fourth application is different from the first application and the second application; and in accordance with a determination that the fourth application is installed on the computer system, forgoing initiation of the process to install the second application; and after installing the fourth application as part of the process to add the second accessory device to the ecosystem and in accordance with a determination that the set of one or more automatic removal criteria is satisfied, removing the fourth application without detecting a user input to remove the fourth application.
7. The method of any one of claims 1-6, wherein the computer system is in communication with one or more display generation components, wherein the input corresponding to the request to add the accessory device to the ecosystem is detected while displaying, via the one or more display generation components, a user interface, the method further comprising: in response to detecting the accessory device in proximity to the computer system, displaying, via the one or more display generation components, the user interface.1634911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)8. The method of any one of claims 1-6, wherein the computer system is in communication with one or more display generation components, wherein the input corresponding to the request to add the accessory device to the ecosystem is detected while displaying, via the one or more display generation components, a user interface, the method further comprising: in response to scanning a Quick Response (QR) code, displaying, via the one or more display generation components, the user interface.
9. The method of any one of claims 1-8, wherein the process to add the accessory device to the ecosystem includes: connecting the accessory device to a network.
10. The method of any one of claims 1-9, wherein, before removing the second application, the second application is not added to a list of applications installed on the computer system after installing the second application as part of the process to add the accessory device to the ecosystem.
11. The method of any one of claims 1-10, wherein the second application is installed without entering a credential, the method further comprising: detecting, via the one or more inputs devices, an input corresponding to a request to install a fifth application different from the first application and the second application, wherein the fifth application corresponds to the second application; and in response to detecting the input corresponding to the request to install the fifth application, requesting one or more credentials to be provided to allow the fifth application to be installed.
12. The method of any one of claims 1-11, wherein the computer system is in communication with one or more display generation components, the method further comprising: after adding the accessory device to the ecosystem, displaying, via the one or more display generation components, a user interface of the first application, wherein the user interface includes a current status of the accessory device.1644911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)13. The method of claim 12, wherein the user interface of the first application includes a control corresponding to the accessory device, the method further comprising: while displaying the user interface of the first application and the control corresponding to the accessory device, detecting, via the one or more input devices, an input corresponding to the control; and in response to detecting the input corresponding to the control, changing a state of the accessory device in accordance with the input corresponding to the control.
14. The method of any one of claims 1-13, wherein the process to add the accessory device to the ecosystem includes: in accordance with a determination that the second application is not logged into at least one account, automatically creating, using a credential of the computer system, an account with the second application, wherein the account is created without detecting an input corresponding to selection of the credential.
15. The method of any one of claims 1-13, wherein the computer system is in communication with one or more display generation components, and wherein the process to add the accessory device to the ecosystem includes concurrently displaying, via the one or more display generation components: a first option to log into the second application using a credential of the computer system; and a second option, separate from the first option, to log into an account of the second application.
16. The method of any one of claims 1-15, wherein the process to add the accessory device to the ecosystem includes: detecting, via the one or more input devices, an input corresponding to a request to assign an attribute to the accessory device; and in response to detecting the input corresponding to the request to assign the attribute to the accessory device, assigning the attribute to the accessory device such that the attribute affects 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.1654911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)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-18, wherein the computer system is in communication with one or more display generation components, and wherein the process to add the accessory device to the ecosystem includes displaying, via the one or more display generation components, a user interface of the first application.
20. The method of claim 19, wherein the user interface of the first application is displayed before initiating the process to install the second application.
21. The method of claim 19, wherein the user interface of the first application is displayed after initiating the process to install the second application.
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 that is in communication with one or more input devices, the one or more programs including instructions for performing the method of any one of claims 1-21.
23. A computer system that is configured to communicate with one or more input devices, the computer system comprising: one or more processors; and 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 of any one of claims 1-21.
24. A computer system that is configured to communicate with one or more input devices, the computer system comprising: means for performing the method of any one of claims 1-21.
25. A computer program product, comprising one or more programs configured to be executed by one or more processors of a computer system that is in communication with one1664911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) or more input devices, the one or more programs including instructions for performing the method of any one of claims 1-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 that is in communication with one or more input devices, the one or more programs including instructions for: detecting, via the one or more input devices, an input 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 to add the accessory device to the ecosystem includes: in accordance with a determination that a second application is not installed on the computer system, initiating a process to install the second application, wherein the second application corresponds to the accessory device, and wherein the second application is different from the first application; and in accordance with a determination that the second application is installed on the computer system, forgoing initiation of the process to install the second application; and after installing the second application as part of the process to add the accessory device to the ecosystem and in accordance with a determination that a set of one or more automatic removal criteria is satisfied, removing the second application without detecting a user input to remove the second application.
27. A computer system configured to communicate with one or more input devices, the computer system comprising: one or more processors; and memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: detecting, via the one or more input devices, an input 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 to add the accessory device to the ecosystem includes:1674911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) in accordance with a determination that a second application is not installed on the computer system, initiating a process to install the second application, wherein the second application corresponds to the accessory device, and wherein the second application is different from the first application; and in accordance with a determination that the second application is installed on the computer system, forgoing initiation of the process to install the second application; and after installing the second application as part of the process to add the accessory device to the ecosystem and in accordance with a determination that a set of one or more automatic removal criteria is satisfied, removing the second application without detecting a user input to remove the second application.
28. A computer system configured to communicate with one or more input devices, the computer system comprising: means for detecting, via the one or more input devices, an input corresponding to a request to add an accessory device to an ecosystem corresponding to a first application; means for, 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 to add the accessory device to the ecosystem includes: means for, in accordance with a determination that a second application is not installed on the computer system, initiating a process to install the second application, wherein the second application corresponds to the accessory device, and wherein the second application is different from the first application; and means for, in accordance with a determination that the second application is installed on the computer system, forgoing initiation of the process to install the second application; and means for, after installing the second application as part of the process to add the accessory device to the ecosystem and in accordance with a determination that a set of one or more automatic removal criteria is satisfied, removing the second application without detecting a user input to remove 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 that is in communication with one or more input devices, the one or more programs including instructions for:1684911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) detecting, via the one or more input devices, an input 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 to add the accessory device to the ecosystem includes: in accordance with a determination that a second application is not installed on the computer system, initiating a process to install the second application, wherein the second application corresponds to the accessory device, and wherein the second application is different from the first application; and in accordance with a determination that the second application is installed on the computer system, forgoing initiation of the process to install the second application; and after installing the second application as part of the process to add the accessory device to the ecosystem and in accordance with a determination that a set of one or more automatic removal criteria is satisfied, removing the second application without detecting a user input to remove the second application.
30. A method, comprising: at an electronic device: pairing with an accessory device; after pairing with the accessory device, commissioning the accessory device on a first set of one or more security domains; after commissioning the accessory device on the first set of one or more security domains, sending, to the accessory device, a request to enter into a recommissioning mode; and after sending the request to enter into the recommissioning mode: receiving, from the accessory device, recommissioning data; and causing, via a resident device different from the accessory device and the electronic device, the accessory device to be recommissioned on a second set of one or more security domains using the recommissioning data, wherein the second set of one or more security domains is different from the first set of one or more security domains.
31. The method of claim 30, further comprising: before causing, via the resident device, the accessory device to be recommissioned on the second set of one or more security domains, connecting to a network;1694911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) while connected to the network, obtaining, via the network an address of the resident device; and after obtaining the address of the resident device, connecting, using the address, to a local server of the resident device, wherein the electronic device communicates with the resident device via the local server to cause the accessory device to be recommissioned on the second set of one or more security domains.
32. The method of any one of claims 30-31, further comprising: before pairing with the accessory device, receiving, from the resident device, connection information, wherein the electronic device communicates with the accessory device to commission the accessory device on the first set of one or more security domains using the connection information.
33. The method of claim 32, further comprising: after commissioning the accessory device on the first set of one or more security domains, changing, using the connection information, a state of the accessory device.
34. The method of any one of claims 30-31, further comprising: after pairing with the accessory device, receiving, from the resident device, connection information, wherein the electronic device communicates with the accessory device to recommission the accessory device on the second set of one or more security domains using the connection information.
35. The method of claim 34, further comprising: after commissioning the accessory device on the first set of one or more security domains, changing, using connection information obtained during the commissioning, a state of the accessory device.
36. The method of any one of claims 30-35, wherein pairing with the accessory device includes scanning, via one or more cameras of the electronic device, a machine-readable code.
37. The method of any one of claims 30-36, wherein pairing with the accessory device includes communicating, via a wireless communication with the accessory device.1704911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)38. The method of any one of claims 30-37, wherein commissioning the accessory device on the first set of one or more security domains includes communicating, via a wireless communication, with the accessory device.
39. The method of any one of claims 30-38, further comprising: before causing the accessory device to be recommissioned on the second set of one or more security domains, receiving, from the resident device, a list of pre-configured groups of accessory devices; and after receiving the list of pre-configured groups of accessory devices and as a part of commissioning the accessory device on the first set of one or more security domains, configuring the accessory device to be included in a group of the list of preconfigured groups of accessory devices.
40. The method of any one of claims 30-38, further comprising: before causing the accessory device to be recommissioned on the second set of one or more security domains, receiving, from the resident device, a list of pre-configured groups of accessory devices; and after receiving the list of pre-configured groups of accessory devices and as a part of commissioning the accessory device on the first set of one or more security domains, configuring the accessory device to be included in a group that is not included in the list of preconfigured groups of accessory devices.
41. The method of claim 40, wherein causing the accessory device to be recommissioned on the second set of one or more security domains includes sending, to the resident device, a request to recommission the accessory device, and wherein the request to recommission the accessory device includes an identification of the group.
42. The method of any one of claims 30-41, further comprising: after causing the accessory device to be recommissioned on the second set of one or more security domains, removing access to the accessory device by the electronic device.1714911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)43. The method of any one of claims 30-42, wherein the recommissioning data includes a commissioning code that is used to validate the resident device to the accessory device when recommissioning the accessory device.
44. The method of any one of claims 30-43, further comprising: after commissioning the accessory device on the first set of one or more security domains and before causing the accessory device to be recommissioning on the second set of one or more security domains, establishing an automation with the accessory device such that the accessory device is configured to perform one or more operations according to the automation.
45. The method of any one of claims 30-44, wherein the electronic device is a first electronic device, the method further comprising: pairing with a second accessory device, wherein the second accessory device is separate from the first accessory device and the resident device; and after pairing with the second accessory device, commissioning the second accessory device on a third set of one or more security domains different from the first set of one or more security domains.
46. The method of any one of claims 30-45, wherein the second set of one or more security domains include multiple security domains.
47. The method of any one of claims 30-46, wherein commissioning 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 of any one of claims 30-47.
49. An electronic device, comprising: one or more processors; and 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 of any one of claims 30-47.1724911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)50. An electronic device, comprising: means for performing the method of any one of claims 30-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 including instructions for performing the method of any one of claims 30-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: pairing with an accessory device; after pairing with the accessory device, commissioning the accessory device on a first set of one or more security domains; after commissioning the accessory device on the first set of one or more security domains, sending, to the accessory device, a request to enter into a recommissioning mode; and after sending the request to enter into the recommissioning mode: receiving, from the accessory device, recommissioning data; and causing, via a resident device different from the accessory device and the electronic device, the accessory device to be recommissioned on a second set of one or more security domains using the recommissioning data, wherein the second set of one or more security domains is different from the first set of one or more security domains.
53. An electronic device, comprising: one or more processors; and memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: pairing with an accessory device; after pairing with the accessory device, commissioning the accessory device on a first set of one or more security domains; after commissioning the accessory device on the first set of one or more security domains, sending, to the accessory device, a request to enter into a recommissioning mode; and1734911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) after sending the request to enter into the recommissioning mode: receiving, from the accessory device, recommissioning data; and causing, via a resident device different from the accessory device and the electronic device, the accessory device to be recommissioned on a second set of one or more security domains using the recommissioning data, wherein the second set of one or more security domains is different from the first set of one or more security domains.
54. An electronic device, comprising: means for pairing with an accessory device; means for, after pairing with the accessory device, commissioning the accessory device on a first set of one or more security domains; means for, after commissioning the accessory device on the first set of one or more security domains, sending, to the accessory device, a request to enter into a recommissioning mode; and after sending the request to enter into the recommissioning mode: means for receiving, from the accessory device, recommissioning data; and means for causing, via a resident device different from the accessory device and the electronic device, the accessory device to be recommissioned on a second set of one or more security domains using the recommissioning 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 including instructions for: pairing with an accessory device; after pairing with the accessory device, commissioning the accessory device on a first set of one or more security domains; after commissioning the accessory device on the first set of one or more security domains, sending, to the accessory device, a request to enter into a recommissioning mode; and after sending the request to enter into the recommissioning mode: receiving, from the accessory device, recommissioning data; and causing, via a resident device different from the accessory device and the electronic device, the accessory device to be recommissioned on a second set of one or more 1744911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) security domains using the recommissioning data, wherein the second set of one or more security domains is different from the first set of one or more security domains.
56. A method, comprising: at an electronic device: receiving, from an installer device, a request to commission an accessory device, wherein the request to commission the accessory device includes connection information corresponding to the accessory device, 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; and in response to receiving the request to commission the accessory device: establishing, with the accessory device, a connection using the connection information; and commissioning, using the connection, the accessory device on a set of 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, the method further comprising: receiving, from the installer device, a request to commission a second accessory device, wherein the request to commission the second accessory device includes second connection 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; andIn response to receiving the request to commission the second accessory device: establishing, with the second accessory device, a connection using the second connection information; andCommissioning, using the second connection, the second accessory device on the set of one or more security domains.
58. The method of any one of claims 56-57, wherein the accessory device is a first accessory device, wherein the connection information is first connection information, wherein the installer device is a first installer device, the method further comprising:1754911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)Receiving, from a second installer device, a request to commission a third accessory device, wherein the request to commission the third accessory device includes third connection 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 wherein the second installer device is different from the electronic device and the first installer device; and in response to receiving the request to commission the third accessory device: establishing, with the third accessory device, a connection using the third connection information; and commissioning, using the third connection, the third accessory device on the set of one or more security domains.
59. The method of any one of claims 56-58, wherein the accessory device is a first accessory device, wherein the connection information is first connection information, wherein the set of one or more security domains is a first set of one or more security domains, the method further comprising: receiving, from the installer device, a request to commission a fourth accessory device, wherein the request to commission the fourth accessory device includes fourth connection 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 in response to receiving the request to commission the fourth accessory device: establishing, with the fourth accessory device, a connection using the fourth connection information; and commissioning, using the fourth connection, the fourth accessory device on a second set of one or more security domains different from the first set of one or more security domains.
60. The method of any one of claims 56-59, further comprising: before receiving the request to commission the accessory device: connecting to a network; and establishing a local server on the electronic device; and while connected to the network, after establishing the local server, and before receiving the request to commission the accessory device, connecting, via the local server, to1764911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) the installer device, wherein the request to commission 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 the local server.
62. The method of any one of claims 56-61, further comprising: before receiving the request to commission the accessory device, sending, to the installer device, a list of pre-configured groups of accessory devices, wherein the request, to commission the accessory device, includes an identification of a group of the list of preconfigured groups of accessory devices, and wherein the accessory device is commissioned on the set of one or more security domains as a part of the group.
63. The method of any one of claims 56-61, further comprising: before receiving the request to commission the accessory device, sending, to the installer device, a list of pre-configured groups of accessory devices, wherein the request, to commission the accessory device, includes an identification of a group that is not included in the list of pre-configured groups of accessory devices, and wherein the accessory device is commissioned on the set of one or more security domains as a part of the group.
64. The method of any one of claims 56-63, further comprising: before receiving the request to commission the accessory device, receiving, from the installer device, a request to add an automation to the accessory device such that the accessory device is configured to perform one or more operations according to the automation; and sending, to the accessory device, the request to add the automation to the accessory device.
65. The method of claim 64, wherein the electronic device is a first electronic device, the method further comprising: after sending, to the accessory device, the request to add the automation to the accessory device, receiving, from a second electronic device different from the first electronic device, a request to modify the automation; and1774911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) in response to receiving the request to modify the automation, modifying, via the accessory device, the automation.
66. The method of any one of claims 56-65, further comprising: after commissioning the accessory device on the set of one or more security domains, removing access to the accessory device by the installer device.
67. The method of any one of claims 56-66 wherein the electronic device is a first electronic device, the method further comprising: after commissioning the accessory device on the set of one or more security domains, receiving, from a third electronic device different from the first electronic device, a request to commission the third electronic device on the set of one or more security domains; in response to receiving the request to commission the third electronic device on the set of one or more security domains, commissioning the third electronic device on the set of one or more security domains.
68. The method of any one of claims 56-67, wherein the set of one or more security domains include multiple security domains.
69. The method of any one of claims 56-68, further comprising: after commissioning the accessory device on the set of one or more security domains, receiving a request to change a set of one or more credentials for a network corresponding to the accessory device; and in response to receiving the request to change the set of one or more credentials for the network corresponding to the accessory device, changing the set of one or more credentials for the network corresponding to the accessory device.
70. The method of any one of claims 56-69, further comprising: after commissioning the accessory device on the set of one or more security domains, receiving, from a user device different from the accessory device, the installer device, and the electronic device, a request to be added to a security domain of the set of one or more security domains; and in response to receiving the request to be added to the security domain, commissioning the user device on the security domain.1784911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)71. The method of any one of claims 56-70, further comprising: after commissioning the accessory device on the set of one or more security domains, receiving, from a user device different from the accessory device, the installer device, and the electronic device, a request to add an additional security domain to the set of one or more security domains; and in response to receiving the request to add the additional security domain to the set of one or more security domains: maintaining at least one existing security domain in the set of one of more security domains; and commissioning 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 of any one of claims 56-71.
73. An electronic device, comprising: one or more processors; and 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 of any one of claims 56-71.
74. An electronic device, comprising: means for performing the method of any one of claims 56-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 including instructions for performing the method of any one of claims 56-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: receiving, from an installer device, a request to commission an accessory device, wherein the request to commission the accessory device includes connection information1794911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) corresponding to the accessory device, 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; and in response to receiving the request to commission the accessory device: establishing, with the accessory device, a connection using the connection information; and commissioning, using the connection, the accessory device on a set of one or more security domains.
77. An electronic device, comprising: one or more processors; and memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: receiving, from an installer device, a request to commission an accessory device, wherein the request to commission the accessory device includes connection information corresponding to the accessory device, 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; and in response to receiving the request to commission the accessory device: establishing, with the accessory device, a connection using the connection information; and commissioning, using the connection, the accessory device on a set of one or more security domains.
78. An electronic device, comprising: means for receiving, from an installer device, a request to commission an accessory device, wherein the request to commission the accessory device includes connection information corresponding to the accessory device, 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; and in response to receiving the request to commission the accessory device: means for establishing, with the accessory device, a connection using the connection information; and1804911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) means for commissioning, using the connection, the accessory device on a set of one or more security domains.
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 including instructions for: receiving, from an installer device, a request to commission an accessory device, wherein the request to commission the accessory device includes connection information corresponding to the accessory device, 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; and in response to receiving the request to commission the accessory device: establishing, with the accessory device, a connection using the connection information; and commissioning, using the connection, the accessory device on a set of one or more security domains.
80. A method, comprising: at a first device that is in communication with one or more input devices: 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; and in response to detecting the input corresponding to the request to communicate with the second device: in accordance with a determination that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes a criterion that is satisfied when the first device detects a first set of one or more activities, generating, to be sent to the second device, a first message includes an identification of the first set of one or more activities; and in accordance with a determination that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes a criterion that is satisfied when the first device detects a second set of one or more activities, generating, to be sent to the second device, a second message includes an identification 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 more1814911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) 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 is in communication with one or more display generation components, and wherein the first set of one or more activities includes display of a user interface via the one or more display generation components before detecting the input corresponding to the request to communicate with the second device.
82. The method of any one of claims 80-81, wherein the first device is in communication with one or more display generation components, and wherein the first set of one or more activities includes selection of a user interface element in a user interface of a first application displayed via the one or more display generation components before detecting the input corresponding to the request to communicate with the second device, the method further comprising: in response to detecting the input corresponding to the request to communicate with the second device, displaying, via the one or more display generation components, a user interface of a second application different form the first application.
83. The method of any one of claims 80-82, wherein the first set of one or more activities includes press of a hardware input mechanism of a third device before detecting the input corresponding to the request to communicate with the second device, wherein the third device is different from the first device and the second device.
84. The method of claim 83, wherein the first device is a personal device of a user, and wherein the user is an administrator for the accessory device.
85. The method of any one of claims 80-84, wherein the first set of one or more activities includes restart of a third device different from the first device and the second device.
86. The method of any one of claims 80-85, wherein the one or more input devices includes one or more cameras, and wherein the first set of one or more activities includes detection of, via the one or more cameras, of an action performed by a person before detecting the input corresponding to the request to communicate with the second device.1824911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)87. The method of any one of claims 80-86, wherein the first device is in communication 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: in accordance with a determination that the first set of one or more criteria is satisfied, displaying, via the one or more display generation components, the first message; and in accordance with a determination that the second set of one or more criteria is satisfied, displaying, via the one or more display generation components, the second message.
88. The method of any one of claims 80-86, wherein the first device is in communication 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, displaying, via the one or more display generation components, a third message different from the first message and the second message; and after detecting the input corresponding to the request to communicate with the second device: in accordance with a determination that the first set of one or more criteria is satisfied, sending, to the second device, the first message; and in accordance with a determination that the second set of one or more criteria is satisfied, sending, to the second device, the second message.
89. The method of any one of claims 80-88, wherein the first device is in communication with one or more display generation components, wherein the input is detected while displaying, via the one or more display generation components, a user interface, wherein the input corresponds to the user interface, the method further comprising: before displaying the user interface, receiving, from a third device different from the first device and the second device, a notification; and while displaying the notification, detecting, via the one or more input devices, an input corresponding to the notification, wherein the user interface is displayed in response to detecting the input corresponding to the notification.1834911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)90. The method of claim 89, wherein the notification is indicative of an issue with an 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 that is in communication with one or more input devices, the one or more programs including instructions for performing the method of any one of claims 80-90.
92. A first device that is configured to communicate with one or more input devices, the first device comprising: one or more processors; and 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 of any one of claims 80-90.
93. A first device that is configured to communicate with one or more input devices, the first device comprising: means for performing the method of any one of claims 80-90.
94. A computer program product, comprising one or more programs configured to be executed by one or more processors of a first device that is in communication with one or more input devices, the one or more programs including instructions for performing the method of any one of claims 80-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 that is in communication with one or more input devices, the one or more programs including 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; and in response to detecting the input corresponding to the request to communicate with the second device: in accordance with a determination that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes a criterion that is satisfied when 1844911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) the first device detects a first set of one or more activities, generating, to be sent to the second device, a first message includes an identification of the first set of one or more activities; and in accordance with a determination that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes a criterion that is satisfied when the first device detects a second set of one or more activities, generating, to be sent to the second device, a second message includes an identification 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 memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including 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; and in response to detecting the input corresponding to the request to communicate with the second device: in accordance with a determination that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes a criterion that is satisfied when the first device detects a first set of one or more activities, generating, to be sent to the second device, a first message includes an identification of the first set of one or more activities; and in accordance with a determination that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes a criterion that is satisfied when the first device detects a second set of one or more activities, generating, to be sent to the second device, a second message includes an identification 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.1854911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)97. A first device configured to communicate with one or more input devices, the first device comprising: means 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; and in response to detecting the input corresponding to the request to communicate with the second device: means for, in accordance with a determination that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes a criterion that is satisfied when the first device detects a first set of one or more activities, generating, to be sent to the second device, a first message includes an identification of the first set of one or more activities; and means for, in accordance with a determination that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes a criterion that is satisfied when the first device detects a second set of one or more activities, generating, to be sent to the second device, a second message includes an identification 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 that is in communication with one or more input devices, the one or more programs including 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; and in response to detecting the input corresponding to the request to communicate with the second device: in accordance with a determination that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes a criterion that is satisfied when the first device detects a first set of one or more activities, generating, to be sent to the second device, a first message includes an identification of the first set of one or more activities; and in accordance with a determination that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes a criterion that is satisfied when the first device detects a second set of one or more activities, generating, to be sent to 1864911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) the second device, a second message includes an identification 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 a first device that is in communication with one or more display generation components: detecting that a user of a second device is no longer within proximity of 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 within proximity of the second device and in accordance with a determination that a set of one or more criteria is satisfied, wherein the set of one or more criteria includes a criterion that is satisfied when the second device is not set in a particular mode, displaying, via the one or more display generation components, a notification corresponding to the second device.
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 a personal device of the user.
102. The method of any one of claims 99-101, wherein detecting that the user of the second device is no longer within proximity of the second device includes detecting that the second device is no longer is in communication with the first device.
103. The method of any one of claims 99-101, wherein detecting that the user of the second device is no longer within proximity of the second device includes detecting that the user is no longer within a predefined distance of the second device.
104. The method of any one of claims 99-101 and 103, wherein the first device is in communication with one or more cameras, wherein detecting that the user of the second device is no longer within proximity of the second device includes detecting, via the one or more cameras, a position of the user.1874911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)105. The method of any one of claims 99-101 and 103, further comprising: before displaying the notification corresponding to the second device, receiving, from the second device, a communication that indicates that the second device is set in the particular mode, wherein the determination that the set of one or more criteria is satisfied is based on the communication.
106. The method of any one of claims 99-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, detecting that the user of the second user is no longer within proximity of the second device since being within proximity of the second device after displaying the first notification corresponding to the second device; and in response to detecting that the user of the second user is no longer within proximity of the second device since being within proximity of the second device after displaying the first notification corresponding to the second device and in accordance with a determination that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes a criterion that is satisfied when the second device was set in the particular mode since displaying the first notification and a criterion that is satisfied when the second device is not set in the particular mode, displaying, via the one or more display generation components, a second notification corresponding to the second device, wherein the second set of one or more criteria is different from the first set of one or more criteria.
107. The method of any one of claims 99-106, further comprising: while displaying the notification corresponding to the second device, detecting that an amount of time has expired since displaying the notification corresponding to the second device; and in response to detecting that the amount of time has expired since displaying the notification corresponding to the second device, ceasing display of the notification corresponding to the second device.
108. The method of any one of claims 99-107, wherein the particular mode is a mode that enables remote control of the second device.1884911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)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 that is in communication with one or more display generation components, the one or more programs including instructions for performing the method of any one of claims 99-108.
110. A first device that is configured to communicate with one or more display generation components, the first device comprising: one or more processors; and 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 of any one of claims 99-108.
111. A first device that is configured to communicate with one or more display generation components, the first device comprising: means for performing the method of any one of claims 99-108.
112. A computer program product, comprising one or more programs configured to be executed by one or more processors of a first device that is in communication with one or more display generation components, the one or more programs including instructions for performing the method of any one of claims 99-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 that is in communication with one or more display generation components, the one or more programs including instructions for: detecting that a user of a second device is no longer within proximity of 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 within proximity of the second device and in accordance with a determination that a set of one or more criteria is satisfied, wherein the set of one or more criteria includes a criterion that is satisfied when the second device is not set in a particular mode, displaying, via the one or more display generation components, a notification corresponding to the second device.1894911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)114. A first device configured to communicate with one or more display generation components, the first device comprising: one or more processors; and memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: detecting that a user of a second device is no longer within proximity of 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 within proximity of the second device and in accordance with a determination that a set of one or more criteria is satisfied, wherein the set of one or more criteria includes a criterion that is satisfied when the second device is not set in a particular mode, displaying, via the one or more display generation components, a notification corresponding to the second device.
115. A first device configured to communicate with one or more display generation components, the first device comprising: means for detecting that a user of a second device is no longer within proximity of the second device, wherein the second device is different from the first device; and means for, in response to detecting that the user of the second device is no longer within proximity of the second device and in accordance with a determination that a set of one or more criteria is satisfied, wherein the set of one or more criteria includes a criterion that is satisfied when the second device is not set in a particular mode, displaying, via the one or more display generation components, a notification corresponding to the second device.
116. A computer program product, comprising one or more programs configured to be executed by one or more processors of a first device that is in communication with one or more display generation components, the one or more programs including instructions for: detecting that a user of a second device is no longer within proximity of 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 within proximity of the second device and in accordance with a determination that a set of one or more criteria is satisfied, wherein the set of one or more criteria includes a criterion that is satisfied when the second device is not set in a particular mode, displaying, via the one or more display generation components, a notification corresponding to the second device.1904911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)117. A method, comprising: at a computer system by a first application: 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: in accordance with a determination that a second application has not been initiated, initiating the second application, wherein the second application is separate from the first application; receiving, from the second application, content; and rendering, within the user interface of the first application, the content received from the second application, wherein the second application is terminated after the second application sends 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 an inter-process communication.
119. The method of any one of claims 117-118, wherein the content is received from the second application as part of initiating the second application.
120. The method of any one of claims 117-118, further comprising: after initiating the second application, sending, to the second application, a request for the content.
121. The method of any one of claims 117-120, wherein the second application is initiated as a foreground application.
122. The method of any one of claims 117-121, wherein the second application is a faceless application.
123. The method of any one of claims 117-122, wherein the second application is terminated in response to the first application receiving the content.1914911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)124. The method of any one of claims 117-122, wherein the second application is terminated in accordance with a determination that the second application is inactive.
125. The method of any one of claims 117-122, wherein the second application is terminated in response to receiving a request to cease display of the user interface.
126. The method of any one of claims 117-125, wherein, after terminating the second application and in accordance with a determination that the second application has been inactive for a first amount of time, data corresponding to the second application is deleted.
127. The method of any one of claims 117-126, wherein, after terminating the second application and in accordance with a determination 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 of any one of claims 117-127, wherein the user interface includes content from the first application.
129. The method of any one of claims 117-128, further comprising: after the second application is terminated, maintaining activity with the second application without requesting content from the second application.
130. The method of any one of claims 117-129, further comprising: before detecting the request to display the user interface of the first application, obtaining user permission to download the second application.
131. The method of claim 130, wherein: the user permission is obtained when adding an accessory device to an environment managed by the first application; the accessory device corresponds to the second application; and the accessory device is separate from the computer system.
132. The method of any one of claims 130-131, further comprising:1924911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) in response to obtaining the user permission to download the second application, downloading the second application.
133. The method of any one of claims 130-131, further comprising: in response to detecting the request to display the user interface of the first application, downloading the second application.
134. The method of any one of claims 117-133, wherein the first application initiates the second application using an operating system of the computer system.
135. The method of any one of claims 117-134, wherein detecting the request to display the user interface of the first application includes receiving, from the second application, the request to display the user interface of the first 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 of any one of claims 117-135.
137. A computer system by a first application, the computer system comprising: one or more processors; and 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 of any one of claims 117-135.
138. A computer system by a first application, the computer system comprising: means for performing the method of any one of claims 117-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 including instructions for performing the method of any one of claims 117- 135.1934911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1)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: 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: in accordance with a determination that a second application has not been initiated, initiating the second application, wherein the second application is separate from the first application; receiving, from the second application, content; and rendering, within the user interface of the first application, the content received from the second application, wherein the second application is terminated after the second application sends the content to the first application.
141. A computer system by a first application, the computer system comprising: one or more processors; and memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including 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: in accordance with a determination that a second application has not been initiated, initiating the second application, wherein the second application is separate from the first application; receiving, from the second application, content; and rendering, within the user interface of the first application, the content received from the second application, wherein the second application is terminated after the second application sends the content to the first application.
142. A computer system by a first application, the computer system comprising: means 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:1944911-4373-5135Attorney Docket No.: 126266.094501 (P69796WO1) means for, in accordance with a determination that a second application has not been initiated, initiating the second application, wherein the second application is separate from the first application; means for receiving, from the second application, content; and means for rendering, within the user interface of the first application, the content received from the second application, wherein the second application is terminated after the second application sends 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 including 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: in accordance with a determination that a second application has not been initiated, initiating the second application, wherein the second application is separate from the first application; receiving, from the second application, content; and rendering, within the user interface of the first application, the content received from the second application, wherein the second application is terminated after the second application sends the content to the first application.1954911-4373-5135
Citation Information
Patent Citations
Automatic application installation based on proximity detection
US11474801B1
Initial accessory setup
US20240137352A1
Configuring accessories
WO2022155609A1