IP Library Granted Patent US 10,454,783
Granted Patent B2
US 10,454,783 · App. 14/725,912 · Granted Oct 22, 2019

Accessory management system using environment model

Inventors: Andrew Burks (Sunnyvale, CA); Anush G. Nadathur (San Jose, CA); Srinivas Rama (Cupertino, CA); Kevin P. McLaughlin (Mountain View, CA); Joe Abuan (Cupertino, CA); Harlan Haskins (Cupertino, CA)
Assignee: Apple Inc.
H04L41/22G05B15/02G06F3/0482G06F3/04842H04L12/281H04L12/2809H04L67/025H04W76/16G05B2219/2642
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,454,783
App. No.
14/725,912
Granted
Oct 22, 2019
Kind
B2
Abstract

Controllers can be used to control the operation of various accessories. A group of accessories can be organized into an accessory network that can facilitate coordinated control of multiple accessories. The accessory network can be organized according to an environment model that can include a hierarchical representation of a physical environment where accessories are present. The environment model can be synchronized across different controllers that have access to the accessories.

Claims (49)

1. A method executable by one or more devices, the method comprising:

defining an environment model that comprises a hierarchical representation of a physical environment where a plurality of accessory devices are present, the hierarchical representation including a plurality of rooms at a first level and a plurality of zones at a higher level than the first level, each zone of the plurality of zones including at least one subset of the plurality of rooms, and wherein defining the environment model comprises defining a list of users and devices associated with the users that are authorized to edit the environment model;

adding a representation of each of the plurality of accessory devices to the environment model, the representation of each accessory device of the plurality of accessory devices being assigned to a room of the plurality of rooms in the environment model based at least in part on a physical location of each of the plurality of accessory devices;

identifying a respective characteristic of each of the plurality of accessory devices, the respective characteristic identifying an operation that a respective accessory device of the plurality of accessory devices is configured to perform and including a current state for the respective characteristic; and

providing a user interface operable to:

present a representation of the respective accessory device, a representation of a target state selector, and a representation of the current state;

receive an input indicating a selection of a target state for the respective accessory device; and

control the respective accessory device by sending information identifying the selection of the target state, enabling the respective accessory to compare the target state with information stored at the respective accessory device that indicates the current state.

2. The method of claim 1 further comprising:

establishing a pairing with each of the accessory devices, wherein establishing a pairing with an accessory device includes providing to the accessory device a long-term public key of the one or more devices and obtaining from the accessory a long-term public key of the accessory device.

3. The method of claim 1 wherein the environment model includes one room that is not assigned to any of the zones.

4. The method of claim 3 wherein adding the representations of the accessory devices to the environment model includes assigning the representations of the accessory devices to rooms, wherein for each accessory device, the representation thereof is assigned to exactly one room and wherein representations of accessory devices that are assigned to a particular room are also assigned to the zone in which the room is contained.

5. The method of claim 4 further comprising:

defining, in response to user input, a service group within the environment model, the service group having at least a representation of a first accessory device and a representation of a second accessory device assigned thereto,

wherein the representation of the first accessory device and the representation of the second accessory device are also assigned to rooms that are in different zones.

6. The method of claim 1 further comprising:

defining, within the environment model, a triggered action set, the triggered action set specifying a triggering condition and one or more control messages to be sent to one or more of the accessory devices represented in the environment model in response to detecting, by the one or more devices, that the triggering condition obtains.

7. The method of claim 6 wherein the triggered action set further specifies a triggering event such that detection by the one or more devices of the triggering event results in testing whether the triggering condition obtains.

8. The method of claim 1 wherein the environment model is synchronized among a plurality of devices on the list of devices.

9. The method of claim 1 , wherein the one or more devices are wirelessly connected to an access point.

10. The method of claim 9 , wherein the plurality of accessory devices are wirelessly connected to the access point.

11. A device comprising:

a user interface;

a communication interface to communicate with one or more other devices including at least an accessory device; and

a processing subsystem coupled to the user interface and the communication interface, the processing subsystem configured to:

define an environment model that comprises a hierarchical representation of a physical environment where a plurality of accessory devices are present, the hierarchical representation including a plurality of rooms at a first level and a plurality of zones at a higher level than the first level, each zone of the plurality of zones including at least one subset of the plurality of rooms, and wherein the environment model is defined by defining a list of users and devices associated with the users that are authorized to edit the environment model;

add a representation of each of the plurality of accessory devices to the environment model, the representation of each accessory device of the plurality of accessory devices being assigned to a room of the plurality of rooms in the environment model based at least in part on a physical location of each of the plurality of accessory devices;

identify a respective characteristic of each of the plurality of accessory devices, the respective characteristic identifying an operation that a respective accessory device of the plurality of accessory devices is configured to perform and including a current state for the respective characteristic; and

present the user interface operable to:

present a representation of the respective accessory device, a representation of a target state selector, and a representation of the current state;

receive an input indicating a selection of a target state for the respective accessory device; and

control the respective accessory device by sending information identifying the selection of the target state, enabling the respective accessory to compare the target state with information stored at the respective accessory device that indicates the current state.

12. The device of claim 11 wherein the processing subsystem is further configured to execute an application program that has a configuration mode and a control mode, wherein the configuration mode allows a user to operate the user interface to define the environment model and add representations of the accessory devices to the environment model, and wherein the control mode allows the user to operate the user interface to control the accessory devices within a framework corresponding to the environment model.

13. The device of claim 11 , wherein the user interface in a configuration mode includes a user interface screen describing an accessory and a user-operable identify control for the accessory,

wherein, responsive to user operation of the identify control, the device sends a reveal request to the accessory device, the reveal request being recognizable by the accessory device as an instruction to perform an action that is observable by the user, the action being determined by the accessory device.

14. A computer-readable storage medium having stored thereon program instructions that, when executed by a processor of at least one device, cause the at least one device to perform operations comprising:

defining an environment model, the environment model including a hierarchical representation of a physical environment where a plurality of accessory devices are present, and the hierarchical representation including a plurality of rooms at a lowest level and a plurality of zones at a higher level than the lowest level, each zone of the plurality of zones including at least one subset of the plurality of rooms, and wherein defining the environment model comprises defining a list of users and devices associated with the users that are authorized to edit the environment model;

adding a representation of each of the plurality of accessory devices to the environment model, the representation of each accessory device of the plurality of accessory devices being assigned to a room of the plurality of rooms in the environment model based at least in part on a physical location of each of the plurality of accessory devices;

identifying a respective characteristic of each of the plurality of accessory devices, the respective characteristic identifying an operation that a respective accessory device of the plurality of accessory devices is configured to perform and including a current state for the respective characteristic; and

providing a user interface operable to:

present a representation of the respective accessory device, a representation of a target state selector, and a representation of the current state;

receive an input indicating a selection of a target state for the respective accessory device; and

control the respective accessory device by sending information identifying the selection of the target state, enabling the respective accessory to compare the target state with information stored at the respective accessory device that indicates the current state.

15. The computer-readable storage medium of claim 14 wherein the operations further comprise:

establishing a pairing with each of the accessory devices, wherein establishing a pairing with an accessory device includes providing to the accessory device a long-term public key of the at least one device and obtaining from the accessory a long-term public key of the accessory device.

16. The computer-readable storage medium of claim 14 wherein for each accessory device, the representation thereof is assigned to exactly one room.

17. The computer-readable storage medium of claim 16 wherein the operations further comprise:

defining, in response to user input, a service group within the environment model, the service group having at least a representation of a first accessory device and a representation of a second accessory device assigned thereto,

wherein the representation of the first accessory device and the representation of the second accessory device are also assigned to rooms that are in different zones.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE 6TH INVENTOR'S FIRST NAME PREVIOUSLY RECORDED ON REEL: 036833 FRAME: 0932. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 8, 2016
From: BURKS, ANDREW; NADATHUR, ANUSH G.; RAMA, SRINIVAS; MCLAUGHLIN, KEVIN P.; ABUAN, JOE; HASKINS, HARLAN
To: APPLE INC.
Reel/Frame 040578/0582 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2015
From: BURKS, ANDREW; NADATHUR, ANUSH G.; RAMA, SRINIVAS; MCLAUGHLIN, KEVIN P.; ABUAN, JOE; HASKINS, HARLIN
To: APPLE INC.
Reel/Frame 036833/0932 →
Continuity (3)
Provisional Application 62005764 · May 30, 2014
Provisional Application 62094391 · Dec 19, 2014
Related Publication 20150350031A1 · Dec 3, 2015
Cited By (2)
US 12,231,318 US 12,363,017