A local, offline application for configuring Logitech Harmony remotes.
Nothing to install yet, but no longer nothing at all. There is one script. Given a configuration file read off your own remote, it prints what that configuration contains: when it was built, which devices it drives, and which activities it offers with the devices each of those uses. On a real Harmony 600 that is four devices and three activities, by name.
There is no window, no packaging and no release. What that script proves is the seam: this repository reads a configuration only through the libraries in the harmony-explorations repository next door, and never by parsing bytes of its own. No releases, no packages, no promises about dates.
docs/roadmap.md says what is planned and in which order, including the part most worth knowing in
advance: the first version will read your remote and not change it.
Logitech shut down the Harmony service. The remotes still work, but they cannot be reconfigured: the configuration was generated by servers that no longer exist, the desktop software talked to those servers for everything, and there is no recovery path if a remote is wiped. A remote you own outright is now a device you cannot change.
FreeHarmony is meant to be a full replacement for that software, running entirely on your own machine. No account, and no server it needs in order to work.
Everything works with no network at all. Reading your remote, seeing what is on it, changing it and writing it back are local operations, and they will keep working when every server involved is gone. That is the whole point, so it is not a preference that can be traded away later.
One thing will be offered on top of that, and only if you ask for it. Logitech's current service is still running, and while it is, it can still tell you what infrared codes your television or amplifier uses. Rather than pretend that is worthless, FreeHarmony will be able to fetch a device you own, convert it into its own format and keep it on your machine, so it outlives the service. You decide whether to do that, you supply your own account if it turns out one is needed, and you can see what was fetched. Somebody who never uses it gets exactly the same application.
What is fetched stays yours and stays local. If a shared database of devices is built later, only definitions learned from a real remote can go into it. Anything that came from Logitech's data stays on the machine that fetched it, because it is their data and not ours to hand around.
| this application | GPLv3 |
| the libraries it builds on | MIT, in harmony-explorations |
GPLv3 for the application is deliberate. The two existing open source projects in this space, concordance and harmony-decompiler, are both GPLv3, and staying compatible with them keeps their work available rather than off limits. It also means that whatever this becomes stays open, which is the whole point of rebuilding something a vendor walked away from.
Compatible in both directions, and that is why it is plain GPLv3 rather than the Affero variant. Their code can come here either way, but only this way round can anything found here go back to them: a GPLv3 project cannot absorb Affero licensed code without changing its own licence. This project owes both of them a great deal, so being able to give something back is worth more than Affero's extra clause, which covers software offered to users over a network and therefore covers nothing this application does.
Harmony is a trademark of Logitech. This is an independent, unofficial project, not endorsed by or connected to Logitech in any way. The name says what the software is compatible with, nothing more.