Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Adapter mihome-vacuum anpassungen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Adapter mihome-vacuum anpassungen

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      samke @MP_Trixi last edited by

      Hi,

      ich kann per "http://192.168.xxx.xxx:8087/set/mihome-vacuum.0.rooms.xxxxxxxxxxxx.roomClean?value=1" einen einzelnen Raum gezielt saugen lassen. Das klappt super.

      Über das Objekt "multiRoomClean" kann ich verschiedene Räume verküpfen und wenn man das Objekt auslöst, dann startet eine Reinigung genau nur mit den verknüpften Räumen.

      Die Frage ist nun, wie lautet dazu der Link, womit ich dann "multiRoomClean" starten kann? Und genauer gefragt, wie kann ich in diesem Link die gewünschten Räume übergeben?
      Das heißt, ich möchte nicht fix Räume hinterlegen und dann diese Reinigung starten, ich möchte jedesmal die Räume erst bestimmen (per Link!). Grund ist, das mal der eine oder andere Raum nicht mitgesaugt werden soll.

      Danke für eure Hilfe!

      D B 2 Replies Last reply Reply Quote 0
      • D
        dirkhe Developer @samke last edited by

        @samke am besten über custom command, bzw. Sendto, da gibt es diverse möglichkeiten, siehe doku

        1 Reply Last reply Reply Quote 0
        • Peoples
          Peoples @Idefix01 last edited by Peoples

          @idefix01 sagte in Adapter mihome-vacuum anpassungen:

          Guten Abend,

          Ich habe vor mir einen Roborock S7 zu kaufen und würde gern Eure Meinung dazu hören:

          1. Wie gut ist die Saugleistung
          2. Wird dieser in dem Adapter unterstützt (Xaomi Vacuum Mop 2S leider nicht)
          3. Wäre das eine gut Wahl (70% Laminat oder Fliesen, 30% Teppichboden)
          4. Lässt sich entscheiden ob saugen oder wischen oder beides oder ist wischen immer dabei?

          Bin gespannt auf Eure Meinung. Vielen Dank im voraus.

          Hi wir haben uns den S7 MaxV Ultra gekauft und sind bisher echt begeistert.
          Wir haben hauptsächlich Laminat und Fliesen und ein paar Teppiche (teilweise Hochflor)

          Zu deinen Fragen:

          1. Bei uns fährt der Sauger immer im Auto-Mode, d.h. er saugt auf niedrigster Stufe auf Hartböden und auf Teppich fährt er die Leistung hoch auf Voreinstellung.
          2. Ich denke ja, lediglich wenn der Mop in der Station gewaschen wird zeigt das die App an der Adapter aber nicht.
            Das Mop-Trocknen durch das Trocknermodul wird weder in der App noch dem Adapter angezeigt.
          3. Wir sind begeistert, bis auf das entleeren der Stationtanks bzw. des Station-Staubbeutels funktioniert alles automatisch.
            Auf unseren Hochflor lasse ich ihn nicht fahren, weil sich dort die Bürste mit den Fasern ein "Gefecht" liefert.
            Einmal wird die Faser ausgerissen ein anderes mal steckt der Sauger fest.
          4. Ich finde auch dass die Wisch-Funktion wirklich gut funktioniert, durch das Vibrieren des Mops und das regelmäßige Wischen ist bei uns bestimmt der Grad der Grund-Sauberkeit gestiegen.
            Was man auch sieht wenn man das Schmutzwasser entleert.
            Wenn man jedoch denkt man müsse nie mehr eine Bodenreinigung selbst durchführen, wird man wahrscheinlich enttäuscht werden.
            Wischen ist bei uns immer eingeschaltet, da er ja beim Überfahren der Teppiche den Mop hebt.

          Wir haben uns für den Sauger entschieden weil unsere Kinder gerne mal etwas herum liegen lassen und laut verschiedenen Videos soll die Objekterkennung durch die Kameras des MaxV Ultra ein wenig besser sein als beim Pro. Ob dem wirklich so ist kann ich jedoch nicht sagen, da ich den Vergleich nicht habe.

          Einziges Manko ist dass er nicht mehr unter unser Sofa fahren möchte, der alte S1 macht das ohne Probleme. Ich Vermute das ist auch auf die Kamera Objekterkennung zurück zu führen.

          1 Reply Last reply Reply Quote 0
          • M
            michisa86888 last edited by

            Hallo zusammen,
            ich will nun meinen Roborock S5 (mit aktuellem valetudo) auch in ioBroker integrieren. Vorab hätte ich noch ein paar Fragen. Habe hier im Thread gelesen dass valetudo auch funktioniert. Habe ich hier Vor.- bzw. Nachteile zur Stock Firmware?
            Lassen sich Etagen einstellen bzw. definieren ohne das die Karte "zerstört" wird?

            1 Reply Last reply Reply Quote 0
            • B
              Beffaan @samke last edited by

              @samke
              Hallo,
              ich stehe vor dem gleichen Problem wie du. Ich würde auch gerne vorher auswählen welche Räume er Saugen soll. Hast du da mittlerweile schon ne Lösung dafür?

              1 Reply Last reply Reply Quote 0
              • R
                RkcCorian last edited by RkcCorian

                Moin Zusammen / Moin @dirkhe !

                Inzw. habe ich endlich meinen Saugroboter wieder und ich versuche mich an der v3.9.5. Ich möchte die Reinigung kommandieren. Das Kommando will / muss ich dynamisch aufbauen, je nachdem was über Alexa reinkam. Komischerweise klappt es, wenn ich das Kommando "hard-codiere", aber nicht, wenn ich den String zusammenbaue. Ich hab Folgendes versucht.

                Gehen tut (aber halt nicht dynamisch)
                Blockly
                4eba728c-c1cc-4d3f-827a-f0a2502ee122-image.png
                Daraus wird

                sendTo("mihome-vacuum.0", "cleanSegments", { rooms:[16], fanSpeed:101, waterBoxMode:200, mopMode:300}, async function (result) {
                    console.log(result);
                  });
                console.debug("mihome-vacuum.0: " + "");
                

                gemacht.

                Was ich brauche aber leider nicht geht und ich weiß nicht warum...
                Blockly
                e784ebe5-0077-4dee-bcbe-cb4ffffa21bd-image.png

                Passender JS

                sendTo("mihome-vacuum.0", "cleanSegments", ['{ rooms:[' + '16','], fanSpeed:' + '101',', waterBoxMode:' + '200',', mopMode:' + '300','}'].join(''), async function (result) {
                    console.log(result);
                  });
                console.debug("mihome-vacuum.0: " + "");
                

                Wenn ich den 2ten Code aufrufe stürzt der Adapter komplett ab...
                554412b1-26fb-47bd-a936-1e5f3ca7bdfd-image.png

                Hat jemand eine Idee? Vielen Dank schonmal im Voraus!!

                R 1 Reply Last reply Reply Quote 0
                • R
                  RkcCorian @RkcCorian last edited by

                  @rkccorian Update... hab jetzt ne JS Function geschrieben, damit geht es. Wäre trotzdem hilfreich zu verstehen, warum das schief geht...

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    dirkhe Developer @RkcCorian last edited by

                    @rkccorian du übergibst als parameter einen string, anstatt ein object

                    1 Reply Last reply Reply Quote 1
                    • N
                      nu_81 last edited by nu_81

                      Habe das selbe Problem.
                      Ich schreibe nun den String in einen Datenpunkt und ordne dem SendTo Block (Blockly) den Werte dieses Objekts zu.
                      Das klappt dann auch mit einem Raum.
                      Kommen in dem String mehrere Räume vor ([16,18]) dann kommt wieder dieselbe Meldung wie bei dir.
                      Wie kann ich mehrere Räume als "Objekt" übergeben?

                      ef248e32-3095-4e7e-a59c-0400f859d058-image.png

                      K 1 Reply Last reply Reply Quote 0
                      • K
                        Kusi @nu_81 last edited by

                        @nu_81 sagte in Adapter mihome-vacuum anpassungen:

                        Ich schreibe nun den String in einen Datenpunkt und ordne dem SendTo Block (Blockly) den Werte dieses Objekts zu.
                        Das klappt dann auch mit einem Raum.

                        Ich kriege es mit SendTo nicht mal hin einen Raum zu reinigen.

                        Im mihome-Adapter habe ich "Sende eigene Befehle" aktiviert.

                        In einem Datenpunkt habe ich den Wert "{rooms:[21],fanSpeed:100,repeat:2}" eingetragen.
                        5946a8a5-bcca-48d6-82ea-f7d2d29670c7-image.png
                        Dann übergebe ich den Wert dieses DP an sendTo.
                        fcff433a-f680-4e09-909b-409ae273bf5b-image.png

                        Beim Ausführen des Befehls stürzt der Adapter ab.

                        M D K 3 Replies Last reply Reply Quote 0
                        • M
                          MP_Trixi @Kusi last edited by MP_Trixi

                          Hallo Leute, hallo @dirkhe,

                          ich habe ein seltsames Problem. Ich habe festgestellt, dass wenn ich die Reinigung über den Adapter steuere (egal ob über Zone, Raum oder Control) der Roboter zwar fährt, aber mit keiner/niedrigster Saugleistung. Egal was ich ihm mitgebe. Er "pingt" zwar, wenn man dann den Datenpunkt verändert, aber bleibt bei seinem lauen Lüftchen. Kommt er auf einen Teppich geht die Leistung hoch (wie via Carpet Mode auch eingestellt). Über die Xiamo App lässt er sich dann auch nicht ändern, solange man es nur im "Saugenmenü" versucht. Dasselbe verhalten (er gibt seinen Ton von sich beim Umstellen, aber tut es nicht). Wenn man in der App dann aber z.B. auf den Reiter Indiv. und zurück zu Saugen wechselt und dann umschaltet, kommen die Änderung so an, dass er es auch tut (Ich hoffe ich drücke mich verständlich aus 😁 ).
                          Startet man den Roboter per App läuft er gleich mit der richtigen eingestellten Saugleistung.
                          Ist Wischen im Adapter nicht auf 200 (OFF), wischt er auch - hier kann ich aber nicht beurteilen ob es zwischen 201 bis 203 Unterschiede gibt, sprich ob er das annimmt.

                          Ich habe einen Roborock S7 Pro Ultra. Das lief jetzt eigentlich seit Okt. 22 alles ohne Probleme und zuverlässig. Was zu dem Verhalten nun geführt hat und seit wann das so ist, kann ich nicht sagen. Aber seit dem habe ich den Raspi getauscht (von 4 auf 8GB RAM) und damit sicher eine neue Adapterversion gezogen. Ebenso gab es sicherlich in der Zeit FW Updates des Roboters.

                          Der Adapter an sich startet ohne Fehler. Die anderen Dinge (Statusrückmeldungen, Start/Stop, Go Home, Mapanzeige in der VIS,...) funktionieren. Jemand eine Idee?

                          Hab grad oben im Verlauf gesehen, dass es 3.4.2 als Adapterversion war, habe jetzt 3.11 drauf.

                          D 1 Reply Last reply Reply Quote 0
                          • D
                            dirkhe Developer @Kusi last edited by

                            @kusi zeige mal das debug log, aber ich vermute, dass der Fehler ist, dass du String eingestellt hast, es soll aber ein json übergeben werden, kenne mich mit blocky aber nicht aus, ist mir zu kompliziert....

                            K 2 Replies Last reply Reply Quote 0
                            • D
                              dirkhe Developer @MP_Trixi last edited by

                              @mp_trixi die 3.11 ist ja die neueste, bzw. 4.0, aber das ist nur für dreame interessant.
                              Du müsstest schon das debuglog posten, damit man sehen kann was passiert. Aber wenn du über den Adapter triggerst, nimmt er dann auch die Einstellungen des Raumes und stellt das dann global ein, war aber eigentlich schon immer so.

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                MP_Trixi @dirkhe last edited by

                                @dirkhe
                                ja - das hat auch immer gut funktioniert. So wie es scheint habe ich da nur Probleme mit dem Parameter für die Saugleistung. Komisch ist, dass die App ihn da dann auch nicht überzeugt, die Leistung anzupassen, so lange man den Modus nicht kurz ändert. Meinst das kann an der FW liegen, dass der Roborock das nicht mehr kann? Hatte schon mal jemand ein ähnliches Phänomen? Welches Debug Log meinst? Den Adapter auf LogLevel Silly und dann das aus dem Log?

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  dirkhe Developer @MP_Trixi last edited by

                                  @mp_trixi loglevel debug reicht, und dann mal hier posten, es reicht der part, wo du gestartest hast und dann vlt. Noch so 2-3 minuten
                                  Ob das an der firmware liegt, kann ich dir nicht sagen. Die Werte sind auf jeden fall robby versions abhängig. Ggf. Müsstest du mal alle level per app durchspielen und schauen, was im adapter ankommt, vlt müssen wir die level dann noch nachjustieren, für das modell

                                  M 1 Reply Last reply Reply Quote 0
                                  • K
                                    Kusi @dirkhe last edited by

                                    @dirkhe sagte in Adapter mihome-vacuum anpassungen:

                                    @kusi zeige mal das debug log, aber ich vermute, dass der Fehler ist, dass du String eingestellt hast, es soll aber ein json übergeben werden, kenne mich mit blocky aber nicht aus, ist mir zu kompliziert....

                                    Vielleicht kann hier @paul53 helfen?

                                    1 Reply Last reply Reply Quote 0
                                    • K
                                      Kusi @dirkhe last edited by

                                      @dirkhe sagte in Adapter mihome-vacuum anpassungen:

                                      zeige mal das debug log

                                      
                                      mihome-vacuum.0
                                      2023-08-26 16:26:36.959	warn	Terminated (UNCAUGHT_EXCEPTION): Without reason
                                      
                                      mihome-vacuum.0
                                      2023-08-26 16:26:36.959	debug	Plugin sentry destroyed
                                      
                                      mihome-vacuum.0
                                      2023-08-26 16:26:36.958	info	terminating
                                      
                                      mihome-vacuum.0
                                      2023-08-26 16:26:36.958	error	Socket Close
                                      
                                      mihome-vacuum.0
                                      2023-08-26 16:26:36.953	error	Cannot read properties of undefined (reading 'repeat')
                                      
                                      mihome-vacuum.0
                                      2023-08-26 16:26:36.953	error	TypeError: Cannot read properties of undefined (reading 'repeat') at VacuumManager.onMessage (/opt/iobroker/node_modules/iobroker.mihome-vacuum/lib/vacuum.js:1416:22) at processTicksAndRejections (node:internal/process/task_queues:95:5) at MihomeVacuum.onMessage (/opt/iobroker/node_modules/iobroker.mihome-vacuum/main.js:414:14)
                                      
                                      mihome-vacuum.0
                                      2023-08-26 16:26:36.951	error	unhandled promise rejection: Cannot read properties of undefined (reading 'repeat')
                                      
                                      mihome-vacuum.0
                                      2023-08-26 16:26:36.951	error	Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                                      
                                      mihome-vacuum.0
                                      2023-08-26 16:26:36.951	debug	MIIO RECIVE: {"id":33,"error":{"code":-10005,"message":"data for segment is not a number"},"exe_time":10}
                                      
                                      mihome-vacuum.0
                                      2023-08-26 16:26:36.950	debug	MIIO MESSAGE TESTING: {"id":33,"error":{"code":-10005,"message":"data for segment is not a number"},"exe_time":10}
                                      
                                      mihome-vacuum.0
                                      2023-08-26 16:26:36.933	debug	Message= {"id":33,"method":"app_segment_clean","params":[null,null,null]}
                                      
                                      mihome-vacuum.0
                                      2023-08-26 16:26:36.933	info	trigger cleaning segment {rooms:[21],fanSpeed:100,repeat:2}
                                      
                                      mihome-vacuum.0
                                      2023-08-26 16:26:36.933	debug	start Cleaning: 18 MObj: {"command":"cleanSegments","message":"{rooms:[21],fanSpeed:100,repeat:2}","from":"system.adapter.javascript.0","_id":76612610,"segments":[null,null,null],"channels":null}
                                      
                                      mihome-vacuum.0
                                      2023-08-26 16:26:36.933	debug	We are in onMessage:{"command":"cleanSegments","message":"{rooms:[21],fanSpeed:100,repeat:2}","from":"system.adapter.javascript.0","_id":76612610,"segments":[null,null,null],"channels":null}
                                      
                                      mihome-vacuum.0
                                      2023-08-26 16:26:36.933	debug	search channels for {rooms:[21],fanSpeed:100,repeat:2} ->
                                      
                                      mihome-vacuum.0
                                      2023-08-26 16:26:36.924	debug	Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) }
                                      
                                      mihome-vacuum.0
                                      2023-08-26 16:26:36.923	debug	We are in onMessage:{"command":"cleanSegments","message":"{rooms:[21],fanSpeed:100,repeat:2}","from":"system.adapter.javascript.0","_id":76612610}
                                      
                                      D 1 Reply Last reply Reply Quote 0
                                      • D
                                        dirkhe Developer @Kusi last edited by

                                        @kusi du übergibst einen string, anstatt ein json

                                        K 1 Reply Last reply Reply Quote 0
                                        • K
                                          Kusi @dirkhe last edited by Kusi

                                          @dirkhe Habe es gefunden... Datenpunkt steht jetzt auf "json".

                                          Hier das neue Log:

                                          
                                          mihome-vacuum.0
                                          2023-08-26 22:06:53.875	debug	Plugin sentry destroyed
                                          
                                          mihome-vacuum.0
                                          2023-08-26 22:06:53.875	info	terminating
                                          
                                          mihome-vacuum.0
                                          2023-08-26 22:06:53.874	error	Socket Close
                                          
                                          mihome-vacuum.0
                                          2023-08-26 22:06:53.869	error	Cannot read properties of undefined (reading 'repeat')
                                          
                                          mihome-vacuum.0
                                          2023-08-26 22:06:53.869	error	TypeError: Cannot read properties of undefined (reading 'repeat') at VacuumManager.onMessage (/opt/iobroker/node_modules/iobroker.mihome-vacuum/lib/vacuum.js:1416:22) at processTicksAndRejections (node:internal/process/task_queues:95:5) at MihomeVacuum.onMessage (/opt/iobroker/node_modules/iobroker.mihome-vacuum/main.js:414:14)
                                          
                                          mihome-vacuum.0
                                          2023-08-26 22:06:53.868	error	unhandled promise rejection: Cannot read properties of undefined (reading 'repeat')
                                          
                                          mihome-vacuum.0
                                          2023-08-26 22:06:53.867	error	Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                                          
                                          mihome-vacuum.0
                                          2023-08-26 22:06:53.867	debug	MIIO RECIVE: {"id":33,"error":{"code":-10005,"message":"data for segment is not a number"},"exe_time":10}
                                          
                                          mihome-vacuum.0
                                          2023-08-26 22:06:53.867	debug	MIIO MESSAGE TESTING: {"id":33,"error":{"code":-10005,"message":"data for segment is not a number"},"exe_time":10}
                                          
                                          mihome-vacuum.0
                                          2023-08-26 22:06:53.848	debug	Message= {"id":33,"method":"app_segment_clean","params":[null,null,null]}
                                          
                                          mihome-vacuum.0
                                          2023-08-26 22:06:53.848	info	trigger cleaning segment {rooms:[21],fanSpeed:100, repeat:2}
                                          
                                          mihome-vacuum.0
                                          2023-08-26 22:06:53.847	debug	start Cleaning: 18 MObj: {"command":"cleanSegments","message":"{rooms:[21],fanSpeed:100, repeat:2}","from":"system.adapter.javascript.0","_id":76612619,"segments":[null,null,null],"channels":null}
                                          
                                          mihome-vacuum.0
                                          2023-08-26 22:06:53.847	debug	We are in onMessage:{"command":"cleanSegments","message":"{rooms:[21],fanSpeed:100, repeat:2}","from":"system.adapter.javascript.0","_id":76612619,"segments":[null,null,null],"channels":null}
                                          
                                          mihome-vacuum.0
                                          2023-08-26 22:06:53.847	debug	search channels for {rooms:[21],fanSpeed:100, repeat:2} ->
                                          
                                          mihome-vacuum.0
                                          2023-08-26 22:06:53.842	debug	Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) }
                                          
                                          mihome-vacuum.0
                                          2023-08-26 22:06:53.841	debug	We are in onMessage:{"command":"cleanSegments","message":"{rooms:[21],fanSpeed:100, repeat:2}","from":"system.adapter.javascript.0","_id":76612619}
                                          
                                          D 1 Reply Last reply Reply Quote 0
                                          • D
                                            dirkhe Developer @Kusi last edited by

                                            @kusi ist immer noch ein string
                                            Müsste So aussehen
                                            We are in onMessage:{"command":"cleanSegments","message":{rooms:[21],fanSpeed:100, repeat:2},"from":"system

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            786
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter entwicklung raumreinigung roborock test vacuum zeitplan
                                            67
                                            511
                                            94354
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo