Xiaomi Robot Vacuum Binding

That is nothing to worry about. It just means that the binding itself is not knowing the command, however as you can see your vacuum respond with something 201. Don’t know what it means, but that is the water_box_custom_mode it seems

the binding seems to have stopped working (with the last OH update, i think) for my Mi Air Purifier 2S. I’ve checked the token hasn’t changed (it hasn’t).

Any ideas…?

if you are using text config, add the model= to your config. Something seems to have changed in the OH framework that it now does no longer work without.

Thanks Marcel.

That fixed it - after I’d remembered the comma between parameters.

@marcel_verpaalen something is wrong with my yeelights color v1.As soon as i changed brightness from number to dimmer i have this problem: by moving the brightness slider at PaperUi i can dim and bright from 1 to 99 and back .If i try to do it using a rule i can dim ,for example from 99 to 20 but i can not bright from 20 to 99.I give a sendCommand(99) to brightness but nothing happens and at log i get

2020-05-05 21:06:08.645 [vent.ItemStateChangedEvent] - YeelightColorBulb1_Brightness changed from 20 to 99
2020-05-05 21:06:08.918 [vent.ItemStateChangedEvent] - YeelightColorBulb1_Brightness changed from 99 to 20

@Constantinos_Contis which version are you using? Suggest to use the 2.5.5 snapshot which has the fix for your issue.

This should be solved in the latest 2.5.5-snapshot build. Please test and confirm if it works now.

1 Like

This is fixed in the latest 2.5.5-snapshot build.
Please test of it fixed your issue

1 Like

Hallo Mischa,
This is fixed in the latest 2.5.5 -snapshot build. Please test and feedback

Hi everybody!
Is it possible to configure/command a specific zone cleaning with this binding ?
With which Xiaomi vacuum cleaner will it work ?

Forum search button is on the upper right.
One of those hits:

1 Like

sry, there is stille the same problem with openHAB 2.5.5 Build #111 on a debian (netinstall) vm.

java.lang.Error: Probable fatal error:No fonts found.

	at sun.font.SunFontManager.getDefaultPhysicalFont(SunFontManager.java:1236) ~[?:1.8.0_252]

	at sun.font.SunFontManager.initialiseDeferredFont(SunFontManager.java:1106) ~[?:1.8.0_252]

	at sun.font.CompositeFont.doDeferredInitialisation(CompositeFont.java:287) ~[?:1.8.0_252]

	at sun.font.CompositeFont.getSlotFont(CompositeFont.java:376) ~[?:1.8.0_252]

	at sun.font.CompositeStrike.getStrikeForSlot(CompositeStrike.java:82) ~[?:1.8.0_252]

	at sun.font.CompositeStrike.getFontMetrics(CompositeStrike.java:97) ~[?:1.8.0_252]

	at sun.font.FontDesignMetrics.initMatrixAndMetrics(FontDesignMetrics.java:359) ~[?:1.8.0_252]

	at sun.font.FontDesignMetrics.<init>(FontDesignMetrics.java:350) ~[?:1.8.0_252]

	at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:302) ~[?:1.8.0_252]

	at sun.java2d.SunGraphics2D.getFontMetrics(SunGraphics2D.java:855) ~[?:1.8.0_252]

	at org.openhab.binding.miio.internal.robot.RRMapDraw.drawOpenHabRocks(RRMapDraw.java:343) ~[?:?]

	at org.openhab.binding.miio.internal.robot.RRMapDraw.getImage(RRMapDraw.java:405) ~[?:?]

	at org.openhab.binding.miio.internal.handler.MiIoVacuumHandler.getMap(MiIoVacuumHandler.java:478) ~[?:?]

	at org.openhab.binding.miio.internal.handler.MiIoVacuumHandler.lambda$5(MiIoVacuumHandler.java:451) ~[?:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_252]

	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_252]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_252]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_252]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_252]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_252]

	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252

yuk… It is really a java issue :frowning: as the binding now looks for an available font and tries to use it. (if it comes to this place it already found an available font)

I’ll make a special version for you that avoids the issue and is bit more talkative on what is happening in your system, maybe we can make a fix that is acceptable by the code reviewers (as they did not like my simple fix of just ignore this error and proceed)

1 Like

Hello Marcel,
would it be possible to get this special version, too? Tried to install the fonts, no change.
Thanks for this great binding!

yes, @Sebastian73 @horschte you find it here:
It is talkative (in debug) about the found fonts and will proceed if error is there (it will still print the error message in debug though).

Let me know the results pls

I also started to get errors for my Roborock S5 in 2.5.4

[WARN ] [nal.transport.MiIoAsyncCommunication] - Error while polling/sending message
java.lang.ArrayIndexOutOfBoundsException: null
	at java.lang.System.arraycopy(Native Method) ~[?:1.8.0_242]
	at org.openhab.binding.miio.internal.MiIoCrypto.iv(MiIoCrypto.java:52) ~[bundleFile:?]
	at org.openhab.binding.miio.internal.MiIoCrypto.encrypt(MiIoCrypto.java:74) ~[bundleFile:?]
	at org.openhab.binding.miio.internal.transport.MiIoAsyncCommunication.sendCommand(MiIoAsyncCommunication.java:257) ~[bundleFile:?]
	at org.openhab.binding.miio.internal.transport.MiIoAsyncCommunication.sendMiIoSendCommand(MiIoAsyncCommunication.java:173) ~[bundleFile:?]
	at org.openhab.binding.miio.internal.transport.MiIoAsyncCommunication$MessageSenderThread.run(MiIoAsyncCommunication.java:232) [bundleFile:?]

In my case my S5 vacuum is not connected to the cloud and was never connected to it. I use it with valetudo. Can this cloud polling be disabled?

EDIT: Actually solved it myself. Edited things file and changed token as @kovaga suggested.

A log line appeared:

[INFO ] [g.miio.internal.cloud.CloudConnector] - No Xiaomi cloud credentials. Cloud connectivity disabled

Most probably it is enabled by default.

No… it just a message which is information that indeed the cloud login userId/password are not there, hence the binding is behaving as before without cloud related functionality (tokens/map).

In the latest snapshot this is changed to a debug message instead of info message, so you won’t see it anymore in the reglar log settings.

No. I mean this message started to appear periodically only when I made a change in the things file. Previously it shot Error while polling/sending message instead.

Marcel, can you please point me to the download link of the miio 2.5.5 jar

Same vacuum here (1S). I had some problems changing to the cloud service but after several attempts of deleting the Thing and readding it and restarting openHAB it finally worked:

Binding version:

261 x Active x 80 x x openHAB Add-ons :: Bundles :: Xiaomi Mi IO Binding

Debug log: