Um, not exactly. What’s new in 0.81 is, if it can’t figure out what entities the template uses, it no longer evaluates the template for every state change in the system (which is what it used to do in this case. Instead it never evaluates the template automatically, which would mean you either have to specify the entity_id’s manually, so it knows what entities to watch, or you have to force it to update via a service call.)
But if you use standard ways of referencing entities – such as states('domain.object_id')
, state_attr('domain.object_id', 'attribute')
or states.domain.object_id...
, it will be able to find those entities, so you don’t need to specify them manually via the entity_id parameter.
The issue with the template sensor in the OP is, of course, not using sensor.bluetooth_jim_downstairs correctly, which you’ve pointed out. Once that is fixed it should work, even without using the entity_id parameter.
(BTW, if entity_id is used, you need to make sure to specify all entities used by the template. In this case that would have been both sensor.bluetooth_jim_downstairs and device_tracker.jimphone_phone. )
EDIT: Also, I always recommend using the states or state_attr function when possible. So, altogether, I would recommend:
- platform: template
sensors:
jim:
friendly_name: Jim
value_template: >
{% if states('sensor.bluetooth_jim_downstairs') | int > 10 %}
Home
{% elif is_state('device_tracker.jimphone_phone', 'workj') %}
Work
{% else %}
Away
{% endif %}
EDIT2: @Buckeyes1995, are you sure you want this logic? If sensor.bluetooth_jim_downstairs is 10 or less, it will evaluate to Away, even if device_tracker.jimphone_phone is home.