Comments (3)
What OS are you using? 2.7.1 seems like a very old version of Python, the earliest I've ever tried is 2.7.9, and really 2.7.12 is better (more compatible libraries).
The problem is that the Blid is shown as None
which is a problem. You should have a valid Blid to be able to connect (and to save the config.ini
file. In your case your Blid is B66559F1D21E445E9C785DA092FFDE6B
This is the line (112) in password.py
that extracts the Blid from the hostname:
hostname = parsedMsg["hostname"].split('-')
if hostname[0] == 'Roomba' or hostname[0] == 'iRobot': #for i7 robot name is now iRobot
blid = hostname[1]
You are also missing the final "
from the robotname
- is this a cut and paste error?
Can you paste the full output from the connect attempt, and maybe try a later version of python? I don't really know why the Blid parsing should not work.
Also, now you have the ip, Blid and password, you could try a roomba.connect
using these credentials, and see if it works (as given below).
example python:
from roomba import Roomba
#uncomment the option you want to run, and replace address, blid and roombaPassword with your own values
address = "192.168.1.165"
blid = "B66559F1D21E445E9C785DA092FFDE6B"
roombaPassword = ":1:1570151115:8iV7hZGiYIyi6e9q"
myroomba = Roomba(address, blid, roombaPassword)
#or myroomba = Roomba() #if you have a config file - will attempt discovery if you don't
myroomba.connect()
#myroomba.set_preference("carpetBoost", "true")
#myroomba.set_preference("twoPass", "false")
myroomba.send_command("start")
from roomba980-python.
I'm running Python 2.7.16 on Ubuntu 19.04.
Yes, the missing " on the robotname is a copy-paste error.
I think that the root of my earlier issue was that pip was not updating things correctly for me, though I'm not sure why. Using pip3 to install from github, I was getting roomba.py version 1.2.5, whereas regular pip was giving me 1.2.1.
Now that I'm actually using the correct version of the script, things are working better. The initial run of the script worked fine up until the end:
[I 2019-10-08 19:14:39,143] *******************
[I 2019-10-08 19:14:39,143] * Program Started *
[I 2019-10-08 19:14:39,143] *******************
[I 2019-10-08 19:14:39,143] Roomba.py Version: 1.2.5
[I 2019-10-08 19:14:39,144] Python Version: 2.7.16 (default, Jul 9 2019, 16:43:02) [GCC 8.3.0]
[I 2019-10-08 19:14:39,144] Paho MQTT Version: 1.4.0
[I 2019-10-08 19:14:39,144] CV Version: 4.1.1
[I 2019-10-08 19:14:39,144] PIL Version: 6.1.0
[I 2019-10-08 19:14:39,144] to Exit
[I 2019-10-08 19:14:39,144] Roomba 980 MQTT data Interface
[I 2019-10-08 19:14:39,145] reading info from config file ./config.ini
[W 2019-10-08 19:14:39,145] No roomba or config file defined, I will attempt to discover Roombas, please put the Roomba on the dock and follow the instructions:
[I 2019-10-08 19:14:39,145] Using Password version 1.2.5
waiting on port: 5678 for data
[W 2019-10-08 19:14:39,392] supplied address 255.255.255.255 does not match discovered address 192.168.1.165, using discovered address...
found 1 Roomba(s)
Make sure your robot (Test IV) at IP 192.168.1.165 is on the Home Base and powered on (green lights on). Then press and hold the HOME button on your robot until it plays a series of tones (about 2 seconds). Release the button and your robot will flash WIFI light.
Press Enter to continue...
Received: {
"robotname": "Test IV",
"sku": "s915020",
"nc": 0,
"ver": "3",
"proto": "mqtt",
"ip": "192.168.1.165",
"hostname": "iRobot-B66559F1D21E445E9C785DA092FFDE6B",
"sw": "soho+3.0.11+soho-release-rt319+13",
"robotid": "B66559F1D21E445E9C785DA092FFDE6B",
"mac": "50:14:79:13:A0:B3",
"cap": {
"pmaps": 1,
"carpetBoost": 1,
"pp": 0,
"pose": 1,
"sched": 1,
"log": 2,
"ota": 2,
"dockComm": 1,
"binFullDetect": 1,
"prov": 3,
"area": 1,
"eco": 1,
"svcConf": 1,
"maps": 3,
"edge": 0,
"team": 1,
"multiPass": 2,
"5ghz": 1
}
}
Roomba (Test IV) IP address is: 192.168.1.165
blid is: B66559F1D21E445E9C785DA092FFDE6B
Password=> :1:1570151115:8iV7hZGiYIyi6e9q <= Yes, all this string.
Use these credentials in roomba.py
[I 2019-10-08 19:14:56,387] reading info from config file ./config.ini
[I 2019-10-08 19:14:56,387] Success! 1 Roombas Found!
[I 2019-10-08 19:14:56,387] Creating Roomba object 192.168.1.165
[I 2019-10-08 19:14:56,387] CONTINUOUS connection
[I 2019-10-08 19:14:56,387] connecting Roomba 192.168.1.165
[W 2019-10-08 19:14:56,387] CSS file not found, creating ./style.css
[W 2019-10-08 19:14:56,388] html file not found, creating ./Test IVroomba_map.html
[I 2019-10-08 19:14:56,388] Posting DECODED data
[I 2019-10-08 19:14:56,388] MAP: Maps Enabled
[I 2019-10-08 19:14:56,394] MAP: openening existing map no text image
[W 2019-10-08 19:14:56,394] MAP: map no text image problem: [Errno 2] No such file or directory: u'./Test IVmap_notext.png': set to None
[I 2019-10-08 19:14:56,407] MAP: home_pos: (400,750)
[I 2019-10-08 19:14:56,438] MAP: Initialisation complete
[I 2019-10-08 19:14:56,438] Connecting Test IV
[I 2019-10-08 19:14:56,438] Setting TLS
[I 2019-10-08 19:14:56,445] Setting TLS - OK
[E 2019-10-08 19:14:56,460] Error: [Errno 111] Connection refused
[E 2019-10-08 19:14:56,460] Attempting new Connection# 1
[I 2019-10-08 19:14:57,461] Connecting Test IV
Subsequent runs using the created config file from above give me the below output (slightly different connection error). I've checked the config file and it does seem to be populated correctly.
[I 2019-10-08 19:20:36,735] *******************
[I 2019-10-08 19:20:36,735] * Program Started *
[I 2019-10-08 19:20:36,736] *******************
[I 2019-10-08 19:20:36,736] Roomba.py Version: 1.2.5
[I 2019-10-08 19:20:36,736] Python Version: 2.7.16 (default, Jul 9 2019, 16:43:02) [GCC 8.3.0]
[I 2019-10-08 19:20:36,736] Paho MQTT Version: 1.4.0
[I 2019-10-08 19:20:36,736] CV Version: 4.1.1
[I 2019-10-08 19:20:36,736] PIL Version: 6.1.0
[I 2019-10-08 19:20:36,736] to Exit
[I 2019-10-08 19:20:36,737] Roomba 980 MQTT data Interface
[I 2019-10-08 19:20:36,737] reading info from config file ./config.ini
[I 2019-10-08 19:20:36,738] Creating Roomba object 192.168.1.165
[I 2019-10-08 19:20:36,738] CONTINUOUS connection
[I 2019-10-08 19:20:36,739] connecting Roomba 192.168.1.165
[I 2019-10-08 19:20:36,739] Posting DECODED data
[I 2019-10-08 19:20:36,739] MAP: Maps Enabled
[I 2019-10-08 19:20:36,747] MAP: openening existing map no text image
[W 2019-10-08 19:20:36,747] MAP: map no text image problem: [Errno 2] No such file or directory: u'./Test IVmap_notext.png': set to None
[I 2019-10-08 19:20:36,751] MAP: home_pos: (400,750)
[I 2019-10-08 19:20:36,775] MAP: Initialisation complete
[I 2019-10-08 19:20:36,775] Connecting Test IV
[I 2019-10-08 19:20:36,776] Setting TLS
[I 2019-10-08 19:20:36,789] Setting TLS - OK
[I 2019-10-08 19:20:37,103] Roomba Data: {}
[I 2019-10-08 19:20:37,395] Roomba Connected Test IV
[E 2019-10-08 19:20:37,396] Roomba Connected with result code 4
[E 2019-10-08 19:20:37,396] Please make sure your blid and password are correct Test IV
[I 2019-10-08 19:20:42,106] Roomba Data: {}
[I 2019-10-08 19:20:47,112] Roomba Data: {}
[I 2019-10-08 19:20:52,118] Roomba Data: {}
from roomba980-python.
This usually means that you already have a connection to the Roomba from somewhere else (usually the app). Roomba only allows one connection at a time.
You need to disconnect the app (and this is sometimes hard to do), then reconnect roomba.py. After roomba.py is connected, you can reconnect the app (it will detect that the local connection is in use, and will use a cloud connection instead - the "world" icon shows this).
from roomba980-python.
Related Issues (20)
- Using app at same time HOT 1
- It seems that .split(',') is missing to support GET call with multiple regions
- Is the a way to sync user_pmapv_id between local and cloud?
- Getting an error when running this on python 3.10 HOT 3
- I Can't access to the REST interface on my LAN HOT 3
- Getting your username/blid and password from the iRobot cloud HOT 2
- Creating mapping data on i3 without cloud HOT 1
- How to control my roomba HOT 1
- SSL: unsafe legacy renegotiation disabled HOT 2
- Docker image?
- Unable to retrieve password for i6 HOT 4
- Roomba i9 send_region_command not working
- DeprecationWarning: ssl.SSLContext() without protocol argument is deprecated. HOT 12
- Error: 403, {"message":"Signature not yet current: 20230804T000000Z is still later than 20230803T172233Z (20230803T171733Z + 5 min.)"}
- Even after i factory reset the roomba it shows number of mission and time it cleaned in app
- Getting password on Roomba j7+ HOT 30
- telnet to roomba with esp8266 WiFi HOT 1
- mapUploadAllowed: true HOT 1
- Problem getting Password HOT 3
- argument -m (--drawmap) not working HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from roomba980-python.