1# NZXT Smart Device (V1) and Grid+ V3
2_Driver API and source code available in [`liquidctl.driver.smart_device`](../liquidctl/driver/smart_device.py)._
3
4The Smart Device is a fan and LED controller that ships with the H200i, H400i, H500i and H700i cases.
5
6It provides three independent fan channels with standard 4-pin connectors.  Both PWM and DC control is supported, and the device automatically chooses the appropriate mode.
7
8Additionally, up to four chained HUE+ LED strips or five chained Aer RGB fans can be driven from a single RGB channel.  The firmware installed on the device exposes several presets, most of them familiar to other NZXT products.
9
10A microphone is also present onboard for noise level optimization through CAM and AI.
11
12This driver also supports the NZXT Grid+ V3 fan controller, which has six fan speed channels but no LED support or microphone.
13
14All configuration is done through USB, and persists as long as the device still gets power, even if the system has gone to Soft Off (S5) state.  The device also reports the state of each fan channel, as well as speed, voltage and current.
15
16All capabilities available at the hardware level are supported, but other features offered by CAM, like noise level optimization and presets based on CPU/GPU temperatures, have not been implemented.
17
18
19## Initialization
20
21After powering on from Mechanical Off, or if there have been hardware changes, the device must first be initialized.  This takes a few seconds and should detect all connected fans and LED accessories.  Only then monitoring, proper fan control and all lighting effects will be available.
22
23```
24# liquidctl initialize
25```
26
27
28## Monitoring
29
30The device can report fan information for each channel, the noise level at the onboard sensor, as well as the type of the connected LED accessories.
31
32```
33# liquidctl status
34NZXT Smart Device (V1)
35├── Fan 1 speed                 1473  rpm
36├── Fan 1 voltage              11.91  V
37├── Fan 1 current               0.01  A
38├── Fan 1 control mode           PWM
39├── Fan 2 speed                 1341  rpm
40├── Fan 2 voltage              11.91  V
41├── Fan 2 current               0.02  A
42├── Fan 2 control mode            DC
43├── Fan 3 speed                 1352  rpm
44├── Fan 3 voltage              11.91  V
45├── Fan 3 current               0.02  A
46├── Fan 3 control mode           N/A
47├── Firmware version           1.0.7
48├── LED accessories                2
49├── LED accessory type    HUE+ Strip
50├── LED count (total)             20
51└── Noise level                   65  dB
52```
53
54
55## Fan speeds
56
57Fan speeds can only be set to fixed duty values.
58
59```
60# liquidctl set fan2 speed 90
61```
62
63| Channel | Minimum duty | Maximum duty | Note |
64| --- | --- | --- | - |
65| fan1 | 0% | 100% ||
66| fan2 | 0% | 100% ||
67| fan3 | 0% | 100% ||
68| fan4 | 0% | 100% | Grid+ V3 only |
69| fan5 | 0% | 100% | Grid+ V3 only |
70| fan6 | 0% | 100% | Grid+ V3 only |
71| sync | 0% | 100% | all available channels |
72
73*Always check that the settings are appropriate for the use case, and that they correctly apply and persist.*
74
75
76## RGB lighting
77
78_Only NZXT Smart Device (V1)_
79
80For lighting, the user can control up to 40 LEDs, if all four strips or five fans are connected.  They are chained in a single channel: `led`.
81
82```
83# liquidctl set led color fixed af5a2f
84# liquidctl set led color fading 350017 ff2608 --speed slower
85# liquidctl set led color pulse ffffff
86# liquidctl set led color marquee-5 2f6017 --direction backward --speed slowest
87```
88
89Colors can be specified in RGB, HSV or HSL (see [Supported color specification formats](../README.md#supported-color-specification-formats)), and each animation mode supports different number of colors.  The animation speed can be customized with the `--speed <value>`, and five relative values are accepted by the device: `slowest`, `slower`, `normal`, `faster` and `fastest`.
90
91Some of the color animations can be in either the `forward` or `backward` direction.
92This can be specified by using the `--direction` flag.
93
94| Mode | Colors | Notes |
95| --- | --- | --- |
96| `off` | None |
97| `fixed` | One |
98| `super-fixed` | Up to 40, one for each LED |
99| `fading` | Between 2 and 8, one for each step |
100| `spectrum-wave` | None |
101| `super-wave` | Up to 40 |
102| `marquee-<length>` | One | 3 ≤ `length` ≤ 6 |
103| `covering-marquee` | Up to 8, one for each step |
104| `alternating` | Two |
105| `moving-alternating` | Two |
106| `breathing` | Up to 8, one for each step |
107| `super-breathing` | Up to 40, one for each LED | Only one step |
108| `pulse` | Up to 8, one for each pulse |
109| `candle` | One |
110| `wings` | One |
111
112#### Deprecated modes
113
114The following modes are now deprecated and the use of the `--direction backward` is preferred,
115they will be removed in a future version and are kept for now for backward compatibility.
116
117| Mode | Colors | Notes |
118| --- | --- | --- |
119| `backwards-spectrum-wave` | None |
120| `backwards-super-wave` | Up to 40 |
121| `backwards-marquee-<length>` | One | 3 ≤ `length` ≤ 6 |
122| `covering-backwards-marquee` | Up to 8, one for each step |
123| `backwards-moving-alternating` | Two |
124