作为小白的我研究了一段时间HA,终于把家里的设备搞得差不多了,刚看到解答区里有人提问射频门锁开锁的问题,随即写了个博联->射频门锁开锁的脚本,
其实无论是博联PRO->射频还是博联PRO->红外,
原理都是一样的,思路很多,看个人更偏好。
我把我想到的两种方法发出来供大家讨论:
第一种(最简单的)直接使用script,缺点是只显示一个active,无按键反馈(不过一个射频按键,要什么自行车啊)。
script:
unlock:
sequence:
# 博联地址 #
- service: broadlink.send_packet_192_168_1_XXX
data:
packet:
- "射频码"
直接将“- script.unlock”放入需要放入的group中即可。
第二种(有点麻烦,感觉有点脱裤子放屁的赶脚),优点就是和组内所有开关保持一致,强烈建议强迫症患者使用,按键按下去后0.5s弹回。
#############
# DOOR LOCK #
#############
# 建立虚拟按键(按键默认状态为off) #
input_boolean:
lock:
initial: off
# 建立开锁脚本 #
script:
unlock:
sequence:
# 博联地址 #
- service: broadlink.send_packet_192_168_1_XXX
data:
packet:
- "射频码"
automation:
# 此自动化名称 #
- alias: "unlock the door"
# 重启HA后本自动化状态 true开启 false关闭 #
initial_state: true
# 是否隐藏此自动化 #
hide_entity: true
# 执行此自动化的条件 #
# 虚拟按键从 off 到 on 时,执行action #
trigger:
# 状态 #
- platform: state
# 虚拟按键 #
entity_id: input_boolean.lock
# 从 off 到 on #
from: 'off'
to: 'on'
# 执行以下动作 #
action:
# 1. 执行开锁脚本 #
- service: script.unlock
# 2. 0.5秒后 #
- delay:
seconds: 0.5
# 3. 关闭虚拟按键 #
- service: input_boolean.turn_off
entity_id: input_boolean.lock
使用方法就是将“- input_boolean.lock”放入需要放入的group即可。
以上就是两种方式的使用方法。
|