트렌드(Trend)


trend 플랫폼을 사용하면 다른 엔티티의 숫자 state 또는 state_attributes 트렌드(trend)를 보여주는 센서를 만들 수 있습니다. 이 센서에는 트렌드를 설정하기 위해 기본 센서의 업데이트가 두 개 이상 필요합니다. 따라서 정확한 상태를 표시하는데 시간이 걸릴 수 있습니다. 트렌드를 기반으로 작업을 수행하려는 자동화의 일부로 유용할 수 있습니다.

설정

트렌드 이진 센서를 활성화하려면 configuration.yaml 파일에 다음을 추가하십시오.

# Example configuration.yaml entry
binary_sensor:
  - platform: trend
    sensors:
      cpu_speed:
        entity_id: sensor.cpu_speed

Configuration Variables

sensors

(map)(Required)

List of your sensors.

entity_id

(string)(Required)

The entity that this sensor tracks.

attribute

(string)(Optional)

The attribute of the entity that this sensor tracks. If no attribute is specified then the sensor will track the state.

device_class

(string)(Optional)

Sets the class of the device, changing the device state and icon that is displayed on the frontend.

friendly_name

(string)(Optional)

Name to use in the Frontend.

invert

(boolean)(Optional)

Invert the result. A true value would mean descending rather than ascending.

Default value:

false

max_samples

(integer)(Optional)

Limit the maximum number of stored samples.

Default value:

2

min_gradient

(string)(Optional)

The minimum rate at which the observed value must be changing for this sensor to switch on. The gradient is measured in sensor units per second.

Default value:

0.0

sample_duration

(integer)(Optional)

The duration in seconds to store samples for. Samples older than this value will be discarded.

Default value:

0

여러 샘플 사용하기

선택적으로 sample_duration, max_samples 매개 변수를 지정하면 여러 샘플을 저장하고 장기간 트렌드를 감지하는데 사용할 수 있습니다.

상태가 변경될 때마다 새로운 샘플이 샘플시간과 함께 저장됩니다. sample_duration시간 보다 오래된 샘플은 폐기됩니다.

그런 다음 트렌드 라인을 사용 가능한 샘플에 맞추고 이 라인의 gradient를 min_gradient와 비교하여 트렌드 센서의 상태를 결정합니다. gradient는 초당 센서 단위로 측정됩니다. - 온도가 시간당 2 도씩 떨어지는 시점을 알고 싶다면 (-2) / (60 x 60) = -0.00055의 gradient를 사용하십시오.

저장된 샘플의 현재 수가 상태 페이지에 표시됩니다.

사례

본 섹션에는 이 센서를 사용하는 방법에 대한 실제 예가 나와 있습니다.

이 예는 태양이 여전히 떠오르면 true를 나타냅니다.

binary_sensor:
  - platform: trend
    sensors:
      sun_rising:
        entity_id: sun.sun
        attribute: elevation

이 예에서는 온도가 시간당 최소 3도 이상으로 오르는지 혹은 내리는지를 나타내는 두 개의 센서를 만들고 2 시간 동안 샘플을 수집합니다.

binary_sensor:
  - platform: trend
    sensors:
      temp_falling:
        entity_id: sensor.outside_temperature
        sample_duration: 7200
        min_gradient: -0.0008
        device_class: cold

      temp_rising:
        entity_id: sensor.outside_temperature
        sample_duration: 7200
        min_gradient: 0.0008
        device_class: heat