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

 找回密码
 立即注册
查看: 2317|回复: 21

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

[复制链接]

40

主题

2127

帖子

8017

积分

元老级技术达人

积分
8017
金钱
5875
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, 下载次数: 175)

评分

参与人数 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

帖子

148

积分

注册会员

Rank: 2

积分
148
金钱
132
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

主题

212

帖子

1607

积分

论坛UI达人

积分
1607
金钱
1395
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

主题

118

帖子

2602

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

3

主题

88

帖子

566

积分

高级会员

Rank: 4

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

使用道具 举报

0

主题

582

帖子

2344

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

8

主题

1164

帖子

3716

积分

论坛元老

Rank: 8Rank: 8

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

使用道具 举报

124

主题

1901

帖子

5907

积分

元老级技术达人

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

使用道具 举报

1

主题

185

帖子

1552

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

7

主题

323

帖子

2460

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

2

主题

371

帖子

3120

积分

论坛元老

Rank: 8Rank: 8

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

真相帝!!
回复

使用道具 举报

11

主题

390

帖子

2072

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-7-27 22:22 , Processed in 0.072096 second(s), 40 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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