What I am currently trying to achieve is to synchronize two device values. The triggering seems to already work, but the problem is that the action cannot get the value from the other device. My automation looks like the following:
automation 3:
alias: 'Anzeige mit Radiator synchronisieren'
trigger:
platform: numeric_state
entity_id: climate.neq1334623
value_template: '{{ state.attributes.temperature }}'
below: 50
action:
service: climate.set_temperature
data_template:
entity_id: climate.neq0611872
operation_mode: manual
temperature: '{{ trigger.to_state.attributes.temperature | float }}'
I already tried a lot of different options for “{{ trigger.to_state.attributes.temperature | float }}” but none seemed to really work. In this case I get the following error when trying to trigger the action:
17-03-20 07:07:53 INFO (MainThread) [homeassistant.core] Bus:Handling <Event logbook_entry[L]: name=Anzeige mit Radiator synchronisieren, message=has been triggered, domain=automation, entity_id=automation.anzeige_mit_radiator_synchronisieren>
17-03-20 07:07:53 INFO (MainThread) [homeassistant.helpers.script] Script Anzeige mit Radiator synchronisieren: Running script
17-03-20 07:07:53 INFO (MainThread) [homeassistant.helpers.script] Script Anzeige mit Radiator synchronisieren: Executing step call service
17-03-20 07:07:53 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/helpers/template.py", line 99, in async_render
return self._compiled.render(kwargs).strip()
File "/srv/homeassistant/lib/python3.4/site-packages/jinja2/environment.py", line 1008, in render
return self.environment.handle_exception(exc_info, True)
File "/srv/homeassistant/lib/python3.4/site-packages/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/srv/homeassistant/lib/python3.4/site-packages/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "<template>", line 1, in top-level template code
File "/srv/homeassistant/lib/python3.4/site-packages/jinja2/sandbox.py", line 385, in getattr
value = getattr(obj, attribute)
jinja2.exceptions.UndefinedError: 'trigger' is undefined
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.4/asyncio/tasks.py", line 237, in _step
result = next(coro)
File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/automation/__init__.py", line 305, in async_trigger
yield from self._async_action(self.entity_id, variables)
File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/automation/__init__.py", line 386, in action
yield from script_obj.async_run(variables)
File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/helpers/script.py", line 151, in async_run
yield from self._async_call_service(action, variables)
File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/helpers/script.py", line 181, in _async_call_service
self.hass, action, True, variables, validate_config=False)
File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/helpers/service.py", line 88, in async_call_from_config
config[CONF_SERVICE_DATA_TEMPLATE]))
File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/helpers/service.py", line 84, in _data_template_creator
for key, item in value.items()}
File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/helpers/service.py", line 84, in <dictcomp>
for key, item in value.items()}
File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/helpers/service.py", line 86, in _data_template_creator
return value.async_render(variables)
File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/helpers/template.py", line 101, in async_render
raise TemplateError(err)
homeassistant.exceptions.TemplateError: UndefinedError: 'trigger' is undefined
17-03-20 07:07:53 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_executed[L]: service_call_id=140111392429448-77>
So question is: What is the correct way to get the temperature attribute from my “climate.neq0611872” inside an action.