Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

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

Community Forum

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

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    5
    1
    154

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    179

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    876

[Frage] Xiaomi Vacuum cleaner

Scheduled Pinned Locked Moved ioBroker Allgemein
2.2k Posts 204 Posters 1.0m Views 39 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Offline
    N Offline
    nathan1312
    wrote on last edited by
    #2043

    Ach so, der robo läuft noch über den server "mainland china". Das musste man damals so einrichten. Mittlerweile hab ich schon oft gelesen, dass auch der europäische Server funktionieren soll.

    Könnte es daran liegen?

    Hab noch andere Komponenten über die mihome app laufen (bewegungsmelder, fensterkontakte). Weiß jemand ob die auch mit dem europäischen Server laufen?

    Gesendet von meinem SM-T820 mit Tapatalk

    1 Reply Last reply
    0
    • BuZZyB Offline
      BuZZyB Offline
      BuZZy
      wrote on last edited by
      #2044

      Könnte mir vorstellen dass es mit dem Speichern der Karte zusammenhängt.. Ganz sicher dass die Koordinaten korrekt sind die du in iobroker einträgst?

      Kann es sein das auf der Karte eine Wand irgendwo zwischen Ausgangspunkt und Koordinaten-Zielpunkt liegt oder so?

      Gruß

      1 Reply Last reply
      0
      • N Offline
        N Offline
        nathan1312
        wrote on last edited by
        #2045

        @BuZZy:

        Könnte mir vorstellen dass es mit dem Speichern der Karte zusammenhängt.. Ganz sicher dass die Koordinaten korrekt sind die du in iobroker einträgst?

        Kann es sein das auf der Karte eine Wand irgendwo zwischen Ausgangspunkt und Koordinaten-Zielpunkt liegt oder so?

        Gruß ` Man sieht in der App ja die Zone. Auch wenn man die zonenreinigung über iobroker startet. Diese ist vollkommen korrekt platziert.

        Ich verstehe nicht ganz was du mit der angesprochenen Wand meinst. Der robo könnte die Zone auf jeden Fall erreichen. Muss nur um zwei ecken fahren. Wenn er es denn mal versuchen und nicht nach zwei Sekunden aufgeben würde.

        Das speichern der Karte hab ich testweise auch mal wieder ausgeschaltet. Hat aber nichts gebracht. Schön ist dabei natürlich, dass das lästige kartendrehen dann nicht mehr auftritt…

        Gesendet von meinem SM-T820 mit Tapatalk

        1 Reply Last reply
        0
        • BuZZyB Offline
          BuZZyB Offline
          BuZZy
          wrote on last edited by
          #2046

          Wenn die Zone korrekt eingezeichnet wird in der App kann das Problem nicht am ioBroker liegen - da die Koordinaten dann ja korrekt übermittelt wurden (wenn die Zone dann korrekt in der App auftaucht). Und mehr macht ioBroker nicht außer die Koordinaten an den Sauger zu senden..

          Wenn der Sauger dann von sich aus sagt "Nä, das schaffe ich nicht,.." können wir nichts machen.

          Hast du mal andere Zonen versucht anzusteuern?

          Tritt das bei allen Zonen auf?

          Gruß

          1 Reply Last reply
          0
          • N Offline
            N Offline
            nathan1312
            wrote on last edited by
            #2047

            Aaaargh, ich hab's gefunden.

            Ich hatte mir ein Script geschrieben, welches meine Zonen in Abhängigkeit vom Ursprung definiert. So wollte ich durch einfaches "umschalten" eines schalters auf kartendrehungen reagieren. Einfach drücken und schon werden sämtliche Koordinaten meiner Zonen auf Basis ihres abstands vom Ursprung neu berechnet. Das hat auch wunderbar geklappt nur hatte ich nicht bedacht, dass ja bei einer Drehung um 180° die resultierenden x1/x2 und y1/y2 vertauscht werden müssen. Die Zone wurde also nicht durch untenlinks/obenrechts definiert sondern durch obenrechts/untenlinks (quasi invertiert).

            Interessant ist, dass die app zwar diese Eingabe korrekt verwerten d.h. anzeigen kann, der robo allerdings damit nicht klar kommt.

            Ich werde das Script dementsprechend erweitern, dann sollte es wie gewünscht funktionieren. Bei Interesse kann ich das Script gerne dann hier veröffentlichen, wenn es weiterhin Probleme mit der kartendrehung gibt. Ist wie gesagt keine voll automatische Lösung aber man kann mit einem Tastendruck auf eine Drehung reagieren.

            Danke dir nochmal Buzzy für deine Gedanken!

            Gesendet von meinem SM-T820 mit Tapatalk

            1 Reply Last reply
            0
            • M Offline
              M Offline
              maxpd
              wrote on last edited by
              #2048

              Ich habe mir die Zonenkoordinaten besorgt und diese im Scenen Adapter eingetragen, sowie diesen mit Clean a Zone verbunden.

              Wenn ich die Testtaste im Scenen Adapter drücke, läuft der Staubsauger direkt los. Wenn ich es allerdings über Befehle starte, tut er es nicht.

              Was fehlt mir noch?
              6072_2019-02-07_21_14_00-192.168.178.53_8081_adapter_scenes_tab.html.png
              6072_2019-02-07_21_14_44-objects_-_iobroker.png
              6072_2019-02-07_21_15_38-javascript_-_iobroker.png

              Gruß
              maxpd

              Raspi 4 8gb | iobroker + pivccu3 | 46 Adapter | 68 Scripte, 120 Devices

              1 Reply Last reply
              0
              • N Offline
                N Offline
                nathan1312
                wrote on last edited by
                #2049

                Hi, kommen denn deine Befehle im Datenpunkt IFTTT.value an? Hast du das geprüft?

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  maxpd
                  wrote on last edited by
                  #2050

                  Ich glaube es klappt nu. Der Staubsauger war im Standby..

                  Kann meinen Beitrag leider nicht löschen.

                  Gruß
                  maxpd

                  Raspi 4 8gb | iobroker + pivccu3 | 46 Adapter | 68 Scripte, 120 Devices

                  1 Reply Last reply
                  0
                  • T trollmar

                    Hi,

                    als ich heute nach hause kam schlief mein "Robert" im Flur.

                    Die Bürsten waren blockiert da er etwas eingezogen hatte.

                    In welchem STATE wird das ausgegeben? Würde mir das dann gerne via Telegram Adapter schicken lassen.

                    LG

                    D Offline
                    D Offline
                    dali3
                    wrote on last edited by
                    #2051

                    @klassisch said in [Frage] Xiaomi Vacuum cleaner:

                    /*   List of states
                    			1 unknown state
                    			2 sleep no Charge
                    			3 sleep
                    			5 cleaning
                    			6 returning home
                    			7 manual mode
                    			8 charging
                    			10 paused
                    			11 spot cleaning
                    			12 Error
                    */			
                    
                    

                    Wenn sich meiner verhakt, gibts die 12 und dann sende ich eine email mit "Help"

                    Hallo zusammen, gibt es eine neue Liste?
                    Ich bekomme während der Reinigung folgenden Meldung (mihome-vacuum.0.info.state) --> Zone cleaning (17).

                    Leider ist im neuem Forum die Suche "schwierig".

                    Danke!

                    Systeminfo:
                    Iobroker Pro, Surface 3 (Mobil), Acer T272 (Wand), Raspberry Pi 3, NUC, Synology DS212j (BackUp), Google Home, Xiaomi Aqara (Sensoren, Fühler, Kamera, LED), Revo Superconnect, Philips Hue, IKEA Tradfri...

                    K B 2 Replies Last reply
                    0
                    • D dali3

                      @klassisch said in [Frage] Xiaomi Vacuum cleaner:

                      /*   List of states
                      			1 unknown state
                      			2 sleep no Charge
                      			3 sleep
                      			5 cleaning
                      			6 returning home
                      			7 manual mode
                      			8 charging
                      			10 paused
                      			11 spot cleaning
                      			12 Error
                      */			
                      
                      

                      Wenn sich meiner verhakt, gibts die 12 und dann sende ich eine email mit "Help"

                      Hallo zusammen, gibt es eine neue Liste?
                      Ich bekomme während der Reinigung folgenden Meldung (mihome-vacuum.0.info.state) --> Zone cleaning (17).

                      Leider ist im neuem Forum die Suche "schwierig".

                      Danke!

                      K Offline
                      K Offline
                      klassisch
                      Most Active
                      wrote on last edited by
                      #2052

                      @dali3 Ich selbst habe noch das Modell 1 und keine Frimwareupdates durchgeführt. Sorry!

                      1 Reply Last reply
                      0
                      • C Offline
                        C Offline
                        Coffeelover
                        wrote on last edited by
                        #2053

                        Hallo in die Runde!
                        Ich habe in nodered ein Skript, welches den Robbie via App Command zum Räume reinigen schicke. Das blöde: der Befehl kommt zwar im iobroker an, startet aber nicht. Syntaktisch ist er aber korrekt. Wenn ich selbst in den Editor in iobroker gehe und den bestehenden String nur mit Enter bestätige ist alles fein und Robbie läuft los. Was mache ich falsch?
                        Vg

                        1 Reply Last reply
                        0
                        • L Offline
                          L Offline
                          ltsalvatore
                          wrote on last edited by
                          #2054

                          ich muss auch noch mal in die runde frage..
                          gibt es mittlerweile eine lösung zu dem problem, dass sich die karte immer um 90 grad dreht bei dem vacuum 1?
                          würde gerne endlich mal die zonenreinigung in iobroker einrichten.

                          1 Reply Last reply
                          0
                          • D dali3

                            @klassisch said in [Frage] Xiaomi Vacuum cleaner:

                            /*   List of states
                            			1 unknown state
                            			2 sleep no Charge
                            			3 sleep
                            			5 cleaning
                            			6 returning home
                            			7 manual mode
                            			8 charging
                            			10 paused
                            			11 spot cleaning
                            			12 Error
                            */			
                            
                            

                            Wenn sich meiner verhakt, gibts die 12 und dann sende ich eine email mit "Help"

                            Hallo zusammen, gibt es eine neue Liste?
                            Ich bekomme während der Reinigung folgenden Meldung (mihome-vacuum.0.info.state) --> Zone cleaning (17).

                            Leider ist im neuem Forum die Suche "schwierig".

                            Danke!

                            B Offline
                            B Offline
                            Bluelightcrew
                            wrote on last edited by
                            #2055

                            @dali3

                             if (v_Error === 0) v_Text = "no Error";
                             if (v_Error === 1) v_Text = "Laser distance sensor error";
                             if (v_Error === 2) v_Text = "Collision sensor error";
                             if (v_Error === 3) v_Text = "Wheels on top of void, move robot";
                             if (v_Error === 4) v_Text = "Clean hovering sensors, move robot";
                             if (v_Error === 5) v_Text = "Clean main brush";
                             if (v_Error === 6) v_Text = "Clean side brush";
                             if (v_Error === 7) v_Text = "Main wheel stuck?";
                             if (v_Error === 8) v_Text = "Device stuck, clean area";
                             if (v_Error === 9) v_Text = "Dust collector missing";
                             if (v_Error === 10) v_Text = "Clean filter";
                             if (v_Error === 11) v_Text = "Stuck in magnetic barrier";
                             if (v_Error === 12) v_Text = "Low battery";
                             if (v_Error === 13) v_Text = "Charging fault";
                             if (v_Error === 14) v_Text = "Battery fault";
                             if (v_Error === 15) v_Text = "Wall sensors dirty, wipe them";
                             if (v_Error === 16) v_Text = "Place me on flat surface";
                             if (v_Error === 17) v_Text = "Side brushes problem, reboot me";
                             if (v_Error === 18) v_Text = "Suction fan problem";
                             if (v_Error === 19) v_Text = "Unpowered charging station";
                            
                            1 Reply Last reply
                            0
                            • N Nitro25NOH

                              Hallo,

                              Wieviel Zonen kann ich gleichzeitig in "zoneclean" eingeben?

                              Ich hake vor der Reinigung in ioBroker die Zu reinigen Räume an. diese sind mit den jeweiligen Koordinaten der Zone hinterlegt. Wenn ich mehrere Zonen anklicke werden diese Als Zeichenkette in dem Adapter eingetragen.

                              Allerdings bin ich anscheinend auf eine Gewisse Anzahl von Zonen begrenzt die er bearbeiten kann.

                              Wenn ich 5 Zonen anhake startet er normal, Zeichnet diese auch in der App ein und arbeitet sie nacheinander ab.

                              Nehme ich aber eine 6. hinzufüge scheint das Ding immer "abzuschmieren".

                              Sieht dann so aus: [20242,25174,27692,29224,1],[20128,29562,22828,34062,1],[23290,29748,26340,34098,1],[26560,29714,28660,30564,1],[26976,30807,28076,33607,1],[29345,29766,31445,33866,1]

                              Heist: Die App reagiert total verzögert auf ankommende Informationen und der Sauger lässt sich nicht mehr über die App bedienen.

                              Gestern hat er sich dann bei einem erneuten Versuch sogar so "weggehängt" das er sich anscheinen resetet hat.

                              Sprache war auf einmal Englisch, die Verbindung zur App war nicht mehr möglich. Ich muss alles neu anlegen und wahrscheinlich hat sich der token auch geändert. ich hab keine Verbindung mehr zu ioBroker.

                              hat jemand Erfahrungen mit dieser Anzahl an zu reinigenden Zonen? Oder ist der Roboter eventuell auf eine maximale Anzahl an Zeichen in dieser Funktion begrenzt??

                              Grüße Christian

                              juergen2908J Offline
                              juergen2908J Offline
                              juergen2908
                              wrote on last edited by
                              #2056

                              @Nitro25NOH Wie hast du genau in deiner VIS gemacht, damit du einfach nur die Zonen anhacken musst? Lg Jürgen

                              B 1 Reply Last reply
                              0
                              • juergen2908J juergen2908

                                @Nitro25NOH Wie hast du genau in deiner VIS gemacht, damit du einfach nur die Zonen anhacken musst? Lg Jürgen

                                B Offline
                                B Offline
                                Brati
                                wrote on last edited by
                                #2057

                                @juergen2908

                                VIS alleine schafft das nicht. Wenn du immer nur eine Zone reinigen möchtest, kannst du per VIS Button den Befehl in den State "mihome-vacuum.0.control.zoneClean" schreiben. Ansonsten musst du das per Script zusammen basteln:

                                Zwischenablage01.jpg

                                Diese View steuert das Script.

                                var IDRobo      =   "mihome-vacuum.0.control.X_send_command"/*send command*/,
                                    IDFan       =   "mihome-vacuum.0.control.fan_power"/*Suction power*/,
                                    IDGoTo      =   "mihome-vacuum.0.control.goTo"/*Go to point*/,
                                    IDZoneClean =   "mihome-vacuum.0.control.zoneClean"/*Clean a zone*/,
                                    IDCarpet    =   "mihome-vacuum.0.control.carpet_mode"/*Carpet mode*/,
                                    IDStartClean=   'mihome-vacuum.0.control.start'/*Start vacuum*/,
                                    Zone1       =   "[26100,24500,29500,29000,1]", // Wohnzimmer incl. Teppich bis Terrasse
                                    Zone2       =   "[22500,25200,26000,29000,1]", // Wohnzimmer Teppichkante bis Tür
                                    Zone3       =   "[22500,25200,25900,26350,1]",// Wohnzimmer nur Laufbereich bis Teppichkante
                                    Zone3a      =  "[22500,25500,23100,28500,1]",// Wohnzimmer nur Laufbereich vor der Küche
                                    Zone4       =   "[18600,27050,22500,28600,1]", // Küche komplett
                                    Zone4a      =   "[18600,27250,22250,28600,1]", // Küche Laufbereich
                                    Zone5       =   "[18500,24800,22500,26650,1]", // Flur komplett
                                    Zone6       =   "[21400,25000,22500,26700,1]", // Flur nur bis Treppe
                                    ZoneP       =   "app_goto_target; [20400,27600]", // vor dem Mülleimer parken
                                    Zone        =   "",
                                    Timertaeglich,
                                    Logging     =   true,
                                    tag         =   new Date().getDay(), 
                                              
                                    Urlaub, timer, Gaeste, Anwesen, Verlass, KinderD, Tuer, Morjens, Morjenslos, TuerSchlaf, Feier      =   false;
                                    
                                // setState(IDRobo, "app_zoned_clean;[" + Zone4a + "]"); // Zone testen
                                // setState(IDRobo, ZoneP);                             // Zielpunkt testen
                                
                                /*app_zoned_clean;[[27200,28800,28300,32700,1]] unten links, oben rechts, Anzahl */
                                
                                /* Zusammensetzen der Zonen für die Reinigung */
                                function RZone(){
                                        Zone        =   "";        
                                        if (getState("javascript.0.Roborock.Zone1").val) Zone = Zone1;
                                        if (getState("javascript.0.Roborock.Zone2").val && Zone !=="") Zone = Zone + "," + Zone2;
                                        if (getState("javascript.0.Roborock.Zone2").val && Zone ==="") Zone = Zone2;
                                        if (getState("javascript.0.Roborock.Zone3").val && Zone !=="") Zone = Zone + "," + Zone3;
                                        if (getState("javascript.0.Roborock.Zone3").val && Zone ==="") Zone = Zone3;
                                        if (getState("javascript.0.Roborock.Zone4").val && Zone !=="") Zone = Zone + "," + Zone4;
                                        if (getState("javascript.0.Roborock.Zone4").val && Zone ==="") Zone = Zone4;
                                        if (getState("javascript.0.Roborock.Zone5").val && Zone !=="") Zone = Zone + "," + Zone5;
                                        if (getState("javascript.0.Roborock.Zone5").val && Zone ==="") Zone = Zone5;
                                    
                                   Zone= "app_zoned_clean;[" + Zone + "]";
                                }
                                
                                    
                                /* aktuelle Randbedingungen abfragen */
                                function VarStatus(){
                                    Urlaub  = getState("hm-rega.0.2638"/*Urlaub*/).val;
                                    Gaeste  = getState("hm-rega.0.3469"/*Gaeste*/).val;
                                    Anwesen = getState("hm-rega.0.7028"/*Anwesenheit*/).val;
                                    Verlass = getState("hm-rega.0.13102"/*Verlassen*/).val;
                                    KinderD = getState("hm-rega.0.25633"/*Kinderdienst*/).val;
                                    Tuer    = getState("hm-rpc.0.LEQ1468275.1.STATE"/*Wohnzimmer Kontakt Tuer.STATE*/).val;
                                    Feier   = getState("feiertage.0.heute.boolean"/*Feiertag heute?*/).val;
                                    tag     = new Date().getDay();
                                    Morjens = getState("javascript.0.Roborock.Morjens").val;
                                }
                                
                                
                                /* Zone auf Abruf in Vis */
                                on({id: new RegExp('javascript\\.0\\.Roborock\\.Zone1' + "|" + 'javascript\\.0\\.Roborock\\.Zone2' + "|" + 'javascript\\.0\\.Roborock\\.Zone3' + "|" + 'javascript\\.0\\.Roborock\\.Zone4' + "|" + 'javascript\\.0\\.Roborock\\.Zone5'), val: true}, function (obj) {
                                    
                                    if (timer) clearTimeout(timer);
                                    timer = setTimeout(function () {
                                        RZone();
                                        setState(IDFan, 77);
                                        setState(IDCarpet, true);
                                        setState(IDRobo, Zone);
                                        setState("javascript.0.Roborock.Zone1", false);
                                        setState("javascript.0.Roborock.Zone2", false);
                                        setState("javascript.0.Roborock.Zone3", false);
                                        setState("javascript.0.Roborock.Zone4", false);
                                        setState("javascript.0.Roborock.Zone5", false);
                                        }, 10000);
                                });
                                
                                
                                
                                /* tägliche Reinigung alles*/
                                
                                function TimerSetzen(value) {
                                    value   = value.split(":");
                                var time    = value[1] + " " + value[0] + " * * *"; 
                                    log("täglicher Zeit: " + time);
                                    Timertaeglich   =   schedule(time, function (){
                                        Reinigungtaegl ();
                                    });
                                };
                                
                                on({id: 'javascript.0.Roborock.Timer.Time', change: "ne"}, function (obj) {
                                    var value = obj.state.val;
                                    var oldValue = obj.oldState.val;
                                    TimerSetzen(value);
                                    clearSchedule(Timertaeglich);
                                });
                                
                                TimerSetzen(getState('javascript.0.Roborock.Timer.Time').val);
                                
                                function Reinigungtaegl() {
                                    VarStatus();
                                    
                                    if (!Urlaub && getState("javascript.0.Roborock.Timer." + tag).val) {
                                        setState(IDFan, 77);
                                        setState(IDCarpet, true);
                                        setState(IDStartClean, true);
                                        sendTo("pushover.0", {
                                                message:  'tägliche Reinigung!', // mandatory - your text message
                                                title:    'Roborock', // optional  - your message's title, otherwise your app's name is used
                                                priority: -1,});
                                    }
                                };
                                
                                /* früh den Laufbereich */
                                schedule("30 4 * * 1-5", function () {
                                    Morjenslos = true;
                                    });
                                
                                schedule("30 8 * * 1-5", function () {
                                    Morjenslos = false;
                                    });
                                
                                on({id: 'mihome.0.devices.magnet_158d0002bf95de.state'/*Is opened*/, val: false}, function (obj) {    
                                    VarStatus();
                                    MorjensReinigung();
                                });
                                
                                function MorjensReinigung(){
                                    if (!Urlaub && !Feier && !Tuer && !Gaeste && Morjens && Morjenslos) {
                                        Zone        =   "app_zoned_clean;[" + Zone4a + "," + Zone3a + "," + Zone3 + "," + Zone6 + "]";
                                        Morjenslos = false;
                                        setState(IDFan, 60);
                                        setState(IDCarpet, false);
                                        setState(IDRobo, Zone);
                                    }
                                }
                                
                                
                                createState('Roborock.Timer.1', false,{type: "boolean",name:"Montag",  role: "Montag"});
                                createState('Roborock.Timer.2', false,{type: "boolean",name:"Dienstag",  role: "Dienstag"});
                                createState('Roborock.Timer.3', false,{type: "boolean",name:"Mittwoch",  role: "Mittwoch"});
                                createState('Roborock.Timer.4', false,{type: "boolean",name:"Donnerstag",  role: "Donnerstag"});
                                createState('Roborock.Timer.5', false,{type: "boolean",name:"Freitag",  role: "Freitag"});
                                createState('Roborock.Timer.Time', "14:00:00",{type: "string",name:"Startzeit",  role: "Startzeit"});
                                createState('Roborock.Zone1', false,{type: "boolean",name:"Zone 1",  role: "Wz incl Teppich bis Terrasse"});
                                createState('Roborock.Zone2', false,{type: "boolean",name:"Zone 2",  role: "Wz ab Teppich bis Tür"});
                                createState('Roborock.Zone3', false,{type: "boolean",name:"Zone 3",  role: "Wz Laufbereich"});
                                createState('Roborock.Zone4', false,{type: "boolean",name:"Zone 4",  role: "Küche komplett"});
                                createState('Roborock.Zone5', false,{type: "boolean",name:"Zone 5",  role: "Flur komplett"});
                                createState('Roborock.Zone6', false,{type: "boolean",name:"Zone 6",  role: "Flur vor der Treppe"});
                                createState('Roborock.Morjens', true,{type: "boolean",name:"Morjens reinigen",  role: "Morjens reinigen"});
                                
                                

                                Man kann die Zonen wählen, alles reinigen, die tägliche Reinigung einstellen...

                                Ich habe schon ein paar Dinge rausgelöscht, morgens reinigen triggert zum Beispiel die Schlafzimmertür, erst wenn der Erste aufgestanden ist und diese geschlossen wird, düst er los...

                                Grüße

                                Brati

                                CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

                                F 1 Reply Last reply
                                0
                                • S Offline
                                  S Offline
                                  sabphil22
                                  wrote on last edited by sabphil22
                                  #2058

                                  Hi, ich hab ein Problem bei der Zonenreinigung. Einige Zonen werden ganz normal angesteuert und werden mir auch richtig in der App angezeigt. Bei zwei Zimmer, die nebeneinander liegen wird keine Zonen in der App angezeigt. Er fängt dann mit einer kompletten Reinigung an.
                                  Hab schon probiert die Zimmer in mehrere Zonen zu unterteilen um nicht über die Wände zu kommen. Ist es richtig wenn ich die einzelnen Zonen mit Komma und Leerzeichen trenne?

                                  Grüße Philippe

                                  1 Reply Last reply
                                  0
                                  • B Brati

                                    @juergen2908

                                    VIS alleine schafft das nicht. Wenn du immer nur eine Zone reinigen möchtest, kannst du per VIS Button den Befehl in den State "mihome-vacuum.0.control.zoneClean" schreiben. Ansonsten musst du das per Script zusammen basteln:

                                    Zwischenablage01.jpg

                                    Diese View steuert das Script.

                                    var IDRobo      =   "mihome-vacuum.0.control.X_send_command"/*send command*/,
                                        IDFan       =   "mihome-vacuum.0.control.fan_power"/*Suction power*/,
                                        IDGoTo      =   "mihome-vacuum.0.control.goTo"/*Go to point*/,
                                        IDZoneClean =   "mihome-vacuum.0.control.zoneClean"/*Clean a zone*/,
                                        IDCarpet    =   "mihome-vacuum.0.control.carpet_mode"/*Carpet mode*/,
                                        IDStartClean=   'mihome-vacuum.0.control.start'/*Start vacuum*/,
                                        Zone1       =   "[26100,24500,29500,29000,1]", // Wohnzimmer incl. Teppich bis Terrasse
                                        Zone2       =   "[22500,25200,26000,29000,1]", // Wohnzimmer Teppichkante bis Tür
                                        Zone3       =   "[22500,25200,25900,26350,1]",// Wohnzimmer nur Laufbereich bis Teppichkante
                                        Zone3a      =  "[22500,25500,23100,28500,1]",// Wohnzimmer nur Laufbereich vor der Küche
                                        Zone4       =   "[18600,27050,22500,28600,1]", // Küche komplett
                                        Zone4a      =   "[18600,27250,22250,28600,1]", // Küche Laufbereich
                                        Zone5       =   "[18500,24800,22500,26650,1]", // Flur komplett
                                        Zone6       =   "[21400,25000,22500,26700,1]", // Flur nur bis Treppe
                                        ZoneP       =   "app_goto_target; [20400,27600]", // vor dem Mülleimer parken
                                        Zone        =   "",
                                        Timertaeglich,
                                        Logging     =   true,
                                        tag         =   new Date().getDay(), 
                                                  
                                        Urlaub, timer, Gaeste, Anwesen, Verlass, KinderD, Tuer, Morjens, Morjenslos, TuerSchlaf, Feier      =   false;
                                        
                                    // setState(IDRobo, "app_zoned_clean;[" + Zone4a + "]"); // Zone testen
                                    // setState(IDRobo, ZoneP);                             // Zielpunkt testen
                                    
                                    /*app_zoned_clean;[[27200,28800,28300,32700,1]] unten links, oben rechts, Anzahl */
                                    
                                    /* Zusammensetzen der Zonen für die Reinigung */
                                    function RZone(){
                                            Zone        =   "";        
                                            if (getState("javascript.0.Roborock.Zone1").val) Zone = Zone1;
                                            if (getState("javascript.0.Roborock.Zone2").val && Zone !=="") Zone = Zone + "," + Zone2;
                                            if (getState("javascript.0.Roborock.Zone2").val && Zone ==="") Zone = Zone2;
                                            if (getState("javascript.0.Roborock.Zone3").val && Zone !=="") Zone = Zone + "," + Zone3;
                                            if (getState("javascript.0.Roborock.Zone3").val && Zone ==="") Zone = Zone3;
                                            if (getState("javascript.0.Roborock.Zone4").val && Zone !=="") Zone = Zone + "," + Zone4;
                                            if (getState("javascript.0.Roborock.Zone4").val && Zone ==="") Zone = Zone4;
                                            if (getState("javascript.0.Roborock.Zone5").val && Zone !=="") Zone = Zone + "," + Zone5;
                                            if (getState("javascript.0.Roborock.Zone5").val && Zone ==="") Zone = Zone5;
                                        
                                       Zone= "app_zoned_clean;[" + Zone + "]";
                                    }
                                    
                                        
                                    /* aktuelle Randbedingungen abfragen */
                                    function VarStatus(){
                                        Urlaub  = getState("hm-rega.0.2638"/*Urlaub*/).val;
                                        Gaeste  = getState("hm-rega.0.3469"/*Gaeste*/).val;
                                        Anwesen = getState("hm-rega.0.7028"/*Anwesenheit*/).val;
                                        Verlass = getState("hm-rega.0.13102"/*Verlassen*/).val;
                                        KinderD = getState("hm-rega.0.25633"/*Kinderdienst*/).val;
                                        Tuer    = getState("hm-rpc.0.LEQ1468275.1.STATE"/*Wohnzimmer Kontakt Tuer.STATE*/).val;
                                        Feier   = getState("feiertage.0.heute.boolean"/*Feiertag heute?*/).val;
                                        tag     = new Date().getDay();
                                        Morjens = getState("javascript.0.Roborock.Morjens").val;
                                    }
                                    
                                    
                                    /* Zone auf Abruf in Vis */
                                    on({id: new RegExp('javascript\\.0\\.Roborock\\.Zone1' + "|" + 'javascript\\.0\\.Roborock\\.Zone2' + "|" + 'javascript\\.0\\.Roborock\\.Zone3' + "|" + 'javascript\\.0\\.Roborock\\.Zone4' + "|" + 'javascript\\.0\\.Roborock\\.Zone5'), val: true}, function (obj) {
                                        
                                        if (timer) clearTimeout(timer);
                                        timer = setTimeout(function () {
                                            RZone();
                                            setState(IDFan, 77);
                                            setState(IDCarpet, true);
                                            setState(IDRobo, Zone);
                                            setState("javascript.0.Roborock.Zone1", false);
                                            setState("javascript.0.Roborock.Zone2", false);
                                            setState("javascript.0.Roborock.Zone3", false);
                                            setState("javascript.0.Roborock.Zone4", false);
                                            setState("javascript.0.Roborock.Zone5", false);
                                            }, 10000);
                                    });
                                    
                                    
                                    
                                    /* tägliche Reinigung alles*/
                                    
                                    function TimerSetzen(value) {
                                        value   = value.split(":");
                                    var time    = value[1] + " " + value[0] + " * * *"; 
                                        log("täglicher Zeit: " + time);
                                        Timertaeglich   =   schedule(time, function (){
                                            Reinigungtaegl ();
                                        });
                                    };
                                    
                                    on({id: 'javascript.0.Roborock.Timer.Time', change: "ne"}, function (obj) {
                                        var value = obj.state.val;
                                        var oldValue = obj.oldState.val;
                                        TimerSetzen(value);
                                        clearSchedule(Timertaeglich);
                                    });
                                    
                                    TimerSetzen(getState('javascript.0.Roborock.Timer.Time').val);
                                    
                                    function Reinigungtaegl() {
                                        VarStatus();
                                        
                                        if (!Urlaub && getState("javascript.0.Roborock.Timer." + tag).val) {
                                            setState(IDFan, 77);
                                            setState(IDCarpet, true);
                                            setState(IDStartClean, true);
                                            sendTo("pushover.0", {
                                                    message:  'tägliche Reinigung!', // mandatory - your text message
                                                    title:    'Roborock', // optional  - your message's title, otherwise your app's name is used
                                                    priority: -1,});
                                        }
                                    };
                                    
                                    /* früh den Laufbereich */
                                    schedule("30 4 * * 1-5", function () {
                                        Morjenslos = true;
                                        });
                                    
                                    schedule("30 8 * * 1-5", function () {
                                        Morjenslos = false;
                                        });
                                    
                                    on({id: 'mihome.0.devices.magnet_158d0002bf95de.state'/*Is opened*/, val: false}, function (obj) {    
                                        VarStatus();
                                        MorjensReinigung();
                                    });
                                    
                                    function MorjensReinigung(){
                                        if (!Urlaub && !Feier && !Tuer && !Gaeste && Morjens && Morjenslos) {
                                            Zone        =   "app_zoned_clean;[" + Zone4a + "," + Zone3a + "," + Zone3 + "," + Zone6 + "]";
                                            Morjenslos = false;
                                            setState(IDFan, 60);
                                            setState(IDCarpet, false);
                                            setState(IDRobo, Zone);
                                        }
                                    }
                                    
                                    
                                    createState('Roborock.Timer.1', false,{type: "boolean",name:"Montag",  role: "Montag"});
                                    createState('Roborock.Timer.2', false,{type: "boolean",name:"Dienstag",  role: "Dienstag"});
                                    createState('Roborock.Timer.3', false,{type: "boolean",name:"Mittwoch",  role: "Mittwoch"});
                                    createState('Roborock.Timer.4', false,{type: "boolean",name:"Donnerstag",  role: "Donnerstag"});
                                    createState('Roborock.Timer.5', false,{type: "boolean",name:"Freitag",  role: "Freitag"});
                                    createState('Roborock.Timer.Time', "14:00:00",{type: "string",name:"Startzeit",  role: "Startzeit"});
                                    createState('Roborock.Zone1', false,{type: "boolean",name:"Zone 1",  role: "Wz incl Teppich bis Terrasse"});
                                    createState('Roborock.Zone2', false,{type: "boolean",name:"Zone 2",  role: "Wz ab Teppich bis Tür"});
                                    createState('Roborock.Zone3', false,{type: "boolean",name:"Zone 3",  role: "Wz Laufbereich"});
                                    createState('Roborock.Zone4', false,{type: "boolean",name:"Zone 4",  role: "Küche komplett"});
                                    createState('Roborock.Zone5', false,{type: "boolean",name:"Zone 5",  role: "Flur komplett"});
                                    createState('Roborock.Zone6', false,{type: "boolean",name:"Zone 6",  role: "Flur vor der Treppe"});
                                    createState('Roborock.Morjens', true,{type: "boolean",name:"Morjens reinigen",  role: "Morjens reinigen"});
                                    
                                    

                                    Man kann die Zonen wählen, alles reinigen, die tägliche Reinigung einstellen...

                                    Ich habe schon ein paar Dinge rausgelöscht, morgens reinigen triggert zum Beispiel die Schlafzimmertür, erst wenn der Erste aufgestanden ist und diese geschlossen wird, düst er los...

                                    Grüße

                                    Brati

                                    F Offline
                                    F Offline
                                    fischmir
                                    wrote on last edited by
                                    #2059

                                    @Brati Kannst du mir deine log()-Methode schicken? (Skriptfehler)... danke!

                                    B 1 Reply Last reply
                                    0
                                    • F fischmir

                                      @Brati Kannst du mir deine log()-Methode schicken? (Skriptfehler)... danke!

                                      B Offline
                                      B Offline
                                      Brati
                                      wrote on last edited by
                                      #2060

                                      @fischmir sagte in [Frage] Xiaomi Vacuum cleaner:

                                      @Brati Kannst du mir deine log()-Methode schicken? (Skriptfehler)... danke!

                                      Welche log Methode meinst du? Die Variable logging lege ich bei der Entwicklung immer mit an, hab sie hier aber gar nicht verwendet.

                                      Das Script stark vereinfacht, habe ich hier noch mal gepostet

                                      https://forum.iobroker.net/post/256428

                                      Grüße Brati

                                      CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

                                      1 Reply Last reply
                                      0
                                      • L looxer01

                                        @Meistertr:

                                        jedoch hat man hier keine Einfluss auf die formatierung oder liege ich da falsch? Über Dass Html widget ist es alles super formatiert.. `

                                        Man kann auch formatieren aber weniger flexibel. Dafuer ist es aber sehr einfach einzubinden und anzupassen.

                                        Mit der Formatierung des HTML Widgets habe ich ein Problem. Die Spalte "Flaeche" läuft ueber und wird daher zweizeilig dargestellt.

                                        Die Schrift laesst sich zwar verkleinern, allerdings muss sie so klein dargestellt werden, dass es kaum noch lesbar ist.

                                        und 1000 Dank fuer deine Muehe den View mit allem drum und dran zur Verfuegung zu stellen. So konnte ich relativ schnell meine Anpassungen vornehmen: siehe unten.

                                        Dort siehst du auch das Formatierungsproblem mit dem HTML Widget.

                                        305_robert.jpg

                                        F Offline
                                        F Offline
                                        fabian.krauss
                                        wrote on last edited by
                                        #2061

                                        @looxer01 said in [Frage] Xiaomi Vacuum cleaner:

                                        @Meistertr:

                                        jedoch hat man hier keine Einfluss auf die formatierung oder liege ich da falsch? Über Dass Html widget ist es alles super formatiert.. `

                                        Man kann auch formatieren aber weniger flexibel. Dafuer ist es aber sehr einfach einzubinden und anzupassen.

                                        Mit der Formatierung des HTML Widgets habe ich ein Problem. Die Spalte "Flaeche" läuft ueber und wird daher zweizeilig dargestellt.

                                        Die Schrift laesst sich zwar verkleinern, allerdings muss sie so klein dargestellt werden, dass es kaum noch lesbar ist.

                                        und 1000 Dank fuer deine Muehe den View mit allem drum und dran zur Verfuegung zu stellen. So konnte ich relativ schnell meine Anpassungen vornehmen: siehe unten.

                                        Dort siehst du auch das Formatierungsproblem mit dem HTML Widget.

                                        305_robert.jpg

                                        Kann mir jemand zu dieser Frage die Lösung/Antwort sagen? Der Thread geht ja sehr durcheinander

                                        S 1 Reply Last reply
                                        0
                                        • F Offline
                                          F Offline
                                          FloJo
                                          wrote on last edited by
                                          #2062

                                          Hallo Zusammen,
                                          Ich habe mittlerweile auch den Roboter in iobroker eingefügt und beschäftige mich jetzt mit der Zonenreinigung. Leider wird bei mir unter dem Adapter nur Spotcleaning und kein zoneclean unter control angezeigt. Hat jemand ne Ahnung woran das liegt und kann mir helfen?

                                          Danke
                                          Flo

                                          O 1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

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

                                          537

                                          Online

                                          32.8k

                                          Users

                                          82.7k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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