工作时间
duty_time 传感器允许您跟踪某些对象的总工作时间,例如灯泡,以秒为单位。当配置中包含可选传感器 last_time 时,能够计算最后一次开启时间。
支持布尔信号源:binary_sensor 或返回被跟踪对象布尔状态的 lambda。
作为自动化中控制组件的替代方法,可以使用 sensor.duty_time.start 和 sensor.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 中使用。
-
所有其他选项来自 传感器。
除了所有基本的传感器自动化,该组件还支持以下自动化。
sensor.duty_time.start 动作
Section titled “sensor.duty_time.start 动作”此动作开始/恢复时间跟踪。在 lambda 中,您可以使用 start() 方法。
on_...: then: - sensor.duty_time.start: my_climate_work_timesensor.duty_time.stop 动作
Section titled “sensor.duty_time.stop 动作”此动作暂停时间跟踪。导致传感器更新,包括 last_time 传感器。在 lambda 中,您可以使用 stop() 方法。
on_...: then: - sensor.duty_time.stop: my_climate_work_timesensor.duty_time.reset 动作
Section titled “sensor.duty_time.reset 动作”此动作重置工作时间计数器。导致传感器更新。不影响 last_time 传感器。在 lambda 中,您可以使用 reset() 方法。
on_...: then: - sensor.duty_time.reset: my_climate_work_timesensor.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