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 Offline
    R Offline
    rovo89
    schrieb am zuletzt editiert von
    #1

    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!

    MeistertrM S P AcguaA 4 Antworten Letzte Antwort
    14
    • 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!

      MeistertrM Offline
      MeistertrM Offline
      Meistertr
      Developer
      schrieb am zuletzt editiert von
      #2

      @rovo89 ich bin unfassbar beeindruckt, ich habe Tage (wenn nicht sogar Wochen) davor gesessen und bin einfach nicht weiter gekommen. Meinen größten Respekt dafür!!! Das ist das wo ich schon seit 2 Jahren drauf warte. Würde es aber nicht in die Mihome app integrieren da Roborock und "Xiaomi" mittlerweile zu weit auseinander driften und ein Roborock Adapter eine bessere Wiedererkennung bietet.
      Werde es gleich Testen und mir ein Bild machen.

      wenn du möchtest kann ich gerne einen Basisadapter fertigmachen oder umgekehrt und ich untertütze wo ich kann,. An dem Projekt liegt mir sehr viel...

      da_WoodyD R 2 Antworten Letzte Antwort
      6
      • MeistertrM Offline
        MeistertrM Offline
        Meistertr
        Developer
        schrieb am zuletzt editiert von
        #3

        Erster test verlief super. Habe 2 roborocks in der mihome und einen 'Schläfer' in der roborock app. Einen s7,s5 und einen s5max

        1 Antwort Letzte Antwort
        1
        • MeistertrM Meistertr

          @rovo89 ich bin unfassbar beeindruckt, ich habe Tage (wenn nicht sogar Wochen) davor gesessen und bin einfach nicht weiter gekommen. Meinen größten Respekt dafür!!! Das ist das wo ich schon seit 2 Jahren drauf warte. Würde es aber nicht in die Mihome app integrieren da Roborock und "Xiaomi" mittlerweile zu weit auseinander driften und ein Roborock Adapter eine bessere Wiedererkennung bietet.
          Werde es gleich Testen und mir ein Bild machen.

          wenn du möchtest kann ich gerne einen Basisadapter fertigmachen oder umgekehrt und ich untertütze wo ich kann,. An dem Projekt liegt mir sehr viel...

          da_WoodyD Online
          da_WoodyD Online
          da_Woody
          schrieb am zuletzt editiert von
          #4

          @meistertr sagte in [Tester gesucht] Roborock-API:

          wenn du möchtest kann ich gerne einen Basisadapter fertigmachen oder umgekehrt und ich untertütze wo ich kann,. An dem Projekt liegt mir sehr viel...

          das wäre sicher was feines! ich hab im moment wieder das canvas problem seit dem js update und somit wird die karte wieder mal nicht upgedatet. vllt ist das problem dann auch geschichte?

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

          MeistertrM 1 Antwort Letzte Antwort
          0
          • da_WoodyD da_Woody

            @meistertr sagte in [Tester gesucht] Roborock-API:

            wenn du möchtest kann ich gerne einen Basisadapter fertigmachen oder umgekehrt und ich untertütze wo ich kann,. An dem Projekt liegt mir sehr viel...

            das wäre sicher was feines! ich hab im moment wieder das canvas problem seit dem js update und somit wird die karte wieder mal nicht upgedatet. vllt ist das problem dann auch geschichte?

            MeistertrM Offline
            MeistertrM Offline
            Meistertr
            Developer
            schrieb am zuletzt editiert von
            #5

            @da_woody das ist kein Fehler, liegt auch nicht am Adapter sondern an canvas selbst da offiziell nur eine geringe anzahl von Plattformen und Systemen unterstützt wird. wird aber auch dran gearbeitet und gehört hier nicht hin

            da_WoodyD 1 Antwort Letzte Antwort
            0
            • MeistertrM Meistertr

              @da_woody das ist kein Fehler, liegt auch nicht am Adapter sondern an canvas selbst da offiziell nur eine geringe anzahl von Plattformen und Systemen unterstützt wird. wird aber auch dran gearbeitet und gehört hier nicht hin

              da_WoodyD Online
              da_WoodyD Online
              da_Woody
              schrieb am zuletzt editiert von
              #6

              @meistertr ich hab ja nicht behauptet, daß es am adapter liegt. wollte auch keine diskussion darüber anzetteln, nur meine hoffnung zum ausdruck bringen, daß mit dem neuen adapter das problem erledigt ist.
              sorry, wenn du das falsch interpretiert hast. :)

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

              1 Antwort Letzte Antwort
              0
              • MeistertrM Meistertr

                @rovo89 ich bin unfassbar beeindruckt, ich habe Tage (wenn nicht sogar Wochen) davor gesessen und bin einfach nicht weiter gekommen. Meinen größten Respekt dafür!!! Das ist das wo ich schon seit 2 Jahren drauf warte. Würde es aber nicht in die Mihome app integrieren da Roborock und "Xiaomi" mittlerweile zu weit auseinander driften und ein Roborock Adapter eine bessere Wiedererkennung bietet.
                Werde es gleich Testen und mir ein Bild machen.

                wenn du möchtest kann ich gerne einen Basisadapter fertigmachen oder umgekehrt und ich untertütze wo ich kann,. An dem Projekt liegt mir sehr viel...

                R Offline
                R Offline
                rovo89
                schrieb am zuletzt editiert von
                #7

                @meistertr sagte in [Tester gesucht] Roborock-API:

                ich bin unfassbar beeindruckt, ich habe Tage (wenn nicht sogar Wochen) davor gesessen und bin einfach nicht weiter gekommen. Meinen größten Respekt dafür!!! Das ist das wo ich schon seit 2 Jahren drauf warte.

                Hehe danke. Ich habe recht viel Erfahrung mit sowas, aber trotzdem hat es eine ganze Weile gedauert. Ich hatte schon befürchtet dass das Ergebnis keinen außer mich interessiert, weil erstmal keine Reaktion kam.

                Würde es aber nicht in die Mihome app integrieren da Roborock und "Xiaomi" mittlerweile zu weit auseinander driften und ein Roborock Adapter eine bessere Wiedererkennung bietet.

                OK, ich denke auch dass es nur wenig Überlappung gibt.

                wenn du möchtest kann ich gerne einen Basisadapter fertigmachen oder umgekehrt und ich untertütze wo ich kann,. An dem Projekt liegt mir sehr viel...

                Danke! Ich mache gerade verschiedene Sachen gleichzeitig, Priorität hat gerade dass ich meine selbstgebaute Bewässerung einbinde. Dafür habe ich schon mit dem Wizard die Struktur erstellt und schaue mir an dem Beispiel an wie die wichtigsten Sachen funktionieren. Danach würde ich dann damit anfangen, dass ich anhand der API die Objekte/States anlege. Wenn ich Fragen habe melde ich mich, insbesondere wie man den Login realisiert und die Daten sicher speichert wird bestimmt knifflig.

                1 Antwort Letzte Antwort
                0
                • MeistertrM Offline
                  MeistertrM Offline
                  Meistertr
                  Developer
                  schrieb am zuletzt editiert von
                  #8

                  ich mache grade 2 sachen. Spiele mit der api, (hab ein modul aus dem code gemacht, was sich leicht in adapter einbinden lässt) und zum anderen arbeite ich gerade an der Kartendarstellung, da die neueren mehr dastellen können als die älteren geräte

                  D M-A HuebM 2 Antworten Letzte Antwort
                  3
                  • MeistertrM Meistertr

                    ich mache grade 2 sachen. Spiele mit der api, (hab ein modul aus dem code gemacht, was sich leicht in adapter einbinden lässt) und zum anderen arbeite ich gerade an der Kartendarstellung, da die neueren mehr dastellen können als die älteren geräte

                    D Offline
                    D Offline
                    DonToben
                    schrieb am zuletzt editiert von
                    #9

                    @meistertr
                    Sehr interessant, das alles zu lesen.

                    Wie ist eure Abschätzung? Wird es einen Adapter mit der Roborock Cloud für die Saugroboter geben, oder ist das technisch nicht möglich?

                    Danke und VG

                    MeistertrM 1 Antwort Letzte Antwort
                    0
                    • D DonToben

                      @meistertr
                      Sehr interessant, das alles zu lesen.

                      Wie ist eure Abschätzung? Wird es einen Adapter mit der Roborock Cloud für die Saugroboter geben, oder ist das technisch nicht möglich?

                      Danke und VG

                      MeistertrM Offline
                      MeistertrM Offline
                      Meistertr
                      Developer
                      schrieb am zuletzt editiert von
                      #10

                      @dontoben 2022-08-06_06h27_11.png

                      D C 2 Antworten Letzte Antwort
                      4
                      • MeistertrM Meistertr

                        @dontoben 2022-08-06_06h27_11.png

                        D Offline
                        D Offline
                        DonToben
                        schrieb am zuletzt editiert von
                        #11

                        @meistertr said in [Tester gesucht] Roborock-API:

                        @dontoben 2022-08-06_06h27_11.png

                        Super, dann werde ich jetzt auch Roborock Kunde.
                        Echt Klasse, was hier hier in eurer Freizeit leistet. Respekt.

                        1 Antwort Letzte Antwort
                        0
                        • D Offline
                          D Offline
                          DarkDevil
                          schrieb am zuletzt editiert von
                          #12

                          Lässt sich der Adapter schon irgendwie testen?

                          MeistertrM 1 Antwort Letzte Antwort
                          0
                          • D DarkDevil

                            Lässt sich der Adapter schon irgendwie testen?

                            MeistertrM Offline
                            MeistertrM Offline
                            Meistertr
                            Developer
                            schrieb am zuletzt editiert von
                            #13

                            @darkdevil ne noch nicht

                            1 Antwort Letzte Antwort
                            0
                            • A Online
                              A Online
                              ArnoD
                              schrieb am zuletzt editiert von
                              #14

                              Habe mir eine Roborock S7 MaxV gekauft und habe diesen mit dem mihome-vacuum Adapter und der Xiaomi Home App in iobroker eingebunden.
                              Doch leider lassen sich dann einige Funktionen, die nur in der Roborock App verfügbar sind, nicht nutzen.

                              Hätte gerade versucht dafür eine Lösung zu finden und habe dieses Thema gefunden.
                              Ich habe sehr großes Interesse an diesem Adapter und könnte mit testen unterstützen, wenn es euch hilft.

                              1 Antwort Letzte Antwort
                              0
                              • MeistertrM Meistertr

                                ich mache grade 2 sachen. Spiele mit der api, (hab ein modul aus dem code gemacht, was sich leicht in adapter einbinden lässt) und zum anderen arbeite ich gerade an der Kartendarstellung, da die neueren mehr dastellen können als die älteren geräte

                                M-A HuebM Offline
                                M-A HuebM Offline
                                M-A Hueb
                                schrieb am zuletzt editiert von
                                #15

                                @meistertr

                                Moin. Könntest du die Module zum download veereitsstellen? Würde gerne auch damit spielen. Danke

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

                                da_WoodyD M-A HuebM 2 Antworten Letzte Antwort
                                0
                                • M-A HuebM M-A Hueb

                                  @meistertr

                                  Moin. Könntest du die Module zum download veereitsstellen? Würde gerne auch damit spielen. Danke

                                  da_WoodyD Online
                                  da_WoodyD Online
                                  da_Woody
                                  schrieb am zuletzt editiert von
                                  #16

                                  @m-a-hueb ersten post nicht gelesen? github... ;)

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • H Offline
                                    H Offline
                                    hausautomation.digital
                                    schrieb am zuletzt editiert von
                                    #17

                                    Da wartet mein S7+ schon lange!! Mit den anderen Adaptern und der China-Wolke bin ich nicht klar gekommen. Dann werde ich mal githup besuchen...

                                    1 Antwort Letzte Antwort
                                    0
                                    • M-A HuebM M-A Hueb

                                      @meistertr

                                      Moin. Könntest du die Module zum download veereitsstellen? Würde gerne auch damit spielen. Danke

                                      M-A HuebM Offline
                                      M-A HuebM Offline
                                      M-A Hueb
                                      schrieb am zuletzt editiert von
                                      #18

                                      @da_Woody ich meinte eigentlich den Adapter von @Meistertr

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

                                      da_WoodyD 1 Antwort Letzte Antwort
                                      0
                                      • M-A HuebM M-A Hueb

                                        @da_Woody ich meinte eigentlich den Adapter von @Meistertr

                                        da_WoodyD Online
                                        da_WoodyD Online
                                        da_Woody
                                        schrieb am zuletzt editiert von
                                        #19

                                        @m-a-hueb sorry, aber auf github gibts halt die verschiedenen.
                                        hier gehts um dir robo-api, und nicht um xiaomi...

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

                                        M-A HuebM 1 Antwort Letzte Antwort
                                        0
                                        • da_WoodyD da_Woody

                                          @m-a-hueb sorry, aber auf github gibts halt die verschiedenen.
                                          hier gehts um dir robo-api, und nicht um xiaomi...

                                          M-A HuebM Offline
                                          M-A HuebM Offline
                                          M-A Hueb
                                          schrieb am zuletzt editiert von
                                          #20

                                          @da_woody ich mein ja die roborock. Nur obs die Möglichkeit gibt die direkt als adapter via github zu installieren

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

                                          M-A HuebM 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          360

                                          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