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.
    • 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
                                  • F
                                    Freakahhh last edited by

                                    Hallo zusammen,
                                    habe gestern auf meinen Xiaomi Gen 1 Roboter Valetudo gespielt. Hat alles super geklappt. Kann ihn auch im Valetudo WebInterface Steuern und die Karte ist auch schon erstellt.

                                    Jetzt klappt allerdings die Einbindung in ioBroker nicht mehr. Ich habe den Token aus der Valetudo Log genommen und die Ports auf 54321 belassen und natürlich die richtige IP angegeben. Leider bleibt der Adapter gelb 😞
                                    Mit der originalen Firmware und Xiaomi App hat die Einbindung in den Adapter immer ohne Probleme geklappt. Hat jemand eine Idee was ich falsch mache? Ist das auch der richtige Token aus der Valetudo Log Datei?
                                    Ich bin um jede Hilfe Dankbar!

                                    Neuschwansteini 1 Reply Last reply Reply Quote 0
                                    • Neuschwansteini
                                      Neuschwansteini @Freakahhh last edited by

                                      @freakahhh

                                      hi, da hast du jetzt ein Problem. ... irgendwann vor etlichen Monaten wurde die Valetudo Unterstuetzung vom Adapter rausgenommen.. da Valetudo dauernd was geaendert hat und keiner der Developer sich damit auch noch befassen konnte..

                                      F 1 Reply Last reply Reply Quote 0
                                      • F
                                        Freakahhh @Neuschwansteini last edited by Freakahhh

                                        @ilovegym ja gut zu wissen - danke dir! 👍 Schade, dass ich dazu nichts im Netz gefunden habe...
                                        Dann geh ich wieder zurück auf die originale FW... Ich dachte eig. ich könnte dem alten Robi per Valetudo und dem Adapter noch die Zonenreinigung beibringen 🙂 Evtl. gibts ja noch einen anderen weg.

                                        Thomas Braun 1 Reply Last reply Reply Quote 0
                                        • Neuschwansteini
                                          Neuschwansteini last edited by

                                          @freakahhh

                                          das ist hier in dem Thread irgendwo drin... aber schon lange her... Es sei denn, du machst ne alte Valetudo drauf..
                                          Geht die Zone nicht mit dem Adapter?

                                          F 1 Reply Last reply Reply Quote 0
                                          • Thomas Braun
                                            Thomas Braun Most Active @Freakahhh last edited by Thomas Braun

                                            @freakahhh

                                            Rät nicht auch valetudo selber davon ab es auf der ersten Generation des Saugers einzusetzen?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            801
                                            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