Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

[Tester gesucht] Roborock-API

Geplant Angeheftet Gesperrt Verschoben JavaScript
81 Beiträge 42 Kommentatoren 27.1k Aufrufe 67 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 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
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • R Offline
      R Offline
      rovo89
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #37

          Arbeitet aktuell jemand an einem Roborock Adapter?

          1 Antwort Letzte Antwort
          0
          • MeistertrM Offline
            MeistertrM Offline
            Meistertr
            Developer
            schrieb am zuletzt editiert von
            #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 Antworten Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #40

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

                1 Antwort Letzte Antwort
                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
                  Ein ehemaliger Benutzer
                  schrieb am zuletzt editiert von
                  #41

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

                  Danke danke danke!

                  1 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #42

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

                    D 1 Antwort Letzte Antwort
                    0
                    • O oxident

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

                      D Nicht stören
                      D Nicht stören
                      dirkhe
                      Developer
                      schrieb am zuletzt editiert von
                      #43

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

                      1 Antwort Letzte Antwort
                      0
                      • R Offline
                        R Offline
                        reeze
                        schrieb am zuletzt editiert von
                        #44

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

                        1 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                          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 Online
                            CodierknechtC Online
                            Codierknecht
                            Developer Most Active
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                              0
                              • D Offline
                                D Offline
                                DonToben
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                • M Offline
                                  M Offline
                                  Mischal
                                  schrieb am zuletzt editiert von
                                  #49

                                  Bin auch bereit den Adapter zu testen. S7MaxV Ultra

                                  D 1 Antwort Letzte Antwort
                                  0
                                  • M Mischal

                                    Bin auch bereit den Adapter zu testen. S7MaxV Ultra

                                    D Offline
                                    D Offline
                                    Diamand2k22
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    0
                                    • D Offline
                                      D Offline
                                      DonToben
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von
                                        #52

                                        Hallo zusammen,

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

                                        VG

                                        AcguaA 1 Antwort Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von
                                          #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 Antworten Letzte Antwort
                                          5
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          494

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe