Hi, I try to get the current volume of a media_player entity. But in the Blueprint I only get the device_ID not the entity_id. Is it not possible to get the state or attributes from a device_ID?
blueprint:
name: deCONZ - IKEA five button remote for SONOS
description: 'Control SONOS with an IKEA five button remote (the round ones).'
domain: automation
input:
remote:
name: Remote
description: IKEA remote to use
selector:
device:
integration: deconz
manufacturer: IKEA of Sweden
model: TRADFRI remote control
speaker:
name: Speaker
description: The speaker to control
selector:
entity:
domain: media_player
force_volume:
name: Force turn on volume
description: 'Force the volume to the set level below, when the on button on the remote is pushed and speaker turn on.'
default: false
selector:
boolean: {}
volume:
name: Volume
description: Volume of the speaker when turning on
default: 0.1
selector:
number:
min: 0.0
max: 1
mode: slider
step: 0.1
unit_of_measurement: '%'
source_url: https://test.test
mode: restart
max_exceeded: silent
variables:
force_volume: !input 'force_volume'
speaker_entity: !input 'speaker'
trigger:
- platform: event
event_type: deconz_event
event_data:
device_id: !input 'remote'
action:
- variables:
event: '{{ trigger.event.data.event }}'
- choose:
- conditions:
- '{{ event == 1002 }}'
sequence:
- choose:
- conditions: '{{ force_volume }}'
sequence:
- service: media_player.media_play_pause
target: !input 'speaker'
- service: media_player.volume_set
target: !input 'speaker'
data:
volume_level: !input 'volume'
default:
- service: media_player.media_play_pause
target: !input 'speaker'
- conditions:
- '{{ event == 2002 }}'
sequence:
blueprint:
name: deCONZ - IKEA five button remote for SONOS
description: 'Control SONOS with an IKEA five button remote (the round ones).'
domain: automation
input:
remote:
name: Remote
description: IKEA remote to use
selector:
device:
integration: deconz
manufacturer: IKEA of Sweden
model: TRADFRI remote control
speaker:
name: Speaker
description: The speaker to control
selector:
entity:
domain: media_player
force_volume:
name: Force turn on volume
description: 'Force the volume to the set level below, when the on button on the remote is pushed and speaker turn on.'
default: false
selector:
boolean: {}
volume:
name: Volume
description: Volume of the speaker when turning on
default: 0.1
selector:
number:
min: 0.0
max: 1
mode: slider
step: 0.1
unit_of_measurement: '%'
button_left_short:
name: Left button - short press
description: Action to run on short left button press
default: []
selector:
action: {}
button_left_long:
name: Left button - long press
description: Action to run on long left button press
default: []
selector:
action: {}
button_right_short:
name: Right button - short press
description: Action to run on short right button press
default: []
selector:
action: {}
button_right_long:
name: Right button - long press
description: Action to run on long right button press
default: []
selector:
action: {}
source_url: https://test.test
mode: restart
max_exceeded: silent
variables:
force_volume: !input 'force_volume'
speaker_entity: !input 'speaker'
trigger:
- platform: event
event_type: deconz_event
event_data:
device_id: !input 'remote'
action:
- variables:
event: '{{ trigger.event.data.event }}'
- choose:
- conditions:
- '{{ event == 1002 }}'
sequence:
- choose:
- conditions: '{{ force_volume }}'
sequence:
- service: media_player.media_play_pause
target: !input 'speaker'
- service: media_player.volume_set
target: !input 'speaker'
data:
volume_level: !input 'volume'
default:
- service: media_player.media_play_pause
target: !input 'speaker'
# - service: media_player.volume_set
# target: !input 'speaker'
# data:
# volume_level: !input 'volume'
- conditions:
- '{{ event == 2002 }}'
sequence:
- variables:
cv: '{{ state_attr( speaker_entity, "volume_level") }}'
The line:
- variables:
cv: '{{ state_attr( speaker_entity, "volume_level") }}'
Gives me an error in the logs:
Logger: homeassistant.components.automation.deconz_ikea_five_button_remote_for_sonos
Source: helpers/template.py:355
Integration: Automatisierung ([documentation](https://www.home-assistant.io/integrations/automation), [issues](https://github.com/home-assistant/home-assistant/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+automation%22))
First occurred: 10:00:38 (7 occurrences)
Last logged: 10:25:45
While executing automation automation.deconz_ikea_five_button_remote_for_sonos
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 353, in async_render
render_result = compiled.render(kwargs)
File "/usr/local/lib/python3.8/site-packages/jinja2/environment.py", line 1090, in render
self.environment.handle_exception()
File "/usr/local/lib/python3.8/site-packages/jinja2/environment.py", line 832, in handle_exception
reraise(*rewrite_traceback_stack(source=source))
File "/usr/local/lib/python3.8/site-packages/jinja2/_compat.py", line 28, in reraise
raise value.with_traceback(tb)
File "<template>", line 1, in top-level template code
File "/usr/local/lib/python3.8/site-packages/jinja2/sandbox.py", line 407, in getattr
value = getattr(obj, attribute)
jinja2.exceptions.UndefinedError: homeassistant.helpers.template.AllStates object has no element {'device_id': '8367cede114611eb9805210d516375b3'}
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/automation/__init__.py", line 404, in async_trigger
await self.action_script.async_run(
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1026, in async_run
await asyncio.shield(run.async_run())
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 242, in async_run
await self._async_step(log_exceptions=False)
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 250, in _async_step
await getattr(
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 664, in _async_variables_step
self._variables = self._action[CONF_VARIABLES].async_render(
File "/usr/src/homeassistant/homeassistant/helpers/script_variables.py", line 58, in async_render
rendered_variables[key] = template.render_complex(value, rendered_variables)
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 98, in render_complex
return value.async_render(variables)
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 355, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: UndefinedError: homeassistant.helpers.template.AllStates object has no element {'device_id': '8367cede114611eb9805210d516375b3'}