NEWS
Test Adapter mihome-vacuum v2.0.x
-
@dirkhe sagte in Test Adapter mihome-vacuum v2.0.x:
@blackeagle998 vergiss den multiclean, den have ich eingebaut, als es noch keine queue gab. Einfach alle räume antriggern oder einen Timer erstellen, denen ggf. Auf inaktiv setzt und den dann per "jetzt starten" antriggern
Den finde ich aber immer noch schöner weil ich eine Karte am Stück erhalte und auch nicht nach jedem Raum erst die Station angefahren wird um nach 10 Sek. zu merken dass er ja noch woanders hin soll.
multiRoomClean entspricht der nativem Implementierung in der App.Wäre also unschön wenn es wieder aus dem Adapter fliegen sollte. Dann müsste ich mit das clean Array wieder selbst bauen.
-
@Diginix
Dann sag mir jetzt mal bitte, wie du das steuerst, siehe meinen Post oben an dich -
Wenn du einen Timer unter den adapter Einstellungen erstellst, kannst ja direkt mehrere Räume oder mehrere Raum Channels zuweisen. Die fasst er dann auch zusammen, nur Wenn du Raum und Zone kombiniert, werden es 2 Befehle
-
@blackeagle998 sagte in Test Adapter mihome-vacuum v2.0.x:
@Diginix
Dann sag mir jetzt mal bitte, wie du das steuerst, siehe meinen Post oben an dichWas meinst du? Die Räume dem multiRoomClean Objekt zuweisen?
Das mache ich tatsächlich aktuell händisch in der Adminansicht. Per Skript dürfte nicht unmöglich aber schwierig sein.
Per VIS oder Alexa ist es tatsächlich einfach alle Räume die man will hintereinander zu triggern.
Ich hatte mal eigene Buttons pro Raum und da wurde nach jedem Button Trigger 10 Sekunden gewartet ob noch ein weiterer getriggert wird. Kam 10 Sekunden nichts mehr, wurden alle Raum IDs in einem Array gesammelt und der Sauger per app_segment_clean los geschickt. Das Ergebnis ist das gleiche wie bei multiRoomClean. In der Karte sieht man direkt alle gewählten Räume und der Sauger fährt sie nach seiner Logik ab. Und da müsste auch Pause/Resume funktionieren. Zumindest in der App geht es, denn für die App sind ja auch alle gewählten Räume bekannt da gesammelt an den Sauger übertragen. Nur die Adapter Queue kann auch über den Adapter fortgesetzt werden. Aber nie der bereits abgebrochene Raum beendet. -
@Diginix
Danke!@all
Mir ist gerade noch was aufgefallen:
Ich habe vorhin den Flur saugen lassen und der Staubi hat erkannt, dass die Tür vom angrenzenden Bad zu war.
Danach wollte ich per RoomClean das Bad saugen, der Staubi fuhr aber nicht mal von der Ladestation, weil er wegen der geschlossenen Tür auf der Karte nicht zum Ziel kommt. Dass ich die Tür manuell geöffnet habe, kann er nicht wissen, aber ja zumindest prüfen?!Das Problem habe ich mit meiner Zonenreinigung nicht, weil die Grenzen nicht so hart sind wie bei den Räumen, da sich die Zonen überlappen. Er würde also im Flur anfangen, dann erkennen, ach Tür ist auf und dann auch im Bad saugen.
Hmm, dann ist die Raumfunktion für mich nur bedingt nutzbar. -
@blackeagle998 said in Test Adapter mihome-vacuum v2.0.x:
Wenn ich vorher nur einen oder einige Räume gewählt hatte, dann Pause mache und dann Start drücke, führt das nicht dazu, dass er die vorherige Raumreinigung fortsetzt, sondern dazu, dass er alles reinigen will, er wählt dann nämlich die gesamte Karte aus.
Hattest du dazu eine Lösung gefunden? Genau deshalb wollte ich hier eigentlich auch schon mal seit 2 Tagen eine Frage einstellen.
Ich hätte gerne die Möglichkeit das Saugen zu Pausieren, wenn ich mich aktuell in einem Raum aufhalte und mich das Geräusch nervt. Bei Start führt er dann aber wie von dir beschrieben eine Komplettreinigung durch. -
@twothumbs
Momentan kann man das leider nur über die App fortsetzen.
Eine andere Möglichkeit einen unterbrochenen RoomClean fortzusetzen, kenne ich bisher nicht. -
Ich habe das jetzt noch nicht weiter geprüft, aber wenn ich auf dem Sauger selber die Taste drücke, hält er an und ich kann zb. Den wassertank drunter wegnehmen. Wenn ich dann nochmal drücke, macht er weiter. Ich habe noch nicht geschaut, was er da triggert, weil es einfach funktioniert hat
-
@blackeagle998 sagte in Test Adapter mihome-vacuum v2.0.x:
@twothumbs
Momentan kann man das leider nur über die App fortsetzen.
Eine andere Möglichkeit einen unterbrochenen RoomClean fortzusetzen, kenne ich bisher nicht.Dann ist der Pause/Start Button in der App Kontextabhängig und der im Adapter ist immer ein "dummer" Sauge alles Start.
wie @dirkhe geschrieben hat, gilt es herauszufinden was für ein Event ausgelöst werden muss um den pausierten Vorgang fortzusetzen, egal ob Zone, Raum, Spot. -
@dirkhe sorry aber anders kann ich es nicht zeigen was im chat genant wurde
keine debug funktion
-
wie ich geschrieben habe, Spalte "log stufe" -> das steht jetzt auf info, das stellst du auf debug
-
@Meistertr Hi, der Adapter funktioniert soweit super, nur bekomme ich bei meinen 3 Instanzen immer den gleichen Wert in mihome-vacuum.0.map.mapURL
mihome-vacuum.1.map.mapURL
mihome-vacuum.2.map.mapURLWert:
/mihome-vacuum.admin/actualMap.pnggeschrieben.. was zur Folge hat, dass bei allen 3 Instanzen die gleiche Map angezeigt wird, also diejenige, die zuletzt aktualisiert wurde..
/mihome-vacuum.admin/actualMap.png hier müsste für jede Instanz noch eine Zahl angehängt werden.. sogenanntes Multi-Mapping ;-)) -
@ilovegym das hat @Meistertr schon auf dem Schirm, weil das bereits gemeldet wurde. Ich denke dass er dademnächst die Instanz Id dahinter schreibt oder so
-
@Diginix @blackeagle998
Wenn im Adapter start gedrückt wird und ihr resume in den Adapter Einstellungen aktiviert habt, sendet er resume_zoned_clean. Ich habe gerade mal geschaut, es scheint auch resume_segment_clean zu geben. Wenn es mit zone funktioniert und mit rooms nicht müsste ich nur abfragen was gerade gesaugt wird und dann entweder das eine oder das andere zurückschicken.
Edit:
gerade getestet, mit resume_segment_clean klappt das. Ich baue das ein... -
@dirkhe jetzt habe ich es kapiert.sorry
-
@dirkhe said in Test Adapter mihome-vacuum v2.0.x:
resume_segment_clean
Wäre "resume_segment_clean" ein Befehl, den ich auch einfach als custom command schicken könnte? Habe schon mal versucht zu googeln, ob es solch einen Befehl gibt, aber nichts gefunden (nicht einmal ein resume_zone_clean).
-
@twothumbs Ja, kannst du so in das Objekt schreiben.
Hast schlecht gegoogelt
Hier findest du alles dazu:
https://python-miio.readthedocs.io/en/latest/_modules/miio/vacuum.html#Vacuum.resume_segment_clean -
@Diginix
genial, danke. In der Tat wohl schlecht gegoogelt.
Den Link gleich mal abgespeichert für die Zukunft -
So, wer testen möchte:
https://github.com/dirkhe/ioBroker.mihome-vacuum -
Möchte einen separaten Raum saugen. Der Raum wird in der App auch farblich dargestellt, der Rest ist grau. Also alles okay, der Robbi startet auch und nach 20sek kommt ein Fehler und er fährt zurück in die Station.
Log kriege ich gleich hoffentlich noch zu diesem Error.
2020-02-22 19:47:22.718 - debug: mihome-vacuum.0 (31206) Xiaomi Cloud: Logging in 2020-02-22 19:47:22.727 - info: mihome-vacuum.0 (31206) Expert mode enabled, states created 2020-02-22 19:47:22.728 - info: mihome-vacuum.0 (31206) Cloud control disabled 2020-02-22 19:47:22.737 - info: mihome-vacuum.0 (31206) Disconnect 2020-02-22 19:47:22.743 - debug: mihome-vacuum.0 (31206) server started on 0.0.0.0:53421 2020-02-22 19:47:22.824 - info: mihome-vacuum.0 (31206) change states from State control.fan_power 2020-02-22 19:47:22.834 - info: mihome-vacuum.0 (31206) extend state mop for State control.fan_power 2020-02-22 19:47:22.836 - info: mihome-vacuum.0 (31206) New generation or new fw detected, create new states goto and zoneclean 2020-02-22 19:47:22.871 - info: mihome-vacuum.0 (31206) Connected 2020-02-22 19:47:22.878 - debug: mihome-vacuum.0 (31206) requesting params every: 60 Sec 2020-02-22 19:47:23.065 - debug: mihome-vacuum.0 (31206) system.adapter.admin.0: logging true 2020-02-22 19:47:23.266 - info: mihome-vacuum.0 (31206) set nächster Timer: Nicht verfügbar 2020-02-22 19:47:24.985 - debug: mihome-vacuum.0 (31206) Xiaomi Cloud: Login successful 2020-02-22 19:47:37.878 - debug: mihome-vacuum.0 (31206) no answer for get_status(id:1) received, giving up 2020-02-22 19:47:37.937 - debug: mihome-vacuum.0 (31206) no answer for miIO.info(id:2) received, giving up 2020-02-22 19:47:37.938 - warn: mihome-vacuum.0 (31206) no answer received after after 3 times -> pause miIO.info from request parameters, try again in one hour 2020-02-22 19:47:38.083 - debug: mihome-vacuum.0 (31206) no answer for get_consumable(id:3) received, giving up 2020-02-22 19:47:38.283 - debug: mihome-vacuum.0 (31206) no answer for get_clean_summary(id:4) received, giving up 2020-02-22 19:47:38.482 - debug: mihome-vacuum.0 (31206) no answer for get_sound_volume(id:5) received, giving up 2020-02-22 19:47:40.739 - debug: mihome-vacuum.0 (31206) no answer for get_carpet_mode(id:6) received, giving up 2020-02-22 19:47:40.741 - debug: mihome-vacuum.0 (31206) no answer for get_room_mapping(id:7) received, giving up 2020-02-22 19:47:57.744 - debug: mihome-vacuum.0 (31206) no answer for get_status(id:8) received, giving up 2020-02-22 19:48:02.740 - info: mihome-vacuum.0 (31206) Disconnect 2020-02-22 19:48:02.747 - info: mihome-vacuum.0 (31206) Connected 2020-02-22 19:48:02.749 - debug: mihome-vacuum.0 (31206) requesting params every: 60 Sec
2020-02-22 19:50:23.072 - debug: mihome-vacuum.0 (31206) stateChange mihome-vacuum.0.control.fan_power {"val":102,"ack":false,"ts":1582397423066,"q":0,"from":"system.adapter.mihome-vacuum.0","user":"system.user.admin","lc":1579727970135} 2020-02-22 19:50:24.035 - debug: mihome-vacuum.0 (31206) Mappointer_updated 2020-02-22 19:50:34.968 - debug: mihome-vacuum.0 (31206) update_Map Mimap enabled 2020-02-22 19:50:34.968 - debug: mihome-vacuum.0 (31206) update_Map need new mapurl 2020-02-22 19:50:35.055 - debug: mihome-vacuum.0 (31206) update_Map got new url:https://awsde0.fds.api.xiaomi.com/robomap/robomap/261117977/11?Expires=1582399235000 2020-02-22 19:50:35.055 - debug: mihome-vacuum.0 (31206) update_Map got new expires:1582399235 2020-02-22 19:50:35.056 - debug: mihome-vacuum.0 (31206) update_Map got new time:1582397434 2020-02-22 19:50:35.363 - debug: mihome-vacuum.0 (31206) 25738 2020-02-22 19:50:37.954 - debug: mihome-vacuum.0 (31206) update_Map Mimap enabled 2020-02-22 19:50:37.955 - debug: mihome-vacuum.0 (31206) update_Map use old mapurl 2020-02-22 19:50:37.962 - debug: mihome-vacuum.0 (31206) Mappointer_updated 2020-02-22 19:50:38.151 - debug: mihome-vacuum.0 (31206) 25738 2020-02-22 19:50:40.492 - debug: mihome-vacuum.0 (31206) update_Map Mimap enabled 2020-02-22 19:50:40.492 - debug: mihome-vacuum.0 (31206) update_Map need new mapurl 2020-02-22 19:50:40.530 - debug: mihome-vacuum.0 (31206) Mappointer_updated 2020-02-22 19:50:40.593 - debug: mihome-vacuum.0 (31206) update_Map got new url:https://awsde0.fds.api.xiaomi.com/robomap/robomap/261117977/16?Expires=1582399240000 2020-02-22 19:50:40.594 - debug: mihome-vacuum.0 (31206) update_Map got new expires:1582399240 2020-02-22 19:50:40.595 - debug: mihome-vacuum.0 (31206) update_Map got new time:1582397440 2020-02-22 19:50:40.793 - debug: mihome-vacuum.0 (31206) 25522 2020-02-22 19:50:43.559 - debug: mihome-vacuum.0 (31206) update_Map Mimap enabled 2020-02-22 19:50:43.559 - debug: mihome-vacuum.0 (31206) update_Map need new mapurl 2020-02-22 19:50:43.571 - debug: mihome-vacuum.0 (31206) Mappointer_updated 2020-02-22 19:50:43.624 - debug: mihome-vacuum.0 (31206) update_Map got new url:https://awsde0.fds.api.xiaomi.com/robomap/robomap/261117977/17?Expires=1582399243000 2020-02-22 19:50:43.625 - debug: mihome-vacuum.0 (31206) update_Map got new expires:1582399243 2020-02-22 19:50:43.625 - debug: mihome-vacuum.0 (31206) update_Map got new time:1582397443 2020-02-22 19:50:43.805 - debug: mihome-vacuum.0 (31206) 25522
Hab jetzt den Fehler eingrenzen können und zwar ist der Robbi an dem Raum vorher vorbeigefahren, da war geschlossen. Nun ist die Tür auf, aber in der App ist der
Raum noch verschlossen deswegen fährt er nicht los.
Wie kriege ich die Kuh vom Eis?Edit: Für die User, die den "0 of undefined" Fehler bekommen. Der scheint mit den nicht erreichbaren Räumen zusammen zu hängen. Beim Start hatte ich den Fehler noch im Log, nachdem der Robbi an dem Raum, der jetzt offen ist , vorbeigefahren ist, hat er erkannt, dass er offen ist und der Fehler verschwindet aus dem Log.