Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Ecovacs Deebot Adapter: Status und Feedback

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Ecovacs Deebot Adapter: Status und Feedback

    This topic has been deleted. Only users with topic management privileges can see it.
    • mrbungle64
      mrbungle64 Developer @jm3west last edited by

      @jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:

      Nach der ganzen payload suche hätte ich aber trotz allen noch ne Frage

      Ich hätte erst mal noch eine Bitte 😉

      Führe in dem Ordner "ecovacs-deebot.js" bitte mal folgenden Befehl aus:

      git pull
      

      Danach editiere mal die Datei "example/app2.js" und ersetze den Block:

              setInterval(() => {
                  vacbot.run('GetSleepStatus');
                  ...
                  ...
                  ...
              }, 60000);
      

      ersetze mal mit folgendem:

              setTimeout(() => {
                  vacbot.run('GetSweepMode');
                  vacbot.run('GetBorderSpin');
              }, 12000);
      

      Anschließend starte dann noch mal die app2.js

      NODE_ENV=dev node ./app2.js
      
      J 1 Reply Last reply Reply Quote 0
      • J
        jm3west @mrbungle64 last edited by

        @mrbungle64 sagte in Ecovacs Deebot Adapter: Status und Feedback:

        setTimeout(() => { vacbot.run('GetSweepMode'); vacbot.run('GetBorderSpin'); }, 12000);

        Fertig. Und jetzt?

        mrbungle64 1 Reply Last reply Reply Quote 0
        • mrbungle64
          mrbungle64 Developer @jm3west last edited by mrbungle64

          @jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:

          @mrbungle64 sagte in Ecovacs Deebot Adapter: Status und Feedback:

          setTimeout(() => { vacbot.run('GetSweepMode'); vacbot.run('GetBorderSpin'); }, 12000);

          Fertig. Und jetzt?

          Hast du es schon ausgeführt?

          Bei mir schaut das dann folgendermaßen aus (weil der Bot die Befehle nicht versteht):

           success  got response for 'getSweepMode' with id '86385460':
           warn  errorCode: 500
           warn  errorDescription: Request Timeout
           event  Error Request Timeout (command 'getSweepMode')
           event  ErrorCode 500
           event  LastError
          { error: "Request Timeout (command 'getSweepMode')", code: '500' }
           info  [EcovacsMQTT] failure code 500 (undefined) sending command 'getSweepMode'
           error  error sending command: Failure code 500 (undefined)
          

          Bei dir sollten statt Fehlermeldungen eine Ausgabe zu "getSweepMode" und "getBorderSpin" mit "result" am Anfang kommen

          J 1 Reply Last reply Reply Quote 0
          • J
            jm3west @mrbungle64 last edited by

            @mrbungle64 sagte in Ecovacs Deebot Adapter: Status und Feedback:

            Bei dir sollten statt Fehlermeldungen eine Ausgabe zu "getSweepMode" und "getBorderSpin" mit "result" am Anfang kommen

            Es tut mir Leid, aber ich kann nichts finden!
            Habe in eine Datei schreiben lassen dort gesucht. Nichts
            Hab direkt am Terminal gesxchaur. Nix

            1 Reply Last reply Reply Quote 0
            • J
              jm3west last edited by

              Mit erstzen meintest Du ....

              //setInterval(() => {
                      //    vacbot.run('GetSleepStatus');
                      //    if (vacbot.hasMoppingSystem()) {
                      //        vacbot.run('GetWaterLevel');
                      //    }
                      //    if (vacbot.hasVacuumPowerAdjustment()) {
                      //        vacbot.run('GetCleanSpeed');
                      //    }
                      //    if (vacbot.is950type()) {
                      //        vacbot.run('GetVolume');
                      //        vacbot.run('GetAdvancedMode');
                      //    }
                      //}, 60000);
              
                      setTimeout(() => {
                          vacbot.run('GetSweepMode');
                          vacbot.run('GetBorderSpin');
                      }, 12000);
              
              mrbungle64 1 Reply Last reply Reply Quote 0
              • mrbungle64
                mrbungle64 Developer @jm3west last edited by

                @jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:

                Mit erstzen meintest Du ....

                //setInterval(() => {
                        //    vacbot.run('GetSleepStatus');
                        //    if (vacbot.hasMoppingSystem()) {
                        //        vacbot.run('GetWaterLevel');
                        //    }
                        //    if (vacbot.hasVacuumPowerAdjustment()) {
                        //        vacbot.run('GetCleanSpeed');
                        //    }
                        //    if (vacbot.is950type()) {
                        //        vacbot.run('GetVolume');
                        //        vacbot.run('GetAdvancedMode');
                        //    }
                        //}, 60000);
                
                        setTimeout(() => {
                            vacbot.run('GetSweepMode');
                            vacbot.run('GetBorderSpin');
                        }, 12000);
                

                Ja genau.

                Hast du vorher auch wirklich "git pull" ausgeführt?

                J 1 Reply Last reply Reply Quote 0
                • J
                  jm3west @mrbungle64 last edited by

                  @mrbungle64 sagte in Ecovacs Deebot Adapter: Status und Feedback:

                  Hast du vorher auch wirklich "git pull" ausgeführt?

                  Ich schwöre bei meinem Leben

                  mrbungle64 1 Reply Last reply Reply Quote 0
                  • mrbungle64
                    mrbungle64 Developer @jm3west last edited by

                    @jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:

                    @mrbungle64 sagte in Ecovacs Deebot Adapter: Status und Feedback:

                    Hast du vorher auch wirklich "git pull" ausgeführt?

                    Ich schwöre bei meinem Leben

                    Soweit musst ja nicht gehen 😉

                    Aber wenn in der Ausgabe rein gar nix zu "getSweepMode" und "getBorderSpin" zu finden ist, dann deutet das daraufhin, dass der Code nicht auf dem aktuellen Stand ist.

                    Bitte führe im "ecovacs-deebot.js" Verzeichnis mal folgendes aus:

                    cat library/950type/vacBot.js | grep GetSweepMode
                    
                    J 1 Reply Last reply Reply Quote 0
                    • J
                      jm3west @mrbungle64 last edited by

                      @mrbungle64 sagte in Ecovacs Deebot Adapter: Status und Feedback:

                      cat library/950type/vacBot.js | grep GetSweepMode

                      Result = nada, nix, nothing

                      mrbungle64 1 Reply Last reply Reply Quote 0
                      • mrbungle64
                        mrbungle64 Developer @jm3west last edited by

                        @jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:

                        @mrbungle64 sagte in Ecovacs Deebot Adapter: Status und Feedback:

                        cat library/950type/vacBot.js | grep GetSweepMode

                        Result = nada, nix, nothing

                        Dann für in dem Verzeichnis bitte noch mal "git pull" aus und poste die Ausgabe.

                        1 Reply Last reply Reply Quote 0
                        • J
                          jm3west last edited by

                          root@iob4044:~/ecovacs-deebot.js# git pull
                          Hinweis: Es wird davon abgeraten zu Pullen, ohne anzugeben, wie mit abweichenden
                          Hinweis: Branches umgegangen werden soll. Sie können diese Nachricht unterdrücken,
                          Hinweis: indem Sie einen der folgenden Befehle ausführen, bevor der nächste Pull
                          Hinweis: ausgeführt wird:
                          Hinweis:
                          Hinweis:   git config pull.rebase false  # Merge (Standard-Strategie)
                          Hinweis:   git config pull.rebase true   # Rebase
                          Hinweis:   git config pull.ff only       # ausschließlich Vorspulen
                          Hinweis:
                          Hinweis: Sie können statt "git config" auch "git config --global" nutzen, um
                          Hinweis: einen Standard für alle Repositories festzulegen. Sie können auch die
                          Hinweis: Option --rebase, --no-rebase oder --ff-only auf der Kommandozeile nutzen,
                          Hinweis: um das konfigurierte Standardverhalten pro Aufruf zu überschreiben.
                          Aktualisiere 4580fd5..ca93960
                          error: Ihre lokalen Änderungen in den folgenden Dateien würden durch den Merge
                          überschrieben werden:
                          	package-lock.json
                          Bitte committen oder stashen Sie Ihre Änderungen, bevor Sie mergen.
                          Abbruch
                          
                          mrbungle64 1 Reply Last reply Reply Quote 0
                          • mrbungle64
                            mrbungle64 Developer @jm3west last edited by

                            @jm3west

                            Lösche am besten mal das "ecovacs-deebot.js" Verzeichnis ...
                            Dann melde dich als normaler User an (nicht root!)
                            und führe noch mal folgendes aus:

                            git clone https://github.com/mrbungle64/ecovacs-deebot.js.git
                            cd ecovacs-deebot.js
                            npm install
                            

                            Und dann wieder den Code in der "app2.js" ersetzen und diese wieder ausführen

                            1 Reply Last reply Reply Quote 0
                            • J
                              jm3west last edited by

                              @jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:

                              setInterval(

                              Das war die Ausgabe bei git pull als user

                              Hinweis: Es wird davon abgeraten zu Pullen, ohne anzugeben, wie mit abweichenden
                              Hinweis: Branches umgegangen werden soll. Sie können diese Nachricht unterdrücken,
                              Hinweis: indem Sie einen der folgenden Befehle ausführen, bevor der nächste Pull
                              Hinweis: ausgeführt wird:
                              Hinweis:
                              Hinweis:   git config pull.rebase false  # Merge (Standard-Strategie)
                              Hinweis:   git config pull.rebase true   # Rebase
                              Hinweis:   git config pull.ff only       # ausschließlich Vorspulen
                              Hinweis:
                              Hinweis: Sie können statt "git config" auch "git config --global" nutzen, um
                              Hinweis: einen Standard für alle Repositories festzulegen. Sie können auch die
                              Hinweis: Option --rebase, --no-rebase oder --ff-only auf der Kommandozeile nutzen,
                              Hinweis: um das konfigurierte Standardverhalten pro Aufruf zu überschreiben.
                              Bereits aktuell.
                              
                              mrbungle64 1 Reply Last reply Reply Quote 0
                              • mrbungle64
                                mrbungle64 Developer @jm3west last edited by

                                @jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:

                                @jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:

                                setInterval(

                                Das war die Ausgabe bei git pull als user

                                Sorry, aber wenn du was anderes machst als ich dir gesagt habe, dann müssen wir an der Stelle abbrechen...
                                Irgendwas hängt da inzwischen schief - daher hatte ich vorgeschlagen das Verzeichnis zu löschen und dir eine neue Kopie der aktuellen Quellen zu ziehen.

                                J 1 Reply Last reply Reply Quote 0
                                • J
                                  jm3west last edited by

                                  Boar, mir ist gerade etwas im Script app2.js aufgefallen.
                                  Da gibt es schon

                                  setTimeout(()

                                  Das stand über dem Cursor im nicht sichtbaren Bereich

                                  setTimeout(() => {
                                              vacbot.run('GetCleanState');
                                              vacbot.run('GetChargeState');
                                              vacbot.run('GetBatteryState');
                                  
                                              vacbot.run('GetLifeSpan');
                                              vacbot.run('GetCleanLogs');
                                  
                                              if (vacbot.hasMappingCapabilities()) {
                                                  vacbot.run('GetChargerPos');
                                                  vacbot.run('GetPosition');
                                                  const createMapDataObject = true; // default = false
                                                  const createMapImage = false; // default = createMapDataObject && vacbot.isMapImageSupported();
                                                  vacbot.run('GetMaps', createMapDataObject, createMapImage);
                                              }
                                          }, 6000);
                                  

                                  und ich habe ja jetzt noch unterhalb von dem auskommentierten Bereich Deine

                                  setTimeout(() => {
                                              vacbot.run('GetSweepMode');
                                              vacbot.run('GetBorderSpin');
                                          }, 12000);
                                  

                                  hinzugefügt.
                                  Also stehen zwei Funktionen setTimeout() im Skript

                                  mrbungle64 1 Reply Last reply Reply Quote 0
                                  • mrbungle64
                                    mrbungle64 Developer @jm3west last edited by mrbungle64

                                    @jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:

                                    Also stehen zwei Funktionen setTimeout() im Skript

                                    Das ist kein Problem.

                                    Der erste Block wird nach 6 Sekunden (= 6000ms) ausgeführt.
                                    Der zweite (neue) nach 12 Sekunden (= 12000ms)

                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      jm3west @mrbungle64 last edited by

                                      @mrbungle64 sagte in Ecovacs Deebot Adapter: Status und Feedback:

                                      @jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:

                                      @jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:

                                      setInterval(

                                      Das war die Ausgabe bei git pull als user

                                      Sorry, aber wenn du was anderes machst als ich dir gesagt habe, dann müssen wir an der Stelle abbrechen...
                                      Irgendwas hängt da inzwischen schief - daher hatte ich vorgeschlagen das Verzeichnis zu löschen und dir eine neue Kopie der aktuellen Quellen zu ziehen.

                                      Ich habe zwar nix anderes gemacht als Du sagtest ...
                                      Als root das Verzeichnis ecovacs-deebot.js gelöscht und als normaler user das eingegeben ...

                                      git clone https://github.com/mrbungle64/ecovacs-deebot.js.git
                                      cd ecovacs-deebot.js
                                      npm install
                                      

                                      Das Script geändert und fertig. Dann fiel mir das ebengeschrieben auf. Das war's

                                      mrbungle64 1 Reply Last reply Reply Quote 0
                                      • J
                                        jm3west last edited by

                                        joerg@iob4044:~/ecovacs-deebot.js$ cat library/950type/vacBot.js | grep GetSweepMode
                                                    case 'GetSweepMode'.toLowerCase():
                                                        this.sendCommand(new VacBotCommand.GetSweepMode());
                                        
                                        mrbungle64 1 Reply Last reply Reply Quote 0
                                        • mrbungle64
                                          mrbungle64 Developer @jm3west last edited by

                                          @jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:

                                          @mrbungle64 sagte in Ecovacs Deebot Adapter: Status und Feedback:

                                          @jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:

                                          @jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:

                                          setInterval(

                                          Das war die Ausgabe bei git pull als user

                                          Sorry, aber wenn du was anderes machst als ich dir gesagt habe, dann müssen wir an der Stelle abbrechen...
                                          Irgendwas hängt da inzwischen schief - daher hatte ich vorgeschlagen das Verzeichnis zu löschen und dir eine neue Kopie der aktuellen Quellen zu ziehen.

                                          Ich habe zwar nix anderes gemacht als Du sagtest ...
                                          Als root das Verzeichnis ecovacs-deebot.js gelöscht und als normaler user das eingegeben ...

                                          git clone https://github.com/mrbungle64/ecovacs-deebot.js.git
                                          cd ecovacs-deebot.js
                                          npm install
                                          

                                          Das Script geändert und fertig. Dann fiel mir das ebengeschrieben auf. Das war's

                                          Na ja, geschrieben hast du mir folgendes:

                                          "Das war die Ausgabe bei git pull als user"

                                          Woher soll ich dann wissen, dass du das ebenfalls ausgeführt hast?

                                          Egal, und was kommt jetzt für eine Ausgabe in Bezug auf "getSweepMode" und "getBorderSpin"?

                                          1 Reply Last reply Reply Quote 0
                                          • mrbungle64
                                            mrbungle64 Developer @jm3west last edited by

                                            @jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:

                                            joerg@iob4044:~/ecovacs-deebot.js$ cat library/950type/vacBot.js | grep GetSweepMode
                                                        case 'GetSweepMode'.toLowerCase():
                                                            this.sendCommand(new VacBotCommand.GetSweepMode());
                                            

                                            Ja, genau so soll das aussehen. Also sollte nun auch was zu "getSweepMode" und "getBorderSpin" kommen, wenn du die app2.js wieder startest

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            871
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            deebot ecovacs ecovacs-deebot ecovacs-deebot adapter saugroboter vacuum
                                            36
                                            576
                                            92964
                                            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