Template Sensor
The template
platform supports sensors which breaks out state_attributes
from other entities.
To enable Template sensors in your installation, add the following to your configuration.yaml
file:
# Example configuration.yaml entry sensor: platform: template sensors: solar_angle: value_template: '{{ states.sun.sun.attributes.elevation }}' friendly_name: 'Sun angle' unit_of_measurement: 'degrees' sunrise: value_template: '{{ states.sun.sun.attributes.next_rising }}'
Configuration variables:
- sensors array (Required): List of your sensors.
- friendly_name (Optional): Name to use in the Frontend.
- unit_of_measurement (Optional): Defines the units of measurement of the sensor, if any.
- value_template (Optional): Defines a template to extract a value from the payload.
Examples
In this section you find some real life examples of how to use this sensor.
Sun angle
This example shows the sun angle in the frontend.
sensor: platform: template sensors: solar_angle: value_template: '{{ "%+.1f"|format(states.sun.sun.attributes.elevation) }}' friendly_name: 'Sun Angle' unit_of_measurement: '°'
Multi line example with an if test
This example shows a multiple line template with and is test. It looks at a sensing switch and shows on/off in the frontend.
sensor: platform: template sensors: kettle: friendly_name: 'Kettle' value_template: >- {%- if is_state("switch.kettle", "off") %} off {% elif states.switch.kettle.attributes.kwh < 1000 %} standby {% elif is_state("switch.kettle", "on") %} on {% else %} failed {%- endif %}
(please note the blank line to close the multi-line template)