{
  "added_at": "2026-11-08",
  "additional_evidence_urls": [
    "https://github.com/av1452/chorus/blob/a5b51387c1f726256aae49064a8f586a63540be2/README.md",
    "https://github.com/av1452/chorus/blob/a5b51387c1f726256aae49064a8f586a63540be2/pyproject.toml"
  ],
  "category": "reconstruction-cases",
  "class": "hardware",
  "description_en": "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.",
  "description_zh": "Chorus 可识别 Logitech Harmony USB 遥控器并备份其配置，还能学习和解码红外信号、通过局域网控制 Harmony Hub。浏览器编辑器可创建 JSON 格式的设备和活动配置；技术文档记录了厂商设置程序及较新设备的 USB 数据包协议。",
  "entry_url": "https://awesomerea.org/resources/chorus-harmony-remote-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/chorus-harmony-remote-case/",
  "evidence_class": 2,
  "evidence_status": "observed",
  "evidence_url": "https://github.com/av1452/chorus/blob/a5b51387c1f726256aae49064a8f586a63540be2/docs/protocol-packet-hid.md",
  "group": "cases",
  "id": "chorus-harmony-remote-case",
  "json_url": "https://awesomerea.org/resources/chorus-harmony-remote-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/chorus-harmony-remote-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/chorus-harmony-remote-case/index.md",
  "name": "Chorus: reconstructing Logitech Harmony remote programming",
  "name_zh": "Chorus：重建 Logitech Harmony 遥控器编程流程",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "testing",
    "limits",
    "license"
  ],
  "requirements": [
    "Python 3.10 or newer and a supported Harmony remote or hub; macOS and Linux USB use libusb.",
    "The author reports read operations on a Harmony 665; hardware write operations remain unconfirmed.",
    "The native binary configuration's device, activity, and button sections remain unmapped.",
    "GPL-3.0-or-later."
  ],
  "requirements_zh": [
    "需要 Python 3.10 或更新版本及受支持的 Harmony 遥控器或 Hub；macOS 和 Linux 的 USB 访问使用 libusb。",
    "作者报告已在 Harmony 665 上完成读取；硬件写入仍未确认。",
    "原生二进制配置中的设备、活动和按键数据段尚未完成映射。",
    "GPL-3.0-or-later 许可证。"
  ],
  "scope": "unknown",
  "targets": [
    "protocol"
  ],
  "url": "https://github.com/av1452/chorus",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
