NEWS
IRobot Roomba Adapter
-
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.
-
Hallo,
hat jemand den 671? Bei uns besteht das Problem, dass Roboter nicht mehr in den Standby geht, sobald ich den Adapter in iobroker aktiviere. Der grüne Ring leuchtet dauerhaft und somit entläd sich somit ziemlich schnell. Sobald ich den Adapter deaktivere, geht der Robot nach kurzer Zeit aus.
Habt ihr ein ähnliches Modell und geht der Roomba bei euch sauber in den Standby?
Habe schon einen Issue auf Github erstellt und wurde hierher verwiesen. Habt ihr eventuell eine Idee woran es liegen könnte? -
Hallo zusammen,
ich habe es geschafft, meinen i7 mit dem Adapter zu verbinden. Allerdings zeigt mir die Irobot-App danach immer einen Fehler an. Könnt ihr beides gleichzeitig benutzen? Falls ja, gibt es irgendwelche besonderen Einstellungen, die man dazu einstellen muss? Vielen Dank im Voraus!
-
@Aushilfsarnie es sollte möglich sein beides zu nutzen, wenn ioBroker die lokale Verbindung bekommt und die Smartphone App über die Cloud / Online verbunden ist.
Bedeutet es muss zuerst ioBroker verbinden und danach erst die App öffnen.
-
Hallo Zefau,
herzlichen Dank für Deine Antwort. Leider zeigt die App immer die Fehlermeldung ("an error has occurred. please try again later"), egal was ich zuerst anmelde. Woran kann das noch liegen?Ansonsten bin ich so begeistert vom Adapter. Vielen Dank dafür!
Ein weitere Frage ist auch noch aufgetaucht: Beim i7 ist es möglich, einzelne Räume zu reinigen. Kann ich das irgendwie auch über iobroker realisieren? Vielen Dank im Voraus!
Viele Grüße
-
@Zefau sagte in IRobot Roomba Adapter:
@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.
Würde ich gerne machen - aber irgendwie kann man auf GIT nix schreiben - nur Lesemodus