Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. IRobot Roomba Adapter

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    IRobot Roomba Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Kusi @Wildbill last edited by

      @Wildbill weil es sehr viel Text ist, aber gerne werde ich es hier für alle machen.

      K 1 Reply Last reply Reply Quote 0
      • K
        Kusi @Kusi last edited by Kusi

        Die Räume:
        Ich habe die Ordner '0_userdata.0/Roomba/Räume' erstellt, und dort für sämtliche Räume von Roomba ein Objekt mit "Raumname" mit der Art "Zeichenkette" erstellt. Dies wird später genutzt und ist dafür da, wenn sich mal die Raum-ID ändert, kannst du diese dort ganz einfach ändern und musst nicht das Blockly anpassen. Zudem kannst du in Blockly mit den Raumnamen arbeiten und nicht den ID´s.

        Dann erstellst du auf deiner Roomba-App auf dem Smartphone einen Zeitplan (nur einen!!!) und wählst unter "Räume anwählen" nur EINEN Raum aus. Sobald du diesen gespeichert hast, musst du ggfs. den Roomba-Adapter neu starten, damit sich der Wert 'roomba.0/device/_rawData' aktualisiert. Alternativ das Abfrageintervall des Adapters auf 10 Sekunden stellen.
        Dieser Wert kopierst du dir dann und fügst ihn in ein Texteditor (ich nehme Word) ein. Der Text ist über eine Seite lang, dort musst du nun nach dem Wort "cleanSchedule2" suchen. Der ganze Text davor habe ich einfach gerade gelöscht, damit es übersichtlicher wird. Ein paar Wörter (ca. 3-4 Zeilen) später findest du die "Region-ID".
        Kopiere nun den Text '{"region_id":"xx","type":"xxx"}' (xx steht für den Text, der bei dir angezeigt wird) und füge dies in den von dir erstellten Objektwert im Ordner '0_userdata.0/roomba/räume' des entsprechenden Raumes ein.

        Nachtrag: Mit folgendem Blockly kann man die Region_ID per Debug auslesen. Geht viel schneller und ist um einiges bequemer:
        2cf9bd8a-1cbc-4655-84af-7d90082ffdc1-image.png

        Nun änderst du im Zeitplan der Roomba-App den Raum, Neustart von Roomba-Adapter und kopierst wieder den Wert von 'roomba.0/device/_rawData', suchst dir wiedder die Region-ID heraus und kopierst diese in dein von dir erstellten Raum im Javascript-Ordner. Dies machst du mit all den Räumen, welche du dann von ioBroker aus starten willst. Ich habe mir alle 10 Räume so kopiert.

        Weitere Objekte:
        Erstelle zu den Räumen noch 2 weitere Datenpunkte, ich habe diese "Beginn" und "Ende" benannt.

        Folgende Werte muss du darin speichern:
        Bei Beginn: {"command":"start","ordered":1,"params":{"noAutoPasses":false,"twoPass":false},"pmap_id":"xxxxxxxxxxxxxxxxx","regions":[

        Bei Ende: ],"user_pmapv_id":"xxxxxxxxxxx"}

        Die pmap_id und user_pmapv_id musst du mit den Werten ergänzen, welche bei dir in der _rawData stehen (wo du die RaumID herauskopiert hast).

        Start der Reinigung:
        Um nun einen Raum zu Starten, musst du die Werte/Teile wie folgt zusammensetzen:
        "Beginn" "Raumname" "Ende", alles an einem Stück! Dies kannst du dann direkt in 'roomba.0/commands/_runCommand' schreiben und Roomba beginnt zu saugen.
        Wenn du mehrere Räume saugen willst, dann kannst du mehrere Räume hintereinander nehmen, z.B. so:
        "Beginn" "Raumname" , "Raumname" , "Raumname" "Ende"
        (Räume getrennt mit einem Komma, OHNE Leerzeichen!

        Der Roomba-Start mache ich mit Blockly.
        1 Raum reinigen:
        ce9f34ee-9209-49c2-9175-d88c8d134a88-image.png

        mehrere Räume reinigen:
        3347a1e1-5710-437d-8ca2-ac2ec60c4b31-image.png

        Der Sonst-Teil habe ich eingefügt, damit der Roomba seine Reinigung stoppt, wenn ich den Schalter wieder auf "Aus" stelle.
        189951bd-ebc3-4a12-bf03-8bcb59b47bf2-image.png

        Und so sieht meine vis "Roomba" aus:
        3caab5d4-56ef-4c48-826f-8a7e094b8508-image.png

        Erklärung, warum ich "Beginn" und "Ende" als Datenpunkte gespeichert habe:
        Zu Beginn habe ich mir die Werte darin einfach als Text in Blockly vor/nach den Raum gesetzt.
        Leider hat sich dann die Karte mal angepasst in der Roomba-App, dadurch hat sich die pmap_id geändert (und die Räume).
        Darauf musste ich bei ALLEN Einzelräumen und Gruppen diese pmap_id ändern.
        Wenn man jedoch diese Werte eben in einem Datenpunkt hat, dann muss man dies nur einmal im Objekt ändern, und es wird gleich überall übernommen.

        Folgendes habe ich bei mir noch gemacht (optional):
        Pause-Schalter:
        21b3fd96-9da9-4661-9407-1b365161eada-image.png

        Licht einschalten, wenn Zeit zwischen Sonnenuntergang und Sonnenaufgang (kann auch ohne Datenpunkt gelöst werden, ich brauche diesen aber noch für andere Skripts).
        Licht ausschalten, wenn dieses vorher für die Reinigung eingeschaltet wurde.
        Schalter zurücksetzen auf "Aus", sobald der Roomba seine Reinigung beendet hat.
        bc27164c-6c88-4a68-b78e-566315a2ac03-image.png

        K 3 Replies Last reply Reply Quote 1
        • K
          Kusi @Kusi last edited by Kusi

          bitte löschen, Danke

          Wie kann ich eigene Einträge von mir löschen?
          Es kommt immer die Meldung "Du verfügst nicht über ausreichende Berechtigungen, um die Aktion durchzuführen."

          K 1 Reply Last reply Reply Quote 0
          • K
            Kusi @Kusi last edited by Kusi

            bitte löschen, Danke

            1 Reply Last reply Reply Quote 0
            • W
              waeck last edited by

              Hallo Kusi

              Erstmals vielen Dank für eine Anleitung.
              Sehr umfangreich und endlich ein Mal etwas, was ich einfach verstanden habe! 🙂

              Zum testen habe ich folgenden Befehl in roomba.0.commands._runCommand eingefügt:

              {"command":"start","ordered":1,"params":{"noAutoPasses":false,"twoPass":false},"pmap_id":"YGOxxxx","regions":[{"region_id":"20","type":"rid"}],"user_pmapv_id":"20xxxx"}

              xx ist natürlich der korrekte Inhalt. Da ich nicht weiss ob dieser "geheim" ist, habe ich ihn ersetzt.

              Nun macht aber mein Roomba so komplett gar nix... 😞

              Habe ich doch etwas nicht Veranden?

              Danke für eine Hilfe.

              Gruss waeck

              K 1 Reply Last reply Reply Quote 0
              • K
                Kusi @waeck last edited by

                @waeck sagte in IRobot Roomba Adapter:

                Zum testen habe ich folgenden Befehl in roomba.0.commands._runCommand eingefügt:

                Hast du dies per Blockly mit "steuern" gemacht?

                1 Reply Last reply Reply Quote 0
                • W
                  waeck last edited by

                  Ich habe es von Hand eingegeben und über Blockly.

                  Beide werden kurz grün, danach gehen sie auf rot... ? 😞

                  K 1 Reply Last reply Reply Quote 0
                  • K
                    Kusi @waeck last edited by Kusi

                    @waeck Was wird grün und danach rot? Der Adapter unter "Instanz"? Oder leuchtet der Roomba?
                    Reagiert der Roomba in irgend einer Weise, wenn du den _runCommand steuerst? (Roomba leuchtet, Roomba sagt etwas, usw.)

                    Ich habe noch beide Befehle (den von dir und mir) verglichen. Unterschiede sind nur bei pmap_id und user_pmapv_id, was auch logisch ist.
                    Hast du gleich viele Zeichen wie ich?
                    Meine pmap_id besteht aus 10 Zeichen, einem Strich und 11 Zeichen, total also 22 Zeichen.
                    Meine user_pmapv_id besteht aus 13 Zeichen.
                    Ist dies bei dir auch so?

                    Die region_id ist korrekt? Wichtig zu wissen ist, wenn du deine Karte in der Roomba-App mal anpasst/änderst, dann ändert sich auch die pmap_id und/oder user_pmapv_id.

                    Bei mir sieht es im Blockly wie folgt aus:
                    1 Raum reinigen
                    0f0c98aa-4613-4604-952b-8c23f9c526f3-image.png

                    mehrere Räume reinigen
                    20fb2a8e-3b27-4990-a58b-403e8cfbfc0e-image.png

                    W 1 Reply Last reply Reply Quote 0
                    • C
                      cTech last edited by

                      Ich gehöre auch zu denjenigen, wo das Webinterface bei loading states hängt

                      1 Reply Last reply Reply Quote 0
                      • W
                        waeck @Kusi last edited by

                        @Kusi

                        Mein Roomba macht nichts.
                        Weder blinken noch sonst was.... Es ist als würde der "Befehl" nicht ankommen.
                        Start und Stop funktioniert aber....

                        K 1 Reply Last reply Reply Quote 0
                        • K
                          Kusi @waeck last edited by

                          @waeck ich bin mir gar nicht sehr sicher, ob man den Befehl einfach zu _runCommand einfügen darf, oder ob es zwingend per Blockly mit "steuern" gemacht werden muss.

                          W 1 Reply Last reply Reply Quote 0
                          • W
                            waeck @Kusi last edited by

                            Also ich hab nun noch etwas romgetestet.
                            Einen Unterschied zwischen Selber Befehl eintragen und ausführen und Blockly kann ich nicht erkennen.
                            Bei Philips Hue Lampen, Shelly Schalter, Samsung TV funktioniert dies immer...

                            Was ich aber nun gerufen habe ist eine Fehlermeldung im Log.

                            roomba bring folgende Fehlermeldung:
                            "Cannot read property 'toString' of null"

                            Evtl. hat dies etwas damit zu tun.

                            Kennt dies jemand?

                            K 1 Reply Last reply Reply Quote 0
                            • T
                              thorstenreichelt last edited by

                              For everyone having problems with loading states on the web interface on your web instances configured for Roomba, there is a fix for it. I added a pull request for this on https://github.com/iobroker-community-adapters/ioBroker.roomba/pull/36

                              If you need to get this interface working and can't wait until this is merged and publish into the master and released by the dev team, you can install https://github.com/thost96/ioBroker.roomba directly using the GitHub button.

                              thost96 created this issue in iobroker-community-adapters/ioBroker.roomba

                              closed fixed hangs on loading states #36

                              CKMartens 1 Reply Last reply Reply Quote 0
                              • L
                                lolax last edited by

                                Hi,

                                habe die neueste Version des Adapter 1.1.1 auf dem iobroker. Jedoch funktioniert das vis weiterhin nicht. Es hängt bei loading states.

                                Kann jemand erklären was ihr alles genau am laufen habt.
                                WEB Adapter Einstellungen
                                socketio ?
                                ...

                                vielen Dank
                                alex

                                K CKMartens 2 Replies Last reply Reply Quote 0
                                • K
                                  Kusi @lolax last edited by Kusi

                                  Ich habe gestern die Roomba-Instanz ein zweites Mal installiert, um damit den iRobot Braava Jet M6 zu steuern.
                                  Zuerst hat alles einwandfrei funktioniert, jedoch verbindet sich die Instanz nicht mehr mit dem Roboter.

                                  Folgende Fehler im Log werden angezeigt.
                                  a1a0fec7-060b-450d-ab19-5336141180a3-image.png

                                  Kann mir jemand helfen?

                                  1 Reply Last reply Reply Quote 0
                                  • K
                                    Kusi @Ashuan last edited by

                                    @ashuan sagte in IRobot Roomba Adapter:

                                    Hallo zusammen,
                                    entschuldigt bitte, jedoch es hat mir keine Ruhe gelassen.
                                    Ich habe die roomba.js dahin gehend angepasst sodass der _runCommand Befehl funktioniert.

                                    roomba.js

                                    @Zefau : es wäre super wenn Du das prüfen könntest und ggf. einchecken.

                                    Ich bekomme immer wieder ein "Cannot read property 'toString' of null" aber da bin ich dran.
                                    Ich denke das habe ich mir eingefangen als ich die Nodes etwas verändert habe.

                                    LG und have fun
                                    Kai

                                    Kann dies in den Adapter eingepflegt werden, damit die roomba.js Datei nicht manuell überschrieben werden muss?

                                    Ich habe gestern mein System neu aufgebaut und der Roomba nahm den runCommand nicht mehr an.
                                    Den Fehler habe ich nun nach langem Suchen gefunden. Die Datei roomba.js überschreiben und voila, der Roomba
                                    funktioniert wieder.

                                    Nun muss ich noch den Braava M6 Jet zum Laufen bringen.

                                    K 1 Reply Last reply Reply Quote 0
                                    • K
                                      Kusi @waeck last edited by Kusi

                                      @waeck sagte in IRobot Roomba Adapter:

                                      Was ich aber nun gerufen habe ist eine Fehlermeldung im Log.

                                      roomba bring folgende Fehlermeldung:
                                      "Cannot read property 'toString' of null"

                                      @waeck Funktioniert es mittlerweile bei dir??
                                      Wenn nicht, dann hast du wohl vergessen die Datei "roomba.js" zu ersetzen. Ich habe gar nicht mehr daran gedacht, sorry.

                                      W 1 Reply Last reply Reply Quote 0
                                      • W
                                        waeck @Kusi last edited by

                                        @kusi
                                        Hoi Kusi

                                        Sorry, hab dein Eintrag nicht gesehen...

                                        Nein leider habe ich es bis jetzt nicht zum laufen gebraucht.
                                        Ich habe auch extra ein zweites Docker gemacht, um es superalt zu testen.
                                        Dort habe ich alles neu installiert.
                                        Ohne erfolg...

                                        Im Moment weiss ich nicht weiter....

                                        K 1 Reply Last reply Reply Quote 0
                                        • K
                                          Kusi @waeck last edited by

                                          @waeck schau 3 Posts weiter oben, dort ist die Datei roomba.js verlinkt. Die bereits vorhandene roomba.js Datei auf deinem System muss durch diese hier ersetzt werden, danach funktioniert der Datenpunkt runCommand einwandfrei.

                                          Wo sich die Datei auf deinem System genau befindet, weis ich nicht.
                                          Bei mir war sie (meinerswissens) unter iobroker_roomba. Bitte erstelle von der alten Datei eine Sicherungskopie, bevor du sie überschreibst.

                                          W T 2 Replies Last reply Reply Quote 0
                                          • CKMartens
                                            CKMartens @thorstenreichelt last edited by

                                            @thorstenreichelt Ich habe die Dateien aus Deinem Repo eingepflegt, aber leider geht es immer noch nicht.

                                            In der Entwicklerkonsole von Chrome kommen immer noch diese Fehler:

                                            Failed to load resource: the server responded with a status of 404 (Not Found)
                                            :8082/socket.io/?key=nokey&EIO=3&transport=polling&t=NUv5Csr:1 Failed to load resource: the server responded with a status of 404 (Not Found)
                                            adapter.css:1 Failed to load resource: the server responded with a status of 404 (Not Found)
                                            DevTools failed to load SourceMap: Could not parse content for http://iob1.martensnetz.de:8082/socket.io/socket.io.js.map: Unexpected token / in JSON at position 0
                                            conn.js:140 Trying connect...
                                            socket.io.js:7 GET http://iob1.martensnetz.de:8082/socket.io/?key=nokey&EIO=3&transport=polling&t=NUv5FJa 404 (Not Found)
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            967
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            100
                                            829
                                            171964
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo