Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Neuer Adapter für Roborock-Staubsauger

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Neuer Adapter für Roborock-Staubsauger

    This topic has been deleted. Only users with topic management privileges can see it.
    • David G.
      David G. @jahnbes last edited by

      @jahnbes

      Ist eine neue Funktion in der App. Dort sieht man beim reinigen den Fortschritt in einem Balken.

      jahnbes 1 Reply Last reply Reply Quote 1
      • M
        maxb last edited by

        Hallo!
        Es wurde ja schon über die Darstellung einer Karte gesprochen und dass das nicht so einfach funktionert, da die Karte nur als Base64-Image vorliegt.
        Ich habe mal etwas getüftelt und vielleicht hilft es dem ein oder anderen:

        Die Base64-Images sind ganz normale HTML-"Bilder", die man z.B. in einer Visu nutzen kann, leider aber nicht einfach so, sondern nur über Umwege.
        Der HTML-Code für die Einbindung eines Bas64-Bildes ist so aufgebaut:

        <img src="[BASE64-CODE]">
        

        Also eigentlich alles kein Hexenwerk. Wenn man aus dem Datenpunkt den Code kopiert und in ein HTML-Objekt in VIS einfügt, wird die Karte auch wunderbar dargestellt, aber natürlich nicht aktualisiert. Da man über geschweifte Klammern direkt in VIS auf den Inhalt eines Datenpunktes zugreifen kann, dachte ich, dass man das über

        <img src="{roborock.0.Devices.ID.map.mapBase64}">
        

        lösen kann, das funktioniert aber so nicht. Sollte jemand wissen, wie das funktioniert, gerne melden!

        Ich habe das dann so gelöst, dass ich eine script erstellt habe, was nichts anderes macht, als die spitzen Klammern davor und dahinter zu setzen und das alles in einer neuen Variable zu speichern. Diesen String kann ich dann über die geschweiften Klammern in VIS einbinden, es funktionert alles ohne Probleme!
        7339ef60-fe24-4d68-afd3-a7dd9b4ae0da-image.png
        Code:

        <xml xmlns="https://developers.google.com/blockly/xml">
         <block type="control" id="q]VQvq6D3wTA4)@;2Pll" inline="false" x="-12" y="-62">
           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
           <field name="OID">0_userdata.0.own_variables.Bobs_Karte</field>
           <field name="WITH_DELAY">FALSE</field>
           <value name="VALUE">
             <block type="text_join" id="5-?y*KQ:Y80!V91Yodb!">
               <mutation items="3"></mutation>
               <value name="ADD0">
                 <block type="text" id="Cc@lc8)Fr2JyKrvP:/Fh">
                   <field name="TEXT">&lt;img  style="width: 80%; height: auto; object-fit: inherit; object-position: 0 0;"  src="</field>
                 </block>
               </value>
               <value name="ADD1">
                 <block type="get_value" id="Z]JX6e;b^dh)cs(P^N=:">
                   <field name="ATTR">val</field>
                   <field name="OID">roborock.0.Devices.5qpgK8e1ywan2qsWru9feg.cleaningInfo.Records.0.map.mapBase64</field>
                 </block>
               </value>
               <value name="ADD2">
                 <block type="text" id="8K1rL)_63uZRJ.-{+RG~">
                   <field name="TEXT">"&gt;</field>
                 </block>
               </value>
             </block>
           </value>
           <next>
             <block type="on" id="[oUHwy/QQu*ltlu5id5)">
               <field name="OID">roborock.0.Devices.5qpgK8e1ywan2qsWru9feg.cleaningInfo.Records.0.map.mapBase64</field>
               <field name="CONDITION">ne</field>
               <field name="ACK_CONDITION"></field>
               <statement name="STATEMENT">
                 <block type="control" id="nAbRG4CNIj(s,5[`9VkO" inline="false">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                   <field name="OID">0_userdata.0.own_variables.Bobs_Karte</field>
                   <field name="WITH_DELAY">FALSE</field>
                   <value name="VALUE">
                     <block type="text_join" id="2k-vFVe8e:a2O76QlkW?">
                       <mutation items="3"></mutation>
                       <value name="ADD0">
                         <block type="text" id="AR^b;KZ;H]gW+VYbolQG">
                           <field name="TEXT">&lt;img  style="width: 80%; height: auto; object-fit: inherit; object-position: 0 0;"  src="</field>
                         </block>
                       </value>
                       <value name="ADD1">
                         <block type="get_value" id="k)(j6}MFVQkeqecTw`Qg">
                           <field name="ATTR">val</field>
                           <field name="OID">roborock.0.Devices.5qpgK8e1ywan2qsWru9feg.cleaningInfo.Records.0.map.mapBase64</field>
                         </block>
                       </value>
                       <value name="ADD2">
                         <block type="text" id="HQnyYb)[/{?#394+RKX!">
                           <field name="TEXT">"&gt;</field>
                         </block>
                       </value>
                     </block>
                   </value>
                 </block>
               </statement>
             </block>
           </next>
         </block>
        </xml>
        


        Hinweise:

        • In VIS im Editor wird immer nur das Objekt in geschweiften Klammern dargestellt. Geladen wird der Inhalt erst in der feriten VIS!
        • die zusätzlichen Inhalte style="[...]" skalieren und beschneiden das Bild, damit es vernünftig dargestllt werden kann. Da muss man je nach Karte schauen wie es passt. Bei mir ist der Bereich oben links des Bildes erstmal sehr viel weiß, weshalb ich da viel wegschneiden muss, bis die eigentliche Karte zu sehen ist, spielt einfach mit den Werten.
        • Die Aktualisierungsrate der Karte ist wirklich mäßig. Ich weiß nicht in welchen Intervallen das passiert, es scheint immer so gegen Ende der Reinigung zu sein, manchmal auch währenddessen, manchmal auch im Dock. Woran das liegt weiß vermutlich nur Roborock.

        Bei Bedarf kann ich das hier gerne noch fürs WIKI auf englisch aufbereiten, ich habe da aber keine Schreibrechte drauf.

        Viel Spaß damit, Anmerkungen oder Fragen sind willkommen!

        copystring Flexer 3 Replies Last reply Reply Quote 0
        • copystring
          copystring @maxb last edited by

          @maxb said in Neuer Adapter für Roborock-Staubsauger:

          die zusätzlichen Inhalte style="[...]" skalieren und beschneiden das Bild, damit es vernünftig dargestllt werden kann. Da muss man je nach Karte schauen wie es passt. Bei mir ist der Bereich oben links des Bildes erstmal sehr viel weiß, weshalb ich da viel wegschneiden muss, bis die eigentliche Karte zu sehen ist, spielt einfach mit den Werten.

          Da ist eine trimmed base64. Dort sind alle Ränder bereits entfernt.

          1 Reply Last reply Reply Quote 0
          • jahnbes
            jahnbes @David G. last edited by

            @david-g
            Hallo, das mag ja sein und durchaus vernünftig, bei mir ist es aber ein permanent aufploppender Fehler im Protokoll des ioBrokers:
            https://github.com/copystring/ioBroker.roborock/issues/348
            Und der ist unschön.
            Viele Grüße, Bert.

            jahnbes created this issue in copystring/ioBroker.roborock

            closed after software update on roborock to02.58.40 #348

            David G. 1 Reply Last reply Reply Quote 0
            • David G.
              David G. @jahnbes last edited by

              @jahnbes

              Ist auch so gewollt.
              So sieht man neue Werte die von Roborock übermittelt werden und kann es dem Dev melden damit es eingebaut wird.

              Der Dev bekommt die Werte ja nicht unbedingt bei einem anderen Staubsaugermodell.

              copystring 1 Reply Last reply Reply Quote 0
              • copystring
                copystring @David G. last edited by

                @david-g said in Neuer Adapter für Roborock-Staubsauger:

                @jahnbes

                Ist auch so gewollt.
                So sieht man neue Werte die von Roborock übermittelt werden und kann es dem Dev melden damit es eingebaut wird.

                Der Dev bekommt die Werte ja nicht unbedingt bei einem anderen Staubsaugermodell.

                So ist es. Nur so kann ich sehen, ob neue Werte verfügbar sind.
                Ich kümmere mich darum wenn ich aus dem Urlaub zurück bin.

                jahnbes 1 Reply Last reply Reply Quote 0
                • jahnbes
                  jahnbes @copystring last edited by

                  @copystring Dann wünsche ich Dir vor allem einen schönen Urlaub!

                  copystring 1 Reply Last reply Reply Quote 0
                  • copystring
                    copystring @jahnbes last edited by

                    @jahnbes du hast eine PN von mir bekommen.

                    1 Reply Last reply Reply Quote 0
                    • M
                      Matt77CHE last edited by

                      @tritanium

                      Hallo Tritanium
                      Ich steh gerade gründlich auf dem Schlauch, wie kriege ich es hin, dass zB bei "Start durch" nicht die 3 steht, sondern "App"?
                      Ich habe schon diverse Sachen bei json attribut versucht einzutragen, hat nichts funktioniert.
                      Wenn ich schon dabei bin, wie hast du es hinbekommen, dass bei der Zeit nicht 01:00:00 sondern 13:00:00 steht?

                      Gruss
                      Matt

                      T 1 Reply Last reply Reply Quote 0
                      • B
                        BamBam89 last edited by

                        Hallo zusammen,

                        gibt es denn schon Erfahrungen zum S8 Ultra?
                        Ich habe den Adapter installiert. Die Verbindung zum Roborock steht,
                        allerdings habe ich nicht die Möglichkeit unter "floors" einzelne Räume auszuwählen.
                        Alles andere scheint soweit zu funktionieren.

                        Danke euch

                        Gruß Christian

                        copystring 1 Reply Last reply Reply Quote 0
                        • copystring
                          copystring @BamBam89 last edited by

                          @bambam89 meistens geht das nicht weil entweder die Etage oder ein oder mehrere Räume keinen Namen haben

                          B 1 Reply Last reply Reply Quote 0
                          • B
                            BamBam89 @copystring last edited by

                            @copystring

                            Das wars. Die Karte war nicht benannt.... Oh man.

                            Danke dir

                            1 Reply Last reply Reply Quote 0
                            • B
                              BamBam89 last edited by

                              Ich hätte dann doch noch eine Frage.
                              Sowie läuft die Sache. Was mich jedoch wunder, ich habe ein Script geschrieben,
                              das dafür sorgt, das bi Klick auf Button der Wert Charge vacuum (Zurück zur Ladestation) kurzzeitig auf true gesetzt wird um den Sauger zurück zur Ladestation fahren zu lassen.

                              In diesem Skript wird auch der Wert "Sunction power" (Saugstärke) auf Normal (102) gesetzt und der Wert Scrub intensity (Wischintensität) auf aus (200). Beide Werte werden auch in den Objekten entsprechend gesetzt. Aber immer wenn ich den
                              Sauger das nächste mal starte, wird zwar der Wert zum Saugen angenommen der im Objekt steht aber er fängt auch an zu wischen, obwohl das Objekt Scrub intensity (Wischintensität) auf aus (200) steht.

                              Hat jemand eine Idee, was das sein könnte?

                              Gruß Christian

                              1 Reply Last reply Reply Quote 0
                              • ch90045
                                ch90045 @jahnbes last edited by

                                @jahnbes Guten Morgen, wie hast du den DEV Branch installiert?

                                Danke, Christian

                                jahnbes 1 Reply Last reply Reply Quote 0
                                • D
                                  DeeKay 0 last edited by

                                  @copystring
                                  Eine Idee was es damit auf sich hat? Ich habe einen S7 MaxV.

                                  roborock.0
                                  2023-08-29 09:42:41.433 error Unsported attribute: clean_percent of get_status with value 0. Please contact the dev to add the newly found attribute of your robot.

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    SpacerX @DeeKay 0 last edited by

                                    @deekay-0 Siehe 10 Beiträge höher. Sagt das aus was da steht. Unbekannter Parameter gefunden, dem Entwickler melden damit er diesen ins Projekt einfügen kann.

                                    D 1 Reply Last reply Reply Quote 0
                                    • D
                                      DeeKay 0 @SpacerX last edited by DeeKay 0

                                      @spacerx Danke, Captain obvious. Reicht hier über das Forum (daher hab ich ja ein mention an copystring gemacht) oder wird ein Github-Issue gewünscht?

                                      jahnbes 1 Reply Last reply Reply Quote 0
                                      • jahnbes
                                        jahnbes @DeeKay 0 last edited by jahnbes

                                        @deekay-0
                                        Hallo deekay,
                                        nein, es ist kein Github-Issue notwendig, das ist schon erfolgt (von mir):
                                        https://github.com/copystring/ioBroker.roborock/issues/348
                                        Und copystring hat auch schon das Problem gelöst, in der dev-Branch von Github ist der Fehler weg.
                                        Bei Gelegenheit wird copystring es in die stable-Version stellen.
                                        Wenn Du die Dev-branch haben willst, die findest Du im obigen Github.
                                        Viele Grüße, Bert.

                                        jahnbes created this issue in copystring/ioBroker.roborock

                                        closed after software update on roborock to02.58.40 #348

                                        1 Reply Last reply Reply Quote 1
                                        • jahnbes
                                          jahnbes @ch90045 last edited by jahnbes

                                          @ch90045
                                          Ebenfalls einen guten Morgen!
                                          dev-branch.jpg
                                          Die DEV Branch installierst Du, wie im obigen Screenshot angedeutet:

                                          • iobroker aufrufen
                                          • auf [Adapter] gehen
                                          • Handling auf [Admin] setzen (1)
                                          • [Github] einstellen (2)
                                          • [benutzerdefinierte] Installation aufrufen (3)
                                          • DEV Branch link eintragen (4)
                                          • Naja, und zum Schluß auf [Installieren] drücken

                                          Den DEV Branch link findest Du in Github unter
                                          https://github.com/copystring/ioBroker.roborock/issues/348

                                          Viele Grüße, Bert.

                                          jahnbes created this issue in copystring/ioBroker.roborock

                                          closed after software update on roborock to02.58.40 #348

                                          1 Reply Last reply Reply Quote 0
                                          • T
                                            tritanium @Matt77CHE last edited by

                                            @matt77che

                                            Halo Matt,
                                            ich gehe davon aus, das du in der VISU "Jarvis" ebenfalls wie ich "PRO" bist! (sonst gehts nämlich nicht) 😉

                                            Hier der Screenshot meines Table Widgets:
                                            09655123-d62c-4c3a-9a9a-a2e19c92890a-grafik.png

                                            Die Spalten Format Zeile enthält folgendes:

                                            [  {    "field": "begin",    "label": "Start",    "format": "val=>{let x = new Date(val*1000).toLocaleString(); return x;}",    "style": "width:50px;background-color: #000000;font-size:20px"  },  {    "field": "clean_type",    "label": "Modus",    "format": "val => val === 1 ? 'Gesamt' : val === 2 ? 'Zone' : val === 3 ? 'Raum' : ''",    "style": "width:50px;background-color: #000000;font-size:20px"  },  {    "field": "start_type",    "label": "Starttyp",    "format": "val => val === 1 ? 'manuell' : val === 2 ? 'App' : 'Plan'",    "style": "width:50px;background-color: #000000;font-size:20px"  },  {    "field": "area",    "label": "Fläche/m²",    "format": "val => (val/1000000).toFixed(1)",    "style": "width:50px;background-color: #000000;font-size:20px"  },  {    "field": "duration",    "label": "Dauer / Min",    "format": "val => (val/60).toFixed(0)",    "style": "width:50px;background-color: #000000;font-size:20px"  },  {    "field": "complete",    "label": "Status",    "format": "val => val === 1 ? 'beendet' : 'abgebrochen'",    "style": "width:50px;background-color: #000000;font-size:20px"  }]
                                            

                                            Wenn du das so einfügst, sollte es aussehen wie bei mir 🙂

                                            1157a338-bd8a-4885-accc-1ab894e4b505-grafik.png

                                            Grüsse Micha

                                            M 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

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

                                            675
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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