跳转到内容

工作时间

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: 我的空调工作时间
# 支持逻辑源(可选):'binary_sensor'
sensor: my_binary_sensor
# ... 或 'lambda'
lambda: "return id(my_climate).mode != CLIMATE_MODE_OFF;"
# 恢复(可选,默认:False)
restore: false
# 最后开启时间的传感器(可选)
last_time:
name: 我的空调最后开启时间
  • sensor (可选, ID): 用于跟踪工作时间的 binary_sensor 的 ID。不能与 lambda 一起使用。

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

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

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

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

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

  • 来自 Sensor 的所有其他选项。

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

此操作开始/恢复时间跟踪。在 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