Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. IRobot Roomba Adapter

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    IRobot Roomba Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • iomountain
      iomountain last edited by

      web.0 installiert, jetzt geht alles.
      Beim Download der Map kommt natürlich
      b1d50d42-0fd3-45c7-a9de-3e98d714f169-image.png
      das passt so.
      Ansonsten schließe ich mich @akwak an:
      Wenn auf der Index Seite mal ein paar Buttons kommen, um den Sauger zu starten, zu Stoppen und nach Hause zu schicken wäre schick.
      Dan würde ich den web Adapter sogar lassen, ansonsten bräuchte ich web.0 nicht.
      Schöne Ostern und Gruß.

      Zefau 1 Reply Last reply Reply Quote 0
      • Zefau
        Zefau @iomountain last edited by

        @akwak @iomountain In der v0.5.0 sind nun die Buttons implementiert. Könnt ihr bitte testen, ob diese korrekt funktionieren?

        iobroker url https://github.com/Zefau/ioBroker.roomba
        iobroker upload roomba
        
        1 Reply Last reply Reply Quote 1
        • Zefau
          Zefau @eierfeile last edited by

          @eierfeile In der v0.5.0 sollte das nun behoben sein. Könntest du das kurz testen und verifizieren?

          iobroker url https://github.com/Zefau/ioBroker.roomba
          iobroker upload roomba
          
          1 Reply Last reply Reply Quote 0
          • iomountain
            iomountain last edited by

            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?

            Zefau 1 Reply Last reply Reply Quote 0
            • Zefau
              Zefau @iomountain last edited by

              @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.

              1 Reply Last reply Reply Quote 0
              • iomountain
                iomountain last edited by

                @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 Reply Quote 0
                • Zefau
                  Zefau last edited by

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

                  1 Reply Last reply Reply Quote 0
                  • iomountain
                    iomountain last edited by

                    @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 Reply Quote 0
                    • B
                      baluderbär last edited by

                      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 1 Reply Last reply Reply Quote 0
                      • Zefau
                        Zefau last edited by

                        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.

                        1 Reply Last reply Reply Quote 0
                        • B
                          baluderbär last edited by

                          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 Reply Last reply Reply Quote 0
                          • B
                            baluderbär last edited by

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

                            Zefau 1 Reply Last reply Reply Quote 0
                            • Zefau
                              Zefau @baluderbär last edited by

                              @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).

                              1 Reply Last reply Reply Quote 0
                              • B
                                baluderbär last edited by baluderbär

                                @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

                                1 Reply Last reply Reply Quote 0
                                • Zefau
                                  Zefau last edited by

                                  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.

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    baluderbär last edited by baluderbär

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

                                    Zefau 1 Reply Last reply Reply Quote 0
                                    • Zefau
                                      Zefau @baluderbär last edited by

                                      @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?

                                      1 Reply Last reply Reply Quote 0
                                      • B
                                        baluderbär last edited by 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})
                                        
                                        Zefau 1 Reply Last reply Reply Quote 0
                                        • Zefau
                                          Zefau @baluderbär last edited by

                                          @baluderbär jo, genau

                                          Zefau 1 Reply Last reply Reply Quote 0
                                          • Zefau
                                            Zefau @Zefau last edited by

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

                                            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

                                            627
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            100
                                            829
                                            180837
                                            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