Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NZXT 2023 RGB Controller #690

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

maxawake
Copy link

@maxawake maxawake commented Apr 5, 2024

Describe what the changes are meant to address.

Added driver support for the new NZXT 2023 RGB Controller, shipped e.g. with NZXT Kraken 240/360 Elite. I used the smart_device base class to keep the API. The control of the RGB lighting is similar to the smart devices and other controllers, the exact protocol is just a little bit different. I also added the changes @mthier to support RGB controllers with other IDs.

Fixes:
Closes: #550, #606
Related: (maybe) #541


Checklist:

New CLI flag?

  • Adjust the completion scripts in extra/completions/

New device?

  • Regenerate extra/linux/71-liquidctl.rules (instructions in the file header)
  • Add entry to the README's supported device list with applicable notes and git MRLV

New driver?

  • Document the protocol in docs/developer/protocol/

@aleksamagicka
Copy link
Member

aleksamagicka commented Apr 27, 2024

(Sorry about the CI failure for MacOS, I reran it here just to test as it seems that Github changed something and it consistently fails)

@jonasmalacofilho jonasmalacofilho self-requested a review May 10, 2024 05:09
Copy link
Member

@jonasmalacofilho jonasmalacofilho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left a few minor notes.


[...] shipped e.g. with NZXT Kraken 240/360 Elite.

Can you explain in a bit more detail the relationship between this RGB-only controller and those coolers.

I don't see a reference of it being shipped with those coolers, and we already (supposedly) support them, so I'm a bit lost here.

@@ -151,6 +151,7 @@ Device notes are sorted alphabetically, major (upper case) notes before minor
| Fan/LED controller | [NZXT RGB & Fan Controller (3+6 channels)](docs/nzxt-hue2-guide.md) | <sup>_hp_</sup> | 1.12.1 |
| Fan/LED controller | [NZXT Smart Device](docs/nzxt-smart-device-v1-guide.md) | <sup>_h_</sup> | 1.11.1 |
| Fan/LED controller | [NZXT Smart Device V2](docs/nzxt-hue2-guide.md) | <sup>_h_</sup> | 1.11.1 |
| FAN/LED controller | [NZXT 2023 RGB Controller](docs/nzxt-smart-device-v1-guide.md) | <sup>_p_</sup> | git |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| FAN/LED controller | [NZXT 2023 RGB Controller](docs/nzxt-smart-device-v1-guide.md) | <sup>_p_</sup> | git |
| LED controller | [NZXT 2023 RGB Controller](docs/nzxt-hue2-guide.md) | <sup>_p_</sup> | git |

further down with the other LED-only controller.

On that note, Isn't this new controller closer to the HUE 2 family? It supports HUE 2 accessories, which the V1 family doesn't. Thus, I think it would be a better fit for nzxt-hue2-guide.md.

Or maybe it should get its own driver module and guide?

Finally, why the p (partial support) note?

@@ -695,7 +694,170 @@ def parse_fan_info(msg):
return sorted(ret)


class RGBController(_BaseSmartDevice):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The class name is exposed as part of the API, so it would be better to have a minimally more descriptive name. How about NzxtRgbController?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

NZXT RGB Controller AC-CRFR0-B1 (Included in the NZXT H5 Elite case)
3 participants