Skip to content
This repository has been archived by the owner on May 10, 2024. It is now read-only.

akmadian/NZXTSharp

Repository files navigation

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.

  • The best place to go for source code documentation, and docs about the SDK's classes and their methods, supported devices and features, and support, is the DocFX page.
  • If you want docs about the device protocols, and related SDKs/ Applications, check out the readthedocs.io 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:

  • This software is provided as is.
  • This software is provided with no warranty.
  • Neither I, nor any of NZXTSharp's collaborators hold any liability for any broken or non-functional hardware resulting from use of this package. Please use your best judgement.

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