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

 找回密码
 立即注册
查看: 3930|回复: 24

[流程系列] 精简油价流(被鸽自搞版)

[复制链接]

40

主题

2177

帖子

8328

积分

元老级技术达人

积分
8328
金钱
6136
HASS币
110
发表于 2024-3-28 09:55:33 | 显示全部楼层 |阅读模式
本帖最后由 ghostist 于 2024-3-28 15:49 编辑

精简油价流/增加油价变动提醒 - 『Node-RED』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz! (hassbian.com)
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
迫于这哥们放鸽子,自己搞了
说什么测试几天稳定,搞不懂有啥好测试的,接口都一样,接口噶了原版也噶

---------说正事分割线----------------------
完全兼容之前的版本,不需要重新写markdowm卡

---------吐槽分割线----------------------
话说这哥们发的全是分享,一个配置都不上
不喜欢这种吊胃口
要么就别发
---------补充分割线-----------------------
早上用chatgpt辅助,大概10分钟不到就完成了,最近几次搞NR用到function节点都配合gpt,效率很高,推荐!
补个图,也是5个节点
微信截图_20240328154710.png
OilPrice.zip (1.3 KB, 下载次数: 256)

评分

参与人数 9金钱 +61 收起 理由
PerryLayne + 7 感谢大神分享
xiangboshi + 5 膜拜大神!
Dlian + 5 感谢楼主分享!
warmsake + 8 论坛有你更精彩!
hungheo + 5 感谢楼主分享!
zxyny1989 + 12 感谢楼主分享!
[email protected] + 2 高手,这是高手!
baobaobuku + 5 感谢楼主分享!
隔壁的王叔叔 + 12 感谢楼主分享!

查看全部评分

回复

使用道具 举报

0

主题

6

帖子

64

积分

注册会员

Rank: 2

积分
64
金钱
58
HASS币
0
发表于 2024-4-2 15:27:30 | 显示全部楼层
稍微加了一点逻辑,支持了微信每日推送,推送插件请参考论坛内教程。
首先通过switch节点过滤包含“油价”的消息,过滤对象为“msg.message.Content”,然后通过change节点,把查询者“msg.message.FromUserName”记录到“flow.touser”中作为回复对象,最后在作者函数后面加一个函数构建推送消息,参考如下:
var newmsg={};

var prices = msg.price;

var tips = msg.tips;

var state = msg.state;

// 构建Markdown消息
var markdownContent = `
# 今日油价

| 汽油类型 | 价格(元/升) |
| :--------: | :------------: |
`;

// 遍历价格数据并构建Markdown表格的行
for (var i = 0; i < prices.length; i += 2) {
    markdownContent += `| ${prices[i]} | ${prices[i + 1]} |\n`;
}

// 将油价提示信息和油价状态信息整合到Markdown消息中
markdownContent += `
## 油价状态
${state}

## 油价变动
${tips}
`;

// 将Markdown消息作为payload发送
newmsg.payload = markdownContent;

// 将92#汽油价格作为标题,95#用prices[3],98#用prices[5],柴油用prices[7]
newmsg.introduction="92号汽油:"+prices[1]+"元/升,更多内容请点击查看。"

// 当消息由微信触发时,发送给指定查询者;定时则消息发送给所有人。
if(flow.get("touser")!==undefined)
newmsg.touser=flow.get("touser");

return newmsg;


以下为修改后的流程参考图:
屏幕截图 2024-04-02 151657.png


回复

使用道具 举报

0

主题

16

帖子

162

积分

注册会员

Rank: 2

积分
162
金钱
146
HASS币
0
发表于 2024-4-2 16:46:48 | 显示全部楼层
自己找到markdown怎么写了 有需要的可以借鉴

<ha-icon icon="mdi:update"></ha-icon> {{ states.sensor.zuixinyoujia.last_changed.strftime('%Y-%m-%d') }}
## <center>92# <ha-icon icon="mdi:gas-station"></ha-icon>  <font color=#ea4335> {{ state_attr('sensor.zuixinyoujia', '92')}} </font>  &nbsp; &nbsp;   95# <ha-icon icon="mdi:gas-station"></ha-icon>  <font color=#fbbc05>  {{ state_attr('sensor.zuixinyoujia', '95')}} </font> <p> &nbsp; 98# <ha-icon icon="mdi:gas-station"></ha-icon> <font color=#4285f4>  {{ state_attr('sensor.zuixinyoujia', '98')}}</font>   &nbsp; &nbsp; &nbsp;  0#柴<ha-icon icon="mdi:gas-station"></ha-icon> <font color=#34a853>  {{ state_attr('sensor.zuixinyoujia', '0')}} </font></center>
- {{ states('sensor.zuixinyoujia') }}

- {{ state_attr('sensor.zuixinyoujia','tips')}}
回复

使用道具 举报

9

主题

229

帖子

2230

积分

论坛UI达人

积分
2230
金钱
2001
HASS币
0
发表于 2024-5-4 18:25:59 | 显示全部楼层
去除广告信息

var OilPrice = msg.payload[0].split('\n');
// 去除数组中的空元素
var filteredArray = OilPrice.filter(function (element) {
    return element !== '';
});

var StateTips = msg.payload[1].split('\n');
var endIndex = StateTips[2].indexOf('。');
var TipsTips = StateTips[2].substring(0, endIndex + 1);

var newmsg = {};
newmsg.price = filteredArray;
newmsg.state = StateTips[1];
newmsg.tips = TipsTips;

return newmsg;
回复

使用道具 举报

1

主题

126

帖子

2844

积分

金牌会员

Rank: 6Rank: 6

积分
2844
金钱
2718
HASS币
0
发表于 2024-3-28 10:49:30 | 显示全部楼层
这哥们在b站卖精简油价的流
回复

使用道具 举报

3

主题

91

帖子

689

积分

高级会员

Rank: 4

积分
689
金钱
598
HASS币
0
发表于 2024-3-28 10:54:05 | 显示全部楼层
学习一下
回复

使用道具 举报

0

主题

619

帖子

2564

积分

金牌会员

Rank: 6Rank: 6

积分
2564
金钱
1945
HASS币
0
发表于 2024-3-28 10:56:07 | 显示全部楼层
顶楼主!既然想分享就直接分享,要收费就明说好了
回复

使用道具 举报

10

主题

1372

帖子

4383

积分

论坛元老

Rank: 8Rank: 8

积分
4383
金钱
3011
HASS币
0
发表于 2024-3-28 10:56:18 | 显示全部楼层
虽然我不会写,但是我会评分,感谢大佬分享。
回复

使用道具 举报

150

主题

2324

帖子

7191

积分

元老级技术达人

积分
7191
金钱
4862
HASS币
30
发表于 2024-3-28 12:50:21 | 显示全部楼层
是的,我也赞同楼主的说法,想分享,就大公无私,尽可能把要点和操作步骤都写清楚,不要写的含含糊糊的,
回复

使用道具 举报

1

主题

190

帖子

1738

积分

金牌会员

Rank: 6Rank: 6

积分
1738
金钱
1548
HASS币
0
发表于 2024-3-28 14:46:24 | 显示全部楼层
楼主给力,非常赞同
回复

使用道具 举报

7

主题

323

帖子

2476

积分

金牌会员

Rank: 6Rank: 6

积分
2476
金钱
2153
HASS币
0
发表于 2024-3-28 16:07:04 | 显示全部楼层
特意跑进来看看发生什么事情。哈哈~~~
回复

使用道具 举报

3

主题

381

帖子

3377

积分

论坛元老

Rank: 8Rank: 8

积分
3377
金钱
2996
HASS币
0
发表于 2024-3-28 16:13:27 | 显示全部楼层
baobaobuku 发表于 2024-3-28 10:49
这哥们在b站卖精简油价的流

真相帝!!
回复

使用道具 举报

13

主题

461

帖子

2441

积分

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
1980
HASS币
0
发表于 2024-3-28 16:39:15 | 显示全部楼层
楼主给力,那种装逼分享的,确实不怎么样
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-22 11:05 , Processed in 0.096939 second(s), 40 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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