Python client for Midea dhumidifier

Overview

This is a library that allows communication with Midea dehumidifier appliances via the local area network.

midea-beautiful-dehumidifier

Build Status PyPI

This library allows discovering Midea dehumidifiers on local network, getting their state and controlling then. The name comes from Chinese name for Midea (美的) which translates to beautiful in English.

This libary inspired from the repository at mac-zhou/midea-msmart which provides similar functionality for air conditioners.

Thanks for yitsushi's project, NeoAcheron's project, andersonshatch's project, barban's project

Supported appliances

The library works only Midea dehumidifiers supporting V3 protocol. Both appliances with and without ion function are supported.

Some tested examples of supported dehumidifiers:

  • Comfee MDDF-20DEN7-WF
  • Inventor Eva Ion Pro Wi-Fi 20L

It may work with Comfee, Inventor, Pro Breeze WiFi, as well as other Midea WiFi dehumidifiers.

Dehumidifier data

The following dehumidifier data is accessible via library:

  • on/off switch (boolean, can be set)
  • current humidity (read-only)
  • target humidity (can be set)
  • active mode (can be set)
  • fan speed (can be set)
  • ion switch status (boolean, can be set)
  • tank is full (boolean, read-only)
  • appliance name (read-only). This one is set through Midea application.
  • appliance serial number (read-only)
  • appliance IPv4 address (read-only)
  • token and key for local network access (read-only)

Discovery

Library can discover appliances on local network. This is done by broadcasting UDP packets on all local networks interfaces to ports 6445. Appliances will respond to this broadcast with description information. Following discovery communication usually goes over port 6444. It also retrieves known appliances from Midea cloud account and then matches this information with information retrieved via local network. Local network communication is encrypted using Midea protocol.

Usage

Discover dehumidifier appliances on the local network:

pip install midea-beautiful-dehumidifier
python -m midea_beautiful_dehumidifier.cli discover --account ACCOUNT_EMAIL --password PASSWORD
# Show tokens used to connect to appliances via local network
python -m midea_beautiful_dehumidifier.cli discover --account ACCOUNT_EMAIL --password PASSWORD --credentials

Get status of an appliance:

pip install midea-beautiful-dehumidifier
python -m midea_beautiful_dehumidifier.cli status --ip APPLIANCE_IP_ADDRESS --token TOKEN --key KEY

TOKEN and KEY can be retrieved using discover command.

Set appliance attribute (target humidity, mode, ion switch, fan speed):

pip install midea-beautiful-dehumidifier
python -m midea_beautiful_dehumidifier.cli set --ip APPLIANCE_IP_ADDRESS --token TOKEN --key KEY --mode MODE

See also

Comments
  • Cannot login with MSmartHome

    Cannot login with MSmartHome

    Unable to connect to Midea cloud API (Cloud authentication error: this account does not exist (3102)).

    But my account is valid i've tried logging in/out of the MSmartApp. Thanks!

    Originally posted by @ethan021021 in https://github.com/nbogojevic/midea-beautiful-air/issues/5#issuecomment-1086246156

    opened by ethan021021 28
  • Adds MSmartHome to supported apps

    Adds MSmartHome to supported apps

    Midea recently transitioned their Midea Air app to the MSmartHome app which stops Midea accounts from working after the migration. This PR adds the app key and id to supported apps

    opened by ethan021021 15
  • EVA II PRO WiFi support

    EVA II PRO WiFi support

    Hi Nenad

    Would it be possible to extend this library to manage EVA II PRO WiFi Smart Dehumidifier appliance? It is similar to midea. Midea apk is also capable to control it as well as its own Invmade || apk.

    There is a library to control it via cloud, but would be great if it could be managed over LAN.

    I did some port scanning and seams that it is listenig on port 6444. https://github.com/barban-dev/midea_inventor_dehumidifier

    opened by skovacev 10
  • Error running program

    Error running program

    I am trying to run the program, but keep getting an error that I cannot resolve:

    [email protected] ~ $ midea-beautiful-air-cli discover --help Traceback (most recent call last): File "/home/pi/.local/bin/midea-beautiful-air-cli", line 6, in from midea_beautiful.cli import cli File "/home/pi/.local/lib/python3.7/site-packages/midea_beautiful/init.py", line 6, in from midea_beautiful.cloud import MideaCloud File "/home/pi/.local/lib/python3.7/site-packages/midea_beautiful/cloud.py", line 304 if data := response.get("data", {}):

    bug 
    opened by bluemantwo 6
  • Humidity & Temperature decimals are lost and temperature seems lower than reality by 2 to 3 Celcius

    Humidity & Temperature decimals are lost and temperature seems lower than reality by 2 to 3 Celcius

    I noticed into my Home Assistant that temperature was lower than before even if my environment temperature did not change and is controlled by smart thermostats

    It also looks like decimals were lost. I looked at commits from https://github.com/nbogojevic/homeassistant-midea-dehumidifier-lan but didn't find anything relevant except that it is using the midea-beautiful-dehumidifier.

    Searching into commits led me to a calculation change for humidity and temperature in "class DehumidifierResponse:" https://github.com/nbogojevic/midea-beautiful-dehumidifier/commit/5bf009809bfb4b7018d5d981b35e725574ed8866

    I don't know much about python and data received, but perhaps it may help you resolve the issue.

    Thanks for the hard work and making this available

    opened by frangigu 6
  • ImportError: libffi.so.7: cannot open shared object file: No such file or directory

    ImportError: libffi.so.7: cannot open shared object file: No such file or directory

    Hi, I am stuck running midea-beautiful-air-cli --help or any other command. I updated my raspberry pi and for long time I have installed and running fine python 3.9.5. Have anyone seen this error before?

    [email protected]:~ $ midea-beautiful-air-cli --help Traceback (most recent call last): File "/home/pi/.local/bin/midea-beautiful-air-cli", line 5, in from midea_beautiful.cli import cli File "/home/pi/.local/lib/python3.9/site-packages/midea_beautiful/init.py", line 6, in from midea_beautiful.cloud import MideaCloud File "/home/pi/.local/lib/python3.9/site-packages/midea_beautiful/cloud.py", line 16, in from midea_beautiful.crypto import Security File "/home/pi/.local/lib/python3.9/site-packages/midea_beautiful/crypto.py", line 17, in from midea_beautiful.midea import ( File "/home/pi/.local/lib/python3.9/site-packages/midea_beautiful/midea.py", line 58, in "iotkey": decrypt_internal("f4dcd1511147af45775d7e680ac5312b"), # noqa: E501 File "/home/pi/.local/lib/python3.9/site-packages/midea_beautiful/midea.py", line 30, in decrypt_internal decryptor = cipher.decryptor() File "/home/pi/.local/lib/python3.9/site-packages/cryptography/hazmat/primitives/ciphers/base.py", line 135, in decryptor from cryptography.hazmat.backends.openssl.backend import backend File "/home/pi/.local/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl/init.py", line 6, in from cryptography.hazmat.backends.openssl.backend import backend File "/home/pi/.local/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 63, in from cryptography.hazmat.bindings.openssl import binding File "/home/pi/.local/lib/python3.9/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 14, in from cryptography.hazmat.bindings._openssl import ffi, lib ImportError: libffi.so.7: cannot open shared object file: No such file or directory

    opened by feliutg 2
  • Setup help and explanation

    Setup help and explanation

    Hi,

    Thank you for your work. I just bought a Midea MDDF-20DEN7 dehumidifier and I want to use it local only (and integrate into openhab). Can you tell me why do I need to set cloud user and password to reach it locally? Only to get token and key? I made a mistake and migrate my new Midea Air account to MSmartHome and I got "this account does not exist" error like in issue 6. I use 0.9.10 but still account does not exist. I can run discovery with IP only and I get some data but no token of course. I tried the apiurl parameter but I don't what appkey and other should be. Can someone help me to connect to my device? Now I block internet access of my dehumidifier, maybe that is another mistake :S

    opened by douggutaby 2
  • Allow app paramter for cloud login

    Allow app paramter for cloud login

    It would be nice if connect_to_cloud support the app parameter

    At the moment all values have to handover if one is missing the default value from NetHome Plus is used

    Maybe allow to set default_app like others parameters https://github.com/nbogojevic/midea-beautiful-air/blob/8472bd025831672d3bae01be5ac60bbf77b6d03e/midea_beautiful/midea.py#L69

    enhancement 
    opened by TA2k 1
  • TypeError: unsupported operand type(s) for +=: 'NoneType' and 'str'

    TypeError: unsupported operand type(s) for +=: 'NoneType' and 'str'

    When I run the discovery command like:

    discover --account xxxx --password xxxx --credentials --proxied
    

    I get the following error message:

      File "/usr/local/lib/python3.9/site-packages/midea_beautiful_air-0.9.10-py3.9.egg/midea_beautiful/crypto.py", line 536, in sign_proxied
        msg += data
    TypeError: unsupported operand type(s) for +=: 'NoneType' and 'str'
    

    It seems to be caused by using the proxied property and not specifying and IOT Key, but I just want to obtain the key and token by logging in using the cloud api. What discovery command should I use for this?

    opened by reneklootwijk 1
  • Inventor control app

    Inventor control app

    Is your feature request related to a problem? Please describe. The dehumidifier i bought only alows me to register to app "Inventor control" as I'm not able to add it in the INVmateII or Midea Air

    Describe the solution you'd like Compatibility with this app

    opened by Jinguba 1
  • Wrong Example for cloud appliance state

    Wrong Example for cloud appliance state

    The example states

    from midea_beautiful import appliance_state
    
    appliance = appliance_state( 
        account="[email protected]",  # Account e-mail
        password="secret_password",  # Account password
        id=123412341234,  # Appliance id obtained from Midea API 
    )
    print(f"{appliance!r}")
    

    But in code looks like you have to handover a cloud object Also is needed appliance_id instead of id and use_cloud

    documentation 
    opened by TA2k 0
  • Network error getting Token and Key

    Network error getting Token and Key

    When using both dscover or status command, i get always this following error (3 times).

    WARNING:midea_beautiful.lan:Error getting device capabilities for sn=000000P0000000Q1AC93C421******** id=14513553495**** address=192.168.***** version=3, cause Unable to send data after 3 retries, last error timed out for 000000P0000000Q1AC93C421******** (14513553495****) Traceback (most recent call last): File "/home/pi/.local/lib/python3.9/site-packages/midea_beautiful/lan.py", line 809, in identify responses = self._status(cmd, cloud if use_cloud else None) File "/home/pi/.local/lib/python3.9/site-packages/midea_beautiful/lan.py", line 540, in _status responses = self.appliance_send(data) File "/home/pi/.local/lib/python3.9/site-packages/midea_beautiful/lan.py", line 685, in appliance_send return self._appliance_send_8370(data) File "/home/pi/.local/lib/python3.9/site-packages/midea_beautiful/lan.py", line 590, in _appliance_send_8370 if packets := self._retry_send(original_data, response_buf): File "/home/pi/.local/lib/python3.9/site-packages/midea_beautiful/lan.py", line 670, in _retry_send packets = self.appliance_send(data) File "/home/pi/.local/lib/python3.9/site-packages/midea_beautiful/lan.py", line 685, in appliance_send return self._appliance_send_8370(data) File "/home/pi/.local/lib/python3.9/site-packages/midea_beautiful/lan.py", line 590, in _appliance_send_8370 if packets := self._retry_send(original_data, response_buf): File "/home/pi/.local/lib/python3.9/site-packages/midea_beautiful/lan.py", line 675, in _retry_send raise MideaNetworkError( midea_beautiful.exceptions.MideaNetworkError: Unable to send data after 3 retries, last error timed out for 000000P0000000Q1AC93C421******** (14513553495****)

    id 000000P0000000Q1AC93C421********/14513553495**** id = 145135534952750 addr = 192.168.1.201 s/n = 000000P0000000Q1AC93C421**** model = Air conditioner ssid = net_ac_865A online = True name = AC - Living Room running = False target = 24.0 indoor = 24.1 outdoor = 19.0 fan = 101 mode = 1 purify = False eco = False sleep = False F = False error = 0 supports= {'eco': 0, 'mode': 1, 'fan_swing': 1, 'electricity': 0, 'strong_fan': 1, 'fan_speed': 1, 'temperature0': 32, 'temperature1': 60, 'temperature2': 32, 'temperature3': 60, 'temperature4': 32, 'temperature5': 60, 'temperature6': 0} version = 3

    Any idea why is this happening ?

    opened by tteixeira 3
  • Syntax Error when running

    Syntax Error when running

    Good evening and welcome,

    I tried to install your tool on a raspberry pi. Installation went trough with no issues. But when I try running your tool, it always fails with the following syntax error:

    [email protected]:~ $ midea-beautiful-air-cli --help Traceback (most recent call last): File "/home/openhabian/.local/bin/midea-beautiful-air-cli", line 5, in from midea_beautiful.cli import cli File "/home/openhabian/.local/lib/python3.7/site-packages/midea_beautiful/init.py", line 6, in from midea_beautiful.cloud import MideaCloud File "/home/openhabian/.local/lib/python3.7/site-packages/midea_beautiful/cloud.py", line 304 if data := response.get("data", {}): ^ SyntaxError: invalid syntax

    Anything I could try to fix that? Any known issues maybe with one of the depencies?

    Thanks a lot, Christian

    opened by gforums 1
  • no TOKEN and KEY returned

    no TOKEN and KEY returned

    midea-beautiful-air-cli discover --account [email protected] --password PW --credentials --app MSmartHome

    id 000000X0000000XXX0XXXXXXXXXX0000/XXXXXXXXXXXXXX
      id      = XXXXXXXXXXXXXX
      addr    = 192.168.X.X
      s/n     = 000000X0000000XXX0XXXXXXXXXX0000
      model   = Air conditioner
      ssid    = net_ac_XXXX
      online  = True
      name    = XXXXXXX
      running = False
      target  = 22.0
      indoor  = 24.5
      outdoor = 37.5
      fan     = 102
      mode    = 2
      purify  = False
      eco     = False
      sleep   = False
      F       = False
      error   = 0
      supports= {'eco': 1, 'heat_8': 0, 'mode': 0, 'fan_swing': 1, 'electricity': 1, 'filter_reminder': 1, 'strong_fan': 1}
      version = 2
      token   = None
      key     = 
    
    opened by marcelocecin 0
  • Midea Gaia AC does not show token/key

    Midea Gaia AC does not show token/key

    Version of the library

    Library version=0.9.15

    Logs

    DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): mapp.appsmb.com:443 DEBUG:urllib3.connectionpool:https://mapp.appsmb.com:443 "POST /v1/appliance/user/list/get HTTP/1.1" 200 None DEBUG:midea_beautiful.cloud:HTTP response text: {"msg":"ok","result":{"list":[{"registerTime":"Wed Oct 12 10:54:58 UTC 2022","onlineStatus":"1","type":"0xAC","homegroupId":"","userId":"7125410","tsn":"","mac":"","des":"","activeStatus":"1","homegroupCreateUserId":"","wifiVersion":"150029092122","name":"AC-Nappali","modelNumber":"","homegroupNumber":"","id":"1451355349xxxxx","sn":"bb329d5aa7909e37a78167547835993b6ac8177dcd6335262b6be3f3998c28256c31104f896b27adebcd2ddc8fbxxxxx","userType":"1"} .. DEBUG:midea_beautiful.scanner:Broadcast attempt 1 of max 3 DEBUG:midea_beautiful.scanner:Broadcasting to 255.255.255.255 DEBUG:midea_beautiful.scanner:UDP broadcast 255.255.255.255:6445 b'ZZ\x01\x11H\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7fu\xbdk>O\x8bv.\x84\x9cnW\x8de\x90\x03n\x9dCB\xa5\x0f\x1fV\x9e\xb8\xec\x91\x8e\x92\xe5' DEBUG:midea_beautiful.scanner:Finished broadcast collection .. DEBUG:midea_beautiful.scanner:Found 0 of 3 appliance(s) WARNING:midea_beautiful.scanner:Some appliance(s) where not discovered on local network: 0 discovered out of 3 DEBUG:midea_beautiful.appliance:Creating AirConditionerAppliance 14513553493**** WARNING:midea_beautiful.scanner:Unable to discover registered appliance {'id': '14513553493****', 'name': 'AC-Nappali', 'sn': '000000P0000000Q1AC93C4D0********', 'type': '0xAC', 'modelNumber': ''} DEBUG:midea_beautiful.appliance:Creating AirConditionerAppliance 14513553493**** WARNING:midea_beautiful.scanner:Unable to discover registered appliance {'id': '14513553493****', 'name': 'AC-Hálószoba', 'sn': '000000P0000000Q1AC93C4CF********', 'type': '0xAC', 'modelNumber': ''} DEBUG:midea_beautiful.appliance:Creating AirConditionerAppliance 14623504656**** WARNING:midea_beautiful.scanner:Unable to discover registered appliance {'id': '14623504656****', 'name': 'Ebédlő', 'sn': '000000P0000000Q1AC93C4CF********', 'type': '0xAC', 'modelNumber': ''} .. id 000000P0000000Q1AC93C4CFFD6xxxxx/1462350465xxxxx id = 1462350465xxxxx addr = Unknown s/n = 000000P0000000Q1AC93C4CFFD6xxxxx model = Air conditioner ssid = None online = False name = Ebédlő running = False target = 0 indoor = 2.2250738585072014e-308 outdoor = 2.2250738585072014e-308 fan = 40 mode = 0 purify = False eco = False sleep = False F = False error = 0 supports= {} version = 3 token = None key =

    Model of appliance where problem occurs

    MIDEA GAIA Air-Conditioner MGA-12-SP (on label: GAIA-12HRFN8-I)

    Describe the bug

    As seen from the log, the device is not detected on LAN. Data is collected from cloud No token and key provided by the tool that is required (version 3) With Zenmap for windows I found all 3 devices with their 6444 port open

    I would like to integrate these devices to Homeassistant.

    opened by boldogtanya 0
  • Attempt to change --fan_speed results in TypeError.

    Attempt to change --fan_speed results in TypeError.

    Using the CLI, with Python 3.9.2, and Midea-beautiful-air v0.9.14: Any attempt to change fan speed on a Midea U (Model: MAW08V1QWT, current FW) using --fan_speed [int] command line option and value, results in the following unhandled exception resulting in the form of a TypeError.

    Command Issued:

    midea-beautiful-air-cli set --ip 10.0.1.105 --token [token] --key [key] --mode 5 --fan-speed 60

    Traceback: Traceback (most recent call last): File "/home/meerb/.local/bin/midea-beautiful-air-cli", line 8, in sys.exit(cli()) File "/home/meerb/.local/lib/python3.9/site-packages/midea_beautiful/cli.py", line 340, in cli return function(args) File "/home/meerb/.local/lib/python3.9/site-packages/midea_beautiful/cli.py", line 263, in _run_set_command return _process_attr_arguments(args, appliance, cloud) File "/home/meerb/.local/lib/python3.9/site-packages/midea_beautiful/cli.py", line 222, in _process_attr_arguments appliance.set_state(**set_args) File "/home/meerb/.local/lib/python3.9/site-packages/midea_beautiful/lan.py", line 827, in set_state self.apply(cloud) File "/home/meerb/.local/lib/python3.9/site-packages/midea_beautiful/lan.py", line 687, in apply cmd = self.state.apply_command() File "/home/meerb/.local/lib/python3.9/site-packages/midea_beautiful/appliance.py", line 605, in apply_command cmd.fan_speed = self.fan_speed File "/home/meerb/.local/lib/python3.9/site-packages/midea_beautiful/command.py", line 665, in fan_speed self.data[13] |= speed & 0b01111111 TypeError: unsupported operand type(s) for &: 'str' and 'int'

    It appears there is type confusion from an implied type conversion, although it looks as though there is the proper type declaration in the setter method, in command.py:662:

    @fan_speed.setter def fan_speed(self, speed: int) -> None: self.data[13] &= ~0b01111111 # Clear the fan speed part self.data[13] |= speed & 0b01111111

    https://github.com/nbogojevic/midea-beautiful-air/blob/fdaa8cc3692c1478132930f0f968c624feabec73/midea_beautiful/command.py#L665

    There seems a potentially related issue with the fan_speed being set periodically set to "2", while the Cool function is running. If the Midea is running with APP mode OFF, this does not seem to happen. I'll detail further in separate issue.

    bug 
    opened by blurshot28 2
Releases(v0.9.15)
  • v0.9.15(Aug 24, 2022)

    • Support for appliance discovery when using MSmartHome app
    • Removal of homegroup step in appliance retrieval
    • Possibility to specify application name only when configuring connectivity
    • Fixes in logic of redacting confidential information
    • Fix missing data when using old mobile applications
    • Fix few sensitive data redaction bugs
    • Fix decrypting and encrypting for MSmartHome app
    • Fix device capabilities discovery for air conditioners
    • Fix parsing of air-conditioner mode
    • Fix horizontal/vertical swing settings
    • Add more properties check
    • Detect response type and only parse supported responses
    • Remove prefix X from redacted strings
    • Fix detecting capabilities regression from 0.9.13
    • Add refresh after settings apply for air conditioners
    • Force arguments to correct type when using command line
    Source code(tar.gz)
    Source code(zip)
  • v0.9.14(Jul 13, 2022)

    • Support for appliance discovery when using MSmartHome app
    • Removal of homegroup step in appliance retrieval
    • Possibility to specify application name only when configuring connectivity
    • Fixes in logic of redacting confidential information
    • Fix missing data when using old mobile applications
    • Fix few sensitive data redaction bugs
    • Fix decrypting and encrypting for MSmartHome app
    • Fix device capabilities discovery for air conditioners
    • Fix parsing of air-conditioner mode
    • Fix horizontal/vertical swing settings
    • Add more properties check
    • Detect response type and only parse supported responses
    • Remove prefix X from redacted strings
    • Fix detecting capabilities regression from 0.9.13
    Source code(tar.gz)
    Source code(zip)
  • v0.9.13(Jul 11, 2022)

    • Support for appliance discovery when using MSmartHome app
    • Removal of homegroup step in appliance retrieval
    • Possibility to specify application name only when configuring connectivity
    • Fixes in logic of redacting confidential information
    • Fix missing data when using old mobile applications
    • Fix few sensitive data redaction bugs
    • Fix decrypting and encrypting for MSmartHome app
    • Fix device capabilities discovery for air conditioners
    • Fix parsing of air-conditioner mode
    • Fix horizontal/vertical swing settings
    • Add more properties check
    • Detect response type and only parse supported responses
    • Remove prefix X from redacted strings
    Source code(tar.gz)
    Source code(zip)
  • v0.9.12(Jun 29, 2022)

    • Support for appliance discovery when using MSmartHome app
    • Removal of homegroup step in appliance retrieval
    • Possibility to specify application name only when configuring connectivity
    • Fixes in logic of redacting confidential information
    • Fix missing data when using old mobile applications
    • Fix few sensitive data redaction bugs
    • Fix decrypting and encrypting for MSmartHome app
    • Fix device capabilities discovery for air conditioners
    • Fix parsing of air-conditioner mode
    • Fix horizontal/vertical swing settings
    • Add more properties check
    • Detect response type and only parse supported responses
    Source code(tar.gz)
    Source code(zip)
  • v0.9.10(Apr 12, 2022)

    • Support for appliance discovery when using MSmartHome app
    • Removal of homegroup step in appliance retrieval
    • Possibility to specify application name only when configuring connectivity
    • Fixes in logic of redacting confidential information
    • Fix missing data when using old mobile applications
    • Fix few sensitive data redaction bugs
    • Fix decrypting and encrypting for MSmartHome app
    • Fix device capabilities discovery for air conditioners
    • Fix parsing of air-conditioner mode
    • Fix horizontal/vertical swing settings
    • Add more properties check
    Source code(tar.gz)
    Source code(zip)
  • v0.9.8(Apr 7, 2022)

    • Support for appliance discovery when using MSmartHome app
    • Removal of homegroup step in appliance retrieval
    • Possibility to specify application name only when configuring connectivity
    • Fixes in logic of redacting confidential information
    • Fix missing data when using old mobile applications
    • Fix few sensitive data redaction bugs
    • Fix decrypting and encrypting for MSmartHome app
    • Fix device capabilities discovery for air conditioners
    • Fix parsing of air-conditioner mode
    • Fix horizontal/vertical swing settings
    Source code(tar.gz)
    Source code(zip)
  • v0.9.7(Apr 6, 2022)

    • Support for appliance discovery when using MSmartHome app
    • Removal of homegroup step in appliance retrieval
    • Possibility to specify application name only when configuring connectivity
    • Fixes in logic of redacting confidential information
    • Fix missing data when using old mobile applications
    • Fix few sensitive data redaction bugs
    • Fix decrypting and encrypting for MSmartHome app
    • Fix device capabilities discovery for air conditioners
    • Fix parsing of air-conditioner mode
    Source code(tar.gz)
    Source code(zip)
  • v0.9.6(Apr 6, 2022)

    • Support for appliance discovery when using MSmartHome app
    • Removal of homegroup step in appliance retrieval
    • Possibility to specify application name only when configuring connectivity
    • Fixes in logic of redacting confidential information
    • Fix missing data when using old mobile applications
    • Fix few sensitive data redaction bugs
    • Fix decrypting and encrypting for MSmartHome app
    • Fix device capabilities discovery for air conditioners
    Source code(tar.gz)
    Source code(zip)
  • v0.9.5(Apr 5, 2022)

    • Support for appliance discovery when using MSmartHome app
    • Removal of homegroup step in appliance retrieval
    • Possibility to specify application name only when configuring connectivity
    • Fixes in logic of redacting confidential information
    • Fix missing data when using old mobile applications
    • Fix few sensitive data redaction bugs
    • Fix decrypting and encrypting for MSmartHome app
    Source code(tar.gz)
    Source code(zip)
  • v0.9.3(Apr 2, 2022)

    • Support for appliance discovery when using MSmartHome app
    • Removal of homegroup step in appliance retrieval
    • Possibility to specify application name only when configuring connectivity
    • Fixes in logic of redacting confidential information
    • Fix missing data when using old mobile applications
    • Fix key decoding for MSmartHome app
    Source code(tar.gz)
    Source code(zip)
  • v0.9.2(Mar 26, 2022)

    • Support for appliance discovery when using MSmartHome app
    • Removal of homegroup step in appliance retrieval
    • Possibility to specify application name only when configuring connectivity
    • Fixes in logic of redacting confidential information
    • Fix missing data when using old mobile applications
    Source code(tar.gz)
    Source code(zip)
  • v0.9.1(Mar 26, 2022)

    • Support for appliance discovery when using MSmartHome app
    • Removal of homegroup step in appliance retrieval
    • Possibility to specify application name only when configuring connectivity
    • Fixes in logic of redacting confidential information
    Source code(tar.gz)
    Source code(zip)
  • v0.9.0(Feb 17, 2022)

  • v0.8.43(Feb 15, 2022)

    Breaking changes

    Parameter and property name changes:

    • id replaced with appliance_id
    • ip replaced with address
    • networks with addresses
    • supports with capabilities

    Functionality change

    • Remove automatic discovery of local network adapters and use local broadcast address instead

    Removed function discover_appliances (use find_appliances).

    Bug fixes and improvements

    • Better management of retries
    • Support for tank warning level and bucket full/removal
    • Support for pump switch flag
    • Support for vertical swing switch
    • Support for reading timer
    • Improved network discovery when network address is provided
    • Can specify timeout and number of retries for discovery
    • Can specify timeout and number of retries for state
    • Air conditioner payload parsing
    • Various fixes in parsing local network response payloads
    • Retry cloud api calls if there was HTTP communication issue
    • Correctly detect appliance address change
    • Enable discovery of appliances without cloud account
    • Added dump command line options to parse payload directly
    • Sensitive data is redacted in logs
    • Introduced significant unit test coverage (~99%)
    • Code linting (pylint)
    • Add requirement for Python 3.8 or later
    • Fix error when using cli entry point
    • Support MSmartHome app

    Full Changelog: https://github.com/nbogojevic/midea-beautiful-air/compare/v0.5.0...v0.8.43

    Source code(tar.gz)
    Source code(zip)
  • v0.8.42(Feb 13, 2022)

    Breaking changes

    Parameter and property name changes:

    • id replaced with appliance_id
    • ip replaced with address
    • networks with addresses
    • supports with capabilities

    Functionality change

    • Remove automatic discovery of local network adapters and use local broadcast address instead

    Removed function discover_appliances (use find_appliances).

    Bug fixes and improvements

    • Better management of retries
    • Support for tank warning level and bucket full/removal
    • Support for pump switch flag
    • Support for vertical swing switch
    • Support for reading timer
    • Improved network discovery when network address is provided
    • Can specify timeout and number of retries for discovery
    • Can specify timeout and number of retries for state
    • Air conditioner payload parsing
    • Various fixes in parsing local network response payloads
    • Retry cloud api calls if there was HTTP communication issue
    • Correctly detect appliance address change
    • Enable discovery of appliances without cloud account
    • Added dump command line options to parse payload directly
    • Sensitive data is redacted in logs
    • Introduced significant unit test coverage (~99%)
    • Code linting (pylint)
    • Add requirement for Python 3.8 or later
    • Fix error when using cli entry point

    Full Changelog: https://github.com/nbogojevic/midea-beautiful-air/compare/v0.5.0...v0.8.42

    Source code(tar.gz)
    Source code(zip)
  • v0.8.41(Feb 12, 2022)

    Breaking changes

    Parameter and property name changes:

    • id replaced with appliance_id
    • ip replaced with address
    • networks with addresses
    • supports with capabilities

    Functionality change

    • Remove automatic discovery of local network adapters and use local broadcast address instead

    Removed function discover_appliances (use find_appliances).

    Bug fixes and improvements

    • Better management of retries
    • Support for tank warning level and bucket full/removal
    • Support for pump switch flag
    • Support for vertical swing switch
    • Support for reading timer
    • Improved network discovery when network address is provided
    • Can specify timeout and number of retries for discovery
    • Can specify timeout and number of retries for state
    • Air conditioner payload parsing
    • Various fixes in parsing local network response payloads
    • Retry cloud api calls if there was HTTP communication issue
    • Correctly detect appliance address change
    • Enable discovery of appliances without cloud account
    • Added dump command line options to parse payload directly
    • Sensitive data is redacted in logs
    • Introduced significant unit test coverage (~99%)
    • Code linting (pylint)
    • Add requirement for Python 3.8 or later

    Full Changelog: https://github.com/nbogojevic/midea-beautiful-air/compare/v0.5.0...v0.8.41

    Source code(tar.gz)
    Source code(zip)
  • v0.8.40(Feb 1, 2022)

    Breaking changes

    Parameter and property name changes:

    • id replaced with appliance_id
    • ip replaced with address
    • networks with addresses
    • supports with capabilities

    Functionality change

    • Remove automatic discovery of local network adapters and use local broadcast address instead

    Removed function discover_appliances (use find_appliances).

    Bug fixes and improvements

    • Better management of retries
    • Support for tank warning level and bucket full/removal
    • Support for pump switch flag
    • Support for vertical swing switch
    • Support for reading timer
    • Improved network discovery when network address is provided
    • Can specify timeout and number of retries for discovery
    • Can specify timeout and number of retries for state
    • Air conditioner payload parsing
    • Various fixes in parsing local network response payloads
    • Retry cloud api calls if there was HTTP communication issue
    • Correctly detect appliance address change
    • Enable discovery of appliances without cloud account
    • Added dump command line options to parse payload directly
    • Sensitive data is redacted in logs
    • Introduced significant unit test coverage (~99%)
    • Code linting (pylint)

    Full Changelog: https://github.com/nbogojevic/midea-beautiful-air/compare/v0.5.0...v0.8.40

    Source code(tar.gz)
    Source code(zip)
Owner
Nenad Bogojevic
Architect & Expert @AmadeusITGroup
Nenad Bogojevic
This is a simple bot for running Python code through Discord

Python Code Runner Discord Bot This is a simple bot for running Python code through Discord. It was originally developed for the Beginner.Codes Discor

beginner.py 1 Feb 14, 2022
Python wrapper for Stanford CoreNLP.

stanfordcorenlp stanfordcorenlp is a Python wrapper for Stanford CoreNLP. It provides a simple API for text processing tasks such as Tokenization, Par

884 Dec 25, 2022
Telegram Bot For Screenshot Generation.

Screenshotit_bot Telegram Bot For Screenshot Generation. Description An attempt to implement the screenshot generation of telegram files without downl

1 Nov 06, 2021
Best Buy Bot used to add products to cart for purchase.

To Install the Best Buy Bot These instructions are for Mac users only. Clone this Repo to your machine. BestBuyBot Open in VScode. Is Python installed

Robert Estrella 1 Dec 11, 2021
A self hosted slack bot to conduct standups & generate reports.

StandupMonkey A self hosted slack bot to conduct standups & generate reports. Report Bug · Request Feature Installation Install already hosted bot (Us

Muhammad Haseeb 69 Jan 01, 2023
Discord spam bots with multiple account support and more

Discord spam bots with multiple account support and more. PLEASE READ EVERYTHING BEFORE WRITING AN ISSUE!! Server Messages Text Image Dm Messages Text

Mr. Nobody 6 Sep 14, 2022
procedurally-generated catppuccin wallpapers

Catppuccin Wallpapers I was in need of wallpapers conforming to the catppuccin colorscheme. So, I wrote a simple script to iteratively generate a set

daylin 11 Nov 29, 2022
Gorrabot is a bot made to automate checks and processes in the development process.

Gorrabot is a Gitlab bot made to automate checks and processes in the Faraday development. Features Check that the CHANGELOG is modified By default, m

Faraday 7 Dec 14, 2022
A file-based quote bot written in Python

Let's Write a Python Quote Bot! This repository will get you started with building a quote bot in Python. It's meant to be used along with the Learnin

1 Jan 15, 2022
Python wrapper for Revolt API

defectio is a direct implementation of the entire Revolt API and provides a way to authenticate and start communicating with Revolt servers. Similar interface to discord.py

Leon Bowie 26 Sep 18, 2022
A discord bot for tracking Iranian Minecraft servers and showing the statistics of them

A discord bot for tracking Iranian Minecraft servers and showing the statistics of them

MCTracker 20 Dec 30, 2022
A python API wrapper for temp-mail.org

temp-mail Python API Wrapper for temp-mail.ru service. Temp-mail is a service which lets you use anonymous emails for free. You can view full API spec

Denis Veselov 91 Nov 19, 2022
A tool to customize your discord tokens

Fastest Discord Token Manager - Features: Change Token Username Change Token Password Change Token Avatar Change Token Bio This tool is created by Ace

trey 15 Dec 27, 2022
Fetch Flipkart product details including name, price, MRP and Stock details in general as well as specific to a pincode

Fetch Flipkart product details including name, price, MRP and Stock details in general as well as specific to a pincode

Vishal Das 6 Jul 11, 2022
修改自SharpNoPSExec的基于python的横移工具 A Lateral Movement Tool Learned From SharpNoPSExec -- Twitter: @juliourena

PyNoPSExec A Lateral Movement Tool Learned From SharpNoPSExec -- Twitter: @juliourena 根据@juliourena大神的SharpNOPsExec项目改写的横向移动工具 Platform(平台): Windows 1

<a href=[email protected]"> 23 Nov 09, 2022
A python telegram bot to fetch the details of an ipadress with help of ip-api

ipfetcher A python(Pyrogram) oriented telegram bot to fetch the details of an ipadress developed by @riz4d with the API of https://ip-api.com Deployme

Mohamed Rizad 5 Mar 12, 2022
SmsSender v3.0.0 - the script is designed to send free SMS to any number and with any text.

SmsSender v3.0.0 - скрипт предназначен для бесплатной отправки SMS на любой номер и с любым текстом. Возможны небольшие баги, в скором времени исправл

Андрей Сергеев 20 Dec 03, 2021
this is a telegram bot repository, that can stream video on telegram group video chat.

VIDEO STREAM BOT telegram bot project for streaming video on telegram video chat, powered by tgcalls and pyrogram 🛠 Commands: /vstream (reply to vide

levina 319 Aug 15, 2022
Raid ToolBox (RTB) is a big toolkit of Spamming/Raiding/Token management tools for discord.

This code is very out of date and not very good, feel free to make it into something better. (we check the github page every 5 years to pulls your PRs

2 Oct 03, 2021
Upbit(업비트) Cryptocurrency Exchange OPEN API Client for Python

Base Repository Python Upbit Client Repository Upbit OPEN API Client @Author: uJhin @GitHub: https://github.com/uJhin/upbit-client/ @Officia

Yu Jhin 37 Nov 06, 2022