Template Sensor

The template sensor platform allows you to create a sensor with templated values using lambdas.

# Example configuration entry
  - platform: template
    name: "Template Sensor"
    lambda: |-
      if (id(some_binary_sensor).state) {
        return 42.0;
      } else {
        return 0.0;
    update_interval: 60s

Possible return values for the lambda:

  • return <FLOATING_POINT_NUMBER>; the new value for the sensor.
  • return NAN; if the state should be considered invalid to indicate an error (advanced).
  • return {}; if you don’t want to publish a new state (advanced).

Configuration variables:

  • name (Required, string): The name of the sensor.
  • lambda (Optional, lambda): Lambda to be evaluated every update interval to get the new value of the sensor
  • update_interval (Optional, Time): The interval to check the sensor. Defaults to 60s.
  • id (Optional, ID): Manually specify the ID used for code generation.
  • All other options from Sensor and MQTT Component.


You can use the publish_state() method to set the value of a template sensor from other automations: