[72_XiaomiDevice] Nur Modell viomi.vacuum.v8

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

Vorheriges Thema - Nächstes Thema

MadMax

Hallo,

so nochmal ein update.

@curt, das umschalten funktioniert jetzt.

zusätzlich habe ich die Fehlercodes und den Status mit intrigiert.
Konnte hier einiges finden :)
https://github.com/Hypfer/Valetudo/blob/master/lib/robots/viomi/ViomiValetudoRobot.js

Mir ist aufgefallen das es drei verschiedene Behälter geben muss. Staub, Wasser und ein Kombibehälter (welcher zum Saugen, Saugen und Wischen jedoch nicht nur zum Wischen funktioniert).


Auf git hab ich auch etwas mit Map gesehen, mal schauen ob man damit was anfangen kann.

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

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

MadMax

so :)

neues Atribut eingebaut.
room_names Wohnzimmer:16 Flur:13 ....
diesmal ohne eckige klammern, mehrfachauswahl bei clean_rooms ist jetzt möglich oder einfach die Raumnummern mit Komma getrennt eingeben.

Danke fürs testen :)

Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

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

curt

Ich beziehe mich auf die 20:47:14 veröffentlichte Version.

Zitat von: MadMax am 04 Januar 2021, 18:54:14
@curt, das umschalten funktioniert jetzt.

Da bin ich mir nicht sicher. Möglicherweise funktioniert das immer noch nicht sauber. Vermutlich hat das mit Folgendem zu tun:

Zitat von: MadMax am 04 Januar 2021, 18:54:14
Mir ist aufgefallen das es drei verschiedene Behälter geben muss. Staub, Wasser und ein Kombibehälter (welcher zum Saugen, Saugen und Wischen jedoch nicht nur zum Wischen funktioniert).

Es gibt theoretisch drei verschiedene Behälter, praktisch aber nur zwei. Es gibt (und die beide waren in meiner Lieferung dabei) den reinen Saugbehälter sowie den Kombibehälter (saugen und wischen). Den dritten Behälter (nur wischen) gibt es vermutlich gar nicht. In einem Yt-Video [¹] testet jemand den gleichen Roboter, allerdings Grauimport aus China, chinesische App. Der geht auch davon aus, dass es den reinen Wischbehälter nicht gibt, dass der lediglich in der Software existiert.
Ich habe bei den üblichen Verdächtigen (auch Ali-Dingens) gesucht: Es gibt keinen reinen Wischbehälter.

Es bleiben also zwei Behälter:
* Saugen
* Kombi: saugen und wischen

Die Behälter werden beim Wechsel vom Roboter erkannt und die freundliche Damenstimme erzählt mir das auch. Das bedeutet praktisch, dass das das Modul (Readings) auch weis. Diese Wasserfunktion water_grade ist offensichtlich nicht der Füllstand, sondern sagt, wie viel Wasser auf den Mob gelangen soll - also wie feucht gewischt werden soll.

Und das scheint -rein subjektiv- bei der Modulerweiterung nicht so richtig zu funktionieren: Wenn ich allein via Modul das Wischen vorgebe, wischt er scheinbar trocken. Wenn ich das Ganze via App mache, funktioniert es.

Ich will jetzt nicht ausschließen, dass der Mop erst nass werden muss und das also eine falsche subjektive Beobachtung von mir ist. Aber ich habe den Eindruck, dass da etwas noch nicht stimmt.

Zitat von: MadMax am 04 Januar 2021, 18:54:14
Auf git hab ich auch etwas mit Map gesehen, mal schauen ob man damit was anfangen kann.

Ich hatte ja die Hoffnung, dass der Oberhirte dieses Threads uns mal zeigt, wie das bei anderen Robots real aussieht. Notfalls müssen wir den kompletten Thread druchlesen und jemanden auf Verdacht ansprechen: Wir müssen ja erstmal verstehen, was normalerweise so geht.

Zitat von: MadMax am 04 Januar 2021, 20:47:14
neues Atribut eingebaut.
room_names Wohnzimmer:16 Flur:13 ....

Hilf mal bitte einem alten Mann aufs Pferd - erkläre bitte (gern am Beispiel) wie das gemeint ist.

Situation bei mir:
Ich habe so wenig wie irgend möglich mit dieser App gemacht, die soll eigentlich weg. In einer Etage machte ich alle Türen auf, nun hat die App eine Karte, da steht dann Raum1 Raum2 Raum3 usw dort, wo er meint, dass das ein Raum sein könnte. Ich selbst habe in der App KEINE Räume festgelegt.

Ja, es wäre schön, wenn ich sagen könnte "mach nur Schlafzimmer".

BTW denke ich, dass wir gelegentlich (vielleicht noch nicht jetzt) alle SET-Optionen durchgehen sollten - also was die so bewirken. Bzw. bewirken sollen. Man kann das ja nicht wirklich alles testweise durchgehen.

[¹] Ich denke, dass es dieses Video war: https://www.youtube.com/watch?v=So400tTeFdo
RPI 4 - Jeelink HomeMatic Z-Wave

MadMax

Hallo Curt,

Jeder Raum hat eine Nummer, diese kannst du in dem Attribut hinterlegen.
Also bei mir sind die Räume von links nach rechts auf der Map in der App nummeriert.
Beginnend mit 10.
Geh in fhem auf clen_room bei denem Roboter und gib dort einfach mal 10 ein und schau in welchen Raum er fährt.

Dann weißt du Raum 10 ist Schlafzimmer Und gibst im Attribur Room_mames Schlafzimmer:10 ein, das machst du immer weiter bis du alle Räume angefangen bist.

Gruß
Max

Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

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

MadMax

Hallo,

so weitere funktionen und readings hinzugefügt.
Bitte mal durchtesten :)

@curt, also ich konnte den roboter über fhem zum wischen und saugen überreden, versuch es bitte nochmal und poste dein ergebnis.
Im Anhang ist noch ein Bild auf dem zu sehen ist wie meine readings aussehen, bitte die einstellungen so übernehmen.

Danke

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

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

Stelaku

Hallo Max

Echt klasse das Du unseren Sauger Typ hier in das Modul schon mal mit integriert hast. Ich lese schon die ganze Zeit mit und habe Deine Version schon im Test.
Das was Du alles mit eingebunden hast funktioniert bei mir bis jetzt ohne Probleme.
Was mir aufgefallen ist, das der sogenannte mop mode über Fhem nicht einstellbar ist.
Ich meine den spezialmodus in dem der Sauger beim vacuum_mop Einstellung eine Wischbewegung macht.
Das sieht dann so aus das der Sauger immer ein kleines Stück zurückfährt um dan wieder ein kleines Stück nach vorne fährt mit einer kleinen drehbewegung nach links und rechts.
Wenn Du das über die App Wischen und Saugen einstellst macht der Sauger das auch.
Über Fhem ist dann nach einem get data das Reading mode auf 1 gesetzt. Scheint wohl der sogenante mop mode zu sein.
Wenn Du über Fhem vacuum_mop einstellst und dann den Sauger über set start einschaltest wird das Reading mode auf none gesetzt.
Jetzt macht der Sauger diese Wischbewegung nicht mehr. Vieleicht bekommst Du das ja auch noch mit eingebunden.

Vielen dank schon mal für Deine Zeit das alles hier umzusetzten.

Hab gerade noch gesehen das sich auch ein paar Perl Warnungen im log nach eine shutdown restart eingeschlichen haben.
2021.01.05 20:45:42 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4516.
2021.01.05 20:45:42 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/72_XiaomiDevice.pm line 666.
2021.01.05 20:45:42 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/72_XiaomiDevice.pm line 668.
2021.01.05 20:45:42 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/72_XiaomiDevice.pm line 670.
2021.01.05 20:45:42 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/72_XiaomiDevice.pm line 671.
2021.01.05 20:45:42 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/72_XiaomiDevice.pm line 675.


Gruß

Stephan

MadMax

Hallo Stelaku,

danke fürs testen und Feedback.
Freu mich das alles soweit klapt.

@curt & Stelaku, ich konnte jetzt nachvollziehen was ihr meint, ich hatte meinen Roboter bisher nur einmal wischen lassen...
Ihr könnt jetzt mit set mopmove on/off, den movmove aktivieren und deaktivieren
Die tut die App automatisch beim wischen, lustig ist, dies geht auch bei saugen, ob es sinnvoll ist weiß ich nicht :)
Wenn mopmove an ist und man will einzelne räume saugen dann stellt der Roboter automatisch auf vacuum_mop um und meckert das kein mop installiert ist.

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

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

MadMax

Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

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

curt

Zitat von: MadMax am 05 Januar 2021, 09:54:44
Geh in fhem auf clen_room bei denem Roboter und gib dort einfach mal 10 ein und schau in welchen Raum er fährt.

Ok, verstanden. Danke.

Zitat von: MadMax am 05 Januar 2021, 17:41:51
Bitte mal durchtesten :)

Ich muss im Moment die Testfrequenz verringern: Die Gattin hat mir angedroht, dass ich in den Gartenschuppen ausquartiert werde ...

Zitat von: MadMax am 05 Januar 2021, 22:52:20
Hier ein Wassertank.

Ich habe spaßeshalber diesen hier bestellt, der kommt aber erst 28.01. - 23.02.: https://www.ebay.de/itm/193790139787
RPI 4 - Jeelink HomeMatic Z-Wave

MadMax

Dann berichtete bitte wenn der Wassertank da ist ob es klappt, von den Bildern her sieht der passend aus.

Meine Frau hat Mitleid mit dem Roboter weil ich den irre mache.
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

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

Stelaku

Hallo Max

Die perl Meldungen sind jetzt nach der letzten Version nicht mehr da. Super.
Wenn Martha wieder geladen ist werde ich die neuen Funktionen mal ausprobieren.
Den Wassertank habe ich mir dann auch mal gleich bestellt. Der ist interessant, weil ja der Kombibehälter doch nur einen kleinen Wassertank hat.
Mal sehen welcher schneller da ist curt seiner oder meiner.

edit:
Hab jetzt Martha wieder geladen und lasse Sie mal wieder ein wenig das Haus putzen.
Der Mop mode funktioniert einwandfrei.
Einzelne Räume saugen klappt auch ohne Probleme. Das Auswahlfenster wenn die Räume im attr. room_names angelegt sind ist prima.
Wie ich gesehen habe hast Die remotcontrol Funktion wieder mit on_off belegt.
Funktioniert besser als mit start stop.
Jetzt gerade teste ich die Option secondary_cleaning die aber auch ohne Probleme funktioniert.

Einfach nur klasse

Vielen dank.

Gruß

Stephan



curt

Zitat von: MadMax am 06 Januar 2021, 09:22:11
Meine Frau hat Mitleid mit dem Roboter weil ich den irre mache.

Ach, so ganz heimlich guckt die Gattin ja bewundernd, sie kann es nur nicht so zeigen.  :D

Zitat von: MadMax am 05 Januar 2021, 20:56:26
Ihr könnt jetzt mit set mopmove on/off, den movmove aktivieren und deaktivieren

Heißa - jetzt rubbelt er aber schön.
(Einzelne Räume ansteuern habe ich noch nicht getestet.)

Im Moment denke ich, dass wir irgendwie eine Liste der Optionen brauchen - also welche Option macht ganz konkret was? Und eventuell brauchen wir auch "best practices"-Beispiele. Stefan lässt zum Beispiel seine Martha Fahrstuhl fahren, so richtig mit automatischem Einsteigen unso. Und mir ist völlig unklar, wie er Räume in zwei Etagen hinbekommen hat ...

Da das immer zu kurz kommt:
@MadMax
Zwar erzähle ich immer, was noch nicht geht oder noch besser wäre ... ich möchte Dir sehr herzlich und ganz ausdrücklich danken!
Ich habe hier nichts zu sagen. Aber wenn ich das dürfte, würde ich Dich mit meinem Goldenen Sonnenorden auf Pappe "Freundlicher Helfer" auszeichnen - danke!
RPI 4 - Jeelink HomeMatic Z-Wave

curt

Zitat von: MadMax am 05 Januar 2021, 09:54:44
Geh in fhem auf clen_room bei denem Roboter und gib dort einfach mal 10 ein und schau in welchen Raum er fährt.

Das funktioniert sehr schön.

Mir fielen in der Zwischenzeit folgende Dinge auf:
Ich vermute, dass "edge_clean" diese kleine Eckbürste an/ausschalten soll. Leider funktioniert das nicht. Aber es wird noch besser: Wenn ich das während des Betriebs schalte, hält der Mover einfach an. Das soll doch nicht so, oder?

Zu maps:
Ich habe angefangen, mich durch 157 Seiten Thread zu quälen, ich bin ganz stolz schon auf Seite 12. In Antwort #124 am: 28 Juni 2017, 14:47:13 schreibt @Markus M. , dass die maps verschlüsselt in der Cloud liegen würden. Das kann ich mir nicht so ganz vorstellen - woher weiß er denn, in welchen Raum er soll?

Du selbst hast übrigens vor 2,5 Jahren zu sehr ähnlichem Thema geschrieben, hier in Antwort #7 am: 03 April 2018, 14:19:35 https://forum.fhem.de/index.php/topic,86535.msg789937/topicseen.html#msg789937 .

Hilft das vielleicht irgendwie?
RPI 4 - Jeelink HomeMatic Z-Wave

Stelaku

Hallo Curt
ZitatIch vermute, dass "edge_clean" diese kleine Eckbürste an/ausschalten soll. Leider funktioniert das nicht. Aber es wird noch besser: Wenn ich das während des Betriebs schalte, hält der Mover einfach an. Das soll doch nicht so, oder?
edge_clean sollte eigentlich das reinigen der Ränder aktiviert. Der Sauger fährt dann alle Räume an den Rändern ab.
Das funktioniert aber noch nicht alleine mit diesem Modul.
Wenn Du den Sauger im normalen Betrieb umstellst auf edge_clean scheint er erstmal auf pause zu gehen. Wenn Du jetzt auf der Handy app auf start klickst kommt die Ansage Reinigung der Ränder beginnt.
Diese Einstellung kann man in der app über die drei Punke oben rechts bei der Kartenansicht aufrufen. Nennt sich Entlang der Kanten saugen.
Und in der App ist es auch so das die aktuelle Reinigung abgebrochen wird wenn man im laufenen Betrieb auf die Kanten Reinigung umstellt. Nur das in der App nochmal darauf hingewiesen wird das die aktuelle Reinigung unterbrochen wird. 

Ich benutze diese Funktion sehr gerne um die Karte zu erstellen. Der Sauger fährt dann alle Räume an den Rändern ab und erstellt so nach einer kompletten Runde eine Karte das Hauses.
Geht sehr viel schneller als wenn ich den Sauger kpl. alles Saugen lasse um eine Karte zu erstellen.

ZitatIch habe angefangen, mich durch 157 Seiten Thread zu quälen

Das habe ich schon hinter mir. War sehr interresant so bin ich auf fempy gekommen.

ZitatDu selbst hast übrigens vor 2,5 Jahren zu sehr ähnlichem Thema geschrieben

Das ist nicht MadMax gewesen das war Joachim alias MadMax-FHEM hab die beiden auch schon verwechselt :)

Gruß

Stephan


MadMax

Guten Tag  :)

@curt, gerne doch habe ja auch einen eigenen Nutzen davon.

Die Vermutung das die Map in der Cloud liegt denke ich stimmt... Wenn ich dem Roboter sage das er die map hochladen soll sagt er nur "ok" wo die hin geht... in eine Wolke?

So weiter...

edge_clean sollte eigentlich das reinigen der Ränder aktiviert. Der Sauger fährt dann alle Räume an den Rändern ab.
Das stimmt, sollte jetzt auch in der Version funktionieren, war das gleiche Thema wie mit dem mopmove.

Ich bekomme jetzt Positionen vom Roboter in pox_x, pos_y, pos_angle (noch nicht ganz klar wie skaliert) und pos_? (ist mal 0 und mal 1).

Clean_point und clean_zone funktionieren jetzt, entweder einen Pukt X,Y angeben oder eine Zone X1,Y1,X2,Y2 angeben, hier wird dann ein Rechteck zwischen den Punkten gebildet und gereinigt.
(bei diesen beiden Funktionen führt der Roboter die Arbeit aus ist aber im status "pause" und liefert auch keine Positionen zurück, konnte den Fehler noch nicht finden, er wechselt kurz zu spot oder zone clenaing aber dann gleich wieder zu pause.)

attr:
point_names Test:[-1.0,-1.0] Test2:[-2.0,-2.0]
zone_names Test:[-2.0,-3.0,-2.1,-3.1] Esstisch:[-1.0,-3.0,-5.0,-5.0]
intervalDataCleaning 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)

Mit den Daten von x und y könnte man über das logProxy_xy2Plot eventuell eine Art Karte plotten indem man den Roboter wie Stephan sagte einmal die Kanten abfahren lässt.
https://wiki.fhem.de/wiki/LogProxy#Daten_aus_x.2Cy-Koordinatenpaaren_plotten

Gruß
Max

ps: MadMax-FHEM bin nicht ich  ;)
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

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