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

[流程系列] 在node-red中怎样实现一个固定输入的值循环输出两个不同的值

[复制链接]
jhbl 

6

主题

88

回帖

2487

积分

金牌会员

积分
2487
金钱
2393
HASS币
0
发表于 2021-10-12 16:01:33 | 显示全部楼层 |阅读模式
我想要在node-red中实现一个固定接收到的值循环输出两个不同的值。假设这个值是字符串"a",我想第一次msg.payload接收到字符串"a"输出的值是字符串"b",当msg.payload再一次接收到字符串"a"输出的值是字符串"c",……重复以上循环,请问我要怎样设置一个函数来实现?有大佬能指点下吗?
回复

使用道具 举报

8

主题

155

回帖

1280

积分

论坛技术达人

积分
1280
金钱
1107
HASS币
20
发表于 2021-10-12 16:41:46 | 显示全部楼层
弄个全局变量做计数器,然后奇偶判断下就可以了。
回复

使用道具 举报

7

主题

346

回帖

3428

积分

论坛元老

积分
3428
金钱
3075
HASS币
0
发表于 2021-10-12 17:07:10 | 显示全部楼层
函数挺简单啊,节点的话绕个循环连起来就行。

if (msg.payload == "a") msg.payload = "b";
else if (msg.payload == "b") msg.payload = "c";
else if (msg.payload == "c") msg.payload = "a";
return msg;


回复

使用道具 举报

jhbl 

6

主题

88

回帖

2487

积分

金牌会员

积分
2487
金钱
2393
HASS币
0
 楼主| 发表于 2021-10-12 18:09:42 | 显示全部楼层
yuyuye 发表于 2021-10-12 17:07
函数挺简单啊,节点的话绕个循环连起来就行。

if (msg.payload == "a") msg.payload = "b";

收到,我测试下,谢谢!
回复

使用道具 举报

jhbl 

6

主题

88

回帖

2487

积分

金牌会员

积分
2487
金钱
2393
HASS币
0
 楼主| 发表于 2021-10-12 18:10:47 | 显示全部楼层
wen_jxpx 发表于 2021-10-12 16:41
弄个全局变量做计数器,然后奇偶判断下就可以了。

大佬能具体点吗?先谢谢了!
回复

使用道具 举报

3

主题

71

回帖

517

积分

论坛积极会员

积分
517
金钱
443
HASS币
0
发表于 2021-10-12 23:47:37 来自手机 | 显示全部楼层
jhbl 发表于 2021-10-12 18:10
大佬能具体点吗?先谢谢了!

申明一个流变量或全局变量,flow.set("a",a),flow.get("a")   全局是global。
回复

使用道具 举报

jhbl 

6

主题

88

回帖

2487

积分

金牌会员

积分
2487
金钱
2393
HASS币
0
 楼主| 发表于 2021-10-13 07:30:23 | 显示全部楼层
mrjc0331 发表于 2021-10-12 23:47
申明一个流变量或全局变量,flow.set("a",a),flow.get("a")   全局是global。

学习了,感谢感谢!
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-5-3 01:58 , Processed in 0.102856 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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