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

Explicitly include "Alexa" Interface in discovery response #28218

Merged
merged 3 commits into from Nov 26, 2019

Conversation

@ochlocracy
Copy link
Member

ochlocracy commented Oct 26, 2019

Description:

According to the Alexa API Documentation. The "base" Alexa Interface should be explicitly included in the capabilities list for each endpoint.

Although endpoints implement this interface implicitly, you should explicitly include this interface and the supported version in your discovery response.
https://developer.amazon.com/docs/device-apis/alexa-interface.html

This PR makes sure that happens.

{
    "type": "AlexaInterface",
    "interface": "Alexa",
    "version": "3"
}

Notes:

  • Confirmed through documentation and reviewing sample code provided by Alexa Docs that this is recommended.
  • No negative effects were ever known without it, but ultimately my OCD to follow API guidelines kicked in and decided to implement it.
  • Thought about implementing this a few ways:
    • manually hard coding it into each capabilities object
    • having the AlexaCapability base class expose it.
    • Ultimately decided to just create a new subclass Alexa, and add it to each entity.
  • Updated all Tests that check capabilities to check for this interface.

Checklist:

  • The code change is tested and works locally.
  • Local tests pass with tox. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • Tests have been added to verify that the new code works.
@probot-home-assistant

This comment has been minimized.

Copy link

probot-home-assistant bot commented Oct 26, 2019

Hey there @home-assistant/cloud, mind taking a look at this pull request as its been labeled with a integration (alexa) you are listed as a codeowner for? Thanks!

@project-bot project-bot bot moved this from Needs review to By Code Owner in Dev Oct 26, 2019
Copy link
Member

balloob left a comment

Well okay 👍

Dev automation moved this from By Code Owner to Reviewer approved Oct 26, 2019
@MartinHjelmare MartinHjelmare changed the title Explicitly include "Alexa" Interface in discovery response. Explicitly include "Alexa" Interface in discovery response Oct 27, 2019
ochlocracy added a commit to ochlocracy/home-assistant that referenced this pull request Oct 27, 2019
ochlocracy added a commit to ochlocracy/home-assistant that referenced this pull request Oct 27, 2019
@ochlocracy ochlocracy force-pushed the ochlocracy:alexa-alexa-interface branch from 555a697 to 8fb6e63 Oct 31, 2019
ochlocracy added a commit to ochlocracy/home-assistant that referenced this pull request Oct 31, 2019
@balloob balloob merged commit b0925e6 into home-assistant:dev Nov 26, 2019
11 checks passed
11 checks passed
CI Build #20191031.25 succeeded
Details
CI (FullCheck Mypy) FullCheck Mypy succeeded
Details
CI (FullCheck Pylint) FullCheck Pylint succeeded
Details
CI (Overview CheckFormat) Overview CheckFormat succeeded
Details
CI (Overview Lint) Overview Lint succeeded
Details
CI (Overview Validate) Overview Validate succeeded
Details
CI (Tests PyTest Python36) Tests PyTest Python36 succeeded
Details
CI (Tests PyTest Python37) Tests PyTest Python37 succeeded
Details
cla-bot Everyone involved has signed the CLA
codecov/patch 100% of diff hit (target 94.35%)
Details
codecov/project 94.35% (target 90%)
Details
Dev automation moved this from Reviewer approved to Done Nov 26, 2019
@lock lock bot locked and limited conversation to collaborators Nov 27, 2019
@ochlocracy ochlocracy deleted the ochlocracy:alexa-alexa-interface branch Dec 19, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Dev
  
Done
3 participants
You can’t perform that action at this time.