客户端python库,用于eva ii pro wifi智能除湿设备,由美的/inventor提供。
midea-inventor-lib的Python项目详细描述
EVA II Pro WiFi智能除湿设备库
" rel="nofollow">
" rel="nofollow">
作者:Andrea Barbaresi=2018、2019=
许可证:GPLv3
此回购协议包含python包,该包实现了一个客户端库,用于连接到由midea/inventor提供的web api,以便远程控制eva ii pro wifi智能除湿设备。
有关除湿器设备的信息,请在此处找到。
您可以在Amazon上购买智能除湿设备(WiFi版本)(以下两个链接包含我的推荐代码):
目标设备
尽管库的设计一般针对任何现有的美的设备,但请注意,目前所实现的功能仅适用于除湿设备(0xA1型设备)。
如果您对开发能够控制美的/inventor空调系统(0xac类型设备)的代码感兴趣,您可以通过balazs nadasdi查看ruby&rails库。/美的空调" rel="nofollow">这里。
先决条件
为了使用提供的python库控制eva ii pro wifi智能除湿器设备,首先需要下载并安装官方应用程序,以便向云平台注册有效用户(需要有效的电子邮件地址)。 谷歌和苹果的应用商店提供官方配套应用:
使用有效凭据(即电子邮件地址和密码)连接后,必须将家庭设备添加到使用应用程序配置的设备列表中(请参阅官方应用程序的手册以完成此任务)。
一旦配置了有效的注册用户和家庭设备,就可以开始使用python库而不是office应用程序通过Internet控制设备(安装库时的客户端和家庭设备都应连接到Internet)。
安装
从pypi安装,使用 蟒蛇. < /P>
pip install midea-inventor-lib
没有安装PIP?尝试安装它,从 命令行:
$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
或者,您可以下载源代码(zip),然后运行:
python setup.py install
您可能需要使用sudo来运行上述命令
开始
在python代码中使用库的最小步骤如下所示:
步骤1:包括python包
步骤2:实例化mide客户端对象
使用明文密码: 使用密码的SHA-256哈希: 启用日志记录(可选): 可以通过在mide客户端构造函数中将"verbose"参数设置为true(默认为false)来启用日志记录。
设置"调试"参数设置为true,以便记录调试消息(默认设置为false)。
将"log file"字符串参数设置为完整路径文件名,以便将库日志消息转换为文件,而不是使用控制台(默认)。
例如: 步骤3:通过登录激活新会话
步骤4:通过检索已配置设备的列表来获取目标设备ID
步骤5:发送控制目标设备的命令
获取设备状态: 开机: 关闭电源: 打开设置: 关闭设置: 设置风扇转速: 设定目标湿度: 设置操作模式: 设置更新状态(用于一次更新多个属性): 此回购协议还包含一个完全工作的客户机(dehumi-control.py),演示如何使用"美的发明家库",以便通过命令行界面控制EVA II Pro WiFi智能除湿设备。 要使用客户端,必须通过命令行参数提供注册用户的电子邮件地址和相关密码(必须使用'-p'或'-s'选项提供明文密码或密码的SHA-256哈希): [新建]家庭助手平台的自定义组件可以在 步骤1:将必要的文件复制到ha的配置共享文件夹中
将文件夹(而不是文件夹本身)的内容复制到ha的配置共享文件夹中。 复制ha的配置共享文件夹的 最终结果应该与此类似: 第2步:在ha的配置文件中激活美的除湿平台 在 像往常一样,您可以通过 或者,如果您愿意,可以使用 步骤3:激活调试级别日志记录(可选) 强烈建议激活美的除湿平台包含的三个组件的调试级别日志记录。如果部件不能按预期工作,则可以执行故障排除分析。 **第4步:重启ha** 您可以使用首选方法之一重新启动ha(例如,使用settings>;general>;server management og ha的web仪表板上的reboot按钮)。 如果一切正常,您将在ha仪表板中找到以下两个新实体: 通过气候实体,您可以控制设备,而传感器报告检测到的环境当前湿度。 如果您找不到上面报告的实体,请检查ha生成的日志以跟踪问题。 如果您对库使用的api消息格式的技术细节不感兴趣,可以跳过此部分。 Android和iOS平台的官方配套应用程序基于美的智能技术有限公司提供的美的SDK: 根据sdk的文档,"mideasdk是msmart维护的一个软件开发工具包。您可以基于此sdk开发自己的应用程序、智能硬件或智能电视,以控制美的生产的智能家电。" 开放式api的官方文档可以在这里找到(仅限中文):
https://github.com/midea-sdk/midea-sdk.github.io/tree/master/api 除了androd和ios平台,目前还没有正式支持的其他环境。为了为所有支持python的平台开发客户端库,我使用了一个中间人web代理作为包嗅探器来了解官方android客户端和midea云服务器之间交换的a p i消息的基本信息。 可通过 最相关端点的简要描述如下: 目前,客户端python库可以通过向与家庭设备通信的云服务器发送api消息来控制除湿器设备。在这种云到云的场景中,客户机和家庭设备都需要互联网接入。
当客户机和家庭设备都关联到同一个WiFi网络时,本地控制家庭设备的可能性(即让客户机直接向家庭设备发送API消息的可能性)为FFS。 如果您可以用python编写代码,并且对改进和扩展此工作感兴趣,请随意克隆此repo。如果您也希望将修改内容合并到"我的回购"中,请给我一行文字。 除了拥有一个eva i i pro wifi设备外,我与美的/发明家公司没有任何联系。这个图书馆是为我个人使用而开发的,并与其他对物联网系统和领域平台感兴趣的人共享。根据GNU公共许可证版本3,本软件按原样提供,不作任何保证。 如果这个项目可以帮助您减少开发代码的时间,您可以向我捐款。frommidea_inventor_libimportMideaClient
client=MideaClient("user.example@gmail.com","myPassword","")
client=MideaClient("user.example@gmail.com","","76549b827ec46e705fd03831813fa52172338f0dfcbd711ed44b81a96dac51c6")
_email="user@example.com"_password="passwordExample"_sha256password=""_verbose=True#Enable logging_debug=False#Disable debug messages_logfile=""#Log to console (default)client=MideaClient(_email,_password,_sha256password,_debug,_verbose,_logfile)
res=client.login()ifres==-1:print"Login error: please check log messages."else:sessionId=client.current["sessionId"]
appliances={}appliances=client.listAppliances()forainappliances:print"[id="+a["id"]+" type="+a["type"]+" name="+a["name"]+"]"
0
pip install midea-inventor-lib
1
pip install midea-inventor-lib
2
pip install midea-inventor-lib
3
pip install midea-inventor-lib
4
pip install midea-inventor-lib
5
pip install midea-inventor-lib
6
pip install midea-inventor-lib
7
pip install midea-inventor-lib
8
pip install midea-inventor-lib
客户示例
9
pip install midea-inventor-lib
家庭助理自定义组件
/homeassiant
文件夹中找到。
要激活部件,请执行以下步骤:\deps\lib\python3.6\site packages\
文件夹。
0
$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
配置中添加以下部分。yaml
1
$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
隐藏您的秘密密码!通过在
secrets.yaml中指定来表示secret
符号
sha256password
参数而不是password
参数来指定密码的sha-256散列
2
$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
3
$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
内部构件
https://mapp appsmb.com/<;endpoint>;
访问Web API服务器(应使用发布Web请求)。/v1/user/login/id/get
带有"loginAccount"参数的端点用于获取"loginID"参数(每个会话不同)。/v1/user/login
带有"password"参数的端点用于执行登录("返回accessToken"和"sessionID"参数)。客户端发送的password参数是从'loginid'、'password'和'appkey'参数派生的字符串的sha-256哈希。/v1/appliance/user/list/get
端点用于检索已配置设备的列表以及所有相关参数("名称"、"型号"、"活动状态"、"联机状态"等)。/v1/appliance/transparent/send
带有"order"参数的端点用于控制家庭设备(返回"reply"参数)。"order"和"reply"参数都是AES加密的;AES使用的加密/解密密钥来自"app_key"参数(常量字符串)和登录时返回的"accessToken"参数。用于加密和解密任务的相关代码部分可以在midea_security.py文件中的mideasecurity类中找到。进一步研究(FFS)
如何贡献
免责声明
捐款
推荐PyPI第三方库