找回密码
 立即注册
查看: 702|回复: 15

[流程系列] function 运行函数问题

[复制链接]

9

主题

46

回帖

182

积分

注册会员

积分
182
金钱
127
HASS币
0
发表于 2025-1-1 17:13:43 | 显示全部楼层 |阅读模式
请问,2个设备的状态已经是on,通过比对2个结果都是on为什么不输出  payload on呢。只判断一个设备情况下是能够判断是否输出on。
97ed4f05a9119c7c7efc9bc2436e33d.png
回复

使用道具 举报

jjcs 手机认证

51

主题

1918

回帖

7761

积分

论坛元老

积分
7761
金钱
5782
HASS币
40
发表于 2025-1-1 19:14:30 | 显示全部楼层
这个代码可以直接简化,直接一条if
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

2

主题

195

回帖

1365

积分

金牌会员

积分
1365
金钱
1168
HASS币
0
发表于 2025-1-1 20:13:02 | 显示全部楼层
function只有1个入口

                               
登录/注册后可看大图
★Raspberry + Raspbian + Home Assistant v0.1
★树莓派 + Raspbian系统 + HomeAssistant
https://github.com/huangqian8/homeassistant
回复

使用道具 举报

hhh. 手机认证

9

主题

292

回帖

2736

积分

论坛UI达人

积分
2736
金钱
2435
HASS币
0
发表于 2025-1-2 01:25:54 | 显示全部楼层
结合你的两条帖子,个人感觉你把自动化搞得很复杂。

首先不知道你想实现什么自动化。
按照你的图片,可以看到使用的FP2人体存在传感器。
你可以在HA中去实现前面的步骤,例如:在辅助元素创建群组,用于实现同时触发,才能触发。

其次,不知何种自动化,需要轮询查看实体状态,FP2本来就是触发器,而且可以多条件触发。
在node-red中,也可以实现,触发+条件的这种触发流程,例如:两个设备同时作为触发器,也同时作为判断条件。

你想实现同时满足几个条件来触发,很简单。

你想在node-red中通过轮询的方式对比两个实体的状态,然后输出结果,这很复杂。

回复

使用道具 举报

21

主题

113

回帖

1047

积分

论坛UI达人

积分
1047
金钱
913
HASS币
10
发表于 2025-1-2 10:08:27 | 显示全部楼层
你这个时间戳看似是同时触发两个传感器读取,但是实际上到达function是存在先后的,
function里的变量一次性的,device1和device2的输入不在同一payload里无法比较,需要先储存变量,
可以设置全局变量或者流变量或者上下文变量来实现变量储存,又或者使用join节点汇合两个传感器状态合成一个payload后输入给function做判断
回复

使用道具 举报

9

主题

46

回帖

182

积分

注册会员

积分
182
金钱
127
HASS币
0
 楼主| 发表于 2025-1-2 10:12:53 | 显示全部楼层
gasment 发表于 2025-1-2 10:08
你这个时间戳看似是同时触发两个传感器读取,但是实际上到达function是存在先后的,
function里的变量一次 ...

小白一个,对编程只是参考了 AI模型给出的答案自己整理一下出来的东西。太复杂的代码逻辑我还不会调用。
回复

使用道具 举报

0

主题

21

回帖

92

积分

注册会员

积分
92
金钱
71
HASS币
0
发表于 2025-1-2 10:19:36 | 显示全部楼层
return msg.payload = "on";
回复

使用道具 举报

0

主题

21

回帖

92

积分

注册会员

积分
92
金钱
71
HASS币
0
发表于 2025-1-2 10:21:37 | 显示全部楼层
没看懂你写的是啥- -#。 逻辑就有问题吧。
回复

使用道具 举报

0

主题

21

回帖

92

积分

注册会员

积分
92
金钱
71
HASS币
0
发表于 2025-1-2 10:26:27 | 显示全部楼层
msg.topic ='device1'   msg.topic ='device2'  这两个条件这么可能同时达到呢?
回复

使用道具 举报

9

主题

46

回帖

182

积分

注册会员

积分
182
金钱
127
HASS币
0
 楼主| 发表于 2025-1-2 11:04:51 | 显示全部楼层
dandymin 发表于 2025-1-2 10:26
msg.topic ='device1'   msg.topic ='device2'  这两个条件这么可能同时达到呢?

这个是AI给的例子代码我整理一下弄的,我不清楚怎么实现把2个设备的输出信息分流出来做判断
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-5-1 15:41 , Processed in 1.073601 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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