Allow template with input helper as condition for/below

I want to make the target temperature variable via the lovelace. The only sensible approach I could come up with was to not have the ‘below’ be a static number but parse the input_number as the condition checking my thermometer.

when I try to:

condition:
  - condition: and
    conditions:
      - type: is_temperature
        condition: device
        device_id: [theID]
        entity_id: [theOtherID]
        domain: sensor
        below: {{ states('input_number.temperatur') | int > 16 }}

I get the following error: “expected float for dictionary value @ data[‘below’]”
Is this possible at all and if not is there a better way to solve that problem?

here is the full automation:

alias: heizung_rick_an
description: "turn on if..."
trigger:
  - platform: time_pattern
    minutes: /5
condition:
  - condition: and
    conditions:
      - type: is_not_open
        condition: device
        device_id: 97a6c35d2bbe0b904c5608da21441e87
        entity_id: binary_sensor.0x00124b00239df823_contact
        domain: binary_sensor
      - type: is_temperature
        condition: device
        device_id: fdb0204af62a71adb201618ba4f16e63
        entity_id: sensor.0x00124b002228f249_temperature
        domain: sensor
        below: 19
      - condition: time
        after: "10:00:00"
        before: "21:00:00"
action:
  - type: turn_on
    device_id: 0f919d72468301b1b2d3d38dbf23b70c
    entity_id: switch.tasmota_2
    domain: switch
mode: single

This is a boolean test. It will return true or false, while below requires a number.

You can try this:

below: input_number.temperatur

Or you can use a numeric_state trigger, using entity_id instead of a device_id. I always go for entity_id. :wink:
Then your condition will be like this:

  - condition: numeric_state
    entity_id: sensor.0x00124b002228f249_temperature
    below: input_number.temperatur

Much simpler… :wink: