About this project

HAIR is a Home Assistant integration for managing infrared (IR) devices. It builds on Home Assistant's native infrared platform, so it works with any integration that exposes IR emitters or receivers, such as ESPHome, Tuya Local, Broadlink, SMLIGHT, and MQTT. The main workflow is to capture signals from a remote using the Sniffer tab, then turn them into a Device (something HAIR sends codes to) or a Remote (a handset HAIR recognizes and can fire triggers from). Captured signals are grouped by remote and can be renamed, tested, assigned to devices, or used to create automation triggers. Devices expose button entities in Home Assistant, and commands can be mapped to entity actions such as turn_on or volume_up. HAIR includes several supporting tools. The Clipper accepts pasted Pronto codes, the Plucker pulls codes already learned by vendor blasters, and the Mirror logs every IR command Home Assistant sends and whether a receiver heard it. The Closet stores portable code sets called wigs and can import SmartIR JSON, Flipper Zero .ir files, LIRC configuration files, and Girr exports. Imported codes are checked by a combing process that flags inconsistencies such as duplicate neighbor codes or incomplete temperature runs. Air conditioner remotes are handled as climate entities driven by a full state matrix rather than individual buttons. Users can import SmartIR climate files, control temperature and mode from the thermostat card, save frequently used states as commands, and create presets. A fitting workflow lets users prove that codes work on real hardware, with results signed and attached to shared wig files. Triggers can be created from device commands, Sniffer signals, Clipper signals, or Mirror rows. Each trigger becomes a native event entity in Home Assistant that can be used in automations. Remotes can be pinned to devices so that pressing a handset sends the matching command through the device's emitters. The integration requires Home Assistant 2026.4 or later, with 2026.6+ recommended for native IR receivers. Installation is available through HACS or by manually copying the custom component.