如何执行节假日或工作日自动化?
我想让我卧室的灯在工作日打开,在节假日早上不打开,我应该在自动化中怎么操作? 先搞个工作日sensor。简单的用官方有workday集成:https://www.home-assistant.io/integrations/workday/
高级点的可以自己找api做restapi sensor。
然后自动化里面用这个sensor做condition https://bbs.hassbian.com/thread-14672-1-1.html 本帖最后由 muxiachuixue 于 2022-12-4 16:03 编辑
把这段代码复制到 configuration.yaml 里面,然后重启HA,会发现多了一个cn_workdays 的实体,实体状态分为工作日和节假日,可以用来作为自动化的环境条件。离线版的要借助于node-red的文件存储,只需要把下面resource_template地址换成本地地址即可,如http://192.168.0.23:8123/local/cn_workdays.json
#https://github.com/NateScarlet/holiday-cn
rest:
- scan_interval: 3600
resource_template: https://cdn.jsdelivr.net/gh/NateScarlet/holiday-cn@master/{{ now().strftime('%Y') }}.json
sensor:
- name: cn_workdays
value_template: |-
{%- set today = now().strftime('%Y-%m-%d') %}
{%- set lst = (value_json | default({},true)).days | default([]) %}
{%- set ns = namespace(isOffDay=None) %}
{%- for d in lst %}
{%- if today == (d.date | default(None)) %}
{%- set ns.isOffDay = (d.isOffDay | default(None)) %}
{%- endif %}
{%- endfor %}
{%- set isOffDay = ns.isOffDay %}
{%- if not isOffDay in %}
{%- if now().isoweekday() in %}
{%- set isOffDay = True %}
{%- else %}
{%- set isOffDay = False %}
{%- endif %}
{%- endif %}
{%- if isOffDay == True %}
节假日
{%- elif isOffDay == False %}
工作日
{%- else %}
unknown
{%- endif %}
json_attributes:
- year
- papers
muxiachuixue 发表于 2022-5-12 12:08
把这段代码复制到 configuration.yaml 里面,然后重启HA,会发现多了一个cn_workdays 的实体,实体状态分为 ...
感谢大佬分享! muxiachuixue 发表于 2022-5-12 12:08
把这段代码复制到 configuration.yaml 里面,然后重启HA,会发现多了一个cn_workdays 的实体,实体状态分为 ...
很奇怪,5月8,9号是节假日判断是正常。今天5月14判断成了工作日不知道为啥 Terrybusy 发表于 2022-5-14 22:42
很奇怪,5月8,9号是节假日判断是正常。今天5月14判断成了工作日不知道为啥 ...
我的正常啊,是不是哪里复制错了,看一下历史记录 muxiachuixue 发表于 2022-5-12 12:08
把这段代码复制到 configuration.yaml 里面,然后重启HA,会发现多了一个cn_workdays 的实体,实体状态分为 ...
感谢分享 muxiachuixue 发表于 2022-5-12 12:08
把这段代码复制到 configuration.yaml 里面,然后重启HA,会发现多了一个cn_workdays 的实体,实体状态分为 ...
老哥帮我看看 我添加状态没有工作日 节假日选项啊?怎么实现自动化状态?
sun5025 发表于 2022-11-8 17:30
老哥帮我看看 我添加状态没有工作日 节假日选项啊?怎么实现自动化状态?
...
代码里面resource_template改成下面这个,原来的网址失效了
resource_template: https://cdn.jsdelivr.net/gh/NateScarlet/holiday-cn@master/{{ now().strftime('%Y') }}.json
页:
[1]
2