Case study
Chorus: reconstructing Logitech Harmony remote programming
Chorus identifies and backs up Logitech Harmony USB remotes, learns and decodes IR codes, and controls hubs over a local network. Its browser editor creates JSON device and activity configurations; technical notes document the vendor setup app and newer USB packet protocol.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
- Evidence class
- C2 code & docs, no demo or download
- Stars
- 3
- Last commit
- 2026-10-13
- Language
- Python
- License (GitHub)
- GPL-3.0
GitHub data as of 2026-11-10
Evidence
- Observed
- Code and documentation observed; no download method or demo found.
- Checked
- 2026-11-08
Requirements & limits
- Prerequisites: Python 3.10 or newer and a supported Harmony remote or hub; macOS and Linux USB use libusb.
- Testing evidence: The author reports read operations on a Harmony 665; hardware write operations remain unconfirmed.
- Limits: The native binary configuration's device, activity, and button sections remain unmapped.
- License: GPL-3.0-or-later.
Cite
BibTeX
@misc{chorus-harmony-remote-case,
title = {{Chorus: reconstructing Logitech Harmony remote programming}},
howpublished = {\url{https://github.com/av1452/chorus}},
url = {https://github.com/av1452/chorus},
urldate = {2026-11-06},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/chorus-harmony-remote-case/}}
}Plain text
Chorus: reconstructing Logitech Harmony remote programming. https://github.com/av1452/chorus (accessed 2026-11-06). Awesome REA entry: https://awesomerea.org/resources/chorus-harmony-remote-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- docs/protocol-packet-hid.md GitHub · av1452/chorus · Revision a5b5138
- README.md GitHub · av1452/chorus · Revision a5b5138
- pyproject.toml GitHub · av1452/chorus · Revision a5b5138
More in Protocols
- tinycoral: reconstructing the Coral Edge TPU instruction set and USB runtime · Case study
- ninebot-go: reconstructing Ninebot app cloud communication · Case study
- open-g2-hub: a local Even G2 client built on BLE protocol findings · Case study
- Edifier Speakers BLE: reconstructing M60 and M90 speaker control · Case study
- Halyard: reconstructing Shadow cloud PC streaming on handhelds · Case study
- Axial: mapping and controlling the DJI RS 4 Mini over Bluetooth · Case study