|Proconductor: Home Assistant Community|
Availability: included in thepersonale HUB Home Assistant
Type: platform Home Assistant
Family: component "Binary Sensor” Home Assistant
Implementation difficulties: low
The "Trend" platform, daughter of the component "Binary Sensor"Of Home Assistant, it is useful to implement of binary trend sensors which provide information with respect to the performance of other sensors.
These binary sensors change state from "off"Or"on"When the monitored sensor varies (it grows or decreases: this is what the configuration decides).
The configuration of the "Trend" platform at the file configuration.yaml it's pretty simple.
It is sufficient to insert an entry of this type:
binary_sensor: - platform: trend sensors: nome_sensore: entity_id: sensor.nome_sensore_da_monitorare
The variables available for configuration customization are the following:
|entity_id||(string, mandatory) The name of theentity.|
|attribute||(string, optional) The attribute of the entity (monitored) to be monitored. If not specified, the "status" will be checked.|
|device_class||(string, optional) The type of entity to show on the frontend.|
|friendly_name||(string, optional) The name of the entity to show at the frontend.|
|invert||(Boolean, optional) Inverts the result. Set to "true"Causes the state of the" Binary Sensor"Created becomes" on "when the monitored sensor decreases the profirst value. Default: false|
|max_samples||(full, optional) Maximum number of records to be collected in the history.|
|min_gradient||(string, optional) The rate of ascent or descent. Explained to follow.|
|sample_duration||(integer, optional) The duration in seconds of the surveys considered valid for the evaluation. Surveys older than this duration are discarded. Default: 0 (unlimited)|
Use multiple surveys
While by default the trend sensor thus created simply changes its status when the status of the monitored sensor changes (based on the fact that it increases / decreases and the configuration), via max_samples, sample_duration e min_gradient it is possible to evaluate a "multi-detection" trend.
Each time the status of the monitoto sensor changes, its value is recorded along with its timenameolder than sample_duration they are discarded.
Each trend sensor has a "trend line"; in the case of a "multi-detection" configuration it is adapted to the available samples and the gradient of this line is compared with min_gradient to determine the status of the trend sensor.
In short, the min_gradient it is a customization that allows a very fine adjustment of the trend sensor. The "gradient" is measured in "sensor unit per seconds": for example, if you want the trend sensor to become "on" when the temperature detected by a sensor collapses, say, two degrees per hour, calculate the min_gradient is simple:
(-2) / (sample_duration)
(-2) / (60 × 60) = -0.00055
Let's see how to configure a trend sensor that activates at sunrise:
binary_sensor: - platform: trend sensors: sole_sorge: entity_id: sun.sun attribute: elevation
The following sensors, instead, indicate when the temperature collapses or rises at least three degrees in an hour, collecting data for a period of two hours:
binary_sensor: - platform: trend sensors: temperatura_decresce: entity_id: sensor.temperatura_esterna sample_duration: 7200 min_gradient: -0.0008 device_class: cold temperatura_cresce: entity_id: sensor.temperatura_esterna sample_duration: 7200 min_gradient: 0.0008 device_class: heat