Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Google Assistant fails to sync Alarm Control Panel with DETAILED_ACCURACY_RESULT_MISSING_FIELD when disarmed #115622

Open
allenporter opened this issue Apr 15, 2024 · 1 comment

Comments

@allenporter
Copy link
Contributor

allenporter commented Apr 15, 2024

The problem

The steps are:

  1. Add an alarm control panel entity to Home Assistant
  2. Expose it into Google Assistant
  3. Open the Google Home app

Expected: Alarm panel shows up
Actual: Alarm panel appears, but am unable to view or change its state, it just shows up as informational

There may be multiple things going on here:

  • Below you see the error DETAILED_ACCURACY_RESULT_MISSING_FIELD and there is some discussion in https://issuetracker.google.com/issues/315337467 about how currentArmLevel needs to be supplied no matter what the armed state is. (It is omitted when disarmed as there is no disarmed armLevel)
  • Even when armed, it still doesn't show up in Google Home. (Is this expected to work?)

What version of Home Assistant Core has the issue?

core-2024.4.3

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Google Assistant

Link to integration documentation on our website

https://www.home-assistant.io/integrations/google_assistant/

Diagnostics information

No response

Example YAML snippet

To configure an alarm panel:

alarm_control_panel:
  - platform: manual
    name: Home Alarm
    code: !secret alarm_code
    code_arm_required: false

Then configure Google Assistant:

google_assistant:
  project_id: woodgreen-277603
  service_account: !include service_account.json
  report_state: true
  expose_by_default: False
  secure_devices_pin: !secret alarm_code
  entity_config:
    alarm_control_panel.home_alarm:
      name: Home Alarm
      expose: true
      room: Front Door

Anything in the logs that might be useful for us?

When debugging is turned on I can see the device being written:

    {
      "attributes": {
        "availableArmLevels": {
          "levels": [
            {
              "level_name": "armed_home",
              "level_values": [{"lang": "en",
              "level_synonym": ["armed "
              "home",
              "home"]}]},
            {
              "level_name": "armed_away",
              "level_values": [{"lang": "en",
              "level_synonym": ["armed "
              "away",
              "away"]}]
            },
            {
              "level_name": "armed_night",
              "level_values": [{"lang": "en",
              "level_synonym": ["armed "
              "night",
              "night"]}]
            },
            {
              "level_name": "armed_custom_bypass",
              "level_values": [{"lang": "en",
              "level_synonym": ["armed "
              "custom bypass",
              "custom"]}]
            },
            {"level_name": "triggered",
            "level_values": [{"lang": "en",
            "level_synonym": ["triggered"]}]}],
            "ordered": False}},
        "id": "alarm_control_panel.home_alarm",
        "name": {"name": "Home Alarm"},
        "roomHint": "Front Door",
        "traits": ["action.devices.traits.ArmDisarm"],
        "type": "action.devices.types.SECURITYSYSTEM",
        "willReportState": True
    },

Additional information

When viewing the logs at https://console.cloud.google.com/logs/query we can see these

reportStateLog: {
  accuracy: "INACCURATE"
  agentId: "XXXXX"
  detailedAccuracyResult: "DETAILED_ACCURACY_RESULT_MISSING_FIELD"
  deviceType: "action.devices.types.SECURITYSYSTEM"
  isMissingField: true
  isOffline: false
  queriedTime: "2024-04-15T01:55:02.78646Z"
  queryReportStateDifferences: {
      queryState: "arm_disarm {
        is_armed: false
      }
      "
      reportState: "arm_disarm {
        is_armed: false
      }
      "
  }
  reportedTime: "2024-04-15T01:54:34.641Z"
  requestId: "YYYY"
  result: "INACCURATE"
  snapshotTime: "2024-04-15T01:55:02.78646Z"
  stateName: "ALL"
  traitName: "TRAIT_ARM_DISARM"
}
@home-assistant
Copy link

Hey there @home-assistant/cloud, mind taking a look at this issue as it has been labeled with an integration (google_assistant) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of google_assistant can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign google_assistant Removes the current integration label and assignees on the issue, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


google_assistant documentation
google_assistant source
(message by IssueLinks)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant