|
本帖最后由 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
(2)添加”环境条件
或“以YAML编辑”,填入
(3)动作,根据你实际需要进行设置
二、方法二,自定义模板方式
重新更新为2023年的了,和要配置流程没变,主上个最新的配置图大家参考一下吧!
{# 取得当天是星期几 #}
{% 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))) }}
********************************************以下为老贴内容************************************************
由于比较懒,使用方法直接我的设置截图,就是在环境中加上模板代码。
|
评分
-
查看全部评分
|