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
:evergreen_tree: Python module for communicating with the Taiga API

python-taiga A python wrapper for the Taiga REST API. Documentation: https://python-taiga.readthedocs.io/ Usage: : https://python-taiga.readthedocs.io

Nephila 87 Oct 12, 2022
Alcarin Tengwar - a Tengwar typeface designed to pair well with the Brill typeface

Alcarin Tengwar Alcarin Tengwar is a Tengwar typeface designed to pair well with

Toshi Omagari 23 Nov 02, 2022
A bot framework for Reddit to manage threads, wiki pages, widgets, menus and more.

Sub Manager Sub Manager is a bot framework for Reddit to automate a variety of tasks on one or more subreddits, and can be configured and run without

r/SpaceX 3 Aug 26, 2022
SimpleDCABot is a simple bot that buys crypto with a dollar-cost averaging strategy.

Simple Open Dollar Cost Averaging (DCA) Bot SimpleDCABot is a simple bot that buys crypto on a selected exchange at regular intervals for a prescribed

4 Mar 28, 2022
Manage AWS Secrets the easy way

AWStanding Easily load variables from AWS Parameter store into environment variables. Why to AWStanding? Because it handles AWS pagination so the amou

Juan Ignacio Sánchez Sampayo 13 Dec 30, 2022
Multi Account Generator Minecraft/NordVPN/Hulu/Origin And ...

Multi Account Generator Minecraft/NordVPN/Hulu/Origin And ...

76 Jan 01, 2023
A bot that connects your guild chat to a Discord channel, written in Python.

Guild Chat Bot A bot that connects your guild chat to a discord channel. Uses discord.py and pyCraft Deploy on Railway Railway is a cloud development

Evernote 10 Sep 25, 2022
[Fullversion]Web3 Pancakeswap Sniper bot written in python3.

🚀 Pancakeswap BSC Sniper Bot 🚀 Web3 Pancakeswap Sniper && Take Profit/StopLose bot written in python3, Please note the license conditions! The secon

21 Dec 11, 2022
Bot for automated buying boxes on Binance

V 1.0 Bot for automated buying boxes on Binance В settings.py выставляем свои COOKIE и свой CSRFTOKEN В settings.py для headers выставляем свои параме

Matvey 3 Jan 18, 2022
A Simple, LightWeight, Statically-Typed Python3 API wrapper for GogoAnime.

AniKimi API A Simple, LightWeight, Statically-Typed Python3 API wrapper for GogoAnime The v2 of gogoanimeapi (depreciated) Made with JavaScript and Py

17 Dec 09, 2022
Prabashwara's Pm Bot repository. You can deploy and edit this repository.

Tᴇʟᴇɢʀᴀᴍ Pᴍ Bᴏᴛ | Prabashwara's PM Bot Unmaintained. The new repo of @Pm-Bot is private. (It is no longer based on this source code. The completely re

Rivibibu Prabshwara Ⓒ 2 Jul 05, 2022
Pls give vaccine.

Pls Give Vaccine A script to spam yourself with vaccine notifications. Explore the docs » View Demo · Report Bug · Request Feature Table of Contents A

Rohan Mukherjee 3 Oct 27, 2021
Who are we? We are the Hunters of all Torrent in this world.🗡️.Fork from SlamDevs

MIRROR HUNTER This Mirror Bot is a multipurpose Telegram Bot writen in Python for mirroring files on the Internet to our beloved Google Drive. Repo la

Anime Republic 130 May 28, 2022
discord token grabber scam - eductional purposes only!

Discord-QR-Scam תופס אסימון תמונה של Discord על אודות סקריפט Python שיוצר אוטומטית קוד QR הונאה של Nitro ותופס את אסימון הדיסקורד בעת סריקה. כלי זה מד

Amit Pinchasi 0 May 22, 2022
A fork of discord.py meant to replace it

Texus A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. Key Features Modern Pythonic API using async and

Texus 1 Nov 18, 2021
An Open-Source Discord bot created to provide basic functionality which should be in every discord guild. We use this same bot with additional configurations for our guilds.

A Discord bot completely written to be taken from the source and built according to your own custom needs. This bot supports some core features and is

Tesseract Coding 14 Jan 11, 2022
Twitch Points Miner for multiple accounts with Discord logging

Twitch Points Miner for multiple accounts with Discord logging Creator of the Twitch Miner -- PLEASE NOTE THIS IS PROBABLY BANNABLE -- Made on python

8 Apr 27, 2022
Prime Mega is a modular bot running on python3 with autobots theme and have a lot features.

PRIME MEGA Prime Mega is a modular bot running on python3 with autobots theme and have a lot features. Easiest Way To Deploy On Heroku This Bot is Cre

『TØNIC』 乂 ₭ILLΣR 45 Dec 15, 2022
A simple Telegram bot, written in Python, that you can use to shill (i.e. send messages) your token, or whatever, to channels.

Telegram Shill Bot Ever wanted a Shill Bot but wankers keep scamming for one OR wanted to charge you an arm and a leg? This is a simple bot written in

53 Nov 25, 2022
Python script to download WAX transactions

WAXtax Python script to download WAX transactions WAXtax uses the CoinGecko API and the WAX Blockchain History API to download csvs for each account y

SixPM Software 11 Oct 09, 2022