本帖最后由 yun59t 于 2024-5-22 09:42 编辑
本人纯小白,3月底开始摸索ha的使用,从论坛里找了很多大佬做的教程,也分享下自己的使用心得。工作日判定,主要用于联动自动化,比如区分工作日和周末开关灯、电器的时间等。
此次分享的三个有效的方法、一个未实践过的方法,分别是:
1、基于node-red的每年需要手动设置一次节假日的手动修正法。此方法需要每年自己手动修正日期一次,优点是不用去找api,不怕过期。基于liaozhihong修改
2、基于node-red的调取网上免费api获取工作日节假日的api调用法;此方法只要api不挂,就能一直用。基于群里各帖子,通过chatjpt实现。
3、官方有个Workday集成,可以用来判定工作日、节假日。此方法存在一个缺陷,无法将个别周末调成工作日。
4、直接在ha的nfiguration.yaml配置文件中新增一个工作日传感器。这个方法与Workday集成冲突,我实践失败。此方法如果可行,就是纯ha不依赖nodered的方法1。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
一/二、基于node-red的手动修正法、api调用法:①先将flows.json文件导入noed red;
②如果用api法,自己去申请个免费的api;
③部署后,会在ha的node red集成中形成传感器,开启表示工作日,关闭表示休息日(不上班的周末+节假日)。
手动法、api法flows.zip
(3.06 KB, 下载次数: 0)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
三、官方有个Workday集成,可以用来判定工作日、节假日。
但是,因为中国的节假每年都在调,所以需要手工调整每年的节假,这就出现了两个问题:
①每年都要对节假进行一次手工增加;
②周六、周日,无法添加成工作日。(谁会的,可以在帖子下留言,具体怎么改)
③workday集成链接:https://www.home-assistant.io/integrations/workday
------------------------------------------------------------------------
④使用方法:
1.打开集成链接后,点“ADD INTEGRATION TO MY”图标安装集成,然后在集成中搜索添加;
2.配置集成,配置完提交后,在设置里,会提示哪些有问题,需要删除:
3.在开发者工具→服务中,通过官方集成提供的代码,复制进去,可以测试改的日期有没成功。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
四、在ha的nfiguration.yaml配置文件中新增工作日传感器法:(未经实践,有成功的小伙伴说下)
binary_sensor:
- platform: workday
country: CN # 中国
workdays: [mon, tue, wed, thu, fri] # 定义工作日
excludes: [sat, sun] # 定义休息日
add_holidays: # 添加周一~五可休息的日期(如调休假)=减工作日
- "2024-06-10"
- "2024-09-17"
- "2024-10-01"
- "2024-10-02"
- "2024-10-03"
- "2024-10-04"
- "2024-10-07"
remove_holidays: # 删除周六、周日需要工作的日期=增加工作日
- "2024-09-14"
- "2024-09-29"
- "2024-10-12"
最后,本人目前使用的还是workday集成,使用它的原因是希望哪天,ha能发展到全部依靠自己,不用另外的插件。
|