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

 找回密码
 立即注册
查看: 8323|回复: 65

[技术探讨] 拥抱NodeRED,无需第三方节点直接官方节点之倒计日与工休日

  [复制链接]

28

主题

282

帖子

3840

积分

论坛技术达人

积分
3840
金钱
3543
HASS币
60
发表于 2023-11-5 12:06:35 | 显示全部楼层 |阅读模式
本帖最后由 nuknoop 于 2023-11-5 12:10 编辑

倒计日,无需其他第三方节点,仅需fun节点

游客,如果您要查看本帖隐藏内容请回复



工作日与休息日,无需其他第三方节点,仅需fun节点
游客,如果您要查看本帖隐藏内容请回复



回复

使用道具 举报

0

主题

12

帖子

102

积分

注册会员

Rank: 2

积分
102
金钱
90
HASS币
0
发表于 2023-11-5 13:59:28 | 显示全部楼层
嘻嘻,有这个需要,看看
回复

使用道具 举报

17

主题

804

帖子

5820

积分

论坛元老

Rank: 8Rank: 8

积分
5820
金钱
5011
HASS币
0
发表于 2023-11-5 15:26:12 | 显示全部楼层
工作日和休息日,除了周末,你还需要这玩意

      {# 定义休息日一览 #}
      {% set holidayList = ["0101","0102","0121","0122","0123","0124","0125","0126","0127","0405","0429","0430","0501","0502","0503","0622","0623","0624","0929","0930","1001","1002","1003","1004","1005","1006"] %}
      {# 定义调休日期一览 #}
      {% set noHolidayList = ["0128","0129","0423","0506","0625","1007","1008"] %}

可以找地方抓,不过一年一次的手改也没事。
回复

使用道具 举报

1

主题

19

帖子

84

积分

注册会员

Rank: 2

积分
84
金钱
65
HASS币
0
发表于 2023-11-5 21:00:08 | 显示全部楼层
下来看看
回复

使用道具 举报

3

主题

44

帖子

461

积分

中级会员

Rank: 3Rank: 3

积分
461
金钱
417
HASS币
0
发表于 2023-11-6 10:33:24 | 显示全部楼层
感谢楼主分享
回复

使用道具 举报

22

主题

320

帖子

4026

积分

论坛元老

Rank: 8Rank: 8

积分
4026
金钱
3701
HASS币
30
发表于 2023-11-6 10:52:14 | 显示全部楼层
非常棒,很实用的功能
回复

使用道具 举报

3

主题

47

帖子

319

积分

中级会员

Rank: 3Rank: 3

积分
319
金钱
272
HASS币
0
发表于 2023-11-6 10:59:29 | 显示全部楼层
感谢分享 我看看
回复

使用道具 举报

6

主题

181

帖子

1434

积分

金牌会员

Rank: 6Rank: 6

积分
1434
金钱
1253
HASS币
0
发表于 2023-11-6 10:59:55 | 显示全部楼层
微信截图_20231106105930.png 复制到function节点报错
回复

使用道具 举报

15

主题

472

帖子

2511

积分

金牌会员

Rank: 6Rank: 6

积分
2511
金钱
2039
HASS币
0
发表于 2023-11-6 11:01:41 | 显示全部楼层
能弄个专门的生日提醒吗,原来那个是各种集合的
回复

使用道具 举报

22

主题

320

帖子

4026

积分

论坛元老

Rank: 8Rank: 8

积分
4026
金钱
3701
HASS币
30
发表于 2023-11-6 15:27:00 | 显示全部楼层
本帖最后由 MX10085 于 2023-11-6 15:31 编辑
mr_chenxc 发表于 2023-11-6 10:59
复制到function节点报错
var now = new Date();

var isWorkday = now.getDay() >= 1 && now.getDay() <= 5;
var isWeekend = now.getDay() === 0 || now.getDay() === 6;

if (isWorkday) {
    var sentence = "工作日";
} else if (isWeekend) {
    var sentence = "休息日";
} 

msg.payload = {
    speak: sentence
};

return msg;
另一个:
var now = new Date();
var targetDate = new Date(2024, 1, 10); // 月份 - 1,1 即是 2 月

var daysRemaining = Math.ceil((targetDate.getTime() - now.getTime()) / (1000 * 60 * 60 * 24));

var sentence = `距离 春节 2024 年 2 月 10 日还剩 ${daysRemaining} 天。`;

msg.payload = {
    speak: sentence
};

return msg;


回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-1-11 19:48 , Processed in 0.085963 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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