{"id":17576909,"url":"https://github.com/bengtmartensson/remotelocator","last_synced_at":"2025-10-14T14:39:45.864Z","repository":{"id":65509627,"uuid":"365945826","full_name":"bengtmartensson/RemoteLocator","owner":"bengtmartensson","description":"This program operates on data bases of IR remotes. It either generates a data base of download information, or, using a previously generated such file, allows for easy download of therein registered remotes.","archived":false,"fork":false,"pushed_at":"2025-10-13T09:42:17.000Z","size":3625,"stargazers_count":7,"open_issues_count":1,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-10-14T14:39:43.780Z","etag":null,"topics":["girr","infrared","ir","jp1","lirc","remotes"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bengtmartensson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-05-10T06:51:45.000Z","updated_at":"2025-10-13T09:42:22.000Z","dependencies_parsed_at":"2024-01-16T02:45:13.545Z","dependency_job_id":"91337a55-7b85-4c06-9d6e-9288426080a1","html_url":"https://github.com/bengtmartensson/RemoteLocator","commit_stats":{"total_commits":78,"total_committers":1,"mean_commits":78.0,"dds":0.0,"last_synced_commit":"8af98794ea065c7fc3c7733577f732cc91e3bffd"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/bengtmartensson/RemoteLocator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bengtmartensson%2FRemoteLocator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bengtmartensson%2FRemoteLocator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bengtmartensson%2FRemoteLocator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bengtmartensson%2FRemoteLocator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bengtmartensson","download_url":"https://codeload.github.com/bengtmartensson/RemoteLocator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bengtmartensson%2FRemoteLocator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279019154,"owners_count":26086682,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["girr","infrared","ir","jp1","lirc","remotes"],"created_at":"2024-10-21T23:43:37.339Z","updated_at":"2025-10-14T14:39:45.849Z","avatar_url":"https://github.com/bengtmartensson.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RemoteLocator\nThis program helps the user to locate and download infrared remotes.\nIt operates on data bases of IR remotes. It either generates am XML index of download information,\nor, using a previously generated such file, allows for easy download and conversion of therein registered remotes.\nIt can handle collections of remotes in the following formats:\n\n* [IRDB format](https://github.com/probonopd/irdb): This collection was until recently available at the server `irdb.ik`, which is now defunct.\nThe IRDB format is a very simple CSV format (\"the IT version of the stone axe\"), containing command name, protocol and the device and subdevice parameters,\nbut no meta information. Instead, information on the manufacturer and the device class are gleaned from the file path.\n* The [Lirc](http://lirc.org) collection of remotes, which are collected in the Sourceforge project [lirc-remotes](https://sourceforge.net/projects/lirc-remotes/).\nThis format also contains no meta information.\nThe manufacturer information is gleaned from the file path; however there are no information on device class,\nso all the Lirc remotes have device class \"unknown\" in the generated list.\n* [Girr](http://harctoolbox.org/Girr.html) is a very versatile format for IR remotes.\nIt is the native format for [IrScrutinizer](http://harctoolbox.org/IrScrutinizer.html), and also supported by main program\n[RMIR](https://sourceforge.net/projects/controlremote/) of the [JP1 project](http://hifi-remote.com/forums/index.php).\nMeta information, including manufacturer and device class, is contained in the Girr file.\nThere is a small collection ([GirrLib](https://github.com/bengtmartensson/GirrLib)),\nwhich is more of a proof-of-concept than a sizeable collection of remotes.\n* The JP1 project has a large collection of \"device upgrades\". These are summarized in\n[an Excel file](http://www.hifi-remote.com/forums/dload.php?action=file\u0026file_id=26999)\n(or a later version thereof).\nThis list also contains meta information such as manufacturer and device class.\nThis can be read into the present program, and used to browse the therein contained remotes (or rather, \"device upgrades\").\nThese can, with some manual work, be translated to Girr files.\n* [Flipper-IRDB](https://github.com/Lucaslhm/Flipper-IRDB). This is a large and fairly active collection of IR signals in the Flipper IR format (`*.ir`).\nIt is intended for the [Flipper Zero \"Multi-tool Device for Geeks\"](https://flipperzero.one), but since the format is a\n[simple text based format](https://developer.flipper.net/flipperzero/doxygen/infrared_file_format.html), we can read that format too.\n(In IrScrutinizer supported for import and export since early January 2025.)\n\nBasically, there are three use case for the program:\n\n1. Generaton of the index file, `remotelocator.xml`, and\n2. Using said index file (possibly as an URL rather than a local file) for extracting information of its content,\n3. Using the index file and information from 2. to downloading or browse a contained remote.\n\n## Generation of the index file\nTypically, only an \"administrator\" invokes this use case.\nThis is achieved by calling the main-routine of the RemoteDatabase class.\nFrom (a subset of) the four sources, a local file is generated.\nThe `--out` option is (effectively) mandatory, and must point to a local (preferably non-existing) write-able file.\nUsing the options `--girrdir`, `--lircdir`, `--irdbdir` are used to point to a locally clone of the respective GitHub/Sourceforge repositories\n(to the extent desired).\nUse the option `--jp1file` to point to an OpenOffice format XML export of the JP1 master list.\n(One such export is contained in the present project as  `src/test/jp1/jp1-master-1.18.fods`.)\nIf Lirc is not involved, this takes a few seconds. If Lirc _is_ included, this is slightly constlier (half a minute CPU time, 1 GB memory)\nsince all the commands in the (almost 3000) Lirc files have to be rendered and decoded.\n\n### Global file\nThe current version of the complete file is available for download as\n[`http://harctoolbox.org/downloads/remotelocator.xml`](http://harctoolbox.org/downloads/remotelocator-1.0.xml).\n\n### HTML version of the remotelocator file\nThere exists an XSLT transformation `src/main/xslt/remotelocator2html.xsl` that turnes the XML file into a HTML file\ncontaining clickable `a`-elements for download/browsing.\nThis is available for download and browsing as\n[`http://harctoolbox.org/downloads/remotelocator-1.0.html`](http://harctoolbox.org/downloads/remotelocator-1.0.html).\n\n## Gathering information from the file\nFor this use case, the argument of `--config` must be a valid and readable file or URL. By using the options\n`--manufacturer`, `--deviceclass` (possibly with an argument of `?`) information on contained manufacturers, their device classes,\nand the contained remotes can be queried.\n\n## Downloading/browsing/converting remotes\nFor this use case, the argument of `--config` must be a correct, readable file or URL. By using the options\n`--manufacturer`, `--deviceclass` and the name-less last argument, denoting the remote name, the corresponing remote can be fetched.\nWith the option `--browse` the remote is browse in the way the user's desktop is configured.\nThe option `--url` just prints the URL where the remote can be downloaded. Finally, the options `--Girr`, `--pronto` and `--csv`\nprints the (possibly converted) remote in Girr, Pronto Hex or IRDB CSV-format respectivelly.\n\n## Integration in IrScrutinizer\nThis program is integrated in IrScrutinizer version 2.3.1 and later, giving it a GUI.\nI can be accessed as the pane `Import -\u003e RemoteLocator`.\nBy selecting `Select me to load` a global index file file is downloaded, once per session.\n\n## Appendix. All program options:\n```\n./remotelocator --help\nUsage: RemoteLocator [options] Arguments to the program\n  Options:\n    -b, --browse\n      Browse the remote instead of downloading it.\n      Default: false\n    -c, --config\n      Name or URL of config file, to be read or written.\n    --csv\n      Produce output in IRDB CVS format.\n      Default: false\n    -d, --deviceclass\n      Device class, \"?\" for list.\n    -g, --girr\n      Produce output in Girr format.\n      Default: false\n    -h, --help, -?\n      Display help message.\n      Default: false\n    -k, --kind\n      Only consider remotes of this kind.\n      Possible Values: [girr, flipper, irdb, lirc, jp1]\n    -m, --manufacturer\n      Manufacturer, \"?\" for list.\n    -o, --output\n      File name to write to, \"-\" for stdout.\n      Default: -\n    -p, --prontohex\n      Produce output in Pronto Hex format.\n      Default: false\n    -u, --url\n      Do not get the remote, just print its url.\n      Default: false\n    -v, --version\n      Display version information.\n      Default: false\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbengtmartensson%2Fremotelocator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbengtmartensson%2Fremotelocator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbengtmartensson%2Fremotelocator/lists"}