akmadian / NZXTSharp

The one-stop C# SDK for NZXT devices.
https://www.nuget.org/packages/NZXTSharp
GNU General Public License v3.0
53 stars 12 forks source link
csharp dotnet-core hue hueplus kraken nuget nzxt nzxt-hue nzxt-sdk rgb sdk

NZXTSharp

Nuget Discord

NZXTSharp is a C# package that allows interaction with NZXT hardware.

You can find NZXTSharp on NuGet here.

Note: Development of NZXTSharp is quickly becoming too expensive for me to continue. As a college student only working part time (~5 Hrs/ Week), I don't have much money to buy devices for testing. Due to NZXT being unwilling to sponsor this project (in a capacity where they would send me products for testing) at this time, and because most of my income is already spoken for, I have decided to temporarily suspend the addition of support for new devices. I still fully intend to continue development of this SDK when I can afford it, and will always be available for tech support.

Syntax

NZXTSharp's syntax is lightweight, only taking a few lines to get started.

using NZXTSharp;
using NZXTSharp.HuePlus;

HuePlus hue = new HuePlus(); // Create device
Fixed effect = new Fixed(new Color(255, 255, 255)); // Make fixed effect
hue.ApplyEffect(hue.Both, effect); // Apply effect

FAQ

Q: Are there any plans to make an SDK in XX language?
A: As of yet, no. I am focusing on support for the .NET Framework. Python or C++ is most likely next.

Q: Is XX device supported?
A: The Hue+ and KrakenX devices are fully supported, the Hue 2 or the Grid v3 is most likely next.

Documentation

Docs are in a bit of a weird spot right now because I am working on transitioning docs from NZXTSharp's readthedocs.io page to NZXTSharp's DocFX page.

Installation

You can find NZXTSharp on Nuget. If you are adding through VS and want to get pre-releases, be sure to check Include Prerelease.

You can also install with:

The package manager CLI: PM> Install-Package NZXTSharp
The .NET CLI:                      > dotnet add package NZXTSharp
Or, the Packet CLI:              > packet add NZXTSharp

Disclaimer

NZXTSharp is provided under the GNU GPLv3 license, but I want to re-iterate these stipulations:

NZXTSharp does not currently support any kind of rate limiting. I would reccomend rate limiting effect applications to ~90/ sec maximum. I believe that if you go over this, there is a potential for fried hardware, please use your best judgement.

Neither I (akmadian), or NZXTSharp are affiliated with NZXT.

Please keep in mind that NZXTSharp is in development, and will have breaking changes in the future.

A big thank you to Pet0203, and jonasmalacofilho for their help in reverse engineering the protocols and building NZXTSharp.

</> With ♥ by Ari Madian