jurkovic-nikola / OpenLinkHub

Open source interface for iCUE LINK Hub and other Corsair AIOs, Hubs for Linux
GNU General Public License v3.0
31 stars 3 forks source link
corsair corsair-aio corsair-linux fan-controller lcd-controller lcd-screens liquid-cooling rgb-controller

OpenLinkHub interface for Linux

Open source Linux interface for iCUE LINK Hub and other Corsair AIOs, Hubs.

Build

Web UI

Info

Device VID PID Sub Devices
iCUE LINK System Hub 1b1c 0c3f
ShowiCUE LINK QX RGB
iCUE LINK RX
iCUE LINK RX RGB
iCUE LINK RX MAX
iCUE LINK RX MAX RGB
iCUE LINK LX RGB
iCUE LINK H100i
iCUE LINK H115i
iCUE LINK H150i
iCUE LINK H170i
XC7 Elite
XG7
XD5 Elite
XD5 Elite LCD
VRM Cooling Module
iCUE LINK TITAN H100i
iCUE LINK TITAN H150i
iCUE LINK TITAN H115i
iCUE LINK TITAN H170i
LCD Pump Cover
iCUE LINK XG3 HYBRID
iCUE COMMANDER Core 1b1c 0c32
0c1c
ShowH100i ELITE CAPELLIX
H115i ELITE CAPELLIX
H150i ELITE CAPELLIX
H170i ELITE CAPELLIX
H100i ELITE LCD
H150i ELITE LCD
H170i ELITE LCD
H100i ELITE LCD XT
H115i ELITE LCD XT
H150i ELITE LCD XT
H170i ELITE LCD XT
H100i ELITE CAPELLIX XT
H115i ELITE CAPELLIX XT
H150i ELITE CAPELLIX XT
H170i ELITE CAPELLIX XT
1x Temperature Probe
4-LED RGB Fan
8-LED RGB Fan
QL Fan Series
LL Fan Series
ML Fan Series
Any PWM Fan
iCUE COMMANDER Core XT 1b1c 0c2a
ShowExternal RGB Hub
2x Temperature Probe
4-LED RGB Fan
8-LED RGB Fan
QL Fan Series
LL Fan Series
ML Fan Series
Any PWM Fan
H55 RGB AIO
H100 RGB AIO
H150 RGB AIO
iCUE H100i RGB ELITE 1b1c 0c35
0c40
iCUE H115i RGB ELITE 1b1c 0c36
iCUE H150i RGB ELITE 1b1c 0c37
0c41
Lighting Node CORE 1b1c 0c1a
ShowHD RGB Series Fan
LL RGB Series Fan
ML PRO RGB Series Fan
QL RGB Series Fan
8-LED Series Fan
SP RGB Series Fan
Lighting Node PRO 1b1c 0c0b
Show2x External RGB Hub
HD RGB Series Fan
LL RGB Series Fan
ML PRO RGB Series Fan
QL RGB Series Fan
8-LED Series Fan
SP RGB Series Fan
Commander PRO 1b1c 0c10
Show2x External RGB Hub
4x Temperature Probe
Any PWM Fan

Installation (automatic)

As of 0.1.5 version, OpenLinkHub ships with .deb and .rpm packages for ease of installation. Packages will automatically set up all the required device and folder permissions. Packages will also take care of systemd service creation and first startup.

  1. Download either .deb or .rpm package from the latest Release, depends on your Linux distribution
  2. Open terminal
  3. Navigate to the folder where the package is downloaded
    
    # Debian Based (deb)
    $ sudo apt install ./OpenLinkHub_X.X.X_amd64.deb 

RPM based (rpm)

$ sudo rpm -ivh OpenLinkHub-X.X.X-1.x86_64.rpm


## Installation (manual)
### 1. Requirements
- libudev-dev
- go 1.22.2 - https://go.dev/dl/
```bash
# Required packages (deb)
$ sudo apt-get install libudev-dev

# Required packages (rpm)
$ sudo dnf install libudev-devel

2. Build & install

$ git clone https://github.com/jurkovic-nikola/OpenLinkHub.git
$ cd OpenLinkHub/
$ go build .
$ chmod +x install.sh
$ sudo sh install.sh

3. Installation from compiled build

# Download latest build from https://github.com/jurkovic-nikola/OpenLinkHub/releases
$ wget https://github.com/jurkovic-nikola/OpenLinkHub/releases/download/0.2.0/OpenLinkHub_0.2.0_amd64.tar.gz
$ tar xvf OpenLinkHub_0.2.0_amd64.tar.gz
$ cd OpenLinkHub/
$ chmod +x install.sh
$ sudo sh install.sh

4. Configuration

{
  "listenPort": 27003,
  "listenAddress": "127.0.0.1",
  "cpuSensorChip": "k10temp",
  "manual": false,
  "frontend": true,
  "metrics": true,
  "dbusMonitor": false
}

$ docker run --privileged -v ./config.json:/opt/OpenLinkHub/config.json openlinkhub

For WebUI access, networking is required

$ docker run --network host --privileged -v ./config.json:/opt/OpenLinkHub/config.json openlinkhub



## Device Dashboard
- Device Dashboard is accessible by browser via link `http://127.0.0.1:27003/`
- Device Dashboard allows you to control your devices. 

## RGB Modes
- RGB configuration is located at `database/rgb.json` file.
### Configuration
- profiles: Custom RGB mode data
  - key: RGB profile name
    - speed: RGB effect speed, from 1 to 10
    - brightness: Color brightness, from 0.1 to 1
    - smoothness: How smooth transition from one color to another is.
      - the smoothness is in range of 1 to 40
    - start: Custom starting color in (R, G, B, brightness format)
    - end: Custom ending color  (R, G, B, brightness format)
      - If you want random colors, remove data from start and end JSON block. `"start":{}` and `"end":{}`

## API
- OpenLinkHub ships with built-in HTTP server for device overview and control.
- Documentation is available at `http://127.0.0.1:27003/docs`