This repository contains a custom Home Assistant card that replicates the functionality of a 44-key RGB strip remote. The card is designed to work with an ESPHome-configured IR transmitter, enabling full control of RGB strip lights through Home Assistant.
- Custom Card for Home Assistant: A visual interface replicating the 44-key RGB remote.
- IR Signal Transmission: Sends the same signals as the original remote via an ESP-based IR transmitter.
- Complete Control: Includes power, color, DIY modes, and effect transitions (e.g., fade and jump).
- Seamless Integration: Works flawlessly with ESPHome and Home Assistant.
- Home Assistant: For hosting the custom card.
- ESPHome: To configure the ESP32/ESP8266 IR transmitter.
- IR Transmitter Module: Connected to the ESP device for sending signals to the RGB strip.
-
Clone or download this repository:
git clone https://github.com/<your-username>/rgb_strip_remote_ir_card.git
-
Place the card files in the
www
directory of your Home Assistant configuration:config/www/rgb_strip_remote_ir_card.js
-
Restart Home Assistant to apply the changes.
-
Add the custom card to your Lovelace UI:
- Go to Dashboard Settings → Resources → Add Resource.
- Enter the following URL:
/local/rgb_strip_remote_ir_card.js
- Set the resource type to JavaScript Module.
-
Add the card to your dashboard:
type: custom:rgb_strip_remote_ir_card
The ESPHome configuration handles the IR transmission. Add the following code to your ESPHome YAML configuration:
esphome:
name: rgb_strip_ir_transmitter
api:
services:
- service: send_ir_signal
variables:
command: string
then:
- remote_transmitter.transmit_pioneer:
rc_code_1: !lambda 'return strtol(command.c_str(), NULL, 16);'
# IR Transmitter (sending IR commands)
remote_transmitter:
pin: GPIO16
carrier_duty_percent: 50%
# Wi-Fi Configuration
wifi:
ssid: "your-SSID"
password: "your-password"
logger:
ota:
The custom card provides a fully interactive interface in Home Assistant, replicating all the buttons from the original 44-key remote. The buttons send commands via Home Assistant to the ESPHome device.
The ESPHome firmware listens for commands sent via the send_ir_signal
service. This service receives a hexadecimal string representing the IR code and transmits the corresponding signal.
Example service call:
service: esphome.rgb_strip_ir_transmitter_send_ir_signal
data:
command: "0x5C" # Example IR code
rgb_strip_remote_ir_card/
├── rgb_strip_remote_ir_card.js # Custom card logic and UI
├── README.md # This documentation
Contributions are welcome! If you find any issues or have suggestions, feel free to open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.