工作时间
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 的所有其他选项。
除了所有基本 传感器自动化 外,组件还支持以下自动化。
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