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
932 stars 147 forks source link

EPROTO error while connecting #95

Closed Zefau closed 4 years ago

Zefau commented 4 years ago

Hi there!

I have implemented an adapter using this library for an IoT platform (https://github.com/Zefau/ioBroker.roomba).

My users recently report that they are not able to connect to the Roomba anymore having the following error message:

{"errno":"EPROTO","code":"EPROTO","syscall":"write"}

They're config: Roomba 960 with FW 2.4.6-3 on Node.js v10.16.3 My config works though: Roomba 980 with FW v2.4.6-3 on Node.js v10.16.1

We have tried different stuff like https://forum.iobroker.net/post/291518 and https://forum.iobroker.net/post/291586 but it does not seem to work.

Do you have any ideas? Thanks in advanced

koalazak commented 4 years ago

can you run node -p process.versions | grep openssl in a box with the error? also in a box that it is working fine?

thanks

Zefau commented 4 years ago

Both the one working and the one that fails with the error have the output

openssl: '1.1.1c',
koalazak commented 4 years ago

mmmHmmM can they try with this connection options?

var options = {
    port: 8883,
    clientId: user,
    rejectUnauthorized: false,
    protocolId: 'MQTT',
    protocolVersion: 4,
    ciphers: 'AES128-SHA256',
    clean: false,
    username: user,
    password: password
  };

(note the ciphers value)

koalazak commented 4 years ago

all reports are for 960 robot? or do you have other models with the problem?. I tried with this setup and works fine:

Zefau commented 4 years ago

Works fine for my 980 as well. Users reporting the issue having a 960. Have had no other users with other Roomba's reporting so far.

Zefau commented 4 years ago

The suggested settings works! Great! Thanks. Can you implement that?

koalazak commented 4 years ago

nice! implemented in dorita980@3.1.4 thanks for reporting