home assistant 常见模版条件 最近在研究home assistant自动化的编写,本文将不断的更新,汇集常见的条件和触发器 # 条件类 ## 判定传感器(如小米夜灯)300秒无人 ```python condition: template value_template: >- {{ as_timestamp(now()) - as_timestamp(state_attr('binary_sensor.68abbc58bd0e_motion', 'last_triggered')) > 300 }} alias: 桌面夜灯300秒无动作 ``` 代码以template添加:  ## 判定周一到周五 ```python condition: template value_template: "{{ now().weekday() in (0,1,2,3,4) }}" alias: 周一至周五 ``` ## 判定中国节假日 首先要在HACS中安装两个插件: https://github.com/Crazysiri/chineseholiday 主插件 https://github.com/Crazysiri/chineseholiday_card 前端卡片(类别lovelace) 然后,修改`configuration.yaml`,按文档插入下面的配置: ``` sensor: - platform: chineseholiday name: holiday solar_anniversary: '0121': - aa生日 - cc生日 '20200220': #这样配置会在显示的时候略有不一样,会以 bb生日(1岁) 的形式显示, 文案不包含 ‘生日’ 的统一显示为周年 xx纪念日(1周年)。 - bb生日 #卡片前端aa生日(1岁) - aa和bb结婚纪念日 #卡片前端显示xx纪念日(1周年) lunar_anniversary: '0321': - aa农历生日 calculate_age: #通过配置一个 'aa和bb结婚周年' '2022-10-10 10:23:10'(过去的时间),1. 自动生成未来的时间将近的周年纪念日, 2.计算这个时间已经过去了N年N月N天N小时N秒 - date: '2022-10-10 10:23:10' name: 'aa和bb结婚周年' notify_script_name: 'test' #调用脚本名字 notify_times: #早上9点10分调用 13:00:00 下午1点调用 - "09:10:00" - "13:00:00" notify_principles: #调用脚本规则 '14|7|1': #未来某个日期(下面每个date字段对应)离现在还有 14 天 7天 1天时调用脚本 - date: "0101" #需要调用脚本的日期 solar: False ##没填solar的默认为True 即阳历. false就是阴历, true是阳历 - date: "0102" #需要调用脚本的日期 solar 不写 默认为True 即阳历 '0': #0即为当天调用 #*下面两种是特殊情况采用name,只有父亲节和母亲节 ,也就是填了name就不要填date,填name的只有这两种情况 - name: "母亲节" - name: "父亲节" ``` 这个时候,在dashboard添加卡片: ``` type: custom:ch_calendar-card entity: sensor.holiday icons: /local/custom-lovelace/ch_calendar-card/icons/ ```  此时,桌面就有日历展示了。 ### 条件判定节日 此时,系统会多出一个sensor:`sensor.holiday`,这就是中国节假日的传感器。 可以使用下面的代码获取状态,可以在调试页面试试。 ``` {{states.sensor.holiday.state}} # 获取今天的状态,返回“工作日”或其它 {{state_attr("sensor.holiday", "data")}} {{state_attr("sensor.holiday", "data").solar}} # 获取其它的属性,比如农历 ``` 可以添加环境条件中的模版条件,在自动化中作为条件判定 ``` {{states.sensor.holiday.state == "工作日"}} ```  来自 大脸猪 写于 2023-08-24 00:44 -- 更新于2024-05-21 12:39 -- 0 条评论