CN112666841A - 使用环境模型的附件管理系统 - Google Patents

使用环境模型的附件管理系统 Download PDF

Info

Publication number
CN112666841A
CN112666841A CN202011559174.3A CN202011559174A CN112666841A CN 112666841 A CN112666841 A CN 112666841A CN 202011559174 A CN202011559174 A CN 202011559174A CN 112666841 A CN112666841 A CN 112666841A
Authority
CN
China
Prior art keywords
accessory
user
controller
coordinator
accessories
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011559174.3A
Other languages
English (en)
Inventor
A·布克斯
A·G·纳达图尔
S·拉马
K·P·麦克劳克林
J·阿布安
H·哈斯金斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of CN112666841A publication Critical patent/CN112666841A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/281Exchanging configuration information on appliance services in a home automation network indicating a format for calling an appliance service function in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • H04L12/2836Protocol conversion between an external network and a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/15Setup of multiple wireless link connections
    • H04W76/16Involving different core network technologies, e.g. a packet-switched [PS] bearer in combination with a circuit-switched [CS] bearer
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2642Domotique, domestic, home control, automation, smart house
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/284Home automation networks characterised by the type of medium used
    • H04L2012/2841Wireless

Abstract

本申请涉及使用环境模型的附件管理系统。本发明公开了一种控制器,该控制器可用于控制各种附件的操作。可将一组附件组织成可方便多个附件的协调控制的附件网络。可根据环境模型来组织附件网络,该环境模型可包括附件所处的物理环境的分层表示。可跨具有对附件的访问权限的不同控制器来对环境模型进行同步。

Description

使用环境模型的附件管理系统
本申请是申请日为2015年5月29日、申请号为201580028720.1、发明名称为“使用环境模型的附件管理系统”的发明专利申请的分案申请。
相关申请的交叉引用
本专利申请要求于2014年5月30日提交的名称为“Networking,Communicationand Security for an Accessory Management System”的美国临时专利申请No.62/005,764的权益,并且要求于2014年12月19日提交的名称为“Networking,Communication andSecurity for an Accessory Management System”的美国专利临时申请No.62/094,391的权益,并且还要求于2015年5月29日提交的美国专利申请No.14/725,912的权益。这些专利申请的公开内容全文以引用方式并入本文。
本公开还涉及于2015年2月5日提交的美国专利申请No.14/614,914和于2014年2月5日提交的美国临时专利申请No.61/935,967,这些专利申请的公开内容全文以引用方式并入本文。
本公开还涉及于2015年5月29日提交的美国申请No.14/725,891,该专利申请的公开内容全文以引用方式并入本文。
背景技术
本公开整体涉及附件管理系统,并且具体地涉及使用环境模型的附件管理系统。
电子设备正在一定范围的应用程序中变得越来越普及。移动电话、平板电脑、家庭娱乐系统等仅仅是用户经常进行交互的电子设备中的一些电子设备。
正变得更加普及的另一类电子设备包括各种可以电子方式控制的设备,诸如恒温器、照明设备、家用电器等。
发明内容
目前,用户可能难以管理多个可以电子方式控制的设备或系统。例如,用户家中可能有恒温器、可以电子方式控制的照明系统、家庭安保系统等。每个此类系统都可由不同的制造商制造,并且每个制造商可提供专用控制器设备(例如,基于IR的遥控设备)或用户可在通用设备诸如智能电话、平板电脑或家用计算机系统上安装并运行的控制器应用程序(“或应用程序”)。每个控制器设备或应用程序通常是针对特定制造商的系统而定制的,并且可能无法与来自其他制造商的系统或甚至与来自同一制造商的其他系统进行互操作。此类逐个针对的方式不容易进行缩放。试图利用能够集中控制或管理的异类设备阵列创建“智能家庭”环境等的用户面对积累过多控制器设备和/或控制器应用程序的需求。
本发明的特定实施方案可在用于控制器设备(或“控制器”)和要被控制的任意数量的其他电子设备(本文称为“附件设备”或简称为“附件”)之间的通信的协议的上下文中工作。例如,可在通用计算设备诸如台式计算机、膝上型计算机、平板电脑、智能电话、其他移动电话、其他手持式或可穿戴计算设备上通过为通用计算设备提供适当的可执行程序代码来实现控制器;作为另外一种选择,控制器可为专用计算设备。附件可包括能够由控制器控制的任意设备。附件的示例包括灯具、恒温器、门锁、自动门开门器(例如,车库门开门器)、静态相机或视频相机等。附件和控制器可经由使用标准传输协议诸如Wi-Fi、蓝牙、蓝牙LE等的有线信道或无线信道彼此进行通信。应当理解,可使用其他通信协议和传输。
在一些实施方案中,可提供“统一”附件协议,控制器可经由该“统一”附件协议来向附件发送命令和控制消息,并以统一格式从附件接收响应,而不管附件的类型或功能如何。例如,可将附件定义为服务的集合,其中每种服务均被定义为一组特性,每个特性在任何给定时间均具有所定义的值。这些特性可表示附件状态的各个方面。该协议可定义控制器可(例如,通过读取)询问和(例如,通过写入)更新附件的特性(单独或按组)所经由的消息格式,由此允许控制器确定和/或改变附件的状态。因此,任何类型的附件均可通过一致的方式被控制,而不管其功能如何。
在一些实施方案中,该协议可定义可用于防止未经授权的控制器操作附件的安全措施。例如,附件可被配置为仅接受来自先前已与附件建立配对并因此被附件识别的控制器的请求。该协议可指定配对流程,以便使未经附件的合法所有者/操作者批准进行配对的风险最小化。此外,该协议可以指定端到端消息加密,使得仅有特定控制器和附件可对它们之间交换的消息进行解密。
本发明的某些方面可涉及控制器网络,其中多个控制器可与同一附件(或同一组附件,诸如附件网络)建立配对或通过其他方式被配置为与该同一附件进行通信。在一些控制器网络中,一个或多个控制器可与附件建立一定水平的特权(例如,“管理”特权),该附件许可这些控制器以确定是否应当许可其他控制器向附件传送命令和控制消息。例如,第一控制器可与附件建立配对。建立配对可涉及向附件提供第一控制器的长期公钥,并且作为交换,接收用于附件的第一长期公钥。在建立配对中还可涉及其他操作(例如,带外PIN或密码交换)。独立于和附件的任何通信,第一控制器可获得用于第二控制器的长期公钥。第一控制器可使用建立配对期间接收的第一长期公钥来与附件建立经验证的会话。经验证的会话可具有会话密钥,并且可使用会话密钥来对经验证的会话内的所有通信进行加密。在经验证的会话内,第一控制器可与附件执行配对添加操作,以在附件和第二控制器之间建立配对。配对添加操作可包括向附件提供用于第二控制器的长期公钥,以及作为交换接收用于附件的第二长期公钥(可以是或不是在第一控制器建立其配对时接收的同一密钥)。第一控制器可向第二控制器传送用于附件的第二长期公钥。这个过程可在第二控制器和附件之间建立配对;之后,第二控制器可建立其自身的经验证的会话,以向附件发送命令和控制消息。第一控制器可重复配对添加过程,以在附件和任意数量的控制器之间建立配对。
在一些情况下,第一控制器可指示附件向第二控制器授予管理员(或“admin”)特权。授予这一特权可允许第二控制器执行配对添加操作,以在需要时并根据具体实施来添加附加控制器,该第二控制器可能够或不能够向附加控制器授予管理员特权。可将管理员特权自动分配给与全新附件(或与尚未建立配对的附件)建立配对的第一控制器。使用管理员特权可帮助设备所有者管控哪些控制器可获得对特定附件的访问权。
在一些控制器网络中,一个或多个控制器可作为用于与附件通信的代理而工作。例如,附件可被配置为仅与本地环境中(诸如,处于局域网上,该局域网根据需要可以是有线或无线的,或在点到点无线通信协议诸如蓝牙的范围内)实际存在的控制器设备进行通信。本地环境中不实际存在的控制器设备可与该附件的本地环境中实际存在的另一个控制器(代理设备或代理)建立通信,该代理可以在相距很远的控制器设备和附件之间中继消息和响应。相距很远的控制器和附件可建立配对验证会话并对其通信进行加密;代理不需要能够读取消息和响应,仅需要如接收那样对其进行中继。在一些实施方案中,可能需要为另一个控制器充当代理的控制器在附件将接受由代理中继的任何消息之前与附件建立其自身的配对验证会话。在一些实施方案中,代理和另一个控制器还可在它们之间建立配对验证会话,并且这可针对未经授权的访问提供进一步的保护。
在一些实施方案中,控制器在可能的时候可以优选直接通信,并在附件不可直接联系时使用代理。例如,在与附件建立配对之后,控制器可接收用于请求与附件进行交互(例如,以检查或更改其状态)的用户输入(或其他输入)。响应于该输入,该控制器可确定附件是否可直接联系,例如控制器和附件是否在同一局域网上。如果是这样,则控制器可直接与附件进行通信,以建立配对验证会话并交换命令和控制消息。如果附件不可直接联系,则控制器可尝试识别例如通过局域网或广域网可联系的代理。附件可与代理建立通信,然后通过代理与附件进行通信。
在一些实施方案中,代理可以是已与附件建立配对并存在于附件本地环境中的任何控制器。代理可从控制器接收与附件进行通信的请求。作为响应,该代理可与附件建立其自身的配对验证会话。可通过配对验证会话来将从控制器接收的消息中继到附件,并且可将通过配对验证会话从附件接收的消息中继到控制器。代理可能不知道其中继的消息内容;因此,例如,控制器和附件可使用代理不知道的密钥(例如,其自身的配对验证会话密钥)发送加密的消息。代理可继续中继消息,直到控制器和附件中的一者或另一者(或两者)发送用于指示可中止中继的消息。此时,代理可结束其验证会话并中止中继消息。
这种代理可以提供可以扩展控制器网络的物理范围而无需将附件连接到广域网的中继功能。被称为协调器的一些代理可提供附加功能,而不仅仅是中继消息。例如,协调器可介导对附件(或一组附件诸如附件网络)的访问。协调器可与附件建立配对并可与附件一起保持在本地环境中。其他控制器可与协调器建立配对,以补充或替代与附件建立配对。在控制器和协调器之间的配对验证会话期间,控制器可向协调器发送指令以控制附件。协调器可与附件建立配对验证会话,并向附件提供对应的命令和控制消息。协调器可从附件接收响应,并向控制器发送对应的响应。在这种配置中,协调器可读取控制器发往附件的消息以及附件对控制器的响应。可通过控制对协调器的访问来控制对附件的访问。例如,附件可被配置为仅与协调器建立配对。此外,在多个控制器可能同时尝试控制同一附件的情况下,协调器可协调其动作,例如实施优先级逻辑以解决冲突指令等。在一些实施方案中,协调器还可对每个控制器或每个附件施加访问限制。协调器不是必需的,但在有协调器时,一些实施方案可要求或优选通过协调器与附件进行通信。
本发明的特定方面可涉及附件网络,其中附件网络可以是由同一控制器(或一组控制器,诸如控制器网络)共同控制的一组附件。该附件网络可提供特征和选项,以协调对多个附件的控制。例如,可为附件网络定义环境模型,其中基于其物理位置来将附件分配到环境模型中的各个位置。在一些实施方案中,该环境模型可以是物理环境(例如,家庭)的分层表示,其可包括最低等级的对象(例如,房间),其中每个附件被分配到最低等级对象中的一个最低等级对象(例如,可基于附件安装在哪里或其在哪里花费其大部分时间来将附件分配到房间)。可将最低等级对象分组成更高等级的对象(例如,可将房间分组成家庭内的区域)。可逐个或在环境模型的任意分层等级上控制网络中的附件(例如,关闭特定房间或区域中的所有附件)。作为基于物理的分组的补充或替代,环境模型还可包括附件的其他逻辑分组,诸如可能在一起使用的附件的“服务分组”,并且在一些实施方案中,附件可被分配给一个物理分组和任意数量(包括零)的逻辑分组。在一些实施方案中,该环境模型还可提供“动作组”,其中单个触发事件或条件(例如,用户命令或可检测的事件,诸如一天中的时间)可导致调用网络中的若干个附件的功能(例如,在用户上床睡觉时关灯或锁门)。
附件网络可链接到控制器网络,该控制器网络可以是具有访问对附件网络的全部或部分的许可的一组控制器。例如,附件网络模型可包括访问列表,该访问列表识别具有对访问附件网络的许可的控制器。不同的控制器可具有不同等级的许可。在一些实施方案中,该控制器网络可包括如上所述的协调器,该协调器可根据许可方案来管理由特定控制器对特定附件的访问。链接到附件网络的每个控制器可接收附件网络模型的副本(例如,通过各种同步和/或数据共享操作)。一些控制器可具有编辑附件网络模型和/或向或从访问列表添加或移除其他控制器的许可。
以下具体实施方式连同附图将提供对本发明的实质和优点的更好理解。
附图说明
图1示出了根据本发明的实施方案的家庭环境。
图2示出了根据本发明的实施方案的控制器网络配置的示例。
图3示出了根据本发明的实施方案的针对附件网络的环境模型的示例。
图4示出了例示可根据本发明的实施方案定义的服务分组的示例的表。
图5示出了列出根据本发明的实施方案的用于定义动作组和触发的选项的表。
图6示出了列出可根据本发明的实施方案定义的动作组的示例的表。
图7是根据本发明的实施方案的用于设置环境模型的过程的流程图。
图8是示出了根据本发明的实施方案的针对环境模型的访问列表的表。
图9示出了根据本发明的实施方案的用于向环境模型传送更新的直接同步技术。
图10示出了根据本发明的实施方案的用于向环境模型传送更新的基于云端的同步技术。
图11-图38示出了根据本发明的各个实施方案的用户界面屏幕。
图39是根据本发明的实施方案的控制器的简化框图。
图40是根据本发明的实施方案的附件的简化框图。
具体实施方式
示例性环境
图1示出了根据本发明的实施方案的家庭环境100。家庭环境100包括可与位于该环境中的各个附件设备(也被称为附件)进行通信的控制器102。控制器102可包括例如台式计算机、膝上型电脑、平板电脑、智能电话、可穿戴计算设备、个人数字助理或能够向附件传送命令和控制消息并提供用户界面以允许用户指示对附件的期望操作的任何其他计算设备或设备分组(例如,如上述美国临时专利申请No.61/935,967和美国专利申请No.14/614,914中所述的)。在一些实施方案中,可使用多个分立设备来实现控制器102。例如,可存在基站以及一个或多个移动遥控站,该基站与附件进行通信并可被安装于环境100中的固定位置,该移动遥控站(例如手持或可穿戴设备,诸如移动电话、平板电脑、智能手表、眼镜等)提供用户界面并与基站进行通信,以实现对附件的有效控制。在一些实施方案中,基站可如下所述充当协调器或代理。
可控制任何类型的附件设备。附件设备的示例包括门锁104、车库门系统106、灯具108、安保相机110和恒温器112。在一些情况下,控制器102可与附件直接进行通信;例如,控制器102被示为直接与门锁104和车库门系统106直接进行通信。在其他情况下,控制器102可经由中间体进行通信。例如,控制器102被示为经由无线网络接入点114与处在由接入点114提供的无线网络上的附件108,110,112进行通信。如上所述,在一些实施方案中,控制器102可包括基站,并且基站功能可被集成到接入点114中或要被控制的附件中的一个附件中(例如,恒温器112)。在一些实施方案中,中间体可如下所述充当代理或协调器。
可使用各种通信传输和传输的组合,并且可与不同的设备使用不同的传输。例如,一些无线传输诸如由蓝牙SIG发布的
Figure BDA0002859808170000081
经典或
Figure BDA0002859808170000082
智能只通信协议的(本文称为“蓝牙”和“蓝牙LE”)可支持有限范围内的设备之间的直接点到点通信。其他无线传输诸如符合
Figure BDA0002859808170000083
联网标准的无线网络和由Wi-Fi Alliance发布的协议(本文称为“Wi-Fi网络”)可与中心接入点一起定义无线网络,该中心接入点对网络上的不同设备之间的通信进行路由。此外,尽管示出了无线通信传输,但也可为一些或所有附件提供有线传输。例如,灯泡108可通过有线连接而连接到接入点114,并且控制器102可通过以无线方式向接入点114发送消息来与灯泡108进行通信,这样可以经由有线连接来向灯泡108传输消息。有线通信和无线通信的其他组合也是可能的。
此外,尽管示出了一个控制器102,但家庭环境可具有多个控制器设备。例如,家中生活的每个人均可具有可为一些或全部附件104-112充当控制器的其自身的便携式设备(或设备)。不同的控制器设备可被配置为与不同子组的附件进行通信;例如,可阻止儿童的控制器修改恒温器112上的设置,而许可父母的控制器设备修改设置。例如,可使用下文所述以及在上文援引的美国临时在专利申请No.62/005,764、美国临时专利申请No.62/094,391和美国申请No.14/725,891中描述的技术来配置和控制此类许可或特权。
在一些实施方案中,统一附件协议可方便控制器102与一个或多个附件104-112的通信。该协议可提供简单且可扩展框架,该简单且可扩展框架将附件建模为服务的集合,其中每种服务被定义为一组特性,每个特性在任何给定时间具有所定义的值。各种特性可表示附件状态的各个方面。例如,针对恒温器112而言,特性可包括电源(开或关)、当前温度和目标温度。在一些实施方案中,消息格式可以是与传输相关的,同时符合相同的附件模型。在上述美国临时专利申请No.61/935,967和美国专利申请No.14/614,914中描述了基于服务和特性的附件模型的示例。
该协议还可定义控制器102向附件112(或其他附件)发送命令和控制消息(请求)以及附件112向控制器102发送响应消息的消息格式。命令和控制消息可允许控制器102询问附件特性的当前状态,并且在一些情况下,允许修改特性(例如,修改可关闭或打开附件的电源特性)。因此,可通过发送适当的消息来控制任何类型的附件,而不管其功能或制造商如何。该格式可在各个附件之间是相同的。在上述美国临时专利申请No.61/935,967和美国专利申请No.14/614,914中描述了消息格式的示例。
该协议还可提供允许附件112(或其他附件)在状态改变时选择性地通知控制器102的通知机制。可实施多种机制,并且控制器102可出于给定目的注册或订阅最适当的通知机制。在上述美国临时专利申请No.61/935,967和美国专利申请No.14/614,914中描述了通知机制的示例。
在一些实施方案中,可将与给定附件的通信限于经授权的控制器。该协议可指定一种或多种机制(包括本文称为“配对建立”和“配对添加”的机制),以用于在提供用户期望控制器102能够控制附件104的高置信度的环境下在控制器102和给定附件(例如,门锁附件104)之间建立“配对”。配对建立可包括带外信息交换(例如,用户可将由附件104提供的数字或数字字母PIN或密码输入到由控制器102提供的接口中),以建立共享秘密。可使用共享秘密来支持控制器102和附件104之间的“长期”公钥的安全交换,并且每个设备可存储从另一方接收的长期公钥,使得所建立的配对可持续。在建立配对之后,认为控制器102已被授权,并且之后控制器102和附件104可根据需要进行通信和不进行通信,而不会丢失所建立的配对。在控制器102尝试与附件104进行通信或控制附件104时,可首先执行“配对验证”过程以验证存在所建立的配对(例如,在控制器102先前完成与附件104的配对建立时将是这种情况)。该配对验证过程可包括每个设备证明其拥有与配对建立期间交换的长期公钥对应的长期私钥,并可进一步包括建立新的共享秘密或会话密钥,以对“配对验证”会话(本文也称为验证会话)期间的所有通信进行加密。在配对验证会话期间,具有适当特权的控制器可执行“配对添加”过程,以代表另一控制器与附件建立另一配对。任一设备都可在任何时间仅仅通过破坏其会话密钥的副本或使其失效而结束配对验证会话。
在一些实施方案中,多个控制器可与同一附件(例如,通过执行配对建立或由先前执行过配对建立的控制器添加配对)建立配对,并且附件可接受来自其配对控制器的任一个配对控制器的通信并对其作出响应,同时拒绝或忽略来自未配对控制器的通信。在上文援引的美国临时专利申请No.61/935,967和美国专利申请No.14/614,914中描述了配对建立、配对添加和配对验证过程的示例以及与安全相关的操作的其他示例。
应当理解,家庭环境100是例示性的,并且变型形式和修改形式是可能的。可在用户期望使用控制器设备控制一个或多个附件设备的任何环境中实施本发明的实施方案,包括但不限于家庭、汽车或其他交通工具、办公楼、具有多个楼宇的校园(例如,大学或企业园区域)等。可控制任何类型的附件设备,包括但不限于门锁、开门器、照明器具或照明系统、开关、电力插座、相机、环境控制系统(例如恒温器和HVAC系统)、厨房器具(例如冰箱、微波炉、洗碗机)、其他家用电器(例如洗衣机、烘干机、真空吸尘器)、娱乐系统(例如TV、立体声系统)、窗户、百叶窗、安保系统(例如报警器)、传感器系统等。单个控制器可与任意数量的附件建立配对,并可在不同时间选择性地与不同附件进行通信。类似地,单个附件可由与其已建立配对的多个控制器控制。可通过将功能建模为具有一个或多个特性的服务并允许控制器与服务和/或其特性进行交互(例如读取、修改、接收更新)来控制附件的任何功能。因此,可将本发明实施方案中使用的协议和通信过程统一用于具有一个或多个控制器和一个或多个附件的任何上下文中,而不管附件的功能或控制器的形状因数或特定接口如何。
图2示出了根据本发明的实施方案的网络配置200。配置200允许控制器202经由协调器210与位于本地环境206(例如,家庭环境)中的附件204进行通信。每个控制器202可以是时常出入环境206的用户(例如,家庭成员或家庭的常客)拥有和/或操作的电子设备。控制器202可各自类似于图1的控制器102,并且附件204可类似于图1所示的各个附件。
附件204可各自与可能位于本地环境206中的协调器设备(或“协调器”)210进行通信。如本文所用,“协调器”可以是能够作为附件204的控制器工作并从其他控制器(例如,控制器202)向附件204中继消息的电子设备。在一些实施方案中,协调器210可以是可协调多个控制器和/或附件之间的操作并且不限于被动地中继消息的“智能”设备。协调器210可以是能够将自身向附件204呈现为控制器且能够与控制器202进行安全通信的任何设备。在一些实施方案中,协调器210可以是预期将保持在本地环境206中并且预期将被加电并可在大部分或全部时间内用于通信的设备。(应当理解,协调器210可能偶尔不可用,例如,结合软件或固件升级、停电或其他中断事件。)例如,协调器210可被实现于台式计算机、Wi-Fi或接入点单元、专用附件控制基站、用于电视或其他电器的机顶盒(除了与电视或其他电器进行交互之外,其还可实施基站功能)、或符合需要的任何其他电子设备中。
在一些实施方案中,协调器210和附件204可使用局域网(LAN)诸如Wi-Fi网络和/或点到点通信介质诸如蓝牙LE进行通信。应当理解,可使用其他通信协议。在一些实施方案中,控制器202、附件204和协调器210可支持上文描述为可使用Wi-Fi和蓝牙LE两者作为传输方式而被支持的统一附件协议。
在图2的示例中,控制器202(1)和202(4)当前位于具有附件204和协调器210的本地环境206中。例如,控制器202(1)可与附件204和协调器210在同一LAN上。控制器202(2)和202(3)同时位于本地环境206外部,但连接到通信网络208(例如,互联网);此类控制器被说成处于附件204和协调器210的“远方”。应当理解,控制器202可以是有时在本地环境206内并且有时在本地环境206外部的移动设备。附件204不必是移动并且不需要连接到通信网络208。在一些实施方案中,协调器210可连接到通信网络208并可许可远程控制器202(2)和202(3)远程访问附件204。
在所示的示例中,控制器202可经由协调器210来与附件204进行通信,并且可将协调器210说成充当附件204的“代理”。协调器210可与附件204(1)和204(2)直接进行通信。针对附件204(3)而言,协调器210可经由“桥接器”212进行通信。桥接器212可工作以在控制器和附件之间中继命令;在一些实施方案中,桥接器212还可在协调器210或控制器202和附件204(3)使用的不同通信协议之间进行转换。此外,在一些实施方案中,可将桥接器212实现为可在协调器210和附件204(3)之间提供安全的端到端通信的“隧道”。在上文援引的美国临时专利申请No.62/005,764、美国临时专利申请No.62/094,391和美国专利申请No.14/725,891中描述了代理、桥接器和隧道的示例。
在网络配置200中,控制器202可被配置为只要可能便通过协调器210与附件进行通信204。因此,如图所示,处于本地环境206中的控制器202(1)与协调器210进行通信,而不是与附件204直接进行通信,如远程定位的控制器202(2)和202(3)。可将任何控制器202和附件204之间的直接通信限于例如协调器210不可用的情况。在其他实施方案中,只要控制器202和附件204恰好在彼此的范围中(例如,在同一Wi-Fi网络上或在蓝牙范围内),控制器202便可与附件204直接进行通信。例如,如图所示,控制器202(4)可与附件204(2)直接进行通信。
在一些实施方案中,可使用协调器210来协调多个控制器202对多个附件204的访问。例如,并非在每个控制器202和每个附件204之间建立配对,控制器202可各自与协调器210建立配对,并且协调器210可与每个附件204建立配对。还可使用用于建立控制器-附件配对的相同配对建立和/或配对添加过程来建立控制器-协调器配对,其中协调器充当附件的角色。为了进行协调器附件配对,协调器担当控制器的角色。因此,协调器210可在与控制器(例如,控制器202中的任一控制器)进行通信时将其自身呈现为附件,并且在与附件(例如,附件204)通信时呈现为控制器。
协调器210可方便包括附件204的附件网络的操作。例如,协调器210可为附件网络维护环境模型,并可向各控制器202提供该模型(或其部分);下文描述了环境模型的示例。控制器202可通过与协调器210进行交互而操作附件204。
在一些实施方案中,协调器210可管理与附件网络或环境模型相关联的许可,以限制特定控制器202对一些或所有附件204的访问。在一些实施方案中,控制器202可优先通过协调器210来将所有请求路由到附件204,并且在一些实施方案中,附件204可被配置为仅与协调器210直接进行通信并忽略直接来自控制器202的请求。这样可允许协调器210对访问附件204进行许可和其他限制。
通过协调器210使与附件的通信集中化可简化对控制器网络和/或附件网络(例如,本地环境206中的控制器202和附件204)的管理。例如,如果获得新附件,则新附件仅需要与协调器210建立配对,以便允许所有控制器202能够访问新附件。类似地,如果获得新控制器202,则新控制器202仅需要与协调器210建立配对,以允许新控制器能够访问所有附件204。在其中具有多个控制器(例如,成员均具有多个设备的家庭)并且可能有数十个附件的环境中,节省的时间可能相当可观。
应当指出,在配置200中,可许可控制器中的一个或多个控制器(例如控制器202(1))间接(通过协调器210)而非直接与一个或多个附件(例如,附件204(1))进行通信,而不管控制器202(1)是否在本地环境206中。例如,如果控制器202(1)已与协调器210建立配对但未直接与附件204(1)建立配对,则可能会发生这种情况。在一些情况下,这样可提供增强的安全性;例如,与协调器210建立配对的附件可拒绝建立任何其他配对。然而,可能有这样的情况:期望直接访问并可许可在特定附件例如附件204(1)和一个或多个控制器202之间建立直接配对。例如,假设附件204(1)为门锁,则控制器202(1)为移动电话。如果建立附件204(1)和控制器202(1)之间的直接配对,则用户可使用控制器202(1)经由直接通信来锁定或解锁附件204(1),由此锁定或解锁该门。例如,在协调器210暂时不可用的情况下,这可能是有用的。在一些实施方案中,可使用协调器210来向附件204(1)指示授权控制器202中的哪个控制器进行直接访问,并且附件204(1)可与被授权的控制器202建立配对。在一些实施方案中,附件204(1)可被配置为仅在协调器210不可用时接受来自授权控制器202的直接通信。因此,一般的规则可以是,与附件204的所有通信都通过协调器210,其中基于每个附件和每个控制器作出例外处理。
协调器210可作为智能代理而工作,以用于允许控制器操作附件,而不是简单地中继消息。例如,协调器210可与每个控制器202建立配对并与每个附件204建立配对。在控制器202(1)例如接收到与特定附件例如附件204(1)交互的用户请求时,控制器202(1)可与协调器210建立第一配对验证会话,并通过第一配对验证会话来向协调器210提供其针对附件204的指令。协调器210可接收指令,与附件204建立第二配对验证会话,并通过第二配对验证会话来向附件204发送适当的控制消息。在一些实施方案中,协调器210可知道指令的内容,并且在一些实施方案中,发送到附件204的消息不需要对应于由控制器202(1)提供的指令。例如,在与控制器202(1)进行通信的同时,协调器210还可与另一个控制器(例如,控制器202(2))进行通信。控制器202(1)和202(2)可各自向协调器210提供针对附件204的指令。诸如在控制器202(1)指示协调器210打开附件204而控制器202(2)指示协调器210关闭附件204的情况下协调器210可分析所接收的指令,例如以检测并解决冲突。可利用用于解决冲突的优先级规则或其他规则(例如,“打开”优先于“关闭”来对协调器210进行编程;来自具有管理员特权的控制器的指令优先于来自没有管理员特权的控制器的指令;等等)。协调器210可应用优先级规则以解决任何冲突,并可基于该解决情况来向附件204传送指令。在从附件204接收响应时,协调器210可确定是否向控制器202(1)和/或控制器202(2)发送对应的消息(或不同的消息)。作为另一个示例,协调器210可执行针对各控制器202和/或附件204建立的许可。例如,在控制器202中的一个控制器发送请求时,协调器210可应用决策逻辑部件以确定发送请求的控制器202是否具有适当许可;如果没有,则协调器210可拒绝请求。决策逻辑部件可根据需要简单或复杂;例如,可限制属于儿童的控制器在一天中的哪几个小时或多长时间可操作特定附件(例如,TV),而父母的控制器可具有不受限的访问,或者可将与客人(例如,保姆)相关联的控制器限制为操作附件的特定子集。因此,协调器210不限于充当控制器和附件之间的消息的无源中继,而是可主动干预,以解决冲突指令,实施授予特定控制器或用户的特权或许可上可能存在的任何限制,等等。
应当理解,网络配置200是例示性的,并且变型形式和修改形式是可能的。任意数量的控制器和任意数量的附件可被包括在来网络配置中。在一些实施方案中,可利用代理替换协调器210,该代理在控制器和附件之间中继消息,而无需读取消息的内容。在一些实施方案中,协调器210可被完全省略。一些或所有附件204可以仅在本地环境内可访问。此外,如下所述,不同的控制器202可在访问附件204方面具有不同等级的许可;例如,针对一些控制器202,可许可经由网络208的远程访问,但针对其他控制器202而言则不许可。
具有协调控制的示例性附件网络
如上所述,在具有可被控制的若干个附件的自动化环境的上下文中,协调器210可能特别有用。示例包括家庭、汽车或其他交通工具、办公楼、具有多个楼宇的园区域等。出于例示的目的,将描述用于家庭的附件网络具体实施的示例;了解本公开的本领域的技术人员将理解,可在其他自动化环境中实施类似的附件网络。
在附件网络的一个示例中,每个附件被连接到一个或多个控制器,并且可通过例如如上文援引的美国临时专利申请No.61/935,967和美国专利申请No.14/614,914中所述发送消息来控制附件。针对仅有几个附件的小型网络而言,这可得到完美的服务。然而,在一些情况下,尤其是随着附件数量增大,可能有帮助的是建立可通过协调方式管理的(对用户而言)有意义的附件分组。因此,本发明的某些实施方案可提供可用于协调附件网络中的多个附件之间的控件的环境模型。
图3示出了根据本发明实施方案的针对“家庭”环境的环境模型300的示例。家庭环境模型300可基于用户的家庭的物理布局。例如,家庭通常包括若干个房间,并且每个房间可在家庭环境模型300中被表示为“房间”元件302(1)-302(10)。在该示例中,房间元件302可包括并非在真实对应于房子中的房间的元件,诸如“前院”302(7)和“后院”302(9)。此外,房间元件302还可包括可被用于表示在家中但其在家中的位置会变化或未被定义为房间的附件的“任何地方”元件302(10)。
根据附件通常位于家中哪里,可将每个附件304(1)-304(24)分配给房间元件302中的一个房间元件。因此,例如,“主卧”房间元件302(1)可能包括风扇304(1),灯304(2),TV304(3)和音乐系统304(4)。“厨房”房间元件302(4)可能包括烤箱304(9),冰箱304(10),灯304(11)和风扇304(12)。类似地,其他房间元件302可包括可能在那些位置发现的其他附件,其中前院房间元件302(7)和后院房间元件302(9)包括在外部发现的附件,诸如院灯304(19),304(23)和洒水器系统304(20),304(24)。任何地方元件302(10)可包括往往在房子周围移动的附件,诸如真空吸尘器304(25)或位于负责维护环境模型300的用户未定义为房间的区域(例如,位于过道等中的小房间)中的附件。
此外,可能有用的是将房间元件302分组成“区域”元件306(1)-306(3),从而反映家中房间的布置。例如,在卧室在楼上并且公共区域在楼下的房子中,“楼上”区域元件306(1)可包括主卧元件302(1)、Jill的房间元件302(2)和Jack的房间元件302(3),而楼下区域元件306(2)可包括厨房房间元件302(4)、家庭房间元件302(5)和门厅房间元件302(6)。任何地方元件302(10)可在其自身的区域中或未分配给任何区域。不需要每个房间都被分配到区域。
家庭环境模型300可提供灵活的框架,以用于根据用户需求对附件进行组织和分组,并且图3中所示的示例并非要在任何方面中进行限制。例如,用户可定义所需的或多或者或少的房间元件302,并可向任何房间元件302分配任何附件304,而不限制可被分配给房间的附件数量或组合。任何地方元件302(10)可以是始终提供于模型中的预定义元件,但不要求用户向其分配任何附件304。类似地,用户可定义所需的或多或者或少的区域元件306;各个区域可对应于房间或逻辑分组的物理布置,并且多组区域可共存和交叠。例如,作为“楼上”和“楼下”区域的补充或替代,可针对“睡眠”区域和“活动”区域来定义区域元件306。在更小的家庭(例如,工作室或一室公寓)中,用户可能会发现定义区域根本没用,并且对区域元件的使用可以是任选的。针对更大的家庭或其他大型环境,可能期望有除房间和区域之外的更多层级的结构(例如,“翼”可能具有楼上区域和楼下区域),并且可相应地调整模型300。
在一些实施方案中,可逐个或在房间、区域或整个房子的等级上控制家庭环境模型300中的附件304。例如,用户可指示图2的协调器210打开所有外面的灯,从而影响到在区域元件306(3)“外部”的灯304(19),304(21)和304(23)。或者用户可指示协调器210关闭Jack房间302(3)中的所有附件,从而影响到Jack的灯304(18)和风扇304(7)。
在一些情况下,用户可能期望协调可能被分配到不同房间或区域的对附件的控制。因此,在一些实施方案中,用户可通过将各个附件分组到“服务分组”中来增强环境模型300。图4是示出了根据本发明的实施方案的可被定义的服务分组的示例的表400。服务分组可与环境模型300共存,并且单个服务分组可包括房间或区域的任意组合中的附件。例如,附件304可被分配到房间(其可位于一个或多个区域中)和一个或多个服务分组两者。通过例示方式示出的是“安全灯”服务分组402、“通风”服务分组404、“烹饪”服务分组406和“车库”服务分组408。安全灯组402可包括前院灯304(19)、后院灯304(21)、门廊灯304(18)和厨房灯304(11)。如图3中所示,这些附件被分配到两个不同区域中的四个不同房间,但用户可向安全灯组402发出指令,以打开组中所有的灯。类似地,通风组404可包括家中的所有风扇,而不管房间或区域如何。
服务分组中的附件可以是异类的;例如,烹饪组406可包括用户期望在烹饪时打开的各种附件,包括厨房灯304(11)、厨房风扇304(12)和家庭房间TV 304(13)。车库服务分组408可包括前院灯304(19)、车库灯304(21)和车库门304(22)。还应该指出的是,可将一个附件分配到多个服务分组;例如,厨房风扇304(12)在通风服务分组404和烹饪服务分组406两者中。
在一些实施方案中,用户可指示控制器设置整个服务分组的状态,例如打开或关闭分组。控制器可向具有与状态改变对应的特性的每个附件发送对应的写入消息。例如,用户可能指示控制器打开(或关闭)车库服务分组408。控制器可确定前院灯304(19)和车库灯304(21)具有“打开”特性,并因此可被打开(或关闭),但车库门304(22)没有“打开”特性。因此,控制器可向前院灯304(19)和车库灯304(21)发送写入请求,以向“打开”特性但不向车库门304(22)写入。
尽管不需要,但使用服务分组可在协调对多个附件的控制时提供另一个灵活度。
用于多个附件的协调控制的另一个模型可基于“动作组”。动作组可定义在发生“触发”时要采取的一组动作。在一些实施方案中,触发动作组可以分两个阶段进行。在第一阶段处,在控制器(例如,上述控制器202中的任一控制器)或协调器(例如,上述协调器210)处检测“触发事件”。响应于检测到触发事件,检测到事件的控制器202(或协调器210)可测试是否满足“触发条件”。如果满足,则可执行一个或多个“结果动作”。因此,用户可通过指定触发事件、触发条件和一个或多个结果动作来定义动作组。
图5示出了列出根据本发明的实施方案的用于定义动作组和触发的选项的表500。列502列出了触发事件的示例。如本文所用,触发事件可以是可由控制器(例如,上述控制器202中的任一控制器)或协调器(例如,上述协调器210)检测到的任何发生事件。列502列出了可检测触发事件的类别。可相对于本地环境206的位置例如在半英里内、1000英尺内等来定义“地理围栏”。能够(例如,使用全球定位服务(GPS)接收机等)确定其位置的控制器202(或其他用户设备)可检测其何时进入或离开地理围栏。在一些实施方案中,控制器202可响应于检测到其已进入或离开地理围栏而测试触发条件;除此之外或替代地,控制器202可向协调器210报告该事件,该协调器210可测试触发条件。在一些实施方案中,可支持更细粒度的地理触发事件,诸如检测用户何时进入或离开家中的特定房间。
在控制器或协调器从附件接收到状态改变的通知时,可检测到附件状态改变事件。可在统一附件协议中实现附件向控制器发送的状态改变通知,例如如上文援引的美国临时专利申请No.61/935,967和美国专利申请No.14/614,914中所述的。(应当理解,由于协调器210可相对于附件204作为控制器进行工作,因此协调器210可与其他控制器以相同的方式从附件接收状态改变通知。)
时间/日期事件可以是参考时钟和/或日历定义的事件。时间/日期事件的示例可包括“每天晚上10:00”、“星期六上午8:00”等等。能够访问时钟和/或日历数据以确定当前时间和/或日期的任何控制器或协调器均可检测到何时发生时间/日期事件。
“天气”事件可捆绑到可能每天变化的外部条件。天气事件的示例包括根据日期和位置而发生于不同的时间的日出和日落。其他示例包括室外温度超过或降低到低于阈值,开始或停止下雨,大气压变化,风速达到阈值,环境光水平超过或低于阈值,地震活动等。控制器或协调器可使用各种技术来检测天气事件。例如,控制器或协调器可周期性地轮询在线天气服务等,以检索天气数据。作为另外一种选择,可在家庭外部安装天气传感器(例如温度计、风速计、气压计、光传感器),并从传感器检索天气数据。日出和日落时间可随位置和日期改变,但比大部分天气事件的变化可预测性高得多,可基于家庭位置和日历日期来计算或者从在线服务获得。
“通知”事件可包括在源处产生并可被协调器或可由控制器接收的任何类型的电子消息信号,而不管源如何。例如,协调器或控制器可能能够接收紧急广播消息(例如,龙卷风警报、海啸警报、地震活动警示)。作为另一个示例,协调器可从与家庭相关联的控制器中的一个控制器接收通知(例如,控制器用户的时间安排已变化的通知);在一些实施方案中,此类通知可由暂时不在本地环境中的控制器产生。作为另一个示例,协调器可从不同本地环境(例如,邻居家,假设邻居已授权共享通知)中的协调器接收通知;此类通知可包括例如基于邻居安装的天气传感器的关于天气的信息、安全信息(例如,检测到可能的破窗行窃或可疑活动)等。
可使用家中的存在传感器和/或通过每位用户通常随身携带的特定用户设备的存在或不存在来确定用户的存在或不存在。例如,协调器210可检测本地环境206中有哪些控制器202,并可相应地推断控制器202的用户的存在或不存在。
在一些实施方案中,不存在自身可被检测为触发事件的预期事件。例如,如果用户正常情况下下午6:00到家,则在更晚时间(例如,晚上8:00或晚上10:00)的用户的持续不存在被检测为触发事件。
在一些实施方案中,例如基于对用户不同时间行为的分析,可使用机器学习来定义触发事件。例如,此类分析可由协调器210执行并可为任意复杂性的。例如,协调器210可观察用户与各个附件的交互并检测模式,诸如“如果下雨超过10分钟,则用户便关闭自动洒水器。”基于这种模式,协调器210可将“下雨超过10分钟”定义为触发事件。
手动用户输入也可以是触发事件。例如,用户可明确指示控制器发起特定动作组。
在检测到触发事件时,检测到触发事件的控制器或协调器可测试与触发事件相关联的一个或多个触发条件。在一些实施方案中,检测到触发事件的控制器可向协调器报告该事件,该协调器可测试一个或多个触发条件。列504列出了可测试触发条件的类别。
在一些实施方案中,“始终”条件指示无论何时检测到触发事件均应执行结果动作。例如,利用手动触发事件定义的动作组可具有被定义为“始终”的触发条件,结果,该用户可在任何时间手动调用动作组。可类似于对应类别的触发事件来定义基于时间/日期、天气条件和一个或多个用户存在/不存在的触发条件。因此,例如,检测到天气事件可能导致测试时间/日期条件,以确定是否执行结果动作。
附件状态触发条件可基于触发事件时附件的当前状态。例如,响应于检测到触发事件,检测到触发事件的控制器或协调器可向特定附件发送读取请求以确定其状态。因此,例如,触发事件可以是一个附件的状态改变(例如,前门从未锁状态改变为已锁状态),并且触发条件可基于另一个附件的状态(例如,车库门是否已锁)。
位置条件可基于检测到事件和/或另一个用户(或其他用户的设备)位置的控制器的位置。例如,触发事件可以是日落,并且触发条件可以是用户不在家;结果动作可以是打开走廊的灯。
可从机器学习来确定历史趋势。例如,如果用户在正常情况下在到家时打开特定的灯,则触发条件可基于在用户进入家周围地理围栏的触发事件发生时,那些灯是否打开。
列506列出了可响应于满足触发条件而实施的“结果动作”的类别的示例。一个类别涉及改变附件的状态。例如,检测到触发事件的控制器或协调器可测试与触发事件相关联的触发条件。如果满足条件,则控制器或协调器可向一个或多个附件发出一个或多个写入请求,以改变其状态。因此,例如可将动作组定义为:“在前门状态从未锁改变为已锁(触发事件)时,检查车库门的状态;如果车库门未锁(触发条件),则锁定车库门。”检测前门的状态改变可基于来自前门附件的通知。可通过向车库门附件发送读取请求来检查车库门状态,并且可通过向车库门附件发送写入请求来锁定车库门。
另一个类别涉及读取和报告附件的状态。例如,如果满足触发条件,则控制器或协调器可向一个或多个附件发出一个或多个读取请求,以确定其状态,并可(例如,通过用户设备上的弹出通知或推送通知)向用户通知状态。因此,例如假设将家中的窗户作为附件进行操作,则可将动作组定义为“在开始下雨时(触发事件),确定用户是否在家;如果用户不在家(触发条件),则读取窗户的状态并向用户报告状态。”用户然后能够远程关上窗户。
在一些实施方案中,结果动作可包括与附件进行交互之外的动作。例如,如上所述,可在智能电话或除与附件进行通信还可支持其他功能的其他设备上实现控制器。在一些实施方案中,响应于检测到触发条件,控制器可调用设备的其他功能。例如,控制器可调用设备的消息功能(例如,电子邮件、SMS),以向某人发送消息。控制器还可启动设备上的应用程序(例如,音乐播放程序)。因此,例如,可将动作组定义为“在用户到家时(触发事件),如果扬声器系统未在播放音乐(触发条件),则启动音乐应用程序并将其连接到扬声器系统(结果动作)。”
如这些示例所示,触发动作组的一般形式可以是“在发生(触发事件)时,检查(触发条件);如果(触发条件)为真,则执行(结果动作)。”用户可通过根据需要从表500的类别或其他类别指定触发事件、触发条件和结果动作来定义动作组。在各种实施方案中,可为触发事件和/或触发条件定义任何程度的复杂性(例如,“如果天黑之后并且不是星期二并且家中没有用户,则…”)。同一触发事件和/或触发条件可触发任意数量的结果动作。
作为进一步例示,图6示出了示出了列出可根据本发明的实施方案定义的动作组的示例的表600。每个动作组可具有用户分配(或系统分配)的名称602、触发事件604、触发条件606、以及要(例如,通过向附件发送控制消息)采取的一个或多个结果动作608。尽管示出了三个示例,但可定义任意数量的动作组,并且一些动作组可具有多个触发条件(例如,触发事件和触发条件的不同组合可触发相同组的结果动作)。在一些情况下,一些动作组可以是由附件管理系统的提供商预定义的,并且用户可根据需要定制预定义的动作组或添加其他动作组。
例如,可基于地理围栏触发事件来触发“回家”动作组610,诸如在控制器(例如,图2的控制器202(2))进入家的特定半径(例如,半英里或1000英尺等)内时。可使用板载GPS系统等来确定控制器202(2)的位置,并且在其位置跨入定义的地理围栏内时,控制器202(2)可向协调器210发送消息,从而通知协调器210已满足触发事件。触发条件可以是在日落之后的时间。“回家”动作可包括例如打开门厅302(6)中的灯304(17),将恒温器304(15)设置到期望温度、和/或其他需要的动作。在接收到控制器202(2)已跨入地理围栏的消息时,协调器210可确定当前时间是否在日落之后,并且如果是,则协调器210可发送控制消息以采取动作。在一些实施方案中,控制器202(2)可根据需要直接或通过代理或其他中间体来向附件发送控制消息,并且不要求使用协调器210。
“看电影”动作组612可被手动触发,即通过表达用户指令来触发。例如,用户可从有控制器呈现的活动列表中选择“看电影”,或者向控制器的语音控制界面说出指定短语,诸如“开始看电影”。在这种情况下,触发条件为“始终”,使得无论何时用户输入适当的指令均执行看电影的动作。要响应于触发事件执行的动作可包括关闭厨房302(4)中的灯304(11)、调暗家庭房间304(5)中的灯304(14)、打开家庭房间304(5)中的TV 304(13)、以及调用TV 304(13)的电影选择界面。电影选择界面可以是例如选择菜单,以选择本地存储的电影或可从TV 304(13)连接的流媒体源获得的电影。在后一种情况下,调用电影选择界面可包括指示TV 304(13)连接到流媒体源并获得关于可用电影的信息。(应当理解,在这种上下文中,可将任何类型的视频内容作为“电影”来对待。)
可在每天的特定时间例如晚上10点或家庭成员正常睡觉的某个其他时间触发“睡眠”动作组614。在该示例中,触发事件被设置为晚上10点,并且触发条件被设置为“周日夜晚”(可定义其以表示星期天到星期四的夜晚);因此,“睡眠”动作组不会在星期五或星期天晚上10点被自动触发。睡眠动作的示例可包括关闭楼下区域306(2)、Jill房间302(2)和Jack房间302(4)中的所有灯;关闭TV 304(13);调暗主卧302(1)的灯光;以及开始在音乐播放机304(4)上回放“临睡前”音乐播放列表。也可包括其他动作。
在一些实施方案中,具有自动触发动作组也可被手动触发,例如由用户向控制器的语音控制界面中讲出命令,从而从控制器的图形用户界面选择动作组,从而执行基于手势的控制器检测到的手势,等等。在一些实施方案中,一些或所有动作组可具有定义的“口语”语音命令;例如,用户可能能够说出某些像“晚安,家”的话来,以调用睡眠动作组614。在用户手动调用动作组时,不需要测试触发事件和触发条件。
图6中的示例仅仅是示例性的。其他动作组和触发也是可能的。如上所述,在一些情况下,触发事件可基于一些附件中的状态改变。例如,假设家庭具有洒水器系统和洗碗机,并且期望在洗碗机完工之后运行洒水器。用于启动洒水器的动作组可被洗碗机从“周期进行中”到“周期完成”的状态变化等触发。协调器或其他控制器可监测一个附件以检测状态变化(在上文援引的美国临时专利申请No.61/935,967和美国专利申请No.14/614,914中描述了通知过程和检测附件状态变化的控制器的其他示例),并可在检测到特定状态改变时自动向另一个附件发送消息。
应当理解,在用户正在控制被协调附件组的任何情况下(例如,在房间、区域或服务分组内,或使用动作组),可通过使用控制器和该附件之间的配对验证会话以向分组中的每个附件发送个体消息来实现附件控制。根据具体实施,控制器可以是用户操作的控制器(如果其与被控制附件直接进行通信),或者可以是诸如图2的协调器210的协调器。在后一种情况下,用户的控制器可在被控制的分组的粒度下向协调器发出指令(例如,“打开安全灯组”),并且协调器可使用表400或类似数据结构来确定哪些附件应当接收控制消息。类似地,用户的控制器可向协调器发出指令诸如“执行看电影动作组”,并且协调器可使用表600或类似数据结构来确定哪些附件应当接收控制消息。
在一些实施方案中,用户可定义具有各种触发事件和/或触发条件的多个动作组。在附件状态改变可以是针对动作组的触发事件的情况下,可能的是执行一个动作组可触发执行另一个动作组。这样可导致冲突或“不一致”的动作组。例如,第一动作组可包括触发第二动作组的结果动作,该第二动作组可撤销第一动作组的效果,或者执行第二动作组可重新触发第一动作组(潜在地导致反复执行动作组的循环)。
为了避免冲突,一些实施方案可提供确定新定义的触发动作组是否与任何先前定义的触发动作组冲突的“一致性检查”逻辑部件(例如,在控制器设备内)。例如,作为环境模型的一部分,控制器设备可访问现有触发动作组的列表。在用户操作控制器设备的接口以定义新的触发动作组时,控制器设备可执行一致性检查。如果一致性检查失败,则控制器设备可拒绝向现有触发动作组的列表添加新的触发动作组。用户可被通知拒绝的具体原因并可校正问题,由此允许添加新的触发动作组。
可实施各种一致性检查。例如,控制器设备可确定针对新的触发动作组的触发事件或触发条件是否对应于现有触发动作组的结果动作。如果不对应,则可认为新动作组一致,并被添加到现有触发动作组的列表中。如果针对新的触发动作组的触发事件或触发条件不对应于现有触发动作组的结果动作,则控制器设备可确定执行新的触发动作组的结果动作是否将触发任何现有动作组。基于该确定,控制器设备可跟踪那些结果动作对其他现有触发动作组的作用,从而构造一系列触发动作组;在控制器发现其结果动作不触发任何其他触发动作组的触发动作组时,该系列可结束。也可按照相反方向例如通过确定新触发动作组的结果动作是否对应于现有触发动作组的触发事件或触发条件来构造该系列。在构造触发动作组的系列时,可在系列中的任意数量的链接之间检测不一致性(例如,执行动作组A触发动作组B,这触发动作组C,这再次触发动作组A)。在一些实施方案中,控制器设备还可确定新触发动作组是否是“内部一致的”,例如结果动作是否包括触发事件。为了进行一致性检查,可忽略手动触发动作组,因为用户可通过不执行手动触发来中断该“系列”。
使用适当的界面,用户可创建环境模型(例如,图3的家庭环境模型300)并向其添加附件。用户还可例如通过将附件移动到不同房间来定义新房间、区域和/或服务分组等来修改环境模型。在控制器(可以是图2的协调器210或任何控制器202)上执行的应用程序可提供用户界面屏幕或可用于管理环境的其他用户界面,并经由用户界面接收的指令可被解释为环境模型的变化。下文描述了用户界面的具体示例。控制器可周期性地(例如,在作出变化时和/或响应于来自用户的保存变化的明确指令)保存环境模型的副本。
图7是根据本发明的实施方案的用于设置家庭环境的过程的流程图700。过程700可在例如执行适当应用程序的控制器(图2的控制器202或协调器210的任一者)中实施。在一些实施方案中,可仅在执行过程的控制器在家庭本地环境中时才使用过程700。
在框702处,用户可例如通过调用控制器的“新环境”功能来创建新的家庭环境模型。可基于图3的环境300利用房间和区域的默认配置来对环境模型进行初始化。例如,默认可以是提供位于一般“区域1”中的一般“房间1”或仅仅是未被分配到区域的“任何地方”房间。在框704处,用户可基于其特定的家庭来定义房间和区域。例如,用户可对一个或多个一般房间和区域重命名、添加新房间、添加新区域、在区域之内放置房间等。
一旦(默认或经由用户输入)定义了至少一个房间,用户便可向环境模型添加附件。例如,在框706处,用户可与位于家中某处的附件建立配对(例如,如上所述通过执行配对建立或配对添加)。在附件通过协调器通信的一些实施方案中,如果用户未直接与协调器210交互,则框706可包括向协调器210进行传送,使得协调器210与附件建立配对。在已建立配对时,用户可在框708处向家庭添加附件。框708可包括例如用户指定针对附件的房间分配。在一些实施方案中,房间分配可默认为与添加的最后一个附件、任何地方房间或某个其他默认房间相同的房间。在框710处,用户可添加另一个附件(返回框706)或结束该过程(框712)。结束过程700的用户可稍后返回该过程,以添加附加附件。例如通过添加或移除房间或区域,在区域之间移动房间,在房间之间移动附件,定义服务分组和/或动作组等,可利用允许用户修改环境模型的其他框来增强过程700。
过程700可根据需要被修改,并且操作的次序可被改变,并且操作可被重复。例如,在一些实施方案中,控制器可在创建环境模型之前与一个或多个附件建立配对。在接下来创建环境模型时,控制器可自动或基于用户输入来向环境模型添加附件。作为另一个示例,控制器可与若干个附件建立配对,然后在单次操作中向环境模型添加所有配对的附件。其他修改形式也是可能的。
应当理解,本文所述的附件网络和环境模型是示例性的,并且变型形式和修改形式是可能的。环境模型不限于家庭环境,而是可扩展到其中可能存在附件的任何类型的环境(办公楼、学校、多个楼宇的园区、城市公共基础设施等)。可根据需要来实施用于定义和修改环境模型并用于向环境模型添加附件的特定过程和用户界面。示例在下文进行描述。
示例性同步技术
设想多个用户可共享对环境及其附件的访问。例如,家庭的所有成员可访问家庭环境和其中存在的附件。还设想单个用户可具有其期望用于操作环境中的附件的多个设备。因此,可能期望多个用户可访问和/或修改环境模型以及控制附件。例如,如果用户向环境添加附件,可能期望频繁出入环境的其他用户在其设备上与环境模型进行交互时看到该附件。
因此,可能有用的是与环境模型相关联地维护访问列表。该访问列表可识别被许可访问和/或修改环境模型的个体用户和/或设备(包括模型中存在的任何附件)。访问列表还可指示授予每个用户的许可类型(例如,查看和/或编辑)。
图8是根据本发明的实施方案的针对环境模型提供访问列表的表800。出于例示的目的,假设表800与图3的家庭环境模型300相关联并且将家庭建模为四个个人居住:“妈妈”、“爸爸”、“Jill”和“Jack”。假设妈妈和爸爸是成年人,而Jill和Jack是未成年儿童。还假设其他人可能有时需要访问家庭环境模型300。例如,“保姆”可以是在成年人不在家时雇用看孩子的人。针对可访问环境的每个人(用户),表800可列出用户标识符(字段802)、属于该用户的控制器设备(字段804)和授予该用户的许可(字段806)。如图所示,用户可具有任意数量的设备。(爸爸有五个,妈妈和Jill各有两个,Jack和保姆各有一个。)在该示例中,可根据用户而非仅仅根据设备来授予许可,使得用户的体验可在设备之间是一致的。如果需要也可实施根据设备的许可,并且可支持根据用户和根据设备许可的组合。例如,具有完全访问许可的用户(例如,图8中的爸爸)可具有与其他用户共享的设备,诸如用于TV的机顶盒(其可能由整个家庭使用),并且爸爸可能不期望其他用户在他们使用机顶盒时具有对环境模型的完全访问权。因此,如图8所示,机顶盒可具有来自爸爸的其他设备的不同许可。
在一些实施方案中,用户标识符可以是用户一贯用于其控制器设备的任何名称或其他标识符。例如,在一些实施方案中,所有用户控制器设备均可链接到基于云端的数据服务,用户在该基于云端的数据服务处维护账户。经由用户的账户,基于云端的数据服务可为用户的设备提供数据存储和检索。在一些实施方案中,基于云端的数据服务还可提供设备管理服务,诸如在用户设备间同步数据(假设所有设备均链接到同一用户账户),更新设备固件,提供对可在设备上执行的应用程序(以及此类程序的更新)的访问等等。在控制器设备链接到基于云端的数据服务时,用户标识符802可以是用于访问基于云端的数据服务的用户名(或其他用户ID)。这样可提供全局唯一用户名的方便体系。
如表800中所示,每个用户均可被分配许可等级。在该示例中,定义了三个许可等级。具有“完全”许可的用户可控制环境模型300中的附件,修改环境模型300,以及添加用户或从访问表800移除用户。具有“家庭”许可的用户可控制环境模型300中的附件,修改环境模型300,但不能添加或移除用户。具有“基本”许可的用户可控制环境模型300中的附件,但不能更改模型或添加或移除用户。
具有“客人”许可的用户可能具有更受限的访问。例如,客人许可将限制设定为在附件可被控制时可以控制哪些附件等,并且可为不同等级的“客人”许可定义对访问限制的不同组合。因此,例如,用户保姆可能具有对所有附件的访问权,但仅在预计保姆照看儿童的时间期间。另一个用户诸如园丁可能仅具有对外部区域306(3)中的附件的访问权,从而允许园丁访问存放在车库中的园丁工具以及洒水器系统,但不可访问房子内部。客人许可或其他形式的受限访问可支持对环境模型300中的附件的访问的精细粒度的控制。限制可基于特定附件、房间或区域;时间约束(例如,一天中的特定小时,一周中的几天或日期范围);使用约束(例如,对用户每天或每周可操作TV的小时数的限制);尝试访问的控制器在本地环境中还是远离它;等等。
在一些实施方案中,与添加和移除用户相关的许可等级可独立于与修改环境模型相关的许可等级。例如,可能许可一位用户做两件事,而许可另一个用户修改环境模型,但不能添加或移除用户。应当指出,与环境模型相关联的许可等级可独立于和特定附件相关联的特权等级(例如,如上文援引的美国临时专利申请No.62/005,764、美国临时专利申请No.62/094,391和美国申请No.14/725,891中所述的管理员和用户特权),并且在一些实施方案中,除了具有适当特权的控制器可能无法控制附件,而无管表800中可能建立的任何许可如何。例如,仅协调器设备可能有特权操作特定附件;具有适当许可的其他控制器可通过与协调器进行通信而直接操作附件。
在用户通过与协调器(例如,图2的协调器210)交互来控制附件的一些实施方案中,协调器210可查询表800,以确定用户是否具有执行所请求的操作(例如,控制特定附件)的许可,并可仅在用户具有许可时向附件传送控制消息。在通过协调器210介导与环境300中的附件的交互的情况下,假设协调器210具有特权以控制环境300中的所有附件,则附件可能知道或不知道哪个控制器是从协调器210接收的控制消息的最终来源。
在多个用户和/或控制器设备共享对环境模型的访问并且一个控制器设备对模型作出改变时,可能期望向能够访问模型的其他控制器设备传播该变化。这可至少部分地通过利用同步技术来完成,该同步技术在用户设备之间传播数据更新。
图9中示出了本文称为“直接”同步的技术。出于例示的目的,假设图8中示出了能够访问环境模型的用户和设备。如上所述,进一步假设每个用户均在基于云端的数据服务处具有账户,并且所有用户设备均链接到该账户,从而允许在用户设备之间对数据对象进行同步。
进一步假设,已利用爸爸的膝上型电脑902来对环境模型作出了改变(Δ)。即,爸爸的膝上型电脑902现在具有修改的环境模型904(被表示为“HOME+Δ”)。应当将改变Δ传播到其他设备。
为了向爸爸的其他设备——电话906、平板电脑908、协调器910和机顶盒911传播改变Δ,可利用基于云端的数据服务的同步特征,条件是将家庭模型904当做其中基于云端的数据服务被包括在其同步操作中的数据对象。因此,在爸爸的膝上型电脑902同步到基于云端的数据服务(本文也称为“云同步”的过程)时,基于云端的服务将自动获得更新的家庭模型904,并且在爸爸的电话906、平板电脑908和协调器910下一次进行云同步时,更新将传播到那些设备,如虚线箭头所示的。云同步可自动进行(例如,响应于改变)或在用户(在这种情况下,爸爸)明确请求时进行。
还应当将改变Δ传播到其他用户的控制器设备。在一些实施方案中,作为改变来源(在这种情况下为爸爸的膝上型电脑902)的设备可与控制器设备连接并彼此传送改变Δ。然而,这样可能会很麻烦,尤其是如果有大量控制器设备时。
为了减少所需连接和通信的数量,可利用其他用户设备之间的云同步。例如,爸爸的膝上型电脑902可读取图8的访问列表800并识别每个其他用户的一个设备,例如妈妈的平板电脑920、Jill的电话922、Jack的电话924和保姆的电话926。爸爸的膝上型电脑902可向所识别的设备传送改变。这种通信可使用可能需要或不需要用户参与的本地文件来共享功能。在一些实施方案中,云同步的数据服务可方便定位其他用户的设备和/或向其传输数据。一旦用户设备中的一个用户设备接收到改变,便可经由云同步来将该改变传播到用户的其他设备。因此,妈妈的电话928和Jill的膝上型电脑930可经由云同步获得更新,如虚线箭头所示的。
在一些实施方案中,可利用经由基于云端的数据服务可进行云同步,以进一步简化对改变的传播。图10示出了根据本发明的实施方案的用于向环境模型传送更新的“基于云”的技术。图10示出了与图9相同的设备。在这种情况下,每个设备均具有经由网络1040(例如,互联网)到基于云端的数据服务1042的连接。基于云端的数据服务1042可维护环境信息的储存库1044(例如,数据库或其他数据存储装置)。储存库1044可将家庭环境模型300的“主”副本存储为家庭数据束1046。在一些实施方案中,家庭数据束1046的内容可针对基于云端的数据服务1042而言是不透明的。例如,家庭数据束1046可使用在各用户设备之间共享但不和基于云端的数据服务1042共享的密钥而被加密。在一种具体实施中,爸爸(或爸爸的设备)可定义该密钥,然后通过直接通信来将该密钥提供给妈妈、Jack、Jill和保姆(或其设备)。储存库1044还可存储与家庭数据束1046相关联的“同步”列表1048。同步列表1048可以基于云端的数据服务1042可读的格式来识别与家庭数据束1046相关联的用户和设备,从而允许基于云端的数据服务1042控制对家庭数据束1046的访问。在一些实施方案中,同步列表1048可包括针对特定用户和/或设备的访问等级。例如,可能许可特定用户接收对家庭数据束1046的更新,但不向家庭数据束1046传播更新。同步列表1048可由与具有完全许可的家庭环境模型相关联的设备(例如,爸爸的膝上型电脑902)创建;在一些实施方案中,同步列表1048可基于访问列表800自动产生。
在该示例中,如图9中所示,爸爸可使用膝上型电脑902来对家庭环境模型作出改变。即,爸爸的膝上型电脑902现在具有修改的环境模型904(被表示为“HOME+Δ”)。应当将改变Δ传播到其他设备。
在该示例中,传播是通过云同步完成的。例如,在爸爸的膝上型电脑902进行云同步时,可将改变Δ传播到基于云端的数据服务1042并添加到家庭数据束1046。在一些实施方案中,向家庭数据束1046添加改变Δ可能涉及覆写所有家庭数据束1046;在其他实施方案中,可将改变Δ作为例如具有时间戳的递增更新指令而进行添加。
在另一个设备例如妈妈的平板电脑928下一个执行云同步时,基于云端的数据服务1042可(例如,从同步列表1048)确定妈妈的平板电脑928应当接收对家庭数据束1046的更新。在一些实施方案中,这可能涉及如果家庭数据束1046比驻留在妈妈的平板电脑中的家庭环境模型1004版本更新来向妈妈的平板电脑928发送家庭数据束1046的整体;在其他实施方案中,可发送递增更新指令(例如,基于上次与妈妈的平板电脑进行云同步之后接收的更新)。在任一种情况下,妈妈的平板电脑928可经由云同步自动接收改变Δ,而不与爸爸的膝上型电脑902直接进行通信。同样的情况适用于设备906-930中的其余设备:每个设备均进行云同步,其可接收先前在基于云端的数据服务1042处接收的对家庭数据束1046的包括改变Δ的任何更新。
在一些实施方案中,可能期望不和所有用户共享全部家庭数据束1046。因此,可利用一组“特定于领域”数据束(未示出)来替代单个家庭数据束1046,可使用不同的密钥来对每个数据束进行加密。每个特定于领域的数据束可以是家庭数据束1046的包括来自与特定用户或特定许可组相关的环境模型的信息的版本。每个特定于领域的数据束可由其相关的用户标识符或许可标识符识别。例如,“完整”特定于领域的数据束可包括关于家庭模型的所有信息,包括关于授权用户和许可等级的信息,而“基本”特定于领域的数据束可省略关于授权用户和许可等级的信息(因为如上文定义,基本许可不包括改变用户状态的许可)。特定于“客人”领域的数据束可包括涉及允许客户操作的附件的信息并省略所有其他信息。例如,如果不允许客人操作主卧TV 304(3),则可简单地从特定于“客户”领域的数据束省去该附件。作为另一个示例,特定于领域的数据束可针对每个用户(例如爸爸、妈妈、Jack、Jill和保姆)产生,并可包含关于与该用户相关的附件的信息。每个特定于领域的数据束均可利用管理员(在这种情况下是爸爸;更一般地,是具有完整许可的用户)已知的密钥进行加密,并可与和该领域相关联的用户选择性共享,例如通过爸爸(或爸爸的设备中的一个设备)和其他每个用户(或其设备)之间的直接通信。这些密钥不需要被基于云端的数据服务1042知道。
在使用特定于领域的数据束时,每个用户的设备可与适当的特定于领域的数据束进行云同步。例如,如果特定于领域的数据束是针对每个用户产生的,则每个用户的设备将与该用户的特定于领域的数据束同步。用户到特定于领域的数据束的映射可基于用户在基于云端的数据服务1042处的账户标识符,并且不同步列表1048可将用户账户ID映射到正确的特定于领域的数据束。如果特定于领域的数据束是针对每个许可组产生的,则可为每个用户的账户分配同步列表1048中的许可组,使得用户的设备接收适当的特定于领域的数据束。
使用特定于领域的数据束可进一步保护,以免未经授权使用该附件。例如,并非依赖于控制器202或协调器210来实施可能适当的任何访问限制,没有关于特定附件的信息可防止控制器202与附件204进行未经授权的通信。此外,如果利用不同密钥对每个特定于领域的数据束进行加密,则接收用于“错误”领域的数据束的设备将不能对其进行解密。
在一些实施方案中,家庭数据束1046可表示由家庭中的所有用户共享的环境模型。例如,由用户爸爸分配给附件(或房间)的附件名称(或房间名称)可通过同步而传播给所有其他用户。一些实施方案可允许用户(甚至是具有基本或客人许可的用户)为环境模型定义“个人覆盖”。个人覆盖可包括针对用户喜好的定制,诸如改变附件、房间、区域等的名称。在一些实施方案中,个人覆盖可包括共享环境模型的各个元件的别名(例如附件、房间、区域),但不包括任何新的或不同的元件。在一些实施方案中,个人覆盖可包括特定于特定用户的个人定义的服务分组和/或动作组。个人覆盖可在用户设备之间同步,但不与属于其他用户的设备同步。
通过例示,在家庭数据束1046中表示的环境模型可包括名称为“Jill的卧室”的房间。用户Jill可能期望将该房间重新命名为“我的房间”。在一些实施方案中,Jill可通过例如经由其电话922上的控制器用户界面重命名该房间来这样做。之后,Jill的电话922可将Jill的卧室在其用户界面中识别为“我的房间”。由于用户Jill没有修改环境模型的许可,因此改变不会传播到其他用户的设备。但可在Jill的设备之间对其进行同步。例如,在Jill的电话922与基于云端的数据服务1042同步时,Jill的电话922可向基于云端的数据服务1042发送个人覆盖数据(θ)。基于云端的数据服务1042可与家庭数据束1046相关联地存储针对每个用户的个人覆盖1050。每个个人覆盖1050(或其改变)可传播到创建其的用户的设备,但不传播到其他用户的设备。因此,对Jill的个人覆盖的改变(被表示为+θ)可被传播到Jill的膝上型电脑930,但不传播到其他控制器设备。类似地,用户妈妈可创建不同的个人覆盖(Π),其可经由基于云端的数据服务1024从妈妈的平板电脑928同步到妈妈的电话920(如Π所示),但不同步到其他控制器设备。
除了或替代上述那些,还可实施用于在用户设备之间同步家庭环境模型的其他技术。在一些实施方案中,可为在基于云端的数据服务1042处具有账户的所有设备和用户使用云同步(例如,如图10中所示),并且可以用户在基于云端的数据服务1042处没有账户的设备使用直接同步(例如,如图9中所示)。在一些实施方案中,所有用户在基于云端的数据服务1042处具有账户可能是操作要求。
示例性用户界面
上述任何控制器设备可提供用户界面,以方便用户访问自动化环境,其包括控制附件设备和配置环境。现在将描述图形用户界面的示例。应当理解,其他用户界面也可被替代。
图11示出了根据本发明的实施方案的示例用户界面屏幕1100。像本文描述的所有用户界面屏幕那样,屏幕1100可被呈现于控制器设备的显示器上。在一些实施方案中,用户界面屏幕(包括屏幕1100和本文描述的其他屏幕)可占据整个显示区域(例如,在移动电话上或具有较小显示器的其他设备上);在其他实施方案中,用户界面屏幕可占据显示区域的一部分(例如,在桌面或台式计算机上显示的虚拟桌面上的窗口或面板)。该用户界面可结合用户可选择的各种图形控制元件,以便调用产生界面屏幕的应用程序的功能。例如,如果在触摸屏显示器上呈现用户界面,则用户可触摸控制元件以选择它;如果在不是触摸屏的显示器上呈现用户界面,则用户可操作定点设备(例如鼠标、跟踪板等),以在控制元件上方定位光标,然后通过轻击或点击来选择控制元件。也可使用其他输入技术(例如,将键盘上的按键映射到控制元件、语音输入等)。
用户界面屏幕1100可以是用户第一次启动应用程序(也称为“应用程序”)时显示的起始屏,以使用该环境模型来配置环境模型和控制自动化环境。在本文的示例中,假设自动化环境为家庭,但应当理解,可使用类似的界面来配置和控制其他自动化环境。屏幕1100(和本文所述的某些其他屏幕)可提供“控制”按钮1102和“配置”按钮1104。选择“控制”按钮1102可使应用程序进入“控制”模式中,其中该应用程序可接收用户输入以控制已被添加到自动化环境的模型的任何附件;选择“配置”按钮1104可使应用程序处于“配置”模式中,其中该应用程序可通过,如添加附件来接收用户输入以配置自动化环境的模型;定义环境、房间和区域;向房间分配附件;和/或定义动作组、触发条件、服务分组等。在一些实施方案中,该模式可从“控制”按钮1104和“配置”按钮1104在其上被呈现的任何屏幕变化并启用用户操作。
屏幕1100示出了已定义的自动化环境模型(图11的用语中的“家庭”)和用于向列表1110添加家庭从而允许用户定义多个家庭的输入控制器1112的列表1110。如图11所示,列表1110初始可以是空的,并且可要求用户在控制任何附件之前定义至少一个家庭;因此,可禁用“控制”按钮1102。可使用列表1114以将所定义的家庭中的一个家庭识别为“基本”家庭。主要家庭可被控制器用作默认,以用于对其可能接收的任何附件控制命令进行路由(即使在控件和配置应用程序处于不活动状态或背景状态时)。用户可通过在向控制器发送附件控制命令时指定不同的家庭来覆写默认。在图11中,尚未定义任何家庭,因此列表1114为空的。因此,用户的第一个任务是例如通过操作输入控件1112来定义至少一个家庭。在一些实施方案中,可提示用户在第一次启动控制和配置应用程序时定义家庭。
图12示出了用于定义新家庭的示例向用户界面屏幕1200。例如响应于对输入控件1112的用户操作,屏幕1200可被呈现为屏幕1100上方的弹出窗口。屏幕1200可提示用户在文本框1202中输入新家庭的名称。可呈现虚拟键盘(未示出)以方便输入名称。用户可选择控件1204,以向列表1110添加家庭或选择控件1206以取消操作。
图13示出了用户在图12的屏幕1200处为家庭输入名称之后的用户界面屏幕1100的示例。名称为“公寓”的家庭条目1302已被添加到家庭列表1110。提供选择控件1304,以允许用户选择名称为“公寓”的家庭以用于进一步的配置。此外,主要家庭字段1114现在使用图标1306来将“公寓”识别为主要家庭。如果已定义附加家庭,则字段1114可包括所有定义家庭的列表,并且用户可轻击适当的列表条目以将对应家庭指定为主要家庭,并且可将图标1306移动到指定条目。在一些实施方案中,用户添加到家庭列表1110的第一家庭自动变为主要家庭,并可保持为主要家庭,直到用户明确选择不同的主要家庭。指定主要家庭可允许用户在其最频繁出入的环境中更容易地与附件进行交互,同时允许同一应用程序在多种不同环境中支持附件交互。
在定义家庭之后,用户可通过例如轻击或点击选择控件1304选择家庭来进行配置。图14示出了在用户选择要配置的家庭(在该示例中为“公寓”)时可呈现的主配置用户界面屏幕1400的示例。在该示例中,可通过上述方式例如向在家庭内定义的房间分配附件来对家庭建模。继而,可将房间分组到区域中。还可定义动作组、触发和服务分组,以方便与家庭进行交互。用户还可与家庭相关联并被授予各个等级的许可。因此,主配置屏幕1400可包括与这些配置选项中的每个配置选项对应的区段。例如,如图14所示,屏幕1400可提供用于添加和/或配置家庭内的附件的区段1402;用于定义和管理房间的区段1404;用于定义和管理区域的区段1406;以及用于添加和管理要被授予对家庭的至少一些访问权的用户的区段1408。可提供附加区段(图14中未示出),以用于定义和管理动作组、触发、服务分组等。在一些实施方案中,屏幕1400可滚动以显示附加区段;在下面示出了示例。
初始,如图14中所示,除“添加附件”控件1412之外,附件区段1402可以是空的。直到添加至少一个附件均可禁用“控制”按钮1102,从而防止应用程序进入控制模式,直到向家庭添加至少一个可控制附件。在该示例中,不自动向家庭添加任何附件。例如如果在启动控制器应用程序时控制器设备已知道一个或多个附件和/或与其进行通信,则一些实施方案可支持自动添加附件。(例如,控制器设备可能先前已被配置为向扬声器系统流传输音乐。)任何已知的附件均可被自动添加到家庭并在区段1402中列出。或者,可提示用户向家庭添加任何已知的附件。用户也可通过操作控件1412来添加附件。
现在将描述用于添加附件的用户界面的示例。在该示例中,用户可发现要添加到模型的附件,将其分配给房间,并促成控制器(或协调器)和附件之间的配对建立操作。在一些实施方案中,不认为附件添加操作已完成,直到成功完成所有这些阶段。图15示出了根据本发明的实施方案的用于查找要添加的附件的用户界面屏幕1500。例如,响应于用户操作图14的控件1412,可呈现屏幕1500。例如,在用户操作控件1412时,控制器可开始扫描来自附近无线附件的信标信号、通告等。可使用常规无线网络扫描技术,包括主动和/或被动扫描;也可实施用于检测附件的其他技术。状态条1502可指示控制器正在扫描新附件。在一些实施方案中,如果扫描完成,则状态条1502可消失,并且可提供用户可操作控件以允许用户指示控制器发起新扫描。
列表1504可呈现由控制器发现的所有附件的列表。在一些实施方案中,在控制器继续扫描附件时,可自动填充列表1504。例如,可使用附件在其信标或通告信号中提供的人可读的名称按照字母顺序来列出附件。附件可通过例如在附件名称或某种其他视觉指示符中包括“桥接器”来指示它们是否为桥接器附件(如上文和以上援引的美国临时专利申请No.62/005,764、美国临时专利申请No.62/094,391和美国专利申请No.14/725,912中所述的)。用户可例如通过操作针对该附件的“选择”控件1506或通过轻击或点击附件名称来选择要添加的附件。可选择“完成”控件1508,以结束添加附件并转回到屏幕1400。
如果用户例如通过操作控件1506来选择要添加的附件,则附加界面屏幕可在添加附件的整个过程中引导用户。如上所述,一些实施方案可能需要在用户界面将附件呈现为家庭的部件之前完成所有阶段。图16示出了根据本发明的实施方案的用于添加附件的用户界面屏幕1600。例如,响应于用户操作屏幕1500的控件1506,可呈现屏幕1600。可在字段1602中呈现已选择附件的名称(可与列表1504中的名称相同)。用户可通过从列表1604选择房间来向房间分配附件。在该示例中,仅定义一个房间并默认选择,如“已选择”图标1606所示的。如果定义多个房间,则所有房间可被包括在列表1604中,并且用户可例如通过轻击房间名称来从列表选择期望的房间。在一些实施方案中,家庭的模型可包括在定义家庭时自动创建的默认房间。在一些实施方案中,这可对应于上文所述的任何地方的房间。初始可将新附件分配到默认房间,并且用户可通过从列表1604选择期望的房间来改变分配。
“识别”控件1608可由用户进行操作,以验证正在添加哪个附件。在一些实施方案中,在用户操作控件1608时,控制器向附件发送“显示”请求。附件可通过采取可被用户观察到的某种动作来对“显示”请求作出响应。例如,附件可闪光、发声、振动、移动和/或执行其他用户可观察到的某种动作。这样允许用户确认正在添加的附件是用户期望添加的那个附近。用户可操作“添加”控件1610以继续添加附件的过程或可操作“返回”控件1612以返回到屏幕1500。
如果用户操作“添加”控件1610,则控制器可与附件进行通信,以确定其是否得到证明以用于与自动化环境控制应用程序(和相关的软件)一起使用。例如,可基于控制器从附件获得的安全证书来确定证明状态。在一些实施方案中,如果未证明附件,则可禁止添加附件。在其他实施方案中,可许可用户添加未证明的附件。如果是这种情况,则可警告用户该潜在的互操作性问题。例如,如图17所示,可在屏幕1600上方将警告消息1700显示为例如弹出窗口。尽管有警告但用户也可选择通过操作控件1702来添加附件,或通过操作控件1704来取消操作。在后一种情况下,界面可返回到图15的屏幕1500,以允许用户选择不同的附件。
假设用户选择继续进行(或如果附件得到证明),则控制器可继续与附件执行配对建立操作(例如,如上所述)。在一些实施方案中,配对建立可能需要用户输入由附件提供的配对代码(例如,PIN或密码)。图18A示出了根据本发明的实施方案的用于手动输入附件配对代码的用户界面屏幕1800。例如,可在屏幕1600上方将屏幕1800呈现为例如弹出窗口。可呈现虚拟小键盘1802,以方便输入配对代码。可根据需要呈现数字、字母、字母数字或其他小键盘。用户可通过操作虚拟小键盘1802来输入配对代码。用户可从附件获得要输入的配对代码。例如,可在附件外壳、封装或指示手册上或内部,在用户能够访问的任何位置来印刷配对代码。在一些实施方案中,如果附件具有显示能力,则附件可向用户显示其配对代码。
图18B示出了根据本发明的实施方案的使用光学字符识别(OCR)来捕获附件配对代码的另一用户界面屏幕1850。OCR捕获可使用控制器的相机来捕获针对附件的机器可读配对代码的图像。机器可读代码可以是例如条形码、QR码、机器可读字母数字码、动态代码(例如,屏幕上变化的点图案),或可被相机成像并使用计算机实施的算法分析以提取信息的用于呈现信息的任何其他形式。可在屏幕1600上方将代码捕获屏幕1850呈现为例如弹出窗口。提示1852可提示用户将控制器的相机指向机器可读代码(在本示例中为条形码)处。实况预览窗格1854可呈现被捕获的相机数据的图像,从而帮助用户正确对准图像。在一些实施方案中,控制器可动态处理所捕获的预览图像并自动确定何时接收到质量足够高的图像。在接收到此类图像时,控制器可修改UI以指示成功。例如,实况预览窗格1854中的图像可静止不动并变亮,以指示成功,或者实况预览窗格1854的边界可改变颜色。也可使用成功的其他指标,以通知用户不必继续瞄准相机。也可使用用于从附件获得配对代码的其他界面和技术。
无论如何捕获,配对代码均可向控制器提供正添加的附件是用户期望添加的附件的确认。此外,可将配对代码并入配对建立过程中,并用于产生控制器和附件之间的共享秘密,并且要求用户在带外提供配对代码可增强安全性,尤其是在难以猜到配对代码的情况下。
假设配对建立成功完成,则向家庭添加附件。如果出错,用户可被通知并提示重试或取消添加附件操作。
在添加附件(或取消操作)之后,用户界面可呈现更新的附件列表屏幕1500,例如如图19中所示。已添加的附件可具有相关联的在视觉上与为尚未添加的每个附件提供的“选择”控件1506不同的“编辑”控件1902。下文描述编辑附件。从屏幕1500,用户可选择要添加的另一个附件或通过操作“完成”操作1508来结束操作。
如果用户操作“完成”控件1508,则用户界面可呈现更新的主配置屏幕1400,例如如图20中所示。附件2002已被添加到家庭,并且现在出现于附件区段1402中。用户可操作“信息”控件2004,以获得关于附件2002的附加信息,并且在一些实施方案中,还编辑或控制附件2002。(在一些实施方案中,可通过选择附件名称来获得信息,并且不需要视觉上不同的“信息”控制元件。)应当指出,在已向家庭添加一个或多个附件之后,“控制”按钮1102可能变成活动的,从而允许用户将应用程序从配置模式切换到控制模式。下文描述控制模式中操作的示例。
响应于用户操作“信息”控件2004,可呈现关于附件2002的详情。呈现的特定信息可以决于可用的信息。在一些实施方案中,用于在自动化环境中控制附件的统一协议可定义标准附件模型。例如,如以上援引的美国临时专利申请No.61/935,967和美国专利申请No.14/614,914中所述,可将任何附件建模为“服务”的集合,其中每种服务涉及附件可执行的功能,并且每种服务可被建模为分立的“特性”的集合,特性的值表示附件的当前或期望(“目标”)状态的各个方面。
图21示出了根据本发明的实施方案的用户界面屏幕2100。例如,响应于用户操作屏幕2000的控件2004,可使用屏幕2100来向用户呈现附件信息。在该示例中,屏幕2100可呈现由附件2002定义的服务的列表2102。列表2102中的信息可基于由附件提供的附件定义记录而产生,例如如以上援引的美国临时专利申请No.61/935,967和美国专利申请No.14/614,914中所述的。
用户可从屏幕2100选择服务并查看与该服务相关联的特性。图22示出了根据本发明的实施方案的用户界面屏幕2200。屏幕2200可用于呈现关于附件特性的信息。在区段2202中列出特性并示出每个特性的值(状态)。在用户可改变特性的情况下,可呈现控制元件以允许用户作出改变。例如,针对车库开门器服务而言,用户可通过改变目标门状态而打开或关闭门,并可提供控制元件2204以选择目标门状态(在该示例中为打开或关闭)。在2206处示出的当前门状态是只读特性,从而示出门当前是打开还是关闭。被标记为“只读”的特性是仅控制器而言只读的,但可由附件基于监测其实际状态(例如,门实际是打开还是关闭)来更新(写入)。在该示例中,门是关闭的。
在一些实施方案中,用户可经由屏幕2200来控制附件。例如,用户可操作“控制”按钮1102,以将应用程序切换到控制模式而无需离开屏幕2200。在控制模式中,控制元件2204和控制元件2208(和/或可能存在的任何其他控制元件)可变成活动输入控件,从而允许用户改变控制器可写(目标)特性的值,这样可导致附件的实际(当前)状态的变化。例如,在应用程序处于控制模式中时,用户可通过操作控件2204以将“目标门状态”特性的值设置为“打开”(例如,通过轻击字词“打开”)来打开由这个附件表示的(现实)车库门。控制器可向附件发送消息,从而指示“目标门状态”特性的新值。作为响应,附件可确定目标门状态(打开)不再匹配“当前门状态”特性的值(关闭,如2206处所示的)。附件可将此解释为对打开车库门的指示,使得当前状态可匹配目标。例如,附件可致动带电动机的开门器机构以打开门。一旦门被打开,附件便可更新“当前门状态”特性的值,并可发送用于向控制器通知更新的消息。控制器然后可更新屏幕2206,以显示新的“当前门状态”值。可以类似方式,通过从适当的特性读取值并向该适当的特性写入值来控制附件的其他行为。在一些实施方案中,控制元件2204,2208在应用程序处于控制模式中时可以是活动的并且,在应用程序处于配置模式中时可以是不活动的。
在配置模式中时,用户可从屏幕2200返回到主配置屏幕1400。例如,用户可操作“返回”按钮2210以返回到图21的屏幕2100,然后操作“返回”按钮2110以返回到图20的屏幕1400。
再次参考图20,在一些实施方案中,需要将环境中的所有附件均被分配给房间。可在区段1404中见到当前定义的房间。为了简化不期望定义多个房间的用户操作,区段1404可初始被填充有默认房间1414;默认房间可基于家庭名称而被命名。在一些实施方案中,默认房间可对应于上文所述的任何地方的房间。如果用户定义了他房间,则那些房间也可被包括在区段1404中。每个房间均可具有可用于选择该房间的相关联的选择控件1416。可操作控件1418以向家庭添加房间。
图23示出了根据本发明的实施方案的用于向家庭添加房间的用户界面屏幕2300。例如,响应于用户操作控件1418,可呈现屏幕2300。屏幕2300可被呈现为屏幕1400上方的弹出窗口,并可提示用户在文本框2302中输入用于新房间的名称。可呈现虚拟键盘(未示出),以方便输入名称。用户可选择控件2304以向列表1404添加房间,或选择控件2306以取消操作。
一旦在区段1404中向列表添加了房间,用户便可从区段1404选择房间,以查看关于它的信息。图24示出了根据本发明的实施方案的可针对新添加的房间而被呈现的屏幕2400。屏幕2400可提供已被分配给房间的附件的列表2402。针对新创建的房间,列表2402可为空,如图所示。
在一些实施方案中,用户可通过编辑附件来向房间添加附件。图25示出了根据本发明的实施方案的用于编辑附件的界面屏幕2500。例如,可响应于用户在图19的屏幕1900中的操作“编辑”控件1902或响应于用户从屏幕1400(图20)的区段1402选择附件2002来呈现屏幕2500。屏幕2500通常可类似于图16的屏幕1600。例如,屏幕2500可识别要在区段2502中编辑的附件。可通过改变其房间分配来编辑附件。例如,区段2504可呈现已定义的所有房间的列表。例如,可通过“已选择”图标2506来指示当前分配的房间,并且用户可通过例如在期望房间上轻击来改变选择。当用户在不同房间上轻击时,可偏移“已选择”图标2506来指示新房间。“识别”控件2508可类似于上文所述的图16的控件1608那样工作。用户可通过使用控件2510来保存更改或通过使用控件2512来取消更改。在任一种情况下,用户界面可反转回到调用编辑操作的屏幕,例如屏幕1900(图19)或屏幕1400(图20)。
这样,用户可向房间添加附件。例如,用户可向称为“客厅”的房间添加附件。图26示出了图24的界面屏幕2400的更新版本,该更新版本可在向被称为“客厅”的房间添加附件之后被呈现。并非为空,列表2402现在可在2602处示出所分配的附件。可向房间添加任意数量的附件,并且如果附件数量超过显示区域,则列表2402可滚动。在一些实施方案中,用户可通过从列表2402选择附件来对其进行编辑,这可导致调用编辑界面例如上述屏幕2500。例如,如果用户看到附件被不正确地分配到“客厅”,则用户可立即编辑附件以更改房间分配。可使用控件2404,以返回到屏幕2000。
再次参考图20,屏幕1400也可用于配置环境内的区域。如上所述,区域可以是房间的集合并且可基于用户认为值得的房间的任意物理或逻辑分组来定义区域。定义区域可以是任选的,并且因此区段1406初始可为空的,除了“添加区域”控件1420之外。如果期望,可操作控件1420以向家庭添加区域。图27示出了根据本发明的实施方案的用于向家庭添加区域的用户界面屏幕2700。例如,响应于用户操作控件1420,可呈现屏幕2700。屏幕2700可被呈现为屏幕1400上方的弹出窗口,并可提示用户在文本框2702中输入新区域的名称。可呈现虚拟键盘(未示出),以方便输入名称。用户可选择控件2704以向列表1406添加区域,或选择控件2706以取消操作。
一旦添加了区域,便可向区域分配房间。图28示出了根据本发明的实施方案的可用于将房间添加到区域的界面屏幕2800。例如,可响应于用户在屏幕2700输入新区域的名称或响应于用户从屏幕2000的区段1406选择区域来呈现屏幕2800。屏幕2800可在字段2802处示出区域的名称、以及当前分配给该区域的所有房间的列表2804。可操作控件2806,以向区域添加房间。响应于用户选择控件2806,用户界面可呈现所有房间的列表(未示出),并指示每个房间当前是否被分配给该区域。用户可选择要添加到该区域和/或从该区域移除的房间。在一些实施方案中,房间可被分配给多个区域。例如,用户可定义“楼上”区域和“卧室”区域。位于楼上的卧室可在两个区域中;位于楼上的浴室可在“楼上”区域中但不在“卧室”区域中;位于楼下的卧室可在“卧室”区域中但不在“楼上”区域中。在一些实施方案中,除了或替代编辑区域,可通过编辑房间来将房间分配给区域。例如,用于修改将房间分配到区域的情况的用户界面可呈现房间的列表,并可针对每个房间来指示该房间被分配给(如果有的话)哪个区域。
再次参考图14和图20,如上所述,屏幕1400可滚动,以呈现附加配置选项。图29示出了下滚之后的屏幕1400的示例。区段2908可允许用户管理与家庭相关联的其他用户。例如,区段2908可示出已被添加到家庭的所有其他用户的列表。该列表初始可为空的,或者可仅仅包括显示屏幕1400所在的控制器的用户(在图29中被识别为“我”)。控制器的用户可例如通过操作控件2910来向家庭添加另一个用户。在一些实施方案中,响应于用户操作控件2910,用户界面可提示用户输入要添加的用户的标识符,诸如新用户的具有上述基于云端的数据服务的账户的标识符。该界面还可提示用户建立对新用户的许可,例如如上所述。在一些实施方案中,可使用附加界面控件来移除用户。
区段2912可用于定义和管理动作组,其中“动作组”是指如上所述要发送到各个附件的一组控制消息。在本文的示例中,可独立于任何自动触发来定义动作组,从而允许同一动作组被手动调用和/或与一个或多个触发相关联。已定义的任何动作组均可在区段2912中列出。该列表可初始为空的。可操作“添加”控件2914,以访问用于定义动作组的界面。
图30示出了根据本发明的实施方案的用于定义动作组的用户界面屏幕3000的示例。例如,响应于用户操作图29的控件2914,可呈现屏幕3000。可使用字段3002来对动作组命名。例如,用户可在字段3002内点击或轻击,然后例如使用虚拟键盘(未示出)键入名称。动作列表3004可识别已被包括在动作组中的所有动作。初始,不包括任何动作。附件列表3006可包括家庭中的所有附件(在该示例中,仅有一个附件,但可能有任意数量的附件)。用户可选择应当执行动作组中的一个或多个动作的附件。然后可为用户呈现服务和特性屏幕,其可类似于上述屏幕2100(图21)和2200(图22)或与其相同。通过这些屏幕,用户可指定附件应当结合该动作组所采取的动作。例如,针对车库开门器附件,用户可指定关门(将目标门状态设置为“关闭”)和锁门(将目标锁机构状态设置为“固定”)动作。可向动作组添加这些动作。图31示出了用户界面屏幕3000的更新版本,其中名称字段3002被填充并且一些动作被添加到动作列表3004。由任意数量的不同附件(或相同附件的不同服务)进行的任意数量的动作可被包括在动作组中。用户可通过操作控件3010来保存动作组或通过操作控件3012来取消该操作。在一些实施方案中,在用户提供名称和至少一个动作之前不能保存新的动作组。
一旦定义新动作组,用户界面便可呈现包括动作组的屏幕1400的更新版本。图32示出了根据本发明的实施方案的在添加动作组之后的屏幕1400的更新版本。区段2912已被更新,以包括使用屏幕3000(图31)定义的动作组。用户可选择信息控件3216,以查看和/或编辑动作组。在一些实施方案中,用户可例如通过使用“控制”按钮1102来将应用程序切换到控制模式然后从区段2912选择动作组来手动调用动作组。
在定义一个或多个动作组之后,触发区段3220可变成活动的。区段3220可列出已定义的所有触发并可包括控件3222,以允许用户添加新触发。在所示的简化示例中,触发为使得动作组在用户指定的时间执行的“时间”触发。应当理解,也可定义其他类型的触发。此外,在所示的简化示例中,定义触发事件并假设触发条件是上述的“始终”。其他界面可方便定义触发条件以及触发事件。
图33示出了根据本发明的实施方案的用于定义时间触发的用户界面屏幕3300。例如,可响应于用户操作控件3222或另一控件来呈现屏幕3300,从而指示时间触发被定义。可通过将文本输入到名称字段3302中来为触发赋予名称。可使用状态控件3304来启用或禁用触发;“被启用”的触发将在检测到触发事件时自动执行其动作,而“被禁用”的触发将不会执行其动作组,而不管是否检测到触发事件。可使用条件区段3322,以例如通过操作添加控件332来添加触发条件。操作添加控件3322可导致呈现弹出界面(未示出),以定义触发条件。动作组列表3306可呈现已定义的所有动作组的列表。针对要响应于触发而执行的每个动作组,可与动作组一起呈现“已包括”图标3308。针对不要执行的每个动作组,可省去图标3308。用户可例如通过轻击动作组的名称以使得图标3308根据需要出现或消失来切换动作组的已包括/已排除状态。在一些实施方案中,默认不包括任何动作组,并且用户可在不是要响应于这一触发而执行的每个动作组的名称上进行轻击。
可使用日期和时间字段3308为基于时间的触发事件指定日期和时间,并且可使用循环字段3310来为触发事件定义循环模式。可使用常规或其他日期选择界面,例如日期选择器、下拉列表、键盘输入等。尽管该示例中的字段3308和3310是特定于基于时间的触发事件,但了解本公开的本领域的技术人员将理解,可通过在用户界面中提供适当字段来定义其他类型的触发事件和/或触发条件。
一旦定义触发和相关联的动作组,用户便可操作“保存”控件3320以保存定义的触发,或可操作“取消”控件3322以取消操作,而不保存已作出的任何改变。在一些实施方案中,在用户提供名称、至少一个动作组和触发事件之前,不能保存新触发。在保存新触发之后,该用户界面可返回到主配置屏幕1400。图34示出了向区段3220添加图33中定义的触发之后的主配置屏幕1400的示例。在该示例中,“已启用”图标3424可指示触发被启用还是被禁用,从而允许用户看出状态而无需打开触发以用于进行查看或编辑。在一些实施方案中,“已启用”图标3424可以是用户可操作的切换开关,以直接从界面1400启用或禁用特定触发。
屏幕1400也可用于例如使用区段3430来定义和管理服务分组。如上所述,服务分组可以是用户可能定期期望一起使用的一组附件或附件服务。用户可例如通过操作控件3432来定义新的服务分组。作为响应,用户界面可呈现附加屏幕,以允许用户定义或编辑服务分组。
图35示出了根据本发明的实施方案的用于创建服务分组的用户界面屏幕3500。例如响应于用户操作控件3432,屏幕3500可被呈现为屏幕1400上方的弹出窗口。屏幕3500可提示用户在文本框3502中输入新服务分组的名称。可呈现虚拟键盘(未示出),以方便输入名称。用户可选择控件3504以继续创建服务分组的过程,或选择控件3506以取消操作。
图36示出了根据本发明的实施方案的在用户(例如,使用屏幕3500)命名新服务分组之后可呈现的用户界面屏幕3600。可操作控件3602,以允许用户识别要添加到服务分组的服务,并且列表3604可呈现已被包括在服务分组中的服务列表。初始,列表3604可为空的。一旦添加了服务,其名称便可出现在区域3604中,并且用户界面(未示出)的控制元件便可允许用户查看关于服务的信息或从服务分组去除服务。
图37示出了根据本发明的实施方案的用于将服务添加到服务分组的用户界面屏幕3700的示例。例如,响应于用户操作控件3602,可示出屏幕3700。屏幕3700可呈现已被添加到家庭的所有附件的所有服务的列表3702。在一些实施方案中,默认不包括任何服务,并且用户可通过从列表3702选择服务来添加服务。针对服务分组中当前包括的每种服务,可与服务名称一起呈现“已包括”图标3704。针对不包括的每种服务,可省去图标3704。在一些实施方案中,针对不包括的服务,可提供控制元件取代图标3704,以允许用户向服务分组(控制元件3706)添加服务或识别包括所列出的服务(控制元件3708)的附件。如上所述,识别附件可包括从控制器向附件发送“显示”请求,附件可通过执行用户可观察到的某种动作来对此作出响应。
在一些实施方案中,控制元件3706和3708可被省去,并且用户可例如通过轻击它们以使得图标3704根据需要出现或消失来切换服务的已包括/已排除状态。在用户对所包括的服务满意时,用户可操作“完成”控件3710以返回到屏幕1400。在一些实施方案中,除非其具有名称并包括至少一个服务,否则不能保存新的服务分组。
上述操作和界面可用于配置自动化环境。在一些实施方案中,也可使用相同的应用程序和相似的界面,例如通过与附件进行交互来控制家庭。例如,从屏幕1400(例如,如图20、图29、图32和图34的任一者所示的),用户可通过例如操作“控制”按钮1102来从“配置”模式切换到“控制”模式。
图38示出了根据本发明的实施方案的用于控制附件的用户界面屏幕3800。例如,响应于用户从屏幕1400切换到控制模式,可呈现屏幕3800。屏幕3800可包括已被添加到家庭的所有附件的所有服务的列表3802。在所示的示例中,通过服务类型来对服务进行分组。其他布置方式也是可能的。在一些实施方案中,该布置可例如通过示出通过房间或区域分组的服务来模仿家庭的物理或逻辑布局。(服务是附件功能性的模型,并且可被视为被分配到与其所属的附件相同的房间。)在一些实施方案中,可提供控件以允许用户选择并修改如何布置服务的列表。用户可从列表3802选择条目。作为响应,该应用程序可呈现可类似于上述图22的屏幕2200的控制界面。
应当理解,本文所述的用户界面屏幕是示例性的,并且变型形式和修改形式是可能的。可根据需来要改变界面元件的布置和外观。也可改变屏幕的特定序列。本文被示为在单个屏幕上的信息可在多个屏幕之间进行划分,并且反之亦然。在一些实施方案中,列表可扩大和缩小。在一些实施方案中,被包括的搜索或过滤选项可与各种操作结合。例如,并非查看屏幕1500(图15)处的所有附件的列表,用户可能能够提供附件名称的全部或部分(或某种其他性质,例如具有“灯泡”服务的附件),该应用程序可基于指定的标准来过滤所检测到的附件的列表。此外,在多个用户和/或控制器共享对环境的访问时,不必手动配置每个控制器上的环境模型。如上所述,可在设备之间对环境模型进行同步。因此,可使用一个控制器来手动配置环境模型,其他控制器可经由直接或基于云端的同步从第一控制器获得环境模型(或其部分)。
在一些实施方案中,可为本文描述的一些或所有操作使用语音输入,并且可根据需要通过视觉(例如,在显示器上)和/或听觉(例如,使用语音合成器讲出字词)方式来提供对用户的反馈。
示例性设备
可在可为一般常规设计的电子设备中实施本文描述的实施方案。此类设备可适于符合统一附件协议,该统一附件协议支持控制器(第一电子设备)可控制附件(第二电子设备)的操作所借由的命令操作和控制操作。在一些情况下,例如针对上述协调器或代理而言,设备可组合控制器和附件的特征或方面。
图39是根据本发明的实施方案的控制器3900的简化框图。控制器3900可实施本文所述的控制器功能、行为和能力的任一者或所有,以及未明确描述的其他功能、行为和能力。控制器3900可包括处理子系统3910、存储设备3912、用户界面3914、通信接口3916、安全存储模块3918、和加密逻辑模块3920。控制器3900还可包括其他部件(未明确示出),诸如电池、电力控制器和可操作以提供各种增强能力的其他部件。在各种实施方案中,可在台式计算机、膝上型电脑、平板电脑、智能电话、其他移动电话、可穿戴计算设备或具有任何期望形状因数的其他系统中实现控制器3900。此外,如上所述,可将控制器3900部分实现于基站中,并且部分实现于和基站进行通信并提供用户界面的移动单元中。
存储设备3912可例如使用磁盘、闪存存储器或任何其他非暂态存储介质或介质组合来实现,并且可包括易失性介质和/或非易失性介质。在一些实施方案中,存储设备3912可存储要由处理子系统3910执行的一个或多个应用程序和/或操作系统程序,包括实施上文描述为要由控制器执行的各种操作的程序。例如,存储设备3912可存储可读取附件描述记录并产生用于基于其中信息控制附件的图形用户界面(例如,如上文援引的美国临时专利申请No.61/935,967和美国专利申请No.14/614,914中所述)的统一控制器应用程序。在一些实施方案中,可在操作系统程序而非应用程序中实现本文所述的控制器功能的部分(或全部)。在一些实施方案中,存储设备3912还可存储针对特定附件或特定类别的附件而设计的应用程序(例如,用于管理IP相机附件的IP相机应用程序,或用于与门锁附件进行交互的安全应用程序)。
用户界面3914可包括输入设备诸如触控板、触摸屏、滚轮、点击轮、拨号盘、按钮、开关、小键盘、麦克风等;以及输出设备诸如视频屏幕、指示灯、扬声器、耳机插孔等,连同支持性电子器件(例如,数模转换器或模数转换器、信号处理器等)。用户可操作用户界面3914的输入设备,以调用控制器3900的功能,并且可经由用户界面3914的输出设备来查看和/或收听来自控制器3900的输出。
处理子系统3910可被实现为一个或多个集成电路,例如其示例在本领域中是已知的一个或多个单核或多核微处理器或微控制器。在操作中,处理系统3910可控制控制器3900的操作。在各种实施方案中,处理子系统3910可响应于程序代码来执行各种程序,并且可维护多个同时执行的程序或过程。在任何给定时间,待执行的一些或全部程序代码可驻留在处理子系统3910和/或诸如存储设备3912的存储介质中。
通过合适的编程,处理子系统3910可为控制器3900提供各种功能。例如,在一些实施方案中,处理子系统3910可实施上文描述为由控制器实施的各种过程(或其部分)。处理子系统3910还可执行其他程序来控制控制器3900的其他功能,包括可被存储在存储设备3912中的应用程序。在一些实施方案中,这些应用程序可例如通过生成待发送至附件的消息和/或通过从附件接收响应来与附件进行交互。例如如上所述,此类交互可由附件管理守护进程和/或其他操作系统过程促成。
通信接口3916可为控制器3900提供语音和/或数据通信能力。在一些实施方案中,通信接口3916可包括:用于访问无线语音和/或数据网络(例如,使用蜂窝电话技术、数据网络技术(诸如3G、4G/LTE、Wi-Fi)、其他IEEE 802.11系列标准、或其他移动通信技术、或它们的任何组合)的射频(RF)收发器部件、用于短范围无线通信(例如,使用蓝牙和/或蓝牙LE标准、NFC等)的部件和/或其他部件。在一些实施方案中,作为无线接口的补充或替代,通信接口3916可提供有线网络连接(例如以太网)。通信接口3916可使用硬件部件(例如,驱动电路、天线、调制器/解调器、编码器/解码器,以及其他模拟信号处理电路和/或数字信号处理电路)与软件部件的组合来实现。在一些实施方案中,通信接口3916可使用相同的传输或不同的传输,同时或在不同时间支持多个通信信道。
安全存储模块3918可以是可为控制器3900安全存储密码信息的集成电路等。可被存储在安全存储模块3918中的信息的示例包括控制器的长期公钥和密钥3922(上述LTPKC,LTSKC)以及配对附件3924的列表(例如,将附件ID映射到针对已完成上述配对建立或配对添加过程的附件的附件长期公钥LTPKA的查找表)。
在一些实施方案中,可在与安全存储模块3918进行通信的加密逻辑模块3920中实施密码操作。从物理上讲,可根据需要在与安全存储模块3918相同的集成电路或不同的集成电路(例如,处理子系统3910中的处理器)中实现加密逻辑模块3920。加密逻辑模块3920可包括实施或支持控制器3900的包括上述任意或所有密码操作的密码操作的各种逻辑电路(根据需要为固定的或可编程的)。安全存储模块3918和/或加密逻辑模块3920可针对控制器3900的其余部分而言而被呈现为“黑盒子”。因此,例如通信接口3916可以其不能解密的加密形式来接收消息,并可简单地向处理子系统3910传送消息。处理子系统3910也可能无法对消息进行解密,但其可将消息识别为加密的并将其传送到加密逻辑模块3920。加密逻辑模块3920可对消息进行解密(例如,使用从安全存储模块3918提取的信息),并确定向处理子系统3910返回哪些信息。作为结果,可能仅在安全存储模块3918和加密逻辑模块3920内有特定信息可用。如果安全存储模块3918和加密逻辑模块3920实现于仅执行来自内部安全储存库的代码的单个集成电路上,则这可使得信息提取很困难,这可提供高度的安全性。其他具体实施也是可能的。
图40是根据本发明的实施方案的附件4000的简化框图。附件4000可实施本文所述的附件功能、行为和能力的任一者或所有,以及未明确描述的其他功能、行为和能力。附件4000可包括存储设备4028、处理子系统4030、用户界面4032、特定于附件的硬件4034、通信接口4036、安全存储模块4038、和加密逻辑模块4040。附件4000还可包括其他部件(未明确示出),诸如电池、电力控制器和可操作以提供各种增强能力的其他部件。
附件4000表示可由控制器诸如控制器3900操作的一大类附件,并且此类附件在能力、复杂性和形状因数方面可能有很大不同。各种附件可包括图40中未明确示出的部件,包括但不限于具有固定或可移除存储介质的存储设备(磁盘、闪存存储器等);视频屏幕、扬声器、或用于连接到外部音频/视频设备的端口;相机部件,诸如镜头、图像传感器和用于该图像传感器的控件(例如,孔径,缩放,曝光时间、帧速率等);用于记录音频的麦克风(单独地或与视频录制结合);等等。
存储设备4028可例如使用磁盘、闪存存储器或任何其他非暂态存储介质或介质的组合来实现,并且可包括易失性介质/或非易失性介质。在一些实施方案中,存储设备4028可存储要由处理子系统4030执行的一个或多个程序(例如,固件),其包括实施上文描述为要由附件执行的各种操作以及与特定附件行为相关的操作的程序。存储设备4028还可存储例如在设备发现期间可向控制器设备供应的附件对象或附件定义记录,如上文援引的美国临时专利申请No.61/935,967中所述的。存储设备4028还可存储附件状态信息以及可在附件4000操作期间使用的任何其他数据。
处理子系统4030可包括例如执行程序代码,以便执行与附件4000相关联的各种功能的一个或多个单核或多核微处理器和/或微控制器。例如,处理子系统4030可例如通过执行存储设备4028中存储的程序代码来实施上文描述为由附件实施的各种过程(或其部分)。处理子系统4030还可执行其他程序,以控制附件4030的其他功能。在一些情况下,由处理子系统4030执行的程序可例如通过产生要向控制器发送的消息和/或从控制器接收消息来与控制器(例如控制器3900)进行交互。
用户界面4032可包括用户可操作的输入设备诸如触控板、触摸屏、滚轮、点击轮、拨号盘、按钮、开关、小键盘、麦克风等;以及输出设备诸如视频屏幕、指示灯、扬声器、耳机插孔等,连同支持性电子器件(例如,数模转换器或模数转换器、信号处理器等)。根据特定附件4000的具体实施,用户可操作用户界面4032的输入设备以调用附件4000的功能,并且可经由用户界面4032的输出设备来查看和/或收听来自附件4000的输出。一些附件可提供最小量的用户界面或根本不提供用户界面。在附件没有用户界面的情况下,用户仍然可使用控制器(例如,控制器3900)来与附件进行交互。
特定于附件的硬件4034可包括可存在于附件4000中以启用其功能的任何其他部件。例如,在各种实施方案中,特定于附件的硬件4034可包括使用固定或可移除存储介质的一个或多个存储设备;GPS接收机;电源和/或电源管理电路;相机;麦克风;一个或多个致动器;控制开关;环境传感器(例如,温度传感器、压力传感器、加速度计、化学传感器等)等等。应当理解,可通过提供适当的特定于附件的硬件4034来支持任意类型的附件功能,并且特定于附件的硬件可包括机械部件以及电气部件或电子部件。
通信接口4036可为附件4000提供语音和/或数据通信能力。在一些实施方案中,通信接口4036可包括:用于访问无线语音和/或数据网络(例如,使用蜂窝电话技术、数据网络技术(诸如3G、4G/LTE、Wi-Fi)、其他IEEE 802.11系列标准、或其他移动通信技术、或它们的任何组合)的射频(RF)收发器部件、用于短范围无线通信(例如,使用蓝牙和/或蓝牙LE标准、NFC等)的部件和/或其他部件。在一些实施方案中,作为无线接口的补充或替代,通信接口4036可提供有线网络连接(例如以太网)。通信接口4036可使用硬件部件(例如,驱动电路、天线、调制器/解调器、编码器/解码器,以及其他模拟信号处理电路和/或数字信号处理电路)与软件部件的组合来实现。在一些实施方案中,通信接口4036可使用相同的传输或不同的传输,同时或在不同时间支持多个通信信道。
安全存储模块4038可以是可为附件4000安全存储密码信息的集成电路等。可被存储在安全存储模块4038内的信息的示例包括附件的长期公钥和密钥4042(上述LTPKA、LTSKA)以及配对控制器4044的列表(例如,将控制器ID映射到针对已完成上述配对建立或配对添加过程的控制器的控制器长期公钥LTPKC的查找表)。在一些实施方案中,可省略安全存储模块4038;可将配对控制器的密钥和列表存储在存储设备4028中。
在一些实施方案中,可在与安全存储模块4038进行通信的加密逻辑模块4040中实施密码操作。从物理上讲,可根据需要在与安全存储模块4038相同的集成电路或不同的集成电路(例如,处理子系统4030中的处理器)中实现加密逻辑模块4040。加密逻辑模块4040可包括实施或支持附件4000的包括上述任意或所有密码操作的密码操作的各种逻辑电路(根据需要为固定的或可编程的)。安全存储模块4038和/或加密逻辑模块4040可以针对附件4000的其余部分而言而被呈现为“黑盒子”。因此,例如,通信接口4036可以其不能解密的加密形式来接收消息,并可简单地向处理子系统4030传送消息。处理子系统4030也可能无法对消息进行解密,但其可将消息识别为加密的并将其传送到加密逻辑模块4040。加密逻辑模块4040可对消息进行解密(例如,使用从安全存储模块4038提取的信息),并确定向处理子系统4030返回哪些信息。结果,可能仅在安全存储模块4038和加密逻辑模块4040内有特定信息可用。如果安全存储模块4038和加密逻辑模块4040实现于仅执行来自内部安全储存库的代码的单个集成电路上,则这可使得信息提取很困难,这可提供高度的安全性。其他具体实施也是可能的。
附件4000可为与控制器3900进行交互的任何电子装置。在一些实施方案中,控制器3900可经由如上所述的附件4000的操作来提供远程控制。例如,控制器3900可为附件4000提供可包括输入和输出控件(例如,显示从附件4000获得的当前状态信息的显示屏,以及用于允许改变状态信息的输入控件诸如触摸屏覆层)的远程用户界面。在各种实施方案中,控制器3900可控制附件4000的任何功能并且还可从附件4000接收数据。
应当理解,本文所述的系统配置和部件是示例性的,并且变型形式和修改形式是可能的。应当理解,控制器3900的具体实施可执行上文描述为由控制器执行的所有操作,并且附件4000的具体实施可执行上文描述为由附件执行的任何或所有操作。代理、桥接器、隧道或协调器可根据需要使用相同的硬件或不同的硬件来组合控制器3900和附件4000的部件。控制器和/或附件可能具有本文并未明确描述的其他能力(例如,移动电话、全球定位系统(GPS)、宽带数据通信、互联网连接等)。根据具体实施,这些设备可进行互操作,以便提供由任一(或两个)设备支持的任何功能或提供在每个设备中部分实现的功能。在一些实施方案中,特定附件可能具有通过特定控制器无法访问或调用但通过另一控制器或通过直接与附件交互能够访问的一些功能。
此外,尽管本文参考特定块描述了控制器和附件,但应当理解,定义这些块是为了描述的方便,而并非旨在暗示部件部分的特定物理布置。此外,块不必对应于物理上不同的部件。例如通过对处理器进行编程或提供适当的控制电路并且各个块根据获得初始配置的方式可为可重新配置的或不可重新配置的,块可被配置为执行各种操作。可在包括使用电路和软件的任何组合实现的电子设备的各种设备中实现本发明的实施方案。
另外的实施方案
虽然已结合具体实施方案对本发明进行了描述,但本领域的技术人员将认识到,许多修改形式是可能的。控制器网络和/或附件网络可包括所需那样多或那样少的设备。不需要使用代理或协调器;不论附件数量或控制器数量是多少,(至少在原则上)始终能够在每个控制器和每个附件之间建立配对,并使所有控制器通过直接控制附件而工作。在提供了附件网络模型(例如,上述环境模型)的情况下,每个控制器可获得模型的副本(例如,经由上述同步)并可提供通过其用户界面对模型的访问。
此外,在代理或控制器存在的情况下,可以但未必需要是这样的情况:许可所有控制器通过代理或控制器访问所有附件。一些控制器可能在不在本地环境中时受到限制而不能访问附件,并且一些附件可能需要控制器直接访问它们而不是通过代理或协调器。
在一些实施方案中,附件网络的环境模型或其他模型可包括对作为优选(或许可)代理或协调器的一个或多个控制器设备的识别。在一些情况下,可指定多个协调器和/或代理。例如,图8的访问列表可包括标志或其他状态指示符,以识别具有协调器和/或代理功能的设备。在附件网络模型包括代理或协调器识别的情况下,这样可方便由另一控制器来选择代理或协调器(例如,在图6中所示的过程期间)。
还应当理解,结合附件网络使用访问列表例如图8中所示的访问列表,可以但无需消除控制器与附件建立配对的需求。例如,在上述一些实施方案中,与附件的所有通信可由协调器进行介导。如果是这种情况,可能需要其他控制器与协调器配对但不与个体附件配对。在一些实施方案中,作为被添加到用于附件网络的访问列表的前提条件,可能需要控制器与协调器配对。
此外,一些实施方案可基于每个用户而不是基于每个控制器来管理安全性。例如,在上述实施方案中,每个控制器可具有其自身的长期公钥和长期密钥,而与任何其他控制器无关。在其他实施方案中,长期公钥/密钥对可被分配给用户(而不是特定控制器)并在属于该用户的所有控制器之间共享。例如,长期公钥/密钥对可与基于云端的数据服务上的用户账户相关联并传播到其中用户链接到账户的设备。可实施适当的措施,以安全地传播密钥对。在根据用户而非根据控制器管理长期密钥时,附件(或协调器)可与用户而非控制器建立配对;之后,附件可接受来自任何控制器设备的消息,该消息呈现用户的标识符以及其具有用户的长期密钥的充分证据。
可使用专用部件和/或可编程处理器和/或其他可编程设备的任意组合来实现本发明的实施方案。本文所述的各种过程可以任何组合方式在同一处理器或不同处理器上实现。在部件被描述为被配置为执行某些操作的情况下,可例如通过设计电子电路以执行操作、通过对可编程电子电路(诸如微处理器)进行编程以执行操作或它们的任何组合来实现此类配置。另外,尽管上述实施方案可能参考了具体硬件部件和软件部件,但本领域的技术人员应当理解,也可使用硬件部件和/或软件部件的不同组合,并且被描述为在硬件中实现的特定操作也可能在软件中被实现,或反之亦然。
结合本发明的各种特征的计算机程序可被编码并被存储在各种计算机可读存储介质上;合适的介质包括磁盘或磁带、诸如光盘(CD)或DVD(数字多功能光盘)的光学存储介质、闪存存储器、以及其他非暂态介质。(应当理解,数据的“存储”不同于使用暂态介质诸如载波的数据传播。)可将利用程序代码编码的计算机可读介质与兼容的电子设备封装在一起,或者该程序代码可独立于电子设备而被提供(例如,经由互联网下载或作为单独封装的计算机可读存储介质)。
因此,尽管已相对于具体实施方案描述了本发明,但应当理解,本发明旨在覆盖以下权利要求范围内的所有修改形式和等同形式。

Claims (21)

1.一种方法,包括:
由控制器设备识别物理环境中的多个附件;
由所述控制器设备生成动作组,所述动作组包括所述多个附件中的至少第一附件和第二附件,所述动作组还包括所述第一附件的第一结果状态和所述第二附件的第二结果状态;
由所述控制器设备识别与所述动作组相关联的触发事件,所述触发事件的发生被配置为触发所述动作组;
由所述控制器设备检测所述触发事件的发生;以及
根据检测到所述触发事件:
向所述第一附件发送从第一当前状态转变到所述第一结果状态的第一指令;以及
向所述第二附件发送从第二当前状态转变到所述第二结果状态的第二指令。
2.根据权利要求1所述的方法,其中,至少部分地基于在用户界面处接收的输入来生成所述动作组。
3.根据权利要求1或2中任一项所述的方法,其中,至少部分地基于在用户界面处接收的输入来识别所述触发事件。
4.根据权利要求1至3中任一项所述的方法,其中,对所述触发事件的发生的检测至少部分地基于从协调器设备接收的信息,其中所述信息识别所述触发事件。
5.根据权利要求1至4中任一项所述的方法,还包括识别与所述动作组相关联的触发条件,所述触发条件的肯定结果被配置为触发所述动作组。
6.根据权利要求5所述的方法,还包括确定所述触发条件的肯定结果,并且其中所述第一指令的传输和所述第二指令的传输还根据所述触发条件的肯定结果的确定。
7.根据权利要求5或6中任一项所述的方法,其中,至少部分地基于在用户界面处接收的输入来识别所述触发条件。
8.根据权利要求5至7中任一项所述的方法,其中,所述触发条件的肯定结果的确定至少部分地基于从协调器设备接收的信息,其中所述信息识别所述触发事件。
9.根据权利要求1所述的方法,还包括由所述控制器设备与所述多个附件中的每个附件建立配对,其中与附件建立配对包括向所述附件提供所述控制器设备的长期公钥以及从所述附件获得所述附件的长期公钥。
10.根据权利要求1或9所述的方法,其中,所述多个附件设备能够至少部分地基于当前状态与目标状态之间的比较而被单独地控制。
11.根据权利要求10所述的方法,其中所述目标状态包括所述第一结果状态或所述第二结果状态中的至少一者。
12.根据权利要求1所述的方法,其中所述物理环境包括多个房间和多个区域。
13.根据权利要求12所述的方法,其中,每个区域包含所述多个房间的子组。
14.根据权利要求13所述的方法,其中,被分配到所述环境模型中的公共房间或公共区域的附件设备作为分组为可控制的。
15.根据权利要求13或14中任一项所述的方法,还包括生成附件服务分组,所述附件服务分组包括在所述多个房间中的不同房间中的附件。
16.根据权利要求13至15中任一项所述的方法,还包括生成包括所述第一附件和所述第二附件的附件服务分组。
17.根据权利要求13至16中任一项所述的方法,其中所述服务分组包括所述动作组。
18.根据权利要求13到17中任一项所述的方法,其中所述第一结果状态和所述第二结果状态是相同状态。
19.一种计算机可读存储介质,其上存储有程序指令,所述程序指令在由控制器设备中的处理器执行时使所述控制器设备执行根据权利要求1-18中任一项所述的方法。
20.一种控制器设备,包括:
计算机可读存储介质,其上存储有程序指令;以及
处理器,耦合到所述计算机可读存储介质并且被配置为执行所述程序指令以使所述控制器设备执行根据权利要求1-18中任一项所述的方法。
21.一种系统,包括用于执行根据权利要求1-18中任一项所述的方法的装置。
CN202011559174.3A 2014-05-30 2015-05-29 使用环境模型的附件管理系统 Pending CN112666841A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462005764P 2014-05-30 2014-05-30
US62/005,764 2014-05-30
US201462094391P 2014-12-19 2014-12-19
US62/094,391 2014-12-19
CN201580028720.1A CN106462123B (zh) 2014-05-30 2015-05-29 使用环境模型的附件管理系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201580028720.1A Division CN106462123B (zh) 2014-05-30 2015-05-29 使用环境模型的附件管理系统

Publications (1)

Publication Number Publication Date
CN112666841A true CN112666841A (zh) 2021-04-16

Family

ID=55810224

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201580028720.1A Active CN106462123B (zh) 2014-05-30 2015-05-29 使用环境模型的附件管理系统
CN201580028840.1A Active CN106664226B (zh) 2014-05-30 2015-05-29 用于附件管理系统的控制器网络的方法、设备及系统
CN202011559174.3A Pending CN112666841A (zh) 2014-05-30 2015-05-29 使用环境模型的附件管理系统

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201580028720.1A Active CN106462123B (zh) 2014-05-30 2015-05-29 使用环境模型的附件管理系统
CN201580028840.1A Active CN106664226B (zh) 2014-05-30 2015-05-29 用于附件管理系统的控制器网络的方法、设备及系统

Country Status (3)

Country Link
EP (5) EP3149548B1 (zh)
CN (3) CN106462123B (zh)
TW (2) TWI576755B (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10177933B2 (en) 2014-02-05 2019-01-08 Apple Inc. Controller networks for an accessory management system
US10454783B2 (en) 2014-02-05 2019-10-22 Apple Inc. Accessory management system using environment model
CN108259159B (zh) 2014-02-05 2021-02-05 苹果公司 用于在控制器和附件之间进行配对的方法和系统
US10985937B2 (en) 2015-02-05 2021-04-20 Apple Inc. Delegation or revocation of trigger execution in an automated environment
US10206170B2 (en) 2015-02-05 2019-02-12 Apple Inc. Dynamic connection path detection and selection for wireless controllers and accessories
EP4198733A1 (en) * 2015-07-31 2023-06-21 Apple Inc. Delegation of trigger execution in an automated environment
CN108628661B (zh) * 2017-03-24 2021-11-26 郑芳田 云制造服务的自动建置方法、云制造系统
JP6909961B2 (ja) * 2017-04-21 2021-07-28 パナソニックIpマネジメント株式会社 表示方法、プログラム、及び、表示システム
CN108508756A (zh) * 2017-05-16 2018-09-07 苏州纯青智能科技有限公司 家用电器移动控制终端
US10496508B2 (en) 2017-06-02 2019-12-03 Apple Inc. Accessory communication control
US10855367B2 (en) * 2017-10-02 2020-12-01 Fisher Controls International Llc Methods and apparatus to bridge communications between devices using low-energy devices
US10897374B2 (en) * 2017-11-06 2021-01-19 Computime Ltd. Scalable smart environment for controlling a plurality of controlled apparatuses using a connection hub to route a processed subset of control data received from a cloud computing resource to terminal units
CN111448784B (zh) * 2017-12-14 2022-09-06 索尼公司 信息处理设备、信息处理方法和信息处理系统
DE102018100840A1 (de) * 2018-01-16 2019-07-18 Miele & Cie. Kg Verfahren zur verbesserten Einbindung eines WLAN-fähigen Haushaltsgeräts in eine Benutzerumgebung
CN108541118A (zh) * 2018-04-13 2018-09-14 大峡谷照明系统(苏州)股份有限公司 远程多回路灯具控制方法及系统
TWI698754B (zh) * 2018-05-29 2020-07-11 普安科技股份有限公司 雲端服務之權限管理方法及其系統
US10595073B2 (en) 2018-06-03 2020-03-17 Apple Inc. Techniques for authorizing controller devices
US11805009B2 (en) 2018-06-03 2023-10-31 Apple Inc. Configuring accessory network connections
CN109347649A (zh) * 2018-08-01 2019-02-15 北京奇安信科技有限公司 一种移动设备强管控方法及装置
WO2020223854A1 (zh) * 2019-05-05 2020-11-12 深圳市欢太科技有限公司 设备配网方法、装置、电子设备及存储介质
CN110166306A (zh) * 2019-06-14 2019-08-23 上海富欣智能交通控制有限公司 数据通信方法及系统
CN110290204B (zh) * 2019-06-25 2022-05-17 腾讯科技(深圳)有限公司 一种浏览器过代理的实现方法、装置及终端设备
FR3110008B1 (fr) * 2020-05-11 2022-06-24 Abdelhakim Djoudi Dispositif et procédé d’interface personnelle pour appareil public
TWI810502B (zh) 2020-12-11 2023-08-01 財團法人工業技術研究院 運動控制系統及運動控制方法
WO2023099405A1 (en) * 2021-12-02 2023-06-08 Agtatec Ag Method for updating an automatic door system as well as automatic door system

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2339367B (en) * 1998-03-17 2002-12-04 Sedex Ltd A method and apparatus for electronic document exchange
US7831930B2 (en) * 2001-11-20 2010-11-09 Universal Electronics Inc. System and method for displaying a user interface for a remote control application
WO2000027090A2 (en) * 1998-10-30 2000-05-11 Science Applications International Corporation Network protocol for secure communications
US6754678B2 (en) * 1999-12-20 2004-06-22 California Institute Of Technology Securely and autonomously synchronizing data in a distributed computing environment
JP2001256156A (ja) * 2000-03-10 2001-09-21 Victor Co Of Japan Ltd 制御情報システムおよび制御情報伝送方法
US10444964B2 (en) * 2007-06-12 2019-10-15 Icontrol Networks, Inc. Control system user interface
KR100678897B1 (ko) * 2004-11-23 2007-02-07 삼성전자주식회사 홈 네트워크 장치 간의 보안 연결을 위한 시스템 및 방법
US7394393B2 (en) * 2005-08-02 2008-07-01 Gm Global Technology Operations, Inc. Adaptive driver workload estimator
FR2897186B1 (fr) * 2006-02-06 2008-05-09 Somfy Sas Procede de communication par relais entre une telecommande nomade et des equipements domotiques.
KR100791298B1 (ko) * 2006-05-19 2008-01-04 삼성전자주식회사 홈 네트워크에서의 디바이스 제어 장치 및 방법
US7574417B1 (en) * 2006-09-28 2009-08-11 Rockwell Automation Technologies, Inc. Self configuration of embedded historians
US8196185B2 (en) * 2007-08-27 2012-06-05 Honeywell International Inc. Remote HVAC control with a customizable overview display
US20090307255A1 (en) * 2008-06-06 2009-12-10 Johnson Controls Technology Company Graphical management of building devices
US8532962B2 (en) * 2009-12-23 2013-09-10 Honeywell International Inc. Approach for planning, designing and observing building systems
CN102281251B (zh) * 2010-06-09 2014-12-17 中兴通讯股份有限公司 一种实现智能家居应用的装置、系统和方法
FR2974260B1 (fr) * 2011-04-13 2013-09-06 Ingenico Sa Procede de multiplexage de message, dispositif et programme correspondant
US11392708B2 (en) * 2011-08-05 2022-07-19 Harris Corporation Method and system for embedding security in a mobile communications device
US20130086066A1 (en) * 2011-09-30 2013-04-04 Siemens Akeiengesellschaft Automated discovery and generation of hierarchies for building automation and control network objects
TW201328401A (zh) * 2011-12-28 2013-07-01 Univ Nat Central 無線感測制動網路及其操作方法
CN102710473A (zh) * 2012-05-21 2012-10-03 深圳市无线开锋科技有限公司 一种基于移动终端的智能家居遥控系统
CN104508390B (zh) * 2012-07-30 2017-08-18 松下知识产权经营株式会社 家电设备的操作系统和用于操作家电设备的程序
JP2014186663A (ja) * 2013-03-25 2014-10-02 Toshiba Lighting & Technology Corp 端末装置および制御システム
JP5474238B1 (ja) * 2013-06-05 2014-04-16 三菱電機株式会社 レイアウト生成システム、エネルギーマネジメントシステム、端末装置、レイアウト作成方法、および、プログラム

Also Published As

Publication number Publication date
EP4236211A2 (en) 2023-08-30
EP3149548A2 (en) 2017-04-05
EP3537238B1 (en) 2023-08-23
CN106462123A (zh) 2017-02-22
CN106664226B (zh) 2020-05-22
EP3872586A2 (en) 2021-09-01
EP3872586A3 (en) 2022-01-26
CN106462123B (zh) 2020-12-22
TWI578830B (zh) 2017-04-11
EP3149547B1 (en) 2019-06-26
TWI576755B (zh) 2017-04-01
EP3149548B1 (en) 2021-06-23
EP3149547A1 (en) 2017-04-05
EP4236211A3 (en) 2023-09-20
TW201607358A (zh) 2016-02-16
EP3537238A1 (en) 2019-09-11
CN106664226A (zh) 2017-05-10
TW201612729A (en) 2016-04-01

Similar Documents

Publication Publication Date Title
CN106462123B (zh) 使用环境模型的附件管理系统
US10454783B2 (en) Accessory management system using environment model
CN111865737B (zh) 用于基于附件状态生成场景的系统、方法和介质
US20210341888A1 (en) Presence triggered notifications and actions
US10511456B2 (en) Presenting accessory group controls
US11003147B2 (en) Automatically grouping accessories
US10985937B2 (en) Delegation or revocation of trigger execution in an automated environment
US11010416B2 (en) Prefetching accessory data
US11394575B2 (en) Techniques for utilizing a coordinator device
US10938593B2 (en) Anomaly detection by resident device
US20210184881A1 (en) Delegation or revocation of trigger execution in an automated environment
US20230127500A1 (en) Accessory management system using environment model

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination