[72_XiaomiDevice] Nur Modell viomi.vacuum.v8

Begonnen von curt, 30 Dezember 2020, 19:43:53

Vorheriges Thema - Nächstes Thema

Stelaku

Hallo Max

Das ist ja echt klasse. Ich hatte mich noch nicht getraut zu fragen aber Du hast es jetzt ja schon so gut wie umgesetzt. Durch die x y Positionsdaten kann der Sauger das Reinigen an dieser Stelle schon durchführen. Jetz wäre statt des Reinigen an dieser Position ein einfaches goto x y cool.
Zur Zeit lasse ich Martha mit der remotecontrol Funktion über ca. 30 einzelne steuerbefehle zum Mülleimer fahren. Was jetzt durch die x y Koordinaten mit einem Befehl erledigt wäre.

Viele Grüße

Stephan

Esjay

Servus zusammen..Habe ich hier eigentlich irgendetwas verpasst, oder hat der Entwickler gewechselt?

Grüße

curt

Siehe
Antwort #2272 am: 03 Januar 2021, 14:41:59

Die Frage von Esjay hat sich durch Verschiebung des Teilthreads in diesen neuen Thread erledigt.
RPI 4 - Jeelink HomeMatic Z-Wave

MadMax

Hallo :)

so neue Funktionen eingebaut :)

set
  set_walls set wall or area (VacuumCleaner: viomi.vacuum.Vx)
  set wall (name:2:[x1;y1;x2;y2] [...] for one or more valid wall)
  set no-go-area (name:3:[x1;y1;x2;y2] [...] for one or more  valid no-go-area)
  combination of are an wall posible

delete_walls remove all walls and areas(VacuumCleaner: viomi.vacuum.Vx)

attribute
   no_go_areas, no_mop_areas, no_vacuum_areas, no_mop_walls, no_vacuum_walls, walls (VacuumCleaner: viomi.vacuum.Vx)
   wall (name:<b>2</b>:[x1,y1,x2,y2] [...] for one or more valid wall)
   area (name:<b>3</b>:[x1,y1,x2,y2] [...] for one or more  valid no-go-area)

in Planung ist das je nach dem was der Roboter machen soll die entsprechenden no-go-areas und walls gesetzt werden.

Manuell lassen sich die schon setzen.


@Flo, mach mal das was im Post 3 steht, wenn ich Zeit habe kann ich mir das mal ansehen.

Zeit wird aber langsam knapp, ab Montag läuft es wieder anders.

Hat mal jemand was mit dem x,y Plot versucht?

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

Niko1987

Hallo Max,

Danke für die Rückmeldung. Da muss ich mir zuerst einen Android besorgen :)

Hilft das vielleicht weiter?
https://github.com/marcelrv/XiaomiRobotVacuumProtocol

Gruß
Flo

curt

Zitat von: MadMax am 09 Januar 2021, 15:41:04
so neue Funktionen eingebaut :)
set
  set_walls set wall or area (VacuumCleaner: viomi.vacuum.Vx)
  set wall (name:2:[x1;y1;x2;y2] [...] for one or more valid wall)
  set no-go-area (name:3:[x1;y1;x2;y2] [...] for one or more  valid no-go-area)
  combination of are an wall posible

Cheffe?
Der Markwort vom Focus sagte damals in der Werbung: "Und immer an die Leser denken!"

Ich will nicht rumnölen, nimm es mir bitte nicht übel:
Was ist da eigentlich die Einheit? Zentimeter, Meter? Für viel wichtiger erachte ich aber etwas anderes, da würde ich Dich wirklich drum bitten:
Best Practices - wir brauchen Beispiele. Bitte einfach mal ein konkretes Beispiel. Bitte!

Zudem würde ich ganz allgemein gern sämtliche SET (und ggf. GET)-Befehle durchgehen wollen: Ich bin blond und habe nicht alles verstanden. Übrigens auch nicht jedes Reading.

Ich verspreche im Gegenzug, dass ich mich um den zuständigen Wiki-Artikel kümmere.

Zitat von: MadMax am 09 Januar 2021, 15:41:04
Hat mal jemand was mit dem x,y Plot versucht?

Jetzt wirst Du witzig:
Dafür müsste man ja erstmal x und y haben. Ich hatte nach Deinem entsprechenden Posting sehr genau darauf geachtet - da ist nirgendwo x/y. Erst wenn ich die live sehe, kann ich darüber nachdenken, was man mit denen veranstalten könnte. Und das auch versuchen.

Die Map, dazu nochmal:
Du hattest Dich sinngemäß in die Richtung geäußert, dass das irgendwie mit einem Befehl in die Cloud geladen werde. Ok, mag ja sein. Im Moment gehe ich aber davon aus, dass der Robot eine interne Karte pflegt. Denn sonst ist "fahre in Raum 12" nicht machbar.
Warum ich so hartnäckig an diesem Punkt bin: Ich habe zwei Etagen. Und es scheint so, dass der Robot intern zwei Karten führt. Das halte ich für einen spannenden Punkt.

Frage daher:
Kannst Du (ggf. mit Auslösen dieses "hochladen in die Cloud" mir sagen, welche URL/Domain diese Cloud eigentlich ist?

Bitte nicht aufregen: Ich gehöre zum Team der Guten. Wir wollen da noch einen Schritt weiter.
RPI 4 - Jeelink HomeMatic Z-Wave

curt

@MadMax
Noch eine Frage.

Du hast ja in den Eingeweiden des bisherigen Moduls rumgewühlt: Gibt es da Readings für Wartungsintervalle? Also Readings für "Absturzsensor reinigen", diese Richtung?

Ich meine, etwas in diese Richtung gelesen zu haben - kann das aber verwechseln.
RPI 4 - Jeelink HomeMatic Z-Wave

curt

Zitat von: Niko1987 am 09 Januar 2021, 12:16:46
weiß jemand von euch ob der dreame.vacuum.mc1808 bzw. der Xiaomi Mi Robot 1C in Zukunft mit eingebunden wird?

Hallo Flo,
ich habe den *.v8 - und wenn Du die Seiten ab Dezember liest, siehst Du eigentlich, wie es entstand: Zuerst fand ich @Stelaku mit gleichem Robot. Er hat mir gezeigt, wie man vermittels des hier beschriebenen [¹] anderen Moduls und einiger Handstände zuerst die ID herausfindet und sodann zumindest meinen Robot zum Starten überredet.

Dann habe ich in diesem Thread fröhlich rumgequengelt und verlor schon die Hoffnung.

Dann meldete sich @MadMax (dem ich irrsinnig dankbar bin), er hat nicht nur den gleichen Robot, sondern wagte sich auch an das Modul. Was soll ich sagen - binnen weniger Tage haben wir eine Modulerweiterung, die den *.v8 mitnimmt. Da sind wir aktuell noch dran, Du siehst es ja.

Also - immer höflich quengeln  ;)

[¹] https://forum.fhem.de/index.php/topic,115427.30.html
RPI 4 - Jeelink HomeMatic Z-Wave

Stelaku

Hallo curt

ZitatJetzt wirst Du witzig:
Dafür müsste man ja erstmal x und y haben. Ich hatte nach Deinem entsprechenden Posting sehr genau darauf geachtet - da ist nirgendwo x/y. Erst wenn ich die live sehe, kann ich darüber nachdenken, was man mit denen veranstalten könnte. Und das auch versuchen.

Die werden schon geliefert.
Du musst nur das attr. intervallDataCleaning auf einen Wert setzten erstmal nicht höher als 10. die Zahl steht für sekunden.
Wenn der Sauger dann auf cleaning steht werden die readings angezeigt.

Zitat von: MadMax am 08 Januar 2021, 12:40:18intervalDataCleaning 10 (in s, ich würde den Wert nicht zu hoch setzen, weil der Roboter bei get_curpos alle positionen seit der letzten Abfrage sendet, könnten zu viele sein die das Modul dann nicht verarbeiten kann, angezeigt wird immer die letzte)

Ich versuche gerade das plotten zu verstehen. bin aber noch in den Anfängen.
Hab jetzt eine log Datei mit den x y werten und versuche diese mal in ein plot für die Karte umzusetzten.

Viele grüsse

Stephan

MadMax

Hallo,

die Werte sind alle in Meter mit bis zu 4 Nachkommastellen also 10.0234 und auch negativ! -2.2345 (nur beispiele) bitte kein Komma verwenden! nur einen Punkt!
Beispiele:
attr <name> no_mop_areas Teppich_Flur:3:[0.1234,-1.1567,2.1345,-3.1890] (den Teppich will ich ja nicht wischen)
die 3 steht für ein Rechteck, eine 2 wäre ein Wand (gerade Linie zwischen den beiden Punkten).
Liste mir doch bitte mal die unklaren dinge auf, einige attribute, readings und set habe ich ja schon in der Modul Hilfe beschrieben, es ist manchmal nicht einfach Funktion zu erklären, kenne das auch vom Handbücher schreiben, das liegt mir auch nicht so sehr. Ich denke zusammen bekommen wir eine gute Dokumentation hin.

das gleich kannst du generell mit den no-go-areas und den no-vacuum-areas machen.
Hier möchte ich später automatisch vor dem Start die entsprechenden Areas setzen.

Zur Map, der Roboter selbst kennt nur eine Map, gehe ich von aus. Auf der Clud liegt auch nur eine, wenn du den in die 2. Etage setzt, zumindest ist es so bei mir, legt er eine neue map an und fragt danach ob ich die andere ersetzen möchte.
Ob ich dem Roboter sagen kann wohin er die Map laden soll weiß ich nicht, habe noch nix dazu im Netz gefunden.
Umgekehrt müsste man die Map ja wieder zurückschreiben, hier weiß ich nicht ob dies geht.
Wenn man danach such den Roboter ohne cloud zu betreiben muss man diesen rooten.
Bin auf ,,FloleVac" gestoßen, der code liegt bei Git aber leider meldet mir die App das mein Roboter nicht unterstützt wird. Eventuell ändert sich das mal dann könnte ich mir da was abschauen.


@flo, die befehle sind doch gleich wie bei den roborocks, das müsste doch gehen

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

MadMax

Hallo,

so ich habe mal die erste "map" in fhem erstellt.

Hier die Anleitung:

1. neues Modul laden.

2. Logfile anlegen:

defmod <logName> FileLog ./log/<logfileName>.log <nameRoboter>:(pos_x_y).*


3.
Interval verkürzen für eine besser aufgelöste Karte

attr <nameRoboter> intervalDataCleaning 1


4.

set <nameRoboter> edge_clean on


5.
Roboter starten, entweder mit set start oder einzelne Räume.

6.
logproxi anlegen

define lp logProxy


7.

defmod <plotName> SVG lp:<logName>:CURRENT
attr <plotName> plotsize 800,700

setstate <plotName> initialized


8.
im Menü auf "Edit files" und eure Plotdatei suchen.
(<plotName>.gplot)


set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title ''
set ytics
set y2tics
set grid
set ylabel ""
set y2label ""
set xrange [-10:10]
set yrange [-10:10]

#lp Func:logProxy_xyFile2Plot("/opt/fhem/log/<logfileName>.log ",4,"pos_x_y:")
#lp Func:logProxy_xy2Plot([[9,9],[-9,9],[-9,-9],[9,-9],[9,9]])
#lp Func:logProxy_xy2Plot(ReadingsVal("<roboterName>","pos_x_y",0))

plot "<IN>" using 1:2 axes x1y2 title 'Map' ls l2 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Rahmen' ls l1fill lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Aktuell' ls l5fill_stripe lw 1 with lines


Wenn ich nix vergessen habe sollte ihr sowas wie im Anhang erhalten :)

Ich hoffe das ist soweit verständlich.
Aktuelle Position wir noch nicht angezeigt, da bastele ich noch.

Gruß
Max


Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

Stelaku

Hallo Max

Ich glaube die neue Version fehlt uns noch zum ausprobieren.
In der letzten Version gibt es noch kein zusammgefasstest reading (pos_x_y).
Oder übersehe ich da was ?

Gruß

Stephan


Niko1987

Ich quengel doch nicht ;) Bin unglaublich froh das hier so viel in so kurzer Zeit geschafft wurde. 

Zitat von: MadMax am 10 Januar 2021, 16:03:48



@flo, die befehle sind doch gleich wie bei den roborocks, das müsste doch gehen



Hallo Max,

Ich kann mich kurz verbinden, bekomme auch einige Redings:

READINGS
device_firmware
3.5.8_1059
2021-01-10 18:15:28
device_uptime
72.13
2021-01-10 18:15:28
error
none
2021-01-10 18:15:28
state
connected
2021-01-10 18:15:28
wifi_auth_fail_count
0
2021-01-10 18:15:28
wifi_conn_fail_count
0
2021-01-10 18:15:28
wifi_conn_success_count
1
2021-01-10 18:15:28
wifi_dhcp_fail_count
0
2021-01-10 18:15:28
wifi_rssi
-44
2021-01-10 18:15:28
wifi_state
online
2021-01-10 18:15:28


Nach wenigen Sekunden ist der Sauger jedoch disconected.
2021.01.10 18:09:09 5: Staubsauger Send SUCCESS
2021.01.10 18:09:09 5: Staubsauger > 213100600000000013d828235ffb34b609e491390f8b6e504eb87519b832a811fca66fd4819e5cb8f6ba9a8a29aa60fe5e2e2ae983067775f853120614805680cbd1e8be818c01b6077b5571ffa5f9fc6227af13322a3e1d5c72f0516d60ab62
2021.01.10 18:09:51 3: Staubsauger: connection timeout

MadMax

Ist beim letzten Post auch mit angehängt.

@flo, merkwürdig eventuell weiß Markus Rat? Weiß gerade nicht ob es für timeout ein Attribut gibt.
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

Stelaku

Hallo Max

Das hab ich total übersehen. Die neue Version hat sich über der Karte versteckt.

Ich hab jetzt auch eine kleine Karte mit hilfe Deiner Anleitung hinbekommen. Über zwei Punkte bin ich gestolpert.

Nachdem man Punkt 7. abgearbeitet hat muss man noch auf Write .gplotfile klicken. Ist warscheinlich allen klar ich habs dann auch nach einiger Zeit kappiert.

Dann endlich die gplot Datei gefunden und den Code aus 8 hineinkopiert und angepasst. Leider wurde dann nur der Rahmen angezeigt.
Ich hab dann nach etlichen Versuchen, und ich glaube auch nur aus Verzweiflung, mal das Leerzeichen hinter .log gelöscht und siehe da ich hatte eine Karte  ;D.

#lp Func:logProxy_xyFile2Plot("/opt/fhem/log/<logfileName>.log ",4,"pos_x_y:")
#lp Func:logProxy_xyFile2Plot("/opt/fhem/log/<logfileName>.log",4,"pos_x_y:")


Mit der aktuellen Position habe ich hier was gefunden. Ich glaube so müsste das gehen. Bissher habe ich leider noch nichts mit Erfolg reproduzieren können.

Zitat von: justme1968 am 22 September 2015, 10:06:42

Vielen dank für Deine Arbeit und Anleitung

Gruß

Stephan