分页: 1 / 1

小米空气净化器接入遇到点问题

发表于 : 周六 10月 05, 2019 13:54
ldxfy
参考https://post.smzdm.com/p/722747/
能够通过命令获取到净化器的各项数值,并能控制设备运行,将所需的两个文件拷贝到C:\Program Files (x86)\Domoticz\plugins\domoticz-AirPurifier下,硬件中能够找到AirPurifier,添加完成后日志提示:
Error: (小米空气净化器) Unrecognized error: [WinError 2] 系统找不到指定的文件。
设备中只有:
小米空气净化器 - Power
小米空气净化器 - Source
小米空气净化器 - Fan Favorite level
点电源开关日志提示:
2019-10-05 11:57:05.840 Error: (小米空气净化器) Unrecognized error: [WinError 2] 系统找不到指定的文件。
2019-10-05 11:59:44.679 Error: (小米空气净化器) 'onCommand' failed 'FileNotFoundError'.
2019-10-05 11:59:44.679 Error: (小米空气净化器) ----> Line 581 in 'C:\Program Files (x86)\Domoticz\plugins\domoticz-AirPurifier\plugin.py', function onCommand
2019-10-05 11:59:44.681 Error: (小米空气净化器) ----> Line 329 in 'C:\Program Files (x86)\Domoticz\plugins\domoticz-AirPurifier\plugin.py', function onCommand
2019-10-05 11:59:44.681 Error: (小米空气净化器) ----> Line 626 in 'C:\Program Files (x86)\Python35-32\Lib\subprocess.py', function check_output
2019-10-05 11:59:44.681 Error: (小米空气净化器) ----> Line 693 in 'C:\Program Files (x86)\Python35-32\Lib\subprocess.py', function run
2019-10-05 11:59:44.683 Error: (小米空气净化器) ----> Line 972 in 'C:\Program Files (x86)\Python35-32\Lib\subprocess.py', function __init__
2019-10-05 11:59:44.683 Error: (小米空气净化器) ----> Line 1239 in 'C:\Program Files (x86)\Python35-32\Lib\subprocess.py', function _execute_child
求助!!

Re: 小米空气净化器接入遇到点问题

发表于 : 周六 10月 05, 2019 20:03
DT27
引用你看的教程:
然后尝试看能否获得小米空净2的当前状态:

jack@lot-server:~/domoticz/plugins$ cd domoticz-AirPurifier/
jack@lot-server:~/domoticz/plugins/domoticz-AirPurifier$ ./MyAir.py IP token
执行下看看,能获取到吗?估计不行。

这脚本是给linux执行的。
比如plugin.py文件144行,

代码: 全选

data = subprocess.check_output(['bash', '-c', './MyAir.py ' + addressIP + ' ' + token], cwd=Parameters["HomeFolder"])
bash -c 这是linux里的命令。
win里应该改成:

代码: 全选

data = subprocess.check_output(['python3', './MyAir.py ' + addressIP + ' ' + token], cwd=Parameters["HomeFolder"])
我感觉应该这么改,你试试。
还有其它地方有check_output的都要改。

Re: 小米空气净化器接入遇到点问题

发表于 : 周六 10月 05, 2019 21:28
ldxfy
DT27 写了: 周六 10月 05, 2019 20:03 引用你看的教程:
然后尝试看能否获得小米空净2的当前状态:

jack@lot-server:~/domoticz/plugins$ cd domoticz-AirPurifier/
jack@lot-server:~/domoticz/plugins/domoticz-AirPurifier$ ./MyAir.py IP token
执行下看看,能获取到吗?估计不行。

这脚本是给linux执行的。
比如plugin.py文件144行,

代码: 全选

data = subprocess.check_output(['bash', '-c', './MyAir.py ' + addressIP + ' ' + token], cwd=Parameters["HomeFolder"])
bash -c 这是linux里的命令。
win里应该改成:

代码: 全选

data = subprocess.check_output(['python3', './MyAir.py ' + addressIP + ' ' + token], cwd=Parameters["HomeFolder"])
我感觉应该这么改,你试试。
还有其它地方有check_output的都要改。
辛苦了
<AirPurifierStatus power=off, aqi=1, average_aqi=25, temperature=24.3, humidity=
46%, mode=OperationMode.Auto, led=True, led_brightness=None, illuminance=3, buzz
er=False, child_lock=False, favorite_level=14, filter_life_remaining=94, filter_
hours_used=179, use_time=635100, purify_volume=7996, motor_speed=0, motor2_speed
=None, volume=None, filter_rfid_product_id=0:0:30:33, filter_rfid_tag=
, filter_type=FilterType.Regular, learn_mode=False, sleep_mode=SleepMod
e.Off, sleep_time=82047, sleep_mode_learn_count=30, extra_features=0, turbo_mode
_supported=False, auto_detect=None, button_pressed=power>
这是获取的信息,感觉应该没问题,按上面的命令更改了,没有效果,错误提示依旧。

Re: 小米空气净化器接入遇到点问题

发表于 : 周日 10月 06, 2019 10:29
DT27
错误还是这样?行数都一样?
'onCommand' failed 'FileNotFoundError'.
2019-10-05 11:59:44.679 Error: (小米空气净化器) ----> Line 581 in 'C:\Program Files (x86)\Domoticz\plugins\domoticz-AirPurifier\plugin.py', function onCommand
2019-10-05 11:59:44.681 Error: (小米空气净化器) ----> Line 329 in 'C:\Program Files (x86)\Domoticz\plugins\domoticz-AirPurifier\plugin.py', function onCommand

Re: 小米空气净化器接入遇到点问题

发表于 : 周日 10月 06, 2019 16:36
ldxfy
DT27 写了: 周日 10月 06, 2019 10:29 错误还是这样?行数都一样?
'onCommand' failed 'FileNotFoundError'.
2019-10-05 11:59:44.679 Error: (小米空气净化器) ----> Line 581 in 'C:\Program Files (x86)\Domoticz\plugins\domoticz-AirPurifier\plugin.py', function onCommand
2019-10-05 11:59:44.681 Error: (小米空气净化器) ----> Line 329 in 'C:\Program Files (x86)\Domoticz\plugins\domoticz-AirPurifier\plugin.py', function onCommand
是的,错误不变,按说都是pyton的文件,代码跨平台没问题吧