296 lines
15 KiB
HTML
296 lines
15 KiB
HTML
<!doctype html>
|
|
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
|
|
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
|
|
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
|
|
<!--[if gt IE 8]><!--> <html> <!--<![endif]-->
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
<title>AWS SNS - Home Assistant</title>
|
|
<meta name="author" content="Home Assistant">
|
|
<meta name="description" content="Instructions how to publish messages to AWS SNS from Home Assistant.">
|
|
<meta name="viewport" content="width=device-width">
|
|
<link rel="canonical" href="https://home-assistant.io/components/notify.aws_sns/">
|
|
<meta property="fb:app_id" content="338291289691179">
|
|
<meta property="og:title" content="AWS SNS">
|
|
<meta property="og:site_name" content="Home Assistant">
|
|
<meta property="og:url" content="https://home-assistant.io/components/notify.aws_sns/">
|
|
<meta property="og:type" content="article">
|
|
<meta property="og:description" content="Instructions how to publish messages to AWS SNS from Home Assistant.">
|
|
<meta property="og:image" content="https://home-assistant.io/images/default-social.png">
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<meta name="twitter:site" content="@home_assistant">
|
|
<meta name="twitter:title" content="AWS SNS">
|
|
<meta name="twitter:description" content="Instructions how to publish messages to AWS SNS from Home Assistant.">
|
|
<meta name="twitter:image" content="https://home-assistant.io/images/default-social.png">
|
|
<link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet">
|
|
<link href="/atom.xml" rel="alternate" title="Home Assistant" type="application/atom+xml">
|
|
<link rel='shortcut icon' href='/images/favicon.ico' />
|
|
<link rel='icon' type='image/png' href='/images/favicon-192x192.png' sizes='192x192' />
|
|
</head>
|
|
<body >
|
|
<header>
|
|
<div class="grid-wrapper">
|
|
<div class="grid">
|
|
<div class="grid__item three-tenths lap-two-sixths palm-one-whole ha-title">
|
|
<a href="/" class="site-title">
|
|
<img width='40' src='/demo/favicon-192x192.png'>
|
|
<span>Home Assistant</span>
|
|
</a>
|
|
</div>
|
|
<div class="grid__item seven-tenths lap-four-sixths palm-one-whole">
|
|
<nav>
|
|
<input type="checkbox" id="toggle">
|
|
<label for="toggle" class="toggle" data-open="Main Menu" data-close="Close Menu"></label>
|
|
<ul class="menu pull-right">
|
|
<li><a href="/getting-started/">Getting started</a></li>
|
|
<li><a href="/components/">Components</a></li>
|
|
<li><a href="/docs/">Docs</a></li>
|
|
<li><a href="/cookbook/">Examples</a></li>
|
|
<li><a href="/developers/">Developers</a></li>
|
|
<li><a href="/blog/">Blog</a></li>
|
|
<li><a href="/help/">Need help?</a></li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
<div class="grid-wrapper">
|
|
<div class="grid grid-center">
|
|
<div class="grid__item two-thirds lap-one-whole palm-one-whole">
|
|
<article class="page">
|
|
<header>
|
|
<h1 class="title indent">
|
|
AWS SNS
|
|
</h1>
|
|
</header>
|
|
<hr class="divider">
|
|
<p>The <code class="highlighter-rouge">aws_sns</code> notification platform enables publishing to an <a href="https://aws.amazon.com/sns/">AWS SNS</a> topic or application.</p>
|
|
<p>To use this notification platform in your installation, add the following to your <code class="highlighter-rouge">configuration.yaml</code> file:</p>
|
|
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
|
|
<span class="s">notify</span><span class="pi">:</span>
|
|
<span class="pi">-</span> <span class="s">name</span><span class="pi">:</span> <span class="s">NOTIFIER_NAME</span>
|
|
<span class="s">platform</span><span class="pi">:</span> <span class="s">aws_sns</span>
|
|
<span class="s">aws_access_key_id</span><span class="pi">:</span> <span class="s">AWS_ACCESS_KEY_ID</span>
|
|
<span class="s">aws_secret_access_key</span><span class="pi">:</span> <span class="s">AWS_SECRET_ACCESS_KEY</span>
|
|
<span class="s">region_name</span><span class="pi">:</span> <span class="s1">'</span><span class="s">us-east-1'</span>
|
|
</code></pre>
|
|
</div>
|
|
<p>Configuration variables:</p>
|
|
<ul>
|
|
<li><strong>aws_access_key_id</strong> (<em>Required if aws_secret_access_key is provided</em>): Your AWS Access Key ID. For more information, please read the <a href="http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html">AWS General Reference regarding Security Credentials</a>. If provided, you must also provide an <code class="highlighter-rouge">aws_secret_access_key</code> and must <strong>not</strong> provide a <code class="highlighter-rouge">profile_name</code>.</li>
|
|
<li><strong>aws_secret_access_key</strong> (<em>Required if aws_access_key_id is provided</em>): Your AWS Secret Access Key. For more information, please read the <a href="http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html">AWS General Reference regarding Security Credentials</a>. If provided, you must also provide an <code class="highlighter-rouge">aws_access_key_id</code> and must <strong>not</strong> provide a <code class="highlighter-rouge">profile_name</code>.</li>
|
|
<li><strong>profile_name</strong> (<em>Optional</em>): A credentials profile name. For more information, please see the <a href="http://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file">boto3 documentation section about credentials</a>.</li>
|
|
<li><strong>region_name</strong> (<em>Required</em>): The region identifier to connect to. The default is <code class="highlighter-rouge">us-east-1</code>.</li>
|
|
<li><strong>name</strong> (<em>Optional</em>): Setting the optional parameter <code class="highlighter-rouge">name</code> allows multiple notifiers to be created. The default value is <code class="highlighter-rouge">notify</code>. The notifier will bind to the service <code class="highlighter-rouge">notify.NOTIFIER_NAME</code>.</li>
|
|
</ul>
|
|
<h3><a class="title-link" name="usage" href="#usage"></a> Usage</h3>
|
|
<p>AWS SNS is a notify platform and thus can be controlled by calling the notify service <a href="/components/notify/">as described here</a>. It will publish a message to all targets given in the notification payload. A target must be a SNS topic or endpoint ARN (<a href="http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Name</a>). For more information, please see the <a href="http://boto3.readthedocs.io/en/latest/reference/services/sns.html#SNS.Client.publish">boto3 docs</a>.</p>
|
|
<p>If one exists, the SNS Subject will be set to the title. All attributes from the payload except message will be sent as stringified message attributes.</p>
|
|
<h4><a class="title-link" name="setting-up-sns-within-aws" href="#setting-up-sns-within-aws"></a> Setting up SNS within AWS</h4>
|
|
<ul>
|
|
<li>Log into your AWS console and under “Security and Identity”, select “Identity & Access Management”.</li>
|
|
<li>On the left hand side, select “Users” then click “Create New Users”. Enter a name here and then click “Create”.</li>
|
|
<li>You can either download the credentials or click the arrow to display them one time.</li>
|
|
</ul>
|
|
<p class="note warning">
|
|
If you do not download them you will lose them and will have to recreate a new user.
|
|
</p>
|
|
<ul>
|
|
<li>Copy/Paste the two keys that you are provided here in your <code class="highlighter-rouge">configuration.yaml</code> file respectively.</li>
|
|
<li>On the left hand side of the screen go back to “Users” and select the user you just created. On the “Permissions” tab click the “Attach Policy” icon. Search for “SNS” and attach the policy “AmazonSNSFUullAccess”.</li>
|
|
<li>Back to the AWS Console you now need to find “SNS” and click in to that service. It is under the Mobile Services group.</li>
|
|
<li>On the left hand side, select “Topics” then “Create new topic”.</li>
|
|
<li>Choose a Topic Name and Display Name.</li>
|
|
<li>Now check the box next to the Topic you just created and under Actions, select “Subscribe to topic”.</li>
|
|
<li>In the box that pops up, select the Protocol = SMS and enter in the phone number next to “Endpoint” you wish to SMS. Now click “Create”.</li>
|
|
<li>Repeat for additional numbers.</li>
|
|
<li>Back in the “Users” section you will see a long alphanumeric line that starts with “arn:” and ends with the Topic Name you choose previously. This is what your “target” in Home Assistant will be.</li>
|
|
</ul>
|
|
</article>
|
|
</div>
|
|
<aside id="sidebar" class="grid__item one-third lap-one-whole palm-one-whole">
|
|
<div class="grid">
|
|
<section class="aside-module grid__item one-whole lap-one-half">
|
|
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_components/notify.aws_sns.markdown'>Edit this page on GitHub</a></div>
|
|
<div class='brand-logo-container section'>
|
|
<img src='/images/supported_brands/aws_sns.png' />
|
|
</div>
|
|
<div class='section'>
|
|
Introduced in release: 0.20
|
|
</div>
|
|
<div class='section'>
|
|
This is a platform for
|
|
<a href='/components/notify/'>the Notifications component</a>.
|
|
</div>
|
|
<div class='section'>
|
|
<h1 class="title delta">Category Notifications</h1>
|
|
<ul class='divided'>
|
|
<li>
|
|
<a href='/components/notify.apns/'>APNS</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.aws_lambda/'>AWS Lambda</a>
|
|
</li>
|
|
<li>
|
|
AWS SNS
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.aws_sqs/'>AWS SQS</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.ciscospark/'>Cisco Spark</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.command_line/'>Command line Notify</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.discord/'>Discord</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.ecobee/'>Ecobee Notify</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.facebook/'>Facebook Messenger</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.file/'>File</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.free_mobile/'>Free Mobile</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.gntp/'>GNTP (Growl)</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.instapush/'>Instapush</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.xmpp/'>Jabber (XMPP)</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.joaoapps_join/'>Join Notify</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.kodi/'>Kodi</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.webostv/'>LG WebOS TV notifications</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.lannouncer/'>Lannouncer</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.llamalab_automate/'>LlamaLab Automate</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.mqtt/'>MQTT Notifications</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/mailgun/'>Mailgun</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.mailgun/'>Mailgun Notify</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.matrix/'>Matrix</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.message_bird/'>MessageBird</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.mysensors/'>MySensors Notify</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.nfandroidtv/'>Notifications for Android TV / FireTV</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.group/'>Notify Group</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.nma/'>Notify My Android</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.html5/'>Push Notifications</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.pushbullet/'>Pushbullet</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.pushetta/'>Pushetta</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.pushover/'>Pushover</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.pushsafer/'>Pushsafer</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.rest/'>REST</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.smtp/'>SMTP</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.sendgrid/'>SendGrid</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.simplepush/'>Simplepush</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.slack/'>Slack</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.syslog/'>Syslog</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.telegram/'>Telegram</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.telstra/'>Telstra</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.twilio_call/'>Twilio Call</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.twilio_sms/'>Twilio SMS</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.twitter/'>Twitter</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</aside>
|
|
</div>
|
|
</div>
|
|
<footer>
|
|
<div class="grid-wrapper">
|
|
<div class="grid">
|
|
<div class="grid__item">
|
|
<div class="copyright">
|
|
<a rel="me" href='https://twitter.com/home_assistant'><i class="icon-twitter"></i></a>
|
|
<a rel="me" href='https://facebook.com/homeassistantio'><i class="icon-facebook"></i></a>
|
|
<a rel="me" href='https://plus.google.com/110560654828510104551'><i class="icon-google-plus"></i></a>
|
|
<a rel="me" href='https://github.com/home-assistant/home-assistant'><i class="icon-github"></i></a>
|
|
<div class="credit">
|
|
Contact us at <a href='mailto:hello@home-assistant.io'>hello@home-assistant.io</a> (no support!).<br>
|
|
Website powered by <a href='http://jekyllrb.com/'>Jekyll</a> and the <a href='https://github.com/coogie/oscailte'>Oscalite theme</a>.<br />
|
|
Hosted by <a href='https://pages.github.com/'>GitHub</a> and served by <a href='https://cloudflare.com'>CloudFlare</a>.
|
|
</div>
|
|
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a><br /><span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">home-assistant.io</span> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
<script>
|
|
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
|
|
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
|
|
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
|
|
s.parentNode.insertBefore(g,s)}(document,'script'));
|
|
</script>
|
|
</body>
|
|
</html>
|