A server to query and control multiple local Harmony Home Hubs over HTTP or MQTT for home automation.
Harmony API is an open-source server that allows developers and home automation enthusiasts to programmatically control Logitech Harmony Home Hubs via HTTP or MQTT. It solves the problem of integrating Harmony's closed ecosystem with custom smart home setups by providing a standardized API to manage activities, devices, and commands.
Home automation hobbyists, developers building custom smart home systems, and users who want to integrate Harmony hubs with platforms like Home Assistant, Node-RED, or other MQTT-based automation tools.
Developers choose Harmony API because it offers a simple, self-hosted alternative to cloud-dependent solutions, enabling local control with low latency and privacy. Its dual-protocol support (HTTP/MQTT) makes it highly adaptable to existing automation stacks.
🗼 A simple server allowing you to query/control multiple local Harmony Home Hubs over HTTP or MQTT
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Manages multiple Harmony hubs from a single server instance, enabling unified control for multi-room setups as highlighted in the features list.
Offers both HTTP RESTful endpoints and MQTT topics, providing integration options for diverse home automation platforms like Home Assistant or Node-RED.
Publishes instant updates to MQTT topics for hub status and activity changes, allowing live dashboards or reactive automation triggers.
Detects Harmony hubs on the local network automatically, simplifying initial setup without manual IP configuration.
Upgrading to version 2.0 requires updating all integrations due to changed HTTP endpoints and MQTT topics, which can disrupt existing setups.
The HTTP API docs are minimal, with references to source code for details, potentially hindering developers unfamiliar with the codebase.
Hub discovery in Docker requires host networking or manual IP configuration, complicating containerized deployments in restricted environments.