一种确定智能家居场景执行的方法及装置与流程

文档序号:21317017发布日期:2020-06-30 20:46阅读:228来源:国知局
一种确定智能家居场景执行的方法及装置与流程

本发明实施例涉及智能家居技术领域,尤其涉及一种确定智能家居场景执行的方法及装置。



背景技术:

目前智能家居行业场景可分为点击式场景、条件场景和定时场景。所有这些场景中都涉及场景动作,所谓场景动作是由一个或多个设备动作组成的。有一些智能家居方案支持对场景动作统一设置一个延时时间,即场景触发后,在指定延时时间后,场景中涉及的动作设备的动作才会执行;有一些智能家居方案除支持对场景动作统一设置一个延时时间外,还支持对场景中的动作设备分别设置延时时间。执行场景时,对于场景中的动作设备涉及的动作,根据延时时间及当前时间计算出一个将来执行时间,根据这个将来执行时间,将动作设备动作放到一个执行序列中,有一个独立的线程负责监控这个根据执行时间先后建立的执行序列,并进行处理,实现场景的执行。但这些技术方案中在多个场景交叉执行时,场景中涉及相同或相反的动作设备动作在执行过程中存在冲突性的问题,也并没有统一的场景执行规则对这些场景中动作设备的动作进行规范化。

综上,目前亟需一种确定智能家居场景执行的方法,用以解决现有技术中多个场景交叉执行时,场景中涉及相同或相反的动作设备动作在执行过程中存在冲突性的问题。



技术实现要素:

本发明实施例提供了一种确定智能家居场景执行的方法及装置,用以解决现有技术中多个场景交叉执行时,场景中涉及相同或相反的动作设备动作在执行过程中存在冲突性的问题。

第一方面,本发明实施例提供了一种确定智能家居场景执行的方法,包括:

获取待执行的场景信息,所述待执行的场景信息包括待执行的场景涉及的当前动作设备对应的动作;

根据所述当前动作设备对应的动作,确定场景执行序列中是否存在与所述当前动作设备对应的动作相同或相反的设备动作;

若是,则在确定所述当前动作设备对应的动作具有取消能力时,将与所述当前动作设备对应的动作相同或相反的设备动作从所述场景执行序列中删除,并将所述当前动作设备对应的动作根据延时时间插入所述场景执行序列中。

上述技术方案中,通过根据当前动作设备对应的动作,确定场景执行序列中是否存在与当前动作设备对应的动作相同或相反的设备动作,若是,则在确定当前动作设备对应的动作具有取消能力时,将与当前动作设备对应的动作相同或相反的设备动作从所述场景执行序列中删除,并将当前动作设备对应的动作根据延时时间插入场景执行序列中,可以解决现有技术中多个场景交叉执行时,场景中涉及相同或相反的动作设备动作在执行过程中存在冲突性的问题,从而实现在多个场景交叉执行,涉及相同或相反的动作设备动作时,对最终设备状态的控制,进而可以提升用户体验。

可选地,所述方法还包括:

若所述场景执行序列中不存在与所述当前动作设备对应的动作相同或相反的设备动作,则将所述当前动作设备对应的动作根据所述延时时间插入到所述场景执行序列中。

上述技术方案中,在场景执行序列中不存在与当前动作设备对应的动作相同或相反的设备动作,将当前动作设备对应的动作根据延时时间插入到场景执行序列中,可以使场景执行序列中不存在相同或相反设备动作的当前动作设备对应的动作在执行时间到达时顺利执行。

可选地,所述方法还包括:

在确定所述当前动作设备对应的动作不具有取消能力时,将所述当前动作设备对应的动作根据所述延时时间插入到所述场景执行序列中。

上述技术方案中,在确定当前动作设备对应的动作不具有取消能力时,将当前动作设备对应的动作根据延时时间插入到场景执行序列中,可以使不具有取消能力的当前动作设备对应的动作在执行时间到达时顺利执行。

可选地,在获取待执行的场景信息之前,还包括:

获取各场景涉及的动作设备的设置指令,所述设置指令用于设置所述各场景涉及的动作设备的动作是否具有取消能力;

根据所述设置指令对所述各场景涉及的动作设备进行设置。

上述技术方案中,在获取待执行的场景信息之前,获取各场景涉及的动作设备的设置指令,并根据设置指令对各场景涉及的动作设备或动作设备对应的动作设置是否具有取消能力,如此可以解决现有技术中多个场景交叉执行时,场景中涉及相同或相反的动作设备动作在执行过程中存在冲突性的问题,并可以便于裁决各场景涉及的动作设备的动作的执行,从而可以提升用户体验。

可选地,在将所述当前动作设备对应的动作根据所述延时时间插入到所述场景执行序列中之后,还包括:

确定所述当前动作设备对应的动作是否插入到所述场景执行序列的起始位置;

若是,则删除所述场景执行序列中位于所述当前动作设备对应的动作之后的动作的定时器,并触发场景执行处理线程处理所述场景执行序列。

上述技术方案中,在将当前动作设备对应的动作根据延时时间插入到场景执行序列中之后,确定当前动作设备对应的动作是否插入到场景执行序列的起始位置,若是,则删除场景执行序列中位于当前动作设备对应的动作之后的动作的定时器,并触发场景执行处理线程处理场景执行序列,可以实现在多个场景交叉执行,涉及相同或相反的动作设备动作时,对最终设备状态的控制。

第二方面,本发明实施例还提供了一种确定智能家居场景执行的装置,包括:

获取单元,用于获取待执行的场景信息,所述待执行的场景信息包括待执行的场景涉及的当前动作设备对应的动作;

处理单元,用于根据所述当前动作设备对应的动作,确定场景执行序列中是否存在与所述当前动作设备对应的动作相同或相反的设备动作;若是,则在确定所述当前动作设备对应的动作具有取消能力时,将与所述当前动作设备对应的动作相同或相反的设备动作从所述场景执行序列中删除,并将所述当前动作设备对应的动作根据延时时间插入所述场景执行序列中。

可选地,所述处理单元还用于:

若所述场景执行序列中不存在与所述当前动作设备对应的动作相同或相反的设备动作,则将所述当前动作设备对应的动作根据所述延时时间插入到所述场景执行序列中。

可选地,所述处理单元还用于:

在确定所述当前动作设备对应的动作不具有取消能力时,将所述当前动作设备对应的动作根据所述延时时间插入到所述场景执行序列中。

可选地,所述处理单元还用于:

在获取待执行的场景信息之前,获取各场景涉及的动作设备的设置指令,所述设置指令用于设置所述各场景涉及的动作设备的动作是否具有取消能力;

根据所述设置指令对所述各场景涉及的动作设备进行设置。

可选地,所述处理单元还用于:

在将所述当前动作设备对应的动作根据所述延时时间插入到所述场景执行序列中之后,确定所述当前动作设备对应的动作是否插入到所述场景执行序列的起始位置;

若是,则删除所述场景执行序列中位于所述当前动作设备对应的动作之后的动作的定时器,并触发场景执行处理线程处理所述场景执行序列。

第三方面,本发明实施例提供一种计算设备,包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行确定智能家居场景执行的方法。

第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行确定智能家居场景执行的方法。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种系统架构的示意图;

图2为本发明实施例提供的一种确定智能家居场景执行的方法的流程示意图;

图3为本发明实施例提供的一种场景中涉及的动作设备对应的动作插入场景执行序列的流程示意图;

图4为本发明实施例提供的一种场景执行处理线程处理场景执行序列的流程示意图;

图5为本发明实施例提供的一种确定智能家居场景执行的装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

图1为本发明实施例提供的一种系统架构。如图1所示,该系统架构可以为服务器100,包括处理器110、通信接口120和存储器130。

其中,通信接口120用于与终端设备进行通信,收发该终端设备传输的信息,实现通信。

处理器110是服务器100的控制中心,利用各种接口和线路连接整个服务器100的各个部分,通过运行或执行存储在存储器130内的软件程序/或模块,以及调用存储在存储器130内的数据,执行服务器100的各种功能和处理数据。可选地,处理器110可以包括一个或多个处理单元。

存储器130可用于存储软件程序以及模块,处理器110通过运行存储在存储器130的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器130可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据业务处理所创建的数据等。此外,存储器130可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。

基于上述描述,图2示例性的示出了本发明实施例提供的一种确定智能家居场景执行的方法的流程,该流程可以由确定智能家居场景执行的装置执行,该装置可以位于如图1所示服务器100内,也可以是该服务器100。

如图2所示,该流程具体包括:

步骤201,获取待执行的场景信息。

在本发明实施例中,该待执行的场景信息可以包括待执行的场景涉及的当前动作设备对应的动作。由于在获取待执行的场景信息之前,需要创建场景并对场景中的动作设备或动作设备对应的动作配置是否具有取消能力的功能,因此,在场景创建时,可以通过设置场景是否具有取消能力实现对场景下所有动作设备统一设置是否具有取消能力,也可以在进行具体动作设备设置时,设置具体动作设备对应的动作是否具有取消能力。其中,取消能力是指将与当前动作设备对应的动作相同或相反的设备动作均取消,即把当前动作设备对应的动作作为该设备的最终动作。

步骤202,根据所述当前动作设备对应的动作,确定场景执行序列中是否存在与所述当前动作设备对应的动作相同或相反的设备动作。

在本发明实施例中,根据当前动作设备对应的动作,确定场景执行序列中是否存在与当前动作设备对应的动作相同或相反的设备动作,若场景执行序列中存在与当前动作设备对应的动作相同或相反的设备动作,则需要再判断当前动作设备对应的动作是否具有取消能力,并根据当前动作设备对应的动作是否具有取消能力做进一步处理,若场景执行序列中不存在与当前动作设备对应的动作相同或相反的设备动作,则将当前动作设备对应的动作根据延时时间插入到所述场景执行序列中。

步骤203,若所述场景执行序列中存在与所述当前动作设备对应的动作相同或相反的设备动作,则在确定所述当前动作设备对应的动作具有取消能力时,将与所述当前动作设备对应的动作相同或相反的设备动作从所述场景执行序列中删除,并将所述当前动作设备对应的动作根据延时时间插入所述场景执行序列中。

在本发明实施例中,在确定当前动作设备对应的动作具有取消能力时,将与当前动作设备对应的动作相同或相反的设备动作从场景执行序列中删除;在确定当前动作设备对应的动作不具有取消能力时,将当前动作设备对应的动作根据延时时间插入到场景执行序列中,在将当前动作设备对应的动作根据延时时间插入到场景执行序列中之后,确定当前动作设备对应的动作是否插入到场景执行序列的起始位置,若是插入到场景执行序列的起始位置,则删除场景执行序列中位于当前动作设备对应的动作之后的动作的定时器,并触发场景执行处理线程处理场景执行序列。具体地,在场景创建时场景中可以设置取消能力也可以不设置取消能力,当设备动作设置了具有取消能力时,在场景交叉执行时,出现具有相同设备的相同动作时,后执行的场景的动作设备的动作,能够取消尚未执行的先执行的场景的动作设备的动作。其中,先场景的执行动作时间是晚于后场景相同动作的执行时间;延时时间是指在场景创建时指定的动作设备对应的动作延迟多长时间执行,即在场景执行后,该设备动作要等指定的时间到达后再执行;定时器是根据当前时间与执行时间的时间差设置。

举例来说,有两个场景a和b,a场景控制空调ac在10s后打开,b场景控制空调ac在5s后关闭,用户先执行了场景a,希望在10s后把空调ac打开,而在执行了场景a之后2秒内,他又执行了场景b,希望把空调ac关闭。由于用户在建立场景b时,通过对场景b对应的动作设备整体设置了具有取消能力,或者通过对控制空调ac关闭的动作设备对应的动作设置了具有取消能力,当场景b执行时,从场景执行序列中删除了先前执行的场景a对应的控制空调ac开的动作设备对应的动作,则最终场景执行时只会执行场景b中对应的控制空调ac关闭的动作设备对应的动作;另外,用户也可以在建立场景b时,通过对场景b对应的动作设备整体设置了不具有取消能力,或者通过对控制空调ac关闭的动作设备对应的动作设置了不具有取消能力,当场景b执行时,会将场景b对应的控制空调ac关闭的动作设备动作,插入到场景执行序列中,而先前执行的场景a对应的控制空调ac开的动作设备对应的动作,依然在场景执行的动作序列中保存,最终场景执行时,会先执行场景b对应的控制空调ac关的动作设备对应的动作,之后再执行场景a对应的控制空调ac开的动作设备对应的动作。

为了更好的解释本发明场景中涉及的动作设备对应的动作插入场景执行序列的实施例,下面通过具体的实施场景描述本发明实施例提供的一种场景中涉及的动作设备对应的动作插入场景执行序列的流程。

如图3所示,该流程包括以下步骤:

步骤301,当前动作设备对应的动作是否具有取消能力。

用户在创建场景时,对场景中的动作设备或动作设备对应的动作设置了是否具有取消能力的功能。当在场景执行时,判断场景中涉及的当前动作设备对应的动作是否具有取消能力,若是,执行步骤302,若否,执行步骤303。

步骤302,删除与当前动作设备对应的动作相同或相反的设备动作。

在确定当前动作设备对应的动作具有取消能力时,则从场景执行序列中删除与当前动作设备对应的动作相同或相反的设备动作。

步骤303,根据延时时间,将当前动作设备对应的动作插入到场景执行序列中。

在确定当前动作设备对应的动作不具有取消能力时,则根据延时时间,将当前动作设备对应的动作插入到场景执行序列中。

步骤304,当前动作设备对应的动作是否插入到场景执行序列的起始位置。

在将当前动作设备对应的动作插入到场景执行序列中之后,还需判断当前动作设备对应的动作是否插入到场景执行序列的起始位置,若是,执行步骤305,若否,则当前动作设备对应的动作需等到执行时间到达再执行。

步骤305,删除场景执行序列中位于当前动作设备对应的动作之后的动作的定时器,并触发场景执行处理线程处理场景执行序列。

上述实施例表明,通过确定场景中涉及的当前动作设备对应的动作是否具有取消能力,并在确定当前动作设备对应的动作具有取消能力时,则从场景执行序列中删除与当前动作设备对应的动作相同或相反的设备动作,在确定当前动作设备对应的动作不具有取消能力时,则根据延时时间,将当前动作设备对应的动作插入到场景执行序列中,再在将当前动作设备对应的动作插入到场景执行序列中之后,确定当前动作设备对应的动作是否插入到场景执行序列的起始位置,之后在确定当前动作设备对应的动作是否插入到场景执行序列的起始位置时,将场景执行序列中位于当前动作设备对应的动作之后的动作的定时器进行删除,并触发场景执行处理线程处理场景执行序列,可以解决现有技术中多个场景交叉执行时,场景中涉及相同或相反的动作设备动作在执行过程中存在冲突性的问题,从而实现在多个场景交叉执行,涉及相同或相反的动作设备动作时,对最终设备状态的控制,进而可以提升用户体验。

为了更好的解释本发明场景执行处理线程处理场景执行序列的实施例,下面通过具体的实施场景描述本发明实施例提供的一种场景执行处理线程处理场景执行序列的流程。其中,场景执行处理线程是负责处理执行场景执行序列中涉及的动作设备对应的动作。

如图4所示,该流程包括以下步骤:

步骤401,从场景执行序列中获取第一个待执行的动作设备对应的动作。

在场景执行时,从场景执行序列中获取第一个待执行的动作设备对应的动作,并获取该待执行的动作设备对应的动作的执行时间。

步骤402,执行时间是否到达。

在从场景执行序列中获取第一个待执行的动作设备对应的动作和该待执行的动作设备对应的动作的执行时间之后,判断该待执行的动作设备对应的动作的执行时间是否到达,若是,执行步骤404,若否,执行步骤403。

步骤403,设置定时器,并延时触发。

在确定该待执行的动作设备对应的动作的执行时间未到达后,为该待执行的动作设备对应的动作设置定时器,并在等到定时时间到达后再次处理场景执行序列。

步骤404,执行该待执行的动作设备对应的动作。

在确定该待执行的动作设备对应的动作的执行时间到达后,执行该待执行的动作设备对应的动作。

步骤405,从场景执行序列中删除该待执行的动作设备对应的动作。

在执行完该待执行的动作设备对应的动作之后,将该待执行的动作设备对应的动作从场景执行序列中删除,并继续获取场景执行序列中下一个待执行的动作设备对应的动作。

上述实施例表明,通过获取第一个待执行的动作设备对应的动作和该待执行的动作设备对应的动作的执行时间之后,并判断该待执行的动作设备对应的动作的执行时间是否到达,在确定该待执行的动作设备对应的动作的执行时间到达后,执行该待执行的动作设备对应的动作,在确定该待执行的动作设备对应的动作的执行时间未到达后,为该待执行的动作设备对应的动作设置定时器,并在等到定时时间到达后再次处理场景执行序列,再在执行完该待执行的动作设备对应的动作之后,将该待执行的动作设备对应的动作从场景执行序列中删除,并继续获取场景执行序列中下一个待执行的动作设备对应的动作,可以解决现有技术中多个场景交叉执行时,场景中涉及相同或相反的动作设备动作在执行过程中存在冲突性的问题,从而可以提升用户体验。

基于相同的技术构思,图5示例性的示出了本发明实施例提供的一种确定智能家居场景执行的装置,该装置可以执行确定智能家居场景执行的方法的流程。

如图5所示,该装置包括:

获取单元501,用于获取待执行的场景信息,所述待执行的场景信息包括待执行的场景涉及的当前动作设备对应的动作;

处理单元502,用于根据所述当前动作设备对应的动作,确定场景执行序列中是否存在与所述当前动作设备对应的动作相同或相反的设备动作;若是,则在确定所述当前动作设备对应的动作具有取消能力时,将与所述当前动作设备对应的动作相同或相反的设备动作从所述场景执行序列中删除,并将所述当前动作设备对应的动作根据延时时间插入所述场景执行序列中。

可选地,所述处理单元502还用于:

若所述场景执行序列中不存在与所述当前动作设备对应的动作相同或相反的设备动作,则将所述当前动作设备对应的动作根据所述延时时间插入到所述场景执行序列中。

可选地,所述处理单元502还用于:

在确定所述当前动作设备对应的动作不具有取消能力时,将所述当前动作设备对应的动作根据所述延时时间插入到所述场景执行序列中。

可选地,所述处理单元502还用于:

在获取待执行的场景信息之前,获取各场景涉及的动作设备的设置指令,所述设置指令用于设置所述各场景涉及的动作设备的动作是否具有取消能力;

根据所述设置指令对所述各场景涉及的动作设备进行设置。

可选地,所述处理单元502还用于:

在将所述当前动作设备对应的动作根据所述延时时间插入到所述场景执行序列中之后,确定所述当前动作设备对应的动作是否插入到所述场景执行序列的起始位置;

若是,则删除所述场景执行序列中位于所述当前动作设备对应的动作之后的动作的定时器,并触发场景执行处理线程处理所述场景执行序列。

基于相同的技术构思,本发明实施例提供一种计算设备,包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行确定智能家居场景执行的方法。

基于相同的技术构思,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行确定智能家居场景执行的方法。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1