Trace logs? You could also install the binding that included wih 5.1 and remove the marketplace binding. Infact, I should adjust marketplace so it won’t install on 5.1.
I installed the latest update from here: Roborock binding for robot vacuum cleaners [5.0.0; 5.0.99] - #190 by Paul_Smedley
openhab.log
2025-12-06 04:40:38.905 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
java.lang.NullPointerException: Cannot read field "rrHomeId" because "home.data" is null
at org.openhab.binding.roborock.internal.RoborockAccountHandler.refreshHomeData(RoborockAccountHandler.java:140) ~[?:?]
at org.openhab.core.cache.ExpiringCache.refreshValue(ExpiringCache.java:103) ~[?:?]
at org.openhab.core.cache.ExpiringCache.getValue(ExpiringCache.java:73) ~[?:?]
at org.openhab.binding.roborock.internal.RoborockAccountHandler.getHomeData(RoborockAccountHandler.java:130) ~[?:?]
at org.openhab.binding.roborock.internal.discovery.RoborockVacuumDiscoveryService.getHomeData(RoborockVacuumDiscoveryService.java:87) ~[?:?]
at org.openhab.binding.roborock.internal.discovery.RoborockVacuumDiscoveryService.discover(RoborockVacuumDiscoveryService.java:112) ~[?:?]
at org.openhab.binding.roborock.internal.discovery.RoborockVacuumDiscoveryService.startScan(RoborockVacuumDiscoveryService.java:126) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:?]
at java.util.concurrent.FutureTask.runAndReset(Unknown Source) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.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) [?:?]
Edit: the binding included in 5.1. generate the warning too
Need to see more of the log, but home.data being null suggests the token is invalid…..
here my log:
openhab.log (11.0 KB)
Sorry, need trace logging enabled…
Hope, that’s what you want
Deleted URL
unfortunately, I don’t see anything related to the roborock binding in this log
despite it’s size, it only spans ~2 minutes…
maybe this part of the log is better ![]()
link deleted
Unfortunately not - I’d at least expect the see the line:
Cannot read field "rrHomeId" because "home.data" is null"
in the log, but there’s nothing to do with the roborock binding that I can see….
Think i need to wait first. Is it right, that the @ will be send as %40 ?
2025-12-06 07:46:09.180 [TRACE] [rock.internal.RoborockAccountHandler] - e6fbfda6cc: API Init: Scheduling to run in 0 seconds
2025-12-06 07:46:09.181 [TRACE] [rock.internal.RoborockAccountHandler] - e6fbfda6cc: API Init: Running one-shot
2025-12-06 07:46:09.181 [DEBUG] [rock.internal.RoborockAccountHandler] - No available token or rriot values from sessionStorage, logging in
2025-12-06 07:46:09.181 [DEBUG] [roborock.internal.RoborockWebTargets] - Calling url: https://euiot.roborock.com/api/v1/login?username=***%40web.de&password=*******&needtwostepauth=false2025-12-06 07:46:09.181 [TRACE] [roborock.internal.RoborockWebTargets] - POST request for https://euiot.roborock.com/api/v1/login?username=***%40web.de&password=*******&needtwostepauth=false
2025-12-06 07:46:09.248 [TRACE] [roborock.internal.RoborockWebTargets] - JSON response: '{"msg":"mqtt message rate limit exceeded, sign in blocked for 7 days","data":null,"code":9004}'
ugggh I wish I knew how to prevent this. I’ve never seen a message saying sign in blocked for 7 days though…
FWIW - I just tried a ‘new’ login on a test install and got an error:
2025-12-07 09:33:26.970 \[TRACE\] \[roborock.internal.RoborockWebTargets\] - JSON response: ‘{“msg”:“need two step validate”,“data”:null,“code”:2031}’
Will investigate, Homey has the same problem, seems python-roborock has a fix already.
Edit: I need to study python-roborock/roborock/web_api.py at main · Python-roborock/python-roborock · GitHub
Edit2: created an issue for this at [roborock] login failing with "need two step validate" · Issue #19759 · openhab/openhab-addons · GitHub which I’m working to address.
OK, new build to test. https://smedley.id.au/tmp/org.openhab.binding.roborock-5.1.0-SNAPSHOT.jar
If your vacuum is currently working - there is no need to upgrade. This update is purely to fix the new login methods.
If you want to test, I suggest you create a new thing so you don’t risk breaking your current working vac.
I still need to update the readme. The password is no longer used, in config there is a field for a 2FA code.
To create a new thing, just enter your email. If you have a roborock account, you’ll get an mail with a 6 digit code. Add this to the 2FA field and hit save. If correct, your account should go online, and the 2FA field will be cleared.
[roborock] Update login to use new protocol by psmedley · Pull Request #19760 · openhab/openhab-addons · GitHub is tracking this - currently set to WIP pending feedback.
Thanks for the new build. I could login super fast and easy and add my Roborock S7. Now i can test ![]()
Good timing that this broke before the release of 5.1.0 ![]()
Looks Like the Roborock Binding Breaks the Enocean Binding. Both get Error:Com. ![]()
I will Look, was the log say if im back home
hmmm that doesn’t make a lot of sense….. I just fixed a few copilot suggestions so the build has updated again.
I’ll update on my main install too (not that it should be impacted at all as it has a working token already)
I know now, why i had the Problem. My Raspberry Pi with Openhab 4 was still running and connected to the cloud instead of my raspberry with Openhab 5. So i was trying to controll items on the wrong openhab.
The Roborock Binding Runs actually without problems
Hi Paul,
very good job and thank you so much for that binding.
I’m on 5.0.3 stable, is com.google.gson 2.13 really a requirement for your 5.1.0 snapshot?
openhab> bundle:start 355
Error executing command: Error executing command on bundles:
Error starting bundle 355: Could not resolve module: org.openhab.binding.roborock \[355\]
Unresolved requirement: Import-Package: com.google.gson; version=“\[2.13.0,3.0.0)”
or could you imagine to build a snapshot for 5.0.3 too?
the gson isn’t a requirement per se - but it’s driven by building from the main branch.
Login broke again, so updated per python-roborock latest fix (fix: align V4 code login with app by Lash-L · Pull Request #657 · Python-roborock/python-roborock · GitHub)
Synced code into 5.0 branch, (untested) build is available at https://smedley.id.au/tmp/org.openhab.binding.roborock-5.0.2-SNAPSHOT.jar