NEWS
IRobot Roomba Adapter
-
@HerrStrich Das ist kein Fehler aufgrund des Roomba's, des Adapters oder der zugrundeliegenden Library. Du hast laut Log keine Schreibrechte auf den Ordner, in dem du dorita980 installieren willst (steht ja auch da).
Guck mal im ioBroker Ordner. Dort solltest du dorita schon installiert haben.
Entweder unter/opt/iobroker/node_modules/dorita980
oder
/opt/iobroker/node_modules/iobroker.roomba/node_modules/dorita980
In diesem Ordner kannst du dann der Anleitung https://github.com/koalazak/dorita980#how-to-get-your-usernameblid-and-password folgen und
npm run getpassword <robotIP>
ausführen.Sollte das dann fehlschlagen, poste das Log nochmal hier im Forum.
-
Passwort bekomm ich nun geb es auch ein aber :
roomba.0 2019-08-14 18:07:08.487 info Connecting to Roomba.. roomba.0 2019-08-14 18:07:08.416 info starting. Version 1.0.0 in /opt/iobroker/node_modules/iobroker.roomba, node: v10.16.2 roomba.0 2019-08-14 18:07:38.576 warn Connection lost! Roomba offline.
Er bekommt einfach keine verbindung zum Roomba!
-
@HerrStrich Hast du denn parallel die App auf dem Handy offen oder so?
-
Nein, hab alles ausgemacht leider keine verbindung möglich
-
Ich habe genau das selbe Problem... das pw wird nicht automatisch eingefügt... gebe ich es manuell ein bekomme ich die gleiche Meldung... roomba is offline... hatte ihn vorher im ifttt.. auch dort das Gerät gelöscht..
Trotzdem der gleiche Fehler... würde dir meine logs schicken aber die sind identisch zu herrstrich -
@Tariot @HerrStrich Wenn ihr bewusst ein falsches Passwort eingebt, bekommt ihr dann einen Fehler (
by controller[0]: { Error: Connection refused: Not authorized
) ? -
Nein bekomme keine Fehler Meldung nur das Wasser ich dir schon gezeigt habe!
Habe die Raspberry jetzt auch nochmal komplett neu aufgesetzt aber leider wieder mit dem gleichen Ergebnis!
Langsam weiß ich auch nicht mehr weiter
-
@HerrStrich @Tariot Habe auf Github und npm die Version v1.0.4 veröffentlicht. Diese aktualisiert die zugrundeliegenden Pakete, was ggf. das Problem behebt.
Der Passwort-Abruf sollte nun ebenfalls wieder funktionieren.
Sollte die Version nach wie vor nicht funktionieren, bitte unter
Instanzen
den Adapter voninfo
aufdebug
stellen.
Dann werden im Log mehr Informationen ausgegeben. Ggf. hilft uns das, das Problem einzugrenzen. -
ja PW wird nun automatisch erkannt, ein fortschritt^^ aber leider keine verbindung
er schreibt in die loggs nun
roomba.0 2019-08-16 11:44:49.928 debug {"errno":"EPROTO","code":"EPROTO","syscall":"write"} roomba.0 2019-08-16 11:44:49.926 debug Roomba Connection closed. roomba.0 2019-08-16 11:44:47.371 debug Updated state states._connected to value false (from null). roomba.0 2019-08-16 11:44:47.371 debug Updated state states._connected to value false (from null). roomba.0 2019-08-16 11:44:47.370 debug {"errno":"EPROTO","code":"EPROTO","syscall":"write"} roomba.0 2019-08-16 11:44:47.370 debug Roomba Connection closed. roomba.0 2019-08-16 11:44:47.370 debug undefined roomba.0 2019-08-16 11:44:47.368 warn Connection lost! Roomba offline.
-
@Tariot Das genügt. Danke dir. EPROTO deutet scheinbar darauf hin, dass der SSL handshake abbricht. Liegt also nicht direkt am Adapter, sondern der library, die genutzt wird, um mit dem Roomba zu kommunizieren.
-
@Tariot @HerrStrich Habt ihr die Möglichkeit per SSH oder Samba Dateien anzupassen?
Könntet ihr bitte in den folgenden Ordnern (sofern vorhanden) eine Datei anpassen?
/opt/iobroker/node_modules/iobroker.roomba/node_modules/dorita980/lib/v2/
und
/opt/iobroker/node_modules/dorita980/lib/v2/
die Datei
local.js
.Dort findet ihr ab Zeile 18:
var options = { port: 8883, clientId: user, rejectUnauthorized: false, protocolId: 'MQTT', protocolVersion: 4, clean: false, username: user, password: password };
Dort die folgenden zwei Zeilen hinzufügen (https://github.com/nodejs/node/issues/3692#issuecomment-158414743)
ciphers: 'ALL', secureProtocol: 'TLSv1_method'
zu
var options = { port: 8883, clientId: user, rejectUnauthorized: false, ciphers: 'ALL', secureProtocol: 'TLSv1_method', protocolId: 'MQTT', protocolVersion: 4, clean: false, username: user, password: password };
Speichern und Adapter neustarten.
-
@Zefau said in IRobot Roomba Adapter:
also beide datein geändert... gleiche fehler weiterhin ;( -
@Tariot Welche Node.js Version hast du?
-
@Tariot sagte in IRobot Roomba Adapter:
also beide datein geändert... gleiche fehler weiterhin ;(
Ist leider ein rumprobieren, da ich den Fehler nicht rekonstruieren kann bei mir.
Nimm bittesecureProtocol: 'TLSv1_method'
wieder raus und versuch folgende Optionen:
minVersion: 'TLSv1', ecdhCurve: 'auto'
also:
var options = { port: 8883, clientId: user, rejectUnauthorized: false, ciphers: 'ALL', minVersion: 'TLSv1', ecdhCurve: 'auto', protocolId: 'MQTT', protocolVersion: 4, clean: false, username: user, password: password };
EDIT: Und unbedingt Adapter neustarten.
-
minVersion: 'TLSv1', ecdhCurve: 'auto'
damit geht es leider bei mir auch nicht....
Zumal ich/opt/iobroker/node_modules/iobroker.roomba/node_modules/dorita980/lib/v2/
gar nicht habe....
node -v
v10.16.3 -
@HerrStrich sagte in IRobot Roomba Adapter:
/opt/iobroker/node_modules/iobroker.roomba/node_modules/dorita980/lib/v2/
Welchen der beiden Ordner gibt es denn bei dir?
/opt/iobroker/node_modules/dorita980 /opt/iobroker/node_modules/iobroker.roomba/node_modules/dorita980
Ich habe einen Roomba 980 mit FW v2.4.6-3 auf Node.js v10.16.1 und bei mir funktioniert's.
Der FehlerEPROTO
deutet (laut Google) auf einen Fehler im SSL Handshake. Ist aber eine reine Vermutung von mir, da ich, wie gesagt, den Fehler nicht habe.Bei dir ist es ein Roomba 960 mit FW 2.4.6-3 auf Node.js v10.16.3. Also eigl. nicht so anders.
Der Adapter lädt bei dir gar keine Daten? Also auch keine Config-Einstellungen?
Sprich du kannst nicht sehen, was inroomba.0.device.versions.navSwVer
bzwroomba.0.device.versions.wifiSwVer
steht? -
Ich hab ein Issue aufgemacht: https://github.com/koalazak/dorita980/issues/95
-
ok die neuen zeilen eingebaut.
nun ist ein teil des fehlers weg
vorherroomba.0 2019-08-16 11:44:49.928 debug {"errno":"EPROTO","code":"EPROTO","syscall":"write"} roomba.0 2019-08-16 11:44:49.926 debug Roomba Connection closed. roomba.0 2019-08-16 11:44:47.371 debug Updated state states._connected to value false (from null). roomba.0 2019-08-16 11:44:47.371 debug Updated state states._connected to value false (from null). roomba.0 2019-08-16 11:44:47.370 debug {"errno":"EPROTO","code":"EPROTO","syscall":"write"} roomba.0 2019-08-16 11:44:47.370 debug Roomba Connection closed.
nun noch
oomba.0 2019-08-17 09:52:03.003 debug {"errno":"EPROTO","code":"EPROTO","syscall":"write"} roomba.0 2019-08-17 09:52:03.001 debug Roomba Connection closed.
bei mir ist der pfad zu denn datein anders als beschrieben. hoffe das ist egal... immerhin beide gefunden
node version = v10.16.2.
-
@Tariot Ist möglicherweise nicht egal. Wenn du die falschen Dateien bearbeitest, dann haben die Änderungen ja keine Auswirkungen. Die Frage ist, welche Datei konkret vom Adapter gezogen wird, denn die muss geändert werden.
-
@Tariot Welchen
dorita980
Ordner hast du denn gefunden?Gibt es die folgenden Ordner bei dir?
/opt/iobroker/node_modules/dorita980 /opt/iobroker/node_modules/iobroker.roomba/node_modules/dorita980