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

 找回密码
 立即注册
查看: 8108|回复: 22

[插件集成] 判断2023年的某一天是否为工作日的2种方法

[复制链接]

4

主题

57

帖子

734

积分

论坛技术达人

积分
734
金钱
667
HASS币
40
发表于 2021-1-2 23:31:00 | 显示全部楼层 |阅读模式
本帖最后由 bg6rsh 于 2022-12-12 11:26 编辑

***2022-12-12日更新***
一、方法一(官方):
     1、在configuration.yaml配置文件中新增一个工作日传感器
binary_sensor:
  - platform: workday
    country: CN     # 中国
    workdays: [mon, tue, wed, thu, fri]   # 定义工作日
    excludes: [sat, sun]   # 定义休息日
    add_holidays:                # 添加周一至周五可以休息的日期(例如公司、个人假期或休假)
      - "2023-01-02"
      - "2023-01-23"
      - "2023-01-24"
      - "2023-01-25"
      - "2023-01-26"
      - "2023-01-27"
      - "2023-04-05"
      - "2023-05-01"
      - "2023-05-02"
      - "2023-05-03"
      - "2023-06-22"
      - "2023-06-23"
      - "2023-09-29"
      - "2023-10-02"
      - "2023-10-03"
      - "2023-10-04"
      - "2023-10-05"
      - "2023-10-06"
    remove_holidays:        # 删除周六、周日需要工作的日期(将假期视为工作日)
      - "2023-01-28"
      - "2023-01-29"
      - "2023-04-23"
      - "2023-05-06"
      - "2023-06-25"
      - "2023-10-07"
      - "2023-10-08"


    2、使用方法:”配置 -> 场景自动化 -> 自动化 -> 创建自动化 -> 从空自动化开始“
         (1)添加”触发条件“ -> 选择"时间" -> 设个固定时间,如早上7:00:00
屏幕截图 2022-12-12 111047.png

         (2)添加”环境条件
屏幕截图 2022-12-12 111233.png

或“以YAML编辑”,填入

屏幕截图 2022-12-12 111509.png

        (3)动作,根据你实际需要进行设置



二、方法二,自定义模板方式

      重新更新为2023年的了,和要配置流程没变,主上个最新的配置图大家参考一下吧!
屏幕截图 2022-12-12 111956.png
{# 取得当天是星期几 #}
{% set weekday =now().isoweekday() %}
{# 周末时间不休的日期 #}
{% set workdays = ['20230128','20230129','20230423','20230506','20230625','20231007','20231008'] %}
{# 周一至周五可以休息的日期 #}
{% set holidays = ['20230102','20230123','20230124','20230125','20230126','20230127','20230405','20230501','20230502','20230503','20230622','20230623','20230929','20231002','20231003','20231004','20231005','20231006'] %}
{# 周末是否需要工作 #}
{% set isworkday = now().strftime('%Y%M%d') in workdays %}
{# 周一至周五是否可以休息 #}
{% set isholiday = now().strftime('%Y%M%d') in holidays %}
{{ (isworkday or ((not isholiday) and (weekday <= 5))) }}


********************************************以下为老贴内容************************************************

由于比较懒,使用方法直接我的设置截图,就是在环境中加上模板代码。
z1.PNG

z2.PNG

z3.PNG

z4.PNG

评分

参与人数 2金钱 +21 收起 理由
xiaoo + 1 大神666!
+ 20 感谢楼主分享!

查看全部评分

回复

使用道具 举报

74

主题

1942

帖子

7885

积分

元老级技术达人

积分
7885
金钱
5893
HASS币
430

活跃会员教程狂人

发表于 2021-1-3 18:24:21 | 显示全部楼层
大佬太精简了,小白用不懂,大神也不会用....贴一个完整配置呗
所有过往,皆为序章。
回复

使用道具 举报

10

主题

102

帖子

473

积分

中级会员

Rank: 3Rank: 3

积分
473
金钱
371
HASS币
0
发表于 2021-1-3 21:07:11 | 显示全部楼层
具体代码放在哪里用呢?~~
回复

使用道具 举报

76

主题

1356

帖子

1万

积分

元老级技术达人

积分
18263
金钱
16867
HASS币
290
发表于 2021-1-3 23:25:16 | 显示全部楼层
将代码放到开发者模板中测试,好像我的hassos中不需要+8小时,否则今天周末晚上反而是工作日了。
回复

使用道具 举报

3

主题

116

帖子

1247

积分

金牌会员

Rank: 6Rank: 6

积分
1247
金钱
1131
HASS币
10
发表于 2021-1-3 23:30:58 | 显示全部楼层
要是可以通过什么api自动获取就好了, 年更还是蛮烦的
回复

使用道具 举报

175

主题

2956

帖子

7555

积分

超级版主

我就是六神

Rank: 8Rank: 8

积分
7555
金钱
4574
HASS币
398

活跃会员教程狂人灌水之王

QQ
发表于 2021-1-3 23:58:40 | 显示全部楼层
咸味土豆 发表于 2021-1-3 18:24
大佬太精简了,小白用不懂,大神也不会用....贴一个完整配置呗

写一个template sensor 就行了!
回复

使用道具 举报

175

主题

2956

帖子

7555

积分

超级版主

我就是六神

Rank: 8Rank: 8

积分
7555
金钱
4574
HASS币
398

活跃会员教程狂人灌水之王

QQ
发表于 2021-1-3 23:59:25 | 显示全部楼层
duchenpaul 发表于 2021-1-3 23:30
要是可以通过什么api自动获取就好了, 年更还是蛮烦的

是的,实际上使用rest web api 要方便得多
回复

使用道具 举报

7

主题

190

帖子

1635

积分

金牌会员

Rank: 6Rank: 6

积分
1635
金钱
1440
HASS币
30
发表于 2021-1-4 16:31:55 | 显示全部楼层
用官方的workday就可以了, 用hk的地区,然后自己加几个法定节假日上去
https://www.home-assistant.io/integrations/workday/
回复

使用道具 举报

4

主题

57

帖子

734

积分

论坛技术达人

积分
734
金钱
667
HASS币
40
 楼主| 发表于 2021-1-4 19:33:33 | 显示全部楼层
sephrioth 发表于 2021-1-4 16:31
用官方的workday就可以了, 用hk的地区,然后自己加几个法定节假日上去
https://www.home-assistant.io/int ...

原来有现成了哈,不知道中国的节假日通用不?不过自己写的代码量非常小,用着也很简单的。
回复

使用道具 举报

1

主题

8

帖子

442

积分

论坛分享达人

积分
442
金钱
434
HASS币
0
发表于 2021-1-7 22:12:46 | 显示全部楼层
bg6rsh 发表于 2021-1-4 19:33
原来有现成了哈,不知道中国的节假日通用不?不过自己写的代码量非常小,用着也很简单的。 ...

只有香港,没有内地,还得自己家内地的
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-24 15:32 , Processed in 0.065121 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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