请选择 进入手机版 | 继续访问电脑版

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

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

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

[复制链接]

5

主题

87

帖子

1748

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

8

主题

154

帖子

1158

积分

论坛技术达人

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

使用道具 举报

7

主题

309

帖子

2687

积分

金牌会员

Rank: 6Rank: 6

积分
2687
金钱
2378
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;


回复

使用道具 举报

5

主题

87

帖子

1748

积分

金牌会员

Rank: 6Rank: 6

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

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

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

使用道具 举报

5

主题

87

帖子

1748

积分

金牌会员

Rank: 6Rank: 6

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

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

使用道具 举报

3

主题

73

帖子

486

积分

论坛积极会员

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

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

使用道具 举报

5

主题

87

帖子

1748

积分

金牌会员

Rank: 6Rank: 6

积分
1748
金钱
1661
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, 2024-3-29 15:12 , Processed in 0.339298 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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