Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [Frage] Xiaomi Vacuum cleaner

NEWS

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

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

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

[Frage] Xiaomi Vacuum cleaner

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
2.2k Beiträge 204 Kommentatoren 976.8k Aufrufe 39 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J JohnnyBahama

    Wie habt ihr das gelöst, dass es eine Rückmeldung gibt, dass der Roboter fertig ist mit der Reinigung? Ich sehe keinen Datenpunkt dazu

    D Offline
    D Offline
    der-eine
    schrieb am zuletzt editiert von
    #2173

    @JohnnyBahama mit was willst Du darauf reagieren? Willst wissen wann er fertig ist und das in der Vis anzeigen oder andere Aktion starten?

    J 1 Antwort Letzte Antwort
    0
    • J JohnnyBahama

      Wie habt ihr das gelöst, dass es eine Rückmeldung gibt, dass der Roboter fertig ist mit der Reinigung? Ich sehe keinen Datenpunkt dazu

      M Offline
      M Offline
      Marty56
      schrieb am zuletzt editiert von
      #2174

      @JohnnyBahama

      //-------- Klasse zur wiederholten Ausgabe von Warnungen auf den Lautsprechern -----
      function sleep(ms) {
        return new Promise(resolve => setTimeout(resolve, ms));
      }
      
      class Repeat_Warning {
        constructor() {
          this.text = "";
          this.duration = 0;
          this.repeat = true;
          this.first_duration = 0;
        }
        start(text,duration,first_duration) {
          this.text = text;
          this.duration = duration * 60000;  
          this.repeat = true;
          if (first_duration != undefined) this.first_duration = first_duration* 60000;
          (async () => {
              if (this.first_duration != 0) await sleep(this.first_duration);
              while (this.repeat) {
                  setState("speechout",JSON.stringify({text:this.text,device:"ALL",vol:70}));
                  await sleep(this.duration);
              }
          })();
        }
      
        stop() {
          this.repeat = false;
        }
      }
      /*
      ---------------------------- Status Meldungen ----------------------------------
      Ausgabe von Telegram und Sprachnachricht, wenn Staubsauger Reinigung abge-
      schlossen hat.
      
        "states": {
            "0": "Unknown",
            "1": "Initiating",
            "2": "Sleeping",
            "3": "Waiting",
            "4": "?",
            "5": "Cleaning",
            "6": "Back to home",
            "7": "Manuell mode",
            "8": "Charging",
            "9": "Charging Error",
            "10": "Pause",
            "11": "Spot Cleaning",
            "12": "In Error",
            "13": "Shutting down",
            "14": "Updating",
            "15": "Docking",
            "16": "Going to Spot",
            "17": "Zone cleaning",
            "18": "Room cleaning"
          }
      */
      
      var vacuum_states =   {
            "0": "hat einen unbekannten Status",
            "1": "wird initialisiert",
            "2": "schäft",
            "3": "wartet",
            "4": "?",
            "5": "reinigt",
            "6": "geht zur Docking Station",
            "7": "ist im manuellen Modus",
            "8": "wird geladen",
            "9": "hat einen Ladefehler",
            "10": "hat Pause",
            "11": "führt Punkt Reinigung durch",
            "12": "hat einen Fehlerzustand",
            "13": "wird heruntergefahren",
            "14": "wird upgedatet",
            "15": "verbindet sich mit der Docking Station",
            "16": "geht zum Zielpunkt",
            "17": "reinigt den ausgewählten Bereich",
            "18": "reinigt den Raum"
          };
      
      var sauger_path = "javascript.0.sauger.";
      var sauger_status = sauger_path + "status";
      createState(sauger_status,'');
      
      on({id:"mihome-vacuum.0.info.state", change: 'ne'}, function(obj) {
          var state = getState("mihome-vacuum.0.info.state").val; 
          if ((state >= 0) && (state <= 18)) {
              setState(sauger_status,vacuum_states[state]);
              setState("speechout",JSON.stringify({text:"Staubsauger " + vacuum_states[state] + '!',device:"HausohneKZ",vol:70}));
          }
      });
      
      //------------------------- Fehler beim Reinigen ----------------------------------
      //Einmalige Benachrichtung per Telegram und wiederholte Ausgabe von Sprach-
      //nachricht, dass Staubsauger einen Fehler hat
      /*
         "states": {
            "0": "No error",
            "1": "Laser distance sensor error",
            "2": "Collision sensor error",
            "3": "Wheels on top of void, move robot",
            "4": "Clean hovering sensors, move robot",
            "5": "Clean main brush",
            "6": "Clean side brush",
            "7": "Main wheel stuck?",
            "8": "Device stuck, clean area",
            "9": "Dust collector missing",
            "10": "Clean filter",
            "11": "Stuck in magnetic barrier",
            "12": "Low battery",
            "13": "Charging fault",
            "14": "Battery fault",
            "15": "Wall sensors dirty, wipe them",
            "16": "Place me on flat surface",
            "17": "Side brushes problem, reboot me",
            "18": "Suction fan problem",
            "19": "Unpowered charging station"
          }
      */
      
      var vacuum_error_states = {
            "0": "Es liegt kein Fehler vor.",
            "1": "Laserabstandsmessung hat einen Fehler.",
            "2": "Der Kollisionssensor hat einen Fehler.",
            "3": "Die Räder sind auf der Spitze eines Hindernisses.",
            "4": "Die Sensoren zur Stufenerkennung sind unsauber.",
            "5": "Die Hauptbürste muss gereinigt werden.",
            "6": "Die Seitenbürste muss gereinigt werden.",
            "7": "Das Hauptantriebsrad ist verklemmt.",
            "8": "Der Staubsauger ist verklemmt.",
            "9": "Der Staubbehälter fehlt.",
            "10": "Der Filter muss gereinigt werden.",
            "11": "Ein magnetisches Hindernis hat blockiert.",
            "12": "Der Akku hat keine Ladung.",
            "13": "Das Laden ist fehlerhaft.",
            "14": "Der Akku hat einen Fehler.",
            "15": "Die Wandsensoren sind schmutzig und müssen gereinigt werden.",
            "16": "Der Untergrund ist zu steil.",
            "17": "Die Seitebürste hat ein Problem. Staubsauger neustarten!",
            "18": "Der Saugventilator hat ein Problem.",
            "19": "Die Ladestation hat keinen Strom."
          };
          
      
      var sauger_error = sauger_path + "error";
      createState(sauger_error,'');
      var Saugerladen_Fehler = new Repeat_Warning();
      
      on({id:"mihome-vacuum.0.info.error", change: 'ne'}, function(obj) {
          var state = getState("mihome-vacuum.0.info.error").val; 
          if ((state >= 1) && (state <= 19)) {
              setState(sauger_error,vacuum_error_states[state]);
              Saugerladen_Fehler.start("Staubsaugerfehler: " + vacuum_error_states[state] + '!',15);
          } else if (state == 0) {
              Saugerladen_Fehler.stop();
              setState(sauger_error,vacuum_error_states[state]);
          }
      });
      
      //------------------------- Verschleißteile melden ----------------------------------
      //Einmalige Benachrichtung per Telegram bei verschleiß
      var sauger_wearout = "javascript.0.sauger.wearout";
      createState(sauger_wearout,'');
      
      function wearout(id,text) {
          if (getState(id).val < 5) {
              setState("speechout",JSON.stringify({text:text,device:"HausohneKZ",vol:70}));
              setState('Botschaft', text);
              setState(sauger_wearout, text);
          } else 
              setState(sauger_wearout, "OK");
      }
      
      on({id:"mihome-vacuum.0.consumable.filter", change: 'ne'}, function(obj) {
          wearout("mihome-vacuum.0.consumable.filter","Der Filter ist verschlissen!");
      });
      
      on({id:"mihome-vacuum.0.consumable.main_brush", change: 'ne'}, function(obj) {
          wearout("mihome-vacuum.0.consumable.main_brush","Die Hauptbürste ist verschlissen!");
      });
      
      on({id:"mihome-vacuum.0.consumable.sensors", change: 'ne'}, function(obj) {
           wearout("mihome-vacuum.0.consumable.sensors","Die Sensoren müssen gereinigt werden!");
      });
      
      on({id:"mihome-vacuum.0.consumable.side_brush", change: 'ne'}, function(obj) {
          wearout("mihome-vacuum.0.consumable.side_brush","Die Seitenbürste ist verschlissen!");
      });
      
      //----------------------- Warnung Saubsauger zu lange online  -----------------------
      
      var Sauger_lange_an = new Repeat_Warning();
      
      on({ id: "mihome-vacuum.0.info.connection", change: 'gt' }, function (obj) {
          Sauger_lange_an.start("Der Staubsauger sollte abgeschaltet werden!",30,5*60)
          setState(sauger_status,'online');
      });
      
      on({ id: "mihome-vacuum.0.info.connection", change: 'lt' }, function (obj) {
          Sauger_lange_an.stop();
          Saugerladen_zu_ende_warning.stop();
          setState(sauger_path + "Putzdatum",new Date().toISOString().slice(0,10));
          past();
          setState(sauger_status,'offline');
      });
      
      //------------------------- Laden abgeschlossen ----------------------------------
      
      var Saugerladen_zu_ende_warning = new Repeat_Warning();
      on({id:"mihome-vacuum.0.info.battery", change: 'ne'}, function(obj) {
          if (getState("mihome-vacuum.0.info.battery").val === 100)
              Saugerladen_zu_ende_warning.start("Der Staubsauger ist aufgeladen und kann abgeschaltet werden!",30);
      });
      
      //------------------------- Putzdatum und vergangene Zeit aktualisieren ----------
      
      createState(sauger_path + "Putzdatum",'2020-05-01');
      createState(sauger_path + "Putzdatum_formatiert",'am 01.05.2020 (vor 1 Tagen)');
      
      function past() {
          var last_date        = getState(sauger_path + "Putzdatum").val;
          var last_date_format = last_date.slice(0,10).split("-");
          var last_date_german = last_date_format[2] + "." + last_date_format[1] + "." + last_date_format[0];
          var vergangen        = Math.floor((new Date().getTime() - new Date(last_date).getTime())/(24*60*60*1000));
          setState(sauger_path + "Putzdatum_formatiert",last_date_german + " vor " + vergangen + " Tagen");
      }
      past();
      on({time: {hour: 10, minute: 0}}, function(obj){past()});
      

      HW:NUC (16 GB Ram)
      OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

      J 1 Antwort Letzte Antwort
      0
      • D der-eine

        @JohnnyBahama mit was willst Du darauf reagieren? Willst wissen wann er fertig ist und das in der Vis anzeigen oder andere Aktion starten?

        J Offline
        J Offline
        JohnnyBahama
        schrieb am zuletzt editiert von JohnnyBahama
        #2175

        @der-eine Ich habe mir ein zyklisches blockly gebaut, indem der Sauger nur läuft wenn keiner zu Hause ist und mehr als 48Std nach der letzten komplett Reinigung vergangen sind. Jetzt kann es vorkommen, dass jemand während der Reinigung nach Hause kommt und dadurch der Sauger seinen Dienst unterbricht, indem er wieder zur Station geschickt wird mit GoHome Datenpunkt. Nachteil, er kann nicht mehr losgeschickt werden, um dort weiter zu machen, wo er aufgehört hat.
        Leider hat sich der selbsterstellte Datenpunkt ´Wohnung gereinigt` wegen dem Startskript schon auf true gesetzt, also fährt er kein zweites Mal raus bis wieder alle Bedingungen erfüllt sind. Was dazu führt, das er erst wieder in zwei tagen fährt. Daher würde ich den Datenpunkt Wohnung gereingt vom Roboter haben wollen, um eine Prüfsumme zu haben.

        Momentan probiere ich rum und glaube ich könnte es umgehen, wenn ich ihn erst an eine Koordinate schicke und dann auf Pause setze. Aber auch hier müsste ich dann wissen, wann er fertig ist, um die nächste Startzeit zu bekommen.

        D 1 Antwort Letzte Antwort
        0
        • M Marty56

          @JohnnyBahama

          //-------- Klasse zur wiederholten Ausgabe von Warnungen auf den Lautsprechern -----
          function sleep(ms) {
            return new Promise(resolve => setTimeout(resolve, ms));
          }
          
          class Repeat_Warning {
            constructor() {
              this.text = "";
              this.duration = 0;
              this.repeat = true;
              this.first_duration = 0;
            }
            start(text,duration,first_duration) {
              this.text = text;
              this.duration = duration * 60000;  
              this.repeat = true;
              if (first_duration != undefined) this.first_duration = first_duration* 60000;
              (async () => {
                  if (this.first_duration != 0) await sleep(this.first_duration);
                  while (this.repeat) {
                      setState("speechout",JSON.stringify({text:this.text,device:"ALL",vol:70}));
                      await sleep(this.duration);
                  }
              })();
            }
          
            stop() {
              this.repeat = false;
            }
          }
          /*
          ---------------------------- Status Meldungen ----------------------------------
          Ausgabe von Telegram und Sprachnachricht, wenn Staubsauger Reinigung abge-
          schlossen hat.
          
            "states": {
                "0": "Unknown",
                "1": "Initiating",
                "2": "Sleeping",
                "3": "Waiting",
                "4": "?",
                "5": "Cleaning",
                "6": "Back to home",
                "7": "Manuell mode",
                "8": "Charging",
                "9": "Charging Error",
                "10": "Pause",
                "11": "Spot Cleaning",
                "12": "In Error",
                "13": "Shutting down",
                "14": "Updating",
                "15": "Docking",
                "16": "Going to Spot",
                "17": "Zone cleaning",
                "18": "Room cleaning"
              }
          */
          
          var vacuum_states =   {
                "0": "hat einen unbekannten Status",
                "1": "wird initialisiert",
                "2": "schäft",
                "3": "wartet",
                "4": "?",
                "5": "reinigt",
                "6": "geht zur Docking Station",
                "7": "ist im manuellen Modus",
                "8": "wird geladen",
                "9": "hat einen Ladefehler",
                "10": "hat Pause",
                "11": "führt Punkt Reinigung durch",
                "12": "hat einen Fehlerzustand",
                "13": "wird heruntergefahren",
                "14": "wird upgedatet",
                "15": "verbindet sich mit der Docking Station",
                "16": "geht zum Zielpunkt",
                "17": "reinigt den ausgewählten Bereich",
                "18": "reinigt den Raum"
              };
          
          var sauger_path = "javascript.0.sauger.";
          var sauger_status = sauger_path + "status";
          createState(sauger_status,'');
          
          on({id:"mihome-vacuum.0.info.state", change: 'ne'}, function(obj) {
              var state = getState("mihome-vacuum.0.info.state").val; 
              if ((state >= 0) && (state <= 18)) {
                  setState(sauger_status,vacuum_states[state]);
                  setState("speechout",JSON.stringify({text:"Staubsauger " + vacuum_states[state] + '!',device:"HausohneKZ",vol:70}));
              }
          });
          
          //------------------------- Fehler beim Reinigen ----------------------------------
          //Einmalige Benachrichtung per Telegram und wiederholte Ausgabe von Sprach-
          //nachricht, dass Staubsauger einen Fehler hat
          /*
             "states": {
                "0": "No error",
                "1": "Laser distance sensor error",
                "2": "Collision sensor error",
                "3": "Wheels on top of void, move robot",
                "4": "Clean hovering sensors, move robot",
                "5": "Clean main brush",
                "6": "Clean side brush",
                "7": "Main wheel stuck?",
                "8": "Device stuck, clean area",
                "9": "Dust collector missing",
                "10": "Clean filter",
                "11": "Stuck in magnetic barrier",
                "12": "Low battery",
                "13": "Charging fault",
                "14": "Battery fault",
                "15": "Wall sensors dirty, wipe them",
                "16": "Place me on flat surface",
                "17": "Side brushes problem, reboot me",
                "18": "Suction fan problem",
                "19": "Unpowered charging station"
              }
          */
          
          var vacuum_error_states = {
                "0": "Es liegt kein Fehler vor.",
                "1": "Laserabstandsmessung hat einen Fehler.",
                "2": "Der Kollisionssensor hat einen Fehler.",
                "3": "Die Räder sind auf der Spitze eines Hindernisses.",
                "4": "Die Sensoren zur Stufenerkennung sind unsauber.",
                "5": "Die Hauptbürste muss gereinigt werden.",
                "6": "Die Seitenbürste muss gereinigt werden.",
                "7": "Das Hauptantriebsrad ist verklemmt.",
                "8": "Der Staubsauger ist verklemmt.",
                "9": "Der Staubbehälter fehlt.",
                "10": "Der Filter muss gereinigt werden.",
                "11": "Ein magnetisches Hindernis hat blockiert.",
                "12": "Der Akku hat keine Ladung.",
                "13": "Das Laden ist fehlerhaft.",
                "14": "Der Akku hat einen Fehler.",
                "15": "Die Wandsensoren sind schmutzig und müssen gereinigt werden.",
                "16": "Der Untergrund ist zu steil.",
                "17": "Die Seitebürste hat ein Problem. Staubsauger neustarten!",
                "18": "Der Saugventilator hat ein Problem.",
                "19": "Die Ladestation hat keinen Strom."
              };
              
          
          var sauger_error = sauger_path + "error";
          createState(sauger_error,'');
          var Saugerladen_Fehler = new Repeat_Warning();
          
          on({id:"mihome-vacuum.0.info.error", change: 'ne'}, function(obj) {
              var state = getState("mihome-vacuum.0.info.error").val; 
              if ((state >= 1) && (state <= 19)) {
                  setState(sauger_error,vacuum_error_states[state]);
                  Saugerladen_Fehler.start("Staubsaugerfehler: " + vacuum_error_states[state] + '!',15);
              } else if (state == 0) {
                  Saugerladen_Fehler.stop();
                  setState(sauger_error,vacuum_error_states[state]);
              }
          });
          
          //------------------------- Verschleißteile melden ----------------------------------
          //Einmalige Benachrichtung per Telegram bei verschleiß
          var sauger_wearout = "javascript.0.sauger.wearout";
          createState(sauger_wearout,'');
          
          function wearout(id,text) {
              if (getState(id).val < 5) {
                  setState("speechout",JSON.stringify({text:text,device:"HausohneKZ",vol:70}));
                  setState('Botschaft', text);
                  setState(sauger_wearout, text);
              } else 
                  setState(sauger_wearout, "OK");
          }
          
          on({id:"mihome-vacuum.0.consumable.filter", change: 'ne'}, function(obj) {
              wearout("mihome-vacuum.0.consumable.filter","Der Filter ist verschlissen!");
          });
          
          on({id:"mihome-vacuum.0.consumable.main_brush", change: 'ne'}, function(obj) {
              wearout("mihome-vacuum.0.consumable.main_brush","Die Hauptbürste ist verschlissen!");
          });
          
          on({id:"mihome-vacuum.0.consumable.sensors", change: 'ne'}, function(obj) {
               wearout("mihome-vacuum.0.consumable.sensors","Die Sensoren müssen gereinigt werden!");
          });
          
          on({id:"mihome-vacuum.0.consumable.side_brush", change: 'ne'}, function(obj) {
              wearout("mihome-vacuum.0.consumable.side_brush","Die Seitenbürste ist verschlissen!");
          });
          
          //----------------------- Warnung Saubsauger zu lange online  -----------------------
          
          var Sauger_lange_an = new Repeat_Warning();
          
          on({ id: "mihome-vacuum.0.info.connection", change: 'gt' }, function (obj) {
              Sauger_lange_an.start("Der Staubsauger sollte abgeschaltet werden!",30,5*60)
              setState(sauger_status,'online');
          });
          
          on({ id: "mihome-vacuum.0.info.connection", change: 'lt' }, function (obj) {
              Sauger_lange_an.stop();
              Saugerladen_zu_ende_warning.stop();
              setState(sauger_path + "Putzdatum",new Date().toISOString().slice(0,10));
              past();
              setState(sauger_status,'offline');
          });
          
          //------------------------- Laden abgeschlossen ----------------------------------
          
          var Saugerladen_zu_ende_warning = new Repeat_Warning();
          on({id:"mihome-vacuum.0.info.battery", change: 'ne'}, function(obj) {
              if (getState("mihome-vacuum.0.info.battery").val === 100)
                  Saugerladen_zu_ende_warning.start("Der Staubsauger ist aufgeladen und kann abgeschaltet werden!",30);
          });
          
          //------------------------- Putzdatum und vergangene Zeit aktualisieren ----------
          
          createState(sauger_path + "Putzdatum",'2020-05-01');
          createState(sauger_path + "Putzdatum_formatiert",'am 01.05.2020 (vor 1 Tagen)');
          
          function past() {
              var last_date        = getState(sauger_path + "Putzdatum").val;
              var last_date_format = last_date.slice(0,10).split("-");
              var last_date_german = last_date_format[2] + "." + last_date_format[1] + "." + last_date_format[0];
              var vergangen        = Math.floor((new Date().getTime() - new Date(last_date).getTime())/(24*60*60*1000));
              setState(sauger_path + "Putzdatum_formatiert",last_date_german + " vor " + vergangen + " Tagen");
          }
          past();
          on({time: {hour: 10, minute: 0}}, function(obj){past()});
          
          J Offline
          J Offline
          JohnnyBahama
          schrieb am zuletzt editiert von JohnnyBahama
          #2176

          @Marty56 Bin in Java nicht so fit, aber ich versuch mich mal reinzufuchsen. Danke dir.

          Edit: Ich habe mir das mal angeschaut, sehe aber auch dort keinen Punkt indem der Roboter die Meldung sendet: Reinigung abgeschlossen.

          M 1 Antwort Letzte Antwort
          0
          • J JohnnyBahama

            @Marty56 Bin in Java nicht so fit, aber ich versuch mich mal reinzufuchsen. Danke dir.

            Edit: Ich habe mir das mal angeschaut, sehe aber auch dort keinen Punkt indem der Roboter die Meldung sendet: Reinigung abgeschlossen.

            M Offline
            M Offline
            Marty56
            schrieb am zuletzt editiert von Marty56
            #2177

            @JohnnyBahama Stimmt!
            Der Staubsauger sagt nur, dass er wieder im Standby oder auch an der Dockingstation ist, wenn er mit der Reinigung fertig ist.

            Man müsste sich also eine kleine Statemachine programmieren, die erst bemerkt, dass der Staubsauger reinigt (das wird ja auch signalisiert) und wenn dann die Meldung kommt, dass Staubsauger in Standby oder an der Dockingstation ist, könnte "Wohnung gereinigt" ausgeben.

            HW:NUC (16 GB Ram)
            OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

            1 Antwort Letzte Antwort
            0
            • J JohnnyBahama

              @der-eine Ich habe mir ein zyklisches blockly gebaut, indem der Sauger nur läuft wenn keiner zu Hause ist und mehr als 48Std nach der letzten komplett Reinigung vergangen sind. Jetzt kann es vorkommen, dass jemand während der Reinigung nach Hause kommt und dadurch der Sauger seinen Dienst unterbricht, indem er wieder zur Station geschickt wird mit GoHome Datenpunkt. Nachteil, er kann nicht mehr losgeschickt werden, um dort weiter zu machen, wo er aufgehört hat.
              Leider hat sich der selbsterstellte Datenpunkt ´Wohnung gereinigt` wegen dem Startskript schon auf true gesetzt, also fährt er kein zweites Mal raus bis wieder alle Bedingungen erfüllt sind. Was dazu führt, das er erst wieder in zwei tagen fährt. Daher würde ich den Datenpunkt Wohnung gereingt vom Roboter haben wollen, um eine Prüfsumme zu haben.

              Momentan probiere ich rum und glaube ich könnte es umgehen, wenn ich ihn erst an eine Koordinate schicke und dann auf Pause setze. Aber auch hier müsste ich dann wissen, wann er fertig ist, um die nächste Startzeit zu bekommen.

              D Offline
              D Offline
              der-eine
              schrieb am zuletzt editiert von der-eine
              #2178

              @JohnnyBahama um festzustellen ob die ganze Wohnung gereinigt wurde, habe ich die gereinigten qm2 angeschaut. Wenn die über wert x waren, dann wurde die ganze Wohnung gereinigt wenn nicht dann war es nur eine Zonenreinigung. Dieser Wert wird ja pro fahrt generiert.

              Edit: Unter dem Punkt Info -> Cleaned Area
              dieser wird vor der nächsten Reinigung auf 0 gesetzt.

              J 1 Antwort Letzte Antwort
              0
              • DiginixD Offline
                DiginixD Offline
                Diginix
                schrieb am zuletzt editiert von
                #2179

                Ich trigger auf Wertänderung des Status Objektes und in Abhängigkeit vom vorherigen Wert weiß ich was der Staubsauger gemacht hat.

                ba715105-22d9-483e-a313-cbbe5b40acfc-image.png

                ..:: So long! Tom ::..

                NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                J 1 Antwort Letzte Antwort
                0
                • DiginixD Diginix

                  Ich trigger auf Wertänderung des Status Objektes und in Abhängigkeit vom vorherigen Wert weiß ich was der Staubsauger gemacht hat.

                  ba715105-22d9-483e-a313-cbbe5b40acfc-image.png

                  J Offline
                  J Offline
                  JohnnyBahama
                  schrieb am zuletzt editiert von JohnnyBahama
                  #2180

                  @Diginix Das ist auch nicht schlecht, ich könnte so den Start registrieren und wenn er zurück in die Station fährt das laden und somit Schlussfolgern das er fertig ist so wie @Marty56 das auch beschrieben hat.
                  Danke für den Hinweis.

                  Es wäre natürlich komfortabler wenn man den Trigger hat, den auch der Roboter von sich gibt, aber so sollte es auch gehen.

                  1 Antwort Letzte Antwort
                  0
                  • D der-eine

                    @JohnnyBahama um festzustellen ob die ganze Wohnung gereinigt wurde, habe ich die gereinigten qm2 angeschaut. Wenn die über wert x waren, dann wurde die ganze Wohnung gereinigt wenn nicht dann war es nur eine Zonenreinigung. Dieser Wert wird ja pro fahrt generiert.

                    Edit: Unter dem Punkt Info -> Cleaned Area
                    dieser wird vor der nächsten Reinigung auf 0 gesetzt.

                    J Offline
                    J Offline
                    JohnnyBahama
                    schrieb am zuletzt editiert von JohnnyBahama
                    #2181

                    @der-eine Nicht das was ich mir erhoffte, weil auch Türen ab und zu geschlossen sind und somit ich die kleinstmögliche qm Zahl nehmen müsste. Aber jetzt hast du mich auf die Idee gebracht mir eine Meldung schicken zu lassen, dass die Reinigung zwar abgeschlossen ist, aber Räume fehlen und ich manuel nach reinigen kann.

                    By the way, kann man irgendwo feststellen, welche Räume ausgelassen worden sind oder welche gereinigt wurden bei einer Komplettreinigung? Als Datenpunkt natürlich.

                    1 Antwort Letzte Antwort
                    0
                    • J Offline
                      J Offline
                      JohnnyBahama
                      schrieb am zuletzt editiert von
                      #2182

                      Für jemanden den es interessiert. Es ist nicht möglich den roboter während einer komplett Reinigung zu pausieren und ihn an eine andere Position zu schicken. Dadurch verliert er den Reinigungszustand, sobald er einen anderen Befehl bekommt. GoHome und goTo löscht den Reinigungsvorgang.
                      Also müssen Umwege her, indem ich eine Routine schreibe, die qm pro Raum abgleicht und somit die restlichen Räume reinigt nach einer unterbrechung. Hat den Vorteil, dass er zwischen laden kann.

                      C 1 Antwort Letzte Antwort
                      0
                      • J JohnnyBahama

                        Für jemanden den es interessiert. Es ist nicht möglich den roboter während einer komplett Reinigung zu pausieren und ihn an eine andere Position zu schicken. Dadurch verliert er den Reinigungszustand, sobald er einen anderen Befehl bekommt. GoHome und goTo löscht den Reinigungsvorgang.
                        Also müssen Umwege her, indem ich eine Routine schreibe, die qm pro Raum abgleicht und somit die restlichen Räume reinigt nach einer unterbrechung. Hat den Vorteil, dass er zwischen laden kann.

                        C Offline
                        C Offline
                        ChrisXY
                        schrieb am zuletzt editiert von
                        #2183

                        Wie kann ich den den Standort bzw den Raum erkennen wo er ist ? Es gibt zwar Rooms das geht aber nur wenn ich es dort über rooms Objekte auch starte. Bei einer Auto Reinigung oder Manuellen Renigung kann ich nicht sehen wo der Staubsauger gerade ist.
                        Hab ich etwas übersehen?

                        DiginixD 1 Antwort Letzte Antwort
                        0
                        • C ChrisXY

                          Wie kann ich den den Standort bzw den Raum erkennen wo er ist ? Es gibt zwar Rooms das geht aber nur wenn ich es dort über rooms Objekte auch starte. Bei einer Auto Reinigung oder Manuellen Renigung kann ich nicht sehen wo der Staubsauger gerade ist.
                          Hab ich etwas übersehen?

                          DiginixD Offline
                          DiginixD Offline
                          Diginix
                          schrieb am zuletzt editiert von
                          #2184

                          @ChrisXY Wenn du ihn nicht über den Adapter gezielt in einem Raum schickst, z.B. eben bei einer Komplettreinigung oder über die App, bekommst du das nicht raus.
                          Richtig kreativ, aber auch aufwändig, wäre es das Bild der Karte zu analysieren um die Pixelkoordinaten des Saugericons zu ermitteln und darüber die Position innerhalb der Wohnung.
                          Schöner wäre es wenn die API die Koordinaten jederzeit mit senden würde. Wäre das so, wäre es sicher auch im Adapter.

                          ..:: So long! Tom ::..

                          NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                          C 1 Antwort Letzte Antwort
                          0
                          • DiginixD Diginix

                            @ChrisXY Wenn du ihn nicht über den Adapter gezielt in einem Raum schickst, z.B. eben bei einer Komplettreinigung oder über die App, bekommst du das nicht raus.
                            Richtig kreativ, aber auch aufwändig, wäre es das Bild der Karte zu analysieren um die Pixelkoordinaten des Saugericons zu ermitteln und darüber die Position innerhalb der Wohnung.
                            Schöner wäre es wenn die API die Koordinaten jederzeit mit senden würde. Wäre das so, wäre es sicher auch im Adapter.

                            C Offline
                            C Offline
                            ChrisXY
                            schrieb am zuletzt editiert von
                            #2185

                            @Diginix Okay danke für die Info.

                            Hat da schon jemand was mit blockly gemacht ? Da starten ist ja nicht das Problem ich klick die Objekte von Rooms per Blockly. Aber in zusammenhang mit Alexa ? Die rooms haben ja keinen "Brauchbaren" Namen

                            DiginixD 1 Antwort Letzte Antwort
                            0
                            • C ChrisXY

                              @Diginix Okay danke für die Info.

                              Hat da schon jemand was mit blockly gemacht ? Da starten ist ja nicht das Problem ich klick die Objekte von Rooms per Blockly. Aber in zusammenhang mit Alexa ? Die rooms haben ja keinen "Brauchbaren" Namen

                              DiginixD Offline
                              DiginixD Offline
                              Diginix
                              schrieb am zuletzt editiert von
                              #2186

                              @ChrisXY Du holst dir alle Raum-Start-Buttons als virtuelle Geräte zu Alexa, z.B. über iot und legst jeweils eine Routine mit einem stimmigen Sprachbefehl an, die dann diesen Button auf true setzt.
                              Das ganze dann noch für Pause, GoHome usw.
                              So kann ich den Sauger komplett über Alexa steuern.
                              Ich sage nacheinander z.B. "Alexa, Wohnzimmer saugen", dann "Alexa, Küche saugen" und so werden die Räume in die Warteliste geschrieben und abgearbeitet. Am Ende wurde auch die ganze Wohnung gesaugt aber in meiner Wunsch Reihenfolge und ioBroker wusste wo der Sauger ist. Nach Fertigstellung jedes Raumes bekomme ich die Karte mit Angabe zur Fläche und Zeit als Email und Telegram.

                              ..:: So long! Tom ::..

                              NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                              1 Antwort Letzte Antwort
                              1
                              • V Offline
                                V Offline
                                volx3eet
                                schrieb am zuletzt editiert von volx3eet
                                #2187

                                Hallo zusammen,
                                ich bin gerade dabei meinen S5 in meine VIS einzubinden und dabei auf das Problem gestoßen, dass er keine Mehretagenkarte kann - für nen neuen bin ich zu geizig 😊
                                Deswegen die Frage:

                                1. Gibt's mittlerweile für den Roborock S5(0) out of the box eine Lösung, 2 Etagen in Iobroker zu realisieren/abzubilden?
                                2. Falls nicht - mein Ansatz wäre, die Ladestation im EG so zu platzieren, dass sie theoretisch im OG den gleichen Platz hätte. Dann im EG eine Komplettreinigung über die App anstoßen, Karte erstellen lassen, dann das EG in Zonen einteilen, Koords über FloleVac auslesen und die Größe der Zonen so wählen, dass sie im EG und OG nahezu identisch die Räume abdecken (geht natürlich nur, weil Grundriss der beiden Stockwerke fast identisch sind)

                                Wenn das funktioniert könnte ich den Robbi aus der Ladestation nehmen, ins OG tragen und dann dort die EG Zonenreinugung für bspweise den Flur starten. Wenn die identisch übereinander liegen, dann sollten die Koords des Flurs ja identisch sein. Oder hab ich da nen Denkfehler?

                                VG
                                Volx

                                1 Antwort Letzte Antwort
                                0
                                • S Offline
                                  S Offline
                                  steimi
                                  schrieb am zuletzt editiert von steimi
                                  #2188

                                  Hi, ich habe neu einen Roborock S7. Eingebunden habe ich ihn in der MiHome-App. Adapter im ioBroker installiert, Login-Daten eingegeben, Gerät ausgewählt. Als ich dann speichern wollte kommt nachfolgenden Meldung - der Adapter bleibt auf Gelb. Woran kann es liegen? Ich habe die Version 2.1.1 als auch die 2.2.4 probiert.

                                  mihome-vacuum.0	2021-03-28 17:49:35.314	info	(20592) set nächster Timer: Nicht verfügbar
                                  mihome-vacuum.0	2021-03-28 17:49:34.821	debug	(20592) No suitable Lua script, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) }
                                  mihome-vacuum.0	2021-03-28 17:49:34.810	debug	(20592) server started on 0.0.0.0:53421
                                  mihome-vacuum.0	2021-03-28 17:49:34.806	info	(20592) Cloud control disabled
                                  mihome-vacuum.0	2021-03-28 17:49:34.806	info	(20592) Expert mode disabled, states deleted
                                  mihome-vacuum.0	2021-03-28 17:49:34.791	info	(20592) starting. Version 2.2.4 in /opt/iobroker/node_modules/iobroker.mihome-vacuum, node: v12.21.0, js-controller: 3.2.16
                                  mihome-vacuum.0	2021-03-28 17:49:34.671	debug	(20592) statesDB connected
                                  mihome-vacuum.0	2021-03-28 17:49:34.670	debug	(20592) States connected to redis: 127.0.0.1:9000
                                  mihome-vacuum.0	2021-03-28 17:49:34.625	debug	(20592) States create User PubSub Client
                                  mihome-vacuum.0	2021-03-28 17:49:34.624	debug	(20592) States create System PubSub Client
                                  mihome-vacuum.0	2021-03-28 17:49:34.619	debug	(20592) Redis States: Use Redis connection: 127.0.0.1:9000
                                  mihome-vacuum.0	2021-03-28 17:49:34.619	debug	(20592) objectDB connected
                                  mihome-vacuum.0	2021-03-28 17:49:34.616	debug	(20592) Objects connected to redis: 127.0.0.1:9001
                                  mihome-vacuum.0	2021-03-28 17:49:34.606	debug	(20592) Objects client initialize lua scripts
                                  mihome-vacuum.0	2021-03-28 17:49:34.605	debug	(20592) Objects create User PubSub Client
                                  mihome-vacuum.0	2021-03-28 17:49:34.605	debug	(20592) Objects create System PubSub Client
                                  mihome-vacuum.0	2021-03-28 17:49:34.604	debug	(20592) Objects client ready ... initialize now
                                  mihome-vacuum.0	2021-03-28 17:49:34.591	debug	(20592) Redis Objects: Use Redis connection: 127.0.0.1:9001
                                  

                                  28de937a-89b2-48b8-9f9a-f490d94f812b-image.png 130c31cb-14c1-499b-b340-2b5c366ed20e-image.png

                                  C 1 Antwort Letzte Antwort
                                  0
                                  • S steimi

                                    Hi, ich habe neu einen Roborock S7. Eingebunden habe ich ihn in der MiHome-App. Adapter im ioBroker installiert, Login-Daten eingegeben, Gerät ausgewählt. Als ich dann speichern wollte kommt nachfolgenden Meldung - der Adapter bleibt auf Gelb. Woran kann es liegen? Ich habe die Version 2.1.1 als auch die 2.2.4 probiert.

                                    mihome-vacuum.0	2021-03-28 17:49:35.314	info	(20592) set nächster Timer: Nicht verfügbar
                                    mihome-vacuum.0	2021-03-28 17:49:34.821	debug	(20592) No suitable Lua script, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) }
                                    mihome-vacuum.0	2021-03-28 17:49:34.810	debug	(20592) server started on 0.0.0.0:53421
                                    mihome-vacuum.0	2021-03-28 17:49:34.806	info	(20592) Cloud control disabled
                                    mihome-vacuum.0	2021-03-28 17:49:34.806	info	(20592) Expert mode disabled, states deleted
                                    mihome-vacuum.0	2021-03-28 17:49:34.791	info	(20592) starting. Version 2.2.4 in /opt/iobroker/node_modules/iobroker.mihome-vacuum, node: v12.21.0, js-controller: 3.2.16
                                    mihome-vacuum.0	2021-03-28 17:49:34.671	debug	(20592) statesDB connected
                                    mihome-vacuum.0	2021-03-28 17:49:34.670	debug	(20592) States connected to redis: 127.0.0.1:9000
                                    mihome-vacuum.0	2021-03-28 17:49:34.625	debug	(20592) States create User PubSub Client
                                    mihome-vacuum.0	2021-03-28 17:49:34.624	debug	(20592) States create System PubSub Client
                                    mihome-vacuum.0	2021-03-28 17:49:34.619	debug	(20592) Redis States: Use Redis connection: 127.0.0.1:9000
                                    mihome-vacuum.0	2021-03-28 17:49:34.619	debug	(20592) objectDB connected
                                    mihome-vacuum.0	2021-03-28 17:49:34.616	debug	(20592) Objects connected to redis: 127.0.0.1:9001
                                    mihome-vacuum.0	2021-03-28 17:49:34.606	debug	(20592) Objects client initialize lua scripts
                                    mihome-vacuum.0	2021-03-28 17:49:34.605	debug	(20592) Objects create User PubSub Client
                                    mihome-vacuum.0	2021-03-28 17:49:34.605	debug	(20592) Objects create System PubSub Client
                                    mihome-vacuum.0	2021-03-28 17:49:34.604	debug	(20592) Objects client ready ... initialize now
                                    mihome-vacuum.0	2021-03-28 17:49:34.591	debug	(20592) Redis Objects: Use Redis connection: 127.0.0.1:9001
                                    

                                    28de937a-89b2-48b8-9f9a-f490d94f812b-image.png 130c31cb-14c1-499b-b340-2b5c366ed20e-image.png

                                    C Offline
                                    C Offline
                                    Coffeelover
                                    schrieb am zuletzt editiert von
                                    #2189

                                    @steimi Bist du der Fehlermeldung mit der Tokenlänge mal nachgegangen und hast den evtl. nochmal eingegeben?

                                    S 1 Antwort Letzte Antwort
                                    0
                                    • C Coffeelover

                                      @steimi Bist du der Fehlermeldung mit der Tokenlänge mal nachgegangen und hast den evtl. nochmal eingegeben?

                                      S Offline
                                      S Offline
                                      steimi
                                      schrieb am zuletzt editiert von
                                      #2190

                                      @coffeelover Habe leider noch nichts weiter erreicht. Bei mir läuft der Roboter in einem seperaten IoT-Netz. ioBroker kann komplett in das IoT Netz, aus dem IoT-Netz sind nur einzelne Ports zu meinen ioBroker-Server mögich. Dachte es liegt daran, habe aber noch nichts gefunden. Hoffe ein Entwickler meldet sich hier, sonst muss ich direkt auf Github ein Issue aufmachen.

                                      C 1 Antwort Letzte Antwort
                                      1
                                      • S steimi

                                        @coffeelover Habe leider noch nichts weiter erreicht. Bei mir läuft der Roboter in einem seperaten IoT-Netz. ioBroker kann komplett in das IoT Netz, aus dem IoT-Netz sind nur einzelne Ports zu meinen ioBroker-Server mögich. Dachte es liegt daran, habe aber noch nichts gefunden. Hoffe ein Entwickler meldet sich hier, sonst muss ich direkt auf Github ein Issue aufmachen.

                                        C Offline
                                        C Offline
                                        Coffeelover
                                        schrieb am zuletzt editiert von
                                        #2191

                                        @steimi vielleicht hilft es trotzdem, den Token nochmal zu prüfen. Zumindest den Fehler habe ich nicht.

                                        S 1 Antwort Letzte Antwort
                                        0
                                        • C Coffeelover

                                          @steimi vielleicht hilft es trotzdem, den Token nochmal zu prüfen. Zumindest den Fehler habe ich nicht.

                                          S Offline
                                          S Offline
                                          steimi
                                          schrieb am zuletzt editiert von steimi
                                          #2192

                                          @coffeelover die Tokenlänge ist 32 - aus den automatisch ermittelten Daten. Trage ich das Token dann unten ein kommt die Meldung nicht mehr, der Adapter funktioniert trotzdem nicht (bleibt gelb). Hake ich in der Instanz 'enable map von Xiamoi cloud' an sehe ich den Login im Debug-Log, Adapter bleibt trotzdem weiter gelb.

                                          D 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          883

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe