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. [Vorlage] Roborock Gen1 - Einzelraumreinigung mit Valetudo

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    509

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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

[Vorlage] Roborock Gen1 - Einzelraumreinigung mit Valetudo

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascripttemplate
26 Beiträge 5 Kommentatoren 4.7k Aufrufe 10 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.
  • AlCalzoneA AlCalzone

    @ntsa86 Du hast das Skript als JavaScript, nicht wie oben steht als TypeScript angelegt.

    N Offline
    N Offline
    ntsa86
    schrieb am zuletzt editiert von
    #4

    @AlCalzone

    Ja, wer lesen kann ... danke.

    Musste mein ioBroker erstmal auf den aktuellen Stand bringen. Dann klappt’s auch mit den Modulen.

    Hätte noch eine Frage zu den Koordinaten. Ich bekomme nun den Status -1 unknown

    Wo muss ich was eintragen, damit das Script erkennt, in welcher Ausrichtung der Robbi zur Station steht?

    VG!

    AlCalzoneA 1 Antwort Letzte Antwort
    0
    • N ntsa86

      @AlCalzone

      Ja, wer lesen kann ... danke.

      Musste mein ioBroker erstmal auf den aktuellen Stand bringen. Dann klappt’s auch mit den Modulen.

      Hätte noch eine Frage zu den Koordinaten. Ich bekomme nun den Status -1 unknown

      Wo muss ich was eintragen, damit das Script erkennt, in welcher Ausrichtung der Robbi zur Station steht?

      VG!

      AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      schrieb am zuletzt editiert von
      #5

      @ntsa86 Dazu musst du eigentlich nur eine Einzelraumreinigung starten. Beim Start checkt das Skript die Ausrichtung, sofern du mindestens 1x kurz den Sauger an hattest, um einen Teil der Karte aufzubauen.

      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

      N 1 Antwort Letzte Antwort
      0
      • AlCalzoneA AlCalzone

        @ntsa86 Dazu musst du eigentlich nur eine Einzelraumreinigung starten. Beim Start checkt das Skript die Ausrichtung, sofern du mindestens 1x kurz den Sauger an hattest, um einen Teil der Karte aufzubauen.

        N Offline
        N Offline
        ntsa86
        schrieb am zuletzt editiert von
        #6

        @AlCalzone

        Ok habe ich eben nochmal gestartet (Script erkannte: 90°). Dabei dreht er meine Zonen nun um 90° - muss somit wohl die Koordinaten anpassen. Habe diese direkt aus Valetudo rausgenommen (über http://<ip>/api/get_config).

        Somit wird dann aus

        "Haus": [[21721,21190,28482,32195] -> Valetudo
        "Haus": [[29479,30010,2271819005] -> 51200 - "Valetudo-Korrdinaten"

        Hab ich gemacht. Ging schief. :-)

        Die originalen Valetudo Zonen sehen wie folgt aus:

        haus_valetudo_zone.PNG

        Das Script macht dann daraus:

        haus_script_zone.PNG

        Was mach ich falsch?

        VG & Danke für deine Geduld. :-)

        AlCalzoneA 2 Antworten Letzte Antwort
        0
        • N ntsa86

          @AlCalzone

          Ok habe ich eben nochmal gestartet (Script erkannte: 90°). Dabei dreht er meine Zonen nun um 90° - muss somit wohl die Koordinaten anpassen. Habe diese direkt aus Valetudo rausgenommen (über http://<ip>/api/get_config).

          Somit wird dann aus

          "Haus": [[21721,21190,28482,32195] -> Valetudo
          "Haus": [[29479,30010,2271819005] -> 51200 - "Valetudo-Korrdinaten"

          Hab ich gemacht. Ging schief. :-)

          Die originalen Valetudo Zonen sehen wie folgt aus:

          haus_valetudo_zone.PNG

          Das Script macht dann daraus:

          haus_script_zone.PNG

          Was mach ich falsch?

          VG & Danke für deine Geduld. :-)

          AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          schrieb am zuletzt editiert von AlCalzone
          #7

          @ntsa86 Das Skript geht davon aus, dass der Roboter normalerweise links steht. Könnte ich ggf noch anpassbar machen.

          Ändere bitte folgende Zeilen bei dir (angenommen du verwendest Version 3):

          Zeilen 95-98:

                  "0": "Robo unten vom Dock",
                  "90": "Robo rechts vom Dock",
                  "180": "Robo oben vom Dock",
                  "270": "Robo links vom Dock",
          

          Zeilen 142-153:

              if (angle <= 45 && angle >= -45) {
                  // Sauger steht rechts
                  return 90;
              } else if (angle > 45 && angle < 135) {
                  // Sauger steht oben
                  return 180;
              } else if (angle < -45 && angle > -135) {
                  // Sauger steht unten
                  return 0;
              } else {
                  // Sauger steht links
                  return 270;
              }
          

          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

          1 Antwort Letzte Antwort
          0
          • N ntsa86

            @AlCalzone

            Ok habe ich eben nochmal gestartet (Script erkannte: 90°). Dabei dreht er meine Zonen nun um 90° - muss somit wohl die Koordinaten anpassen. Habe diese direkt aus Valetudo rausgenommen (über http://<ip>/api/get_config).

            Somit wird dann aus

            "Haus": [[21721,21190,28482,32195] -> Valetudo
            "Haus": [[29479,30010,2271819005] -> 51200 - "Valetudo-Korrdinaten"

            Hab ich gemacht. Ging schief. :-)

            Die originalen Valetudo Zonen sehen wie folgt aus:

            haus_valetudo_zone.PNG

            Das Script macht dann daraus:

            haus_script_zone.PNG

            Was mach ich falsch?

            VG & Danke für deine Geduld. :-)

            AlCalzoneA Offline
            AlCalzoneA Offline
            AlCalzone
            Developer
            schrieb am zuletzt editiert von
            #8

            @ntsa86 sagte in [Vorlage] Roborock Gen1 - Einzelraumreinigung mit Valetudo:

            [[29479,30010,2271819005] -> 51200 - "Valetudo-Korrdinaten"

            Und das gilt nur für die y-Werte, also den 2. und 4.
            Die x-Koordinaten darfst du nicht anfassen!

            Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

            N 2 Antworten Letzte Antwort
            0
            • AlCalzoneA AlCalzone

              @ntsa86 sagte in [Vorlage] Roborock Gen1 - Einzelraumreinigung mit Valetudo:

              [[29479,30010,2271819005] -> 51200 - "Valetudo-Korrdinaten"

              Und das gilt nur für die y-Werte, also den 2. und 4.
              Die x-Koordinaten darfst du nicht anfassen!

              N Offline
              N Offline
              ntsa86
              schrieb am zuletzt editiert von
              #9

              @AlCalzone Danke, jetzt hat es geklappt!

              1 Antwort Letzte Antwort
              0
              • 0 Offline
                0 Offline
                0018
                schrieb am zuletzt editiert von
                #10

                Hallo,

                habe Valetudo RE 0.8.1 auf meinem Gen1. Kann mir jemand sagen wie ich dort die Koordinaten meiner angelegten Zonen auslesen kann, damit ich diese im Skript eintragen kann?

                Mfg
                0018

                AlCalzoneA N 2 Antworten Letzte Antwort
                0
                • 0 0018

                  Hallo,

                  habe Valetudo RE 0.8.1 auf meinem Gen1. Kann mir jemand sagen wie ich dort die Koordinaten meiner angelegten Zonen auslesen kann, damit ich diese im Skript eintragen kann?

                  AlCalzoneA Offline
                  AlCalzoneA Offline
                  AlCalzone
                  Developer
                  schrieb am zuletzt editiert von AlCalzone
                  #11

                  @0018 Ich weiß nicht ob es einen einfachereren Weg gibt, aber wenn du eine Zone anlegst, anschließend die Developer-Tools (F12) öffnest und dort die Netzwerkanalyse startest, dann die Seite neu lädst, gibt es eine Anfrage an "get_config". Dort sind die Zonen enthalten:
                  d16a2cc2-9f81-4612-8156-04f75de3c8b5-grafik.png

                  Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                  1 Antwort Letzte Antwort
                  0
                  • 0 0018

                    Hallo,

                    habe Valetudo RE 0.8.1 auf meinem Gen1. Kann mir jemand sagen wie ich dort die Koordinaten meiner angelegten Zonen auslesen kann, damit ich diese im Skript eintragen kann?

                    N Offline
                    N Offline
                    ntsa86
                    schrieb am zuletzt editiert von
                    #12

                    @0018

                    Zonen in Valetudo anlegen und dann im Browser http://<ip>/api/get_config aufrufen. Natürlich die IP deines Robbi verwenden.

                    0 1 Antwort Letzte Antwort
                    0
                    • N ntsa86

                      @0018

                      Zonen in Valetudo anlegen und dann im Browser http://<ip>/api/get_config aufrufen. Natürlich die IP deines Robbi verwenden.

                      0 Offline
                      0 Offline
                      0018
                      schrieb am zuletzt editiert von 0018
                      #13

                      @ntsa86 sagte in [Vorlage] Roborock Gen1 - Einzelraumreinigung mit Valetudo:

                      http://<ip>/api/get_config

                      Wunderbar, hat direkt geklappt! Danke :+1:

                      Mfg
                      0018

                      1 Antwort Letzte Antwort
                      0
                      • AlCalzoneA AlCalzone

                        @ntsa86 sagte in [Vorlage] Roborock Gen1 - Einzelraumreinigung mit Valetudo:

                        [[29479,30010,2271819005] -> 51200 - "Valetudo-Korrdinaten"

                        Und das gilt nur für die y-Werte, also den 2. und 4.
                        Die x-Koordinaten darfst du nicht anfassen!

                        N Offline
                        N Offline
                        ntsa86
                        schrieb am zuletzt editiert von
                        #14

                        @AlCalzone

                        Zu Früh gefreut. Er kommt mit den GoTo nicht zurecht. Die Zonen werden aber richtig ausgerichtet. Gibts die Möglichkeit den GoTo Befehl auszukommentieren (zum Test).

                        Aktuell fährt er nur rum und sucht seinen Punkt:

                        7B1A99EB-0791-4A9A-AA85-50B9FD3660F1.jpeg

                        AlCalzoneA 1 Antwort Letzte Antwort
                        0
                        • N ntsa86

                          @AlCalzone

                          Zu Früh gefreut. Er kommt mit den GoTo nicht zurecht. Die Zonen werden aber richtig ausgerichtet. Gibts die Möglichkeit den GoTo Befehl auszukommentieren (zum Test).

                          Aktuell fährt er nur rum und sucht seinen Punkt:

                          7B1A99EB-0791-4A9A-AA85-50B9FD3660F1.jpeg

                          AlCalzoneA Offline
                          AlCalzoneA Offline
                          AlCalzone
                          Developer
                          schrieb am zuletzt editiert von
                          #15

                          @ntsa86 Der GoTo-Punkt liegt immer in der Mitte der Zone (bzw. des ersten Abschnitts). Vermutlich ist das bei dir hinter einer Wand. Kommentiere folgende Zeilen aus:
                          bf1b5490-c121-47fc-8187-8e95272eee6c-grafik.png

                          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                          1 Antwort Letzte Antwort
                          0
                          • T Offline
                            T Offline
                            TemPeck
                            schrieb am zuletzt editiert von TemPeck
                            #16

                            Moin!

                            Ich habe es heute endlich geschafft, Valetudo auf meinen Vacuum v1 zu bekommen.
                            So weit so gut....

                            Leider habe ich Probleme mit dem Script - es wird folgender Fehler ausgegeben:

                            javascript.0 (30625) script.js.Test.Rockrobo2: TypeScript compilation failed: import axios from "axios"; ^ ERROR: Cannot find module 'axios'.
                            

                            Nun meine vllt. etwas doofe Frage:
                            Wo muss ich dieses Modul installieren?
                            Habe mich über ssh beim iobroker eingeloggt und mit

                            npm install axios -S
                            

                            eigentlich (so dachte ich) axios installiert.

                            Habe ich da etwas falsch verstanden?

                            Edit: Im Javascript-Adapter habe ich unter "Zusätzliche NPM-Module" auch axios eingetragen. Hilft trotzdem nix....

                            Grüße!

                            AlCalzoneA 1 Antwort Letzte Antwort
                            0
                            • T TemPeck

                              Moin!

                              Ich habe es heute endlich geschafft, Valetudo auf meinen Vacuum v1 zu bekommen.
                              So weit so gut....

                              Leider habe ich Probleme mit dem Script - es wird folgender Fehler ausgegeben:

                              javascript.0 (30625) script.js.Test.Rockrobo2: TypeScript compilation failed: import axios from "axios"; ^ ERROR: Cannot find module 'axios'.
                              

                              Nun meine vllt. etwas doofe Frage:
                              Wo muss ich dieses Modul installieren?
                              Habe mich über ssh beim iobroker eingeloggt und mit

                              npm install axios -S
                              

                              eigentlich (so dachte ich) axios installiert.

                              Habe ich da etwas falsch verstanden?

                              Edit: Im Javascript-Adapter habe ich unter "Zusätzliche NPM-Module" auch axios eingetragen. Hilft trotzdem nix....

                              Grüße!

                              AlCalzoneA Offline
                              AlCalzoneA Offline
                              AlCalzone
                              Developer
                              schrieb am zuletzt editiert von
                              #17

                              @TemPeck sagte in [Vorlage] Roborock Gen1 - Einzelraumreinigung mit Valetudo:

                              eigentlich (so dachte ich) axios installiert.

                              So nicht, so:

                              Im Javascript-Adapter habe ich unter "Zusätzliche NPM-Module" auch axios eingetragen

                              Eigentlich müsste es so funktionieren. Hast du bei der richtigen Instanz installiert? Gewartet, bis die Installation im Log als abgeschlossen steht?

                              Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                              1 Antwort Letzte Antwort
                              0
                              • T Offline
                                T Offline
                                TemPeck
                                schrieb am zuletzt editiert von
                                #18

                                Ich habe nur eine Javascript-Instanz. Und laut log müsste es auch installiert sein:

                                2020-03-28 22:20:37.561 - info: host.iobroker instance system.adapter.javascript.0 started with pid 30625
                                2020-03-28 22:20:40.422 - info: javascript.0 (30625) starting. Version 4.4.3 in /opt/iobroker/node_modules/iobroker.javascript, node: v10.17.0
                                2020-03-28 22:20:40.454 - info: javascript.0 (30625) npm install axios --production --prefix "/opt/iobroker/node_modules/iobroker.javascript" (System call)
                                2020-03-28 22:20:42.755 - info: javascript.0 (30625) + axios@0.19.2
                                added 4 packages from 7 contributors and audited 29 packages in 1.399s
                                2020-03-28 22:20:42.756 - info: javascript.0 (30625) found 0 vulnerabilities
                                2020-03-28 22:20:42.811 - info: javascript.0 (30625) requesting all states
                                2020-03-28 22:20:42.813 - info: javascript.0 (30625) requesting all objects
                                

                                Meinst du, dass die Installation über "npm install axios -S" irgendwelche Probleme verursacht haben könnte?

                                AlCalzoneA 1 Antwort Letzte Antwort
                                0
                                • T TemPeck

                                  Ich habe nur eine Javascript-Instanz. Und laut log müsste es auch installiert sein:

                                  2020-03-28 22:20:37.561 - info: host.iobroker instance system.adapter.javascript.0 started with pid 30625
                                  2020-03-28 22:20:40.422 - info: javascript.0 (30625) starting. Version 4.4.3 in /opt/iobroker/node_modules/iobroker.javascript, node: v10.17.0
                                  2020-03-28 22:20:40.454 - info: javascript.0 (30625) npm install axios --production --prefix "/opt/iobroker/node_modules/iobroker.javascript" (System call)
                                  2020-03-28 22:20:42.755 - info: javascript.0 (30625) + axios@0.19.2
                                  added 4 packages from 7 contributors and audited 29 packages in 1.399s
                                  2020-03-28 22:20:42.756 - info: javascript.0 (30625) found 0 vulnerabilities
                                  2020-03-28 22:20:42.811 - info: javascript.0 (30625) requesting all states
                                  2020-03-28 22:20:42.813 - info: javascript.0 (30625) requesting all objects
                                  

                                  Meinst du, dass die Installation über "npm install axios -S" irgendwelche Probleme verursacht haben könnte?

                                  AlCalzoneA Offline
                                  AlCalzoneA Offline
                                  AlCalzone
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #19

                                  @TemPeck Ich vermute eher, dass TypeScript sich an etwas verschluckt hat - obwohl die Fixes schon länger im Adapter enthalten sein müssten. Setz mal //@ts-ignore über die Import-Zeile.

                                  Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                  1 Antwort Letzte Antwort
                                  0
                                  • T Offline
                                    T Offline
                                    TemPeck
                                    schrieb am zuletzt editiert von
                                    #20

                                    Erledigt - nun taucht kein Fehler auf.

                                    16:06:26.443	info	javascript.0 (1227) script.js.Test.Rockrobo2: compiling TypeScript source...
                                    16:06:26.599	info	javascript.0 (1227) script.js.Test.Rockrobo2: TypeScript compilation successful
                                    16:06:26.611	info	javascript.0 (1227) script.js.Test.Rockrobo2: registered 7 subscriptions and 0 schedules
                                    

                                    Ob alles klappt, kann ich erst später testen.

                                    Vielen Dank für den Support!

                                    1 Antwort Letzte Antwort
                                    0
                                    • T Offline
                                      T Offline
                                      TemPeck
                                      schrieb am zuletzt editiert von
                                      #21

                                      Okay ich habe jetzt mal nur den Raum "Küche" angelegt und mit den umgerechneten Koordinaten im Script eingefügt.

                                      Sobald ich den Datenpunkt Küche unter javascript.0.Staubsauger mit "wahr" belege, sollte er anfangen, oder hab ich da was falsch verstanden?

                                      Im log passiert daraufhin lediglich folgendes:

                                      javascript.0	2020-03-29 17:12:13.285	info	(1227) script.js.Test.Rockrobo2: Teste Kartenorientierung...
                                      

                                      danach passiert nichts mehr.

                                      Wenn ich das im Script richtig sehe, sollte danach etwas mit axios "passieren".
                                      Scheint mir, als wäre der Fehler daher nicht behoben, oder?

                                      Grüße!

                                      AlCalzoneA 1 Antwort Letzte Antwort
                                      0
                                      • T TemPeck

                                        Okay ich habe jetzt mal nur den Raum "Küche" angelegt und mit den umgerechneten Koordinaten im Script eingefügt.

                                        Sobald ich den Datenpunkt Küche unter javascript.0.Staubsauger mit "wahr" belege, sollte er anfangen, oder hab ich da was falsch verstanden?

                                        Im log passiert daraufhin lediglich folgendes:

                                        javascript.0	2020-03-29 17:12:13.285	info	(1227) script.js.Test.Rockrobo2: Teste Kartenorientierung...
                                        

                                        danach passiert nichts mehr.

                                        Wenn ich das im Script richtig sehe, sollte danach etwas mit axios "passieren".
                                        Scheint mir, als wäre der Fehler daher nicht behoben, oder?

                                        Grüße!

                                        AlCalzoneA Offline
                                        AlCalzoneA Offline
                                        AlCalzone
                                        Developer
                                        schrieb am zuletzt editiert von
                                        #22

                                        @TemPeck sagte in [Vorlage] Roborock Gen1 - Einzelraumreinigung mit Valetudo:

                                        Wenn ich das im Script richtig sehe, sollte danach etwas mit axios "passieren".

                                        Ja, sollte es. Bekommst du eine Antwort, wenn du manuell im Browser http://<dein-robo-hostname>/api/map/latest öffnest?

                                        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                        1 Antwort Letzte Antwort
                                        0
                                        • T Offline
                                          T Offline
                                          TemPeck
                                          schrieb am zuletzt editiert von
                                          #23

                                          Ja, er lädt eine 1KB große Datei mit dem Namen "latest"

                                          AlCalzoneA 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

                                          679

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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