dorkhub

broadlinkmanager-docker

Broadlink Manager is a python based project that allows you to contorol your broadlink devices. Discover, Leran and sen…

t0mer
HTML32067 forksApache-2.0updated 1 week ago
git clone https://github.com/t0mer/broadlinkmanager-docker.gitt0mer/broadlinkmanager-docker

Please ⭐ this repo if you find it useful


PayPal

BroadlinkManager Docker Pulls

BroadlinkManager is a FastAPI powered web application that makes it easy to manage Broadlink IR/RF devices on your local network. It features a modern React UI with dark and light mode support, a full REST API, and runs as a single Docker container.

Features

  • Device Discovery — automatically scan your network for Broadlink devices; save and reload device lists
  • IR Code Learning & Sending — put any supported device into IR learning mode and capture codes; send saved codes with one click
  • RF Code Learning & Sending — guided 3-step RF sweep (hold → press → save) with real-time status polling
  • Saved Codes Library — store, search, filter (IR/RF), edit, delete, and export your code collection as CSV
  • RF Code Generator — generate random 433 MHz or 315 MHz RF codes (regular and long-repeat variants)
  • Livolo Code Generator — generate RF codes for Livolo smart switches by remote ID and button type
  • Energenie Code Generator — generate codes for Energenie Type-D 433 MHz RF sockets
  • Change Repeats — modify the repeat count of any existing Base64-encoded IR or RF code
  • Hex ↔ Base64 Converter — live bidirectional conversion between hex and Base64 code formats
  • Dark / Light Mode — toggle between dark and light themes; preference is persisted across sessions
  • Mobile Friendly — responsive layout with collapsible sidebar navigation
  • REST API + Swagger UI — full OpenAPI documentation at /docs
  • Prometheus Metrics — built-in metrics endpoint at /metrics

Installation

Docker Compose (recommended)

services:
  broadlinkmanager:
    image: techblog/broadlinkmanager
    container_name: broadlinkmanager
    network_mode: host
    restart: unless-stopped
    volumes:
      - ./data:/app/data

Why network_mode: host? Broadlink device discovery uses UDP broadcast packets on the local network. Host networking allows the container to send and receive those broadcasts. Without it, auto-discovery will not find any devices.

Once the container is running, open your browser at:

http://<docker-host-ip>:7020

Environment Variables

Variable Default Description
DISCOVERY_IP_LIST (auto-detected) Comma-separated list of local IP addresses to use for device discovery. Useful when the container has multiple network interfaces. Example: 192.168.1.10,192.168.2.10
DB_PATH /app/data/codes.db Path to the SQLite database file for saved codes

CLI Flags

You can pass arguments directly to the container to override discovery behaviour:

Flag Default Description
--ip <IP> (auto) Specify a local interface IP for discovery (repeatable)
--dst-ip <IP> 255.255.255.255 Broadcast destination IP for discovery
--timeout <s> 5 Discovery timeout in seconds

Example:

command: ["python", "broadlinkmanager.py", "--ip", "192.168.1.50"]

Screenshots

Devices — Dark Mode

Devices Dark

Devices — Light Mode

Devices Light

Saved Codes

Saved Codes

RF Code Generator

RF Code Generator

Livolo Code Generator

Livolo

Energenie Code Generator

Energenie

Change Repeats

Change Repeats

Hex ↔ Base64 Converter

Convert

About

About

Supported Devices

Family Models
SP1 SP1
SP2 SP2, SP mini, SP2-compatible (Honeywell, URANT), NEO (Ankuoo), SP mini 3, MP2, SP2-CL, SC1
SP2S SP2, NEO PRO (Ankuoo), Ego (Efergy), SP mini+
SP3 SP3, SP3-EU
SP3S SP3S-US, SP3S-EU
SP4 SP4L-CN/EU/AU/UK/US, SP4M, MCB1, SCB1E, SCB2, SP mini 3
RM mini RM mini, RM mini 3 (all variants)
RM pro RM pro/pro+, RM home, RM plus
RM mini B RM mini 3 (0x5F36, 0x6507, 0x6508)
RM4 mini RM4 mini, RM4C mini, RM4S, RM4 TV mate, RM4C mate
RM4 pro RM4 pro, RM4C pro
Sensors e-Sensor (A1)
Lights LB1, LB26 R1, LB27 R1, SB500TD, SB800TD
Alarm S2KIT, S3
Climate HY02/HY03 (Hysen)
Cover DT360E-45/20 (Dooya)
BG Electrical BG800/BG900, AHC/U-01

REST API

Interactive API documentation is available at http://<host>:7020/docs (Swagger UI).

Key endpoints:

Method Path Description
GET /autodiscover Scan network for Broadlink devices
GET /device/ping?host=<ip> Check if a device is online
POST /devices/save Save discovered device list to file
GET /devices/load Load device list from file
GET /ir/learn Start IR learning on a device
GET /rf/learn Start RF sweep on a device
GET /rf/status Poll RF learning status
GET /rf/continue Continue RF sweep after frequency lock
GET /command/send Send IR/RF code to a device
GET /temperature Read temperature from a sensor device
GET /api/codes List all saved codes
POST /api/code Save a new code
PUT /api/code/{id} Update a saved code
DELETE /api/code/{id} Delete a saved code
GET /api/version Get application version
GET /metrics Prometheus metrics

Credits

Donation

If you find this project useful, consider buying me a coffee ☕

PayPal

more like this

meine

meine 🌒 - A CLI file manager and system utility built with Textual. It combines intuitive command parsing with rich t…

Python50

taskbutler

Create and add progress bars, Office365 Files and Dropbox Paper papers by labels and link them to your Todoist tasks.

Python50

search

search projects, people, and tags