rflink
Library and CLI tools for interacting with RFlink 433MHz transceiver.
What it is and what it does
rflink is a Python library and CLI tool for controlling RFlink 433MHz RF transceivers, commonly used in home automation and domotica setups. It decodes wireless sensor and device packets (temperature, humidity, switch states) and sends commands to RF devices. The library wraps serial or TCP communication with the RFlink hardware, parsing its protocol into structured events; the CLI provides interactive debugging and device control, while a proxy utility allows a single RFlink device to serve multiple clients (e.g., Home Assistant and Domoticz simultaneously).
The package is built on async I/O (pyserial-asyncio-fast, async_timeout) and command-line parsing (docopt), making it suitable for integration into larger automation frameworks or standalone use. It is primarily maintained for Home Assistant's RFlink component but can be used independently for any application needing to interact with RFlink hardware.
Use it for:
- Integrate RFlink 433MHz sensors and switches into a Home Assistant automation system.
- Debug and monitor RF packets from wireless devices connected to an RFlink gateway.
- Share a single RFlink device across multiple home automation platforms (Home Assistant, Domoticz) via the proxy.
- Send RF commands to control wireless switches and dimmers from Python scripts.
- Capture and decode 433MHz sensor data (temperature, humidity, battery status) for logging or analysis.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Library and command-line interface for communicating with RFlink 433MHz transceiver hardware, supporting both serial and TCP connections.
Yes, if you own RFlink hardware and need to integrate it with Home Assistant or another Python-based automation system. The library is actively maintained, has no known vulnerabilities, and low install friction. Not relevant if you do not have RFlink hardware or use a different RF protocol.
Install
rflink on PyPI
pip
pip install rflinkuv
uv add rflinkpoetry
poetry add rflinkInstalling rflink
Before you install
Low install friction with a pure-Python wheel. Active maintenance with a recent commit on 2026-03-17 and 150 days since last release. Depends on pyserial, pyserial-asyncio-fast, docopt, and async_timeout—all standard async/serial libraries.
License in practice
MIT license (permissive) places no restrictions on use, modification, or distribution in commercial or private projects.
Quickstart
pip install rflink
from rflink.protocol import RFLinkProtocol
import asyncio
# Or use the CLI:
# rflink -p /dev/ttyACM0
# rflink on newkaku_0000_1
Requires a physical RFlink 433MHz transceiver connected via serial port or TCP, and Python 3.6 or higher.
Verify before relying
- Whether pyserial-asyncio-fast is a maintained fork or drop-in replacement for pyserial-asyncio.
- Current Python version support beyond the classifiers listed (3.6–3.9).
- Whether the proxy CLI (rflinkproxy) is production-ready or remains experimental.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — docopt, pyserial, pyserial-asyncio-fast, typing, async_timeout |
| Maintenance | actively maintained — 150 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 74,416/month — #14,841 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: rflink-0.0.68-py3-none-any.whl
Keywords: rflink, 433mhz, domotica
Tags
More Networking packages
h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
psutilpsutil retrieves real-time information about…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
uvloopuvloop is a drop-in replacement for Python's…
permissive · top 1,000 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
pyzmqPyZMQ provides Python bindings for ZeroMQ…
permissive · top 1,000 on PyPI
velbus-aioAn asyncio-based Python library for controlling…
permissive · top 15,000 on PyPI
pyRFXtrxA Python library that communicates with RFXtrx…
copyleft · top 15,000 on PyPI
pymysensorsPython API for communicating with MySensors…
permissive · top 15,000 on PyPI
broadlinkA Python module and CLI for discovering,…
permissive · top 15,000 on PyPI
dynamixel-sdkProvides Python bindings for ROBOTIS Dynamixel…
permissive · top 15,000 on PyPI
rf-protocolsDecodes and encodes radio frequency signals for…
permissive · top 15,000 on PyPI
zigpy-xbeeEnables zigpy to communicate with XBee-based…
copyleft · top 15,000 on PyPI
PyLinkPyLink provides a unified file-like interface…
permissive · top 15,000 on PyPI
PyCampbellCR1000Communicates with Campbell CR1000-type…
copyleft · top 15,000 on PyPI
elkm1-libAsynchronous Python library for communicating…
permissive · top 15,000 on PyPI