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

 找回密码
 立即注册
查看: 1471|回复: 7

[技术探讨] 小白看不懂nodered函数求大佬

[复制链接]

4

主题

51

帖子

372

积分

中级会员

Rank: 3Rank: 3

积分
372
金钱
321
HASS币
0
发表于 2023-12-1 16:54:45 | 显示全部楼层 |阅读模式
求一个 接收值为show 则输出on 接收值为noshow 则输出off的函数代码
回复

使用道具 举报

23

主题

656

帖子

4613

积分

元老级技术达人

积分
4613
金钱
3942
HASS币
30

教程狂人

QQ
发表于 2023-12-1 16:59:58 | 显示全部楼层
可以用switch配合change节点,不用写function代码
回复

使用道具 举报

4

主题

51

帖子

372

积分

中级会员

Rank: 3Rank: 3

积分
372
金钱
321
HASS币
0
 楼主| 发表于 2023-12-1 17:52:00 | 显示全部楼层
alei643 发表于 2023-12-1 16:59
可以用switch配合change节点,不用写function代码

成了!!!!谢谢
回复

使用道具 举报

3

主题

58

帖子

729

积分

高级会员

Rank: 4

积分
729
金钱
671
HASS币
0
发表于 2023-12-2 08:35:26 | 显示全部楼层
本帖最后由 542548454 于 2023-12-2 08:42 编辑

假设msg.payload承载你的接收值,并且还是由msg.payload承载你的输出值
if (msg.payload == "show"){  //msg.payload如果等于show
msg.payload = "on";              //则msg.payload等于on
} else if (msg.payload == "noshow"){  //msg.payload如果等于moshow
msg.payload = "off";              //则msg.payload等于off
} else {                                    //否则
msg.payload = "na";             //msg.payload等于na
}
return msg;
如果确定不会出现错误值
if (msg.payload == "show"){  //msg.payload如果等于show
msg.payload = "on";              //则msg.payload等于on
} else {                                    //否则
msg.payload = "off";             //msg.payload等于off
}
return msg;


除了用if还可以用switch函数,如果想学就多看看论坛里别人node流里的function节点
我也是小白,function节点也可百度"JS"+"要实现的功能或函数"
当然只根据条件输出对应值的话,用2楼说的change节点会很方便

不懂编程、英语很差的小白
回复

使用道具 举报

23

主题

271

帖子

1685

积分

金牌会员

Rank: 6Rank: 6

积分
1685
金钱
1414
HASS币
0
发表于 2023-12-2 10:11:02 | 显示全部楼层
542548454 发表于 2023-12-2 08:35
假设msg.payload承载你的接收值,并且还是由msg.payload承载你的输出值如果确定不会出现错误值

深入浅出
回复

使用道具 举报

11

主题

304

帖子

1637

积分

金牌会员

Rank: 6Rank: 6

积分
1637
金钱
1333
HASS币
0
发表于 2023-12-2 11:26:52 | 显示全部楼层
本帖最后由 fay000fay 于 2023-12-2 11:28 编辑

或者可以直接问chatgpt,让它来写函数。然后一个一个试。
// 输入消息的值
var inputValue = msg.payload;

// 判断输入值并设置相应的输出值
if (inputValue === "show") {
    // 如果输入值为 "show"
    msg.payload = "on";
} else if (inputValue === "noshow") {
    // 如果输入值为 "noshow"
    msg.payload = "off";
} else {
    // 如果输入值不是 "show" 或 "noshow",可以设置默认值或者其他逻辑
    msg.payload = "unknown";
}

// 返回消息
return msg;

回复

使用道具 举报

4

主题

51

帖子

372

积分

中级会员

Rank: 3Rank: 3

积分
372
金钱
321
HASS币
0
 楼主| 发表于 2023-12-2 11:34:23 | 显示全部楼层
fay000fay 发表于 2023-12-2 11:26
或者可以直接问chatgpt,让它来写函数。然后一个一个试。

谢谢大佬
回复

使用道具 举报

4

主题

51

帖子

372

积分

中级会员

Rank: 3Rank: 3

积分
372
金钱
321
HASS币
0
 楼主| 发表于 2023-12-2 11:38:25 | 显示全部楼层
542548454 发表于 2023-12-2 08:35
假设msg.payload承载你的接收值,并且还是由msg.payload承载你的输出值如果确定不会出现错误值

谢谢。就是不知道这是什么类型的函数 搜索出来的都是表格
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 08:21 , Processed in 0.054046 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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