{"id":15018256,"url":"https://github.com/ericmagnuson/rmcontrol","last_synced_at":"2025-10-23T17:31:36.532Z","repository":{"id":57462179,"uuid":"76408423","full_name":"ericmagnuson/rmcontrol","owner":"ericmagnuson","description":"RM Control — A python app to control an RM2 from BroadLink.","archived":false,"fork":false,"pushed_at":"2017-02-21T22:24:47.000Z","size":29,"stargazers_count":33,"open_issues_count":8,"forks_count":4,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-01-30T19:47:41.974Z","etag":null,"topics":["automation","broadlink","homebridge","homekit","python","rm-control"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ericmagnuson.png","metadata":{"files":{"readme":"readme.md","changelog":"changes.txt","contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-13T23:56:36.000Z","updated_at":"2025-01-09T07:33:24.000Z","dependencies_parsed_at":"2022-09-10T22:30:54.748Z","dependency_job_id":null,"html_url":"https://github.com/ericmagnuson/rmcontrol","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericmagnuson%2Frmcontrol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericmagnuson%2Frmcontrol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericmagnuson%2Frmcontrol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericmagnuson%2Frmcontrol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericmagnuson","download_url":"https://codeload.github.com/ericmagnuson/rmcontrol/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237868984,"owners_count":19379238,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","broadlink","homebridge","homekit","python","rm-control"],"created_at":"2024-09-24T19:51:44.446Z","updated_at":"2025-10-23T17:31:31.122Z","avatar_url":"https://github.com/ericmagnuson.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## RM Control\nRM Control is an app to control an RM2 by BroadLink.  It allows users to learn IR and RF codes, store them, and fire them.\n\n### Components\n1. vue.js front-end\n2. python back-end\n3. process watcher by supervisord\n\n### Requirements\n1. `build-essential`\n2. `libavahi-compat-libdnssd-dev`\n3. `nodejs` (\u003e6.0.0)\n4. `node-gyp`\n5. `python` (2.7) and `python-dev`\n\n### Installation\n1. `git clone https://github.com/ericmagnuson/rmcontrol.git \u0026\u0026 cd rmcontrol`\n2. `sudo python setup.py install`\n3. `export FLASK_APP=rmcontrol; python -m flask initdb`\n4. `python run.py`\n\nRM Control can be interacted with by visiting the included web interface found at http://127.0.0.1:5000 or by talking directly with the API as described farther below.\n\n### VM Initialization (Under construction.)\n1. `curl -sL https://deb.nodesource.com/setup_6.x -o nodesource_setup.sh`\n2. `sudo bash nodesource_setup.sh`\n3. `sudo apt update`\n4. `sudo apt install build-essential git libavahi-compat-libdnssd-dev nodejs node-gyp python-setuptools python-pip python-dev`\n5. `pip install pycrypto`\n6. `sudo reboot now`\n7. `sudo npm install -g --unsafe-perm request homebridge homebridge-httpmulti`\n8. To install RM Control, follow the steps in Installation above.\n9. Using Homebridge-HttpMulti, configure Homebridge to send commands to the RM Control API. See `config.json.sample` for an example.\n\n### Supervisor Setup\n1. `sudo apt install supervisor`\n2. In `/etc/supervisor/conf.d/`, add two configuration files, `rmcontrol.conf` and `homebridge.conf`. See sample files for help.\n3. `sudo systemctl enable supervisor`\n4. `sudo systemctl start supervisor`\n\n### API Documentation\n\n`GET /`\n\nShows all commands.\n\n`POST / {name: \u003cname\u003e}`\n\nListens for a command from the RM2, and if a command is received, it will be saved with the given name.\n\n`POST /\u003cname\u003e`\n\nFire the given command.\n\n`PATCH /\u003cname\u003e {name: \u003cname?\u003e, code: \u003ccode?\u003e}`\n\nEdit the requested command by passing in a new name and/or code.\n\n`DELETE /\u003cname\u003e`\n\nDelete the given command.\n\n### To Do\n- Add progress icon when learning.\n- Finish edit capability.\n- Gracefully handle errors if RM2 cannot be found.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericmagnuson%2Frmcontrol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fericmagnuson%2Frmcontrol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericmagnuson%2Frmcontrol/lists"}