rgerganov / py-air-control

Command line app for controlling Philips air purifiers
MIT License
257 stars 52 forks source link

Unknown value 'aqit' on AC2889 #12

Open ekeih opened 5 years ago

ekeih commented 5 years ago

Hi,

first of all I want to thank you for your work! :) It is super cool to have a way to remote control the air purifier without the need of a closed source app.

I recently bought a AC2889 unit with the AC2889_10 version 14 firmware. I realized that the API responds with an additional field that is currently undocumented:

{'aqil': 100,
 'aqit': 7,   <==============
 'cl': False,
 'ddp': '0',
 'dt': 0,
 'dtrs': 0,
 'err': 0,
 'iaql': 1,
 'mode': 'P',
 'om': 's',
 'pm25': 2,
 'pwr': '1',
 'uil': '1'}

I manually added the parameter to the code and now I am even able to set the value via the API. It looks like all integers from 0 to 49664 work. Bigger numbers set the value to 49664 and negative numbers seem to result in an integer underflow.

The device does not make its usual confirmation sound when I change this value. Before I manually changed the value it was 7 and unitl now it did not change automatically.

Does anyone have an idea what this setting/value does?

rgerganov commented 5 years ago

Thanks for the feedback :) I have AC2729 and it has this option as well. I also don't know what it is about and that's why I didn't put it in the script.

markuslaube commented 5 years ago

For Information, I have 2 devices and booth have 'aqit' in debug:

Device 1 (2889):

root@berry:~# /usr/local/bin/airctrl 172.16.2.120 --firmware
{'mandatory': False,
 'name': 'AC2889_10',
 'progress': 0,
 'state': 'idle',
 'statusmsg': '',
 'upgrade': '',
 'version': '14'}
root@berry:~# /usr/local/bin/airctrl 172.16.2.120 --debug
{'aqil': 0,
 'aqit': 4,
 'cl': False,
 'ddp': '0',
 'dt': 0,
 'dtrs': 0,
 'err': 0,
 'iaql': 3,
 'mode': 'P',
 'om': 's',
 'pm25': 10,
 'pwr': '1',
 'uil': '0'}

[pwr]   Power: ON
[pm25]  PM25: 10
[iaql]  Allergen index: 3
[mode]  Mode: auto
[om]    Fan speed: silent
[aqil]  Light brightness: 0
[cl]    Child lock: False
root@berry:~#

Device 2 (5659):

root@berry:~# /usr/local/bin/airctrl 172.16.2.124 --firmware
{'mandatory': False,
 'name': 'AC5659_10',
 'progress': 0,
 'state': 'idle',
 'statusmsg': '',
 'upgrade': '',
 'version': '5'}
root@berry:~# /usr/local/bin/airctrl 172.16.2.120 --debug
{'aqil': 0,
 'aqit': 4,
 'cl': False,
 'ddp': '0',
 'dt': 0,
 'dtrs': 0,
 'err': 0,
 'iaql': 2,
 'mode': 'P',
 'om': 's',
 'pm25': 6,
 'pwr': '1',
 'uil': '0'}

[pwr]   Power: ON
[pm25]  PM25: 6
[iaql]  Allergen index: 2
[mode]  Mode: auto
[om]    Fan speed: silent
[aqil]  Light brightness: 0
[cl]    Child lock: False
root@berry:~#
michalboronski commented 4 years ago

Hi, I observed that this aqit parameter changes as you change in the Air Matters application threshold beyond which AC2889 notifies your mobile of air quality. I think levels are from 1 to 10, but looks like it is not directly PM2.5 value but. Level 10 correspndes to very bad air quality which is somewhere PM2.5 above 75 or even 100

slodki commented 4 years ago
Philips Indoor Allergen Index Indoor PM2.5 µg/m³ Level of Health Concern
12 >95 very poor
11 76-95 very poor
10 56-75 very poor
9 50-55 poor
8 43-49 poor
7 36-42 poor
6 29-35 fair
5 21-28 fair
4 13-20 fair
3 9-12 good
2 5-8 good
1 1-4 good

0 - factory default (cannot be set from Air Matters app - displayed as good in app)

I'll add this option in next PR