Midea/midea.py

78 lines
2.1 KiB
Python
Raw Normal View History

2023-09-22 12:14:46 +00:00
import security;
2023-09-22 16:06:37 +00:00
import cloud;
import aiohttp;
import asyncio;
import discover;
import device;
2023-09-26 17:42:50 +00:00
import devicee1;
2023-09-29 13:10:47 +00:00
import packet_builder;
import datetime;
2023-09-22 16:06:37 +00:00
async def test():
2023-09-23 14:42:59 +00:00
cl = cloud.MSmartHomeCloud(
"MSmartHome",
aiohttp.ClientSession(),
"michaelh.95@t-online.de",
"Hoda.semi1"
)
2023-09-22 16:06:37 +00:00
2023-09-24 05:35:21 +00:00
devices = discover.discover()
2023-09-22 16:06:37 +00:00
2023-09-24 11:16:57 +00:00
if len(devices) > 0:
2023-09-25 10:27:40 +00:00
# for device_id in devices:
# token = "702b9dfc3ac6c82979986ee3a053a76f75f9e9c763ce5c25af5c2cc982f797a9409adff3745e23fee3a464d745e005c839efb0b84082acc962e59ab8683e0299"
# key = "52b2feee353841588994e630dcb59819ec71ce1ffacb48628f4f436f5c54f11e"
# device_info = devices[device_id]
# dev = device.MiedaDevice(
# name="",
# device_id=device_id,
# device_type=225,
# ip_address=device_info['ip_address'],
# port=device_info['port'],
# token=token,
# key=key,
# protocol=3,
# model=device_info['model'],
# attributes={}
# )
# if dev.connect(False):
# print("success")
# else:
# print("fail")
if await cl.login():
for device_id in devices:
keys = await cl.get_keys(device_id)
for k in keys:
token = keys[k]['token']
key = keys[k]['key']
device_info = devices[device_id]
2023-09-26 17:42:50 +00:00
dev = devicee1.MideaE1Device(
2023-09-25 10:27:40 +00:00
name="",
device_id=device_id,
ip_address=device_info['ip_address'],
port=device_info['port'],
token=token,
key=key,
protocol=3,
model=device_info['model'],
2023-09-26 17:42:50 +00:00
customize=""
2023-09-25 10:27:40 +00:00
)
2023-09-26 06:30:16 +00:00
if dev.connect(True):
2023-09-25 10:27:40 +00:00
return dev
2023-09-22 16:06:37 +00:00
dev = asyncio.run(test())
print(dev)
2023-09-22 05:45:40 +00:00