koalazak / dorita980

Unofficial iRobot Roomba and Braava (i7/i7+, 980, 960, 900, e5, 690, 675, m6, etc) node.js library (SDK) to control your robot
MIT License
931 stars 147 forks source link

Change of owner (Amazon aquisition) and pinning firmware #163

Closed Utopiah closed 12 months ago

Utopiah commented 1 year ago

Hi, I used the library in the past and it was quite fun. I mostly tinkered with it to integrate with my WebThings IoT gateway. Now though that I see Amazon acquired iRobot my consideration is very different.

I'd like to skip the app entirely, make sure that no data is sent back to Amazon servers (regardless of what information that is) but still be able to use the device.

My question simply is : does this sound like a reasonable plan knowing that in 2020 (see https://twitter.com/utopiah/status/1322456803603582976 , times flies) when I tinkered with it, dorita980 did everything I hope for?

Will I still need to do an update before get-roomba-password-cloud? If not, does it ever expire? (seems not, at least ~2 years later it was still valid)

PS: I'd rather flash with an open-source firmware but I'm not aware of any.

Utopiah commented 1 year ago

First little hiccup, I saved the MAC address of the device and nmap couldn't find it. I had to install the app to fix the WiFi.

I imagine next time I would change the WiFi I would have to use wlcfg with setPreferences() before disconnecting it. Otherwise I would have to rely on the app which would in turn probably force to agree to a new ToS and probably push for firmware updates.

Utopiah commented 1 year ago

Could setting up cloudEnv or another configuration parameter to a specific value prevent from attempt to query home? It would be more convenient that trying to block at the (local, e.g PiHole) DNS level (assuming it relies on it rather than falllback to fixed IPs) or MAC blocking with the router which also would also prevent LAN control.

iointerrupt commented 1 year ago

Could setting up cloudEnv or another configuration parameter to a specific value prevent from attempt to query home? It would be more convenient that trying to block at the (local, e.g PiHole) DNS level (assuming it relies on it rather than falllback to fixed IPs) or MAC blocking with the router which also would also prevent LAN control.

There is a parameter called sDiscUrl which I set to a local sinkhole server. The default value is usually https://disc-prod.iot.irobotapi.com/v1/robot/discover?robot_id={BLID}&country_code={COUNTRY_CODE}&sku={SKU_ID}. I usually set the parameter on my roombas (I have 3: 2 e5s and 1 i3) as follows: {'topic':"wifictl", 'payload':'{ "state" : { "sdiscUrl" : "http://dev.null/roomba_discovery/" } }'}.

Edit: To add to it, I use all my roombas locally, without the irobot app via my on my iot vlan. This vlan has no access to internet.