NEWS
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? -
@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...
-
-
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
-
@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...
-
@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:
da gehst du auf console und wählst den content iframe aus. Dann gibst du rechts folgendes einsocket.emit('getObjectView', 'system', 'state', { startkey: namespace + 'rooms..mapIndex', endkey: namespace + 'rooms.\u9999.mapIndex' }, function (err, states) { console.log(states) });
und postest das Ergebnis
-
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
-
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
-
@dirkhe
super, danke! -
@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?
-
@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?
-
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
-
@misteriobroker sagte in Adapter mihome-vacuum anpassungen:
get_room_mapping
was kommt denn bei get_room_mapping zurück?
-
Zur Info,
der Adpater ist mittlerweile im offiziellen github Account und gemergt:
https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuumIch habe heute noch eine Neue Version hochgeladen:
https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuum/blob/master/README_de.md#changelog -
@misteriobroker Mit der alten 1.1.5 Version funktioniert das ja auch alles nicht. Du musst die 1.9.x über Git installieren oder schauen wann sie nun über den offiziellen Kanal bei dir ankommt.
-
@dirkhe sagte in Adapter mihome-vacuum anpassungen:
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
Ist es auch schon in der neuen Version gefixt, oder muß ich zwingend auf JS-Controller 2.x upgraden?
-
Sollte gefixt sein, zumindest die bekannte Stelle ist in der aktuellen Version
-
Hallo,
bei mir wird der Datenpunkt send_command nicht mehr angezeigt???
ok, erledigt. Hatte den Haken bei der Neuinstallation vergessen -
In der config angehakt?
-
@dirkhe ja, das war der Fehler...
ich habe Valetudo 0.8.2 installiert. Gibt es eine Möglichkeit gespeicherte Karten per send command zu laden?