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

 找回密码
 立即注册
查看: 5809|回复: 1

[求助] 请教NODE-RED的function节点函数编辑问题

[复制链接]

106

主题

551

帖子

2789

积分

金牌会员

Rank: 6Rank: 6

积分
2789
金钱
2238
HASS币
20
发表于 2021-7-11 19:10:58 | 显示全部楼层 |阅读模式
想把UDP消息里payload下的mac信息提取出来,重新组合成转换成mqtt的topic,可是一直显示提取的数据是undefined
UDP的数据内容如下:
objectpayload: "{"mac":"F0FE6BF346A4","plug_0":{"on":1}}"
fromip: "192.168.2.235:10182"
ip: "192.168.2.235"
port: 10182
_msgid: "fc89ed14.c3722"

function节点函数如下:
msg.topic = 'device/ztc1/'+ msg.payload.mac +'/state'
return msg;

转换后的结果如下所示,显示mac信息是undefined,不知道是不是语法的问题,尝试了很长时间也没办法解决
objectpayload: "{"mac":"F0FE6BF346A4","plug_0":{"on":1}}"
fromip: "192.168.2.235:10182"
ip: "192.168.2.235"
port: 10182
_msgid: "fc89ed14.c3722"
topic: "device/ztc1/undefined/state"


回复

使用道具 举报

106

主题

551

帖子

2789

积分

金牌会员

Rank: 6Rank: 6

积分
2789
金钱
2238
HASS币
20
 楼主| 发表于 2021-7-11 19:47:55 | 显示全部楼层
搞定了,被设备上报的payload迷惑了,不是键值对,全是字符串,用下面的方法获取mac信息成功
mac = msg.payload.slice(8,20)
msg.topic = 'device/ztc1/'+ mac +'/state'
return msg;
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 14:44 , Processed in 0.061401 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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