Hi everyone,
I have the following problem with the script for the squeezebox.
When I select player Garage and Laptop everything works.
In the Küche and TV I get the following error message.
Why does 2 out of 4 players work?
I would be grateful to you for the help.
############################################################
Logger: homeassistant
Source: core.py:1449
First occurred: 16:16:25 (5 occurrences)
Last logged: 16:16:27
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/components/script/init.py”, line 403, in _async_run
return await self.script.async_run(script_vars, context)
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 1260, in async_run
await asyncio.shield(run.async_run())
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 363, in async_run
await self._async_step(log_exceptions=False)
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 381, in _async_step
await getattr(self, handler)()
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 584, in _async_call_service_step
await service_task
File “/usr/src/homeassistant/homeassistant/core.py”, line 1449, in async_call
processed_data = handler.schema(service_data)
File “/usr/local/lib/python3.9/site-packages/voluptuous/schema_builder.py”, line 272, in call
return self._compiled([], data)
File “/usr/local/lib/python3.9/site-packages/voluptuous/validators.py”, line 215, in _run
return self._exec(self._compiled, value, path)
File “/usr/local/lib/python3.9/site-packages/voluptuous/validators.py”, line 341, in _exec
raise e if self.msg is None else AllInvalid(self.msg, path=path)
File “/usr/local/lib/python3.9/site-packages/voluptuous/validators.py”, line 339, in _exec
v = func(path, v)
File “/usr/local/lib/python3.9/site-packages/voluptuous/schema_builder.py”, line 817, in validate_callable
return schema(data)
File “/usr/local/lib/python3.9/site-packages/voluptuous/schema_builder.py”, line 272, in call
return self._compiled([], data)
File “/usr/local/lib/python3.9/site-packages/voluptuous/schema_builder.py”, line 594, in validate_dict
return base_validate(path, iteritems(data), out)
File “/usr/local/lib/python3.9/site-packages/voluptuous/schema_builder.py”, line 432, in validate_mapping
raise er.MultipleInvalid(errors)
voluptuous.error.MultipleInvalid: not a valid value for dictionary value @ data[‘entity_id’]
###############################################################################
Logger: homeassistant.components.script.play_squeezebox_radio
Source: helpers/script.py:1382
Integration: Skript (documentation, issues)
First occurred: 16:16:25 (5 occurrences)
Last logged: 16:16:27
Select Radio Squeezebox: Error executing script. Invalid data for call_service at pos 1: not a valid value for dictionary value @ data[‘entity_id’]
##############################################################################
input_number:
initial_volume_radio:
name: Volume
initial: 0.3
min: 0
max: 1
step: 0.05
#################################################################
input_select:
chromecast_radio_station:
name: 'Select Radio Station'
options:
- ProFM
- KissFM
- EuropaFM
- DigiFM
- RadioZu
- WefunkRadio
- FunkRadio
- Popular
- MagicFM
- VirginRadio
chromecast_radio_speakers:
name: 'Select Speakers'
options:
- Garage
- Küche
- TV
- Laptop
script:
play_squeezebox_radio:
alias: Select Radio Squeezebox
icon: mdi:radio
sequence:
- service: media_player.volume_set
data_template:
entity_id: >
{% if is_state("input_select.chromecast_radio_speakers", "Garage") %} media_player.garage
{% elif is_state("input_select.chromecast_radio_speakers", "Küche") %} media_player.kuche
{% elif is_state("input_select.chromecast_radio_speakers", "TV") %} media_player.tv_samsung_6_series_55
{% elif is_state("input_select.chromecast_radio_speakers", "Laptop") %} media_player.laptop
{% endif %}
volume_level: '{{ states("input_number.initial_volume_radio") }}'
- service: squeezebox.call_method
data_template:
entity_id: media_player.{{states.input_select.chromecast_radio_speakers.state}}
command: favorites
parameters: >
{% if is_state('input_select.chromecast_radio_station', 'ProFM') %}
["playlist", "play", "item_id:0"]
{% elif is_state('input_select.chromecast_radio_station', 'KissFM') %}
["playlist", "play", "item_id:1"]
{% elif is_state('input_select.chromecast_radio_station', 'EuropaFM') %}
["playlist", "play", "item_id:2"]
{% elif is_state('input_select.chromecast_radio_station', 'RadioZu') %}
["playlist", "play", "item_id:3"]
{% elif is_state('input_select.chromecast_radio_station', 'DigiFM') %}
["playlist", "play", "item_id:4"]
{% elif is_state('input_select.chromecast_radio_station', 'MagicFM') %}
["playlist", "play", "item_id:5"]
{% elif is_state('input_select.chromecast_radio_station', 'VirginRadio') %}
["playlist", "play", "item_id:6"]
{% elif is_state('input_select.chromecast_radio_station', 'Popular') %}
["playlist", "play", "item_id:7"]
{% elif is_state('input_select.chromecast_radio_station', 'WefunkRadio') %}
["playlist", "play", "item_id:8"]
{% elif is_state('input_select.chromecast_radio_station', 'FunkRadio') %}
["playlist", "play", "item_id:9"]
{% endif %}
stop_squeezebox_radio:
alias: Stop Radio Squeezebox
icon: mdi:radio
sequence:
- service: media_player.turn_off
data_template:
entity_id: >
{% if is_state("input_select.chromecast_radio_speakers", "Garage") %} media_player.garage
{% elif is_state("input_select.chromecast_radio_speakers", "Küche") %} media_player.kuche
{% elif is_state("input_select.chromecast_radio_speakers", "TV") %} media_player.tv_samsung_6_series_55
{% elif is_state("input_select.chromecast_radio_speakers", "Laptop") %} media_player.laptop
{% endif %}