Skip to content

dzerik/Broadlink-UFO-R11

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Broadlink to UFO-R11 IR Code Converter

Deploy to GitHub Pages Tests License: MIT TypeScript Next.js

Based on the original broadlinktoUFOR11 by arkservertools.

IR codes for conversion can be found at SmartIR codes repository.


A client-side web application to convert IR codes from Broadlink Base64 format to UFO-R11 MQTT format for MOES UFO-R11 devices used with SmartIR addon in Home Assistant.

Note: While primarily designed for MOES UFO-R11, this converter may also work with other Tuya-based IR blasters that use the same Tuya IR stream protocol (e.g., Zigbee or Wi-Fi IR remotes with Tuya firmware).

All conversion runs entirely in the browser — no backend required.

Demo

Live Demo on GitHub Pages

Features

  • Two-panel JSON editor with syntax highlighting
  • Single IR code conversion
  • File upload (SmartIR JSON)
  • 4 compression levels (LZ77-like Tuya Stream)
  • ir_code_to_send wrapper option for MQTT payloads
  • English / Russian interface

Compression Levels

Level Name Description
0 NONE No compression
1 FAST Greedy, first match
2 BALANCED Greedy, best match (default)
3 OPTIMAL Dynamic programming (smallest output)

Architecture

Broadlink Base64 → hex → timings → uint16 LE → Tuya compress → Base64

All conversion logic is implemented in TypeScript and runs client-side:

Module Description
IRConverter Conversion facade
BroadlinkDecoder Broadlink format decoder
TuyaEncoder UFO-R11 format encoder
TuyaCompressor LZ77-like Tuya Stream compression

Getting Started

Prerequisites

Installation

git clone https://github.com/dzerik/Broadlink-UFO-R11.git
cd Broadlink-UFO-R11/frontend
npm install

Development

npm run dev

Open http://localhost:3000 in your browser.

Testing

npm test

Build

npm run build
# Static output in frontend/out/

Deployment

The app auto-deploys to GitHub Pages on push to main via GitHub Actions.

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License — see the LICENSE file for details.

Credits

About

Convert IR codes from Broadlink Base64 to Tuya IR stream format for MOES UFO-R11 and other Tuya-based IR blasters, with SmartIR in Home Assistant

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages