That 403042 / “Invalid LoginID” error isn’t a typo or wrong-password problem, and I don’t think tweaking the script further will fix it — I recognize you from the x05/405 thread too, and I think this is the same underlying issue.
The BLID/password approach in this thread is built for Classic-protocol Roombas — it authenticates against iRobot’s older Gigya API key/datacenter and then reads back a locally-usable blid+password pair for direct MQTT to the robot on your LAN. Your 405 is a Prime/V4-generation robot: no local MQTT, no blid/password concept at all — it only talks to iRobot’s cloud, through a different Gigya API key entirely. When you point the Classic script at a Prime account, it’s not that your credentials are wrong, it’s that the whole request is built for an API surface your account doesn’t authenticate against the same way. That’s exactly why “credentials confirmed working elsewhere” and “script says Invalid LoginID” can both be true at once.
No amount of pairing-mode button-pressing will fix this either, for what it’s worth — there’s no local pairing step to find, because the device was never going to expose one.
I’ve been building a from-scratch client for this generation instead of trying to coerce the Classic one: roombapy-prime, aimed eventually at folding into ha_roomba_plus (my existing Classic-protocol HACS integration). Full context here: Looking for iRobot Prime/V4-generation owners to test a new Python library
I know from the other thread that installing a Python script isn’t really what you’re after long-term — totally fair — but for exactly your account/device combination right now, a single read-only run would tell me something I can’t find out any other way:
pip install git+https://github.com/johnnyh1975/roombapy-prime.git
roombapy-prime-validate --username [email protected] --country-code US
Doesn’t touch the robot, doesn’t change anything — just logs in the way the actual Prime app does and reports what it can read back. If it works for you, that’s one real step closer to this being something your friends never have to think about at all.