394 lines
No EOL
19 KiB
HTML
394 lines
No EOL
19 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>Telegram - Home Assistant</title>
|
|
<meta name="author" content="Home Assistant">
|
|
<meta name="description" content="Instructions how to add Telegram notifications to Home Assistant.">
|
|
|
|
<meta name="viewport" content="width=device-width">
|
|
<link rel="canonical" href="https://home-assistant.io/components/notify.telegram/">
|
|
|
|
<meta property="fb:app_id" content="338291289691179">
|
|
<meta property="og:title" content="Telegram">
|
|
<meta property="og:site_name" content="Home Assistant">
|
|
<meta property="og:url" content="https://home-assistant.io/components/notify.telegram/">
|
|
<meta property="og:type" content="article">
|
|
<meta property="og:description" content="Instructions how to add Telegram notifications to 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="Telegram">
|
|
<meta name="twitter:description" content="Instructions how to add Telegram notifications to 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="/ecosystem/">Ecosystem</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">
|
|
Telegram
|
|
</h1>
|
|
</header>
|
|
<hr class="divider">
|
|
|
|
|
|
<p>The <code class="highlighter-rouge">telegram</code> platform uses <a href="https://web.telegram.org">Telegram</a> to delivery notifications from Home Assistant to your Android device, your Windows phone, or your iOS device.</p>
|
|
|
|
<p>The requirements are:</p>
|
|
|
|
<ul>
|
|
<li>You need a <a href="https://core.telegram.org/bots">Telegram bot</a>. Please follow those <a href="https://core.telegram.org/bots#6-botfather">instructions</a> to create one and get the token for your bot. Keep in mind that bots are not allowed to contact users. You need to make the first contact with your user. Meaning that you need to send a message to the bot from your user.</li>
|
|
<li>The <code class="highlighter-rouge">chat_id</code> of an user.</li>
|
|
</ul>
|
|
|
|
<p>The quickest way to retrieve your <code class="highlighter-rouge">chat_id</code> is visiting <a href="https://api.telegram.org/botYOUR_API_TOKEN/getUpdates">https://api.telegram.org/botYOUR_API_TOKEN/getUpdates</a> or to use <code class="highlighter-rouge">$ curl -X GET https://api.telegram.org/botYOUR_API_TOKEN/getUpdates</code>. Replace <code class="highlighter-rouge">YOUR_API_TOKEN</code> with your actual token.</p>
|
|
|
|
<p>The result set will include your chat ID as <code class="highlighter-rouge">id</code> in the <code class="highlighter-rouge">from</code> section:</p>
|
|
|
|
<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">{</span><span class="nt">"ok"</span><span class="p">:</span><span class="kc">true</span><span class="p">,</span><span class="nt">"result"</span><span class="p">:[{</span><span class="nt">"update_id"</span><span class="p">:</span><span class="mi">254199982</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"message"</span><span class="p">:{</span><span class="nt">"message_id"</span><span class="p">:</span><span class="mi">27</span><span class="p">,</span><span class="nt">"from"</span><span class="p">:{</span><span class="nt">"id"</span><span class="p">:</span><span class="mi">123456789</span><span class="p">,</span><span class="nt">"first_name"</span><span class="p">:</span><span class="s2">"YOUR_FIRST_NAME YOUR_NICK_NAME"</span><span class="p">,</span><span class="nt">"last_name"</span><span class="p">:</span><span class="s2">"YOUR_LAST_NAME"</span><span class="p">,</span><span class="nt">"username"</span><span class="p">:</span><span class="s2">"YOUR_NICK_NAME"</span><span class="p">},</span><span class="nt">"chat"</span><span class="p">:{</span><span class="nt">"id"</span><span class="p">:</span><span class="mi">123456789</span><span class="p">,</span><span class="nt">"first_name"</span><span class="p">:</span><span class="s2">"YOUR_FIRST_NAME YOUR_NICK_NAME"</span><span class="p">,</span><span class="nt">"last_name"</span><span class="p">:</span><span class="s2">"YOUR_LAST_NAME"</span><span class="p">,</span><span class="nt">"username"</span><span class="p">:</span><span class="s2">"YOUR_NICK_NAME"</span><span class="p">,</span><span class="nt">"type"</span><span class="p">:</span><span class="s2">"private"</span><span class="p">},</span><span class="nt">"date"</span><span class="p">:</span><span class="mi">1678292650</span><span class="p">,</span><span class="nt">"text"</span><span class="p">:</span><span class="s2">"test"</span><span class="p">}}]}</span><span class="w">
|
|
</span></code></pre>
|
|
</div>
|
|
|
|
<p>Another way to get your chat ID directly is described below. Start your Python interpreter from the command-line:</p>
|
|
|
|
<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="err">$</span> <span class="n">python3</span>
|
|
<span class="o">>>></span> <span class="kn">import</span> <span class="nn">telegram</span>
|
|
<span class="o">>>></span> <span class="n">bot</span> <span class="o">=</span> <span class="n">telegram</span><span class="o">.</span><span class="n">Bot</span><span class="p">(</span><span class="n">token</span><span class="o">=</span><span class="s">'YOUR_API_TOKEN'</span><span class="p">)</span>
|
|
<span class="o">>>></span> <span class="n">chat_id</span> <span class="o">=</span> <span class="n">bot</span><span class="o">.</span><span class="n">getUpdates</span><span class="p">()[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">message</span><span class="o">.</span><span class="n">chat_id</span>
|
|
<span class="o">>>></span> <span class="k">print</span><span class="p">(</span><span class="n">chat_id</span><span class="p">)</span>
|
|
<span class="mi">123456789</span>
|
|
</code></pre>
|
|
</div>
|
|
|
|
<p>To enable Telegram notifications 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">telegram</span>
|
|
<span class="s">api_key</span><span class="pi">:</span> <span class="s">ABCDEFGHJKLMNOPQRSTUVXYZ</span>
|
|
<span class="s">chat_id</span><span class="pi">:</span> <span class="s">YOUR_CHAT_ID</span>
|
|
</code></pre>
|
|
</div>
|
|
|
|
<p>Configuration variables:</p>
|
|
|
|
<ul>
|
|
<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>
|
|
<li><strong>api_key</strong> (<em>Required</em>): The API token of your bot.</li>
|
|
<li><strong>chat_id</strong> (<em>Required</em>): The chat ID of your user.</li>
|
|
</ul>
|
|
|
|
<p>To use notifications, please see the <a href="/getting-started/automation/">getting started with automation page</a>.</p>
|
|
|
|
<h3><a class="title-link" name="photo-support" href="#photo-support"></a> Photo support</h3>
|
|
|
|
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="nn">...</span>
|
|
<span class="s">action</span><span class="pi">:</span>
|
|
<span class="s">service</span><span class="pi">:</span> <span class="s">notify.NOTIFIER_NAME</span>
|
|
<span class="s">data</span><span class="pi">:</span>
|
|
<span class="s">title</span><span class="pi">:</span> <span class="s">Send an images</span>
|
|
<span class="s">message</span><span class="pi">:</span> <span class="s">That's an example that sends an image.</span>
|
|
<span class="s">data</span><span class="pi">:</span>
|
|
<span class="s">photo</span><span class="pi">:</span>
|
|
<span class="pi">-</span> <span class="s">url</span><span class="pi">:</span> <span class="s">http://192.168.1.28/camera.jpg</span>
|
|
<span class="s">username</span><span class="pi">:</span> <span class="s">admin</span>
|
|
<span class="s">password</span><span class="pi">:</span> <span class="s">secrete</span>
|
|
<span class="pi">-</span> <span class="s">file</span><span class="pi">:</span> <span class="s">/tmp/picture.jpg</span>
|
|
<span class="s">caption</span><span class="pi">:</span> <span class="s">Picture Title xy</span>
|
|
<span class="pi">-</span> <span class="s">url</span><span class="pi">:</span> <span class="s">http://somebla.ie/video.png</span>
|
|
<span class="s">caption</span><span class="pi">:</span> <span class="s">I.e. for a Title</span>
|
|
</code></pre>
|
|
</div>
|
|
|
|
<ul>
|
|
<li><strong>url</strong> or <strong>file</strong> (<em>Required</em>): For local or remote path to an image.</li>
|
|
<li><strong>caption</strong> (<em>Optional</em>): The title of the image.</li>
|
|
<li><strong>username</strong> (<em>Optional</em>): Username for a URL which require HTTP basic authentication.</li>
|
|
<li><strong>password</strong> (<em>Optional</em>): Username for a URL which require HTTP basic authentication.</li>
|
|
</ul>
|
|
|
|
<h3><a class="title-link" name="document-support" href="#document-support"></a> Document support</h3>
|
|
|
|
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="nn">...</span>
|
|
<span class="s">action</span><span class="pi">:</span>
|
|
<span class="s">service</span><span class="pi">:</span> <span class="s">notify.NOTIFIER_NAME</span>
|
|
<span class="s">data</span><span class="pi">:</span>
|
|
<span class="s">title</span><span class="pi">:</span> <span class="s">Send a document</span>
|
|
<span class="s">message</span><span class="pi">:</span> <span class="s">That's an example that sends a document.</span>
|
|
<span class="s">data</span><span class="pi">:</span>
|
|
<span class="s">document</span><span class="pi">:</span>
|
|
<span class="s">file</span><span class="pi">:</span> <span class="s">/tmp/whatever.odf</span>
|
|
<span class="s">caption</span><span class="pi">:</span> <span class="s">Document Title xy</span>
|
|
|
|
</code></pre>
|
|
</div>
|
|
|
|
<ul>
|
|
<li><strong>url</strong> or <strong>file</strong> (<em>Required</em>): For local or remote path to a document.</li>
|
|
<li><strong>caption</strong> (<em>Optional</em>): The title of the document.</li>
|
|
<li><strong>username</strong> (<em>Optional</em>): Username for a URL which require HTTP basic authentication.</li>
|
|
<li><strong>password</strong> (<em>Optional</em>): Username for a URL which require HTTP basic authentication.</li>
|
|
</ul>
|
|
|
|
<h3><a class="title-link" name="location-support" href="#location-support"></a> Location support</h3>
|
|
|
|
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="nn">...</span>
|
|
|
|
<span class="s">action</span><span class="pi">:</span>
|
|
<span class="s">service</span><span class="pi">:</span> <span class="s">notify.NOTIFIER_NAME</span>
|
|
<span class="s">data</span><span class="pi">:</span>
|
|
<span class="s">title</span><span class="pi">:</span> <span class="s">Send location</span>
|
|
<span class="s">message</span><span class="pi">:</span> <span class="s">Location updated.</span>
|
|
<span class="s">data</span><span class="pi">:</span>
|
|
<span class="s">location</span><span class="pi">:</span>
|
|
<span class="s">latitude</span><span class="pi">:</span> <span class="s">32.87336</span>
|
|
<span class="s">longitude</span><span class="pi">:</span> <span class="s">117.22743</span>
|
|
</code></pre>
|
|
</div>
|
|
|
|
<ul>
|
|
<li><strong>location</strong> (<em>Required</em>): For local or remote path to an image.</li>
|
|
<li><strong>latitude</strong> (<em>Required</em>): The latitude to send.</li>
|
|
<li><strong>longitude</strong> (<em>Required</em>): The longitude to send.</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.telegram.markdown'>Edit this page on GitHub</a></div>
|
|
<div class='brand-logo-container section'>
|
|
<img src='/images/supported_brands/telegram.png' />
|
|
</div>
|
|
<div class='section'>
|
|
Introduced in release: 0.7.5
|
|
</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>
|
|
<a href='/components/notify.aws_sns/'>AWS SNS</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.aws_sqs/'>AWS SQS</a>
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.command_line/'>Command line Notify</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/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.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>
|
|
Telegram
|
|
</li>
|
|
<li>
|
|
<a href='/components/notify.telstra/'>Telstra</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>.<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>
|
|
</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> |