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

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

[复制链接]

4

主题

47

回帖

372

积分

中级会员

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

使用道具 举报

23

主题

636

回帖

4670

积分

元老级技术达人

积分
4670
金钱
3996
HASS币
30

教程狂人

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

使用道具 举报

4

主题

47

回帖

372

积分

中级会员

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

成了!!!!谢谢
回复

使用道具 举报

3

主题

59

回帖

810

积分

高级会员

积分
810
金钱
748
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

主题

248

回帖

1723

积分

金牌会员

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

深入浅出
回复

使用道具 举报

13

主题

365

回帖

1975

积分

金牌会员

积分
1975
金钱
1597
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

主题

47

回帖

372

积分

中级会员

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

谢谢大佬
回复

使用道具 举报

4

主题

47

回帖

372

积分

中级会员

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

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

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-5-16 09:38 , Processed in 0.546737 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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