Water cooler monitor service to send temperature information to the cooler monitor in linux. Tested with Mancer.
https://github.com/jgardona/wcoolmon.git
Water Cooler Monitor is a simple linux service to send temperature information in Cโฐ to your water cooler display. Its build to fix the absence of software support for linux systems.
โฏ wcoolmon -h
Usage: wcoolmon [OPTIONS]
Options:
-v, --vendor-id <VENDOR_ID> HID device vendor Id [default: 43656]
-p, --product-id <PRODUCT_ID> HID device product Id [default: 34406]
-i, --interval <INTERVAL> Time interval to update temperature info [default: 1000]
-r, --verbose Verbose. Prints temperature info in Cโฐ to stdout
-h, --help Print help
-V, --version Print version
โฏ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID aa88:8666 ไธ่้ญ็ ็ตๅญ็งๆ ๆธฉๅบฆๆพ็คบHID่ฎพๅค **
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 002: ID 0bda:b82c Realtek Semiconductor Corp. 802.11ac NIC
After run wcoolmon with the necessary options options above and fill your vendor id and product id water cooler hardware:
โฏ sudo wcoolmon -v<vendor_id> -p<product_id>
Installation: First of all, you need to clone this repository and compile wcoolmon. Its a Rust* application static contained, thats it, you dont need to care with dependencies at runtime (only in compile time). So, using gh github commandline, or git, just clone the repository:
โฏ gh repo clone jgardona/wcoolmon
Build the release profile version of this service. Its configured to be high optimized at level z, and remove unecessary strings from the executable to save size. Once in wcoolmon root folder:
โฏ cargo build --release
1- Installing the service:
/usr/local/bin.
- Create a **systemd** in /etc/systemd/system/wcoolmon.service`โฏ nano /etc/systemd/system/wcoolmon.service
The service template:
[Unit]
Description=Water Cooler Monitor
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/wcoolmon
Restart=always
User=root
[Install]
WantedBy=multi-user.target
โฏ sudo systemctl daemon-reload
โฏ sudo systemctl start wcoolmon.service
โฏ systemctl status wcoolmon.service
You must see something like this:
โฏ systemctl status wcoolmon.service
โ wcoolmon.service - Water Cooler Monitor
Loaded: loaded (/etc/systemd/system/wcoolmon.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/service.d
โโ10-timeout-abort.conf
Active: active (running) since Sun 2025-12-07 16:38:28 -03; 34min ago
Invocation: 551794869fa34392b87a4521a45932bd
Main PID: 1188 (wcoolmon)
Tasks: 1 (limit: 18817)
Memory: 1.8M (peak: 3.8M)
CPU: 10.609s
CGroup: /system.slice/wcoolmon.service
โโ1188 /usr/local/bin/wcoolmon
Dec 07 16:38:28 fedora systemd[1]: Started wcoolmon.service - Water Cooler Monitor.
Dec 07 16:38:28 fedora wcoolmon[1188]: Connected to Device: 8666