Lock Component
lock 域包含所有应像锁一样工作的平台,具备锁定/解锁操作。
lock: - platform: ... name: "Lock Name"配置变量:
- id(可选,string):手动指定用于代码生成的 ID。至少需要指定 id 和 name 之一。
- name(可选,string):锁的名称。至少需要指定 id 和 name 之一。
NOTE
如果你的设备设置了 friendly_name,且希望锁使用该名称,可以将 name 设为 None。
-
icon(可选,icon):手动设置在前端中为该锁使用的图标。
-
internal(可选,boolean):将此组件标记为内部组件。内部组件不会暴露给前端(如 Home Assistant)。仅指定
id而不指定name将隐式地将其设为true。 -
on_lock(可选,Action):锁定锁时执行的自动化。参见
lock.on_lock/lock.on_unlock触发器。 -
on_unlock(可选,Action):解锁锁时执行的自动化。参见
lock.on_lock/lock.on_unlock触发器。 -
disabled_by_default(可选,boolean):如果为
true,则该实体不应被添加到任何客户端的前端中(通常是 Home Assistant),除非用户手动启用(通过 Home Assistant UI)。默认为false。 -
entity_category(可选,string):实体的类别。 参见 https://developers.home-assistant.io/docs/core/entity/#generic-properties 查看可用选项列表。设为
""可移除默认的实体类别。 -
如果启用了 MQTT,则包含 MQTT 组件 的所有其他选项。
-
如果启用了 Webserver 且选择了版本 3,则包含 Webserver 组件的所有其他选项。参见 Webserver 版本 3。
lock.lock 操作
Section titled “lock.lock 操作”此操作在执行时锁定指定 ID 的锁。
on_...: then: - lock.lock: deadbolt_1lock.unlock 操作
Section titled “lock.unlock 操作”此操作在执行时解锁指定 ID 的锁。
on_...: then: - lock.unlock: deadbolt_1lock.open 操作
Section titled “lock.open 操作”此操作在执行时打开(例如,释放插销)指定 ID 的锁。
on_...: then: - lock.open: doorlock_1lock.is_locked / lock.is_unlocked 条件
Section titled “lock.is_locked / lock.is_unlocked 条件”此 条件 检查给定锁是否已锁定(或已解锁)。
# In some trigger:on_...: if: condition: # Same syntax for is_unlocked lock.is_locked: my_locklambda 调用
Section titled “lambda 调用”在 lambda 中,可以对所有锁调用多个方法来执行一些高级操作(更多信息请参见完整的 API 参考)。
publish_state():手动触发锁发布新状态并在内部存储。如果与上一次内部状态不同,还会额外发布到前端。
// Within lambda, make the lock report a specific state id(my_lock).publish_state(LOCK_STATE_LOCKED); id(my_lock).publish_state(LOCK_STATE_UNLOCKED);state:获取锁的当前状态。
// Within lambda, get the lock state and conditionally do something if (id(my_lock).state == LOCK_STATE_LOCKED) { // Lock is LOCKED, do something here }unlock()/lock()/open():从代码中手动锁定/解锁/打开锁。 与lock.lock、lock.unlock和lock.open操作类似, 但可用于复杂的 lambda 表达式中。
id(my_lock).unlock(); id(my_lock).lock(); id(my_lock).open();lock.on_lock / lock.on_unlock 触发器
Section titled “lock.on_lock / lock.on_unlock 触发器”每当锁被锁定/解锁时,此触发器都会被激活。它在锁组件确认状态后(例如,已锁定/解锁后)立即生效。
lock: - platform: template # 或其他任何平台 # ... on_lock: - logger.log: "Door Locked!" on_unlock: - logger.log: "Door Unlocked!"