Use current sensor value in automation


Is this the correct way to display/use the current value of a sensor in an automation?

“{{ states.sensor.mysensorname.state }}”

Im struggling about my automation and not sure if has something to do with this change

I think we’ll need to see where in your automation you are using it. If you are using a template to get the value of a sensor then you would generally use:

"{{ states('sensor.mysensorname') }}"

Yes I want to use it in an automation action:

service: notify.justme
title: Market price!
message: >-
Market price increase Trigger {{ }}.
summary: “{{ states.sensor.mysensorname.state }}”

Your automation action looks okay to me. You’ll need to try it. However, the syntax I gave in my previous message is generally better because it handkes sensors that are not ready in a better way.

Hm the error is
Error: Error rendering data template: UndefinedError: ‘dict object’ has no attribute ‘to_state’

Please post the full automation.

The trigger object is only available when the automation is actually triggered, not when you “run” it through the menu. Furthermore, to_state is only available on some trigger types.

Also when you do, please format your pasted automation correctly for the forum, see: How to help us help you - or How to ask a good question

The automation:

alias: Market price increase
description: ""
  - platform: numeric_state
    entity_id: sensor.mysensor
    above: 5
      hours: 1
      minutes: 0
      seconds: 0
  - condition: time
      - fri
      - thu
      - wed
      - tue
      - mon
  - service: notify.myself
      title: Market price 5 procent increase
      message: >-
        Market price 5 procent increase. Trigger {{ }}.
      summary: "{{ states('sensor.mysensor') }}"
mode: single

Doesn’t it work when I use a numeric_state as trigger then?

That should work, if you let the automation actually trigger (i.e. wait 1h with “mysensor” above 5)

Hmm the error stays

How are you testing this?

Manually but also with this trigger, the error is the same on both ways

  - platform: time_pattern
    minutes: /3

Works now. Don’t ask how. I think I was missing a quote somewhere
Thanks all!

Neither of those trigger methods have a “to_state”. Please familiarise yourself with the available variables for each trigger type, see: and note that manually triggering has no trigger data, at all.

This is how:

1 Like