Repository navigation
Troubleshooting
First step for almost everything: run the command with --debug, or set the de.mirranet.midea logger to FINEST. You'll see every frame that goes out and comes back.
- The computer and the unit must be on the same network segment. Broadcasts don't cross VLANs or routers.
- Guest Wi-Fi and "client isolation" on access points block them too.
- Ask the unit directly:
java -jar midea-ac-1.0.0.jar keys --ip <address>. That uses unicast and works as long as UDP ports 6445 and 20086 get through. - Look the unit up in your router's DHCP list to get its address.
Give the unit a fixed DHCP lease. Its IP is part of your configuration.
- Try the account of the app the unit is really paired with:
--cloud msmart,--cloud nethomeor--cloud mideaair. - Try without
--cloud(shared account), or the other way round. - Make sure the unit is paired and online in the app.
- If the cloud login itself fails, check user name and password in the app first.
The unit rejected the handshake.
- Token and key belong to a different unit, or were mixed up.
- The unit was reset or paired again in the app since you fetched them. Fetch them again.
-
--protocolis wrong. Use what discovery reported.
- Wrong IP, or the unit lost its Wi-Fi connection.
- Another program is connected to the unit. Many modules only accept one TCP connection; stop Home Assistant, the other client, or a second instance of your own code.
- The unit is slow to answer. Raise
responseTimeout.
That's expected: the client probes which optional queries the unit supports. See How it behaves. Later refreshes are fast as long as you keep the same client instance.
Units encode energy differently. Try another powerAnalysisMethod (2, 3, 12 or 101). See Connecting.
Many units don't report humidity, energy or service data. If getIndoorHumidity() stays null but the Midea app shows humidity, open an issue with the --debug output.
The firmware only knows "toggle". The client toggles only when the reported state differs from what you ask for, so a wrong reported state leads to a wrong toggle. If status shows the display state incorrectly but isScreenDisplayAlternate() is right, your unit handles the display through the new protocol: use setScreenDisplayAlternate() instead.
Not supported:
- units using the "BB" sub-protocol (for example model 23096633)
- very old modules with protocol V1
- Midea appliances other than air conditioners
If your unit is a regular air conditioner and still misbehaves, open an issue with:
- the model code from discovery (
model=...) - the protocol version
- the
--debugoutput ofstatus, with token and key removed
midea-ac · MIT License · Protocol based on midea-local · Not affiliated with Midea