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
An EmbedBuilder in Python for discord.py embeds. Pip Module.

Discord.py-MaxEmbeds An EmbedBuilder for Discord bots in Python. You need discord.py to use this module. Installation Step 1 First you have to install

Max Tischberger 6 Jan 13, 2022
Date Time Userbot With Python

DATE_TIME_USERBOT An Telegram Bot By @Pythone_3 Config Vars API_ID : Telegram API_ID, get it from my.telegram.org/apps API_HASH : Telegram API_ID, get

Sinzz-sinan-m 2 Oct 20, 2021
Automatically render tens of thousands of unique NFT images individually as png's.

Blend_My_NFTs Description This project is a work in progress (as of Oct 24th, 2021) and will eventually be an add on to Blender. Blend_My_NFTs is bing

Torrin Leonard 894 Dec 29, 2022
Bin Checker with Aiogram, Telegram

Bin Checker with Aiogram, Telegram

JEFF 1 Aug 16, 2022
A python wrapper for interacting with the LabArchives API.

LabArchives API wrapper for Python A python wrapper for interacting with the LabArchives API. This very simple package makes it easier to make arbitra

Marek Cmero 3 Aug 01, 2022
A program that generates discord.py code

discord-py-generator A program that generates discord.py code Setup in cmds.txt file add your user id, client id and bot token you can change the bot

3 Dec 15, 2022
Discord.py Bot Series With Python

Discord.py Bot Series YouTube Playlist: https://www.youtube.com/playlist?list=PL9nZZVP3OGOAx2S75YdBkrIbVpiSL5oc5 Installation pip install -r requireme

Step 1 Dec 17, 2021
Music cog for discord bots. Supports YouTube, YoutubeMusic, SoundCloud and Spotify.

dismusic Music cog for discord bots. Supports YouTube, YoutubeMusic, SoundCloud and Spotify. Installation python3 -m pip install dismusic Usage from d

Md Shahriyar Alam 59 Jan 08, 2023
A Telegram bot to index Chinese and Japanese group contents, works with @lilydjwg/luoxu.

luoxu-bot luoxu-bot 是类似于 luoxu-web 的 CJK 友好的 Telegram Bot,依赖于 luoxu 所创建的后端。 测试环境 Python 3.7.9 pip 21.1.2 开发中使用到的 Telethon 需要 Python 3+ 配置 前往 luoxu 根据相

TigerBeanst 10 Nov 18, 2022
GitHub Actions Poll Mode AutoScaler (GAPMAS)

GitHub Actions Poll Mode AutoScaler, or GAPMAS, is a simple tool that helps you run ephemeral GitHub Actions self-hosted runners on your own infrastructure.

Frode Nordahl 4 Nov 04, 2022
Ethereum Gas Fee for the MacBook Pro touchbar (using BetterTouchTool)

Gasbar Ethereum Gas Fee for the MacBook Pro touchbar (using BetterTouchTool) Worried about Ethereum gas fees? Me too. I'd like to keep an eye on them

TSS 51 Nov 14, 2022
Collaboration with Microsoft, AWS, Google, and ETHZürich Analytics Club (2022 Datathon Project)

DATATHON_ Collaboration with Microsoft, AWS, Google, and ETHZürich Analytics Club (2022 Datathon Project) Datathon Original Challenge SAV DataDays Rei

esthi 34 Nov 10, 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 Dec 07, 2021
A Telegram Bot for adding Footer caption beside main caption of Telegram Channel Messages.

Footer-Bot A Telegram Bot for adding Footer caption beside main caption of Telegram Channel Messages. Best for Telegram Movie Channels. Made by @AbirH

Abir Hasan 35 Jan 02, 2023
Facebook open graph api implementation using the Django web framework in python

Django Facebook by Thierry Schellenbach (mellowmorning.com) Status Django and Facebook are both rapidly changing at the moment. Meanwhile, I'm caught

Thierry Schellenbach 1.4k Dec 29, 2022
An interactive App to play with Spotify data, both from the Spotify Web API and from CSV datasets.

An interactive App to play with Spotify data, both from the Spotify Web API and from CSV datasets.

Caio Lang 3 Jan 24, 2022
Bulk convert image types with Python

Bulk Image Converter 🔥 Helper script to convert a folder's worth of images from one filetype to another, and optionally delete originals Use Setup /

1 Nov 13, 2021
Um simples bot escrito em Python usando a lib pyTelegramBotAPI

Telegram Bot Python Um simples bot escrito em Python usando a lib pyTelegramBotAPI Instalação Windows: Download do Python 3 Aqui Download do ZIP do Có

Sr_Yuu 1 May 07, 2022
Discord heximals: More colors for your bot

DISCORD-HEXIMALS More colors for your bot ! Support : okimii#0434 COLORS ( 742 )

4 Feb 04, 2022
A play store search telegram bot

Play-Store-Bot A play store search telegram bot Made with Python3 (C) @FayasNoushad Copyright permission under MIT License License - https://github.c

Fayas Noushad 17 Oct 28, 2022