控制飞利浦空气净化器的命令行程序
项目描述
控制飞利浦空气净化器的命令行应用程序。支持通过HTTP、CoAP和加密CoAP通信的设备。
安装
需要Python 3.4+。使用pip3
安装
$ pip3 install py-air-control
如果你的设备使用CoAP,请更新CoAPthon3
依赖项以获取对已知多个错误修复
$ pip3 install -U git+https://github.com/rgerganov/CoAPthon3
Wi-Fi设置
空气净化器可以通过以下步骤连接到Wi-Fi网络
- 将净化器置于配对模式。在AC2729上,这是通过按下电源和儿童锁定按钮3秒钟来完成的。净化器将创建一个开放的“PHILIPS Setup”Wi-Fi网络。
- 将您的电脑连接到“PHILIPS Setup”网络,并通过DHCP获取IP设置。净化器的IP地址将是192.168.1.1。
- 现在您可以重新配置净化器的Wi-Fi网络,如下所示
airctrl --ipaddr 192.168.1.1 --wifi-ssid <your_wifi_ssid> --wifi-pwd <your_wifi_password>
注意:此功能仅适用于通过HTTP工作的设备
在本地网络中的使用
获取IP地址为192.168.0.17的设备的当前状态
$ airctrl --ipaddr 192.168.0.17
[pwr] Power: ON
[pm25] PM25: 4
[rh] Humidity: 32
[rhset] Target humidity: 60
[iaql] Allergen index: 1
[temp] Temperature: 22
[func] Function: Purification & Humidification
[mode] Mode: M
[om] Fan speed: 2
[aqil] Light brightness: 100
[wl] Water level: 100
[cl] Child lock: False
如果您的局域网中只有一个设备,或者您想向所有设备发送命令,则无需指定IP地址(--ipaddr参数)。如果UDP 1900端口未被阻止,将通过SSDP(UPnP)自动检测IP地址。
您可以通过使用方括号中的前缀作为命令行选项来更改设置。例如,要设置风扇速度为2
$ airctrl --om 2
对于AC2889,可能需要指定手动模式和风扇速度
$ airctrl --mode M --om 2
将目标湿度设置为50%
$ airctrl --rhset 50
更改功能为“净化”
$ airctrl --func P
关闭设备电源
$ airctrl --pwr 0
等等
获取过滤器状态
$ airctrl --filters
Pre-filter and Wick: clean in 245 hours
Wick filter: replace in 3965 hours
Active carbon filter: replace in 1565 hours
HEPA filter: replace in 3965 hours
切换通信协议
使用 --protocol 切换通信协议。以下命令将尝试使用加密的 CoAP 协议获取当前状态
$ airctrl --ipaddr 192.168.0.17 --protocol coap
以下命令将尝试使用未加密的 CoAP 协议获取当前状态
$ airctrl --ipaddr 192.168.0.17 --protocol plain_coap
无需 root 权限运行(仅支持 Plain CoAP 协议)
从 Linux 内核 2.6.39 开始支持。
使用 id 命令查询您的组 ID
$ id -g
995
以下命令设置允许创建 ICMP 套接字的组 ID 范围(ping_group_range 内核参数,默认为 "1 0",表示不允许任何组创建 ICMP Echo 套接字)
$ sudo sysctl -w net.ipv4.ping_group_range="0 1000"
net.ipv4.ping_group_range = 0 1000
使其永久生效
$ echo "net.ipv4.ping_group_range=0 1000" | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
net.ipv4.ping_group_range = 0 1000
(另请参阅:https://man7.org/linux/man-pages/man7/icmp.7.html)
不同设备的输出
- 点击此处获取更多示例 here
通过云服务使用
使用 cloudctrl
脚本通过 Philips 云控制您的设备。
首先您需要找到您的设备 ID,开通账户并将账户与设备 ID 配对
$ airctrl --ipaddr 192.168.0.17 --wifi
{'cppid': '9dcc618e9a82045d',
...
$ cloudctrl 9dcc618e9a82045d --pair 192.168.0.17
Creating cloud account ...
Logging in with 000000fff0000019
Client id: 000000fff10d40a1
Client key: NrIBL02WJNFDICqR6FGKig==
Exchanging secret key with the device ...
Saving session_key 512735aa3a5dc2608dfa8997b1b03a29 to /home/rgerganov/.pyairctrl
Pairing with 192.168.0.17 ...
{'return': [0]}
Logging in with 000000fff10d40a1
Sending pair request to cloud service ...
Relationship status: completed
配对操作只需在每个设备上执行一次,在设备的本地网络中。
然后您可以通过使用其 ID 和保存在 ~/.pyairctrl
中的账户来通过互联网控制已配对的设备
$ cloudctrl 9dcc618e9a82045d --pwr 1
Logging in with 000000fff10d40a1
Sending event {'pwr': '1'} to device with id 9dcc618e9a82045d
注意:上述所有 ID 和凭证均为随机生成,仅供说明之用 注意:此功能仅适用于通过 HTTP 运作的设备
项目详情
下载文件
下载适用于您平台的应用程序。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。
源代码分布
构建分布
py-air-control-2.3.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0e76ae34beccaef695e5c968029ba82d3e921ffa14971d9100c75cb0ff53f9f1 |
|
MD5 | b85c4c085a911b5b9fbf839114d28393 |
|
BLAKE2b-256 | 8f0ce780e86d7f7594e03a743d3148bfccd24124376b04dae38694d4e9c4e591 |
py_air_control-2.3.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 35a6face93e79acea712852b848149611bfaa4e8045db12322dcc3e5a8a693fa |
|
MD5 | c40bb8fce8ef93f39759d643b90b318d |
|
BLAKE2b-256 | d7aac411a4b38c988c9bf5ce7c945929831178d965c6fb250343d3c31d21816a |