Hi all,
I wanted to share a custom Home Assistant integration I’ve been working on for Zigbee2MQTT IR blasters like the TS1201 / Moes UFO-R11.
I started this because I wanted something much easier to work with than raw MQTT payloads, manual JSON editing, and a pile of little scripts. I really wanted a cleaner IR workflow inside Home Assistant itself: learn a code, save it properly, organize it in a library, and send it again later without everything feeling messy.
The integration is called OtterIR. It lets me learn IR codes directly from the Zigbee blaster, store them in either a shared library or a device-specific one, and send them again from the UI. Saved commands also become real Home Assistant button entities, which makes them much nicer to use in automations and dashboards.
A big thing I wanted was support for larger IR databases too, not just individually learned codes. OtterIR can import:
- simple CSV/TSV command lists
- SmartIR JSON files
- larger Flipper .ir files / IRDB-style sources
That last part has been especially useful, because it means I can browse a larger catalog first and then only import the commands I actually want into my own library.
The project includes a dedicated Home Assistant panel as part of the integration, so the whole workflow is easier to manage on both desktop and mobile. The main idea is to make IR devices feel a lot more like normal Home Assistant devices instead of just a pile of raw codes.
Right now the main features are:
- learning IR codes directly from the Zigbee blaster
- saving commands into shared or device-specific libraries
- reusing the same saved commands across multiple IR blasters
- importing existing command databases
- exposing saved commands as real Home Assistant button entities
- adjusting the Home Assistant entity ID for each saved command
I’m sharing a few screenshots below from desktop and mobile.
If people are interested, here the GitHub repo and installation steps: https://github.com/sdotter/OtterIR. I’d also love feedback, especially from others using TS1201 / UFO-R11 devices, or from anyone with ideas for useful import formats or UI improvements.
Screenshots:






