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

 找回密码
 立即注册
楼主: cjnt007

[流程系列] 【方案分享】萤石开放平台消息推送服务研究

[复制链接]

8

主题

220

帖子

1666

积分

金牌会员

Rank: 6Rank: 6

积分
1666
金钱
1446
HASS币
0
发表于 2024-7-30 16:54:10 | 显示全部楼层
试试这个,之前萤石后台一直提示返回错误指令
海鲜市场:jasona3
回复

使用道具 举报

8

主题

220

帖子

1666

积分

金牌会员

Rank: 6Rank: 6

积分
1666
金钱
1446
HASS币
0
发表于 2024-7-30 17:27:24 | 显示全部楼层
本帖最后由 jasona3 于 2024-7-30 18:03 编辑

NR中是要这样设置吗? Image1.jpg



海鲜市场:jasona3
回复

使用道具 举报

20

主题

483

帖子

3150

积分

论坛元老

Rank: 8Rank: 8

积分
3150
金钱
2667
HASS币
8
 楼主| 发表于 2024-7-31 06:56:59 | 显示全部楼层
jasona3 发表于 2024-7-30 17:27
NR中是要这样设置吗?

你NR配置里的第2、3、4行与我帖子里的要求是一致的
回复

使用道具 举报

8

主题

220

帖子

1666

积分

金牌会员

Rank: 6Rank: 6

积分
1666
金钱
1446
HASS币
0
发表于 2024-7-31 09:02:43 | 显示全部楼层
“流程中用到两个自定义函数,放在全局变量中,代码如下,自己加到能在开机时就运行的function节点里”
请问这个具体是要怎么操作?
海鲜市场:jasona3
回复

使用道具 举报

20

主题

483

帖子

3150

积分

论坛元老

Rank: 8Rank: 8

积分
3150
金钱
2667
HASS币
8
 楼主| 发表于 2024-7-31 09:17:40 | 显示全部楼层
jasona3 发表于 2024-7-31 09:02
“流程中用到两个自定义函数,放在全局变量中,代码如下,自己加到能在开机时就运行的function节点里”
请 ...

很简单,拉个inject节点,勾选面板中的“立即执行于……”,后面再接一个function节点,里面贴上我给的代码,这个流会在NR启动时执行,把里面的两个函数加载到全局变量里。
回复

使用道具 举报

8

主题

220

帖子

1666

积分

金牌会员

Rank: 6Rank: 6

积分
1666
金钱
1446
HASS币
0
发表于 2024-8-1 09:56:45 | 显示全部楼层
为啥图片通知与加的企业微信推送都只能收到一个设备的警告信息,没看出是哪个地方有控制。
都是ys.alarm信息。
海鲜市场:jasona3
回复

使用道具 举报

20

主题

483

帖子

3150

积分

论坛元老

Rank: 8Rank: 8

积分
3150
金钱
2667
HASS币
8
 楼主| 发表于 2024-8-1 21:06:08 | 显示全部楼层
jasona3 发表于 2024-8-1 09:56
为啥图片通知与加的企业微信推送都只能收到一个设备的警告信息,没看出是哪个地方有控制。
都是ys.alarm信 ...

登录到你的萤石开发者平台查看通知发送记录,看是否与NR里收到的能一一对应,再对比少了哪些?
回复

使用道具 举报

8

主题

220

帖子

1666

积分

金牌会员

Rank: 6Rank: 6

积分
1666
金钱
1446
HASS币
0
发表于 2024-8-1 22:26:37 | 显示全部楼层
json格式化节点后都有多个设备,到推送节点就没有了
Image5.jpg        Image6.jpg

海鲜市场:jasona3
回复

使用道具 举报

20

主题

483

帖子

3150

积分

论坛元老

Rank: 8Rank: 8

积分
3150
金钱
2667
HASS币
8
 楼主| 发表于 2024-8-2 07:17:58 | 显示全部楼层
jasona3 发表于 2024-8-1 22:26
json格式化节点后都有多个设备,到推送节点就没有了

你在推送节点里都给msg.payload重新赋值了,原来的值自然都没了
回复

使用道具 举报

8

主题

220

帖子

1666

积分

金牌会员

Rank: 6Rank: 6

积分
1666
金钱
1446
HASS币
0
发表于 2024-8-2 08:48:42 | 显示全部楼层
这样对吗?
if(msg.payload.header.type == 'ys.alarm'){
    try {
        let channelName = msg.payload.body.channelName;
        let alarmTime = msg.payload.body.alarmTime;
        let alarmType = msg.payload.body.alarmType;
        let alarmCode = msg.payload.body.alarmId.slice(-5);
        let alarmName = global.get('getAlarmByCode')(alarmCode).alarmName;
        let pic_id = msg.payload.body.pictureList[0].id;
        let pic_url = msg.payload.body.pictureList[0].url;
        let message;
        //message = '<img src="' + pic_url + '" />';
        //message += '<br />图片ID ' + pic_id;
        message = '设备名称 ' + channelName + '\n';
        message += '警告时间 ' + alarmTime + '\n';
        message += '警告代码 ' + alarmCode + '\n';
        message += '警告类型 ' + alarmType + '\n';
        message += '警告名称 ' + alarmName + '\n';
        message += '推送时间 ' + global.get("formatDate")();
        msg.payload = {
            "touser": '@all',
            "toparty": "PartyID1|PartyID2",
            "totag": "TagID1 | TagID2",
            "msgtype": "news",
            "agentid": "1000888",
            "news": {
            "articles": [
                {
                    "title": "警告信息:",
                    "description": message,
                    "url": pic_url,
                    "picurl": pic_url
                }
        ]
    },
    "safe": 0
}
        return [msg, null];
    } catch (error) {
        return;
    };
}
海鲜市场:jasona3
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-21 18:19 , Processed in 2.038808 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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