Google Assistant : Alarm control panel only works partially in english ... , Not at all in other languages
Closed this issue ยท 31 comments
The problem
I have lot of lights/switches/scripts exposed to Google Assistant (nabucasa) , my GA setup is setup in Dutch language, no secundary english language, all is working fine, except for the "alarm control panel"
if i setup enlglish as second language then i get better responses
SO GA setup in dutch only:
if i say
Arm the alarm => this stand is not available => not OK
disable the alarm => alarm already disabled => ok
disable the alarm (if armed) => HA disables the alarm => GA respons => unexpected error ... not OK
SO GA setup in dutch and english as secundary:
if i say
Arm the alarm => i am not sure wich level, say armed home or armed away => OK now!
disable the alarm => alarm already disabled => ok
disable the alarm (if armed) => HA disables the alarm => GA respons => unexpected error ...
its better in english, but still errors
Environment
- Home Assistant Core release with the issue: 112.0
- Last working Home Assistant Core release (if known): None
- Operating environment (OS/Container/Supervised/Core): HassOS
- Integration causing this issue: GA + alarm control panel
Problem-relevant configuration.yaml
- platform: mqtt
name: Risco Alarm
state_topic: "riscopanel/alarm/0/status"
command_topic: "riscopanel/alarm/0/set"
payload_disarm: "DISARM"
payload_arm_home: "ARM_HOME"
payload_arm_away: "ARM_AWAY"
code_arm_required: false
#GA Setup
alarm_control_panel.risco_alarm:
name: Alarm
room: Security
aliases:
- Alarm
- Risco
- Beveiliging
- Security
google_assistant documentation
google_assistant source
(message by IssueLinks)
Hey there @home-assistant/cloud, mind taking a look at this issue as its been labeled with an integration (google_assistant
) you are listed as a codeowner for? Thanks!
(message by CodeOwnersMention)
I've been doing some more testing on this today as I noticed that GA was no longer returning the error "something went wrong controlling security alarm" when I was asking it to arm to armed_home. However it does still return the error when I ask it to be set to armed_away.
There is only 1 difference between these modes in my home assistant configuration and that is the arming time. For armed home this is set to 0 seconds whilst armed away is set to 30 seconds. Today I changed the armed_away arming time to be 0 seconds and asked GA to arm to away and no error was returned. I then set the arming time back to 30 seconds and... the error returned.
It was mentioned here that this could be because GA doesn't return the status back within 8 seconds, although the error appears imemdiately after issuing the arm command. I think what's happening is that it somehow must know that the arming time is > 0 seconds (or maybe 8 seconds) and therefore returns the error immediately.
Hopefully this helps in the debugging process.
I have arming time 0 sec, but still having the same issues
Is that in Dutch or English? For me, I'm only getting one error which is when I ask for the alarm to be set to armed_away. Now I've learnt that error is only happening with an arming time different to 0 seconds.
In English also, see the issue thread I created earlier...
In Dutch it's even worse
I have the same issue in italian
Guys,
I would like to contribute by proposing code to support other languages at least for the alarm component, maybe it will be helpful for other components in the long run. I have Verisure myself and was able to make it work succesfully by adding just a few lines that insert Dutch translations into the ArmDisarm trait for Google assistant.
I would like to know however how home assistant key contributors would like to see this implementation:
- Have Home Assistant figure out the language setting (need to still figure out how it does this in the first place) and based on that automatically add the right language keywords to Google Assistant based on the available translations. (no extra user input required but goes wrong if user uses some other language for google assistant than home assistant)
- Have a language configuration option for the google assistant component in which the user can specify the language he is preferring:
google_assistant:
project_id: YOUR_PROJECT_ID
service_account: !include SERVICE_ACCOUNT.JSON
language: "nl"
Perhaps preferred to have 1 as default and have the ability to override via configuration?
3. Just have the keywords per mode be added to the google assistant as a configuration option for alarm control panels - most versatile but most complex, e.g.
google_assistant:
project_id: YOUR_PROJECT_ID
service_account: !include SERVICE_ACCOUNT.JSON
entity_config:
alarm_control_panel.<name>:
level: "arm_home"
extra_keyword: { "keyword": "thuis", "lang": "nl" }
level: "arm_away"
extra_keyword: { "keyword": "afwezig", "lang": "nl"}
I would go with combination of 1 and 2 and completely disregard 3, please give me some feedback and I can propose the concrete code changes to do so.
(I am new to code contributions but really love home assistant especially with the google assistant integration and already have been making some tweaks and building custom components for myself and would love to share something robust that can also help other people!)
Happy to test, allthough I am using nabucasa, not sure if I can override it as a custom
We do not control the translations in Google Assistant. If the translation are incorrect, you can file an issue in their public bug tracker https://issuetracker.google.com/issues/new?component=655104
Thanks for the comment, Google does provide many translations, however not in this case - have a look at: https://developers.google.com/assistant/smarthome/traits/armdisarm
Per alarm level Google expects a synonym specified in a certain language defined by the data supplier. So it would be up to home assistant in this case to provide it. E.g.:
{ "availableArmLevels": { "levels": [{ "level_name": "L1", "level_values": [{ "level_synonym": ["low security", "home and guarding", "level 1", "SL1"], "lang": "en" }] }, { "level_name": "L2", "level_values": [{ "level_synonym": ["high security", "away and guarding", "level 2", "away", "SL2"], "lang": "en" }] }], "ordered": true } }
I believe it can be done by using the localization strings in home assistant for the alarm panel component. Question is about what is the best/preferred approach for this?
In english on Hass 0.117.2 i am getting similar results the house alarm arms but google responds with "something went wrong"
After more reading, this might be a seperate issue
Any idea about the best/preferred approach?
I have similar issues with the alarm, the fan speed (https://developers.google.com/assistant/smarthome/traits/fanspeed) and the channel (https://developers.google.com/assistant/smarthome/traits/channel). The channel aren't implemented yet but I planned to do it.
Fan speed synonyms are already added in home assistant but it's not translated.
speed_synonyms = {
fan.SPEED_OFF: ["stop", "off"],
fan.SPEED_LOW: ["slow", "low", "slowest", "lowest"],
fan.SPEED_MEDIUM: ["medium", "mid", "middle"],
fan.SPEED_HIGH: ["high", "max", "fast", "highest", "fastest", "maximum"],
}
We can add this like this but I'm not sure about the approach... (I prefer the method 3 to avoid any translations in home assistant core but it's for advanced user... However, the local google_assistant integration is already for advanced users.
google_assistant:
project_id: YOUR_PROJECT_ID
service_account: !include SERVICE_ACCOUNT.JSON
language: "en"
speed_traits_config:
speed_low:
synonyms: ["slow", "low", "slowest", "lowest"]
speed_medium:
synonyms: ["medium", "mid", "middle"]
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 has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
I'm still getting "Something went wrong" on 2021.3.4.
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 has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
The issue still persist in 2021.7.0. Please leave it open.
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 has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
Still occurring with Home Assistant 2021.10.
The fact Google Assistant integration is not translatable makes this issue not solved.
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 has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
Still the same
I'm still seeing this behaviour. I'm using English and asking Google home to "set my home alarm to away". It then asks for me code which I give. The action is performed but Google home warns "that something went wrong". After reading multiple duplicates I found my way here. Thanks, sorry to repeat what others are saying but it seems the issue gets closed if it becomes stale. I'm on 2022.3.7
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 has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
Still happening. Although weirdly I was able to disable my alarm without error once in awhile
I'm still seeing this behaviour. "something went wrong while operating the home alarm"is the response
This is still happening. I agree with @dasb00ter
Is this being looked at? Let's all hope so.
Thank you all for all of your hard work!
Still happening, using English language on both HA and Google Assistant, Home Assistant 2022.10.5, OS 9.3, manual Google Assistant integration. MQTT alarm panel.
When arming my alarm with 'Hey Google, set house alarm to armed home' it executes the action correctly and arms my alarm, but responds with "something went wrong".
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 has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
Currently running Home Assistant 2023.1.7, manual Google Assistant integration, and a manual alarm control panel.
I can no longer reproduce this issue, so I'm cautiously optimistic that this is resolved! If I ask Google Assistant to set the alarm to armed, disarmed, etc. it seems to behave as expected, and I'm now getting an "all right, disarming X" response instead of the previous "something went wrong" response.
Can anyone corroborate?
I'm still experiencing this issue, using Home Assistant 2013.1.7, with my configuration as described here
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 has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.