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
A Python Client to View F1TV Content the right way

F1Hub is a terminal application running directly on your computer -- no connection to the website needed* *In theory. As of now, the F1TV website is needed for some content

kodos 3 Jun 14, 2022
Frwdit-V1 - A Simple Bot can copy any media to a private channel provided

📠 Auto Forward V2 A Simple Bot can copy any media to a private channel provided

FUCK OFF ANE 3 Dec 03, 2022
Unofficial Python API client for Notion.so

notion-py Unofficial Python 3 client for Notion.so API v3. Object-oriented interface (mapping database tables to Python classes/attributes) Automatic

Jamie Alexandre 3.9k Jan 03, 2023
Python library wrapping and enhancing the Invenio RDM REST API.

Iridium The metal Iridium is used to refine and enhance metal alloys. Similarly, this package provides an enhanced coating around the Invenio RDM APIs

Materials Data Science and Informatics 2 Mar 29, 2022
Terraform module to ship CloudTrail logs stored in a S3 bucket into a Kinesis stream for further processing and real-time analysis.

AWS infrastructure to ship CloudTrail logs from S3 to Kinesis This repository contains a Terraform module to ship CloudTrail logs stored in a S3 bucke

Nexthink 8 Sep 20, 2022
Tsar-Bot - Crypto auto trade bot that use sentiment analysis from twitter

Tsar Bot - Crypto Sentiment Bot Tsar Bot is a Twitter Crypto Sentiment Bot that

Hilmi Azizi 26 Dec 15, 2022
A discord self-bot to automate shitposting for your everyday needs.

Shitpost Selfbot A discord self-bot to automate shitposting for your everyday needs. Caution: May be a little racist. I have no clue where we are taki

stormy 1 Mar 31, 2022
⚡️ Get notified as soon as your next CPU, GPU, or game console is in stock

Inventory Hunter This bot helped me snag an RTX 3070... hopefully it will help you get your hands on your next CPU, GPU, or game console. Requirements

Eric Marti 1.1k Dec 26, 2022
A simple waybar module to display the status of the ICE you are currently in using the ICE Portals JSON API.

waybar-iceportal A simple waybar module to display the status of the ICE you are currently in using the ICE Portals JSON API. Installation Ensure pyth

Moritz 7 Aug 26, 2022
It is automated instagram follower bot.

Instagram-Follower-Bot It is automated instagram follower bot. In This project I've used Selenium and Python. Work-Flow When I run my code. It's gonna

Falak Shair 3 Sep 28, 2022
❤️A next gen powerful telegram group manager bot for manage your groups and have fun with other cool modules

Natsuki Based on Python Telegram Bot Contributors Video Tutorial: Complete guide on deploying @TheNatsukiBot's clone on Heroku. ☆ Video by Sadew Jayas

Pawan Theekshana 8 Oct 06, 2022
Stream Telegram files to web

Telegram File Stream Bot A Telegram bot to stream files to web Demo Bot » Report a Bug | Request Feature Table of Contents About this Bot Original Rep

Wrench 572 Jan 09, 2023
Plataforma para atendimento a outras empresas que necessitam de atendimento técnico.

Plataforma para atendimento a outras empresas que necessitam de atendimento técnico. É possível que os usuarios de empresas parceiras registrem solici

Kelvin Alisson Cantarino 2 Jun 29, 2022
Powerful and Advance Telegram Bot with soo many features😋🔥❤

Chat-Bot Reach this bot on Telegram Chat Bot New Features 🔥 ✨ Improved Chat Experience ✨ Removed Some Unnecessary Commands ✨ Added Facility to downlo

Sanila Ranatunga 10 Oct 21, 2022
Huggingface transformers for discord

disformers Huggingface transformers for discord base source butyr/huggingface-transformer-chatbots install pip install -U disformers example see examp

SpaceDEVofficial 1 Nov 09, 2021
A Simple modular tool to fetch and parse data related to the stock market.

🐒 stonks-o-fetcher A Simple modular tool to fetch and parse data related to the stock market. Getting started For the moment the only source is this

Daniele 23 May 31, 2021
unofficial source of the discord bot, “haunting.” created by: vorqz, vert, & Veltz

hauntingSRC unofficial source of the discord bot, “haunting.” created by: vorqz, vert, & Veltz reasoning: creators skidded the most of this bot and do

Vast 11 Nov 04, 2022
Eclipse-grabber - Generate Discord Token Grabbers for both Windows and MacOS

Eclipse Grabber Eclipse Discord Token Grabber What is Eclipse? Eclipse is an ope

Dimitris Kalopisis 117 Dec 23, 2022
Create Multiple CF entry for multiple websites

AWS-CloudFront Problem: Deploy multiple CloudFront for account with multiple domains. Functionality: Running this script in loop and deploy CloudFront

Giten Mitra 5 Nov 18, 2022