mac-zhou / midea-msmart

This is a library to allow communicating to a Midea AC via the Local area network.
MIT License
147 stars 40 forks source link

Error discovering my AC #55

Closed armageddon421 closed 2 years ago

armageddon421 commented 2 years ago

I got unsupported with 0.1.23

INFO:msmart.cli:msmart version: 0.1.23
INFO:msmart.cli:Sending Device Scan Broadcast...
INFO:msmart.cli:Midea Local Data 192.168.178.43 837000b8200f04015a5a0111a8007a800000000000000000000000008126020000110000000000000000000000000000c02e7166e5735f1508fea049738712508a9bc49215bf2ce50d454809bbd0dfe131f32923d9ba7fe971a61e61c6a22316670379385506558205de66e0560a7228795351754443b1b25b8b8d247e4fcada1fca94541303884c52e880ddefc03190f31443d17c3aac03a7656614ae1dca4490e86c8e25ff86ad653c8986f4ec8c500c200a47a7a7f01493a692787032e193
INFO:msmart.cli:Decrypt Reply: 192.168.178.43 2bb2a8c02c19000030303030303050303030303030305131353032444242343646434443303030300b6e65745f61635f464344430000000001000000040000000000ac00000000000000502dbb46fcdc069fcd0300080103000000000000000000000000000000000000000000
INFO:msmart.lan:Couldn't connect with Device 192.168.178.43:6444
INFO:msmart.cli:*** Found a unsupported device - type: '0xac' - version: V3 - ip: 192.168.178.43 - port: 6444 - id: 1869xxxxxxxxxx - sn: 000000P0000000Q1502DBBxxxxxxxxxx - ssid: net_ac_FCDC

updated to latest 0.1.35 and got this:

INFO:msmart.cli:msmart version: 0.1.35 Currently only supports ac devices.
INFO:msmart.cli:Sending Device Scan Broadcast...
ERROR:msmart.security:authentication failed
ERROR:msmart.security:authentication failed
ERROR:msmart.security:authentication failed
Traceback (most recent call last):
  File "/home/pi/.local/bin/midea-discover", line 10, in <module>
    sys.exit(discover())
  File "/home/pi/.local/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/pi/.local/lib/python3.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/pi/.local/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/pi/.local/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/cli.py", line 43, in discover
    found_devices = loop.run_until_complete(discovery.get_all())
  File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
    return future.result()
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/scanner.py", line 179, in get_all
    [self.result.add(task.result()) for task in tasks]
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/scanner.py", line 179, in <listcomp>
    [self.result.add(task.result()) for task in tasks]
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/scanner.py", line 47, in support_test
    await loop.run_in_executor(None, _device.refresh)
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/device.py", line 198, in refresh
    self._send_cmd(cmd)
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/device.py", line 208, in _send_cmd
    responses = self._lan_service.appliance_transparent_send_8370(data)
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/lan.py", line 136, in appliance_transparent_send_8370
    data = self.security.encode_8370(data, msgtype)
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/security.py", line 117, in encode_8370
    data = self.aes_cbc_encrypt(data, self._tcp_key) + sign
  File "/home/pi/.local/lib/python3.7/site-packages/msmart/security.py", line 57, in aes_cbc_encrypt
    return AES.new(key, AES.MODE_CBC, iv=self.iv).encrypt(raw)
  File "/usr/local/lib/python3.7/dist-packages/Cryptodome/Cipher/AES.py", line 232, in new
    return _create_cipher(sys.modules[__name__], key, mode, *args, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/Cryptodome/Cipher/__init__.py", line 79, in _create_cipher
    return modes[mode](factory, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/Cryptodome/Cipher/_mode_cbc.py", line 274, in _create_cbc_cipher
    cipher_state = factory._create_base_cipher(kwargs)
  File "/usr/local/lib/python3.7/dist-packages/Cryptodome/Cipher/AES.py", line 92, in _create_base_cipher
    if len(key) not in key_size:
TypeError: object of type 'NoneType' has no len()

Device is a Dimstal brand and has worked fine so far using the cloud, but is somehow not even reachable via the midea app anymore currently. I can still ping it locally and I hoped I could control it locally via msmart. Any help is appreciated!

mac-zhou commented 2 years ago

try the new version 0.2.0

mac-zhou commented 2 years ago

no feedback, close