『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 2477|回复: 14

[流程系列] 有没有这样一个节点?

[复制链接]

8

主题

61

帖子

483

积分

中级会员

Rank: 3Rank: 3

积分
483
金钱
422
HASS币
0
发表于 2023-3-31 07:44:31 | 显示全部楼层 |阅读模式
设定了早上Homepod自动播报天气情况,但有时候前面获取天气数据等节点都正常执行后,到tts播报的节点会执行错误,可能是网络卡住的原因,再执行一下就可以正常播报。有没有这样一个节点,当某个节点执行错误的时候,延时一段时间继续执行这个节点,直到执行成功?
09955CE0-E688-4eb7-BA0B-2065B1FB87E4.png
回复

使用道具 举报

40

主题

2176

帖子

8286

积分

元老级技术达人

积分
8286
金钱
6095
HASS币
110
发表于 2023-3-31 08:49:50 | 显示全部楼层
tts节点后有输出,可以看下payload
估计执行成功和失败的payload是不一样的
然后判断是否要再执行
回复

使用道具 举报

8

主题

61

帖子

483

积分

中级会员

Rank: 3Rank: 3

积分
483
金钱
422
HASS币
0
 楼主| 发表于 2023-3-31 09:08:21 | 显示全部楼层
ghostist 发表于 2023-3-31 08:49
tts节点后有输出,可以看下payload
估计执行成功和失败的payload是不一样的
然后判断是否要再执行 ...

CDE1B34B-D62D-4227-AFF5-40DC17D0D700.png 这个tts节点出错后,不会再执行后面的节点,好像没法再去判断输出
回复

使用道具 举报

40

主题

2176

帖子

8286

积分

元老级技术达人

积分
8286
金钱
6095
HASS币
110
发表于 2023-3-31 09:15:42 | 显示全部楼层
cocoonyun 发表于 2023-3-31 09:08
这个tts节点出错后,不会再执行后面的节点,好像没法再去判断输出

你在这个节点后面加个debug  看看输出
回复

使用道具 举报

8

主题

61

帖子

483

积分

中级会员

Rank: 3Rank: 3

积分
483
金钱
422
HASS币
0
 楼主| 发表于 2023-3-31 09:24:29 | 显示全部楼层
ghostist 发表于 2023-3-31 09:15
你在这个节点后面加个debug  看看输出

C5120FB0-AEED-4d7d-8249-B1760590360D.png 试过了,如果节点执行出错的话,加debug也不会有输出,就是出错信息,这个不是debug输出的。
回复

使用道具 举报

0

主题

7

帖子

53

积分

注册会员

Rank: 2

积分
53
金钱
46
HASS币
0
发表于 2023-3-31 09:30:05 | 显示全部楼层
会用NR的我都觉得厉害。。
回复

使用道具 举报

40

主题

2176

帖子

8286

积分

元老级技术达人

积分
8286
金钱
6095
HASS币
110
发表于 2023-3-31 10:36:58 | 显示全部楼层
cocoonyun 发表于 2023-3-31 09:24
试过了,如果节点执行出错的话,加debug也不会有输出,就是出错信息,这个不是debug输出的。
...

我也不是很熟NR
如果是我,我做这样的尝试:
在TTS触发时同时触发一个定时器,比如3秒
然后看TTS,如果正常,则应该有输出payload,用这个输出判断去停止上述定时器
如果TTS调用异常,则没有输出,此时定时器不会被停止,到3秒后重复触发TTS
回复

使用道具 举报

8

主题

61

帖子

483

积分

中级会员

Rank: 3Rank: 3

积分
483
金钱
422
HASS币
0
 楼主| 发表于 2023-3-31 10:51:11 | 显示全部楼层
ghostist 发表于 2023-3-31 10:36
我也不是很熟NR
如果是我,我做这样的尝试:
在TTS触发时同时触发一个定时器,比如3秒

是的,目前我妥协的方式是这样的,同时触发一个延时,若干秒后再触发TTS,这个方式不知道怎么可以形成一个循环,确保TTS执行成功后停止,目前只能再触发一次
回复

使用道具 举报

40

主题

2176

帖子

8286

积分

元老级技术达人

积分
8286
金钱
6095
HASS币
110
发表于 2023-3-31 11:03:32 | 显示全部楼层
cocoonyun 发表于 2023-3-31 10:51
是的,目前我妥协的方式是这样的,同时触发一个延时,若干秒后再触发TTS,这个方式不知道怎么可以形成一 ...

不 你没有理解我说的
单纯延时再触发  如果第一次就触发成功,那就会触发第二次
如果第二次也没成功,那就不会尝试第三次

你自己看看我上面说的,我那个思路如果不成功会一直尝试,直到成功
回复

使用道具 举报

8

主题

61

帖子

483

积分

中级会员

Rank: 3Rank: 3

积分
483
金钱
422
HASS币
0
 楼主| 发表于 2023-3-31 11:29:56 | 显示全部楼层
ghostist 发表于 2023-3-31 11:03
不 你没有理解我说的
单纯延时再触发  如果第一次就触发成功,那就会触发第二次
如果第二次也没成功,那 ...

谢谢,我理解你的意思了。我又搞了个全局变量,作了个计时循环,这样好像可以 0DD4CE19-4E67-4b2c-93A8-6A60598A0633.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-22 12:21 , Processed in 0.212117 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表