下面的代码放到 configuration.yaml 里面,重启HA,会发现一个sensor.cn_workdays 实体,实体状态为“工作日”或“节假日”
rest:
- scan_interval: 3600
resource_template: https://natescarlet.coding.net/p/github/d/holiday-cn/git/raw/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 [True,False] %}
{%- if now().isoweekday() in [6,7] %}
{%- set isOffDay = True %}
{%- else %}
{%- set isOffDay = False %}
{%- endif %}
{%- endif %}
{%- if isOffDay == True %}
节假日
{%- elif isOffDay == False %}
工作日
{%- else %}
unknown
{%- endif %}
json_attributes:
- year
- papers
|