Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [Tester gesucht] Roborock-API

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

[Tester gesucht] Roborock-API

Scheduled Pinned Locked Moved JavaScript
81 Posts 42 Posters 28.7k Views 67 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R rovo89

    Hallo zusammen, ich fange gerade mit ioBroker an und habe festgestellt dass ich meinen neuen Roborock S7 nicht so wirklich gut einbinden kann. Alles was ich bisher gefunden habe setzt die Mi Home-App und ein schwierig zu beschaffendes Token voraus. Ich würde aber gerne bei der spezialisierten Roborock-App bleiben und habe mir die deswegen mal genauer angeschaut. Mit viel Detektivarbeit konnte ich die Aufrufe weitestgehend entschlüsseln.

    Herausgekommen sind dabei bisher zwei Skripte, die sich erstmal nur an technisch Versierte richten:
    https://gist.github.com/rovo89/dff47ed19fca0dfdda77503e66c2b7c7

    Mit node login.js 'user@example.org' 'password' meldet man sich zunächst bei euiot.roborock.com an und erhält ein JSON mit seinen Benutzerdaten. Die werden in userdata.json zwischengespeichert. Diese Daten enthalten u.a. URL und Anmeldedaten für eine zweite API (bei mir immer api-eu.roborock.com), von der hauptsächlich die Liste der Geräte abgerufen wird. Diese Infos enthalten u.a. die Device-ID und einen "localKey" - keine Ahnung ob das das Token wäre das man für andere Adapter braucht?!?

    Jedenfalls kann man anschließend node test.js ausführen, was anhand dieser Daten eine MQTT-Verbindung zu den Roborock-Servern herstellt. Es gibt pro Gerät ein "Input"-Topic zum Senden von Requests und ein "Output"-Topic zum Empfangen der Antworten. Letztendlich sind die Requests JSONs in der Art {"t":1657015047,"dps":{"101":"{\"id\":1,\"method\":\"get_prop\",\"params\":[\"get_status\"]}"}}, was wohl auch bei anderen Implementierungen der Fall ist. Das Ganze wird dann noch verschlüsselt, mit Headern versehen etc. und bei den Antworten genau umgekehrt. Karten (get_map_v1) sind nochmal zusätzlich verschlüsselt, am Ende kommen binäre Daten beginnend mit "rr" dabei heraus die auch im Mapviewer angezeigt werden können.

    Als Beispiel wird in dem Skript das erste Geräte nach dem Status und seiner Karte gefragt und die Daten angezeigt. Es ist also ein Proof of Concept, das später entweder ein eigenständiger Adapter oder Teil eines bestehenden werden soll. Wenn jemand dabei helfen möchte: sehr gerne!

    Mag jemand die Skripte mal testen? Voraussetzung sind nur ein Roborock, der in die Roborock-App (nicht Mi Home!) eingebunden ist, NodeJS (bei mir Version 16) und etwas technisches Verständnis. Skripte einfach herunterladen (oben rechts ist ein "Download ZIP"-Button) und wie beschrieben. Danke für euer Feedback!

    P Offline
    P Offline
    picard66
    wrote on last edited by
    #34

    @rovo89 Guten Tag,
    auch wenn ich aufgrund meiner bescheidenen Programmier-Kenntnisse wohl nichts Großes zur Entwicklung beitragen kann - ich teste gerne, wenn man mich wissen lässt, was zu tun ist.
    Auf alle Fälle ist das hier der spannendste Entwicklungsansatz, weil Du Dich an die Roborock-App machst, die einfach unschlagbar ist.
    Wenn ich was tun kann, freu ich mich - ansonsten lausche ich gespannt, wie sich alles entwickelt.

    1 Reply Last reply
    0
    • R Offline
      R Offline
      rovo89
      wrote on last edited by
      #35

      Ich habe ehrlich gesagt noch gar nicht weitergemacht, aber @meistertr hatte oben einen Screenshot von einem Adapter gezeigt. Wie weiter da der Stand ist weiß ich allerdings nicht.

      Tillt14T 1 Reply Last reply
      0
      • R rovo89

        Ich habe ehrlich gesagt noch gar nicht weitergemacht, aber @meistertr hatte oben einen Screenshot von einem Adapter gezeigt. Wie weiter da der Stand ist weiß ich allerdings nicht.

        Tillt14T Offline
        Tillt14T Offline
        Tillt14
        wrote on last edited by
        #36

        @rovo89 Ich habe auch mal das ganze ausprobiert und zuerst hat es nicht funktioniert, allerdings habe ich dann, nach kurzem befragen des Internets, die Stelle:
        "config.headers.common['Authorization']" durch "config.headers.Authorization" ersetzt und jetzt geht es.

        Vorher gab es immer eine unauthorized Error.

        D 1 Reply Last reply
        0
        • Tillt14T Tillt14

          @rovo89 Ich habe auch mal das ganze ausprobiert und zuerst hat es nicht funktioniert, allerdings habe ich dann, nach kurzem befragen des Internets, die Stelle:
          "config.headers.common['Authorization']" durch "config.headers.Authorization" ersetzt und jetzt geht es.

          Vorher gab es immer eine unauthorized Error.

          D Offline
          D Offline
          DonToben
          wrote on last edited by
          #37

          Arbeitet aktuell jemand an einem Roborock Adapter?

          1 Reply Last reply
          0
          • MeistertrM Offline
            MeistertrM Offline
            Meistertr
            Developer
            wrote on last edited by
            #38

            ich habe kurzfristig entschlossen, dass ich nach über 6 Jahren meinen Focus von Iobroker zu einem anderen System verschieben will. Von daher stampfe ich auch den rocborock adapter ein und kann auch die anderen Adapter die ich bis jetzt betreut habe nicht weiter pflegen. Wenn jemand Interesse hat hier weiter zu machen, kann er mir gerne seine email Adresse per PN Schicken und ich stelle den Adapter zur Verfügung.

            da_WoodyD S ? O R 5 Replies Last reply
            1
            • MeistertrM Meistertr

              ich habe kurzfristig entschlossen, dass ich nach über 6 Jahren meinen Focus von Iobroker zu einem anderen System verschieben will. Von daher stampfe ich auch den rocborock adapter ein und kann auch die anderen Adapter die ich bis jetzt betreut habe nicht weiter pflegen. Wenn jemand Interesse hat hier weiter zu machen, kann er mir gerne seine email Adresse per PN Schicken und ich stelle den Adapter zur Verfügung.

              da_WoodyD Offline
              da_WoodyD Offline
              da_Woody
              wrote on last edited by
              #39

              @meistertr schade, aber danke, was du bisher hier getan hast... :+1:

              gruß vom Woody
              HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

              1 Reply Last reply
              1
              • MeistertrM Meistertr

                ich habe kurzfristig entschlossen, dass ich nach über 6 Jahren meinen Focus von Iobroker zu einem anderen System verschieben will. Von daher stampfe ich auch den rocborock adapter ein und kann auch die anderen Adapter die ich bis jetzt betreut habe nicht weiter pflegen. Wenn jemand Interesse hat hier weiter zu machen, kann er mir gerne seine email Adresse per PN Schicken und ich stelle den Adapter zur Verfügung.

                S Offline
                S Offline
                skorpil
                wrote on last edited by
                #40

                @meistertr das ist sehr schade. Du hast tolle Arbeit geleistet. Danke dafür.

                1 Reply Last reply
                0
                • MeistertrM Meistertr

                  ich habe kurzfristig entschlossen, dass ich nach über 6 Jahren meinen Focus von Iobroker zu einem anderen System verschieben will. Von daher stampfe ich auch den rocborock adapter ein und kann auch die anderen Adapter die ich bis jetzt betreut habe nicht weiter pflegen. Wenn jemand Interesse hat hier weiter zu machen, kann er mir gerne seine email Adresse per PN Schicken und ich stelle den Adapter zur Verfügung.

                  ? Offline
                  ? Offline
                  A Former User
                  wrote on last edited by
                  #41

                  @meistertr Sehr sehr schade, deine Adapter und Scripte und deinen Support werden wir hier ganz schoen vermissen!

                  Danke danke danke!

                  1 Reply Last reply
                  0
                  • MeistertrM Meistertr

                    ich habe kurzfristig entschlossen, dass ich nach über 6 Jahren meinen Focus von Iobroker zu einem anderen System verschieben will. Von daher stampfe ich auch den rocborock adapter ein und kann auch die anderen Adapter die ich bis jetzt betreut habe nicht weiter pflegen. Wenn jemand Interesse hat hier weiter zu machen, kann er mir gerne seine email Adresse per PN Schicken und ich stelle den Adapter zur Verfügung.

                    O Offline
                    O Offline
                    oxident
                    wrote on last edited by
                    #42

                    @meistertr Sehr schade. Aber man sollte aufhören, wenn es am schönsten ist ;-)
                    Danke für Deine Arbeit!

                    D 1 Reply Last reply
                    0
                    • O oxident

                      @meistertr Sehr schade. Aber man sollte aufhören, wenn es am schönsten ist ;-)
                      Danke für Deine Arbeit!

                      D Offline
                      D Offline
                      dirkhe
                      Developer
                      wrote on last edited by
                      #43

                      @Meistertr das ist wirklich schade. Vielen dank für deine arbeit hier.
                      Darf man fragen, welches system du jetzt nutzt?

                      1 Reply Last reply
                      0
                      • R Offline
                        R Offline
                        reeze
                        wrote on last edited by
                        #44

                        Biete mich auch als Tester an S7 Max vplus.
                        Oder ist das Projekt gestorben?

                        1 Reply Last reply
                        0
                        • R rovo89

                          Hallo zusammen, ich fange gerade mit ioBroker an und habe festgestellt dass ich meinen neuen Roborock S7 nicht so wirklich gut einbinden kann. Alles was ich bisher gefunden habe setzt die Mi Home-App und ein schwierig zu beschaffendes Token voraus. Ich würde aber gerne bei der spezialisierten Roborock-App bleiben und habe mir die deswegen mal genauer angeschaut. Mit viel Detektivarbeit konnte ich die Aufrufe weitestgehend entschlüsseln.

                          Herausgekommen sind dabei bisher zwei Skripte, die sich erstmal nur an technisch Versierte richten:
                          https://gist.github.com/rovo89/dff47ed19fca0dfdda77503e66c2b7c7

                          Mit node login.js 'user@example.org' 'password' meldet man sich zunächst bei euiot.roborock.com an und erhält ein JSON mit seinen Benutzerdaten. Die werden in userdata.json zwischengespeichert. Diese Daten enthalten u.a. URL und Anmeldedaten für eine zweite API (bei mir immer api-eu.roborock.com), von der hauptsächlich die Liste der Geräte abgerufen wird. Diese Infos enthalten u.a. die Device-ID und einen "localKey" - keine Ahnung ob das das Token wäre das man für andere Adapter braucht?!?

                          Jedenfalls kann man anschließend node test.js ausführen, was anhand dieser Daten eine MQTT-Verbindung zu den Roborock-Servern herstellt. Es gibt pro Gerät ein "Input"-Topic zum Senden von Requests und ein "Output"-Topic zum Empfangen der Antworten. Letztendlich sind die Requests JSONs in der Art {"t":1657015047,"dps":{"101":"{\"id\":1,\"method\":\"get_prop\",\"params\":[\"get_status\"]}"}}, was wohl auch bei anderen Implementierungen der Fall ist. Das Ganze wird dann noch verschlüsselt, mit Headern versehen etc. und bei den Antworten genau umgekehrt. Karten (get_map_v1) sind nochmal zusätzlich verschlüsselt, am Ende kommen binäre Daten beginnend mit "rr" dabei heraus die auch im Mapviewer angezeigt werden können.

                          Als Beispiel wird in dem Skript das erste Geräte nach dem Status und seiner Karte gefragt und die Daten angezeigt. Es ist also ein Proof of Concept, das später entweder ein eigenständiger Adapter oder Teil eines bestehenden werden soll. Wenn jemand dabei helfen möchte: sehr gerne!

                          Mag jemand die Skripte mal testen? Voraussetzung sind nur ein Roborock, der in die Roborock-App (nicht Mi Home!) eingebunden ist, NodeJS (bei mir Version 16) und etwas technisches Verständnis. Skripte einfach herunterladen (oben rechts ist ein "Download ZIP"-Button) und wie beschrieben. Danke für euer Feedback!

                          AcguaA Offline
                          AcguaA Offline
                          Acgua
                          wrote on last edited by Acgua
                          #45

                          @rovo89 - Vielen Dank hierfür, Wahnsinn :sunglasses: :+1: :+1:

                          Läuft super. Ich habe es gar nicht erst in node.js selbst getestet, sondern gleich deine Scripts in einen noch zu entwickelnden Adapter eingebaut (TypeScript). Erst mal nur zum Testen.

                          Ich werde daraus noch entsprechend einen Adapter-Vorschlag bauen.

                          Viel ist noch nicht da, zunächst lasse ich nur mal States erzeugen aus den verfügbaren Daten.
                          74848100-8ad5-4147-be2f-f74183a10b47-image.png

                          c1ff2ce0-3b43-49c5-9c91-34c5abca40e0-image.png

                          Ich melde mich hier wieder, sobald ich weiter bin.

                          CodierknechtC 1 Reply Last reply
                          3
                          • AcguaA Acgua

                            @rovo89 - Vielen Dank hierfür, Wahnsinn :sunglasses: :+1: :+1:

                            Läuft super. Ich habe es gar nicht erst in node.js selbst getestet, sondern gleich deine Scripts in einen noch zu entwickelnden Adapter eingebaut (TypeScript). Erst mal nur zum Testen.

                            Ich werde daraus noch entsprechend einen Adapter-Vorschlag bauen.

                            Viel ist noch nicht da, zunächst lasse ich nur mal States erzeugen aus den verfügbaren Daten.
                            74848100-8ad5-4147-be2f-f74183a10b47-image.png

                            c1ff2ce0-3b43-49c5-9c91-34c5abca40e0-image.png

                            Ich melde mich hier wieder, sobald ich weiter bin.

                            CodierknechtC Offline
                            CodierknechtC Offline
                            Codierknecht
                            Developer Most Active
                            wrote on last edited by
                            #46

                            @acgua
                            Habe einen S7 +, der mit der Roborock-App eingerichtet wurde.
                            Da Umrüsten auf Xiaomi-App von der Regierung garantiert abgeblockt wird, wäre auch ich hier sehr an dem Adapter interessiert.
                            Wenn also etwas zu testen ist ... bin dabei ;-)

                            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                            HmIP|ZigBee|Tasmota|Unifi
                            Zabbix Certified Specialist
                            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                            M-A HuebM 1 Reply Last reply
                            0
                            • CodierknechtC Codierknecht

                              @acgua
                              Habe einen S7 +, der mit der Roborock-App eingerichtet wurde.
                              Da Umrüsten auf Xiaomi-App von der Regierung garantiert abgeblockt wird, wäre auch ich hier sehr an dem Adapter interessiert.
                              Wenn also etwas zu testen ist ... bin dabei ;-)

                              M-A HuebM Offline
                              M-A HuebM Offline
                              M-A Hueb
                              wrote on last edited by M-A Hueb
                              #47

                              Biete mich hiermit auch als Tester an. S7 Maxv Ultra vorhanden. Iobroker läuft unter Win10. Nutze ebenfalls die Roborock App

                              iobroker unter Win10. NPM 10.9.3 Node.js v22.18.0 js-controller 7.0.7

                              1 Reply Last reply
                              0
                              • D Offline
                                D Offline
                                DonToben
                                wrote on last edited by
                                #48

                                Am Freitag kommt mein neuer S7 pro Ultra.
                                Dann kann ich auch testen.

                                Aktuell läuft schon ein Skript zur Spracherkennung (Alexa Adapter) und Multiraumreinigung bei meinem Ecovacs.

                                Würde das dann gerne für den Roborock Adapter anpassen und noch paar Saug und Wischeinstellungen hinzufügen.

                                1 Reply Last reply
                                0
                                • M Offline
                                  M Offline
                                  Mischal
                                  wrote on last edited by
                                  #49

                                  Bin auch bereit den Adapter zu testen. S7MaxV Ultra

                                  D 1 Reply Last reply
                                  0
                                  • M Mischal

                                    Bin auch bereit den Adapter zu testen. S7MaxV Ultra

                                    D Offline
                                    D Offline
                                    Diamand2k22
                                    wrote on last edited by
                                    #50

                                    Hallo zusammen,

                                    wie kann ich denn den Cleaning Complete Status abfragen, also wenn der Roboter das Reinigungsprogramm selbständig beendet hat. Wo versteckt sich diese Information.
                                    Bei device.status springt er nach cleaning sofort auf returning.
                                    Im Endeffekt geht es darum, dass ich die Reinigung bei Abwesenheit der Bewohner starte und einen abgeschlossenen Reinigungszyklus erkenn will und dann eine Variable auf true setzten, damit der Sauger nicht nochmal ein zweites mal los fährt.

                                    VG

                                    1 Reply Last reply
                                    0
                                    • D Offline
                                      D Offline
                                      DonToben
                                      wrote on last edited by
                                      #51

                                      Da ich unbedingt bei der Roborock App bleiben möchte und es noch keinen Adapter gibt, verwende ich nun Google Assistant.

                                      Bin positiv überrascht. Multiraumreinigung mit selber gewählten Raumnamen funktioniert einwandfrei.

                                      Einfach sagen "Sauge Küche, Esszimmer und Hauswirtschaftsraum"

                                      Wer ein Android Smartphone hat kann zum ausprobieren einfach den Google Assistant dort verwenden.

                                      BTW
                                      Habe den S7 pro ultra

                                      M 1 Reply Last reply
                                      1
                                      • D DonToben

                                        Da ich unbedingt bei der Roborock App bleiben möchte und es noch keinen Adapter gibt, verwende ich nun Google Assistant.

                                        Bin positiv überrascht. Multiraumreinigung mit selber gewählten Raumnamen funktioniert einwandfrei.

                                        Einfach sagen "Sauge Küche, Esszimmer und Hauswirtschaftsraum"

                                        Wer ein Android Smartphone hat kann zum ausprobieren einfach den Google Assistant dort verwenden.

                                        BTW
                                        Habe den S7 pro ultra

                                        M Offline
                                        M Offline
                                        MattB
                                        wrote on last edited by
                                        #52

                                        Hallo zusammen,

                                        gibt es für einen etwaigen Adapter ein Repo, so das man sich bei der Entwicklung beteiligen kann?

                                        VG

                                        AcguaA 1 Reply Last reply
                                        0
                                        • M MattB

                                          Hallo zusammen,

                                          gibt es für einen etwaigen Adapter ein Repo, so das man sich bei der Entwicklung beteiligen kann?

                                          VG

                                          AcguaA Offline
                                          AcguaA Offline
                                          Acgua
                                          wrote on last edited by
                                          #53

                                          @mattb
                                          Ich stelle demnächst einen Link hier ein (Github), also TypeScript-Adapter. Vorher möchte ich noch ein paar erste Fehler abfangen und besseres Debug Log einbauen.
                                          Bitte sehr gerne beteiligen an der Entwicklung, das wäre cool. MQTT ist für mich Neuland, aber @rovo89 hat halt mega gute Vorarbeit geleistet mit seinem Proof of Concept und der Entschlüsselung.

                                          D MerexorM 2 Replies Last reply
                                          5
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          637

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe