Suddenly my wife thinks a Roomba is a good idea.
Anyone know if the Costco Roomba 985 is compatible? Most likely a Costco only model number to avoid comparison shopping.
EricMcM wrote:Thanks for the quick response. They are indeed pretty new and I just got this one. The house mapping is pretty cool. Here is the log. Happy to try stuff if it will help.
Thanks!
----
Stopped plugin "iRobot-Roomba 0.2.6"
Starting plugin "iRobot-Roomba 0.2.6" (pid 41058)
iRobot-Roomba
iRobot-Roomba ================================================ Initializing New Plugin Session =================================================
iRobot-Roomba Plugin name: iRobot-Roomba
iRobot-Roomba Plugin version: 0.2.6
iRobot-Roomba Plugin ID: com.GlennNZ.indigoplugin.irobot
iRobot-Roomba Indigo version: 7.1.1
iRobot-Roomba Python version: 2.7.10 (default, Oct 6 2017, 22:29:07) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)]
iRobot-Roomba Python Directory: /System/Library/Frameworks/Python.framework/Versions/2.7
iRobot-Roomba ==================================================================================================================================
iRobot-Roomba Debug logLevel = 10
Started plugin "iRobot-Roomba 0.2.6"
iRobot-Roomba Starting Roomba
iRobot-Roomba Debug updateFrequency = 86400.0
iRobot-Roomba Debug statusFrequency = 600.0
iRobot-Roomba Debug deviceStartComm called for Downstairs Roomba
iRobot-Roomba Debug checkALlRoombas called.
iRobot-Roomba Debug self.connected equals:False& self.continuous equals:True
iRobot-Roomba Debug Continuous ON and not connected..
iRobot-Roomba Debug getRoombaInfo for Downstairs Roomba
iRobot-Roomba Debug connecting Roomba Device: Downstairs Roomba
iRobot-Roomba Debug Using config file: /Users/<username>/Documents/Indigo-iRobotRoomba/<IP of roomba>-config.ini
iRobot-Roomba Debug CONTINUOUS connection
iRobot-Roomba Debug Reading Config File: <IP of roomba>-config.ini
iRobot-Roomba Debug Reading config file... /Users/<username>/Documents/Indigo-iRobotRoomba/<IP of roomba>-config.ini
iRobot-Roomba Debug reading info from config file /Users/<username>/Documents/Indigo-iRobotRoomba/<IP of roomba>-config.ini
iRobot-Roomba Debug Sections ['<IP of roomba>']
iRobot-Roomba Debug Posting DECODED data
iRobot-Roomba Debug Connecting: Downstairs Vac : <IP of roomba> : :<blid> : <password>
iRobot-Roomba Debug Connecting Downstairs Vac
iRobot-Roomba Debug Seting TLS
iRobot-Roomba Debug MQTT Client Succesfully setup
iRobot-Roomba Debug Client Connect Running now Downstairs Vac
iRobot-Roomba Debug Client LoopStart Running now Downstairs Vac
iRobot-Roomba Debug Roomba Connected Downstairs Vac
iRobot-Roomba Debug Roomba Connected with result code 2
iRobot-Roomba Debug Please make sure your blid and password are correct Downstairs Vac
EricMcM wrote:no joy. The log is identical, except that the result code on the connect is now 4 instead of 2.
I verified by removing the config, the device, and the plugin and starting over.
Thanks!
EricMcM wrote:yes, I removed the juicy bits. The connection does seem fine for that part (getting the password). It's during a regular connect where it gives the error.
Your comment prompted me to look a bit closer at the config. In the previous version, the blid was empty. In your new test version, it is fine. However, in both versions, there is an extra character (^@) at the end of the password (that character was not displayed in the log during password discovery). I removed this from the config and restarted the plugin, and now it is working.
Thanks!
self.logger.info('Password=> %s <= Yes, all this string.' % str(data[7:]).partition(b'\0')[0])
Config = configparser.ConfigParser()
Config.add_section(addr)
Config.set(addr,'blid',blid)
Config.set(addr,'password',str(data[7:]).partition(b'\0')[0])
EricMcM wrote:It is a null (^@ as represented on command line an vi). May be an unpacking error in the library. Starting at line 213 in roomba.py I used partition to strip the null:
- Code: Select all
self.logger.info('Password=> %s <= Yes, all this string.' % str(data[7:]).partition(b'\0')[0])
Config = configparser.ConfigParser()
Config.add_section(addr)
Config.set(addr,'blid',blid)
Config.set(addr,'password',str(data[7:]).partition(b'\0')[0])
Once I saw this, I did look at the previous log and noticed that the "Yes, all this string" part did not show up in the log (consistent with there being a null in the string).
This is a workaround, but it shouldn't do anything if there is no null in the data (which I am presuming is the case for the other roomba models since they work with the existing code).
EricMcM wrote:yep, I agree. I was just passing on what I saw, and I'm perfectly happy with this workaround (and many thanks for the plugin!).
I posted the whole log for the password discovery and only removed sensitive information without touching anything else, and the "Yes, all this string" was missing (the print was cut off by the null in the string).
Thanks for your help!
Users browsing this forum: No registered users and 2 guests