Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. IRobot Roomba Adapter

NEWS

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

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

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

IRobot Roomba Adapter

Scheduled Pinned Locked Moved ioBroker Allgemein
851 Posts 101 Posters 313.3k Views 65 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • iomountainI iomountain

    Bei einem Reload der Seite sieht es für ca. 2 Sekunden so aus:
    ef4f7760-ade9-4b7d-bc0a-f1caf99d814b-image.png
    Dann klappt alles unter Command zusammen und man sieht nur noch Start:
    e097ba32-35ce-4377-8ed8-232bae874cdf-image.png
    Bei einem Reload zeigt er dann je nach Status ? auch noch Stop und Pause an, klappt aber innerhalb einer Sekunde zusammen und es steht wieder nur noch Start da.
    Wenn ich auf Start gehe fährt er los, wenn ich wieder auf Start gehe bleibt er stehen.
    Denke dein Plan war unter Commands nur anzuzeigen was auch Sinn macht?

    ZefauZ Offline
    ZefauZ Offline
    Zefau
    wrote on last edited by
    #184

    @iomountain Ja richtig. Abhängig vom Status zeigt er nur die Buttons an, die Sinn ergeben. Wobei es sicher besser ist, die einfach auszugrauen. Die Frage ist, passen die Buttons zum Status? Der manuelle Reload sollte nicht nötig sein. Die Buttons sollten je nach Status automatisch verschwinden oder erscheinen.

    Meine Adapter: https://zefau.github.io/iobroker/

    1 Reply Last reply
    0
    • iomountainI Offline
      iomountainI Offline
      iomountain
      wrote on last edited by
      #185

      @Zefau Ja, die Buttons passen zu den Stati soweit ich das erkennen kann.
      Manuelles Reload ist nicht nötig, aber wenn man es macht ist man erst verwirrt da er viele Buttons anbietet und dann wieder zusammenklappt,/ausblendet.
      Ausgrauen oder ausblenden? Es funktioniert, mehr brauche ich nicht.
      Danke

      1 Reply Last reply
      0
      • ZefauZ Offline
        ZefauZ Offline
        Zefau
        wrote on last edited by
        #186

        Ja, super. Hab die Buttons jetzt trotzdem mal ausgegraut. Kannst gerne nochmal von Github drüber installieren, wenn du magst.

        Meine Adapter: https://zefau.github.io/iobroker/

        1 Reply Last reply
        0
        • iomountainI Offline
          iomountainI Offline
          iomountain
          wrote on last edited by
          #187

          @Zefau sagte in IRobot Roomba Adapter:

          Hab die Buttons jetzt trotzdem mal ausgegraut.

          @Zefau Ja, gefällt mir sogar besser
          c0d69fa2-aab7-4888-a660-cb83bfd105fa-image.png

          1 Reply Last reply
          0
          • B Offline
            B Offline
            baluderbär
            wrote on last edited by
            #188

            Hallo Zefau,
            cooler Adapter. Hab leider ein Problem mit der Karte und dem Skript.

            1. Karte: Wenn ich die Roomba-Adapter-Website öffne erscheint folgendes:
              1.JPG. Wie du siehst fehlen hier einige Informationen. Beim Klicken auf "download map" erscheint folgendes:
              2.JPG

            Wenn ich in VIS die Karte (roomba.0.missions.current.mapImage) einbinde funktioniert es:
            3.JPG

            1. Skript:
              Habe das Skript bei mir eingebunden, jedoch wird auch hier keine Karte an Telegram verschickt.
            var _fs = require('fs');
            
            /*
             * MISSION END: Send map
             * 
             */
            var ns = 'roomba.0';
            var message = "%device.name% finished at %missions.current.endedDateTime% cleaning %missions.current.sqm% sqm in %missions.current.runtime% seconds (%missions.current.error% errors).";
            
            on({id: ns + '.missions.current.ended', change: 'any'}, function(obj)
            {
                if (!obj.val) return;
            
                // replace variables with state values
                var pos, variable, state, value;
                while (message.indexOf('%') > -1)
                {
                    pos = message.indexOf('%');
                    variable = message.substring(pos, message.indexOf('%', pos+1)+1);
                    state = getState(ns + '.' + variable.replace(/%/g, ''));
            
                    if (state !== null && state.val !== null)
                        value = state.val
                    else
                    {
                        log('State ' + variable.replace(/%/g, '') + ' not found!', 'warn');
                        value =  '';
                    }
            
                    if (typeof value === "boolean") value = value === true ? 'with' : 'no';
                    message = message.replace(RegExp(variable, 'gi'), value);
                }
            
                // console
                log(message);
            
                // get image
                var img = getState('roomba.0.missions.current.mapImage').val;
            
                if (img !== null && img.indexOf('data:image/png;base64,') > -1)
                {
                    _fs.writeFile('/tmp/image.png', img.replace(/^data:image\/png;base64,/, ''), 'base64', function(err)
                    {
                        if (err !== null)
                            log(err.message, 'warn');
                        else
                            sendTo('telegram', {text: '/tmp/image.png', message: message});
                    });
                }
            });
            

            Hast du eine Idee was ich falsch machen könnte?

            Grüße Balu

            ioBroker auf VM Proxmox (Intel NUC-Kit i3-7100U 2.4GHz HD620 NUC7I3BNH)

            A 1 Reply Last reply
            0
            • ZefauZ Offline
              ZefauZ Offline
              Zefau
              wrote on last edited by
              #189

              zu 1.: Ist dein Web-Adapter bzgl. SocketIO auf "integrated" konfiguriert? Welchen Browser nutzt du? Könntest du in der Browser-Konsole mal gucken, ob ein Fehler geworfen wurde? Für Firefox im Menü auf Web Developer gehen und dort Web Console.

              zu 2.: Im Skript ist ein Fehler, den ich gestern behoben habe. Aktuelle Version findest du unter https://github.com/Zefau/ioBroker.roomba#send-map-via-telegram-when-mission-is-finished.

              Meine Adapter: https://zefau.github.io/iobroker/

              1 Reply Last reply
              0
              • B Offline
                B Offline
                baluderbär
                wrote on last edited by
                #190
                1. web.0 stand auf Socket I/O. Hab es nun auf integriert geändert und alles i.O.
                2. werde ich mal testen
                  :+1:

                ioBroker auf VM Proxmox (Intel NUC-Kit i3-7100U 2.4GHz HD620 NUC7I3BNH)

                1 Reply Last reply
                0
                • B Offline
                  B Offline
                  baluderbär
                  wrote on last edited by
                  #191

                  @Zefau: hab das neuste Skript kopiert. Muss ich am Skript generell etwas anpassen? Bekomme keine Nachricht per Telegram.

                  ioBroker auf VM Proxmox (Intel NUC-Kit i3-7100U 2.4GHz HD620 NUC7I3BNH)

                  ZefauZ 1 Reply Last reply
                  0
                  • B baluderbär

                    @Zefau: hab das neuste Skript kopiert. Muss ich am Skript generell etwas anpassen? Bekomme keine Nachricht per Telegram.

                    ZefauZ Offline
                    ZefauZ Offline
                    Zefau
                    wrote on last edited by
                    #192

                    @baluderbär kommt auf deine Umgebung an, aber eigl. nicht.

                    Die Roomba Objekte sind unter roomba.0? Also der Datenpunkt roomba.0.missions.current.mapImage existiert? Telegram ist im ioBroker installiert und konfiguriert?
                    Hast du Fehler im Log?

                    Zum Verständnis: Du erhältst eine Nachricht, wenn der Roomba fertig gesaugt und die Mission beendet hat (also der Datenpunkt roomba.0..missions.current.ended beschrieben wird).

                    Meine Adapter: https://zefau.github.io/iobroker/

                    1 Reply Last reply
                    0
                    • B Offline
                      B Offline
                      baluderbär
                      wrote on last edited by baluderbär
                      #193

                      @Zefau :
                      Roomba-Objekte sind unter roomba.0 vorhanden.
                      1.JPG
                      Telegram ist installiert und soweit konfiguriert (Api-Key eingetragen). Im Log finde ich keine Fehler.
                      Datenpunkt roomba.0..missions.current.ended wird beschrieben, siehe Bild oben.

                      Info: Habe den Roomba 980.

                      Der Rest funktioniert:

                      2.JPG

                      Tippe mal auf Telegram, wenn es bei anderen funktioniert. So ok?
                      3.JPG

                      Gruß Balu

                      ioBroker auf VM Proxmox (Intel NUC-Kit i3-7100U 2.4GHz HD620 NUC7I3BNH)

                      1 Reply Last reply
                      0
                      • ZefauZ Offline
                        ZefauZ Offline
                        Zefau
                        wrote on last edited by
                        #194

                        Füg mal vor if (!obj.state || !obj.state.val) return; noch ein Logging ein log(JSON.stringify(obj)) und schick mir das Log mal per PM, wenn dein Roomba seine Mission durch hat.

                        Meine Adapter: https://zefau.github.io/iobroker/

                        1 Reply Last reply
                        0
                        • B Offline
                          B Offline
                          baluderbär
                          wrote on last edited by baluderbär
                          #195

                          @Zefau: Du hast eine PN
                          Hab auf dem Rechner einfach mal den Ordner C:\tmp erstellt, leider ohne Erfolg.

                          ioBroker auf VM Proxmox (Intel NUC-Kit i3-7100U 2.4GHz HD620 NUC7I3BNH)

                          ZefauZ 1 Reply Last reply
                          0
                          • B baluderbär

                            @Zefau: Du hast eine PN
                            Hab auf dem Rechner einfach mal den Ordner C:\tmp erstellt, leider ohne Erfolg.

                            ZefauZ Offline
                            ZefauZ Offline
                            Zefau
                            wrote on last edited by
                            #196

                            @baluderbär Jo, liegt sehr eindeutig daran. Ich habe ioBroker auf einem Linux laufen, da funktioniert es. Auf dem Windows geht es offensichtlich nicht.

                            Ersetze _fs.writeFile('/tmp/image.png', ... mal mit _fs.writeFile('tmp/image.png', ... (also Pfad anpassen). Funktioniert es dann?

                            Meine Adapter: https://zefau.github.io/iobroker/

                            1 Reply Last reply
                            0
                            • B Offline
                              B Offline
                              baluderbär
                              wrote on last edited by baluderbär
                              #197

                              @Zefau muss ich es auch hier anpassen?

                              ALT

                              sendTo('telegram', {text: '/tmp/image.png', message: message})
                              

                              NEU

                              sendTo('telegram', {text: 'tmp/image.png', message: message})
                              

                              ioBroker auf VM Proxmox (Intel NUC-Kit i3-7100U 2.4GHz HD620 NUC7I3BNH)

                              ZefauZ 1 Reply Last reply
                              0
                              • B baluderbär

                                @Zefau muss ich es auch hier anpassen?

                                ALT

                                sendTo('telegram', {text: '/tmp/image.png', message: message})
                                

                                NEU

                                sendTo('telegram', {text: 'tmp/image.png', message: message})
                                
                                ZefauZ Offline
                                ZefauZ Offline
                                Zefau
                                wrote on last edited by
                                #198

                                @baluderbär jo, genau

                                Meine Adapter: https://zefau.github.io/iobroker/

                                ZefauZ 1 Reply Last reply
                                0
                                • ZefauZ Zefau

                                  @baluderbär jo, genau

                                  ZefauZ Offline
                                  ZefauZ Offline
                                  Zefau
                                  wrote on last edited by
                                  #199

                                  @baluderbär Funktioniert's bei dir nun? Habe das Skript auf Github schon mal angepasst.

                                  Meine Adapter: https://zefau.github.io/iobroker/

                                  1 Reply Last reply
                                  0
                                  • B baluderbär

                                    Hallo Zefau,
                                    cooler Adapter. Hab leider ein Problem mit der Karte und dem Skript.

                                    1. Karte: Wenn ich die Roomba-Adapter-Website öffne erscheint folgendes:
                                      1.JPG. Wie du siehst fehlen hier einige Informationen. Beim Klicken auf "download map" erscheint folgendes:
                                      2.JPG

                                    Wenn ich in VIS die Karte (roomba.0.missions.current.mapImage) einbinde funktioniert es:
                                    3.JPG

                                    1. Skript:
                                      Habe das Skript bei mir eingebunden, jedoch wird auch hier keine Karte an Telegram verschickt.
                                    var _fs = require('fs');
                                    
                                    /*
                                     * MISSION END: Send map
                                     * 
                                     */
                                    var ns = 'roomba.0';
                                    var message = "%device.name% finished at %missions.current.endedDateTime% cleaning %missions.current.sqm% sqm in %missions.current.runtime% seconds (%missions.current.error% errors).";
                                    
                                    on({id: ns + '.missions.current.ended', change: 'any'}, function(obj)
                                    {
                                        if (!obj.val) return;
                                    
                                        // replace variables with state values
                                        var pos, variable, state, value;
                                        while (message.indexOf('%') > -1)
                                        {
                                            pos = message.indexOf('%');
                                            variable = message.substring(pos, message.indexOf('%', pos+1)+1);
                                            state = getState(ns + '.' + variable.replace(/%/g, ''));
                                    
                                            if (state !== null && state.val !== null)
                                                value = state.val
                                            else
                                            {
                                                log('State ' + variable.replace(/%/g, '') + ' not found!', 'warn');
                                                value =  '';
                                            }
                                    
                                            if (typeof value === "boolean") value = value === true ? 'with' : 'no';
                                            message = message.replace(RegExp(variable, 'gi'), value);
                                        }
                                    
                                        // console
                                        log(message);
                                    
                                        // get image
                                        var img = getState('roomba.0.missions.current.mapImage').val;
                                    
                                        if (img !== null && img.indexOf('data:image/png;base64,') > -1)
                                        {
                                            _fs.writeFile('/tmp/image.png', img.replace(/^data:image\/png;base64,/, ''), 'base64', function(err)
                                            {
                                                if (err !== null)
                                                    log(err.message, 'warn');
                                                else
                                                    sendTo('telegram', {text: '/tmp/image.png', message: message});
                                            });
                                        }
                                    });
                                    

                                    Hast du eine Idee was ich falsch machen könnte?

                                    Grüße Balu

                                    A Offline
                                    A Offline
                                    adlerauge1980
                                    wrote on last edited by
                                    #200

                                    @baluderbär Hallo Baluderbär, kannst du mir einen Tipp geben wie du die Karte in die Vis eingebunden hast? mit welchem Widget / Okjekt ID? Ich bin das gerade am versuchen und bekomme das leider nicht hin.

                                    Ps. in den Objekten habe ich werte und es zeigt mir auch eine HTML Kartenvorschau an.
                                    Danke für deine / eure Tipps!

                                    A 1 Reply Last reply
                                    0
                                    • A adlerauge1980

                                      @baluderbär Hallo Baluderbär, kannst du mir einen Tipp geben wie du die Karte in die Vis eingebunden hast? mit welchem Widget / Okjekt ID? Ich bin das gerade am versuchen und bekomme das leider nicht hin.

                                      Ps. in den Objekten habe ich werte und es zeigt mir auch eine HTML Kartenvorschau an.
                                      Danke für deine / eure Tipps!

                                      A Offline
                                      A Offline
                                      adlerauge1980
                                      wrote on last edited by
                                      #201

                                      @adlerauge1980

                                      Hab doch gerade eine Variante gefunden wie ich das hinbekomme, für den nächsten der das auch Sucht:
                                      Widget Basic / String img src und dort die Objekt ID: roomba.0.missions.current.mapImage auswählen.

                                      1 Reply Last reply
                                      0
                                      • R Offline
                                        R Offline
                                        rascal
                                        wrote on last edited by
                                        #202

                                        Cooler Adapter, danke dafür.

                                        Eine Frage: welche Werte kann States/status annehmen
                                        "run"," hmUsrDock", "charge"

                                        was noch?

                                        1 Reply Last reply
                                        0
                                        • R Offline
                                          R Offline
                                          rascal
                                          wrote on last edited by
                                          #203

                                          Kann vielleicht noch jemand brauchen:

                                          docked.jpg binrelease.jpg images.jpg images (1).jpg run.jpg error.jpg

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

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

                                          678

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe