391 lines
No EOL
16 KiB
HTML
391 lines
No EOL
16 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>Rflink - Home Assistant</title>
|
||
<meta name="author" content="Home Assistant">
|
||
<meta name="description" content="Instructions how to integrate Rflink gateway into Home Assistant.">
|
||
|
||
<meta name="viewport" content="width=device-width">
|
||
<link rel="canonical" href="https://home-assistant.io/components/rflink/">
|
||
|
||
<meta property="fb:app_id" content="338291289691179">
|
||
<meta property="og:title" content="Rflink">
|
||
<meta property="og:site_name" content="Home Assistant">
|
||
<meta property="og:url" content="https://home-assistant.io/components/rflink/">
|
||
<meta property="og:type" content="article">
|
||
<meta property="og:description" content="Instructions how to integrate Rflink gateway into 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="Rflink">
|
||
<meta name="twitter:description" content="Instructions how to integrate Rflink gateway into 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">
|
||
Rflink
|
||
</h1>
|
||
</header>
|
||
<hr class="divider">
|
||
|
||
|
||
<p>The <code class="highlighter-rouge">rflink</code> component support devices that use <a href="http://www.nemcon.nl/blog2/">Rflink gateway firmware</a>, for example the <a href="https://www.nodo-shop.nl/nl/21-rflink-gateway">Nodo Rflink Gateway</a>. Rflink gateway is an Arduino firmware that allows communication with 433 Mhz devices using cheap hardware (Arduino + 433 Mhz tranceiver).</p>
|
||
|
||
<p>The 433 Mhz spectrum is used by many manufacturers mostly using their own protocol/standard and includes devices like: light switches, blinds, weather stations, alarms and various other sensors.</p>
|
||
|
||
<p>A complete list of devices supported by Rflink can be found <a href="http://www.nemcon.nl/blog2/devlist">here</a></p>
|
||
|
||
<p>This component is tested with the following hardware/software:</p>
|
||
|
||
<ul>
|
||
<li>Nodo Rflink Gateway V1.4/Rflink R44</li>
|
||
</ul>
|
||
|
||
<p>To enable Rflink 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">rflink</span><span class="pi">:</span>
|
||
<span class="s">port</span><span class="pi">:</span> <span class="s">/dev/serial/by-id/usb-id01234</span>
|
||
</code></pre>
|
||
</div>
|
||
|
||
<p>Configuration variables:</p>
|
||
|
||
<ul>
|
||
<li><strong>port</strong> (<em>Required</em>): The path to Rflink usb/serial device or TCP port in TCP mode.</li>
|
||
<li><strong>host</strong> (<em>Optional</em>): Switches to TCP mode, connects to host instead of to USB/serial.</li>
|
||
<li><strong>wait_for_ack</strong> (<em>Optional</em>): Wait for Rflink to ackowledge commands sent before sending new command (slower but more reliable). Defaults to <code class="highlighter-rouge">True</code></li>
|
||
<li><strong>ignore_devices</strong> (<em>Optional</em>): List of devices id’s to ignore. Supports wildcards (*) at the end.</li>
|
||
<li><strong>reconnect_interval</strong> (<em>Optional</em>): Time in seconds between reconnect attempts.</li>
|
||
</ul>
|
||
|
||
<p>Complete example:</p>
|
||
|
||
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
|
||
<span class="s">rflink</span><span class="pi">:</span>
|
||
<span class="s">port</span><span class="pi">:</span> <span class="s">/dev/serial/by-id/usb-id01234</span>
|
||
<span class="s">wait_for_ack</span><span class="pi">:</span> <span class="s">False</span>
|
||
<span class="s">ignore_devices</span><span class="pi">:</span>
|
||
<span class="pi">-</span> <span class="s">newkaku_000001_01</span>
|
||
<span class="pi">-</span> <span class="s">digitech_*</span>
|
||
</code></pre>
|
||
</div>
|
||
|
||
<h3><a class="title-link" name="tcp-mode" href="#tcp-mode"></a> TCP mode</h3>
|
||
|
||
<p>TCP mode allows connect to a Rflink device over TCP/IP network. This is for example useful if placing the Rflink device next to the HA server is not optimal or desired (eg: bad reception).</p>
|
||
|
||
<p>To expose the usb/serial interface over TCP on a different host (Linux) the following command can be used:</p>
|
||
|
||
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>socat /dev/ttyACM0,b57600 TCP-LISTEN:1234,reuseaddr
|
||
</code></pre>
|
||
</div>
|
||
|
||
<p>Other methods of exposing the serial interface over TCP are possible (eg: ESP8266 or using Arduino Wifi shield). Basically the serial stream should be directly mapped to the TCP stream.</p>
|
||
|
||
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
|
||
<span class="s">rflink</span><span class="pi">:</span>
|
||
<span class="s">host</span><span class="pi">:</span> <span class="s">192.168.0.10</span>
|
||
<span class="s">port</span><span class="pi">:</span> <span class="s">1234</span>
|
||
</code></pre>
|
||
</div>
|
||
|
||
<h3><a class="title-link" name="ignoring-devices" href="#ignoring-devices"></a> Ignoring devices</h3>
|
||
|
||
<p>Rflink platform can be configured to completely ignore a device on a platform level. This is useful when you have neighbors which also use 433 Mhz technology.</p>
|
||
|
||
<p>For example:</p>
|
||
|
||
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
|
||
<span class="s">rflink</span><span class="pi">:</span>
|
||
<span class="s">port</span><span class="pi">:</span> <span class="s">/dev/serial/by-id/usb-id01234</span>
|
||
<span class="s">wait_for_ack</span><span class="pi">:</span> <span class="s">False</span>
|
||
<span class="s">ignore_devices</span><span class="pi">:</span>
|
||
<span class="pi">-</span> <span class="s">newkaku_000001_01</span>
|
||
<span class="pi">-</span> <span class="s">digitech_*</span>
|
||
<span class="pi">-</span> <span class="s">kaku_1_*</span>
|
||
</code></pre>
|
||
</div>
|
||
|
||
<p>This configuration will ignore the button <code class="highlighter-rouge">1</code> of the <code class="highlighter-rouge">newkaku</code> device with ID <code class="highlighter-rouge">000001</code>, all devices of the <code class="highlighter-rouge">digitech</code> protocol and all switches of the <code class="highlighter-rouge">kaku</code> protocol device with codewheel ID <code class="highlighter-rouge">1</code>.</p>
|
||
|
||
<p>Wildcards only work at the end of the ID, not in the middle of front!</p>
|
||
|
||
<h3><a class="title-link" name="device-support" href="#device-support"></a> Device support</h3>
|
||
|
||
<p>Even though a lot of devices are supported by Rflink, not all have been tested/implemented. If you have a device supported by Rflink but not by this component please consider testing and adding support yourself or <a href="https://github.com/home-assistant/home-assistant/issues/new">create an issue</a> and mention <code class="highlighter-rouge">@aequitas</code> in the description.</p>
|
||
|
||
<h3><a class="title-link" name="device-incorrectly-identified" href="#device-incorrectly-identified"></a> Device Incorrectly Identified</h3>
|
||
|
||
<p>If you find a device is recognized differently, with different protocols or the ON OFF is swapped or detected as two ON commands, it can be overcome with the RFlink ‘RF Signal Learning’ mechanism from RFLink Rev 46 (11 March 2017). http://www.nemcon.nl/blog2/faq#RFFind.</p>
|
||
|
||
<h3><a class="title-link" name="technical-overview" href="#technical-overview"></a> Technical overview</h3>
|
||
|
||
<ul>
|
||
<li>The<code class="highlighter-rouge">rflink</code> Python module a asyncio transport/protocol is setup that fires an callback for every (valid/supported) packet received by the Rflink gateway.</li>
|
||
<li>This component uses this callback to distribute ‘rflink packet events’ over the HASS bus which can be subscribed to by entities/platform implementations.</li>
|
||
<li>The platform implementions take care of creating new devices (if enabled) for unsees incoming packet id’s.</li>
|
||
<li>Device entities take care of matching to the packet ID, interpreting and performing actions based on the packet contents. Common entitiy logic is maintained in this main component.</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/rflink.markdown'>Edit this page on GitHub</a></div>
|
||
<div class='brand-logo-container section'>
|
||
<img src='/images/supported_brands/rflink.png' />
|
||
</div>
|
||
<div class='section'>
|
||
Introduced in release: 0.38
|
||
</div>
|
||
<div class='section'>
|
||
<h1 class='title delta'>Related components</h1>
|
||
<ul class='divided'>
|
||
<li><a href='/components/light.rflink/'>
|
||
Rflink Light
|
||
</a></li>
|
||
<li><a href='/components/sensor.rflink/'>
|
||
Rflink Sensor
|
||
</a></li>
|
||
<li><a href='/components/switch.rflink/'>
|
||
Rflink Switch
|
||
</a></li>
|
||
</ul>
|
||
</div>
|
||
<div class='section'>
|
||
<h1 class="title delta">Category Hub</h1>
|
||
<ul class='divided'>
|
||
<li>
|
||
<a href='/components/apcupsd/'>APCUPSd</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/android_ip_webcam/'>Android IP Webcam</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/wemo/'>Belkin WeMo</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/blink/'>Blink</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/bloomsky/'>BloomSky</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/digital_ocean/'>Digital Ocean</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/emulated_hue/'>Emulated Hue Bridge</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/enocean/'>EnOcean</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/ffmpeg/'>FFmpeg</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/homematic/'>Homematic</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/isy994/'>ISY994 Controller</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/insteon_local/'>Insteon (local)</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/insteon_hub/'>Insteon Hub</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/insteon_plm/'>Insteon PLM</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/joaoapps_join/'>Joaoapps Join</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/litejet/'>LiteJet</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/lutron/'>Lutron</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/mqtt/'>MQTT</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/microsoft_face/'>Microsoft Face</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/mochad/'>Mochad</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/modbus/'>Modbus</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/mysensors/'>MySensors</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/neato/'>Neato Robotics</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/nest/'>Nest</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/netatmo/'>Netatmo</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/nuimo_controller/'>Nuimo controller</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/octoprint/'>OctoPrint</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/pilight/'>Pilight</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/qwikswitch/'>QwikSwitch QSUSB Hub</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/rfxtrx/'>RFXtrx</a>
|
||
</li>
|
||
<li>
|
||
Rflink
|
||
</li>
|
||
<li>
|
||
<a href='/components/scsgate/'>SCSGate</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/sleepiq/'>SleepIQ</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/tellstick/'>TellStick</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/tellduslive/'>Telldus Live</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/vera/'>Vera</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/verisure/'>Verisure</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/wink/'>Wink</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/zwave/'>Z-Wave</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/zoneminder/'>ZoneMinder</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/ecobee/'>ecobee</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>
|
||
<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> |