Everytime i set fan speed to HIGH i see unknown fan speen error in the openhab logs
Could you put the mideaac binding in debug and try to set the speed? Also is there any fan speed high in the under the thing properties drop-down? Not all devices support all speeds, but high is a default, so is normally ok
Hi,
I did set the debug mode and this error is what I am seeing n the logs
Under the thing there is a HIGH option
Regards
Marinus
?
Unfortunately, there is some variability in Midea ACs, so I need to examine the byte stream in the debug mode (openhab log, not event log) to see what to suggest. Is this a version 3 or version 2 device? Example if you don’t want to post much
Bytes in HEX, decoded and stripped without header: length: 25, data: C00053667F7F003C0000045236000000000000000000ABB68C
Here is two examples
For setting aircon speed to medium:
2026-01-13 05:37:49.715 [DEBUG] [nternal.connection.ConnectionManager] - Bytes in HEX, decoded and stripped without header: length: 25, data: A009403C7F7F00300000000700000000000000000000D25F9A
2026-01-13 05:37:49.716 [DEBUG] [nternal.connection.ConnectionManager] - Response detected with bodyType 0xA0. Data length: 25
2026-01-13 05:37:49.720 [DEBUG] [ac.internal.handler.HumidityResponse] - Humidity: 0
2026-01-13 05:37:49.721 [DEBUG] [ac.internal.handler.HumidityResponse] - Power from 0xA0 true
2026-01-13 05:37:49.722 [DEBUG] [ac.internal.handler.HumidityResponse] - Operational Mode from 0xA0 COOL
2026-01-13 05:37:49.722 [DEBUG] [ac.internal.handler.HumidityResponse] - Target Temperature from 0xA0 16.0
2026-01-13 05:37:49.723 [DEBUG] [ac.internal.handler.HumidityResponse] - Fan Speed from 0xA0 MEDIUM
2026-01-13 05:37:49.726 [DEBUG] [ac.internal.handler.HumidityResponse] - Swing Mode from 0xA0 OFF
For setting the aircon speed to high:
2026-01-13 05:39:48.635 [DEBUG] [nternal.connection.ConnectionManager] - Bytes in HEX, decoded and stripped without header: length: 25, data: A00940647F7F003000000007000000000000000000001CE89F
2026-01-13 05:39:48.635 [DEBUG] [nternal.connection.ConnectionManager] - Response detected with bodyType 0xA0. Data length: 25
2026-01-13 05:39:48.635 [DEBUG] [ac.internal.handler.HumidityResponse] - Humidity: 0
2026-01-13 05:39:48.636 [DEBUG] [ac.internal.handler.HumidityResponse] - Power from 0xA0 true
2026-01-13 05:39:48.636 [DEBUG] [ac.internal.handler.HumidityResponse] - Operational Mode from 0xA0 COOL
2026-01-13 05:39:48.636 [DEBUG] [ac.internal.handler.HumidityResponse] - Target Temperature from 0xA0 16.0
2026-01-13 05:39:48.636 [DEBUG] [ac.internal.handler.HumidityResponse] - Fan Speed from 0xA0 UNKNOWN
2026-01-13 05:39:48.636 [DEBUG] [ac.internal.handler.HumidityResponse] - Swing Mode from 0xA0 OFF
Ok seems fixable but need additional information to be sure and not break something else.
Details: The command for High sets the byte right before the 7F7F to 0x50 (80 in decimal). What happens with most devices is there a response starting with C0. Your device (like one other that was tested) also sends an unsolicited (extra) response starting with A0 with 0x64 (100 in decimal) that is not mapped to HIGH, so returns unknown. What I need to see (and you may already have it) is the debug log starting from ({} == your channel name)
Handling channelUID {} with command HIGH
I’m assuming there is a C0 response before the A0 response and I want to see those bytes. Right now both C0 and A0 update the same channel (Fan Speed)
Use the code fences </> for the logs for easier reading
2026-01-13 06:06:20.466 [DEBUG] [eaac.internal.handler.MideaACHandler] - Handling channelUID fan-speed with command HIGH
2026-01-13 06:06:20.466 [DEBUG] [nternal.connection.ConnectionManager] - Disconnecting from device at 10.0.0.4
2026-01-13 06:06:20.476 [DEBUG] [nternal.connection.ConnectionManager] - Device at IP: 10.0.0.4 requires authentication, going to authenticate
2026-01-13 06:06:20.477 [DEBUG] [nternal.connection.ConnectionManager] - Device at IP: 10.0.0.4 authenticating
2026-01-13 06:06:20.536 [DEBUG] [nternal.connection.ConnectionManager] - Response received length: 72 from device at IP: 10.0.0.4
2026-01-13 06:06:20.537 [DEBUG] [nternal.connection.ConnectionManager] - Authentication successful
2026-01-13 06:06:21.537 [DEBUG] [nternal.connection.ConnectionManager] - Connected to IP 10.0.0.4
2026-01-13 06:06:21.538 [DEBUG] [nternal.connection.ConnectionManager] - Writing to 10.0.0.4 bytes.length: 104
2026-01-13 06:06:21.538 [DEBUG] [nternal.connection.ConnectionManager] - Input stream empty sending write org.openhab.binding.mideaac.internal.handler.CommandSet@5dd810b
2026-01-13 06:06:23.039 [DEBUG] [nternal.connection.ConnectionManager] - Response received length: 150 from device at IP: 10.0.0.4
2026-01-13 06:06:23.040 [DEBUG] [nternal.connection.ConnectionManager] - Response length: 104 IP address: 10.0.0.4
2026-01-13 06:06:23.041 [DEBUG] [nternal.connection.ConnectionManager] - Bytes in HEX, decoded and stripped without header: length: 26, data: C00140647F7F00300000005AFF047000000000000000005D6604
2026-01-13 06:06:23.041 [DEBUG] [ng.mideaac.internal.handler.Response] - Power State: true
2026-01-13 06:06:23.042 [DEBUG] [ng.mideaac.internal.handler.Response] - Target Temperature: 16.0
2026-01-13 06:06:23.042 [DEBUG] [ng.mideaac.internal.handler.Response] - Operational Mode: COOL
2026-01-13 06:06:23.042 [DEBUG] [ng.mideaac.internal.handler.Response] - Fan Speed: UNKNOWN
2026-01-13 06:06:23.043 [DEBUG] [ng.mideaac.internal.handler.Response] - On Timer: enabled: false
2026-01-13 06:06:23.043 [DEBUG] [ng.mideaac.internal.handler.Response] - Off Timer: enabled: false
2026-01-13 06:06:23.044 [DEBUG] [ng.mideaac.internal.handler.Response] - Swing Mode: OFF
2026-01-13 06:06:23.044 [DEBUG] [ng.mideaac.internal.handler.Response] - Sleep Function: false
2026-01-13 06:06:23.044 [DEBUG] [ng.mideaac.internal.handler.Response] - Turbo Mode: false
2026-01-13 06:06:23.045 [DEBUG] [ng.mideaac.internal.handler.Response] - Eco Mode: false
2026-01-13 06:06:23.045 [DEBUG] [ng.mideaac.internal.handler.Response] - Indoor Temperature: 20.0
2026-01-13 06:06:23.046 [DEBUG] [ng.mideaac.internal.handler.Response] - Outdoor Temperature: 0.0
2026-01-13 06:05:24.532 [DEBUG] [nternal.connection.ConnectionManager] - Disconnecting from device at 10.0.0.4
2026-01-13 06:05:24.541 [DEBUG] [nternal.connection.ConnectionManager] - Device at IP: 10.0.0.4 requires authentication, going to authenticate
2026-01-13 06:05:24.541 [DEBUG] [nternal.connection.ConnectionManager] - Device at IP: 10.0.0.4 authenticating
2026-01-13 06:05:24.598 [DEBUG] [nternal.connection.ConnectionManager] - Response received length: 72 from device at IP: 10.0.0.4
2026-01-13 06:05:24.599 [DEBUG] [nternal.connection.ConnectionManager] - Authentication successful
2026-01-13 06:05:25.600 [DEBUG] [nternal.connection.ConnectionManager] - Connected to IP 10.0.0.4
2026-01-13 06:05:25.601 [DEBUG] [nternal.connection.ConnectionManager] - Writing to 10.0.0.4 bytes.length: 104
2026-01-13 06:05:27.102 [DEBUG] [nternal.connection.ConnectionManager] - Response received length: 150 from device at IP: 10.0.0.4
2026-01-13 06:05:27.103 [DEBUG] [nternal.connection.ConnectionManager] - Response length: 104 IP address: 10.0.0.4
2026-01-13 06:05:27.103 [DEBUG] [nternal.connection.ConnectionManager] - Bytes in HEX, decoded and stripped without header: length: 25, data: A00940647F7F00300000000700000000000000000000485209
2026-01-13 06:05:27.103 [DEBUG] [nternal.connection.ConnectionManager] - Response detected with bodyType 0xA0. Data length: 25
2026-01-13 06:05:27.104 [DEBUG] [ac.internal.handler.HumidityResponse] - Humidity: 0
2026-01-13 06:05:27.104 [DEBUG] [ac.internal.handler.HumidityResponse] - Power from 0xA0 true
2026-01-13 06:05:27.104 [DEBUG] [ac.internal.handler.HumidityResponse] - Operational Mode from 0xA0 COOL
2026-01-13 06:05:27.105 [DEBUG] [ac.internal.handler.HumidityResponse] - Target Temperature from 0xA0 16.0
2026-01-13 06:05:27.105 [DEBUG] [ac.internal.handler.HumidityResponse] - Fan Speed from 0xA0 UNKNOWN
2026-01-13 06:05:27.105 [DEBUG] [ac.internal.handler.HumidityResponse] - Swing Mode from 0xA0 OFF
2026-01-13 06:05:54.924 [DEBUG] [nternal.handler.SonoffAccountHandler] - Running connection check task
2026-01-13 06:05:54.924 [DEBUG] [l.connection.SonoffConnectionManager] - Connection Check Running for mixed mode
2026-01-13 06:05:56.445 [DEBUG] [nternal.handler.SonoffAccountHandler] - Running Activation task
2026-01-13 06:05:56.445 [DEBUG] [connection.SonoffWebSocketConnection] - Websocket Sending Message:ping
2026-01-13 06:05:56.594 [DEBUG] [connection.SonoffWebSocketConnection] - Pong Response received
2026-01-13 06:06:00.369 [INFO ] [nhab.core.model.script.Victron Solar] - CCGX MQTT Keep Alive Timer Fired!
2026-01-13 06:06:00.382 [INFO ] [.model.script.Rain influx response: ] - {“results”:[{“statement_id”:0,“series”:[{“name”:“weatherstation”,“columns”:[“time”,“sum”],“values”:[[“1970-01-01T00:00:00Z”,0.279399991]]}]}]}
2026-01-13 06:06:00.383 [INFO ] [enhab.core.model.script.Rain influx ] - 0.279399991
2026-01-13 06:06:04.066 [DEBUG] [eaac.internal.handler.MideaACHandler] - Handling channelUID fan-speed with command UNKNOWN
2026-01-13 06:06:04.071 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method ‘ThingHandler.handleCommand()’ on ‘org.openhab.binding.mideaac.internal.handler.MideaACHandler@3ee41cba’: Unknown fan speed command: {}
java.lang.UnsupportedOperationException: Unknown fan speed command: {}
at org.openhab.binding.mideaac.internal.connection.CommandHelper.handleFanSpeed(CommandHelper.java:201) ~[?:?]
at org.openhab.binding.mideaac.internal.handler.MideaACHandler.handleCommand(MideaACHandler.java:178) ~[?:?]
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) ~[?:?]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:149) ~[?:?]
at org.openhab.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) ~[?:?]
at jdk.proxy9032.$Proxy9178.handleCommand(Unknown Source) ~[?:?]
at org.openhab.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:97) ~[?:?]
at org.openhab.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) ~[?:?]
at org.openhab.core.thing.profiles.StateProfile.onCommandFromItem(StateProfile.java:42) ~[?:?]
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) ~[?:?]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:149) ~[?:?]
at org.openhab.core.internal.common.Invocation.call(Invocation.java:52) ~[?:?]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:?]
at java.lang.Thread.run(Unknown Source) [?:?]
2026-01-13 06:06:20.466 [DEBUG] [eaac.internal.handler.MideaACHandler] - Handling channelUID fan-speed with command HIGH
2026-01-13 06:06:20.466 [DEBUG] [nternal.connection.ConnectionManager] - Disconnecting from device at 10.0.0.4
2026-01-13 06:06:20.476 [DEBUG] [nternal.connection.ConnectionManager] - Device at IP: 10.0.0.4 requires authentication, going to authenticate
2026-01-13 06:06:20.477 [DEBUG] [nternal.connection.ConnectionManager] - Device at IP: 10.0.0.4 authenticating
2026-01-13 06:06:20.536 [DEBUG] [nternal.connection.ConnectionManager] - Response received length: 72 from device at IP: 10.0.0.4
2026-01-13 06:06:20.537 [DEBUG] [nternal.connection.ConnectionManager] - Authentication successful
2026-01-13 06:06:21.537 [DEBUG] [nternal.connection.ConnectionManager] - Connected to IP 10.0.0.4
2026-01-13 06:06:21.538 [DEBUG] [nternal.connection.ConnectionManager] - Writing to 10.0.0.4 bytes.length: 104
2026-01-13 06:06:21.538 [DEBUG] [nternal.connection.ConnectionManager] - Input stream empty sending write org.openhab.binding.mideaac.internal.handler.CommandSet@5dd810b
2026-01-13 06:06:23.039 [DEBUG] [nternal.connection.ConnectionManager] - Response received length: 150 from device at IP: 10.0.0.4
2026-01-13 06:06:23.040 [DEBUG] [nternal.connection.ConnectionManager] - Response length: 104 IP address: 10.0.0.4
2026-01-13 06:06:23.041 [DEBUG] [nternal.connection.ConnectionManager] - Bytes in HEX, decoded and stripped without header: length: 26, data: C00140647F7F00300000005AFF047000000000000000005D6604
2026-01-13 06:06:23.041 [DEBUG] [ng.mideaac.internal.handler.Response] - Power State: true
2026-01-13 06:06:23.042 [DEBUG] [ng.mideaac.internal.handler.Response] - Target Temperature: 16.0
2026-01-13 06:06:23.042 [DEBUG] [ng.mideaac.internal.handler.Response] - Operational Mode: COOL
2026-01-13 06:06:23.042 [DEBUG] [ng.mideaac.internal.handler.Response] - Fan Speed: UNKNOWN
2026-01-13 06:06:23.043 [DEBUG] [ng.mideaac.internal.handler.Response] - On Timer: enabled: false
2026-01-13 06:06:23.043 [DEBUG] [ng.mideaac.internal.handler.Response] - Off Timer: enabled: false
2026-01-13 06:06:23.044 [DEBUG] [ng.mideaac.internal.handler.Response] - Swing Mode: OFF
2026-01-13 06:06:23.044 [DEBUG] [ng.mideaac.internal.handler.Response] - Sleep Function: false
2026-01-13 06:06:23.044 [DEBUG] [ng.mideaac.internal.handler.Response] - Turbo Mode: false
2026-01-13 06:06:23.045 [DEBUG] [ng.mideaac.internal.handler.Response] - Eco Mode: false
2026-01-13 06:06:23.045 [DEBUG] [ng.mideaac.internal.handler.Response] - Indoor Temperature: 20.0
2026-01-13 06:06:23.046 [DEBUG] [ng.mideaac.internal.handler.Response] - Outdoor Temperature: 0.0
2026-01-13 06:06:27.106 [DEBUG] [nternal.connection.ConnectionManager] - Disconnecting from device at 10.0.0.4
2026-01-13 06:06:27.116 [DEBUG] [nternal.connection.ConnectionManager] - Device at IP: 10.0.0.4 requires authentication, going to authenticate
2026-01-13 06:06:27.116 [DEBUG] [nternal.connection.ConnectionManager] - Device at IP: 10.0.0.4 authenticating
2026-01-13 06:06:27.170 [DEBUG] [nternal.connection.ConnectionManager] - Response received length: 72 from device at IP: 10.0.0.4
2026-01-13 06:06:27.172 [DEBUG] [nternal.connection.ConnectionManager] - Authentication successful
2026-01-13 06:06:28.172 [DEBUG] [nternal.connection.ConnectionManager] - Connected to IP 10.0.0.4
2026-01-13 06:06:28.173 [DEBUG] [nternal.connection.ConnectionManager] - Writing to 10.0.0.4 bytes.length: 104
2026-01-13 06:06:28.174 [DEBUG] [nternal.connection.ConnectionManager] - Input stream empty sending write org.openhab.binding.mideaac.internal.handler.CommandBase@4e59bdf8
2026-01-13 06:06:29.675 [DEBUG] [nternal.connection.ConnectionManager] - Response received length: 150 from device at IP: 10.0.0.4
2026-01-13 06:06:29.675 [DEBUG] [nternal.connection.ConnectionManager] - Response length: 104 IP address: 10.0.0.4
2026-01-13 06:06:29.676 [DEBUG] [nternal.connection.ConnectionManager] - Bytes in HEX, decoded and stripped without header: length: 26, data: C00140647F7F00300000005AFF047000000000000000001BFDAE
2026-01-13 06:06:29.676 [DEBUG] [ng.mideaac.internal.handler.Response] - Power State: true
2026-01-13 06:06:29.676 [DEBUG] [ng.mideaac.internal.handler.Response] - Target Temperature: 16.0
2026-01-13 06:06:29.676 [DEBUG] [ng.mideaac.internal.handler.Response] - Operational Mode: COOL
2026-01-13 06:06:29.676 [DEBUG] [ng.mideaac.internal.handler.Response] - Fan Speed: UNKNOWN
2026-01-13 06:06:29.676 [DEBUG] [ng.mideaac.internal.handler.Response] - On Timer: enabled: false
2026-01-13 06:06:29.676 [DEBUG] [ng.mideaac.internal.handler.Response] - Off Timer: enabled: false
2026-01-13 06:06:29.677 [DEBUG] [ng.mideaac.internal.handler.Response] - Swing Mode: OFF
2026-01-13 06:06:29.677 [DEBUG] [ng.mideaac.internal.handler.Response] - Sleep Function: false
2026-01-13 06:06:29.677 [DEBUG] [ng.mideaac.internal.handler.Response] - Turbo Mode: false
2026-01-13 06:06:29.677 [DEBUG] [ng.mideaac.internal.handler.Response] - Eco Mode: false
2026-01-13 06:06:29.677 [DEBUG] [ng.mideaac.internal.handler.Response] - Indoor Temperature: 20.0
2026-01-13 06:06:29.677 [DEBUG] [ng.mideaac.internal.handler.Response] - Outdoor Temperature: 0.0
Ok Have a PR to fix[mideaac] Add Fan Speed Option for Version 3 by apella12 · Pull Request #20065 · openhab/openhab-addons
You are more than welcome to share the code change you made then I can build it on my side and test.
I saw your code changes in the code commit. Will pull it sometime and test
I thought about testing early on, but had a number of questions, like your version of OH and whether a 5.2 snapshot would work. Also, I modified a test case with your output that returned HIGH.
Anyway, here is the jar that works in my OH5.1.1 test environment. Download, Remove the .txt extension, remove the MideaAC binding from your OH and drop jar in the addons. If there are any issues, I’ll need to look at the debug logs again.
org.openhab.binding.mideaac-5.2.0-SNAPSHOT-high.jar.txt (104.9 KB)
I pulled your changes and build the jar on my PC and deployed to openhab. Its seems to work perfectly
Thanks for your assistance on this. Appreciated