NEWS
IRobot Roomba Adapter
-
@JB_Sullivan
Ich meine, hier schon öfter gelesen zu haben, dass der Windows-Installer bzw. eben die Windows-Unterstützung halt so nebenher mit entwickelt wird, weil sie eben doch ab un an gewünscht wird. Zu 95% würde ich sagen, ein neuer Adapter oder eine neue Funktion landen erst einmal in der Linux-Unterstützung und dann wird geschaut, wie man es nach Windows bringt. Das meinte ich auch weiter oben. Kommt was neues und es gibt eine Anleitung, muss ich nicht erst schauen, ob es das für mein Betriebssystem (in Deinem Fall Windows) gibt, sondern kann meistens sofort loslegen und Befehle 1:1 übernehmen. Das finde ich sogar einfacher, als mir zusammenzusuchen, was ich für Windows alles beachten muss.Zum Thema headless. Ja, das mag vielleicht nicht jeder, aber man sollte auch sehen, was man in der Shell überhaupt tut. Updates installieren, die paar Befehle hat man nach dem zweiten Mal drauf, oder man bastelt sich ein Script, und eben die Befehle, die man im Rahmen iobroker einzugeben hat, wenn man was ändert, nachinstalliert oder dergleichen. Ab da, wage ich zu behaupten, haben wir zwischen Headless Linux oder Windows keinerlei Unterschied. Auch Du gibst ab und an Befehle in eine Shell (oder wie heisst das bei Windows?) ein, oder klickerst auf der Admin-Site was zusammen. Ich auch. Aber ich spare die Ressourcen, die ein Desktop mitbringt, bzw. wenn iobroker im Container läuft, spare ich ein komplettes Betriebssystem.
Und noch zum Thema Stabilität. Ich habe eine VM mit Windows 10 Pro hier und meinen Geschäfts-Laptop, ebenfalls Windows 10 Pro. Wenn ich schaue, wie oft ich die doch mal neu starten muss, oder der Geschäfts-Laptop sich so einmal im Monat einfach mal aufhängt, dann ist das für mich nicht stabil. Von Windows 10 bzw. Microsoft und dem Umgang mit dem User generell mal abgesehen. Ich möchte gerne entscheiden, was ich wann installiere und wann ich den Rechner neu starte. Aber, Windows 10 an sich ist noch ein anderes Thema.
Also los, versuch Dich nochmal an Linux und bei Problemen hilft man Dir hier im Forum. Und ich hätte wieder einen überzeugt.
Spass, jeder soll nehmen was er will, nur bei Linux, ist meine Meinung, hat man weniger Probleme und generell hier mehr Hilfe zu erwarten, weil sich mehr damit auskennen.Gruss, Jürgen
Edit: Reaktion auf Deinen letzten Absatz vergessen. Ja, ich denke auch, dass viele Probleme haben, weil sie denken, nur auf latest seien sie aktuell unterwegs. Da sollte auf jeden Fall ein Infofenster aufgehen, welches warnt. Ebenso, wenn man was von github holt (wobei es da ja unten dran steht irgendwo). Wenn man weiss, was man tut, alles kein Thema. Aber für neue User... Ich bin übrigens nur auf stable unterwegs, habe aber einige Adapter manuell aus git gezogen, weil sie eben im stable noch Funktionen, die ich brauche, nicht hatten. Aber ich wage mal zu sagen, ich weiss dann auch was ich tue oder wie ich mir zu helfen habe.
-
@Wildbill sagte in IRobot Roomba Adapter:
Also los, versuch Dich nochmal an Linux und bei Problemen hilft man Dir hier im Forum. Und ich hätte wieder einen überzeugt.
Also an Hardware scheitert es bei mir nicht. Hier stehn genug ungenutzte Rechner und Laptops rum. Ich wollte schon mal auf ein nacktes Laptop Linux drauf bringen, aber da ging es schon los - WIE? Keine Installations CD, keine Treiber Unterstützung für das verbaute DVD Laufwerk. Nix Plug&Play wie bei Windows - CD rein und nach 2 Stunden hast du ein fertiges BS. Da verliert man doch schon am Anfang die Lust.
Nenn mir eine Linux Distribution, die für ioB geeignet ist und die ich auf einem Laptop so wie Windows installiert bekomme und mit der ich nicht Headless unterwegs sein muss - dann probiere ich es nochmal
-
@JB_Sullivan
Ubuntu
Dir würde ich aber den Einsatz von Linux (in welcher Form auch immer) nicht empfehlen. Da scheint mir dann doch die grundlegendste Voraussetzung zu fehlen: Du musst es schon einsetzen wollen.Ob du jetzt in einem Terminal von einem Linux-Desktop in einem Terminal oder von z. B. der PowerShell oder puTTY per SSH arbeitest ist doch vollkommen wumpe.
Die Laufzeitumgebung ist halt headless. Auch unter Windows. Unterschied gleich Null. -
@Thomas-Braun sagte in IRobot Roomba Adapter:
Die Laufzeitumgebung ist halt headless. Auch unter Windows. Unterschied gleich Null.
Das mag sein, aber unter Windows habe ich eine Datei Struktur die ich mir angucken kann. Unter Linux Headless muss ich wissen wie alles aufgebaut ist um irgendwo hin zu kommen und mal nachgucken zu können - Stichwort Datei Explorer
-
@JB_Sullivan
Da schliesse ich mich vorbehaltlos @Thomas-Braun an. Ubuntu (oder Debian), aber für iobroker headless. Alles andere braucht man nicht, bzw. eh nie wieder, wenn iobroker läuft. Administration über iobroker-Admin-Site (von jedem Rechner im Netzwerk aus) oder Konsole per SSH oder Putty bei Windows. Da sehe ich dann auch keine Unterschiede mehr zwischen Windows und Linux, bis auf den Overhead, den Windows mit Desktop dann im Hintergrund braucht.Linux per CD/DVD ist doch lange out. Lad Dir Ubuntu Server runter, schiebe es auf einen USB-Stick und boote davon. Installation von Linux würde ich heutzutage sogar eher einfacher als bei Windows bezeichnen. Anleitung gibt es direkt da, wo man es runterlädt.
Nun sollten wir aber den Thread, in dem es eigentlich um den Roomba geht, nicht weiter missbrauchen. Wenn es Probleme beim Installieren von Linux gibt, einfach separaten Thread, ansonsten hier BTT, wo liegen nochmal die Probleme beim Roomba?
Gruss, Jürgen
EDIT: Unter Linux headless empfehle ich den Midnight Commander, zu installieren per
sudo apt install mc
Ebenso danach einfach per mc aufrufen. Der kann alles, was der Windows Explorer können sollte, nur besser.
Struktur vom Linux-Dateisystem lernt man schnell, was zu iobroker gehört liegt unter /opt/iobroker, darin die gleich Struktur wie unter Windows. Und nicht per root anmelden, sondern gleich nach dem Installieren einen normalen User anlegen! Root oder sudo nur, wenn es unbedingt erforderlich ist, erst Recht als Linux-Neuling! -
@JB_Sullivan
Kann ich nicht nachvollziehen.
Den ioBroker installierst du mit einem Einzeiler in der Konsole. Der bringt auch schon node mit. Und dann hast du eigentlich bis auf Updates (sind bei Debian/Ubuntu auch nur zwei kurze Zeilen nix mehr mit der Konsole zu tun), wenn das System dann einmal läuft.
Wenn Ubuntu als Desktop läuft kannst du das auch per Klickibunti machen. Bzw. automatisch im Hintergrung. Läuft z. B. bei meinem Vater so. Der nutzt Linux und ihm ist das vollkommen egal. -
So letzter Eintrag in diesem Thread von mir. Also habe eben einen "alten" PC hochgefahren, weil ihr mich angestachelt habt es mal zu probieren.
Ubuntu Server - Hyperterminal läßt sich nicht installieren, also Orcale Virtual Box angeklickt. Nach abgeschlossener Installation kommt das hier.
Und genau diese Sch....... meine ich mit Linux. Nix funktioniert ohne Harken und Ösen.
-
@JB_Sullivan Wie gesagt: Lass es sein. Das wird so nix. Fummel lieber mit dem Windows rum.
-
@JB_Sullivan Das ist aber ein Windows-Desktop in Deinem Screenshot?! Hast Du die heruntegeladene Installationsdatei für Linux/Ubuntu Server etwa einfach doppelt angeklickt? Das kann so nicht gehen. Du musst mit der Datei ein Startmedium erstellen, z.B. USB-Stick und dann mit diesem eingesteckt, den PC neu starten. Dann kannst Du Linux installieren, entweder neben Windows, wenn genügend freier Platz auf der Festplatte oder das Windows komplett ersetzen.
Anleitung dazu, wie schon gesagt, im Netz, z.B. hier.Wenn Du in dem Windows noch Daten hast, die Du nicht verlieren willst, diese vorher weg sichern, z.B. externe Platte oder NAS oder so.
Gruss, Jürgen
-
Nachdem wir ja nun das Thema Windows vs. Linux hinter uns gelassen haben, scheitere ich weiterhin seit einer Woche an der Installation von Canavas, welche ich exakt nach der Windows Anleitung auf Zefaus Seite durchgeführt habe.
Trotz exakter Eingabe des Befehls, kommt es zu den unten zu sehenden Fehlermeldungen. Was kann ich aber anderes tun, als diesen Befehl einzugeben. Der Rest passiert ja automatisch (oder auch nicht)?
node-gyp rebuild --GTK_Root=C:\GTK2
********************************************************** *** Welcome to ioBroker. *** *** *** *** Type 'iobroker help' for list of instructions. *** *** For more help see *** *** https://github.com/ioBroker/ioBroker.docs *** ********************************************************** Your environment has been set up for using Node.js 12.18.0 (ia32) and npm. C:\iobroker\GLT>npm install --global --production windows-build-tools npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 > windows-build-tools@5.2.2 postinstall C:\iobroker\GLT\nodejs\node_modules\windows-build-tools > node ./dist/index.js Downloading vs_BuildTools.exe [> ] 0.0% (0 B/s) Downloaded vs_BuildTools.exe. Saved to C:\Users\blank\.windows-build-tools\vs_BuildTools.exe. Starting installation... Launched installers, now waiting for them to finish. This will likely take some time - please be patient! Status from the installers: ---------- Visual Studio Build Tools ---------- 2020-06-28T18:24:09 : Verbose : [InstalledProductsProviderImpl]: Stream was closed 2020-06-28T18:24:09 : Verbose : [InstallerImpl]: Rpc connection was closed. 2020-06-28T18:24:09 : Verbose : [InstallerImpl]: Stream was closed 2020-06-28T18:24:09 : Verbose : [SetupUpdaterImpl]: Rpc connection was closed. 2020-06-28T18:24:09 : Verbose : [SetupUpdaterImpl]: Stream was closed ------------------- Python -------------------- Python 2.7.15 is already installed, not installing again. Could not install Visual Studio Build Tools. Please find more details in the log files, which can be found at C:\Users\blank\.windows-build-tools Skipping configuration: No configuration for Python or Visual Studio Build Tools required. All done! + windows-build-tools@5.2.2 updated 1 package in 12.295s C:\iobroker\GLT>node-gyp rebuild --GTK_Root=C:\GTK2 gyp info it worked if it ends with ok gyp info using node-gyp@6.0.1 gyp info using node@12.18.0 | win32 | ia32 gyp info find Python using Python version 2.7.15 found at "C:\Users\blank\.windows-build-tools\python27\python.exe" gyp info find VS using VS2017 (15.9.28307.905) found at: gyp info find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools" gyp info find VS run with --verbose for detailed information gyp info spawn C:\Users\blank\.windows-build-tools\python27\python.exe gyp info spawn args [ gyp info spawn args 'C:\\iobroker\\GLT\\env\\npm\\node_modules\\node-gyp\\gyp\\gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'msvs', gyp info spawn args '-I', gyp info spawn args 'C:\\iobroker\\GLT\\build\\config.gypi', gyp info spawn args '-I', gyp info spawn args 'C:\\iobroker\\GLT\\env\\npm\\node_modules\\node-gyp\\addon.gypi', gyp info spawn args '-I', gyp info spawn args 'C:\\Users\\blank\\AppData\\Local\\node-gyp\\Cache\\12.18.0\\include\\node\\common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=C:\\Users\\blank\\AppData\\Local\\node-gyp\\Cache\\12.18.0', gyp info spawn args '-Dnode_gyp_dir=C:\\iobroker\\GLT\\env\\npm\\node_modules\\node-gyp', gyp info spawn args '-Dnode_lib_file=C:\\\\Users\\\\blank\\\\AppData\\\\Local\\\\node-gyp\\\\Cache\\\\12.18.0\\\\<(target_arch)\\\\node.lib', gyp info spawn args '-Dmodule_root_dir=C:\\iobroker\\GLT', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'C:\\iobroker\\GLT\\build', gyp info spawn args '-Goutput_dir=.' gyp info spawn args ] gyp: binding.gyp not found (cwd: C:\iobroker\GLT) while trying to load binding.gyp gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (C:\iobroker\GLT\env\npm\node_modules\node-gyp\lib\configure.js:351:16) gyp ERR! stack at ChildProcess.emit (events.js:315:20) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12) gyp ERR! System Windows_NT 10.0.18363 gyp ERR! command "C:\\iobroker\\GLT\\nodejs\\node.exe" "C:\\iobroker\\GLT\\env\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--GTK_Root=C:\\GTK2" gyp ERR! cwd C:\iobroker\GLT gyp ERR! node -v v12.18.0
-
@JB_Sullivan ich hab leider kein Windows und kann daher nur bedingt helfen. Laut Fehler fehlt die Datei
binding.gyp
(gyp: binding.gyp not found (cwd: C:\iobroker\GLT) while trying to load binding.gyp
). Google mal, was das für Windows bedeutet. Ich meine, dass die Datei manuell angelegt werden muss, da es sich um eine Konfiguration handelt. -
Die Konfiguration zum abarbeiten der einzelnen Installationsschritte scheint unter npn falsch zu sein, denn es gibt unter node_modules den Ordner canvas und genau da ist die binding.gyp drin.
Ich habe sie schon spaßeshalber mal an den gewünschten Ort kopiert. Da die binding.gyp wie du richtig sagst eine Konfigurationsdatei ist, startet er sie dann zwar, meckert aber im nächsten Schritt die nächsten fehlenden Dateien an, die alle wie gesagt unter node_modules liegen und nicht im Root Verzeichnis von ioBroker.
Irgend etwas in der Installationsroutine läuft das schief.
-
@JB_Sullivan wie startest du das Ganze? Kannst du den Ordner wechseln?
-
Hallo zusammen
Erstmals Danke für den Adapter. Funktioniert sehr gut.
Ich habe jedoch ein kleines Problem, mit dem iRobot i7 +.Den Roboter lasse ich per Zeitplan über iOBroker starten, damit ich den Zeitplan per VIS An- und Abschalten, so wie editieren kann.
Dies bringt jedoch das Problem mit sich, dass sich der Behälter nicht automatisch leert, wenn er voll ist (i7+ hat einen externen Abfallbehälter). Wenn der Roboter jedoch per "normalem" iRobot App-Zeitplan gestartet wird, dann geht das.Nun habe ich 2 Fragen dazu:
- Ist es möglich im Adapter den Befehl zu senden, dass sich der Behälter leeren soll? Somit könnte ich einfach die Funktion einbauen:
Wenn Behälter voll UND Roboter an Dockingstation = leere Behälter.
ODER
- Wie kann ich den Zeitplan über den Adapter auslesen und ändern, damit ich dies weiterhin über VIS einstellen kann, jedoch der Roboter mit dem "normalen" Zeitplan startet?
P.S. Es gibt ja das RunCommand Objekt. Beim Objekt steht, dass eine Liste unter https://bit.ly/2S57cgM zu finden ist. Dort wurde ja aber auch nur die Standardfunktionen wie Start, Stop, etc. abgebildet.
- Ist es möglich im Adapter den Befehl zu senden, dass sich der Behälter leeren soll? Somit könnte ich einfach die Funktion einbauen:
-
@wizzardking den Zeitplan findest du bereits in den States (unter
missions.schedule
). Bzgl. des Befehls schau mal die Issues (auch die geschlossenen) von dorita durch (siehe https://github.com/koalazak/dorita980/issues), ob du dort etwas zu i7 findest. -
Hallo zusammen
Ist es möglich, dass via ioBroker auch nur ein bestimmter Raum gereinigt werden soll?
Gerne würde ich dann auch mehrere Räume zu einer Zone/Start zusammenschliessen.
Die Räume sind bereits in der Roomba-App vorhanden.Vielen Dank für eure Hilfe.
Gruss Kusi
-
@Kusi Ist nicht direkt implementiert. Es müsste ein
command
state geben, mit dem du das realisieren kannst.{ command: 'CleanRoom', time: 0, initiator: 'localApp' }
Ich habe keinen Roomba mehr und kann es daher nicht probieren. Probier etwas mit den Werten zu spielen, wenn es nicht geht.
-
@Zefau Danke für deine Antwort.
Wo muss ich denn diese Zeile eingeben? -
Mal eine Frage an alle - habt ihr z.Zt. auch Probleme, das sich Roomba nicht mehr mit der Werkscloud verbindet?
Ich hatte nie Probleme damit, doch seit Montag ist mir aufgefallen, das so gut wie keine Verbindung mehr zustande kommt.
Die nächste Frage geht an @Zefau : Wurde irgend etwas bei den History Daten geändert?
Der Datenpunkt
roomba.0.missions.history
spuckt ja eine json Tabelle aus. Im VIS eingebunden sieht diese dann so aus.Interessanter Weise scheint die sich nicht mehr zu aktualisieren, denn die History Tabelle vom Roomba selber schaut so aus.
Während die json Tabelle bei 339 endet, geht die Roomba Tabelle bis 356 (die fehlenden Nummer bitte ignorieren, da habe ich was ausprobiert und canvas lief nicht)
-
@Kusi Datenpunkt
commands._runCommand