Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MSmartHome Error 1000 on cloud status request #37

Open
VladislavEkimtcov opened this issue Aug 17, 2024 · 4 comments
Open

MSmartHome Error 1000 on cloud status request #37

VladislavEkimtcov opened this issue Aug 17, 2024 · 4 comments

Comments

@VladislavEkimtcov
Copy link

VladislavEkimtcov commented Aug 17, 2024

The request that the library builds for a status read/change is not accepted by the MSmartHome Midea cloud service, which responds with Error 1000. I would presume this indicates an invalid request. Any ideas on how to fix this?

The URL it is attempting to reach is 'https://mp-prod.appsmb.com/mas/v5/app/proxy?alias=/v1/appliance/transparent/send'

I would gladly continue using the Midea Air app, but they seems to purposefully throttle it at 8pm Central. Insane.

Basic example:

from midea_beautiful import appliance_state, connect_to_cloud
cloud = connect_to_cloud(
            account="@gmail.com",  # Account e-mail
            password="pass",  # Account password
            appname="MSmartHome"
        )

appliance = appliance_state(
    cloud=cloud,  # Account e-mail
    appliance_id='15173260*********',  # Appliance id obtained from Midea API
    appliance_type='ac',
    use_cloud=True,
)
print(f"{appliance!r}")

This will fail with Error 1000.

@VladislavEkimtcov
Copy link
Author

If you like to think of this library in terms of CLI, here is an equivalent command that fails:

midea-beautiful-air-cli set --running True --id 15173260********* --cloud --account @gmail.com --password pass --app MSmartHome

I do everything correctly. The login and pass are correct. I specify the correct app and pass --cloud. No cigar :(

@meaninglessvanity
Copy link

I'm having the same issue.

@dezsocsete
Copy link

same thing.

Code:

from midea_beautiful import appliance_state, connect_to_cloud, find_appliances
from midea_beautiful.midea import (APPLIANCE_TYPE_AIRCON)

bedroom_appliance_id = 153
cloud = connect_to_cloud(
    account="",  # Account e-mail
    password="",  # Account password
    appname="MSmartHome"
)
appliances = cloud.list_appliances()
for appliance in appliances:
    print(f"{appliance!r}")
    bedroom_appliance = appliance_state( 
        cloud=cloud,
        use_cloud=True,
        appliance_type=APPLIANCE_TYPE_AIRCON,
        appliance_id=appliance["id"]
    )
    print(f"{bedroom_appliance!r}")

output:

kadadev@Juhaszs-MacBook-Air midea % python3 main.py                                                                                                    
{'id': '15283, 'name': 'Tetőtér', 'sn': '000000P0000000Q1', 'type': '0xAC', 'modelNumber': '44204'}
Error getting device capabilities for sn=None id=15393162819**** address=None version=3, cause Midea cloud API error: None (1000)
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/midea_beautiful/lan.py", line 793, in identify
    responses = self._status(cmd, cloud if use_cloud else None)
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/midea_beautiful/lan.py", line 538, in _status
    responses = cloud.appliance_transparent_send(self.appliance_id, data)
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/midea_beautiful/cloud.py", line 529, in appliance_transparent_send
    response = self.api_request(
        "/v1/appliance/transparent/send",
        {"order": order, "funId": "0000", "applianceId": appliance_id},
    )
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/midea_beautiful/cloud.py", line 304, in api_request
    self.handle_api_error(int(payload[error_code_tag]), payload["msg"])
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/midea_beautiful/cloud.py", line 648, in handle_api_error
    handler()
    ~~~~~~~^^
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/midea_beautiful/cloud.py", line 633, in cloud_error
    raise CloudError(error, message)
midea_beautiful.exceptions.CloudError: Midea cloud API error: None (1000)
Traceback (most recent call last):
  File "/Users/kadadev/midea/main.py", line 13, in <module>
    bedroom_appliance = appliance_state(
        cloud=cloud,
    ...<2 lines>...
        appliance_id=bedroom_appliance_id,  # Appliance id obtained from Midea API
    )
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/midea_beautiful/lan.py", line 1047, in appliance_state
    appliance.identify(cloud, use_cloud)
    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/midea_beautiful/lan.py", line 831, in identify
    self.refresh(cloud if use_cloud else None)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/midea_beautiful/lan.py", line 381, in refresh
    responses = self._status(cmd, cloud)
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/midea_beautiful/lan.py", line 538, in _status
    responses = cloud.appliance_transparent_send(self.appliance_id, data)
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/midea_beautiful/cloud.py", line 529, in appliance_transparent_send
    response = self.api_request(
        "/v1/appliance/transparent/send",
        {"order": order, "funId": "0000", "applianceId": appliance_id},
    )
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/midea_beautiful/cloud.py", line 304, in api_request
    self.handle_api_error(int(payload[error_code_tag]), payload["msg"])
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/midea_beautiful/cloud.py", line 648, in handle_api_error
    handler()
    ~~~~~~~^^
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/midea_beautiful/cloud.py", line 633, in cloud_error
    raise CloudError(error, message)
midea_beautiful.exceptions.CloudError: Midea cloud API error: None (1000)

Did you solve the issue?

@VladislavEkimtcov
Copy link
Author

@dezsocsete
I've moved all my appliances back to Midea Air and slowed down my requests somewhat. Fewer disconnects now.
As far as the issue outlined in this ticket, I have not tried it but would imagine it did not fix itself

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants