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

 找回密码
 立即注册
查看: 379|回复: 5

[基础教程] 分享,工作日判定的三种方法

[复制链接]

13

主题

83

帖子

348

积分

中级会员

Rank: 3Rank: 3

积分
348
金钱
265
HASS币
0
发表于 2024-5-13 19:45:24 | 显示全部楼层 |阅读模式
本帖最后由 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;
Snipaste_2024-05-22_08-53-43.png
③部署后,会在ha的node red集成中形成传感器,开启表示工作日,关闭表示休息日(不上班的周末+节假日)。
Snipaste_2024-05-22_09-01-20.png
手动法、api法flows.zip (3.06 KB, 下载次数: 0)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
三、官方有个Workday集成,可以用来判定工作日、节假日。
但是,因为中国的节假每年都在调,所以需要手工调整每年的节假,这就出现了两个问题:
①每年都要对节假进行一次手工增加;
②周六、周日,无法添加成工作日。(谁会的,可以在帖子下留言,具体怎么改)
③workday集成链接:https://www.home-assistant.io/integrations/workday
------------------------------------------------------------------------
④使用方法:
1.打开集成链接后,点“ADD INTEGRATION TO MY”图标安装集成,然后在集成中搜索添加;

2.配置集成,配置完提交后,在设置里,会提示哪些有问题,需要删除:
Snipaste_2024-05-13_19-23-09.png Snipaste_2024-05-13_19-40-58.png
3.在开发者工具→服务中,通过官方集成提供的代码,复制进去,可以测试改的日期有没成功。

Snipaste_2024-05-13_13-20-53.png
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
四、在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能发展到全部依靠自己,不用另外的插件。





回复

使用道具 举报

14

主题

660

帖子

3880

积分

论坛元老

Rank: 8Rank: 8

积分
3880
金钱
3215
HASS币
10
发表于 2024-5-13 21:41:04 | 显示全部楼层
rest 找一个开源的 节假日API
回复

使用道具 举报

2

主题

367

帖子

3026

积分

论坛元老

Rank: 8Rank: 8

积分
3026
金钱
2659
HASS币
0
发表于 2024-5-13 22:51:43 | 显示全部楼层
用chineseholiday
回复

使用道具 举报

13

主题

83

帖子

348

积分

中级会员

Rank: 3Rank: 3

积分
348
金钱
265
HASS币
0
 楼主| 发表于 2024-5-14 09:05:47 | 显示全部楼层
本帖最后由 yun59t 于 2024-5-14 09:24 编辑


                               
登录/注册后可看大图

手动拷进去安装后,无法添加集成,怎么弄
回复

使用道具 举报

2

主题

367

帖子

3026

积分

论坛元老

Rank: 8Rank: 8

积分
3026
金钱
2659
HASS币
0
发表于 2024-5-14 16:59:27 | 显示全部楼层
手动添加配置文件
回复

使用道具 举报

0

主题

3

帖子

32

积分

新手上路

Rank: 1

积分
32
金钱
29
HASS币
0
发表于 昨天 23:08 | 显示全部楼层
可以参考  https://bbs.hassbian.com/thread-11829-1-1.html 的方法二(自定义模板方式)
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-6-2 16:50 , Processed in 2.132872 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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