Hello HA Community!
I’d like to share a custom component I’ve been working on called IR-Trigger .
The goal of this project is to unify all IR blasters and receivers under a single, highly hackable, and lightweight architecture based on the “Dumb Pipe, Smart Core” principle.
What is IR-Trigger?
It’s a custom integration built on the “Dumb Pipe, Smart Core” philosophy.
Home Assistant acts as the absolute brain (Smart Core). It handles all the decoding, encoding, state machines, and entity generation. Your edge devices (ESPHome, Broadlink, Nature Remo, or simple Webhooks) act purely as “Dumb Pipes”—they just send or receive RAW pulses. No logic required on the edge.
Key Features:
-
Hardware Agnostic: Mix and match ESPHome, Broadlink (BestCon), Nature Remo, or any device that can send/receive a Webhook. They all work together seamlessly.
-
Auto-Domain Wrapper: Write a simple YAML template for your remote, and IR-Trigger automatically generates climate, media_player, light, or switch entities in HA.
-
Multi-State Machine & Routing: Context-aware routing. Pressing “Volume Up” on a physical remote can control your AVR when in “TV Mode”, but control your PC when in “PC Mode”.
-
Massive Base64 Asset Compatibility: Have a huge database of Broadlink Base64 codes (JgB…) from other popular integrations? Just paste them into our YAML with a B64- prefix. IR-Trigger decodes them into RAW pulses on the fly and shoots them out of ANY supported device (even ESPHome!).
-
100% Local Push: Zero cloud dependency. Lightning fast.
Bonus for Geeks: The “Panopticon”
In the tools/ folder, I’ve included a custom PlatformIO C++ firmware for the M5StickC Plus 2 (ESP32-S3) . It turns the device into a portable “SIGINT” tool. You can walk into a store, capture unknown IR protocols, save them to the internal flash (LittleFS), and download them later via a local web server to build your HA templates.
GitHub Repository:
Khronos31/IR-Trigger
I’ve just released v1.0.0. It’s fully documented in English (and Japanese). I’d love for you guys to tear it apart, test it, and let me know what you think!