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

Add Apprise notification integration #26868

Merged
merged 19 commits into from Oct 14, 2019

Conversation

@caronc
Copy link
Contributor

caronc commented Sep 24, 2019

Description:

Added notification support for Apprise which drastically increases the number off notification services supported by Home Assistant. It also, unfortunately, provides some over-lap to services already supported.

Docs PR:

home-assistant/home-assistant.io#10451

Example entry for configuration.yaml (if applicable):

# Example configuration.yaml entry using Apprise URLs
notify:
  - name: NOTIFIER_NAME
    platform: apprise
    url: Define one ore more Apprise URLs

Configuration files can also be sourced (via another location on the same server, or a remote server. Apprise supports TEXT and YAML based configuration formats.

# Example configuration.yaml entry using Apprise Configuration URLs
notify:
  - name: NOTIFIER_NAME
    platform: apprise
    config: Define one ore more Apprise Configuration URLs

Apprise URLs loaded directly (using the url directive) or through configuration files are all appended together in one list. You can use both config and url in the same configuration if you wish.

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

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
  • Untested files have been added to .coveragerc.

If the code does not interact with devices:

  • Tests have been added to verify that the new code works.
@homeassistant

This comment has been minimized.

Copy link
Contributor

homeassistant commented Sep 24, 2019

Hi @caronc,

It seems you haven't yet signed a CLA. Please do so here.

Once you do that we will be able to review and accept this pull request.

Thanks!

@MartinHjelmare MartinHjelmare changed the title Added Apprise notification component Add Apprise notification integration Sep 24, 2019
@frenck frenck added the docs-missing label Sep 24, 2019
@caronc caronc referenced this pull request Sep 24, 2019
0 of 2 tasks complete
@caronc caronc requested a review from frenck Sep 26, 2019
.coveragerc Outdated Show resolved Hide resolved
@caronc caronc requested a review from frenck Sep 28, 2019
homeassistant/components/apprise/notify.py Outdated Show resolved Hide resolved
homeassistant/components/apprise/notify.py Outdated Show resolved Hide resolved
tests/components/apprise/test_notify.py Outdated Show resolved Hide resolved
tests/components/apprise/test_notify.py Outdated Show resolved Hide resolved
Dev automation moved this from Needs review to Review in progress Sep 28, 2019
tests/components/apprise/test_notify.py Outdated Show resolved Hide resolved
tests/components/apprise/test_notify.py Show resolved Hide resolved
tests/components/apprise/test_notify.py Show resolved Hide resolved
tests/components/apprise/test_notify.py Outdated Show resolved Hide resolved
tests/components/apprise/test_notify.py Outdated Show resolved Hide resolved
tests/components/apprise/test_notify.py Show resolved Hide resolved
tests/components/apprise/test_notify.py Outdated Show resolved Hide resolved
tests/components/apprise/test_notify.py Outdated Show resolved Hide resolved
tests/components/apprise/test_notify.py Show resolved Hide resolved
tests/components/apprise/test_notify.py Outdated Show resolved Hide resolved
@MartinHjelmare

This comment has been minimized.

Copy link
Member

MartinHjelmare commented Oct 9, 2019

Please don't squash commits after review has started to make it easier for readers to track changes.

tests/components/apprise/test_notify.py Outdated Show resolved Hide resolved
tests/components/apprise/test_notify.py Outdated Show resolved Hide resolved
tests/components/apprise/test_notify.py Outdated Show resolved Hide resolved
tests/components/apprise/test_notify.py Outdated Show resolved Hide resolved
tests/components/apprise/test_notify.py Outdated Show resolved Hide resolved
Copy link
Member

MartinHjelmare left a comment

Looks good!

Can be merged when build passes.

homeassistant/components/apprise/notify.py Outdated Show resolved Hide resolved
Dev automation moved this from Review in progress to Reviewer approved Oct 14, 2019
@caronc

This comment has been minimized.

Copy link
Contributor Author

caronc commented Oct 14, 2019

@MartinHjelmare Thanks for your help and patients in getting the testing working with me. I've updated the docs here in this PR: home-assistant/home-assistant.io#10451 to reference the TARGET reference i added.

Quick question though: In Apprise it's referenced as tagging. Do you prefer use of the target reference for consistency across all notification services? or is it okay that I use tag for consistency with Apprise? This is in reference to the actual sending of a notification here.

Thoughts?

@MartinHjelmare

This comment has been minimized.

Copy link
Member

MartinHjelmare commented Oct 14, 2019

We have to use the target argument since that is what the service call may provide.

@MartinHjelmare

This comment has been minimized.

Copy link
Member

MartinHjelmare commented Oct 14, 2019

Great!

@MartinHjelmare MartinHjelmare merged commit 3cb844f into home-assistant:dev Oct 14, 2019
11 checks passed
11 checks passed
CI Build #20191014.111 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 No report found to compare against
Details
codecov/project 94.37% (target 90%)
Details
Dev automation moved this from Reviewer approved to Done Oct 14, 2019
@lock lock bot locked and limited conversation to collaborators Oct 15, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Dev
  
Done
5 participants
You can’t perform that action at this time.