Home Assistant release with the issue: 0.100.1
Last working Home Assistant release (if known): -
Integration: Google Assistant
Description of problem:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/google_assistant/smart_home.py", line 58, in _process
result = await handler(hass, data, inputs[0].get("payload"))
File "/usr/src/homeassistant/homeassistant/components/google_assistant/smart_home.py", line 168, in handle_devices_execute
await entities[entity_id].execute(data, execution)
File "/usr/src/homeassistant/homeassistant/components/google_assistant/helpers.py", line 294, in execute
await trt.execute(command, data, params, challenge)
File "/usr/src/homeassistant/homeassistant/components/google_assistant/trait.py", line 956, in execute
if self.state.state == params["armLevel"]:
KeyError: 'armLevel'
Looking at the sample execute messages from the docs, armLevel is indeed an optional parameter: https://developers.google.com/assistant/smarthome/traits/armdisarm#sample-execute-request-and-response
CC @engrbm87
Hey there @home-assistant/cloud, mind taking a look at this issue as its been labeled with a integration (google_assistant) you are listed as a codeowner for? Thanks!
Hi @balloob . The armlevels are automatically assigned when sync_attributes is called. So when using google assistant and saying "Arm the alarm panel" without specifying the level then the response from google will be that you need to specify the level.
I would be interested in knowing what was the command that triggered this error.
I think I found the issue. The person that had this error tried it using Swedish language. The attributes are only synced for English language. So for other languages the armlevels are not assigned thus the arming command is not requesting specifying the arm level.
Can we get the translated terms for the arm levels using a method or do we need to specify them manually in sync_attributes?
Hello Everybody, I've the same issue with Italian language. I am able to disarm the panel (google ask me the code) and then pusblish DISARMED to the command topic.
I am not able to arm (I tryed to say arm_home, harm_night, harm_away) also using routine (setting arm type)... I hope someone can solve this issue,
Right now we don't have translations for different terms, but we could leverage Lokalise to get these. However, we should still make sure our code doesn't crash as it is possible that we are not able to include all possible translations.
For serving translations. The challenge will be right now that we don't have a language set on the backend, so we don't know what language Google requests will come in.
In this case the solution will be to default to specific arming mode if the armlevel is not defined (in case of languages other than English). Would you recommend to make arm_away a default arming mode?
I know there are some language issue, I already post it: https://github.com/home-assistant/home-assistant-polymer/issues/3817
Can you please let me know how to set up the default arming mode?
I would be hesitant to have a default arming mode. I prefer to raise an unsupported action error.
Hi @balloob , how do you recommend to proceed with this? Any plans for adding translations? Let me know how I can help on this.
Hello,
Any updates on this item? I would very much like to control my alarm via Google Home. (in Dutch preferabel)
Hi guys,
Any updates on this item?, maybe if i could specify the lang and state synonyms in the config file (linked to internal hass alarm state dict) the problem would be solved for everyone. Let me know if i can help on this.
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 馃憤
This issue now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
Please leave it open
This is still not wokring. Please help
Having the same proble:
2020-06-14 19:20:13 ERROR (MainThread) [homeassistant.components.google_assistant.smart_home] Unexpected error
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/google_assistant/smart_home.py", line 57, in _process
result = await handler(hass, data, inputs[0].get("payload"))
File "/usr/src/homeassistant/homeassistant/components/google_assistant/smart_home.py", line 203, in handle_devices_execute
for entity_id in executions
File "/usr/src/homeassistant/homeassistant/components/google_assistant/smart_home.py", line 143, in _entity_execute
await entity.execute(data, execution)
File "/usr/src/homeassistant/homeassistant/components/google_assistant/helpers.py", line 495, in execute
await trt.execute(command, data, params, challenge)
File "/usr/src/homeassistant/homeassistant/components/google_assistant/trait.py", line 1018, in execute
if self.state.state == params["armLevel"]:
KeyError: 'armLevel'
2020-06-14 19:20:13 ERROR (MainThread) [homeassistant.components.google_assistant.smart_home] Error handling message {'inputs': [{'context': {'locale_country': 'SE', 'locale_language': 'sv'}, 'intent': 'action.devices.EXECUTE', 'payload': {'commands': [{'devices': [{'id': 'alarm_control_panel.jablotron_alarm'}], 'execution': [{'command': 'action.devices.commands.ArmDisarm', 'params': {'arm': True}}]}]}}], 'requestId': '13103583556433069014'}: {'errorCode': 'unknownError'}
[Seems I posted on the duplicate issue - apologies]
I'm also getting the "something went wrong issue" when using English as the language in both HA (latest version) and Google Assistant. It works fine for disarming and never says "something went wrong" but does when I arm the alarm even though the action is always completed successfully. Is there something I can do on my end to solve this?
Yeah, its still an issue... Seems language issie
Yeah, its still an issue... Seems language issue
I think most people are trying to arm/disarm in languages other than English. I've got both home assistant and google assistant set up in English but get the same response. I'm not sure if this is just something wrong on my end or the language issue you mention is for English as well?
Opened fix #36942. If the device only supports one arm level, we pick that one, otherwise we raise an error.
Thx for that, appreciate it
Will this fix the "something went wrong" error even when specifying an arm level in English? For example I say "hey Google, set the security alarm to armed home / away" and the action is completely successfully in HA but with the above error from the Google assistant. I'm unsure if what I'm seeing is related to arm levels / language as I'm already using English?
Will this fix the "something went wrong" error even when specifying an arm level in English? For example I say "hey Google, set the security alarm to armed home / away" and the action is completely successfully in HA but with the above error from the Google assistant. I'm unsure if what I'm seeing is related to arm levels / language as I'm already using English?
I experience the issue you described here also. I believe it has to do with the fact that Home Assistant doesn't provide a response to Google when executing arming commands as outlined in Google's docs here. I don't think these changes will fix that.
I think that the problem causing the "something went wrong" is that results need to be back in 8 seconds or else Google considers the command failed.
Hello. i have the same issue in french. I am not able to enable by voice the security alarm at all
I am able however to disable it by voice in french, it asks me for the pin and does the job of disabling the alarm system. (it does however give an audio error message)
I switched to english my google assistant and it looks to be working when telling below commands
set alarm system to arm night
set alarm system to arm away
set alarm system to arm home (for some reason this is the command i have to use to disable the alarm on my security system)
However for some weird reason google always responds with the same answer :
Sure, setting to armed home (even when i activate night or away it says home...)
Is it possible to make it so it works with French?
Upgraded to 112, but still having issues with Dutch...
If I ask the state of my alarm it can be like armed_home, armed_away , disarmed... How can these be translated to Dutch? Where is that underscore coming from? How to change
Also , if I disarm the alarm, its really disarmed but, the message... Something went wrong... Although it does t take 8 sec, it's almost instant
I think that the problem causing the "something went wrong" is that results need to be back in 8 seconds or else Google considers the command failed.
How would you like to proceed here? Shall I raise a separate issue as it isn't related to language problems as originally thought? The error is spoken immediately after asking the alarm to be armed i.e. no 8 second delay before the error is received.
already created one a few days ago
https://github.com/home-assistant/core/issues/37345
Will this fix the "something went wrong" error even when specifying an arm level in English? For example I say "hey Google, set the security alarm to armed home / away" and the action is completely successfully in HA but with the above error from the Google assistant. I'm unsure if what I'm seeing is related to arm levels / language as I'm already using English?
I am also having the exact same issue google replies with "something went wrong" with English language using an envisilink3
is this fix https://github.com/home-assistant/core/pull/37325 merged into the production branch? is this fix in 0.117.2?
that fix was already present in 113.0
i never tried it since
so it means , this one is fixed also?
Most helpful comment
This is still not wokring. Please help