Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. ioBroker Allgemein
  4. map für xiaomi / roborock Staubsauger

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    885

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.5k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    5.8k

map für xiaomi / roborock Staubsauger

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
mihomemapstaubsauger
16 Beiträge 4 Kommentatoren 170 Aufrufe 2 Beobachtet
  • Ä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.
  • F fastfoot

    Raspberry Pi

    bahnuhrB Online
    bahnuhrB Online
    bahnuhr
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #7

    @fastfoot
    habe iob schon seit Jahren in einer VM auf proxmox.


    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
    Danke.
    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
    ScreenToGif :https://www.screentogif.com/downloads.html

    1 Antwort Letzte Antwort
    0
    • F Online
      F Online
      fastfoot
      schrieb am zuletzt editiert von
      #8

      log durchkämmen, ist dein roboter supported, objekte löschen und nach neustart adapter nachsehen. ist ein folder map mit drei states drinnen. was zeigt der roborock tab? gibts die map in deiner app?

      sonst bliebe ein issue zu erstellen

      iobroker läuft unter Docker auf Windows (WSL2)

      bahnuhrB 1 Antwort Letzte Antwort
      0
      • F fastfoot

        log durchkämmen, ist dein roboter supported, objekte löschen und nach neustart adapter nachsehen. ist ein folder map mit drei states drinnen. was zeigt der roborock tab? gibts die map in deiner app?

        sonst bliebe ein issue zu erstellen

        bahnuhrB Online
        bahnuhrB Online
        bahnuhr
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #9

        @fastfoot sagte:

        log durchkämmen

        nix drin

        @fastfoot sagte:

        dein roboter supported

        natürlich

        @fastfoot sagte:

        nach neustart adapter nachsehen

        nix drin

        @fastfoot sagte:

        folder map mit drei states drinnen.

        nein (sonst hätte ich nicht geschrieben)

        @fastfoot sagte:

        was zeigt der roborock tab

        ist grün (oder meinst du was anderes ?)

        @fastfoot sagte:

        map in deiner app

        natürlich

        @fastfoot sagte:

        sonst bliebe ein issue zu erstellen

        ne, mach ich nicht.
        Habe ich bei mihome-vacuum schon probiert.
        Antwort war: Dafür habe ich momentan keine ressourcen.


        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
        Danke.
        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
        ScreenToGif :https://www.screentogif.com/downloads.html

        haselchenH 1 Antwort Letzte Antwort
        0
        • bahnuhrB bahnuhr

          @fastfoot sagte:

          log durchkämmen

          nix drin

          @fastfoot sagte:

          dein roboter supported

          natürlich

          @fastfoot sagte:

          nach neustart adapter nachsehen

          nix drin

          @fastfoot sagte:

          folder map mit drei states drinnen.

          nein (sonst hätte ich nicht geschrieben)

          @fastfoot sagte:

          was zeigt der roborock tab

          ist grün (oder meinst du was anderes ?)

          @fastfoot sagte:

          map in deiner app

          natürlich

          @fastfoot sagte:

          sonst bliebe ein issue zu erstellen

          ne, mach ich nicht.
          Habe ich bei mihome-vacuum schon probiert.
          Antwort war: Dafür habe ich momentan keine ressourcen.

          haselchenH Offline
          haselchenH Offline
          haselchen
          Most Active
          schrieb am zuletzt editiert von
          #10

          @bahnuhr

          Bei mir funktioniert es auch seit mindestens einem Jahr nicht mehr mit dem Mihome-Vacuum.
          Hab gerade überlegt ob man nicht einfach den Google KI Modus oder ChatGPT nach ner Lösung fragt 😄

          Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.7, Nodejs 22.22.2 ,JS Controller 7.0.7 ,Admin 7.8.24

          bahnuhrB 1 Antwort Letzte Antwort
          0
          • haselchenH haselchen

            @bahnuhr

            Bei mir funktioniert es auch seit mindestens einem Jahr nicht mehr mit dem Mihome-Vacuum.
            Hab gerade überlegt ob man nicht einfach den Google KI Modus oder ChatGPT nach ner Lösung fragt 😄

            bahnuhrB Online
            bahnuhrB Online
            bahnuhr
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #11

            @haselchen
            Hallo, ja mihome funktioniert schon länger nicht.
            Deshalb ja der Versuch mit roborock.
            funktioniert aber auch nicht (zumindest bei mir)

            Und ja, chatgpt hab ich versucht.
            Erst wurde mihome-vacuum empfohlen; dann gesagt dass dieser nicht mehr geht; dann wurde roborock empfohlen; geht aber auch nicht; dann wurde ein Script ohne Adapter erstellt, hab ich noch nicht hinbekommen.

            Anbei Script, vielleicht findest du eine Lösung. Danke für die Info.

            
            
            // map_fetch.js
            // Node.js Skript zum Abruf der Roborock-Map (Base64) via MiIO (lokal)
            
            const miio = require('miio');
            const fs = require('fs');
            const path = require('path');
            
            const ip = '192.168.xxx.xxx';          // <-- deine Roborock-IP hier
            const token = "xxx";
            const outputDir = '/opt/iobroker/roborock_maps'; // OUTPUT_PATH hier, z.B. ein Ordner für Maps
            
            // Liste potenzieller Map-Property-Namen (je nach Firmware/Adapter-Version)
            const propCandidates = [
              'map_image',
              'mapImage',
              'map_image_base64',
              'map_image_base64_string',
              'mapData',
              'lastMap',
              'currentMap',
              'last_map',
              'map'
            ];
            
            function ensureDir(dir) {
              if (!fs.existsSync(dir)) {
                fs.mkdirSync(dir, { recursive: true });
              }
            }
            
            (async () => {
              try {
                ensureDir(outputDir);
            
                console.log(`Verbinde mit ${ip} ...`);
                const device = await miio.device({ address: ip, token: token });
            
                // Test: einfache Prop-Abfrage, um Funktion zu prüfen
                // (Hinweis: je nach Funktion kann diese Abfrage fehlschlagen, wir verwenden fallbacks weiter unten)
                // const test = await device.call('get_prop', [['battery']]);
                // console.log('Battery:', test);
            
                let found = false;
                for (const name of propCandidates) {
                  try {
                    // Versuch, das Property zu lesen
                    const res = await device.call('get_prop', [[name]]);
                    const val = res && res[0] ? res[0] : null;
            
                    if (val && typeof val === 'string' && val.trim().length > 0) {
                      console.log(`Gefundenes Map-Property: ${name}`);
                      // Decide, ob es Base64-Bild oder JSON ist
                      const isBase64 = /^[A-Za-z0-9+/= \n\r]+$/.test(val) && val.length > 100;
                      if (isBase64) {
                        // Entferne ggf. Whitespaces/newlines
                        const base64 = val.replace(/\s+/g, '');
                        // Dateinamen
                        const t = new Date().toISOString().replace(/[:.]/g, '-');
                        const filePath = path.join(outputDir, `roborock_map_${name}_${t}.png`);
                        // Speichern als PNG (Base64 speichern)
                        fs.writeFileSync(filePath, Buffer.from(base64, 'base64'));
                        console.log(`Map (Base64) gespeichert: ${filePath}`);
                      } else {
                        // Falls JSON oder anderer String: versuch als JSON zu speichern
                        try {
                          const json = JSON.parse(val);
                          const filePath = path.join(outputDir, `roborock_map_${name}_${Date.now()}.json`);
                          fs.writeFileSync(filePath, JSON.stringify(json, null, 2));
                          console.log(`Map-Daten als JSON gespeichert: ${filePath}`);
                        } catch (e) {
                          // Fallback: reiner String
                          const filePath = path.join(outputDir, `roborock_map_${name}_${Date.now()}.txt`);
                          fs.writeFileSync(filePath, val);
                          console.log(`Map-String gespeichert: ${filePath}`);
                        }
                      }
                      found = true;
                      break;
                    } else {
                      // Kein nutzbarer Wert
                      // console.log(`Prop ${name} leer`);
                    }
                  } catch (err) {
                    // Proxy-Fehler bei diesem Prop, weiter zum nächsten
                    // console.error(`Fehler bei ${name}:`, err.message);
                  }
                }
            
                if (!found) {
                  console.log('Keine Map- oder MapData-Property gefunden. Prüfe Firmware/Token/Names.');
                }
            
              } catch (err) {
                console.error('Fehler beim Map-Abruf:', err.message);
              }
            })();
            

            Dein Token musst du finden; gibt im Netz einen token Extractor.


            Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
            Danke.
            gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
            ScreenToGif :https://www.screentogif.com/downloads.html

            haselchenH 1 Antwort Letzte Antwort
            0
            • bahnuhrB bahnuhr

              @haselchen
              Hallo, ja mihome funktioniert schon länger nicht.
              Deshalb ja der Versuch mit roborock.
              funktioniert aber auch nicht (zumindest bei mir)

              Und ja, chatgpt hab ich versucht.
              Erst wurde mihome-vacuum empfohlen; dann gesagt dass dieser nicht mehr geht; dann wurde roborock empfohlen; geht aber auch nicht; dann wurde ein Script ohne Adapter erstellt, hab ich noch nicht hinbekommen.

              Anbei Script, vielleicht findest du eine Lösung. Danke für die Info.

              
              
              // map_fetch.js
              // Node.js Skript zum Abruf der Roborock-Map (Base64) via MiIO (lokal)
              
              const miio = require('miio');
              const fs = require('fs');
              const path = require('path');
              
              const ip = '192.168.xxx.xxx';          // <-- deine Roborock-IP hier
              const token = "xxx";
              const outputDir = '/opt/iobroker/roborock_maps'; // OUTPUT_PATH hier, z.B. ein Ordner für Maps
              
              // Liste potenzieller Map-Property-Namen (je nach Firmware/Adapter-Version)
              const propCandidates = [
                'map_image',
                'mapImage',
                'map_image_base64',
                'map_image_base64_string',
                'mapData',
                'lastMap',
                'currentMap',
                'last_map',
                'map'
              ];
              
              function ensureDir(dir) {
                if (!fs.existsSync(dir)) {
                  fs.mkdirSync(dir, { recursive: true });
                }
              }
              
              (async () => {
                try {
                  ensureDir(outputDir);
              
                  console.log(`Verbinde mit ${ip} ...`);
                  const device = await miio.device({ address: ip, token: token });
              
                  // Test: einfache Prop-Abfrage, um Funktion zu prüfen
                  // (Hinweis: je nach Funktion kann diese Abfrage fehlschlagen, wir verwenden fallbacks weiter unten)
                  // const test = await device.call('get_prop', [['battery']]);
                  // console.log('Battery:', test);
              
                  let found = false;
                  for (const name of propCandidates) {
                    try {
                      // Versuch, das Property zu lesen
                      const res = await device.call('get_prop', [[name]]);
                      const val = res && res[0] ? res[0] : null;
              
                      if (val && typeof val === 'string' && val.trim().length > 0) {
                        console.log(`Gefundenes Map-Property: ${name}`);
                        // Decide, ob es Base64-Bild oder JSON ist
                        const isBase64 = /^[A-Za-z0-9+/= \n\r]+$/.test(val) && val.length > 100;
                        if (isBase64) {
                          // Entferne ggf. Whitespaces/newlines
                          const base64 = val.replace(/\s+/g, '');
                          // Dateinamen
                          const t = new Date().toISOString().replace(/[:.]/g, '-');
                          const filePath = path.join(outputDir, `roborock_map_${name}_${t}.png`);
                          // Speichern als PNG (Base64 speichern)
                          fs.writeFileSync(filePath, Buffer.from(base64, 'base64'));
                          console.log(`Map (Base64) gespeichert: ${filePath}`);
                        } else {
                          // Falls JSON oder anderer String: versuch als JSON zu speichern
                          try {
                            const json = JSON.parse(val);
                            const filePath = path.join(outputDir, `roborock_map_${name}_${Date.now()}.json`);
                            fs.writeFileSync(filePath, JSON.stringify(json, null, 2));
                            console.log(`Map-Daten als JSON gespeichert: ${filePath}`);
                          } catch (e) {
                            // Fallback: reiner String
                            const filePath = path.join(outputDir, `roborock_map_${name}_${Date.now()}.txt`);
                            fs.writeFileSync(filePath, val);
                            console.log(`Map-String gespeichert: ${filePath}`);
                          }
                        }
                        found = true;
                        break;
                      } else {
                        // Kein nutzbarer Wert
                        // console.log(`Prop ${name} leer`);
                      }
                    } catch (err) {
                      // Proxy-Fehler bei diesem Prop, weiter zum nächsten
                      // console.error(`Fehler bei ${name}:`, err.message);
                    }
                  }
              
                  if (!found) {
                    console.log('Keine Map- oder MapData-Property gefunden. Prüfe Firmware/Token/Names.');
                  }
              
                } catch (err) {
                  console.error('Fehler beim Map-Abruf:', err.message);
                }
              })();
              

              Dein Token musst du finden; gibt im Netz einen token Extractor.

              haselchenH Offline
              haselchenH Offline
              haselchen
              Most Active
              schrieb am zuletzt editiert von
              #12

              @bahnuhr

              Bin erst in 2 Wochen wieder im Lande .
              Ich packs mir mal auf die To-Do-Liste

              Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.7, Nodejs 22.22.2 ,JS Controller 7.0.7 ,Admin 7.8.24

              bahnuhrB 1 Antwort Letzte Antwort
              0
              • haselchenH haselchen

                @bahnuhr

                Bin erst in 2 Wochen wieder im Lande .
                Ich packs mir mal auf die To-Do-Liste

                bahnuhrB Online
                bahnuhrB Online
                bahnuhr
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #13

                @haselchen sagte:

                Bin erst in 2 Wochen wieder im Lande .

                Schönen Urlaub.


                Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                Danke.
                gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                ScreenToGif :https://www.screentogif.com/downloads.html

                1 Antwort Letzte Antwort
                0
                • bahnuhrB bahnuhr

                  Hallo,

                  wie holt ihr die map für eueren Staubsauger ?

                  mihome-vaccum und roboroch Adapter funktionieren ja nicht mehr diesbezüglich.

                  Gibt es die map nicht mehr; oder wie macht ihr dies ?

                  mfg
                  Dieter

                  Eduard77E Online
                  Eduard77E Online
                  Eduard77
                  schrieb am zuletzt editiert von
                  #14

                  @bahnuhr
                  Ich habe lange nach einer Lösung gesucht und auch gehofft, dass der Adapter Entwickler mit einem Update das fixt.

                  Aber vor ein paar Wochen habe ich aufgegeben und meine VIS2 umgebaut ohne Map Darstellung.

                  1 Antwort Letzte Antwort
                  0
                  • F Online
                    F Online
                    fastfoot
                    schrieb zuletzt editiert von
                    #15

                    da scheint sich jetzt etwas zu tun: https://forum.iobroker.net/post/1350541

                    iobroker läuft unter Docker auf Windows (WSL2)

                    haselchenH 1 Antwort Letzte Antwort
                    0
                    • F fastfoot

                      da scheint sich jetzt etwas zu tun: https://forum.iobroker.net/post/1350541

                      haselchenH Offline
                      haselchenH Offline
                      haselchen
                      Most Active
                      schrieb zuletzt editiert von haselchen
                      #16

                      @fastfoot

                      DAS sich etwas tut ist super.
                      Leider passen die Voraussetzungen für viele, auch für mich nicht.
                      Welche habe ich unter dem Post vom Entwickler geschrieben.

                      Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.7, Nodejs 22.22.2 ,JS Controller 7.0.7 ,Admin 7.8.24

                      1 Antwort Letzte Antwort
                      0

                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                      Registrieren Anmelden
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

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

                      305

                      Online

                      33.0k

                      Benutzer

                      83.5k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2026
                      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