Closed dcmeglio closed 2 years ago
Anyone tested this with the new j7 yet?
I just picked up a Roomba j7+. However, I can't seem to get it to fetch the password from the device:
[jdiegmueller@nv-dc2-rproxy1 dorita980]# get-roomba-password 10.245.2.102
Make sure your robot is on the Home Base and powered on (green lights on). Then press and hold the HOME button (or DOCK+SPOT on some models) on your robot until it plays a series of tones (about 2 seconds). Release the button and your robot will flash WIFI light.
Then press any key here...
events.js:291
throw er; // Unhandled 'error' event
^
Error: Client network socket disconnected before secure TLS connection was established
at connResetException (internal/errors.js:609:14)
at TLSSocket.onConnectEnd (_tls_wrap.js:1557:19)
at Object.onceWrapper (events.js:420:28)
at TLSSocket.emit (events.js:326:22)
at endReadableNT (_stream_readable.js:1241:12)
at processTicksAndRejections (internal/process/task_queues.js:84:21)
Emitted 'error' event on TLSSocket instance at:
at emitErrorNT (internal/streams/destroy.js:92:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
at processTicksAndRejections (internal/process/task_queues.js:84:21) {
code: 'ECONNRESET',
path: undefined,
host: '10.245.2.102',
port: 8883,
localAddress: undefined
}
I've also tried the password-fetching tools from the similar(?) project (https://github.com/NickWaterton/Roomba980-Python) with similar results, so I suspect there is something different about the j7+.
hello folks,
what do you see if run this snippet? (make sure you are in the same network as the J7 robot!)
const dorita980 = require('dorita980');
dorita980.discovery((err, data) => {
console.log(err, data);
});
[root@ROCKY dorita980]# ./jason.js
Looking for robots...
Robot found! with blid/username: BCBCDD45160547239EBF3D8B086CB7F2
{ ver: '3',
hostname: 'iRobot-BCBCDD45160547239EBF3D8B086CB7F2',
robotname: 'Braava jet',
robotid: 'BCBCDD45160547239EBF3D8B086CB7F2',
ip: '10.245.2.120',
mac: '50:14:79:88:CE:F5',
sw: 'sanmarino+3.18.11+sanmarino-release-rt321+12',
sku: 'm611020',
nc: 0,
proto: 'mqtt',
cap:
{ oMode: 4,
edge: 0,
maps: 3,
pmaps: 5,
tHold: 1,
tLine: 2,
area: 1,
eco: 1,
multiPass: 2,
pose: 1,
team: 1,
pp: 0,
lang: 2,
'5ghz': 1,
prov: 3,
sched: 1,
svcConf: 1,
ota: 2,
log: 2,
langOta: 0,
tileScan: 1 } }
mmm that response is from your other robot (Braava jet). I was looking for a response from the J7. No worries I saw the correct response in your other issues:
{
"ver": "4",
"hostname": "iRobot-15DF6D60B10A4BA48A53015E91E330D2",
"robotname": "Roomba",
"robotid": "15DF6D60B10A4BA48A53015E91E330D2",
"ip": "10.245.2.102",
"mac": "50:14:79:B1:DF:0C",
"sw": "sapphire+1.0.17+Firmware-Production+52",
"sku": "j755020",
"nc": 0,
"proto": "mqtt",
"cap": {
"binFullDetect": 2,
"dockComm": 1,
"edge": 0,
"maps": 3,
"pmaps": 5,
"tLine": 2,
"area": 1,
"eco": 1,
"multiPass": 2,
"pose": 1,
"team": 1,
"pp": 0,
"lang": 2,
"5ghz": 1,
"prov": 3,
"sched": 1,
"svcConf": 1,
"ota": 2,
"log": 2,
"langOta": 0,
"expectingUserConf": 1
},
"cloudConnState": 14
}
I was lookig for the proto
value.
Looks like a ssl issue. maybe they added more security like client certificates or ssl pinning.
I'm seeing a similar response on an i7 with the latest firmware. Any chance we can extract the password some way? Note: I only get this response if I don't put it in wifi discovery mode (pressing spot+base for 2 sec). If I do, I just get an error, no response at all
Robot Data:
{
ver: '3',
hostname: 'iRobot-3CEE4408011A44209BCE340AFE0A0A23',
robotname: 'Roomba',
robotid: '3CEE4408011A44209BCE340AFE0A0A23',
ip: '192.168.1.204',
mac: '50:14:79:1C:31:0D',
sw: 'lewis+3.18.11+lewis-release-rt321+13',
sku: 'i715020',
nc: 0,
proto: 'mqtt',
cap: {
binFullDetect: 2,
oMode: 10,
dockComm: 1,
wDevLoc: 2,
bleDevLoc: 1,
edge: 0,
maps: 3,
pmaps: 5,
tLine: 2,
area: 1,
eco: 1,
multiPass: 2,
pose: 1,
team: 1,
pp: 0,
lang: 2,
hm: 0,
'5ghz': 1,
prov: 3,
sched: 1,
svcConf: 1,
ota: 2,
log: 2,
langOta: 0,
tileScan: 1
},
blid: '3CEE4408011A44209BCE340AFE0A0A23'
}
Error getting password. Follow the instructions and try again.
I have succesfully extracted password using the IOS app Thor to sniff sll comunication while starting roomba app.
J7 owners: can you please enumerate the steps that the iRobot app guide to configure your robot the first time?. There is a wizard to setup your robot the first time and there is one step in where the app ask to press some buttons on the robot...which are those butons and instructions?
Can your enumerate the complete guided process?
thank you
I was able to retrieve the password using the "Thor" app as mentioned above.
@koalazak There is no home button on the J7, it is supposed to automatically connect.
Also, is there an alternative to using this "Thor" app? I don't have an iPhone.
@koalazak There is no home button on the J7, it is supposed to automatically connect.
Also, is there an alternative to using this "Thor" app? I don't have an iPhone.
Fiddler, Titanium Web Proxy, Charles proxy and …
@koalazak There is no home button on the J7, it is supposed to automatically connect.
Also, is there an alternative to using this "Thor" app? I don't have an iPhone.
do you own a J7? Can you please describe the mobile app steps to setup the robot? in detail...
thanks
From the Roomba website:
This step turns on Roomba®’s internal Wi-Fi network so that your device can locate the robot. This step is not required for Roomba j7. Roomba j7 automatically does this step when turned on initially. If the robot is unable to be found, please reboot the robot but holding the Clean button until the light ring turns white and spins clockwise (10-20 seconds)
Maybe try doing that to put the roomba into discovery mode?
@koalazak There is no home button on the J7, it is supposed to automatically connect. Also, is there an alternative to using this "Thor" app? I don't have an iPhone.
Fiddler, Titanium Web Proxy, Charles proxy and …
I tried using Fiddler and have had no success. I have it sniffing traffic when I open the app or reset the roomba and I don't see any messages from iRobot or the IP of the roomba. I'm pretty new to this, so it's probably just me. I even enabled HTTPS.
Managed to sniff it using Charles Proxy on PC (https://www.charlesproxy.com). Summary: -Opened Charles on PC. -Proxy -> Access Control Settings -> Added phone's local IP address. -Proxy -> SSL Proxying Settings -> Enabled SSL Proxying adding "unauth1.prod.iot.irobotapi.com" with all ports "*". -Installed SSL Certificate on the phone (https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/) -Added the Trusted Certificate and Profile (ios). -Closed and Opened the iRobot app on the phone. -Then I managed to see the request with the password.
(If using HA to integrate, remember to close the iRobot App before adding the password.)
ps.: "You may try Charles for 30 days before purchasing a license. This enables you to evaluate Charles before deciding to purchase."
Have anyone managed to do it on Android? I think Android 11 added some security measures which prevents SSL decryption with user-provided certificates.
I can connect to my Roomba j7's IP on tcp/8883 using ROBOT_CIPHERS=TLS_AES_256_GCM_SHA384
I send 8f005efcc3b2900 and promptly get back a reply of f005efcc3b2903. In utf8 that looks like �♣��;)♥ -- I can't help but think that is a similey face sent by the Roomba devs :(
I get the same password even after a short button press (whilst docked), and also a 20 second long press (a reboot?).
I have succesfully extracted password using the IOS app Thor to sniff sll comunication while starting roomba app. @DiegoCarrilho
have you been able to use the password with dorita980 without other changes?
I can connect to my Roomba j7's IP on tcp/8883 using
ROBOT_CIPHERS=TLS_AES_256_GCM_SHA384
I send 8f005efcc3b2900 and promptly get back a reply of f005efcc3b2903. In utf8 that looks like �♣��;)♥ -- I can't help but think that is a similey face sent by the Roomba devs :(
I get the same password even after a short button press (whilst docked), and also a 20 second long press (a reboot?).
nice! can you share the complete (edit your ids for privacy) output of the following command:
npm install -g dorita980
ROBOT_CIPHERS=TLS_AES_256_GCM_SHA384 get-roomba-password <robotIP>
( please take into account all the troubleshooting things: https://github.com/koalazak/dorita980#troubleshoot---getting-the-password )
thank you!
I already tried that several ways (holding down the button etc) - but just get Error getting password. Follow the instructions and try again.
. I get those 7 bytes back and the code for get-roomba-password checks if it's 7 or less, it fails with that error message.
I have just made a discovery, I left my terminal open, and after those 7 bytes.. I started to get traffic! Here's some snippets:
:$aws/things/020C465103B5452A92D1E54XXXXXXX/shadow/update{"state":{"reported":{"cleanMissionStatus": {"cycle": "none", "phase": "charge", "expireM": 0, "rechrgM": 0, "error": 0, "notReady": 0, "mssnM": 0, "expireTm": 0, "rechrgTm": 0, "mssnStrtTm": 1633980984, "operatingMode": 0, "initiator": "rmtApp", "nMssn": 41, "missionId": "0001GP94HRQ2A2FJZVJXXXXXXX"}}}}
:$aws/things/020C465103B5452A92D1E54XXXXXXX/shadow/update{"state":{"reported":{"cleanMissionStatus": {"cycle": "clean", "phase": "run", "expireM": 0, "rechrgM": 0, "error": 0, "notReady": 0, "mssnM": 0, "expireTm": 0, "rechrgTm": 0, "mssnStrtTm": 1633980984, "operatingMode": 2, "initiator": "rmtApp", "nMssn": 41, "missionId": "0001GP94HRQ2A2FJZVJXXXXXXX"}}}}
:$aws/things/020C465103B5452A92D1E54XXXXXXX/shadow/update{"state":{"reported":{"cleanMissionStatus": {"cycle": "clean", "phase": "hmPostMsn", "expireM": 0, "rechrgM": 0, "error": 0, "notReady": 0, "mssnM": 0, "expireTm": 0, "rechrgTm": 0, "mssnStrtTm": 1633980984, "operatingMode": 0, "initiator": "rmtApp", "nMssn": 41, "missionId": "0001GP94HRQ2A2FJZVJXXXXXXX"}}}}
:$aws/things/020C465103B5452A92D1E54XXXXXXX/shadow/update{"state":{"reported":{"cleanMissionStatus": {"cycle": "clean", "phase": "evac", "expireM": 0, "rechrgM": 0, "error": 0, "notReady": 0, "mssnM": 0, "expireTm": 0, "rechrgTm": 0, "mssnStrtTm": 1633980984, "operatingMode": 0, "initiator": "rmtApp", "nMssn": 41, "missionId": "0001GP94HRQ2A2FJZVJXXXXXXX"}}}}
My code is just this
const tls = require("tls");
var client = tls.connect(
8883,
"192.168.1.136",
{
rejectUnauthorized: false,
ciphers: process.env.ROBOT_CIPHERS || "AES128-SHA256",
},
function () {
const magicPacket = new Buffer("f005efcc3b2904", "hex");
console.log("Connected! Sending magic packet..", magicPacket);
client.write(magicPacket);
}
);
client.on("data", function (data) {
console.log("got data", data, new Buffer(data).toString("hex"));
});
I ran ROBOT_CIPHERS=TLS_AES_256_GCM_SHA384 get-roomba-password <ip>
and got this output
{
ver: '4',
hostname: 'iRobot-XXXX',
robotname: 'XXXX',
robotid: 'XXXX',
ip: '192.168.2.128',
mac: '50:14:79:XX:XX:XX',
sw: 'sapphire+1.0.17+Firmware-Production+52',
sku: 'j755020',
nc: 0,
proto: 'mqtt',
cap: {
binFullDetect: 2,
dockComm: 1,
edge: 0,
maps: 3,
pmaps: 5,
tLine: 2,
area: 1,
eco: 1,
multiPass: 2,
pose: 1,
team: 1,
pp: 0,
lang: 2,
'5ghz': 1,
prov: 3,
sched: 1,
svcConf: 1,
ota: 2,
log: 2,
langOta: 0,
expectingUserConf: 1
},
cloudConnState: 12,
blid: 'XXXX'
}
Error getting password. Follow the instructions and try again.
After the f005efcc3b2900
MQTT packet is sent, I get these 13 bytes as response efbfbd05efbfbdefbfbd3b2903
, which are the same that have been mentioned before. I couldn't make sense of either the request or the response. How was this packet built?
I was able to get the password by capturing traffic from the App and was able to connect with that. For Android 10 I used apk-mitm to patch the iRobot app and was then able to proxy the requests (through Fiddler, for example).
I am using Hoobs and trying to get the blid and password.
Probably because of Hoobs 4, the folder for hombridge-roomba2 is like this
/usr/local/share/.cache/yarn/v6/npm-homebridge-roomba2-1.2.2-20d857384cc8aa25a649f19a66046cc2f25bc718-integrity/node_modules/homebridge-roomba2
and there is no dorita980 within this folder.
When I did locate
for dorita980, the directory is /usr/local/share/.cache/yarn/v6/npm-dorita980-3.1.10-7f6d681688e3fcaa42040b16a9ceded08270457e-integrity/node_modules/dorita980/
Whenever I am running sudo npm run getrobotpwd 192.168.XX.XXX
I am getting "can't cd into node_modules/dorita980".
Following. I'm having issues getting my j7 to work. Got the BLID/password using Charles proxy, but after adding to homebridge with the roomba2 plugin, the devices always show "No response". I'm assuming it's because of the need to use stronger ciphers than what's set as the default here.
I updated the getpassword.js file on my homebridge to use TLS_AES_256_GCM_SHA384 for ROBOT_CIPHERS, and was able to get the BLID from the output, but it still failed password retrieval.
Robot Data:
{
ver: '4',
hostname: 'iRobot-
This was without pressing the button. If I press the button, I get the same error.
Same issue here. Get all the data except password.
Hello folks,
yeah, looks like the J7 mechanism to get the password is diferent (and will be for next robots too). It is imposible to me debug the problem without a J7 robot. So if you want to help me to get a robot here is the information:
https://github.com/koalazak/dorita980/blob/master/README.md#donations
any other kind of help is welcome!
thank you very much!
For those who grabbed the password from the mobile app, are you then able to get the j7 to work? Considering buying one.
On Oct 24, 2021, at 10:03 AM, Facu ZAK @.***> wrote:
Hello guys,
yeah, looks like the J7 mechanism to get the password is diferent (and will be for next robots too). It is imposible to me debug the problem without a J7 robot. So if you want to help me to get a robot here is the information:
Donations to get J7 robot
https://github.com/koalazak/dorita980/blob/master/README.md#donations
any other kind of help is welcome!
thank you very much!
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.
For those who grabbed the password from the mobile app, are you then able to get the j7 to work?
Yep, works fine.
For those who grabbed the password from the mobile app, are you then able to get the j7 to work? Yep, works fine.
So for me unfortunately not! @andornaut what you have done to get it finally working?
So for me unfortunately not! @andornaut what you have done to get it finally working?
@myzinsky Once I got the blid and password, I was able to progress through the Home Assistant Roomba integration setup without issue. I don't recall doing anything special other than to make sure that the Roomba Android app wasn't running while I was going through the setup and I may have also rebooted the Roomba J7 just prior to running the Home Assistant Roomba integration setup process. I don't know whether these steps are actually required, but that's what I remember doing.
I haven’t been able to get mine to work, but I’m using the roomba2 plugin which relies on dorita980. I sign out of all iRobot apps, reboot the roomba, but my homebridge still can’t communicate with the robot once it comes back online.
@myzinsky & @dcmeglio
Sorry, I got my Roomba-projects mixed up. The Home Assistant Roomba integration that I'm using appears to use roombapy under the hood, so my experience doesn't apply to this project.
Edit: I decided to give this project a shot and it appears to work as long as you set this environment variable: ROBOT_CIPHERS=TLS_AES_256_GCM_SHA384
.
I wrote a small script to test it:
const dorita980 = require('./index');
const {
ROOMBA_HOST: host,
ROOMBA_PASSWORD: password,
ROOMBA_USERNAME: username,
} = process.env;
const roomba = new dorita980.Local(username, password, host);
roomba.on('connect', () => {
roomba.clean()
.then(() => roomba.end())
.catch(console.log);
});
Save the script to ./app.js
in the root of this project, then execute the following:
export ROOMBA_USERNAME=SNIP
export ROOMBA_PASSWORD=SNIP
export ROOMBA_HOST=SNIP
export ROBOT_CIPHERS=TLS_AES_256_GCM_SHA384
node app.js
1) TLS connection error: to control the robot and to get the password we first need to connect to the robot on 8883 port using TLS. The default cipher is causing an error connecting to the robot. To solve this issue please setup the ROBOT_CIPHERS
OS environment variable to TLS_AES_256_GCM_SHA384
value. By doing this you should be able to connect to the robot to control it (temporaly get the password with the Thor method). I am working on a patch so that it is not necessary to configure this environment variable and it will work by default in all robots.
2) Error getting the password: besides the TLS problem, we still don't know exactly how is the process to get the password for this robot.
In just a couple of hours I have received from you almost half of what is needed to buy a j7 robot
▰▰▰▰▱▱▱▱▱▱ 41%
I think we are going to make it quicky! thank you!
https://github.com/koalazak/dorita980/blob/master/README.md#donations
Here are some instructions on how to get BLID and password with mitmproxy
if you are using Android 11 and don't want/trust to download apks from external websites like apkpure: https://gist.github.com/uvNikita/f9dbbc09cdd71cbcac3a24beac62f355.
To summarize, we have 2 issues!
- TLS connection error: to control the robot and to get the password we first need to connect to the robot on 8883 port using TLS. The default cipher is causing an error connecting to the robot. To solve this issue please setup the
ROBOT_CIPHERS
OS environment variable toTLS_AES_256_GCM_SHA384
value. By doing this you should be able to connect to the robot to control it (temporaly get the password with the Thor method). I am working on a patch so that it is not necessary to configure this environment variable and it will work by default in all robots.- Error getting the password: besides the TLS problem, we still don't know exactly how is the process to get the password for this robot.
I think there is another issue 3, even if you have password and BLID, you cannot talk to the robot.
To summarize, we have 2 issues!
- TLS connection error: to control the robot and to get the password we first need to connect to the robot on 8883 port using TLS. The default cipher is causing an error connecting to the robot. To solve this issue please setup the
ROBOT_CIPHERS
OS environment variable toTLS_AES_256_GCM_SHA384
value. By doing this you should be able to connect to the robot to control it (temporaly get the password with the Thor method). I am working on a patch so that it is not necessary to configure this environment variable and it will work by default in all robots.- Error getting the password: besides the TLS problem, we still don't know exactly how is the process to get the password for this robot.
I think there is another issue 3, even if you have password and BLID, you cannot talk to the robot.
you should talk to the robot using ROBOT_CIPHERS=TLS_AES_256_GCM_SHA384
.
@andornaut (and others) proved that: https://github.com/koalazak/dorita980/issues/142#issuecomment-950402865
if that is not working for you, check the troubleshooting guide: https://github.com/koalazak/dorita980#troubleshoot---getting-the-password
To summarize, we have 2 issues!
- TLS connection error: to control the robot and to get the password we first need to connect to the robot on 8883 port using TLS. The default cipher is causing an error connecting to the robot. To solve this issue please setup the
ROBOT_CIPHERS
OS environment variable toTLS_AES_256_GCM_SHA384
value. By doing this you should be able to connect to the robot to control it (temporaly get the password with the Thor method). I am working on a patch so that it is not necessary to configure this environment variable and it will work by default in all robots.- Error getting the password: besides the TLS problem, we still don't know exactly how is the process to get the password for this robot.
I think there is another issue 3, even if you have password and BLID, you cannot talk to the robot.
you should talk to the robot using
ROBOT_CIPHERS=TLS_AES_256_GCM_SHA384
.@andornaut (and others) proved that: #142 (comment)
if that is not working for you, check the troubleshooting guide: https://github.com/koalazak/dorita980#troubleshoot---getting-the-password
Ah, i have not seen androdaut's last edit. Okay how can I set the ROBOT_CIPHERS=TLS_AES_256_GCM_SHA384 thing in homebridge?
you are asking in the wrong project :p Check their documentation to configure Environment variables
To summarize, we have 2 issues!
- TLS connection error: to control the robot and to get the password we first need to connect to the robot on 8883 port using TLS. The default cipher is causing an error connecting to the robot. To solve this issue please setup the
ROBOT_CIPHERS
OS environment variable toTLS_AES_256_GCM_SHA384
value. By doing this you should be able to connect to the robot to control it (temporaly get the password with the Thor method). I am working on a patch so that it is not necessary to configure this environment variable and it will work by default in all robots.- Error getting the password: besides the TLS problem, we still don't know exactly how is the process to get the password for this robot.
I think there is another issue 3, even if you have password and BLID, you cannot talk to the robot.
Here is working without rebooting the robot, just got password by sniffer and then add to home assistant with no library changes.
Thank you for your support!
In just a couple of hours I have received from you almost half of what is needed to buy a j7 robot
▰▰▰▰▱▱▱▱▱▱ 41%
I think we are going to make it quicky! thank you!
https://github.com/koalazak/dorita980/blob/master/README.md#donations
thanks to another donor! ▰▰▰▰▱▱▱▱▱▱ 47%
thank you @cismarine ! (sorry I deleted you comment by mistake :p)
How do you set the cipher from rest980?
On Oct 26, 2021, at 7:43 AM, Facu ZAK @.***> wrote:
Thank you for your support!
In just a couple of hours I have received from you almost half of what is needed to buy a j7 robot
▰▰▰▰▱▱▱▱▱▱ 41%
I think we are going to make it quicky! thank you!
https://github.com/koalazak/dorita980/blob/master/README.md#donations
thank you to another donator! ▰▰▰▰▱▱▱▱▱▱ 47%
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.
hello @dcmeglio
cd path/to/rest980
ROBOT_CIPHERS=TLS_AES_256_GCM_SHA384 npm start
Hello folks,
yeah, looks like the J7 mechanism to get the password is diferent (and will be for next robots too). It is imposible to me debug the problem without a J7 robot. So if you want to help me to get a robot here is the information:
Donations to get J7 robot
https://github.com/koalazak/dorita980/blob/master/README.md#donations
any other kind of help is welcome!
thank you very much!
more progress on donations!
▰▰▰▰▰▱▱▱▱▱ 58.4%
thank you guys!
I tried the workaround/solution from @andornaut, but for me it does not work.
ROBOT_CIPHERS=TLS_AES_256_GCM_SHA384 NODE_DEBUG=cluster,net,http,fs,tls,timers node run.js
NET 7912: pipe false undefined
NET 7912: _read
NET 7912: _read wait for connection
NET 7912: afterConnect
TLS 7912: start
NET 7912: destroy
NET 7912: close
NET 7912: close handle
NET 7912: _read
NET 7912: _read wait for connection
NET 7912: emit close
NET 7912: pipe false undefined
NET 7912: _read
NET 7912: _read wait for connection
NET 7912: afterConnect
Are we sure that the authentication did not change?
i7: "user_cert": false
j7: "user_cert": true
"robots": { "69A56E703ACF491DA483FD225F9F095F": { "password": "xxx", "sku": "i715840", "softwareVer": "lewis+3.18.11+lewis-release-rt321+13", "name": "Robby deprecated", "cap": { "binFullDetect": 2, "dockComm": 1, "maps": 3, "edge": 0, "area": 1, "eco": 1, "multiPass": 2, "pose": 1, "pp": 0, "5ghz": 1, "prov": 3, "sched": 1, "svcConf": 1, "ota": 2, "log": 2, "team": 1, "wDevLoc": 2, "bleDevLoc": 1, "pmaps": 5, "tLine": 2, "tileScan": 1, "lang": 2, "langOta": 0, "oMode": 10, "hm": 0 }, "svcDeplId": "v011", "user_cert": false }, "6614293A8BCC403F928CC7BEB11307D4": { "password": "xxx", "sku": "j755840", "softwareVer": "sapphire+1.0.20+Firmware-Production+54", "name": "Robby", "cap": { "binFullDetect": 2, "dockComm": 1, "wDevLoc": 2, "bleDevLoc": 1, "edge": 0, "maps": 3, "pmaps": 5, "tLine": 2, "area": 1, "eco": 1, "multiPass": 2, "pose": 1, "team": 1, "pp": 0, "lang": 2, "5ghz": 1, "prov": 3, "sched": 1, "svcConf": 1, "ota": 2, "log": 2, "langOta": 0, "expectingUserConf": 1 }, "svcDeplId": "v011", "user_cert": true }
Worked for me. What version of node do you have? It requires TLS 1.3 which I believe means you need at least node 12
On Nov 5, 2021, at 5:13 PM, Michael Ruhl @.***> wrote:
I tried the workaround/solution from @andornaut, but for me it does not work.
ROBOT_CIPHERS=TLS_AES_256_GCM_SHA384 NODE_DEBUG=cluster,net,http,fs,tls,timers node run.js
NET 7912: pipe false undefined NET 7912: _read NET 7912: _read wait for connection NET 7912: afterConnect TLS 7912: start NET 7912: destroy NET 7912: close NET 7912: close handle NET 7912: _read NET 7912: _read wait for connection NET 7912: emit close NET 7912: pipe false undefined NET 7912: _read NET 7912: _read wait for connection NET 7912: afterConnect Are we sure that the authentication did not change? i7: "user_cert": false j7: "user_cert": true
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.
@dcmeglio oh thanks 👍 did not had that in mind.. there was still node 10 in use
Hi, i am having a simliar problem.
I am receiving the password, but not the blid. Robot Data is "undefined".
I need this for ioBroker, to get it working. The i7 i have was replaced because of faulty charging. The old one was possible, to get the blid and password - but with the new one, it is impossible.
Even with the Sniffer Software on the phone - the app blocks the proxy or vpn apps and says, it is not able to connect to iRobot.
Seems, when the robot is new, it needs a little bit more time. After creating the Map on the phone and several "discovery-runs", i was able to connect the i7 again. Perhaps this also helps with some j7?
Anyone tested this with the new j7 yet?