Are you a Linux user that wants to use an Aquaero 5 with your system? Then this thread is for you
Lynix, the original author of
aerotools for the previous generation Aquaero 4 and myself have worked together since late December 2012 to complete the first formal release (rc0) of a new tool: aerotools-ng which supports the Aquaero 5.
The current version is limited to read only (for sensor data and settings), but we plan to add write support (for setting time, changing settings, etc) as soon as it is discovered how to do so.
This code is provided entirely free of charge by the programmers in their spare time and is neither endorsed, nor supported by Aqua Computer in any way.
LATEST STABLE RELEASE: rc0
https://github.com/lynix/aerotools-ng/archive/rc0.tar.gz
Git tree: main
https://github.com/lynix/aerotools-ng
Latest git source tarball:
https://github.com/lynix/aerotools-ng/tarball/master
Features:
-Support for firmware 1027 (must uncomment appropriate line in the Makefile)
-Support for firmware 1028-1030 (default)
-Both human readable, and machine parsable output modes
-Uses Linux native hiddev and requires no external dependencies
-Supports a single device via autodiscovery and multiple devices by specifying the device name
-Supports both sensor and settings data
-Can export realtime sensor data to SNMP for use with an NMS or graphing utility
-Plugin for
Munin using local aerocli output
-Templates for
Cacti using SNMP data from a local or remote system to produce
pretty graphs
-Can dump raw sensor and settings HID report data to files for analysis
Sample output:
Default (
-o default)
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
----------- System -----------
Time: 2013-04-27 23:58:04
Uptime: 13d 10:47:32
CPU Temp: 40.78 °C
---- Temperature Sensors -----
Sensor 1: 30.17 °C
------------ Fans ------------
Fan 1: 3108rpm @ 99% 34 °C
Fan 4: 0rpm @ 99% 34 °C
Fan 5: 0rpm @ 99% 51 °C
Fan 6: 0rpm @ 99% 53 °C
Fan 7: 0rpm @ 99% 50 °C
-------- Flow Sensors --------
------- Liquid Levels --------
|
Default full (
-a -o default)
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
----------- System -----------
Time (UTC) = 2013-04-28 08:07:07
Time (local) = 2013-04-28 00:07:07
Uptime = 13d 10:56:35
Uptime total = 01y 127d 19:33:04
Serial number = XXXXX-YYYYY
Firmware = 1027
Bootloader = 101
Hardware = 5600
CPU Temp = 40.78 °C (+0.00)
---- Temperature Sensors -----
Sensor 1 = 28.69 °C (+0.00)
Sensor 2 = not connected
Sensor 3 = not connected
Sensor 4 = not connected
Sensor 5 = not connected
Sensor 6 = not connected
Sensor 7 = not connected
Sensor 8 = not connected
Sensor 9 = not connected
Sensor 10 = not connected
Sensor 11 = not connected
Sensor 12 = not connected
Sensor 13 = not connected
Sensor 14 = not connected
Sensor 15 = not connected
Sensor 16 = not connected
---- Virtual Sensors -----
Sensor 1 = 31.15 °C (+0.00)
Sensor 2 = not connected
Sensor 3 = not connected
Sensor 4 = not connected
---- Software Sensors -----
Sensor 1 = 51.00 °C (+0.00)
Sensor 2 = not connected
Sensor 3 = not connected
Sensor 4 = not connected
Sensor 5 = not connected
Sensor 6 = not connected
Sensor 7 = not connected
Sensor 8 = not connected
...
|
Export (
-o export)
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
SYS_TIME_LOCAL='2013-04-28 00:10:39'
SYS_UPTIME='13d 11:00:07'
SYS_TEMP_CPU1=40.54
SYS_TEMP_CPU1_OFFS=0.00
SYS_TEMP_CPU2_OFFS=0.00
SYS_TEMP_CPU3_OFFS=0.00
SYS_TEMP_CPU4_OFFS=0.00
SYS_TEMP_CPU5_OFFS=0.00
SYS_TEMP_CPU6_OFFS=0.00
SYS_TEMP_CPU7_OFFS=0.00
SYS_TEMP_CPU8_OFFS=0.00
TEMP1=28.56
TEMP1_OFFS=0.00
VIRT_TEMP1=31.00
VIRT_TEMP1_OFFS=0.00
SOFT_TEMP1=51.00
SOFT_TEMP1_OFFS=0.00
FAN1_RPM=2901
FAN1_DUTY_CYCLE=99.41
FAN2_RPM=0
FAN2_DUTY_CYCLE=0.00
FAN3_RPM=0
FAN3_DUTY_CYCLE=0.00
FAN4_RPM=0
FAN4_DUTY_CYCLE=99.35
FAN5_RPM=0
FAN5_DUTY_CYCLE=99.35
FAN6_RPM=0
FAN6_DUTY_CYCLE=99.35
FAN7_RPM=0
FAN7_DUTY_CYCLE=99.35
FLOW1=0.0
FLOW2=0.0
FLOW3=0.0
FLOW4=0.0
FLOW5=0.0
FLOW6=0.0
FLOW7=0.0
FLOW8=0.0
FLOW9=0.0
FLOW10=0.0
FLOW11=0.0
FLOW12=0.0
FLOW13=0.0
FLOW14=0.0
|
Export full (
-a -o export)
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
SYS_TIME_LOCAL='2013-04-28 00:12:04'
SYS_UPTIME='13d 11:01:32'
SYS_TEMP_CPU1=40.29
SYS_TEMP_CPU1_OFFS=0.00
SYS_TEMP_CPU2_OFFS=0.00
SYS_TEMP_CPU3_OFFS=0.00
SYS_TEMP_CPU4_OFFS=0.00
SYS_TEMP_CPU5_OFFS=0.00
SYS_TEMP_CPU6_OFFS=0.00
SYS_TEMP_CPU7_OFFS=0.00
SYS_TEMP_CPU8_OFFS=0.00
TEMP1=28.35
TEMP1_OFFS=0.00
VIRT_TEMP1=30.87
VIRT_TEMP1_OFFS=0.00
SOFT_TEMP1=51.00
SOFT_TEMP1_OFFS=0.00
FAN1_RPM=2881
FAN1_DUTY_CYCLE=99.41
FAN2_RPM=0
FAN2_DUTY_CYCLE=0.00
FAN3_RPM=0
FAN3_DUTY_CYCLE=0.00
FAN4_RPM=0
FAN4_DUTY_CYCLE=99.35
FAN5_RPM=0
FAN5_DUTY_CYCLE=99.35
FAN6_RPM=0
FAN6_DUTY_CYCLE=99.35
FAN7_RPM=0
FAN7_DUTY_CYCLE=99.35
FLOW1=0.0
FLOW2=0.0
FLOW3=0.0
FLOW4=0.0
FLOW5=0.0
FLOW6=0.0
FLOW7=0.0
FLOW8=0.0
FLOW9=0.0
FLOW10=0.0
FLOW11=0.0
FLOW12=0.0
FLOW13=0.0
FLOW14=0.0
SYS_TIME_UTC='2013-04-28 08:12:04'
SYS_UPTIME_TOTAL='01y 127d 19:38:01'
SYS_SERIAL=XXXXX-YYYYY
SYS_FW=1027
SYS_LOADER=101
SYS_HW=5600
SYS_UNIT_TEMP='°C'
SYS_UNIT_FLOW='l/h'
SYS_UNIT_PRESS='bar'
SYS_LANG='English'
SYS_DEC_SEP='point'
SYS_TIME_FMT='12 hour'
SYS_DATE_FMT='Day.Month.Year'
SYS_TIME_ADST='Disabled'
SYS_TIME_ZONE=-8
SYS_STBY_ACT_OFF='No action'
SYS_STBY_ACT_ON='No action'
KEYS_DISABLE='Disabled'
KEYS_BEEP='Loud'
KEYS_BRIGHT_STBY=5
KEY_SENS_DOWN=3
KEY_SENS_ENTR=8
KEY_SENS_UP=2
KEY_SENS_P1=4
KEY_SENS_P2=5
KEY_SENS_P3=6
KEY_SENS_P4=7
DISP_ILLUM_MODE='Automatic off'
DISP_CONTRAST=45
DISP_CONTRAST_STBY=65
DISP_BRIGHT_USE=95
DISP_BRIGHT_IDLE=35
DISP_BRIGHT_TIME=239
DISP_BRIGHT_STBY=10
DISP_BRIGHT_STBY_TIME=11
DISP_MODE='Normal'
DISP_TIME_MENU=61
DISP_TIME_APAGE=70
PAGE1_MODE='Show page'
PAGE1_TIME=15
PAGE1_TYPE='Poweradjust 7+8'
PAGE2_MODE='Show page'
PAGE2_TIME=15
PAGE2_TYPE='Aquaero info'
PAGE3_MODE='Show page'
PAGE3_TIME=15
PAGE3_TYPE='Sensor 1-4'
...
|
---
Usage instructions: Run "aerocli -h" to see options:
Usage: . [-doaDSh]
-d <device> Use given device (no autodiscovery)
-o <format> Output format (default, export)
-a Print all available data
-D <file> Dump data to file
-S <file> Dump settings to file
-h Display usage information
---
FAQ
Q: I get a permissions error when running aerocli.
A: Ensure the user you are running aerocli as has sufficient privileges to read the /dev/usb/hiddev[n] device. You can either do this manually by identifying the device node using `lsusb` (looking for the Vendor- and Product-ID), or just install a udev rule like this one:
ATTRS{idVendor}=="0c70", ATTRS{idProduct}=="f001", GROUP="aquaero", MODE="0640"
This will give all members of the 'aquaero' group read access to the device.
As the Aquaero5(R) identifies itself as multiple devices (USB keyboard, mouse and the actual device we want to query) you have to examine which device node represents the data source.
In my case, there is /dev/usb/hiddev[0-2] which all match the udev rule provided above. The correct one for me is /dev/usb/hiddev0, but I don't know whether it is always the first one. Just try as stated under USAGE - if you choose the wrong one there will simply be no output at all.
Q: My sensor readings are all totally wrong and devices I don't even have connected are shown.
A: Have you compiled aerotools-ng for the firmware version on your device? The default settings support firmware 1028-1030, but if you are using 1027 you must uncomment the following line in the Makefile:
#CFLAGS += -D'AQ5_FW_TARGET=1027'
If you are using a firmware version newer than 1030, please contact the developers to let us know a new firmware version has been released.
Q: I have a multiswitch, MPS, aqualis XT, aquastream XT, or one of the aquabus-enabled pumps and don't see my sensor/settings data.
A: The aerotools-ng authors would like to speak with you. Neither of us have these devices and currently there is no support for them in aerotools-ng. We would like to add support but need data/settings dumps from your setup to locate/decode the appropriate bytes in the HID reports that contain this data. Contact details for the developers is on Github.
Q: I don't see data for sensor X in the aerocli-output.
A: Have you tried running with the -a switch? If so, and the sensor reports "not connected" you may have faulty wiring on your sensor (the Aquaero 5 reports an open circuit)
Q: I have another type of problem.
A: Please post to this thread describing the problem in detail, and we will do our best to help.
Q: I am a developer and want to help out. Where do I start?
A: We are always interested in additional contributions to aerotools-ng. The best way to get involved is to clone
JinTu's devel branch of aerotools-ng, add your enhancement, then send a pull request with a full description of the change when you are done. JinTu does all the integration testing in his repo before promoting changes upstream.