NEWS
IRobot Roomba Adapter
-
@derandre
Moin,
hast du hierfür schon eine Lösung gefunden?Mein i7 (Firmware 3.2.4) will sich ebenfalls nicht mit dem Adapter verbinden und verbleibt bei einer gelben Lampe.
Vielen Dank
-
@Tariot
Hallo,
ich betreibe den Pi headless.
Kannst den entsprechenden Terminalbefehl dazu nennen?Vielen Dank
-
Nachdem ich es Anfang Januar ja nicht geschafft hatte, den Roomba Adapter parallel zur iRobot Handy App zu betreiben (wenn ich den Adapter verbunden hatte, hatte die App dafür die Verbindung verloren), habe ich mich heute noch mal rangemacht und es erneut versucht. Die Schaltfläche "Zugangsdaten abrufen" in der Instanz funktioniert zwar nach wie vor nicht, aber mithilfe des dorita980 Befehls "npm run getpassword" habe ich den User und das Passwort bekommen und in die Instanz eingetragen. Und was soll ich sagen, diesmal hat es funktioniert, ohne dass die Handy Apps ihre Verbindung verloren haben - keine Ahnung was diesmal anders war.
Was ich damit eigentlich sage will: also auch der iRobot Braava Jet M6 ist mit diesem Adapter kompatibel
-
Hallo zusammen,
gibt es schon eine Lösung für den i7?
Habe dieselben Fehler wie derandre...Bin dankbar für jede Hilfe!
-
@eric2905 hallo.
Auch wenn der Post über 2j alt ist, wie hast du deinen iRobot umgerüstet? Ich habe einen roomba 605
Danke
-
Nach nunmehr 7 Monaten und immer wieder neuen Versuchen den Adapter ordnungsgemäß zum laufen zu bekommen, habe ich es endlich geschafft, das ich eine Map angezeigt bekomme.
Mit welchem Widget kann ich aber dieses Bild nun in meine VIS einbinden? Die normalen IMG Widgets bringen leider kein Bild zustande.
Vielen Dank für die Unterstützung.
PS: Na ganz großes Kino - da habe ich mich auch dazu durchgerungen die Version 1.1.0 zu installieren und dann kommt so etwas dabei raus.
$ ./iobroker url "https://github.com/Zefau/ioBroker.roomba/tarball/master" roomba install https://github.com/Zefau/ioBroker.roomba/tarball/master NPM version: 6.11.3 npm install https://github.com/Zefau/ioBroker.roomba/tarball/master --loglevel error --prefix "C:/iobroker/GLT" (System call) npm ERR! code EPERMnpm ERR! syscall unlinknpm ERR! path C:\iobroker\GLT\node_modules\iobroker.roomba\node_modules\.canvas.DELETE\build\Release\libbz2-1.dllnpm ERR! errno -4048 npm ERR! Error: EPERM: operation not permitted, unlink 'C:\iobroker\GLT\node_modules\iobroker.roomba\node_modules\.canvas.DELETE\build\Release\libbz2-1.dll'npm ERR! { [Error: EPERM: operation not permitted, unlink 'C:\iobroker\GLT\node_modules\iobroker.roomba\node_modules\.canvas.DELETE\build\Release\libbz2-1.dll']npm ERR! cause:npm ERR! { Error: EPERM: operation not permitted, unlink 'C:\iobroker\GLT\node_modules\iobroker.roomba\node_modules\.canvas.DELETE\build\Release\libbz2-1.dll'npm ERR! errno: -4048,npm ERR! code: 'EPERM',npm ERR! syscall: 'unlink',npm ERR! path:npm ERR! 'C:\\iobroker\\GLT\\node_modules\\iobroker.roomba\\node_modules\\.canvas.DELETE\\build\\Release\\libbz2-1.dll' },npm ERR! stack:npm ERR! 'Error: EPERM: operation not permitted, unlink \'C:\\iobroker\\GLT\\node_modules\\iobroker.roomba\\node_modules\\.canvas.DELETE\\build\\Release\\libbz2-1.dll\'',npm ERR! errno: -4048,npm ERR! code: 'EPERM',npm ERR! syscall: 'unlink',npm ERR! path:npm ERR! 'C:\\iobroker\\GLT\\node_modules\\iobroker.roomba\\node_modules\\.canvas.DELETE\\build\\Release\\libbz2-1.dll',npm ERR! parent: 'iobroker.roomba' } npm ERR! npm ERR! The operation was rejected by your operating system.npm ERR! It's possible that the file was already in use (by a text editor or antivirus),npm ERR! or that you lack permissions to access it.npm ERR! npm ERR! If you believe this might be a permissions issue, please double-check the npm ERR! permissions of the file and its containing directories, or try runningnpm ERR! the command again as root/Administrator. npm ERR! A complete log of this run can be found in:npm ERR! C:\iobroker\GLT\env\npm-cache\_logs\2020-02-15T09_09_16_758Z-debug.log ERROR: host.GLT Cannot install https://github.com/Zefau/ioBroker.roomba/tarball/master: 4294963248 ERROR: process exited with code 25
-
Nochmal eine andere Frage - die tabellarische Darstellung - ist doch sicherlich nicht richtig - oder ? Ist das nur bei mir so, oder ein bekannte Bug in der Version 1.0.7?
Wie oben geschrieben, bekomme ich die Version 1.1.0 nicht installiert - darum kann ich es nicht testen, ob es damit weg wäre.
..... und gleich noch die nächste Frage hintendran - bekommt man diese Dynamisierung - also Live Karte, Auswählbare Karte via Listenklick usw, wie sie auf dem Roomba Webinterface zu sehen ist, auch irgendwie in einem VIS Bild dargestellt?
Verknüpfung zur Live Karte hatte ich schon, aber die aktualisiert sich nicht. Auch kann man in der Tabelle zwar auf die ID Nummern klicken, aber die passende Karte wird dadurch nicht geladen.
Hat ggf. schon jemand sein VIS für den Roomba entsprechend aufgepimpt und mag es hier zeigen?
-
Ich möchte nchmal auf den Fehlversuch der Installation der Version 1.1.0 zurück kommen.
Ich habe es heute auf meinem Testsystem noch einmal versucht - genau das gleiche Problem.
@Zefau - hier das LOG File zur besseren Analyse was da ggf. falsch läuft. In letzter Zeit sind ja so viele Systemrelevante Adapter angepasst und Liberys geändert worden, das ich vermute dass es ggf. eine Berechtigungs Geschichte sein könnte.
-
@JB_Sullivan was hast du gemacht um den Adapter ans Laufen zu bekommen? Ggf. hilft es auch anderen Usern?
Bzgl. des Fehlers versuch mal das Ganze mit Administrator Berechtigungen
-
@Zefau Kann ich dir gar nicht genau sagen, da ich es aktiv überhaupt nicht mehr weiter verfolgt hatte. Irgendwann habe ich mein System unter Win10 mit WinInstaller 2.1b neu aufsetzen müssen.
Auch da habe ich nicht aktiv versucht die Karte zum laufen zu bringen - war für mich eigentlich abgeharkt das Thema. Dann gestern habe ich mal wieder auf die Roomba Kachel im ioB Hauptmenü geklickt (da wo das Webinterface aufgerufen wird) und BINGO die Karte war da.
Ich habe aktiv NICHT das ganze für Windows vorgegebene Installations Prozedere für CANVAS durchgeführt. Allerdings habe ich vor geraumer Zeit das "canvas-gauges style Widget" installiert. Vielleicht ist da im Hintergrund alles was auch für den Roomba benötigt wird mit installiert worden - wer weiß?
Bzgl. des Fehlers: Ich bin Admin - oder gibt es noch irgendwo anders Admin Einstellungen als unter Benutzer?
-
Nochmal zu der Tabelle - auch da komme ich irgendwie nicht weiter. Wenn man im VIS einstellt "Neues Ereignis am Anfang", sortiert er das nicht entsprechend durch.
Auch wenn der Inhalt der Tabelle sowieso irgendwie nicht viel her gibt, müsste der doch die ID Nummern zumindest dieser Regel entsprechend anpassen. Das macht er aber auch nicht. Gibst du die Form der Tabelle in deinem Adapter vor, oder kommt die so aus dem Robbi?
-
@JB_Sullivan sagte in IRobot Roomba Adapter:
Bzgl. des Fehlers: Ich bin Admin - oder gibt es noch irgendwo anders Admin Einstellungen als unter Benutzer?
Probier nochmal die aktuelle Github version (immer noch v1.1.0, aber angepasst).
-
SUPER !!! Die Installation ist dieses mal 1A durchgelaufen. Es funktioniert auch alles soweit, allerdings konnte ich noch keine Änderungen gegenüber der 1.0.7 feststellen.
-
@JB_Sullivan Welche Änderung hast du erwartet?
-
(Zefau) fixed bug with state commands.last.dateTime having incorrect value NaN
(Zefau) added support to change schedule (see #36)
Also ich kann da keine Änderung bei der Datenpunkt Struktur erkennen - oder sieht man das nur wenn man das passende Sauger Modell gekoppelt hat?
...... und ich hatte gedacht, das vielleicht auch irgend etwas mit der Tabelle nicht gestimmt hat, was jetzt gefixt wurde. Leider kommt da zumindest bei mir nichts sinnvolles bei raus
-
@JB_Sullivan sagte in IRobot Roomba Adapter:
(Zefau) fixed bug with state commands.last.dateTime having incorrect value NaN
Sollte gefixed sein. Vielleicht nochmal etwas abwarten. Wie oft aktualisiert du die Einstellungen vom Roomba?
(Zefau) added support to change schedule (see #36)
Einfach die entsprechenden Datenpunkte anpassen, also die unter
roomba.0.missions.schedule
Bzgl. der Tabelle weiß ich nicht, wie du die Daten lädst und formatierst, daher kann ich dir da schlecht helfen.
Die Struktur der Daten ist[ { "id":496, "restored":true, "home":true, "time":{ "started":1572960178, "startedDateTime":"05.11.2019 14:22:58", "runtime":50, "ended":1572965943, "endedDateTime":"05.11.2019 15:59:03" }, "status":{ "cycle":"quick", "phase":"run", "expireM":0, "rechrgM":0, "error":0, "notReady":0, "mssnM":1, "sqft":0, "initiator":"alexa", "nMssn":496, "sqm":0 }, "pos":{ "current":{ "theta":330, "x":176, "y":594 }, "last":{ "theta":330, "x":176, "y":594 } }, "map":{ "img":"data:image/png;base64,...", "size":{ "width":1400, "height":1000 } } } ]
Mir scheint es, als würdest du die Objekte einfach anzeigen wollen, weshalb er
[object Object]
ausgibt.
Beitime
beispielsweise müsstest du sicherlichtime.started
für den Startzeitpunkt nehmen. -
Hmmm - OK - mit JSON Tabellen kenne ich mich nicht wirklich aus. Ich dachte das dass bei dieser Tabelle genauso läuft wie bei dem Xiaomi Roborock Saugern, wie die JSON Tabelle quasi Mundgerecht als Datenpunkt ausgegeben wird.
Beispiel.
[{"Title": "first", "Value": 1, "_Description": "Value1"}, {"Title": "second", "Value": 2, "_Description": "Value2"}] [{"Datum":"18.1","Start":"14:20","Saugzeit":"20 min","Fläche":"15.93 m²","Error":0,"Ende":true},{"Datum":"18.1","Start":"14:06","Saugzeit":"13 min","Fläche":"13.8 m²","Error":0,"Ende":true},{"Datum":"12.1","Start":"12:41","Saugzeit":"32 min","Fläche":"28.1 m²","Error":0,"Ende":true},{"Datum":"6.1","Start":"20:49","Saugzeit":"0 min","Fläche":"0 m²","Error":0,"Ende":false},{"Datum":"31.12","Start":"17:36","Saugzeit":"1 min","Fläche":"0.29 m²","Error":0,"Ende":false},{"Datum":"3.12","Start":"07:47","Saugzeit":"16 min","Fläche":"12.82 m²","Error":0,"Ende":true},{"Datum":"2.12","Start":"08:06","Saugzeit":"41 min","Fläche":"32.32 m²","Error":0,"Ende":true},{"Datum":"13.11","Start":"21:30","Saugzeit":"0 min","Fläche":"0.14 m²","Error":0,"Ende":false},{"Datum":"13.11","Start":"09:44","Saugzeit":"40 min","Fläche":"31.18 m²","Error":0,"Ende":true},{"Datum":"15.10","Start":"10:38","Saugzeit":"38 min","Fläche":"27.11 m²","Error":0,"Ende":true},{"Datum":"6.10","Start":"16:13","Saugzeit":"47 min","Fläche":"31.63 m²","Error":0,"Ende":true},{"Datum":"6.10","Start":"13:43","Saugzeit":"9 min","Fläche":"4.86 m²","Error":0,"Ende":true},{"Datum":"6.10","Start":"12:56","Saugzeit":"10 min","Fläche":"4.02 m²","Error":0,"Ende":true},{"Datum":"24.9","Start":"08:47","Saugzeit":"19 min","Fläche":"16.15 m²","Error":0,"Ende":true},{"Datum":"12.9","Start":"14:49","Saugzeit":"16 min","Fläche":"13.87 m²","Error":0,"Ende":true},{"Datum":"9.9","Start":"11:03","Saugzeit":"38 min","Fläche":"32.76 m²","Error":0,"Ende":true},{"Datum":"24.8","Start":"14:48","Saugzeit":"13 min","Fläche":"10.52 m²","Error":0,"Ende":true},{"Datum":"6.8","Start":"17:35","Saugzeit":"13 min","Fläche":"11.37 m²","Error":0,"Ende":true},{"Datum":"26.7","Start":"16:26","Saugzeit":"11 min","Fläche":"10.08 m²","Error":0,"Ende":true},{"Datum":"21.7","Start":"14:42","Saugzeit":"2 min","Fläche":"1.24 m²","Error":0,"Ende":true}]
Aber selbst wenn ich deinem Beispiel folge, so ich es denn verstanden habe, kommt da ebenfalls nichts bei heraus.
-
...... achso, und da ja alles in Sekunden angegeben wird, verwende ich dieses Skript, was mir die Zeit in Minuten in einen Datenpunkt rein schreibt.
on({id: 'roomba.0.missions.current.runtime', change: "any"}, function (dp) { var timenew = Math.floor(dp.state.val / 60 )+ ' Min. '; setState("javascript.0.Berechnen.roombamission",timenew); });
Nun bekomme ich aber im LOG von ioB die folgenden Warnmeldungen - was soll mir das sagen? Ich wüsste jetzt nicht was an dem Code falsch sein sollte. Bei der Umrechung der Durchschnittszeit kommt das gleiche Skript zum Einsatz und da wird nicht gemeckert.
2020-02-16 16:25:53.522 - [33mwarn[39m: javascript.0 (4680) You are assigning a string to the state "javascript.0.Berechnen.roombamission" which expects a boolean. Please fix your code to use a boolean or change the state type to string. This warning might become an error in future versions. 2020-02-16 16:25:53.523 - [33mwarn[39m: javascript.0 (4680) at setState (C:\iobroker\GLT\node_modules\iobroker.javascript\lib\sandbox.js:1425:20) 2020-02-16 16:25:53.523 - [33mwarn[39m: javascript.0 (4680) at Object.<anonymous> (script.js.Aktiv.Saugzeit_roomba_mission:3:6) 2020-02-16 16:25:53.523 - [33mwarn[39m: javascript.0 (4680) at Object.callback (C:\iobroker\GLT\node_modules\iobroker.javascript\lib\sandbox.js:1122:38) 2020-02-16 16:25:53.523 - [33mwarn[39m: javascript.0 (4680) at Object.stateChange (C:\iobroker\GLT\node_modules\iobroker.javascript\main.js:450:25) 2020-02-16 16:25:53.523 - [33mwarn[39m: javascript.0 (4680) at Immediate.setImmediate (C:\iobroker\GLT\node_modules\iobroker.js-controller\lib\adapter.js:4851:37) 2020-02-16 16:25:53.523 - [33mwarn[39m: javascript.0 (4680) at runCallback (timers.js:705:18) 2020-02-16 16:25:53.523 - [33mwarn[39m: javascript.0 (4680) at tryOnImmediate (timers.js:676:5) 2020-02-16 16:25:53.523 - [33mwarn[39m: javascript.0 (4680) at processImmediate (timers.js:658:5)
-
@JB_Sullivan es steht doch da, was falsch ist?
You are assigning a string to the state "javascript.0.Berechnen.roombamission" which expects a boolean. Please fix your code to use a boolean or change the state type to string.
Bedeutet, dass dein Datenpunkt den falschen Typ hat. Guck da mal rein. Da steht wahrscheinlich
type: boolean
, was abertype: string
sein muss. -
@JB_Sullivan sagte in IRobot Roomba Adapter:
Ich dachte das dass bei dieser Tabelle genauso läuft wie bei dem Xiaomi Roborock Saugern, wie die JSON Tabelle quasi Mundgerecht als Datenpunkt ausgegeben wird.
Mach gerne einen Feature Request auf Github auf.