mac-zhou / midea-msmart

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

Failed CRC / object has no attribute '_id" #104

Open Barry40 opened 1 year ago

Barry40 commented 1 year ago

Hi,

since a time the script does not function anymore. We updated our apps to MSMartHome, and after that the script has a lot of errors going on. What to do?

ERROR:msmart.device.AC.command:Payload 'c00186667f7f00000000005c36000000000000c3' failed CRC. Received: 0xC3, Expected: 0x3C. Traceback (most recent call last): File "/usr/local/bin/midea-discover", line 10, in <module> sys.exit(discover()) File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 1130, in __call__ return self.main(*args, **kwargs) File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 1055, in main rv = self.invoke(ctx) File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 1404, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 760, in invoke return __callback(*args, **kwargs) File "/usr/local/lib/python3.7/dist-packages/msmart/cli.py", line 51, in discover found_devices = loop.run_until_complete(discovery.get_all() if ip == '' else discovery.get(ip)) File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete return future.result() File "/usr/local/lib/python3.7/dist-packages/msmart/scanner.py", line 205, in get await self._process_tasks([task]) File "/usr/local/lib/python3.7/dist-packages/msmart/scanner.py", line 199, in _process_tasks [self.result.add(task.result()) for task in tasks] File "/usr/local/lib/python3.7/dist-packages/msmart/scanner.py", line 199, in <listcomp> [self.result.add(task.result()) for task in tasks] File "/usr/local/lib/python3.7/dist-packages/msmart/scanner.py", line 55, 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 "/usr/local/lib/python3.7/dist-packages/msmart/device/AC/appliance.py", line 109, in refresh self._send_cmd(cmd) File "/usr/local/lib/python3.7/dist-packages/msmart/device/AC/appliance.py", line 114, in _send_cmd self._process_response(response) File "/usr/local/lib/python3.7/dist-packages/msmart/device/AC/appliance.py", line 124, in _process_response if response.id == ResponseId.State: File "/usr/local/lib/python3.7/dist-packages/msmart/device/AC/command.py", line 206, in id return self._id AttributeError: 'state_response' object has no attribute '_id'

Barry40 commented 1 year ago

Hello?

nixmeer commented 1 year ago

I got the same issue.

 device.get_capabilities()
DEBUG:msmart.base_command:Frame data: aa0faca3000000000003b5011101cd0a
DEBUG:msmart.device.base:pkt_builder: 192.168.178.24:6444 len: 88 data: 5a5a0111580020000000000034130110160317147943010000850000000000000000000000000000587b6ef1789c550a4ef57108e708a5d2915c618b02ed2747fad73f2ffa0db1d39450de92be6e2a29a44b209365f51b84
DEBUG:msmart.lan:Socket 192.168.178.21:52758 -> 192.168.178.24:6444 retries: 0 time: 73.02 tcp_key: 2d6d0f12a386df87a4b6fe4ab4b1f581fcbdd3a9586ad743439f2c9dfc915943
DEBUG:msmart.lan:Sending 192.168.178.21:52758 -> 192.168.178.24:6444 retries: 0 time: 73.02 message: 8370007e2066a4ecd970c6d410091e9f16ab5437b1bbba44ed2b5daa6835c74b5434638699646f34340ccb9af8725ff3dabf7bd7793ef1b6ec3cd015bf273837fc27eaf4daf2a20ead2c509e96a7433cc19cd0ebf5f7cae78af44e04709f849694043f592326312918f0105bb8077a9084c4e83501c59e47a8ebefa51d0802ff9de91390bfd0
DEBUG:msmart.lan:Recv 192.168.178.21:52758 -> 192.168.178.24:6444 retries: 0 time: 73.02 Response: 8370011e2063a40a23fe1476a935cc0cd6fb48f32b8e6d0df18beb9f09f1d01025d5bb36b1267294137d35ac48454a058d8b818d28f7b295acd7eb25d04d4e310a03b30f38715bfdb4500004fc44bfb637ea7c4cc381c216796e326a1333c650e4f47b16be567e1c0d07557bed27475665f0edf6b98ee067734159509273008f305b94ac11104c2ccd49774269a6ce9c804e31363b643974a62e94d65208db18e4e3b34e461d372182b3ea1c4731fe22d74a2c18f57e36c544aa6d77ac41b4160a5bbee8e61e7a057cd9cf5060a39d6ce599428c2c0b1ad9be720e4162a7452edab198d053575a6fdcde2119e2aac7e568ac0e57e2edd0d5a8627d99a93de4b79e7f39d9896fbc762ce1477b0fb359e0fe0448e4cfbcc5a4b2664346518d5d2aab590820c58f
DEBUG:msmart.lan:Got responses len: 294
DEBUG:msmart.device.base:Got responses from 192.168.178.24:6444 Version: 3 Count: 1 Spend time: 0.0
DEBUG:msmart.device.base:Update from 192.168.178.24:6444 aab9c30000000000000404000000090c00000fce101c1e2c30ffff01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5000000000000000000000000000000000014ec
ERROR:msmart.device.AC.command:Payload '04000000090c00000fce101c1e2c30ffff01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5000000000000000000000000000000000014' failed CRC. Received: 0x14, Expected: 0x6D.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "msmart/device/AC/appliance.py", line 105, in get_capabilities
    self._send_cmd(cmd)
  File "msmart/device/AC/appliance.py", line 114, in _send_cmd
    self._process_response(response)
  File "msmart/device/AC/appliance.py", line 124, in _process_response
    if response.id == ResponseId.State:
  File "msmart/device/AC/command.py", line 206, in id
    return self._id
AttributeError: 'response' object has no attribute '_id'
mill1000 commented 1 year ago

This issue has been fixed in my fork: mill1000/midea-msmart