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.
    • Diginix
      Diginix @dirkhe last edited by Diginix

      @dirkhe Wenn alle Timer mal funktionieren, dann interessiere ich mich auch nicht mehr für Logeinträge. Am Ende stelle ich die meisten Adapter eh auf Loglevel warn. Da ich nun eine Lösung habe, die funktioniert, brauchst du da kein Aufwand betreiben. So wieder Adapter jetzt ist, ist er perfekt für mich. Ich brauche die MiHome App nun gar nicht mehr, außer vllt. mal für die Kartenbearbeitung.

      D.h. sobald @Meistertr den PR merged müsste der offizielle Adapter alle deine Erweiterungen enthalten?

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

        @dirkhe sagte in Adapter mihome-vacuum anpassungen:

        Ich habe es bei mir gerade nochmal getestet und es funktioniert. Es ist doch ein Button, da musst du draufdrücken, im Prinzip wird das auf true gesetzt, das stimmt.
        Setzte den adapter mal auf debug und schaue mal in Log oder poste es hier

        bekomme folgende Fehlermeldung:

        mihome-vacuum.0	2020-01-17 20:06:25.148	error	[189](unknown) -> data for segment is not a number
        mihome-vacuum.0	2020-01-17 20:06:25.147	debug	Receive <<< {"error":{"code":-10000,"message":"data for segment is not a number"},"id":189}<<< 21310080000000000f9d2ccf5e2205b1896f24d2d6fc15813b1b98775008e4b00d55212412c09a0daa616947a3b1b72c0a841aac
        mihome-vacuum.0	2020-01-17 20:06:25.134	debug	sendMsgRaw >>> 21310070000000000f9d2ccf5e2205b112e0cce154de492e8055bae31aab0352808c12daa905e370d2440111e12dcf7a828d84b4c97c92dddeb33a565971ab300ca8f55808a67fa5e20250d8e90be0b916c1cade5d1839e5e4e84ce4
        mihome-vacuum.0	2020-01-17 20:06:25.134	debug	sendMsg >>> {"id":189,"method":"app_segment_clean","params":[null,17,null,104]}
        mihome-vacuum.0	2020-01-17 20:06:25.133	debug	Timestamp: 5e2205b1
        mihome-vacuum.0	2020-01-17 20:06:25.133	debug	trigger cleaning segment NaN,17,NaN,104
        mihome-vacuum.0	2020-01-17 20:06:25.132	debug	redis pmessage messagebox.system.adapter.mihome-vacuum.0 messagebox.system.adapter.mihome-vacuum.0 {"command":"cleanSegments","message":"NaN,17,NaN,104","from":"system.adapter.mihome-vacuum.0","_id"
        mihome-vacuum.0	2020-01-17 20:06:25.129	debug	sendTo "cleanSegments" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0: NaN,17,NaN,104
        mihome-vacuum.0	2020-01-17 20:06:25.042	debug	redis pmessage messagebox.system.adapter.mihome-vacuum.0 messagebox.system.adapter.mihome-vacuum.0 {"command":"cleanRooms","message":"enum.rooms.kitchen","from":"system.adapter.mihome-vacuum.0","_id
        mihome-vacuum.0	2020-01-17 20:06:25.040	debug	sendTo "cleanRooms" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0: enum.rooms.kitchen
        mihome-vacuum.0	2020-01-17 20:06:24.979	debug	stateChange mihome-vacuum.0.rooms.multiRoomClean {"val":false,"ack":false,"ts":1579287984977,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1579287984977}
        mihome-vacuum.0	2020-01-17 20:06:24.978	debug	redis pmessage io.mihome-vacuum.0.* io.mihome-vacuum.0.rooms.multiRoomClean {"val":false,"ack":false,"ts":1579287984977,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":15792879
        
        D 1 Reply Last reply Reply Quote 0
        • D
          dirkhe Developer @mumurik last edited by

          @mumurik hast du irgendwelche leeren mapindex, denen du einen Raum zugewiesen hast?
          Ich sollte das zwar abfangen, wollte aber zumindest wissen, was die Ursache ist

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

            Ich habe gerade nochmal in den code geschaut. Ich fange das mittlerweile ab, kann das sein, dass du noch eine ältere Version hast?

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

              @dirkhe sagte in Adapter mihome-vacuum anpassungen:

              Ich habe gerade nochmal in den code geschaut. Ich fange das mittlerweile ab, kann das sein, dass du noch eine ältere Version hast?

              nein, ich habe heute alles deinstalliert und die neueste Version gezogen.

              Einen leeren Mapindex habe ich nicht, ich zeig dir am besten, wie es bei mir aussieht:
              f6cb12fe-ee5e-47ce-8775-3bb58ac503b7-image.png

              "roomClean" in jedem Zimmer funktioniert einwandfrei, wenn ich diesen auf true setze, aber "multiCleanRoom" funktioniert weder mit einem einzigen zugewiesenen Raum noch mit mehreren Räumen.

              Was ich gerade getestet habe, auch der Timer funktionier nicht, für keinen Raum, egal welche ich auswähle...

              Kann es sein, dass ich bei der Raumzuordnung/Benennung irgendetwas falsch gemacht habe bzw. dort noch irgendetwas verkehrt läuft?

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

                Wenn ich mir oben das Log nochmal ansehe, wird da Nan,17,NaN,104 übergeben. Hast du wirklich einen Index von 104?

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

                  @dirkhe sagte in Adapter mihome-vacuum anpassungen:

                  Wenn ich mir oben das Log nochmal ansehe, wird da Nan,17,NaN,104 übergeben. Hast du wirklich einen Index von 104?

                  Nein, 104 ist eher die Saugstäkre, so ist es zumindest für diesen Raum (Raumindex 17) eingestellt

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

                    Bin jetzt echt verwirrt, denn er ruft ja cleanrooms mit dem Parameter Küche auf, das man man im Log ja sehen. Da n wird der Code, den ich weiter oben gespoilert habe aufgerufen. Wenn du sagst, dass die 104 die saugstärke ist, sieht das ja so aus, als wenn das getforeignstate nicht richtig funktionieren würde. Welche js-controller hast du denn installiert? Aber unabhängig davon, wird doch eindeutig auf Zahl, bzw nan geprüft...
                    Kannst du mal bitte in der iobroker/node_modules/ioBroker.mihome-vacuum.main.js nach dem Code von oben suchen, ob der da genauso drin steht?

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

                      @dirkhe sagte in Adapter mihome-vacuum anpassungen:

                      Bin jetzt echt verwirrt, denn er ruft ja cleanrooms mit dem Parameter Küche auf, das man man im Log ja sehen. Da n wird der Code, den ich weiter oben gespoilert habe aufgerufen. Wenn du sagst, dass die 104 die saugstärke ist, sieht das ja so aus, als wenn das getforeignstate nicht richtig funktionieren würde. Welche js-controller hast du denn installiert? Aber unabhängig davon, wird doch eindeutig auf Zahl, bzw nan geprüft...
                      Kannst du mal bitte in der iobroker/node_modules/ioBroker.mihome-vacuum.main.js nach dem Code von oben suchen, ob der da genauso drin steht?

                      habe den js-controller: 1.5.11

                      bei mir sieht die main.js tatsächlich etwas anders aus:

                       case 'cleanRooms':
                                      let rooms= obj.message // comma separated String with enum.rooms.XXX
                                      if (!rooms) return adapter.log.warn("cleanRooms needs paramter ioBroker room-id's")
                                      adapter.getForeignObjects(adapter.namespace + '.rooms.*.mapIndex', 'state', 'rooms', function (err, states) {
                                          if (states){
                                              let mapIndex= [];
                                              for ( let stateId in states){
                                                  for ( let r in states[stateId].enums)
                                                      if (rooms.indexOf(r) >= 0)
                                                          mapIndex.push(stateId)
                                              }
                                              if (mapIndex.length == 1){ // trigger button, because than the fan_power will also set
                                                  adapter.setForeignState(mapIndex[0].replace('.mapIndex','.roomClean'), true, false);
                                              } else if (mapIndex.length > 0){
                                                  adapter.getForeignStates(mapIndex, function(err,states){
                                                      mapIndex= [];
                                                      for ( let stateId in states){
                                                          let val= parseInt(states[stateId].val,10)
                                                          if (val != NaN)
                                                              mapIndex.push(val)
                                                      }
                                                      adapter.sendTo(adapter.namespace, "cleanSegments",mapIndex.join(','))
                                                  })
                                              } else
                                                  adapter.log.warn('cleanRooms found no mapIndex for ' + rooms)
                                          } else
                                              adapter.log.warn("cleanRooms found no room-channel with mapIndex")
                                      });
                                      return;
                      
                      
                      

                      schon ab der Zeile 3...

                      😕

                      Diginix 1 Reply Last reply Reply Quote 0
                      • Diginix
                        Diginix @mumurik last edited by

                        @mumurik Dann solltest du den Adapter mal mit der GIT URL installieren und danach noch mal beim Adapter auf das Upload Icon klicken. Danach nochmal die main.js checken. Ob der alte JS-Controller das ganze auch noch beeinflusst weiß nur @dirkhe .

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

                          Also der code ist schon der richtige, der ist sogar schon neuer. Auf jeden Fall ist die Abfrage da schon drin. Ob es Unterschiede bei den controllern gibt, muss ich jetzt erstmal checken, darum wollte ich ja die Version haben. Ich meld mich dazu

                          1 Reply Last reply Reply Quote 0
                          • M
                            mumurik @Diginix last edited by

                            @Diginix sagte in Adapter mihome-vacuum anpassungen:

                            @mumurik Dann solltest du den Adapter mal mit der GIT URL installieren und danach noch mal beim Adapter auf das Upload Icon klicken. Danach nochmal die main.js checken. Ob der alte JS-Controller das ganze auch noch beeinflusst weiß nur @dirkhe .

                            genauso bitte ich die ganze Zeit auch vorgegangen...

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

                              @mumurik Teste bitte mal folgendes:
                              Du gehst in die config des Adapters (am besten mit chrome)
                              dann drückst du F12, damit du in die Entwickler tools kommst:
                              2d27d588-c4c1-4f3b-8b72-75e9c9ca9044-image.png
                              da gehst du auf console und wählst den content iframe aus. Dann gibst du rechts folgendes ein

                              socket.emit('getObjectView', 'system', 'state', {
                                       startkey: namespace + 'rooms..mapIndex',
                                       endkey: namespace + 'rooms.\u9999.mapIndex'
                              }, function (err, states) { console.log(states) });
                              

                              und postest das Ergebnis

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

                                @dirkhe

                                socket.emit('getObjectView', 'system', 'state', {
                                         startkey: namespace + 'rooms..mapIndex',
                                         endkey: namespace + 'rooms.\u9999.mapIndex'
                                }, function (err, states) { console.log(states) });
                                n {io: n, nsp: "/", json: n, ids: 7, acks: {…}, …}
                                VM267:4 
                                {rows: Array(27)}
                                rows: Array(27)
                                0: {id: "mihome-vacuum.0.rooms.loadRooms", value: {…}}
                                1: {id: "mihome-vacuum.0.rooms.multiRoomClean", value: {…}}
                                2: {id: "mihome-vacuum.0.rooms.addRoom", value: {…}}
                                3: {id: "mihome-vacuum.0.rooms.137001123082.mapIndex", value: {…}}
                                4: {id: "mihome-vacuum.0.rooms.137001123082.roomClean", value: {…}}
                                5: {id: "mihome-vacuum.0.rooms.137001074750.mapIndex", value: {…}}
                                6: {id: "mihome-vacuum.0.rooms.137001074750.roomClean", value: {…}}
                                7: {id: "mihome-vacuum.0.rooms.137001074749.mapIndex", value: {…}}
                                8: {id: "mihome-vacuum.0.rooms.137001074749.roomClean", value: {…}}
                                9: {id: "mihome-vacuum.0.rooms.137001123083.mapIndex", value: {…}}
                                10: {id: "mihome-vacuum.0.rooms.137001123083.roomClean", value: {…}}
                                11: {id: "mihome-vacuum.0.rooms.137001123081.mapIndex", value: {…}}
                                12: {id: "mihome-vacuum.0.rooms.137001123081.roomClean", value: {…}}
                                13: {id: "mihome-vacuum.0.rooms.137001068653.mapIndex", value: {…}}
                                14: {id: "mihome-vacuum.0.rooms.137001068653.roomClean", value: {…}}
                                15: {id: "mihome-vacuum.0.rooms.137001102054.mapIndex", value: {…}}
                                16: {id: "mihome-vacuum.0.rooms.137001102054.roomClean", value: {…}}
                                17: {id: "mihome-vacuum.0.rooms.137001102055.mapIndex", value: {…}}
                                18: {id: "mihome-vacuum.0.rooms.137001102055.roomClean", value: {…}}
                                19: {id: "mihome-vacuum.0.rooms.137001123082.roomFanPower", value: {…}}
                                20: {id: "mihome-vacuum.0.rooms.137001074750.roomFanPower", value: {…}}
                                21: {id: "mihome-vacuum.0.rooms.137001074749.roomFanPower", value: {…}}
                                22: {id: "mihome-vacuum.0.rooms.137001123083.roomFanPower", value: {…}}
                                23: {id: "mihome-vacuum.0.rooms.137001123081.roomFanPower", value: {…}}
                                24: {id: "mihome-vacuum.0.rooms.137001068653.roomFanPower", value: {…}}
                                25: {id: "mihome-vacuum.0.rooms.137001102054.roomFanPower", value: {…}}
                                26: {id: "mihome-vacuum.0.rooms.137001102055.roomFanPower", value: {…}}
                                length: 27
                                __proto__: Array(0)
                                __proto__: Object
                                

                                0a448314-6ceb-4ca6-8a97-8be3706e700d-image.png

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

                                  das scheint, wie vermutet ein bug im JS-controller zu sein, der in der 2er version gefixt ist. Ich baue mal noch eine extra Abfrage ein, die nochmal auf mapIndex filtert

                                  M 2 Replies Last reply Reply Quote 0
                                  • M
                                    mumurik @dirkhe last edited by

                                    @dirkhe
                                    super, danke!

                                    1 Reply Last reply Reply Quote 0
                                    • X
                                      xADDRx @dirkhe last edited by

                                      @dirkhe Hab jetzt mal einiges versucht. sobald ich eine Nummer eingebe, fährt der Roboter kurz raus und wieder rein... Habt ´Ihr einen Tipp für mich?

                                      Ist es eig. normal das einige Räume die selbe Farbe haben?IMG_20200119_004727.PNG

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

                                        @xADDRx sagte in Adapter mihome-vacuum anpassungen:

                                        @dirkhe Hab jetzt mal einiges versucht. sobald ich eine Nummer eingebe, fährt der Roboter kurz raus und wieder rein... Habt ´Ihr einen Tipp für mich?

                                        Kannst du mal das Log schicken, ggf, den Afdapter vorher auf debug stellen

                                        Das mit den Raumfarben weiß ich nicht, aber da die nicht zusammenhängend sind, wird das wahrscheinlich egal sein. Bekommst du denn für jeden Raum eine eigene Nummer?

                                        X 1 Reply Last reply Reply Quote 0
                                        • M
                                          misteriobroker last edited by misteriobroker

                                          Hallo an alle,
                                          ich bin nun auch auf die neueste 2008er Software beim S50 und Mi Vacuum Adapter auf die 1.1.5 geupdated.
                                          Leider bekomme ich einfach nicht den "rooms" Reiter in den Objekten.
                                          Ich habe bei x send commant auch schon "get_room_mapping" eingegeben, aber es klappt einfach nicht.
                                          Was mache ich denn falsch?
                                          Eine aktuelle Karte ist in der Mi Home App angelegt, die Räume kann ich markieren etc.
                                          Den Raspi habe ich schon neu gestartet.
                                          Ich schaffe es einfach nicht.

                                          Könnt ihr mir helfen?

                                          Grüße Kai

                                          D Diginix 2 Replies Last reply Reply Quote 0
                                          • D
                                            dirkhe Developer @misteriobroker last edited by

                                            @misteriobroker sagte in Adapter mihome-vacuum anpassungen:

                                            get_room_mapping

                                            was kommt denn bei get_room_mapping zurück?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            774
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter entwicklung raumreinigung roborock test vacuum zeitplan
                                            67
                                            511
                                            94436
                                            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