• 16.04.2024, 10:29
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

aerotools-ng: Linux support for the Aquaero 5

Sonntag, 28. April 2013, 08:59

Are you a Linux user that wants to use an Aquaero 5 with your system? Then this thread is for you :D

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.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »JinTu« (29. Juli 2013, 02:53)

Donnerstag, 25. Juli 2013, 23:31

Ok first: create tool. 3 computers are now under munin/AE5 control.

I can offer a ae5 with two AS (standard) conntcted (via AQUABUS and USB) so if you need some dumps... just say it.

additionally i forked the sources will contribute to the munin plugin. this thing need some love ;)

Freitag, 26. Juli 2013, 01:32

Ok first: create tool. 3 computers are now under munin/AE5 control.

I can offer a ae5 with two AS (standard) conntcted (via AQUABUS and USB) so if you need some dumps... just say it.

additionally i forked the sources will contribute to the munin plugin. this thing need some love ;)


Hi Raptor 2101,

Glad to have another contributor! :)

If you can provide them, I would love to get a settings (-S) dump and a few data (-D) dumps for your system as well as some corresponding screenshots from the Ae5 panel showing the relevant AS screens as they change over time to make the data easier to locate.

Thanks again!

If the forums become to cumbersome, feel free to shoot me an e-mail (my contact details are in the aerotools-ng README)

Freitag, 26. Juli 2013, 09:40

As i'am using a native Linux, i'am unable to make screenshots an DataDumps at the same time (maybe i can remote control my canon-cam) but you will receive several dumps and the corresponding values written down by me ;)

Freitag, 26. Juli 2013, 09:53

As i'am using a native Linux, i'am unable to make screenshots an DataDumps at the same time (maybe i can remote control my canon-cam) but you will receive several dumps and the corresponding values written down by me ;)


Understood. Written down values work just as well, but it can be tricky to write them down quickly enough if the values are rapidly changing ;)

The idea is that the value captured should match that found in the data/settings dumps to make them easier to find. Also, please be sure to send written details of the AS settings and options. I will likely need you to change a few of these temporarily to derive what bytes equate to which settings (this is how I decoded the majority of HID report 0xB)

Freitag, 26. Juli 2013, 10:25

You will get a series of data ;)

The Rapid change can be excluded for the first try, cause the AS run at a steady frequency. I have to change this manually. So for the first try, perfect circumstances ;)

Freitag, 26. Juli 2013, 19:12

Ok here are your dumps ...analyse.zip

Freitag, 26. Juli 2013, 19:34

Ok here are your dumps ...[attach]4182[/attach]


Thanks! I'll start digging....

Can you also provide the configuration options for the AS? (e.g. Frequency, Mode, deairation mode, etc..) I see that you have varied the settings a bit each time which is exactly what I need, but also want to know if there are other settings available that were not changed for these dumps.

Freitag, 26. Juli 2013, 21:13

there isn't a lot more to configure via AquaBus (from the AE5 to AS)

You can only setuo the Mode (Automatic, Manual, deairation) and if you choose the manual mode, you can setup the target frequency.

during the test (till the 6th) i configured the manual with different frequencies.
In the 6th run i configured the automatic mode

in attached to this post i have a dump while my AS1 is in deairation-mode...


There is lot more to configure, but than you have to run the aerotools against the AS directly instead of AE5->(AquaBus)->AS. I would delay this ;)

deairation.zip

Freitag, 26. Juli 2013, 23:49

there isn't a lot more to configure via AquaBus (from the AE5 to AS)

You can only setuo the Mode (Automatic, Manual, deairation) and if you choose the manual mode, you can setup the target frequency.

during the test (till the 6th) i configured the manual with different frequencies.
In the 6th run i configured the automatic mode

in attached to this post i have a dump while my AS1 is in deairation-mode...


There is lot more to configure, but than you have to run the aerotools against the AS directly instead of AE5->(AquaBus)->AS. I would delay this ;)

[attach]4183[/attach]


Thanks, I found the settings:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Starting at 0x2fd:
55Hz for AS1 and AS2, manual mode
01 00 37 01 00 37

AS1
	Mode 0x2fd
		manual = 01
		automatic = 00
		deairation = 02
		offline = ff
	frequency 0x2fe
		00 37 => 55Hz (Per code snippet from Sebastian the range is 50-74)
AS2 
	Mode 0x300
		manual = 01
		automatic = 00
		deairation = 02
		offline = ff
	frequency 0x301
		00 37 => 55Hz (Per code snippet from Sebastian the range is 50-74)


Now on to the data...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »JinTu« (27. Juli 2013, 20:22)

Samstag, 27. Juli 2013, 01:41

Ok, I found the data starting at 0x1c9 (firmware 1027) or 0x1cb (firmware 1028-1030):

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
default (no AS attached)
02 ff ff ff ff ff ff ff 02 ff ff ff ff ff ff ff 

55Hz for AS1 and AS2, manual mode
01 01 00 37 04 e2 01 b1 01 01 00 37 04 ec 01 b4

AS1
01 01 00 37 04 e2 01 b1
	status 0x1c9 (1027)
		available = 01
		alarm = 02
	mode 0x1ca (1027)
		manual = 01
		automatic = 00
		deairation = 02
		offline = ff
	frequency 0x1cb (1027)
		00 37 = 55Hz
	voltage 0x1cd
		04 e2 = 12.50V
	current 0x1cf (1027)
		01 b1 = 433mA

AS2
01 01 00 37 04 ec 01 b4
	status 0x1d1 (1027)
		available = 01
		alarm = 02
	mode 0x1d2 (1027)
		manual = 01
		automatic = 00
		deairation = 02
		offline = ff
	frequency 0x1d3 (1027)
		00 37 = 55Hz
	voltage 0x1d5 (1027)
		04 ec = 12.60V
	current 0x1d7 (1027)
		01 b4 = 436mA


Edit: Sebastian provided me with a code snippet that describes the first two bytes. The first byte is a bitfield, and the second byte is of the same type as the settings for frequency mode.

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »JinTu« (28. Juli 2013, 08:35)

Samstag, 27. Juli 2013, 18:44

I i'am done with the munin plugin, i will try to disconnect a AS, i ques one of this two bytes signaling the Connected/Running State

Samstag, 27. Juli 2013, 20:31

I i'am done with the munin plugin, i will try to disconnect a AS, i ques one of this two bytes signaling the Connected/Running State


Cool. I updated my posts above based on a code snippet Sebastian sent me that describes the first two bytes and a previously unknown mode.

I'll start rolling up the changes in my devel branch this weekend and will let you know once it is ready for testing.

Samstag, 27. Juli 2013, 22:16

is there any way to get the configured names out of the CLI tool ?

Samstag, 27. Juli 2013, 22:51

is there any way to get the configured names out of the CLI tool ?


Not currently, but I have figured out how to get to them (currently being tracked by issue #28). I still need to figure out the best method for adding support to aerotools-ng.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »JinTu« (30. Juli 2013, 19:00)

Sonntag, 28. Juli 2013, 01:34

ok the ne munin-plugin is running on my servers. Will test them then next day an do some cosmetics.

Wich one of you both are the more active one (to make the pull-request)?

Sonntag, 28. Juli 2013, 02:10

ok the ne munin-plugin is running on my servers. Will test them then next day an do some cosmetics.

Wich one of you both are the more active one (to make the pull-request)?


Please send all pull requests to my devel branch as I do all the integration testing there before promoting to lynix's repo.

Sonntag, 28. Juli 2013, 10:43

I just pushed the changes to my devel branch with the initial set of enhancements to support the Aquastream. Please give it a try with all output modes (standard/export and -a for both) and let me know if anything looks odd.

Sonntag, 28. Juli 2013, 23:56

Looks good, values are correct!

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
----------- System -----------
Time:      2013-07-28 23:52:58
Uptime:           13d 03:20:01
CPU Temp:             40.04 °C
---- Temperature Sensors -----
Sensor  1:            33.95 °C
Sensor  2:            34.31 °C
Sensor  3:            46.99 °C
Sensor  4:            37.50 °C
Sensor  5:            41.08 °C
Sensor  6:            41.47 °C
Sensor  7:            41.08 °C
Sensor  8:            40.91 °C
------------ Fans ------------
Fan  1:    582rpm @  38% 35 °C
Fan  2:    577rpm @  38% 35 °C
Fan  3:    288rpm @  20% 35 °C
Fan  4:    416rpm @  35% 35 °C
-------- Flow Sensors --------
Flow  1:                72 l/h
------- Liquid Levels --------
Level  1:                  80%
-------- Aquastreams ---------
Aquastream  1: 55Hz @ 12.50V
Aquastream  2: 55Hz @ 12.50V

Quellcode

1
2
3
4
AQUASTREAM1_FREQUENCY=55
AQUASTREAM1_VOLTAGE=12.50
AQUASTREAM2_FREQUENCY=55
AQUASTREAM2_VOLTAGE=12.50

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
Aquastream 1
        frequency mode: Manual
        frequency setting: 55
Aquastream 2
        frequency mode: Manual
        frequency setting: 55
[code]
[code]
AQUASTREAM1_FREQUENCY=55
AQUASTREAM1_VOLTAGE=12.50
AQUASTREAM2_FREQUENCY=55
AQUASTREAM2_VOLTAGE=12.50
AQUASTREAM1_STATUS_AVAILABLE='True'
AQUASTREAM1_STATUS_ALARM='False'
AQUASTREAM1_FREQMODE='Manual'
AQUASTREAM1_FREQMODE_SETTING='Manual'
AQUASTREAM1_FREQUENCY_SETTING=55
AQUASTREAM1_CURRENT=432
AQUASTREAM2_STATUS_AVAILABLE='True'
AQUASTREAM2_STATUS_ALARM='False'
AQUASTREAM2_FREQMODE='Manual'
AQUASTREAM2_FREQMODE_SETTING='Manual'
AQUASTREAM2_FREQUENCY_SETTING=55
AQUASTREAM2_CURRENT=436

Montag, 29. Juli 2013, 02:04

Looks good, values are correct!


Great! I'll do a pull request for my main branch.

I still need to add support for the SNMP extension before promoting to lynix's devel branch, but will tackle the other two pull requests that came in earlier today first.

Ähnliche Themen