跳转到内容

工作时间

duty_time 传感器允许您跟踪某些对象的总工作时间,例如灯泡,以秒为单位。当配置中包含可选传感器 last_time 时,能够计算最后一次开启时间。

支持布尔信号源:binary_sensor 或返回被跟踪对象布尔状态的 lambda。 作为自动化中控制组件的替代方法,可以使用 sensor.duty_time.startsensor.duty_time.stop 动作。

# 示例配置条目
sensor:
- platform: duty_time
id: my_climate_work_time
name: My Climate Work Time
# 支持逻辑源(可选):'binary_sensor'
sensor: my_binary_sensor
# ... 或 'lambda'
lambda: "return id(my_climate).mode != CLIMATE_MODE_OFF;"
# 恢复(可选,默认:False)
restore: false
# 最后一次开启时间的传感器(可选)
last_time:
name: My Climate Last Turn-On Time
  • sensor (可选, ID): 用于跟踪工作时间的 binary_sensor 的 ID。不能与 lambda 一起使用

  • lambda (可选, lambda): 将在循环中调用的 lambda,用于获取被跟踪对象的当前状态。不能与 sensor 一起使用

  • last_time (可选): 最后一次开启时间传感器的信息。 所有选项来自 传感器

  • restore (可选, 布尔值): 是否在设备上存储中间结果,以便在断电或重启时可以恢复该值。 警告:此选项可能会磨损您的闪存。默认为 false

  • update_interval (可选, 时间): 更新间隔。默认为 60s

  • id (可选, ID): 设置此传感器的 ID 以便在 lambda 中使用。

  • 所有其他选项来自 传感器

除了所有基本的传感器自动化,该组件还支持以下自动化。

此动作开始/恢复时间跟踪。在 lambda 中,您可以使用 start() 方法。

on_...:
then:
- sensor.duty_time.start: my_climate_work_time

此动作暂停时间跟踪。导致传感器更新,包括 last_time 传感器。在 lambda 中,您可以使用 stop() 方法。

on_...:
then:
- sensor.duty_time.stop: my_climate_work_time

此动作重置工作时间计数器。导致传感器更新。不影响 last_time 传感器。在 lambda 中,您可以使用 reset() 方法。

on_...:
then:
- sensor.duty_time.reset: my_climate_work_time

sensor.duty_time.is_running / sensor.duty_time.is_not_running 条件

Section titled “sensor.duty_time.is_running / sensor.duty_time.is_not_running 条件”

条件检查 duty_time 计数器当前是否正在运行(或已暂停)。在 lambda 中,您可以使用 is_running() 方法。

# 在某个触发器中:
on_...:
if:
condition:
# 'is_not_running' 语法相同
sensor.duty_time.is_running: my_climate_work_time