NEWS
Adapter mihome-vacuum anpassungen
-
@Diginix hi, sollte klappen. Zumindest gibt es da Unterschiede bei der Implementierung.
Das mit den Räumen funktioniert so, dass er einfach danach fragt. Wenn er eine Antwort bekommt, wird alles weitere initialisiert. -
@dirkhe Habe ihn eben mal über meinen Fork drüber gebügelt und sieht gut aus.
Alle Optimierungen für die Buttons in der io-package.json sind bei dir auch enthalten und die Bedingung für m1s für fan_power ist bei dir auch enthalten. Daher passt auch der state im Knoten control.
Die Räume wurden auch mit der richtigen IndexNr angelegt. Wenn ich zuhause bin teste ich mal ob der korrekten Raum gesaugt wird und die hinterlegte Saugstärke berücksichtig wird.Gute Arbeit!
-
Sehr schön, dass ist doch schon mal eine super Rückmeldung, besten Dank.
Ich arbeite gerade an den Timern. Weiss noch nicht, ob Ich die per DP verwalten soll oder in der Konfiguration.
Per DP ist erstmal einfacher und könnte ggf. Auch in der vis angezeigt/ verändert werden, allerdings hat man dann pro Timer wieder mehrere datenpunkte... -
@dirkhe Bisher sauge ich nur nach Bedarf, also ohne Zeitplan. VIS habe ich auch keine. Daher kann ich da wenig Inspiration liefern.
Was mir gerade im Log auffällt ist minütlich diese Zeile:
(31239) New generation or new fw detected, create new states goto and zoneclean
Hab das Loglevel mal auf warn gestellt. Ich habe gern nur zu beachtendes im Log. Daher sind Statuszeilen die auch noch wiederholt spamen nicht schön für die Übersicht.
-
Habe ich auch schon bemerkt und bei mir schon abgestellt. Ich hatte meinen vom Internet getrennt, dann kommt das nicht, daher hatte ich das nicht vorher bemerkt...
-
@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...