找回密码
 立即注册
查看: 2069|回复: 6

[流程系列] 新手求教,switch节点规则配置

[复制链接]

2

主题

15

回帖

230

积分

中级会员

积分
230
金钱
213
HASS币
0
发表于 2023-1-24 16:25:36 | 显示全部楼层 |阅读模式
本帖最后由 babojoe 于 2023-1-24 17:58 编辑

小白学习NR,想用485设备通过NR流程控制一盏灯,如下图所示,485设备发送“0A 0A 0A 00”至tcp in节点,debug1可以收到“10,10,10,0”,求教Swicth应该如何配置筛选规则才能只允许“0A 0A 0A 00”或“10,10,10,0”信息送至debug2呢?另外测试,如果tcp in的输出由buffer改成字符串形式是可以实现规则筛选,但数据变成“CgoKAA==”之类的字符了。

                               
登录/注册后可看大图



                               
登录/注册后可看大图



                               
登录/注册后可看大图


5.png
2.png
3.png
回复

使用道具 举报

jjcs 手机认证

51

主题

1918

回帖

7761

积分

论坛元老

积分
7761
金钱
5782
HASS币
40
发表于 2023-1-24 19:01:27 | 显示全部楼层
搜索用js过滤数组
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

4

主题

170

回帖

1403

积分

金牌会员

积分
1403
金钱
1229
HASS币
0
发表于 2023-1-28 11:44:52 | 显示全部楼层
不太严谨地测试了一下,把TCP IN节点的输出的BUFFER改成字符串的话,应该能正常了。问题应该是出在数据类型没对上
回复

使用道具 举报

2

主题

15

回帖

230

积分

中级会员

积分
230
金钱
213
HASS币
0
 楼主| 发表于 2023-1-28 14:37:21 | 显示全部楼层
lyg21883 发表于 2023-1-28 11:44
不太严谨地测试了一下,把TCP IN节点的输出的BUFFER改成字符串的话,应该能正常了。问题应该是出在数据类型 ...

是的,字符串形式的输出是可行的,但数据“变味了”,我是想看下TCPIN输出buffer的485十六进制数据情况下,Swicth如何直接对原buffer数据进行筛选匹配,不然后面又要做一次变换才能还原输入的数据了。
回复

使用道具 举报

2

主题

15

回帖

230

积分

中级会员

积分
230
金钱
213
HASS币
0
 楼主| 发表于 2023-1-28 14:38:45 | 显示全部楼层
jjcs 发表于 2023-1-24 19:01
搜索用js过滤数组

感谢回复,只是看不明白,努力学习中~
回复

使用道具 举报

4

主题

170

回帖

1403

积分

金牌会员

积分
1403
金钱
1229
HASS币
0
发表于 2023-1-28 15:11:35 | 显示全部楼层
没注意看楼主自己试过了那个,不知道你不同信号间的区别是哪个,如果必须用BUFFER类型的话,可以尝试在SWITCH里面,属性填msg.payload[0]来获取第一位数进行判断,比如msg.payload[0] == 0A,具体值可以展开下debug信息看下。当然我这个方法只能判断一位数,实际应用的话需要多些节点。我也在学习中,不清楚这样符不符合你的要求
回复

使用道具 举报

6

主题

351

回帖

1363

积分

金牌会员

积分
1363
金钱
1006
HASS币
0
发表于 2023-2-26 23:17:08 | 显示全部楼层
把buffer转成数组就可以在switch中匹配了
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-5-2 03:08 , Processed in 1.523504 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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