johanson / irur

Infrared Universal Remote webUI Home Assistant add-on. Provides a simple web UI to record and manage buttons for your virtual IR remote. Supports ingress.
10 stars 0 forks source link
esp32 home-automation homeassistant iot iot-application sonoff tasmota

IRUR: IR remote control add-on for Home Assistant

Supports aarch64 Architecture Supports amd64 Architecture Supports armv7 Architecture

Infrared Universal Remote webUI for Tasmota ESP8266 based devices over MQTT. Provides a simple web UI to record and manage buttons for your virtual IR remote. Supports ingress and an option to show in sidebar. Comes with around 150 icons, but you can also use text or emojis.

IRUR logo

Installation

Flash your ESP8266 board with Tasmota (tasmota-ir.bin) firmware. All the builds support common IR protocols but use tasmota-ir.bin for all available protocols provided by IRremoteESP8266 library). Install your IR emitter and receiver and configure the right pins from Tasmota configuration (irrecv and irsend respectively).

Example Tasmota config

Home Assistant

Configuration

topic_listen: irur/tele/RESULT
topic_send:
- irur/cmnd/IRsend
topic_listen (str)

MQTT topic for receiving IR codes

topic_send   (list)

MQTT topic for sending IR codes.

Screenshots

Irur screenshots

Irur screenshots

Changelog is here.

Keyboard Shortcuts

Shift+N: New knob
Shift+T: New tab
Esc:     Cancel/Close
Enter:   Save (while editing)

Development

Clone the repo, install npm dependencies. Install fabric3 (pip3 install fabric3) , do fab -list from terminal in the project dir for all the available tasks.

$ fab -l
Available commands:

api      Start a node server for the backend api.
build    Compile and minify for production and push to live (master).
         :param bump_version: Bump addon version number before
                              building, defaults to `True`
         :type  bump_version: bool, optional
         :param push:         Push to master branch, defaults to `False`
         :type  push:         bool, optional
         Arguments: bump_version=False, push=False
deploy:  Compile and upload the project to the HA server for Docker.
         :param bump_version: Bump addon version number before
                              pushing to remote server, defaults to `True`
         :type  bump_version: bool, optional
         :param sync:         Synchronize working directy to remote server
         :type  sync:         bool, optional
         :param reload:       Reload and update addon over SSH
         :type  reload:       bool, optional

         Arguments: bump_version=True, sync=True, reload=True
lint     Lint and fix files.
serve    Compile with hot-reload for development.
test     Run unit tests with Cypress.

If you prefer npm scripts: npm run build to build with webpack (or npm run serve for development), node server.js --dev to start the server.

Dependencies

For developing: Vue cli, npm, Cypress (testing), pip3 Fabric3, pip3 python-dotenv

Credits

Icons made by Roundicons, Freepik, Pixel perfect, hirschwolf, Kiranshastry, Good Ware, Becris, srip, dmitri13, surang, Nikita Golubev, Linector, Icongeek26, Smashicons, photo3idea_studio, bqlqn from www.flaticon.com


This project is licensed under the terms of the MIT license.