HarmonyHub is an event based .NET library for interacting with a Logitech Harmony Hub.
Run the following command in the NuGet Package Manager console to install the library:
PM> Install-Package HarmonyHub
The Logitech Harmony Hub exposes an XMPP server on port 5222 that this library makes use of. While there are several XMPP libraries available for .NET, due to various issues with all of them, we chose to create our own internal implementation based on Sharp.Xmpp.
The library leverages an event based approach as it felt more natural for a library that needed to listen for changes published from the hub itself.
This library purposefully avoids any dependencies on third party libraries.
See wiki.
Lots of inspiration taken from various places.
- Sharp.Xmpp for much of the groundwork of the Xmpp implementation used in this library
- PyHarmony for an excellent blueprint of the authorization process (https://github.com/jterrace/pyharmony/blob/master/PROTOCOL.md)
- hdurdle's Harmony project for inspiration of a baseline implementation
- ctorx's JSON serializer helper to eliminate any reliance or dependency on JSON.Net, etc.
This library is released under the MIT license.
Please create a new issue on the GitHub project homepage.