# Broadlink Manager - Modern Web Interface for Broadlink Devices

I’m excited to share a new add-on I’ve been working on that makes managing Broadlink IR/RF devices much more user-friendly!

What is it?

Broadlink Manager is a Home Assistant add-on that provides a modern, responsive web interface for managing your Broadlink devices. It solves the pain points of the default integration by making command learning and management intuitive and visual.

Key Features

:dart: Easy Command Learning - Point, click, learn. Real-time feedback shows when commands are captured
:file_folder: Smart Organization - Organize commands by area/room and device
:test_tube: Instant Testing - Test any learned command with a single click
:robot: Auto Entity Generation - Automatically create Home Assistant entities from your learned commands

  • Supports lights, fans, switches, and media players
  • Uses smart naming detection (e.g., light_on, fan_speed_1)
  • Generates proper YAML with helper entities
    :electric_plug: No External Dependencies - Works entirely within Home Assistant
    :floppy_disk: Direct Storage Access - Reads from HA’s storage, so all existing commands are available immediately

Why I Built This

The default Broadlink integration is powerful but not very user-friendly. Learning commands requires calling services manually, testing means more service calls, and organizing commands means editing JSON files. I wanted something that “just works” with a proper UI.

Installation

  1. Add the repository to your add-on store:
    GitHub - tonyperkins/homeassistant-broadlink-manager

  2. Install “Broadlink Manager”

  3. Start the add-on

  4. Access via sidebar or http://homeassistant.local:8099

Screenshots





What’s Next?

I’m actively developing this and would love feedback! Planned features include:

  • Climate entity support (AC units)
  • Cover entity support (blinds, curtains)
  • Bulk command operations
  • Command templates/presets

Links

Let me know what you think! Happy to answer questions or take feature request

6 Likes

For some reason I learnt all the commands for the 2 ceiling fans in my living room, however, it’s not creating the entities.

Broadlink Manager Diagnostics

Generated: 2025-10-29T22:06:06.490147

System Information

  • Platform: Linux
  • Python Version: 3.11.12
  • Architecture: aarch64

Key Dependencies

  • broadlink: 0.19.0
  • flask: 3.1.2
  • aiohttp: 3.13.1
  • pyyaml: 6.0.3
  • Total Packages: 40

Configuration

  • Storage Path: /config/broadlink_manager
  • Storage Exists: :white_check_mark:
  • Log Level: info
  • Web Port: 8099

Home Assistant Connection

  • Configured: :x:

Devices

  • Total Devices: 2
  • Broadlink Entities: 0
  • SmartIR Devices: 0

Devices by Type

  • fan: 2

SmartIR Profiles

  • Custom Profiles: 0
  • Device Index: :white_check_mark: Present

Storage

  • Storage Path Exists: :white_check_mark:

Files

  • devices.json: 9578 bytes
  • devices.json.backup: 9578 bytes
  • metadata.json: 930 bytes
  • metadata.json.backup: 621 bytes
  • entities.yaml: 138 bytes
  • helpers.yaml: 832 bytes

Backups

  • devices.json.backup: :white_check_mark: (0.1 hours old)
  • metadata.json.backup: :white_check_mark: (279.9 hours old)

Permissions

  • Storage Readable: :white_check_mark:
  • Storage Writable: :white_check_mark:
  • Config Writable: :white_check_mark:

Command Files

  • living_room_fan_right: 5 commands
  • living_room_left: 5 commands

Total Commands: 10

I have the same Problem, but with lights!!

If you don’t mind opening a ticket here I’ll give it a look.

Also, please let me know if you are on the latest version and share the log output from the app if possible.

I’ll try to see why I didn’t get notification of your posts here and fix that.

Cheers

I have raised a bug with the logs attached. Yes I’m on whatever the latest version is

Selected saved destinations as Both. Commands apparently learnt as the IR codes are added to appropriate Broadlink device in HA .storage. However, in Web interface Managed Devices for all “learnt” commands it says “Error: Command failed to lear. Delete and try again.” I have posted as an issue on Github