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

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Ecovacs Deebot Adapter: Status und Feedback

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

      @mrbungle64

      Versuche schon seit gestern 2 Scripte zuschreiben, eines was ein JSON erstellt wenn der deebot zum "Wartungspunkt" fährt (das funktioniert jetzt) und ein das ein JSON für "normale" Reinigung. Problem ist das ich daten von "lastCleaning" dafür brauche die auch unter current.clean stehen. Bekomme es einfach nicht hin das wenn sich die Daten von lastCleaning ändern nach dem der Status von ecovacs-deebot.0.status.device auf "charging" steht zuerfassen.....

      Vieleicht kann ja sonst jemand helfen

      var idTable = '0_userdata.0.JSON.Deebot';
      var idRaum = 'ecovacs-deebot.0.map.lastCleanedSpotArea.spotAreaName';
      var idFlaeche = 'ecovacs-deebot.0.cleaninglog.lastSquareMeters';
      var idDauer = 'ecovacs-deebot.0.cleaninglog.lastTotalTimeString';
      var idAktiv = 'ecovacs-deebot.0.status.device';
      var idWartungsplatz = '0_userdata.0.Deebot.Wartungsplatz';
      var idWartungsplatzEIN = '0_userdata.0.Deebot.WartungsplatzEIN';
      var idCleaningTimestamp = 'ecovacs-deebot.0.cleaninglog.lastCleaningTimestamp';
      
      var table = [];
      if (getState(idTable).val) table = JSON.parse(getState(idTable).val);
      var obj = {};
      var startDate = new Date();
      var lastExecutionTime = 0;
      var isCleaning = false;
      setState(idWartungsplatzEIN, false, true); // WartungsplatzEIN auf true setzen
      
      on(idAktiv, function (dp) {
        if (getState(idWartungsplatz).val === false && dp.state.val === 'cleaning') {
          obj = {};
          obj.Datum = formatDate(new Date(), 'YYYY-MM-DD ');
          obj.Start = formatDate(new Date(), 'hh:mm');
          startDate = new Date();
          isCleaning = true;
          setState(idWartungsplatzEIN, false, true); // WartungsplatzEIN auf true setzen
          lastExecutionTime = dp.state.ts;
        } else if (getState(idWartungsplatzEIN).val === false && dp.state.val === 'charging' && hasStateChanged(idCleaningTimestamp)) {
          obj.Ende = formatDate(new Date(), 'hh:mm');
          obj.Flaeche = getState(idFlaeche).val;
          obj.Raum = getState(idRaum).val;
          obj.Dauer = getState(idDauer).val;
          obj.Dauergesamt = formatDuration(Math.floor((new Date() - startDate) / 1000));
          table.unshift(obj);
          if (table.length > 100) {
            table.pop();
          }
          setState(idTable, JSON.stringify(table), true);
          lastExecutionTime = dp.state.ts;
          isCleaning = false;
        }
      });
      function hasStateChanged(id) {
        const state = getState(id);
        if(!state) return false; // Die State-Variable existiert nicht
        if(state.ts <= lastExecutionTime || state.val === null) return false; // Der State hat sich seit dem letzten Ausführen des Scripts nicht geändert oder hat keinen Wert
        return true;
      }
      
      function formatDuration(seconds) {
        var minutes = Math.floor(seconds / 60);
        var remainingSeconds = seconds % 60;
        return pad(minutes, 2) + ':' + pad(remainingSeconds, 2);
      }
      
      function pad(number, length) {
        var str = '' + number;
        while (str.length < length) {
          str = '0' + str;
        }
        return str;
      }
      
      
      //on({id: idWartungsplatz, change: "ne"}, function(obj) {
        //if (obj.state.val) {
          // Deebot ist am Wartungsplatz
         // isCleaning = false;
        //}
      //});
      
      
      1 Reply Last reply Reply Quote 0
      • mrbungle64
        mrbungle64 Developer last edited by mrbungle64

        @chris76e

        Ich verstehe leider noch nicht so ganz, was jetzt unabhängig vom Blockly Script deine Probleme sind ...
        Könntest Du das noch mal zusammenfassen?

        1. Welches geändertes oder fehlerhaftes Verhalten vom Adapter hast du genau festgestellt?
        2. Was wären jetzt deine Wünsche an den Adapter um das Blockly Script umzusetzen?
        3. Welche Fragen hast du speziell zur Fertigstellung des Blockly Scripts?
        Chris76e 1 Reply Last reply Reply Quote 0
        • mrbungle64
          mrbungle64 Developer @sigi234 last edited by

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

          @mrbungle64

          Hallo,

          ecovacs-deebot.0
          2023-02-25 11:42:50.180	info	Entering spot area with ID 8 (cleanStatus: spot_area)
          
          ecovacs-deebot.0
          2023-02-25 11:42:45.737	info	Loading map image
          
          ecovacs-deebot.0
          2023-02-25 11:42:36.961	info	Loading map image
          
          ecovacs-deebot.0
          2023-02-25 11:42:34.036	info	Entering spot area with ID 6 (cleanStatus: spot_area)
          
          ecovacs-deebot.0
          2023-02-25 11:42:21.493	info	Entering spot area with ID 4 (cleanStatus: spot_area)
          
          ecovacs-deebot.0
          2023-02-25 11:42:09.026	info	Entering spot area with ID 3 (cleanStatus: spot_area)
          
          ecovacs-deebot.0
          2023-02-25 11:41:35.987	info	Entering spot area with ID 2 (cleanStatus: spot_area)
          
          ecovacs-deebot.0
          2023-02-25 11:41:22.436	warn	Error: Error: IndexSizeError: The source width is 0.
          

          Ich nehme mal an, dass du die "IndexSizeError: The source width is 0" Warnung meinst ...
          Hast du in dem Zusammenhang ein Fehlverhalten festgestellt?

          sigi234 1 Reply Last reply Reply Quote 0
          • Chris76e
            Chris76e @mrbungle64 last edited by

            @mrbungle64 ist ein javascript. Ich möchte mir eine Tabelle erstellen wo, Datum, Start, Ende Fläche, Raum und Dauer gespeichert werden nach jedem reinigungs durchgang. Als bedingung dafür habe ich das wenn der deebot wieder an der Ladestation befindet, also ecovacs-deebot.0.status.device auf "charging" steht. Aber ab und zu kommt es vor das die Daten die ich von lastCleaning brauche noch nicht da sind von der DP auf charging steht. Würden die Daten von current nicht direkt zurückgesetzt werden, könnte ich diese nehmen, sind ja die gleichen die dann und lastCleaning kommen.

            Hoffe du verstehts jetzt was ich meine 🤔

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

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

              @mrbungle64 ist ein javascript. Ich möchte mir eine Tabelle erstellen wo, Datum, Start, Ende Fläche, Raum und Dauer gespeichert werden nach jedem reinigungs durchgang. Als bedingung dafür habe ich das wenn der deebot wieder an der Ladestation befindet, also ecovacs-deebot.0.status.device auf "charging" steht. Aber ab und zu kommt es vor das die Daten die ich von lastCleaning brauche noch nicht da sind von der DP auf charging steht. Würden die Daten von current nicht direkt zurückgesetzt werden, könnte ich diese nehmen, sind ja die gleichen die dann und lastCleaning kommen.

              Hoffe du verstehts jetzt was ich meine 🤔

              Sorry, ja das ist JavaScript Script (kein Blockly), aber bitte schreib das doch bitte nicht alles in einen großen Absatz bzw. Fließtext.
              Ich hatte das doch extra schon so aufgeteilt wie ich das gerne hätte 😉

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

                @mrbungle64

                Sorry, versuche jetzt seit fast 3 Tagen das Script zuschreiben, mal bin ich nah an der Lösung dran, aber dann biege ich wieder ganz falsch ab und bin dann wieder ganz weit weg. Mit meine wunsch zur Änderung wäre das sehr einfach 😁

                Welches geändertes oder fehlerhaftest Verhalten vom Adapter hast du genau festgestellt?
                - das der DP ecovacs-deebot.0.cleaninglog.lastTotalSeconds auf (null) steht
                - das ist kein fehlverhalten aber die DP unter ecovacs-deebot.0.cleaninglog die mit last anfangen,
                werden ja Zeitversetzt aktualisiert, da kannst du ja nicht sändern.

                Was wären jetzt deine Wünsche an den Adapter um das Script umzusetzen?
                - das die DP unter ecovacs-deebot.0.cleaninglog.current erst dann zurückgesetzt werden,
                wenn eine neue Reinigung stattfindet und nicht sofort wenn sich der Status von
                ecovacs-deebot.0.status.device von "cleaning" auf "returing" ändert.

                Welche Fragen hast du speziell zur Fertigstellung des Scripts?
                - wie mann es hinbekommt das wenn der DP ecovacs-deebot.0.status.device auf "charing" geändert hat
                und sich der DP ecovacs-deebot.0.cleaninglog.lastCleaningTimestamp (dient als trigger) aktualisiert hat.
                Die aktualisierung soll aber während der aktuellen Reinigung passieren werden.

                Damit bin ich wieder nah dran.....

                var idTable = '0_userdata.0.JSON.Deebot';
                var idRaum = 'ecovacs-deebot.0.map.lastCleanedSpotArea.spotAreaName';
                var idFlaeche = 'ecovacs-deebot.0.cleaninglog.lastSquareMeters';
                var idDauer = 'ecovacs-deebot.0.cleaninglog.lastTotalTimeString';
                var idAktiv = 'ecovacs-deebot.0.status.device';
                var idWartungsplatz = '0_userdata.0.Deebot.Wartungsplatz';
                var idWartungsplatzEIN = '0_userdata.0.Deebot.WartungsplatzEIN';
                var idCleaningTimestamp = 'ecovacs-deebot.0.cleaninglog.lastCleaningTimestamp';
                var lastCleaningTimestamp = getState(idCleaningTimestamp).val;
                var table = [];
                if (getState(idTable).val) table = JSON.parse(getState(idTable).val);
                var obj = {};
                var startDate = new Date();
                var lastExecutionTime = 0;
                var isCleaning = false;
                var hasCleaned = false;
                var hasCharged = false;
                
                on({id: idAktiv, change: "ne"}, function (dp) {
                  if (getState(idWartungsplatz).val === false && dp.state.val === 'cleaning') {
                    obj = {};
                    obj.Datum = formatDate(new Date(), 'YYYY-MM-DD ');
                    obj.Start = formatDate(new Date(), 'hh:mm');
                    startDate = new Date();
                    var lastCleaningTimestamp = getState(idCleaningTimestamp).val; // speichere den vorherigen Wert von idCleaningTimestamp
                    isCleaning = true;
                    setState(idWartungsplatzEIN, false, true); // WartungsplatzEIN auf false setzen
                    lastExecutionTime = dp.state.ts;
                  }
                });
                on({id: "ecovacs-deebot.0.status.device", val: "charging"}, function (dp) {
                  hasCharged = true;
                  checkWrite();
                });
                on({ id: idCleaningTimestamp, change: 'ne' }, function (dp) {
                  if (isCleaning && dp.state.val != lastCleaningTimestamp) { // überprüfe, ob sich idCleaningTimestamp seit der letzten Reinigung geändert hat
                    hasCleaned = true;
                    lastCleaningTimestamp = dp.state.val; // speichere den aktuellen Wert von idCleaningTimestamp als vorherigen Wert für den nächsten Durchlauf
                    checkWrite();
                  }
                });
                
                function checkWrite() {
                  if (isCleaning && hasCleaned && hasCharged && getState(idWartungsplatzEIN).val === false) {
                    obj.Ende = formatDate(new Date(), 'hh:mm');
                    obj.Flaeche = getState(idFlaeche).val;
                    obj.Raum = getState(idRaum).val;
                    obj.Dauer = getState(idDauer).val;
                    obj.Dauergesamt = formatDuration(Math.floor((new Date() - startDate) / 1000));
                    table.unshift(obj);
                    if (table.length > 100) {
                      table.pop();
                    }
                    setState(idTable, JSON.stringify(table), true);
                    isCleaning = false;
                    hasCleaned = false;
                    hasCharged = false;
                  }
                }
                function formatDuration(seconds) {
                  var minutes = Math.floor(seconds / 60);
                  var remainingSeconds = seconds % 60;
                  return pad(minutes, 2) + ':' + pad(remainingSeconds, 2);
                }
                
                function pad(number, length) {
                  var str = '' + number;
                  while (str.length < length) {
                    str = '0' + str;
                  }
                  return str;
                }
                
                
                mrbungle64 1 Reply Last reply Reply Quote 0
                • mrbungle64
                  mrbungle64 Developer @Chris76e last edited by

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

                  • das der DP ecovacs-deebot.0.cleaninglog.lastTotalSeconds auf (null) steht

                  Bist du dir eigentlich sicher, dass das vorher funktioniert hatte?

                  Chris76e 2 Replies Last reply Reply Quote 0
                  • Chris76e
                    Chris76e @mrbungle64 last edited by Chris76e

                    @mrbungle64

                    Nein 😎

                    Ist mir erst aufgefallen als ich festgestellt habe das ecovacs-deebot.0.control.extended.savedGoToPositionValues auch bei Deebot 901 sehr gut funktioniert.

                    Hatte mich länger nicht mehr ausführlich mit den ganzen DP´s beschäftigt.......

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

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

                      @mrbungle64

                      Nein 😎

                      Ist mir erst aufgefallen als ich festgestellt habe das ecovacs-deebot.0.control.extended.savedGoToPositionValues auch bei Deebot 901 sehr gut funktioniert.

                      Hatte mich länger nicht mehr ausführlich mit den ganzen DP´s beschäftigt.......

                      Dann installier' doch bitte mal die letzte Stable (1.4.11) und schau mal ob der DP einen Wert hat.
                      Von den Datenpunkten her sollte sich eigentlich seit dem nichts mehr relevantes für den Deebot 901 geändert haben.

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

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

                        Dann installier' doch bitte mal die letzte Stable (1.4.11) und schau mal ob der DP einen Wert hat.
                        Von den Datenpunkten her sollte sich eigentlich seit dem nichts mehr relevantes für den Deebot 901 geändert haben.

                        Ist bei der Version auch nicht vorhanden

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

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

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

                          Dann installier' doch bitte mal die letzte Stable (1.4.11) und schau mal ob der DP einen Wert hat.
                          Von den Datenpunkten her sollte sich eigentlich seit dem nichts mehr relevantes für den Deebot 901 geändert haben.

                          Ist bei der Version auch nicht vorhanden

                          Dann würde ich sagen, dass die API beim Deebot 901 dazu leider keinen Wert liefert ...

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

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

                            Dann würde ich sagen, dass die API beim Deebot 901 dazu leider keinen Wert liefert ...

                            Okay, aber dann würde das ja auch egal sein wenn die DP´s und current erst später zurückgesetzt werden, dann da gibt es den DP 😜

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

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

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

                              Dann würde ich sagen, dass die API beim Deebot 901 dazu leider keinen Wert liefert ...

                              Okay, aber dann würde das ja auch egal sein wenn die DP´s und current erst später zurückgesetzt werden, dann da gibt es den DP 😜

                              Auf was ist das bezogen? 🙂

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

                                auf das

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

                                das der DP ecovacs-deebot.0.cleaninglog.lastTotalSeconds auf (null) steht

                                und das

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

                                Was wären jetzt deine Wünsche an den Adapter um das Script umzusetzen?

                                • das die DP unter ecovacs-deebot.0.cleaninglog.current erst dann zurückgesetzt werden,
                                  wenn eine neue Reinigung stattfindet und nicht sofort wenn sich der Status von
                                  ecovacs-deebot.0.status.device von "cleaning" auf "returing" ändert.
                                mrbungle64 1 Reply Last reply Reply Quote 0
                                • mrbungle64
                                  mrbungle64 Developer @Chris76e last edited by

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

                                  auf das

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

                                  das der DP ecovacs-deebot.0.cleaninglog.lastTotalSeconds auf (null) steht

                                  und das

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

                                  Was wären jetzt deine Wünsche an den Adapter um das Script umzusetzen?

                                  • das die DP unter ecovacs-deebot.0.cleaninglog.current erst dann zurückgesetzt werden,
                                    wenn eine neue Reinigung stattfindet und nicht sofort wenn sich der Status von
                                    ecovacs-deebot.0.status.device von "cleaning" auf "returing" ändert.

                                  Ja, aber ich meine:

                                  • ist es dann "egal", ob dein Wunsch umgesetzt wird?
                                  • oder ist es "egal", weil der Datenpunkt eh keinen Wert hat man den Wunsch erst recht umsetzen kann?

                                  Ich würde gerne Deine Erwartungshaltung an mich verstehen 🙂

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

                                    @mrbungle64 Wenn das mit den current umgesetzt würde, währe das andere, zumindest für mich nicht mehr wichtig, da ich ja denn da die sekunden habe. 😉

                                    ofri2607 1 Reply Last reply Reply Quote 0
                                    • sigi234
                                      sigi234 Forum Testing Most Active @mrbungle64 last edited by

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

                                      Ich nehme mal an, dass du die "IndexSizeError: The source width is 0" Warnung meinst ...

                                      ja, aber bis jetzt nicht mehr aufgetreten.

                                      1 Reply Last reply Reply Quote 0
                                      • ofri2607
                                        ofri2607 @Chris76e last edited by

                                        @chris76e ganz klar ist mir zwar auch nicht was du vor hast, aber ich denke dein Problem lässt sich in Javascript relativ leicht, auch ohne Adapteranpassung, beim Setzen der Werte in "current" auf 0 mit oldState des jeweiligen Datenpunktes lösen.

                                        Als einfaches Beispiel:

                                        var Wert = 0;
                                        on({id: 'ecovacs-deebot.0.cleaninglog.current.cleanedSeconds', change: 'le'}, function(obj){
                                            //Wert wenn cleanedSeconds auf 0 gesetzt wird
                                            Wert = obj.oldState.val;  
                                        });
                                        

                                        Ich nutze das so ähnlich z.B., um mir den vorhergehenden Raum zu holen um damit dann eine Markierung auf der Karte zu setzen.

                                        Chris76e 1 Reply Last reply Reply Quote 0
                                        • Chris76e
                                          Chris76e @ofri2607 last edited by Chris76e

                                          @ofri2607

                                          Aber die Werte von current sind ja nicht immer aktuell. Die werden ja nur in bestimmten intervallen aktualisiert. Da durch bekomme ich ja keine zuverlässigen Daten.

                                          Versuche nochmal zuerklären was ich genau vorhabe.

                                          Möchte eine eigenes LastCleaningLog erstellen wo auch der Raum und die Gesamtdauer der aktuellen Reinigung erfasst wird.

                                          Screenshot 2023-02-27 102138.png

                                          und weil ich noch ein 2. log habe wo nur die Fahrten zum Wartungsplatzt gesichert werden kommt das 1. Script wohl nicht mehr richtig mit.

                                          Screenshot 2023-02-27 102121.png

                                          const idTable = '0_userdata.0.Deebot.WartungsplatzJSON';
                                          const idStatus = 'ecovacs-deebot.0.status.device';
                                          const idWartungsplatzDatum = '0_userdata.0.Deebot.WartungsplatzDatum';
                                          const idWartungsplatzUhrzeit = '0_userdata.0.Deebot.WartungsplatzUhrzeit';
                                          const idWartungsplatzEIN = '0_userdata.0.Deebot.WartungsplatzEIN';
                                          
                                          var table = [];
                                          if(getState(idTable).val) table = JSON.parse(getState(idTable).val);
                                          var obj = {};
                                          var startDate = null;
                                          var endDate = null;
                                          var stopTime = null;
                                          
                                          on({id: "0_userdata.0.Deebot.Wartungsplatz"/*Wartungsplatz*/, change: "ge"}, function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            
                                            if (value >= oldValue) {
                                              startDate = new Date();
                                              setState(idWartungsplatzEIN, true, true); // WartungsplatzEIN auf true setzen
                                            }
                                          });
                                          
                                          on({id: idStatus, change: 'ne'}, function (obj) {
                                            if (obj.state.val === 'charging' && startDate) {
                                              endDate = new Date();
                                              setState('0_userdata.0.Deebot.WartungsplatzUhrzeit', formatDate(new Date(), 'hh:mm'), true);
                                              obj = {};
                                              obj.Datum = formatDate(new Date(), 'YYYY-MM-DD');
                                              obj.Start = formatDate(startDate, 'hh:mm');
                                              obj.Ende = formatDate(endDate, 'hh:mm');
                                              obj.Dauer = formatDuration(Math.floor((endDate - startDate) / 1000));
                                          
                                              // Setze Ladestation und Wartungsplatz auf false
                                              setState(idWartungsplatzDatum, obj.Datum, true);
                                              setState('0_userdata.0.Deebot.Ladestation', false, true);
                                              setState('0_userdata.0.Deebot.Wartungsplatz', false, true);
                                              //setState(idWartungsplatzEIN, false, true); // WartungsplatzEIN auf false setzen
                                          
                                              if (stopTime) {
                                                obj.Uhrzeit = formatDate(stopTime, 'hh:mm');
                                                stopTime = null;
                                              }
                                          
                                              table.unshift(obj);
                                              if (table.length > 100) {
                                                table.pop();
                                              }
                                              setState(idTable, JSON.stringify(table), true);
                                              startDate = null;
                                              endDate = null;
                                            } else if (obj.state.val === 'stopped') {
                                              stopTime = new Date();
                                            }
                                          });
                                          
                                          function formatDuration(seconds) {
                                            var minutes = Math.floor(seconds / 60);
                                            var remainingSeconds = seconds % 60;
                                            return pad(minutes, 2) + ':' + pad(remainingSeconds, 2);
                                          }
                                          
                                          function pad(number, length) {
                                            var str = '' + number;
                                            while (str.length < length) {
                                              str = '0' + str;
                                            }
                                            return str;
                                          }
                                          
                                          
                                          mrbungle64 ofri2607 2 Replies Last reply Reply Quote 0
                                          • mrbungle64
                                            mrbungle64 Developer @Chris76e last edited by

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

                                            Aber die Werte von current sind ja nicht immer aktuell. Die werden ja nur in bestimmten intervallen aktualisiert. Da durch bekomme ich ja keine zuverlässigen Daten.

                                            Was ist Deine Erwartungshaltung an die Daten, damit Du diese als "aktuell" und "zuverlässig" bezeichnen kannst?

                                            Möchte eine eigenes LastCleaningLog erstellen wo auch der Raum und die Gesamtdauer der aktuellen Reinigung erfasst wird.

                                            Wie hilft Dir die gewünschte Änderung, dass die Werte unter "current" erst später zurückgesetzt werden dabei?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            729
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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