Hello,
I had already set up some working automations using the Sentence trigger some time ago and have been able to even use them from my Garmin Venu 2 via HTTP WiFi requests.
Today, when I wanted to use one of those commands again, I noticed that it didn’t work.
I opened the Home Assistant logs and saw this:
Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:226
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 10:52:41 (5 occurrences)
Last logged: 14:43:49
[546823912256] Missing slot list {licht}
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 226, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 2012, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2049, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/conversation/__init__.py", line 164, in handle_process
result = await async_converse(
^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/conversation/__init__.py", line 467, in async_converse
result = await agent.async_process(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/conversation/default_agent.py", line 202, in async_process
if trigger_result := await self._match_triggers(user_input.text):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/conversation/default_agent.py", line 702, in _match_triggers
for result in recognize_all(sentence, self._trigger_intents):
File "/usr/local/lib/python3.11/site-packages/hassil/recognize.py", line 406, in recognize_all
for maybe_match_context in maybe_match_contexts:
File "/usr/local/lib/python3.11/site-packages/hassil/recognize.py", line 807, in match_expression
group_contexts = [
^
File "/usr/local/lib/python3.11/site-packages/hassil/recognize.py", line 807, in <listcomp>
group_contexts = [
^
File "/usr/local/lib/python3.11/site-packages/hassil/recognize.py", line 826, in match_expression
raise MissingListError(f"Missing slot list {{{list_ref.list_name}}}")
hassil.recognize.MissingListError: Missing slot list {licht}
My automation YAML looks like this:
alias: VA Test
description: ""
trigger:
- platform: conversation
command:
- "{licht} auf {zahl}"
- "{licht} brightness {zahl}"
- "{licht} bri {zahl}"
id: lichtAufZahl
- platform: conversation
command:
- Automatik {zustand}
- auto {zustand}
id: autoZustand
- platform: conversation
command:
- "{licht} farbe {farbe}"
- "{licht} color {farbe}"
id: lichtFarbe
- platform: conversation
command: PZ auf {wert}
id: PZ
- platform: conversation
command:
- "{licht} aus"
- "{licht} ausschalten "
- "{licht} deaktivieren"
- "{licht} pwr off"
- Turn off {licht}
id: LichtAus
- platform: conversation
command:
- "{licht} an"
- "{licht} ein"
- "{licht} einschalten "
- "{licht} anschalten "
- "{licht} aktivieren"
- "{licht} pwr on"
- "{licht} power on"
- Turn on {licht}
id: LichtAn
- platform: conversation
command:
- PC an
- PC ein
- PC hochfahren
- PC starten
- "PC einschalten "
- PC anschalten
- PC()
id: PCSTART
- platform: conversation
command:
- Effect set {wert}
id: EffectSet
- platform: conversation
command:
- MQTT {wert}
- MQ {wert}
id: MQTTwert
- platform: conversation
command:
- Led solid
- Leds effect solid
- Leds solid
- Led effect solid
id: LedSsolid
- platform: conversation
command:
- Leds strobe {farbe}
- Led strobe {farbe}
id: LedsStrobe
- platform: conversation
command:
- Leds lh {farbe}
- Led lh {farbe}
- Leds lighthouse {farbe}
- Led lighthouse {farbe}
id: LedsLH
- platform: conversation
command:
- Leds sd {farbe}
- Led sd {farbe}
- Leds scan {farbe}
- Led scan {farbe}
id: LedsSD
- platform: conversation
command:
- Leds stack
- Led stack
- Leds stacking
- Led stacking
id: LedsStacking
condition: []
action:
- choose:
- conditions:
- condition: trigger
id:
- lichtAufZahl
sequence:
- service: light.turn_on
data:
brightness_pct: |
{{trigger.slots.zahl}}
target:
entity_id: >
{% if trigger.slots.licht|lower=="iris" %} light.iris {% elif
trigger.slots.licht|lower == "kugel"%} light.kugel {% elif
trigger.slots.licht|lower == "stehlampe"%} light.stehlampe {%
elif trigger.slots.licht|lower == "aaron"%} light.aaron {% elif
trigger.slots.licht|lower == "leds"%} light.wled {%elif
trigger.slots.licht|lower == "ez"%} light.esszimmer {%elif
trigger.slots.licht|lower == "ez1"%} light.esszimmer_1 {%elif
trigger.slots.licht|lower == "ez2"%} light.esszimmer_2 {%elif
trigger.slots.licht|lower == "ez1"%} light.esszimmer_3 {%elif
trigger.slots.licht|lower == "ez1"%} light.esszimmer_4 {%endif%}
- conditions:
- condition: trigger
id:
- autoZustand
sequence:
- choose:
- conditions:
- condition: template
value_template: >-
{{trigger.slots.zustand=="an" or trigger.slots.zustand
=="ein" or trigger.slots.zustand=="aktivieren"}}
sequence:
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.lichtautomatik
default:
- service: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.lichtautomatik
- conditions:
- condition: trigger
id:
- lichtFarbe
sequence:
- service: light.turn_on
data:
color_name: |
{{trigger.slots.farbe}}
target:
entity_id: >
{% if trigger.slots.licht|lower=="iris" %} light.iris {% elif
trigger.slots.licht|lower == "kugel"%} light.kugel {% elif
trigger.slots.licht|lower == "stehlampe"%} light.stehlampe {%
elif trigger.slots.licht|lower == "aaron"%} light.aaron {% elif
trigger.slots.licht|lower == "leds"%} light.wled {%elif
trigger.slots.licht|lower == "ez"%} light.esszimmer {%elif
trigger.slots.licht|lower == "ez1"%} light.esszimmer_1 {%elif
trigger.slots.licht|lower == "ez2"%} light.esszimmer_2 {%elif
trigger.slots.licht|lower == "ez1"%} light.esszimmer_3 {%elif
trigger.slots.licht|lower == "ez1"%} light.esszimmer_4 {%endif%}
- conditions:
- condition: trigger
id:
- PZ
sequence:
- service: number.set_value
data:
value: |
{{trigger.slots.wert}}
target:
entity_id: number.door_personcounter_personenzhler
- conditions:
- condition: trigger
id:
- LichtAus
sequence:
- service: light.turn_off
data: {}
target:
entity_id: >
{% if trigger.slots.licht|lower=="iris" %} light.iris {% elif
trigger.slots.licht|lower == "kugel"%} light.kugel {% elif
trigger.slots.licht|lower == "stehlampe"%} light.stehlampe {%
elif trigger.slots.licht|lower == "aaron"%} light.aaron {% elif
trigger.slots.licht|lower == "leds"%} light.wled {%elif
trigger.slots.licht|lower == "ez"%} light.esszimmer {%elif
trigger.slots.licht|lower == "ez1"%} light.esszimmer_1 {%elif
trigger.slots.licht|lower == "ez2"%} light.esszimmer_2 {%elif
trigger.slots.licht|lower == "ez1"%} light.esszimmer_3 {%elif
trigger.slots.licht|lower == "ez1"%} light.esszimmer_4 {%endif%}
- conditions:
- condition: trigger
id:
- LichtAn
sequence:
- service: light.turn_on
data: {}
target:
entity_id: >
{% if trigger.slots.licht|lower=="iris" %} light.iris {% elif
trigger.slots.licht|lower == "kugel"%} light.kugel {% elif
trigger.slots.licht|lower == "stehlampe"%} light.stehlampe {%
elif trigger.slots.licht|lower == "aaron"%} light.aaron {% elif
trigger.slots.licht|lower == "leds"%} light.wled {%elif
trigger.slots.licht|lower == "ez"%} light.esszimmer {%elif
trigger.slots.licht|lower == "ez1"%} light.esszimmer_1 {%elif
trigger.slots.licht|lower == "ez2"%} light.esszimmer_2 {%elif
trigger.slots.licht|lower == "ez1"%} light.esszimmer_3 {%elif
trigger.slots.licht|lower == "ez1"%} light.esszimmer_4 {%endif%}
- conditions:
- condition: trigger
id:
- PCSTART
sequence:
- service: switch.turn_on
data: {}
target:
entity_id:
- switch.pc_aaron
- switch.pc_bildschirme
- conditions:
- condition: trigger
id:
- EffectSet
sequence:
- choose:
- conditions:
- condition: template
value_template: "{{trigger.slots.wert|int==17}}"
sequence:
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.effekt_17
- conditions:
- condition: template
value_template: "{{trigger.slots.wert|int==18}}"
sequence:
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.effekt_18
default:
- service: input_boolean.turn_off
data: {}
target:
entity_id:
- input_boolean.effekt_17
- input_boolean.effekt_18
- conditions:
- condition: trigger
id:
- MQTTwert
sequence:
- service: mqtt.publish
data:
qos: 0
retain: false
topic: /sys/LScmd
payload: |
{{trigger.slots.wert.upper()}}
- conditions:
- condition: trigger
id:
- LedSsolid
sequence:
- service: light.turn_on
data:
effect: Solid
target:
entity_id: light.wled
- conditions:
- condition: trigger
id:
- LedsStrobe
sequence:
- service: select.select_option
data:
option: |
strobe {{trigger.slots.farbe}}
target:
entity_id: select.wled_voreinstellung
- conditions:
- condition: trigger
id:
- LedsLH
sequence:
- service: select.select_option
data:
option: |
lighthouse {{trigger.slots.farbe}}
target:
entity_id: select.wled_voreinstellung
- conditions:
- condition: trigger
id:
- LedsSD
sequence:
- service: select.select_option
data:
option: |
sd {{trigger.slots.farbe}}
target:
entity_id: select.wled_voreinstellung
- conditions:
- condition: trigger
id:
- LedsStacking
sequence:
- service: select.select_option
data:
option: stacking
target:
entity_id: select.wled_voreinstellung
mode: single
So it does error out on the {licht}
slot that I used in some of the commands, but not in all the ones I then tried to use.
How could I fix this?
Best regards
Aaron