NEWS
Adapter mihome-vacuum anpassungen
-
@dirkhe Fix schon commited/gepusht?
-
jetzt ja
-
@dirkhe die API gibt ja auch multi room Auswahl her wäre das noch eine Option ui integrieren? Ansonsten könnte man es auch einfach nur in die readme mit aufnehmen..
-
@Meistertr sagte in Adapter mihome-vacuum anpassungen:
@dirkhe die API gibt ja auch multi room Auswahl her wäre das noch eine Option ui integrieren? Ansonsten könnte man es auch einfach nur in die readme mit aufnehmen..
Das verstehe ich nicht was du meinst. Meinst du das man mehrere Räume aufeinmal reinigen kann? Dass würde ich bei den Timern berücksichtigen. Sonst ist es schwierig, das in die DP mit aufzunehmen...
-
@dirkhe genau das meine ich.
-
@dirkhe Update mit Fix funktioniert.
Außerdem werden die korrekten Räume mit der gewählten Saugstärke gesaugt.
Soweit alles bestens mit der 1.9.1.Multiraum löse ich über ein Array was ich vor dem Saugen zusammensetze und dann in das X_send_command Objekt schreibe.
-
Am Multiraum bin ich gerade dran...
-
Cool wäre es auch wenn man bei bereits laufender Raumreinigung gestartet per Button im Raumknoten bei Klick auf einen anderen Raumreinigungs-Button dieser erst an den Sauger gesendet würde wenn die vorherige Raumreinigung beendet ist.
Dafür habe ich bisher eigene Buttonobjekte pro Raum, die bevor sie "app_segment_clean;[]" über "X_send_command" senden, den aktuellen Status vom Sauger prüfen. Erst wenn der Status von 18 auf 6 geht, wird die nächste RaumID in X_send_command geschrieben. Genau diese Buttons bräuchte ich nicht mehr wenn das mit den neuen vom Adapter so wäre.
Für alle die direkt den aktuellen Raum abbrechen und den neuen starten wollen, könnte man ein Config Wert im Adapter erstellen.Das ganze nutze ich über Alexa. "Alexa, Wohnzimmer saugen." > "Ok" > Sauger fährt los, "Alexa, Bad saugen" > "Ok" Sauger fährt erst ins Bad nach Beendigung vom Wohnzimmer. So kann ich dynamisch alle Räume aufzählen ohne für jede Konstellation eine Routine zu bauen. Vorher habe ich das Alexa summary Objekt auf alle Raumnamen in Kombination mit "saugen" geparst und dann ein Array für app_segment_clean;[] befüllt. Aber dann quatsch Alexa halt immer "ich weiß nicht..." weil der Befehl mit keinem Gerät matcht.
-
Es ist eine neue Version oben (Btw. an der Versionierung habe ich nichts gemacht)
Hinzugefügt habe ich einen Datenpunkt für das MultiRoom cleaning:
Zusätzlich habe ich 2 neue customCommands hinzugefügt (aber noch nicht dokumentiert)
zum einen
cleanSegments mit den Parametern der Indizies gemappten Karte
cleanRooms mit den Parametern der ioBroker Räume. Anhand derer werden dann die entsprechenden Indizies der Karte gesucht und anschliessend cleanSegments aufgerufen. Gibt es nur einen Raum, wird der entsprechende Datenpunkt "angeklickt", weil dann auch dessen PowerFan Einstellungen gezogen wirdWenn bereits der Sauger am laufen ist, werden weitere Trigger in eine Queue geschoben (beim Schreiben fällt mir gerade ein, dass ich eine LIFO gemacht habe, muß ich noch ändern zu FIFO) und danach abgearbeitet. Mal schauen, ob das alles so funktioniert. Ich habe mich da an den vorhanden Flag zoneCleanActive drangehangen.
Zu 100% habe ich das aber nicht alles nachvollziehen können....Mit den Timern bin ich auch schon weiter, die muß ich jetzt nur noch pflegbar machen.
-
Hi,
habe es installiert und auf dem S5 auch die neuste Firmware mit Raumerkennung drauf. Unter den Objekten erscheinen unter rooms nur die Einträge "loadRooms" und "multiRoomClean" sonst nichts weiter. -
@lesiflo hast du in der App die Räume benannt?
Am besten immer erst einen Raum benennen dann auf load rooms klicken, dann im iobroker direkt den Raum zuordnen, dann brauchst du nicht raten.... -
@dirkhe
bekomme ber Installation des Adapters folgende Fehlermeldung, kann aber mit dieser leider nichts anfangen:$ ./iobroker url "https://github.com/dirkhe/ioBroker.mihome-vacuum.git" install https://github.com/dirkhe/ioBroker.mihome-vacuum/tarball/master npm install https://github.com/dirkhe/ioBroker.mihome-vacuum/tarball/master --production --save --prefix "/opt/iobroker" (System call) node-pre-gyp WARN Using request for node-pre-gyp https download node-pre-gyp WARN Tried to download(404): https://github.com/node-gfx/node-canvas-prebuilt/releases/download/v2.6.1/canvas-v2.6.1-node-v57-linux-glibc-arm.tar.gz node-pre-gyp WARN Pre-built binaries not found for canvas@2.6.1 and node@8.16.0 (node-v57 ABI, glibc) (falling back to source compile with node-gyp) Package pixman-1 was not found in the pkg-config search path.Perhaps you should add the directory containing `pixman-1.pc' to the PKG_CONFIG_PATH environment variable No package 'pixman-1' found gyp: Call to 'pkg-config pixman-1 --libs' returned exit status 1 while in binding.gyp. while trying to load binding.gyp gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1gyp ERR! stack at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:345:16) gyp ERR! stack at emitTwo (events.js:126:13) gyp ERR! stack at ChildProcess.emit (events.js:214:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12) gyp ERR! System Linux 4.14.71-v7+gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/opt/iobroker/node_modules/canvas/build/Release/canvas.node" "--module_name=canvas" "--module_path=/opt/iobroker/node_modules/canvas/build/Release" "--napi_version=4" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v57" gyp ERR! cwd /opt/iobroker/node_modules/canvas gyp ERR! node -v v8.16.0 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/opt/iobroker/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/opt/iobroker/node_modules/canvas/build/Release --napi_version=4 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v57' (1)node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/opt/iobroker/node_modules/canvas/node_modules/node-pre-gyp/lib/util/compile.js:83:29) node-pre-gyp ERR! stack at emitTwo (events.js:126:13) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:214:7) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:915:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5) node-pre-gyp ERR! System Linux 4.14.71-v7+ node-pre-gyp ERR! command "/usr/local/bin/node" "/opt/iobroker/node_modules/canvas/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd /opt/iobroker/node_modules/canvasnode-pre-gyp ERR! node -v v8.16.0 node-pre-gyp ERR! node-pre-gyp -v v0.11.0node-pre-gyp ERR! not ok npm ERR! code ELIFECYCLE npm ERR! errno 1npm ERR! canvas@2.6.1 install: `node-pre-gyp install --fallback-to-build` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the canvas@2.6.1 install script.npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2020-01-09T19_38_43_809Z-debug.log process exited with code 0
Woran könnte es liegen?
-
Das hat erstmal nicht mit dem Adapter selber zu tun. Hattest du vorher schon den Adapter normal über git am Laufen gehabt?
Ich vermute mal, dass du einen 32bit System hast? Dafür scheint es die canvas Lib nicht zu geben. Ich vermute mal, dass @Meistertr das für valetudo benötigt?Wie man das jetzt auf die Schnelle fixen kann, weiss ich auch nicht
-
@dirkhe hab die neue Version installiert, keine Probleme oder Fehler im Log.
Valetudo noch nicht getestet.Mir ist aber aufgefallen, das bei Fanpower nur eine Einstellung 101, 102,103,104 funktioniert, also nicht mehr prozentual von 0-100. Liegt wohl aber nicht an deiner Version, bei der 1.1.6 war es auch seit ein paar Tagen so. Ich vermute mal, das es an dem neuen Update legt, das Xiaomi für den S5 rausgebracht hat.
Kann das noch jemand bestätigen ?
-
@dirkhe sagte in Adapter mihome-vacuum anpassungen:
Das mit den Räumen scheint eine neue Funktion der neueren Generation zu sein. Du kannst dabei in der App die Räume benennen. Die Namen der Räume werden zwar nur in der App gehalten, aber die haben eine feste ID. Wenn du jetzt eine Karte hast,, scheint er intern eine Liste mit Räumen zu definierten Bereichen in der Karte zu halten. Bei mir hat er den Index dieser Bereiche intern bereits auf 20 hochgezählt. Daher speichere ich ja primär die ID es Raumes und den dazu passenden Index. Sollte man dann in der App eine neue Karte machen und die Räume neu zuordnen, wird das wieder gematcht.
Das Drehen der Karte ist, soweit ich das gelesen habe, eher ein Problem der älteren Roboter.
Welchen hast du? Hast du meinen Adapter mal installiert und bekommst du die Räume angelegt?Wie kann ich die entstandenen Räume in der App (IOS) den benennen? Ich habe alles durch, keine Ahnung...
-
@Agria4800 sagte in Adapter mihome-vacuum anpassungen:
@dirkhe hab die neue Version installiert, keine Probleme oder Fehler im Log.
Valetudo noch nicht getestet.Mir ist aber aufgefallen, das bei Fanpower nur eine Einstellung 101, 102,103,104 funktioniert, also nicht mehr prozentual von 0-100. Liegt wohl aber nicht an deiner Version, bei der 1.1.6 war es auch seit ein paar Tagen so. Ich vermute mal, das es an dem neuen Update legt, das Xiaomi für den S5 rausgebracht hat.
Kann das noch jemand bestätigen ?
Eigentlich sollte das nur bei model === 'roborock.vacuum.m1s' || model === 'roborock.vacuum.s6' umgeswitcht werden. Was steht denn bei dir unter info in device_model?
-
@Agria4800 Du gehst in die mi home app. Dann mußt du du mind. einen Raum festlegen (sonst kam es bei mir zu Fehlern beim Zuordnen). Besser du wählst schon mal alle vorhanden aus. Verknüpfen mit Geräten musst du da aber nichts.
Dann auf "Zone" bearbeiten (an der Linken Seite so ein kleines Icon). Dort einen Raum anklicken und auf benennen klicken. Dann entwerder einen aussuchen oder benutzerdefiniert. -
@mumurik:
Moin, den Fehler hatte ich auch, hier die Lösung von foxdriver76: https://forum.iobroker.net/topic/26900/hinzufuegen-von-roomba-adapter-wirft-fehler.
Ist zwar für den roomba-Adapter behebt aber auch hier den Fehler -
@dirkhe: Ok, dann geht es noch nicht bei mir. Mit der jetzigen neuen Firmware für den S5 kann man in der APP noch keine Räume benennen. Kommt aber noch später.
-
@lesiflo ok, aber ich denke, dass ich die Funktion dann so drin lassen kann. Ich könnte bei leeren Räumen einen Dummy Datenpunkt anlegen, wo ich die Info anlege, dass die Räume erst in der App angelegt werden müssen, wenn möglich. Als Info für den User