生成和使用用于家庭自动化的用户限定场景的方法和装置转让专利

申请号 : CN201580060841.4

文献号 : CN107078930B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : N.J.齐波罗A.R.哈姆R.E.基特森N.A.特拉普C.B.普尔斯福德T.R.罗卡斯乔G.T.卡特西里斯M.西尔瓦J.J.龙奎罗罗德里格斯

申请人 : 萨万特系统有限责任公司

摘要 :

提供了用于限定和激活家庭自动化系统中的场景的技术。在一个实施例中,基于最后媒体查询和家庭自动化系统中的当前状态自动地捕获用户限定场景。家庭自动化系统中的当前状态针对服务被自动捕获以构建一组状态,该组状态包括由多种不同类型的设备提供的服务的状态,所述多种不同类型包括音频/视频(A/V)设备、照明设备、制热通风和制冷(HVAC)设备、安全设备、窗帘控制设备、节能设备或通信设备中的两个或更多个。由家庭自动化系统执行的最后媒体查询也被捕获。从这二者生成用户限定场景。存储用户限定场景,并且当确定其应当被激活时,发送服务请求。

权利要求 :

1.一种用于在家庭自动化系统中生成和使用用户限定场景的方法,包括:确定其状态要被捕获的家庭自动化系统中的服务,其中服务是用户能够参与于其中的、涉及多种不同类型的设备的交互以提供用户体验的活动;

自动捕获用于服务的家庭自动化系统中的当前状态以构建一组状态,该组状态包括由多种不同类型的设备提供的服务的状态,所述多种不同类型的设备包括音频/视频(A/V)设备、照明设备、制热通风和制冷(HVAC)设备、安全设备、窗帘控制设备、节能设备或通信设备中的两个或更多个;

接收所述服务中的服务的用户选择;

基于用户所选择的服务和属于所述用户选择的服务的一部分的来自该组状态中的状态,生成针对该用户所选择的服务的用户限定场景;

将所述用户限定场景存储在所述家庭自动化系统的存储设备上;

确定用户限定场景要被激活;以及

控制由家庭自动化系统的多种不同类型的设备提供的服务以复制所述用户限定场景的该组状态。

2.根据权利要求1所述的方法,还包括:确定与家庭自动化系统相关联的结构的多个房间中的一个或多个所选择的房间,并且其中生成用户限定场景针对来自该组状态的一个或多个所选择的房间的状态生成用户限定场景。

3.根据权利要求2所述的方法,其中,确定一个或多个所选择的房间包括:接收在控制设备上执行的控制应用(app)的用户界面(UI)中输入的用户输入,所述用户输入包括对一个或多个所选择的房间中的每个房间的选择。

4.根据权利要求1所述的方法,其中,接收服务的用户选择包括:接收在控制设备上执行的控制应用(app)的用户界面(UI)中输入的用户输入,所述用户输入包括对服务的选择。

5.根据权利要求1所述的方法,其中确定服务包括:确定其A/V状态要被捕获的一个或多个A/V服务。

6.根据权利要求1所述的方法,其中确定服务包括:确定其照明状态要被捕获的一个或多个照明服务。

7.根据权利要求1所述的方法,其中确定服务包括:确定其HVAC状态要被捕获的一个或多个HVAC服务。

8.根据权利要求1所述的方法,其中,自动捕获用于服务的家庭自动化系统中的当前状态包括:从由家庭自动化系统的主机控制器所维护的状态中心获取当前状态。

9.根据权利要求1所述的方法,还包括:确定由家庭自动化系统执行的最后媒体查询,其中所述最后媒体查询指示音频或视频项目,并且其中生成用户限定场景包括存储最后媒体查询。

10.根据权利要求1所述的方法,其中,确定用户限定场景要被激活包括:确定已到达一天中的所调度的时间。

11.根据权利要求1所述的方法,其中,确定用户限定场景要被激活包括:确定已到达天空参考。

12.根据权利要求1所述的方法,其中,确定用户限定场景要被激活包括:确定倒数计时器已到期。

13.根据权利要求1所述的方法,其中,确定用户限定场景要被激活包括:确定在控制设备上执行的控制应用(app)的用户界面(UI)中已接收到用户输入,所述用户输入选择用于激活的用户限定场景。

14.根据权利要求1所述的方法,其中所述控制包括:加载用户限定场景;

将在用户限定场景中维护的状态转换成服务请求;以及发布服务请求以控制家庭自动化系统的多种不同类型的设备。

15.根据权利要求14所述的方法,其中所述转换包括:将A/V设备的一个或多个A/V状态转换成服务请求,将照明设备的一个或多个照明状态转换成服务请求,或将HVAC设备的一个或多个HVAC状态转换成服务请求。

16.根据权利要求1所述的方法,其中用户限定场景存储最后媒体查询,并且所述控制包括:发布针对所存储的最后媒体查询的请求以使得回放音频或视频内容。

17.一种用于在家庭自动化系统中生成和使用用户限定场景的装置,包括:处理器;以及

存储器,其耦合到所述处理器并被配置为存储用于场景引擎的处理器可执行指令,所述指令当被执行时可操作成:自动捕获用于服务的家庭自动化系统中的当前状态以构建一组状态,所述服务是用户能够参与于其中的、涉及多种不同类型的设备的交互以提供用户体验的活动,该组状态包括由多种不同类型的设备提供的服务的状态,所述多种不同类型的设备包括音频/视频(A/V)设备、照明设备、制热通风和制冷(HVAC)设备、安全设备、窗帘控制设备、节能设备或通信设备中的两个或更多个,接收所述服务中的服务的用户选择;

基于用户所选择的服务和属于所述用户所选择的服务的一部分的来自该组状态中的状态,生成用户限定场景,将用户限定场景调度为响应于触发而激活,存储用户限定场景,

确定已到达所述触发,

将用户限定场景转换成多个服务请求,以及发布多个服务请求以控制由家庭自动化系统的多种不同类型的设备提供的服务。

18.根据权利要求17所述的装置,其中,从该组状态中的在一个或多个用户所选择的房间中的状态生成所述用户限定场景。

19.根据权利要求17所述的装置,其中所述触发是所调度的时间、天空参考、或倒数计时器。

20.一种在其上存储有指令的机器可读介质,所述指令当由一个或多个处理器执行时可操作成:确定其状态要被捕获的家庭自动化系统中的服务,其中服务是用户能够参与于其中的、涉及多种不同类型的设备的交互以提供用户体验的活动;

自动捕获用于服务的家庭自动化系统中的状态以构建一组状态,该组状态包括由多种不同类型的设备提供的服务的状态,所述多种不同类型的设备包括音频/视频(A/V)设备、照明设备、制热通风和制冷(HVAC)设备、安全设备、窗帘控制设备、节能设备或通信设备中的两个或更多个;

接收所述服务中的服务的用户选择;

确定由家庭自动化系统执行的最后媒体查询,其中所述最后媒体查询指示音频或视频项目;

基于用户所选择的服务、最后媒体查询和属于所述用户所选择的服务的一部分的来自该组状态中的状态,从该组状态和最后媒体查询生成用户限定场景;

将所述用户限定场景存储在家庭自动化系统的存储设备上;

确定用户限定场景要被激活;以及

将在用户限定场景中维护的状态转换成服务请求;

发布服务请求以控制家庭自动化系统的多种不同类型的设备;以及发布针对所存储的最后媒体查询的请求以使得回放音频或视频内容。

说明书 :

生成和使用用于家庭自动化的用户限定场景的方法和装置

技术领域

[0001] 本公开一般涉及家庭自动化系统,并且更具体地涉及家庭自动化系统中的场景的使用。

背景技术

[0002] 家庭自动化系统在住宅和商业结构中日益普及。这样的系统可能能够控制各种各样的设备、在各种各样的设备之间切换数据、和以其他方式与各种各样的设备进行交互,包括音频/视频设备(A/V)设备、制热通风和制冷(HVAC)设备、安全设备、节能设备、通信设备、电话设备和/或其他类型的设备。通常,用户通过单独选择设备并指示它们应当执行的动作来在家庭自动化系统中指示期望的动作。例如,用户可以选择灯具并指示它应当被接通。虽然这种类型的控制可能对于包括相对有限数量的设备的家庭自动化系统是足够的,但是在具有大量设备的系统中可能证明为限制的。在这样的系统中,用户可能期望响应于单个选择或触发而涉及许多设备的同时控制的更复杂的体验。
[0003] 一些系统可能允许创建宏或“场景”,其当被激活时,可以以预限定的方式控制设备的集合。例如,场景可以针对在早晨的走近(walkup)状况进行编程,并且当被激活时,使得家庭自动化系统升起卧室中的灯,将背景音乐设置成低音量,打开窗帘(shade),开启浴室灯等。同样地,场景可以针对其他类型的体验进行编程。
[0004] 虽然场景的使用可以允许家庭自动化系统中的增强的控制,但是首先它们对于编程而言通常是困难且耗时的。在一些家庭自动化系统中,可能需要编写自定义代码来编程某些类型的场景。在提供某种场景创建图形用户界面(GUI)的其他家庭自动化系统中,可能需要手动输入冗长的一系列设备和对应动作选择来限定场景。编程场景的人可能需要具有对系统配置的详细理解,理解应当采取动作的每个设备以及确切地该动作应当是什么,然后手动输入这样的信息。这可能是耗时且容易出错的。因此,许多最终用户不创建其自己的场景,作为替代,而是可能依赖于有限的一组已经可用的场景(例如,系统中预限定的、或由安装者编程为初始系统安装的一部分的),或依靠于单独地控制设备。
[0005] 因此,存在针对可以允许最终用户容易地限定和激活家庭自动化系统中的场景的改进技术的需要。

发明内容

[0006] 提供了可以允许最终用户容易地限定和激活家庭自动化系统中的场景的技术。在一个实施例中,用户限定场景从家庭自动化系统中的服务的当前状态捕获,以高效地取得家庭自动化系统的当前操作状况的各方面的“快照(snapshot)”。为了限定场景,可以自动捕获服务的当前状态以构建一组状态。此外,可以捕获指示当前播放(或最后播放的)媒体项目(例如,歌曲、专辑、播放列表、电影等)的一个或多个最后媒体查询。用户可以选择一个或多个感兴趣的房间,并且针对每个所选择的房间,可以选择一个或多个感兴趣的服务。然后可以从当前状态和针对感兴趣的房间和/或服务的最后媒体查询生成场景。在响应于用户输入对场景进行任何必要的修改之后,场景可以被持久存储。在随后时间,可以响应于调度或用户激活而激活用户限定场景,并且使得家庭自动化系统控制服务并播放媒体项目以复制用户限定场景的该组状态。
[0007] 应当理解,除了在本发明内容中讨论的那些之外,可以实现各种附加特征和替代实施例。本发明内容简单地意图作为向读者的简要介绍,并不指示或暗示本文提到的示例涵盖了本公开的所有方面,或者是本公开的必要或重要方面。

附图说明

[0008] 下文的描述参考附图,其中:
[0009] 图1是可操作成控制关于结构(例如,家庭或商业建筑物)的设备的家庭自动化系统的示例架构的框图;
[0010] 图2是可以被场景引擎用于维护场景的示例场景对象的框图;
[0011] 图3是基于家庭自动化系统中的服务的当前状态来自动捕获用户限定场景的示例步骤顺序的流程图;
[0012] 图4A-4M是涉及基于当前状态自动捕获用户限定场景的控制设备上的控制应用(app)的用户界面(UI)的示例屏幕截图;
[0013] 图5是用于基于用户供应的状态来创建用户限定场景的示例步骤顺序的流程图;
[0014] 图6A-6K是涉及基于用户供应的状态创建用户限定场景的控制设备上的控制应用的UI的示例屏幕截图;以及
[0015] 图7是用于应用用户限定场景的示例步骤顺序的流程图。

具体实施方式

[0016] 示例家庭自动化系统
[0017] 图1是可操作成控制关于结构(例如,家庭或商业建筑物)的设备的家庭自动化系统100的示例架构的框图。系统100的核心是一个或多个设备控制器110和主机控制器140。设备控制器110操作成在各种互连设备120-132之间切换信号并向各种互连设备120-132提供低级控制。主机控制器140控制和监视设备控制器110的操作,以及提供用户界面(UI)解释、系统管理和监视、和/或其他高级控制功能。用于与家庭自动化系统100交互的UI可以在各种类型的控制设备150上向用户显示。
[0018] 更具体地,设备控制器110可以向存在的各种设备120-132提供N×N切换、音频和视频处理、设备控制和其他管理功能。设备120-132可以包括:发源音频和/或视频信号的分类到源设备中的A/V设备120(诸如媒体服务器、电缆盒、数字视频盘(DVD)播放器、媒体播放器等)、操纵音频和/或视频信号(诸如前置放大器、数字信号处理器、放大器等)的处理设备、以及输出音频和/或视频信号的输出设备(诸如电视机、扬声器、投影仪等)。设备120-132还可以包括照明设备122,诸如照明控制器、小键盘、灯模块等。此外,可以提供包括一个或多个恒温器处理单元、恒温器、传感器等的制热通风和制冷(HVAC)设备124。安全设备126还可以耦合到设备控制器110,包括运动传感器、安全摄像机、家庭保健传感器、相关的控制器等。此外,可以提供窗帘控制设备128,其包括电机操作的百叶窗、电机操作的遮光帘、相关的控制器等。可以提供包括一个或多个能量监视器、电流互感器、电压传感器等的节能设备130。又此外,可以存在提供电话、对讲和其他相关功能的通信设备132,其利用一个或多个专用分支交换机(PBX)、网关、手机和其他单元。
[0019] 主机控制器140通常包括被配置为执行软件并操纵来自数据结构的数据的处理器、以及存储设备(例如,持久或易失性存储器、硬盘、固态驱动器(SSD)等),其包括用于存储软件和数据结构的存储单元。数据结构可以包括配置数据库(例如,被构造为关系数据库,诸如结构化查询语言(SQL)数据库)190。配置数据库190可以利用逻辑表示来描述家庭自动化系统100及其设备120-132的配置,以及维护其他类型的信息。软件和数据结构还可以包括状态中心192,其存储描述家庭自动化系统100的当前操作状况的信息。操作状况可以表示为由设备120-132提供的服务的许多离散状态,例如,表示为指示诸如开或关的信息的布尔值、指示诸如程度或体积级(volume level)的信息的数值、或指示其他类型的信息的其他类型的值。主机控制器140上的软件可以包括连同控制设备150一起工作并与配置数据库190和状态中心192进行交互以管理“用户限定场景”的场景引擎194。如本文所使用的,术语“用户限定场景”是指由提供服务的多个设备所引起的结构的一部分内的多媒体体验,所述服务假设特定状态和/或播放指示为由最终用户期望的某些媒体时间。关于用户限定场景的创建、维护和激活的更多细节可以在下文找到。
[0020] 控制设备150可以采取各种形式,包括移动设备152、远程控制单元154、台式计算机(例如PC)等。如本文所使用的,术语“移动设备”是指执行通用操作系统并适用于在一个人员上运输的通用电子设备。诸如平板计算机(例如,运行iOS®操作系统的iPad®平板电脑)和智能手机(例如,运行iOS®操作系统的iPhone®智能电话或运行Android®操作系统的Android®智能电话)之类的设备被认为是移动设备。台式计算机一般不会被视为移动设备。如本文所使用的,术语“远程控制单元”是指被配置为控制家庭自动化系统或其一部分的便携式专用电子设备。通常,远程控制单元不适于通用操作,而是适于与一种或多种类型的家庭自动化系统一起操作。
[0021] 无论其类型如何,控制设备150通常包括被配置为执行软件并且操纵来自数据结构的数据的处理器、以及存储设备(例如,持久或易失性存储器、硬盘、固态驱动器(SSD)等),其包括用于存储软件和数据结构的存储单元。此外,控制设备150通常包括显示屏(例如,触敏显示屏。控制设备还可以包括各种其他类型的硬件,包括便携式电源(例如,电池)、无线通信接口、输入设备(例如,按钮、摄像机、定向传感器等)等。
[0022] 每个控制设备150可以执行例如控制应用(app)160的应用,其向用户呈现UI并且例如通过无线(例如,无线局域网(WLAN)连接将控制命令中继回到主机控制器140。控制应用160可以利用控制软件开发工具包(SDK)162,其除了其他功能之外还提供用于查询配置数据库190和状态中心192以及用于与场景引擎194进行交互的方法。在一些情况下,配置信息和/或状态信息的本地副本可以被传输(例如,下载)并被维护在控制设备150上。例如,可以在控制设备150上维护配置数据库190的本地副本。控制SDK162可以负责检测本地版本的信息何时过时(或不存在本地版本),并且从主机控制器140获得经更新的信息。
[0023] 逻辑表示的示例
[0024] 配置数据库可以利用各种不同类型的逻辑表示来描述家庭自动化系统100及其设备120-132的配置。例如,逻辑表示除其他之外还可以包括“房间”、“组件”、“服务”和“服务请求”。
[0025] 在该上下文中,“房间”是指其中用户可以参与一个或多个家庭自动化活动的结构的一部分。“房间”可以对应于结构内的物理房间或另一空间区域。
[0026] “组件”是指在家庭自动化系统的控制下的设备。组件可以与配置文件(profile)相关联,例如设备的能力和输入/输出(I/O)接口的机器可读标记语言(例如,XML)描述。
[0027] “服务”是指用户可以在涉及多个组件的交互以提供用户体验的一个或多个房间中参与的活动。例如,一种可能的服务可以是“电缆电视”服务,用户可以采用其来观看电缆电视,并且所述“电缆电视”服务利用诸如电缆盒、电视机、扬声器、媒体交换机和接收机之类的特定组件。
[0028] “服务请求”(或“请求”)是指由服务支持的命令。例如,上文讨论的“电缆电视”服务的请求可以是“频道向上”、“频道向下”、“音量增大”、“音量减小”等。通过使用服务请求,可以控制服务。
[0029] 场景对象的示例
[0030] 建立于这些逻辑表示,可以在“场景对象”中维护用户限定场景。图2是可以被场景引擎194用于维护用户限定场景的示例场景对象200的框图。场景对象200可以通过唯一场景标识符(ID)202以及用户提供的名称字符串204来标识。还可以提供许多高级数据结构(例如,存储关键值对的词典)。高级数据结构可以包括功率数据结构(例如,功率词典)210、体积数据结构(例如,体积词典)220和服务数据结构(例如,服务词典)230以及其他数据结构。
[0031] 功率数据结构210可以限定设备120-132是应当通过用户限定场景而开启、关闭还是保持不变。大意是,功率数据结构210可以包括A/V房间结构(例如,A/V房间关键字(key))212,其包含房间到涉及A/V设备120的服务的映射(例如,房间的词典映射到涉及A/V设备
120的服务的词典),其具有指示服务在对应房间中应当通电还是关电的指示(例如,布尔)。
如果房间被映射为没有服务,则可以假设该房间中的所有A/V设备120应当被关电。如果房间不包括在A/V房间结构212中,则可以假设房间中的A/V设备120的功率状态通过用户限定场景保持不变。此外,功率数据结构210可以包括照明关闭结构(例如,房间阵列)214,其指示在其中照明设备122全部通过用户限定场景关电的房间。类似地,功率数据结构210可以包括HVAC关闭结构(例如,房间阵列)216,其指示在其中HVAC设备124全部通过用户限定场景关电的房间。
[0032] 此外,体积数据结构220可以限定房间的体积级。如果未指定房间,则可以假设该房间中的体积级保持不变。此外,服务数据结构230可以限定要与服务相关地提供的状态改变。服务数据结构230可以通过组件作为关键字,并且包括包含受影响的房间的列表以及状态改变的列表的条目。如果在状态改变的列表中未提到某一状态,则其可以保持不变。
[0033] 场景对象200可以响应于许多命令,包括删除用户限定场景的删除命令、立即应用用户限定场景的应用命令、激活调度的用户限定场景的激活调度命令、停用调度的用户限定场景的停用调度命令、可以用于从当前状态的自动捕获创建新的用户限定场景的捕获命令、可以用于从用户供应的状态创建新的用户限定场景的创建命令、以及各种其他命令。
[0034] 限定场景
[0035] 可以以多种不同的方式(例如,结合场景对象200的捕获和创建命令)限定在场景对象200中维护的用户限定场景。在一个实施例中,结合捕获命令,用户限定场景可以通过服务的当前状态的自动捕获来限定,以高效地取得家庭自动化系统的当前操作状况的各方面的“快照”。场景引擎194可以例如通过从状态中心192获取当前状态来自动地捕获服务的当前状态以建立一组状态。场景引擎194还可以例如通过访问诸如媒体服务器的A/V设备120的所保存的回放动作而自动捕获指示当前播放的(或最后播放的)媒体项目(例如,歌曲、专辑、播放列表、电影等)的一个或多个最后媒体查询。用户可以选择感兴趣的一个或多个房间,并且针对每个所选择的房间,选择一个或多个感兴趣的服务,例如,在控制设备150上的控制应用160的UI中。场景引擎194然后可以从当前状态以及针对一个或多个房间和/或服务的最后媒体查询生成用户限定场景。在对用户限定场景进行任何必要的修改(例如,响应于控制设备150上的控制应用160的UI中的进一步的用户输入)之后,用户限定场景可以被持久地存储在其在配置数据库190中的场景对象200中。
[0036] 在替代实施例中,结合创建命令,可以基于用户供应的状态来创建用户限定场景。用户可以选择一个或多个感兴趣的服务,并且针对每个所选择的服务,选择其可用于其中的一个或多个房间,例如,使用控制设备150上的控制应用160的UI。针对每个房间,用户还可以供应一个或多个显式状态(例如,表示为指示诸如开或关的信息的布尔值、指示诸如程度或体积级的信息的数值、或指示其他类型的信息的其他类型的值)。场景引擎194然后可以从用户供应的状态生成用户限定场景。在对用户限定场景进行任何必要的修改(例如,响应于控制应用160的UI中的进一步的用户输入)之后,用户限定场景可以被持久地存储在配置数据库190中的场景对象200中。
[0037] 关于用于限定场景的这些技术的更多细节可以在以下描述中找到。
[0038] i. 自动捕获用户限定场景
[0039] 图3是用于基于家庭自动化系统中的服务的当前状态自动捕获用户限定场景的示例步骤顺序300的流程图。通过也参考图4A-4M可以更好地理解这些步骤,图4A-4M是控制设备150上的控制应用160的UI 400的示例屏幕截图。在步骤310处并且参考图4A,对UI元素402的选择可以基于当前状态开始捕获用户限定场景。
[0040] 在步骤315处,场景引擎194可以确定要捕获哪些状态。步骤315可以包括用于由家庭自动化系统的各种类型的设备所提供的状态关联的服务的子步骤。例如,在子步骤316处,场景引擎194可以确定要捕获的由A/V设备120提供的服务的一个或多个A/V状态。在子步骤317处,场景引擎194可以确定要捕获的由照明设备122提供的服务的一个或多个照明状态。在子步骤318处,场景引擎194可以确定要捕获的由HVAC设备124提供的服务的一个或多个HVAC状态。类似地,在其他子步骤(未示出)中,场景引擎194可以确定要捕获的由其他类型的设备提供的服务的一个或多个其他状态。在步骤320处,场景引擎194可以将状态合并成一组状态。此外,在步骤325处,场景引擎194可以通过从状态中心192获取用于该组状态的当前状态来确定它们。在步骤330处,场景引擎194可以确定指示当前播放的(或最后播放的)项目的一个或多个最后媒体查询。场景引擎可以访问诸如媒体服务器的A/V设备120的一个或多个保存的回放动作,以获得最后的媒体查询。
[0041] 在步骤335处并且参考图4B-4C,可以在UI 400中接收对一个或多个感兴趣的房间的用户选择。可以显示表示房间的一个或多个UI元素404、406。响应于UI元素的选择,指示符408、410可以确认房间选择。一个或多个所选择的房间可以是在结构内所限定的房间总数的子集。在步骤340处并且参考图4D,还可以在UI 400中接收对一个或多个感兴趣的服务的用户选择。用户选择可以是UI 400中的一个或多个UI元素412-418,其表示在相应房间中可用的服务。然后在步骤345处,场景引擎194可以从当前状态和针对所选择的房间和服务的最后媒体查询生成用户限定场景。可以显示概要420,如图4E中所示。在步骤350处,场景引擎194可以例如响应于UI元素434的激活而将用户限定场景存储在配置数据库190中。作为存储用户限定场景的一部分,名称和/或照片可以响应于UI元素422中的用户输入而与用户限定场景相关联。
[0042] 在步骤355处并且参考图4F-K,控制应用160可以响应于UI 400中的用户输入而修改用户限定场景。例如,响应于UI元素424-430中的用户输入,可以将用户限定场景调度为激活。例如,响应于UI元素426中的用户输入,可以将场景调度为在到达一天中的特定时间时激活。类似地,响应于UI元素428中的用户输入,可以将用户限定场景调度为在到达天空(celestial)参考(例如,黎明、日落等)时激活。类似地,响应于UI元素428-432中的用户输入,可以将用户限定场景调度为在倒数计时器到期时激活。在步骤360处并且参考图4L,经更新的用户限定场景可以例如响应于UI元素434的激活而被持久地存储在配置数据库190中。后文,参考图4M,用于用户限定场景的场景UI元素436可以显示在控制应用160的UI 400中。用户限定场景可以响应于场景UI元素434的选择或上文讨论的调度准则之一而被激活。
[0043] ii. 创建用户限定场景
[0044] 图5是用于基于用户供应的状态创建用户限定场景的示例步骤顺序500的流程图。通过也参考图6A-6K可以更好地理解这样的步骤,图6A-6K是控制设备150上的控制应用160的UI 400的示例屏幕截图。在步骤510处并且参考图6A,对UI元素602的用户选择可以基于用户供应的状态开始创建用户限定场景。在步骤515处并且参考图6B,可以在UI 400中接收对服务的用户选择。用户选择可以是UI 400中的表示可用服务的一个或多个UI元素605-
618。在步骤520处并且参考图6C,可以在UI 400中接收对房间的状态的用户选择。用户选择可以在UI 400中的UI元素620中。虽然在图6C中仅示出了单个UI元素620,但是应当理解,如果服务在多个房间中可用,则可以示出多个对应的UI元素620以允许对房间的状态的单独选择。可以重复步骤515和520,直到用户供应了完整的一组状态。可以显示概要622,如图6D中所示。此外,在子步骤522处并且参考图6E-F,针对一些房间中的一些类型的服务(例如,照明服务),对状态的用户选择可以被改进以指示提供服务的设备(例如照明器具)或设备组。尽管在图6F中仅示出了单个UI元素624,但是应当理解,当存在可以提供服务(例如,照明服务)的多个设备(例如,多个照明器具)或设备组时,可以示出多个对应的UI元素624以允许单独改进。
[0045] 在步骤525处,场景引擎194可以确定由家庭自动化系统执行的最后媒体查询(例如,所访问的最后音频和/或视频内容)。然后,在步骤530处,场景引擎194可以从用户供应的状态和最后媒体查询生成用户限定场景。在步骤535处并且参考图6G,场景引擎194可以响应于UI元素634的激活而将用户限定场景存储在配置数据库190中。作为存储用户限定场景的一部分,名称和/或照片可以响应于UI元素626中的用户输入而与用户限定场景相关联。
[0046] 在步骤540处并且参考图6H-J,控制应用160可以响应于UI 400中的用户输入而修改用户限定场景。例如,响应于UI元素628-642中的用户输入,用户限定场景可以被调度为在某几个月的某几天的某一时间激活。替代地,用户限定场景可以被调度为当到达天空参考(例如,黎明、日落等)时、当倒数计时器到期时、或者当一些其他触发被激活时激活。在步骤545处并且参考图6K,经更新的用户限定场景可以例如响应于UI元素634的选择而被持久地存储在配置数据库190中。下文,可以在控制应用160的UI 400中显示用于用户限定场景的场景UI元素。用户限定场景可以响应于场景UI元素的选择或上文讨论的调度准则之一而被激活。
[0047] 应用用户限定场景
[0048] 当确定要激活用户限定场景(例如,响应于选择用于激活的场景的调度准则或用户输入)时,主机控制器140上的场景引擎194可以应用用户限定场景,这是通过访问用户限定场景,将在用户限定场景中维护的状态和所存储的媒体查询转换成服务请求,并向家庭自动化系统100的控制设备发布这些服务请求(例如,经由设备控制器110)。图7是用于应用用户限定场景的示例步骤顺序700的流程图。在步骤710处,场景引擎194可以通过从配置数据库190加载其场景对象200而访问用户限定场景。在步骤720处,场景引擎194可以使用专门的映射逻辑和数据表将在用户限定场景中维护的状态转换成服务请求。步骤720可以包括用于转换与由家庭自动化系统100的各种类型的设备提供的服务相关联的状态的子步骤。例如,在子步骤722处,场景引擎194可以使用专门的映射逻辑将由A/V设备120提供的服务的一个或多个A/V状态转换成服务请求。在子步骤724处,场景引擎194可以使用映射数据表将由照明设备122提供的服务的一个或多个照明状态转换成服务请求。在子步骤726处,场景引擎194可以使用附加的映射数据表将由HVAC设备124提供的服务的一个或多个HVAC状态转换成服务请求。
[0049] 在步骤730处,场景引擎194可以将所存储的最后媒体查询转换成请求。此外,在步骤740处,场景引擎194可以访问可能与用户限定场景相关联的任何用户指定的服务请求。在步骤750处,所有转换或访问的服务请求可以合并到请求集合中。在步骤760处,可以按房间组织(例如,排序)请求集合。最后,在步骤770处,主机控制器140可以发布请求集合的经组织的(例如,经排序的)服务请求(例如,经由设备控制器110),以控制由家庭自动化系统
100的设备提供的服务。
[0050] 结论
[0051] 应当理解,可以在本文讨论的实施例的精神和范围内进行各种改编和修改。虽然一些实施例涉及能够进行A/V控制、照明控制、HVAC控制、安全控制、窗帘控制、节能和通信控制的家庭自动化系统,但是应当理解,技术可以适用于例如可以控制较少数量的类型的设备(例如,仅A/V设备和照明设备、仅照明和HVAC设备等)的更有限的系统。
[0052] 虽然一些实施例利用场景引擎194来执行上述操作中的各种操作,但是应当理解,场景引擎194的操作可以由其他软件和/或硬件实现。例如,可以通过在诸如移动应用160的控制设备150上执行的软件、通过在设备控制器110上执行的软件、和/或通过在家庭自动化系统100的某一其他设备上执行的软件来执行操作中的至少一些。类似地,至少一些操作可以由与家庭自动化系统100通信的个人计算机(PC)执行。应当理解,各种不同的布置可以是可能的。
[0053] 此外,上文描述为以软件执行的许多技术可以以硬件执行,并且反之亦然。取决于实现方式,操作可以以软件、以硬件或以其各种组合执行。软件实现方式可以包括存储在非暂时性机器可读介质(例如,非暂时性计算机可读介质)中的机器可执行指令(例如,计算机可执行指令),所述介质诸如易失性或持久性存储器、磁盘、压缩盘(CD)或其他有形介质。硬件实现方式可以包括经配置的处理器、逻辑电路、专用集成电路和/或其他类型的硬件组件。此外,组合的软件/硬件实现方式可以包括存储在非暂时性机器可读介质中的机器可执行指令以及例如处理器、存储器等的一个或多个硬件组件二者。一般,应当理解,以上描述仅仅意指通过示例的方式进行。