MQTT2 für Xiaomi Vacuum Sauger

Begonnen von Otto123, 12 Mai 2021, 12:53:37

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

Zitat von: TomLee am 20 September 2021, 20:45:57
Kann man das trotz das da steht das der V1 das nicht unterstützt aktivieren ?

Dieses Feature aktivieren geht (wohl) leider nicht.
Hab ich schon versucht...

Es gibt nur das hier:https://forum.fhem.de/index.php/topic,101197.0.html

Ich habe mir mal die Karten (die ich als "gut" empfinde) gesichert (per scp).
Und auch schon einige Male "restored".

Mein "Testsauger" (ein V1) wird ja ab und an mal "misshandelt" ;) und dann muss ich ihn schon mal wieder "anschubbsen" ;)

Nach einem kompletten Gedächtnisverlust (Reset und neue FW o.ä. "Schandtaten") muss ich ihn allerdings zusätzlich zum "Restore" auch mal (vorher) kurz fahren lassen, damit er zumindest seine Station "kennt".
Dann Karte runter spielen und durchstarten (oder eben die "Player-Applikation" abschießen)...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

TomLee

[OT]

Nochmal kurz OT, sry, auf dem neuen Sauger ist 3.5.4_004010 vorinstalliert.
Flashen tu ich die letzten Monate meinen bisherigen V1 ja problemlos mit der XVacuum App.
Was verstehe ich jetzt nicht, kann ich nicht einfach auf vacuumz.info die nächst höhere Version (4018) wählen ? Der Flashvorgang endet immer mit einem Timeout.
Die App verbindet sich aber schon, es gibt sowas wie handshake und auch der Token ist bekannt, nur der Timout beim Flashvorgang nach etlichen Versuchen.
In diesem älteren Beitrag wird erwähnt OTA wird ab 4004 verhindert, dgiese weiß ne Lösung verrät sie aber nur per PN ?, mehr hab ich dazu bisher nicht gefunden/verstanden.

[/OT]

Otto123

Ab einer bestimmten Version geht ein Update nicht mehr. Man muss also Reset machen und die neue Version flashen - war meine Lösung.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TomLee

Hi,

kann das bei Gelegenheit mal wer testen (mit oder ohne Alexa), mein Gedanke dabei war das man sich die Befehle für Alexa einfach zusammenklicken kann und sich notify/DOIF oder wie auch immer zu sparen.

Alle Zonen werden automatisch einem pct-Kommando zugeordnet, weitere Kommandos können über die Liste in speech_cmnd ergänzt werden, der pct-Slider ist nur so groß wie die ausgewählte Anzahl Befehle+Zonen, was der Slider in der App macht interessiert ja nicht.
Das alles um Routinen zu jedem einzelnen pct-Befehl erstellen zu können.

setList
speech_cmnd:{'multiple,'.ReadingsVal($name,'available_cmnds','none');} {sleep 0.5;fhem("setreading $NAME $EVTPART0 $EVTPART1")}
pct:{'slider,0,1,'.(scalar(split(/,/,ReadingsVal($name,'speech_cmnd','none')))+scalar(split(/,/,ReadingsVal($name,'zones','none')))).',1'} {my @d = split(/,/,ReadingsVal($NAME,'speech_cmnd','none'));my @e = split(/,/,ReadingsVal($NAME,'zones','none'));my ($i, %pct2cmd);for my $v (@d) {$i++;$pct2cmd{$i} = $v;}$i= keys %pct2cmd;for my $w (@e) {$i++;$pct2cmd{$i} = 'zone '.$w;};my $command = $pct2cmd{$EVTPART1};return if !$command;return fhem("set $NAME $command;setreading $NAME pct $EVTPART1");}


userReadings, zum trigger bisher keine Gedanken gemacht
available_cmnds:.* {
  return join(',', map {(split ':',$_)[0]} split '\s',getAllSets($name));
}

TomLee

#79
Danke, Danke.




Könnt Ihr vlt. bei Gelegenheit wenigstens das roborockRE-Template um die jetzt nun schon länger mögliche dynamische Auswahl der zu reinigenden Zone(n) ergänzen, das man sich das händische Eingreifen (bei Änderung /Ergänzung von Zonen) in Zukunft spart:

Zitatzone:{'multiple-strict,'.ReadingsVal($name,'zones','none')} { $DEVICETOPIC.valetudoRE($EVENT) }

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TomLee

Muss noch eine Frage hinterherschieben, weil ich da einfach nicht mitkomme, betrifft Valetudo und ValetudoRE.

Diese Segmente, verstehe ich es richtig das die von der Gen1 nicht unterstützt werden, nur von Saugrobotern die auch wirklich permanente Karten unterstützen ?

Das konfigurieren von Segmenten im UI von ValetudoRe ist mir bisher entgangen/nirgendwo aufgefallen und in Valetudo kann ich irgendwie welche definieren aber nicht speichern, zumindest stelle ich mich zu doof dazu an.

Otto123

#82
daran beiß ich mich auch gerade etwas fest  :( ich habe jetzt zu meinem Gen1 noch einen Dreame L10 pro ;) der eine valetudoRE der andere valetudo
valetudo legt nach der ersten Fahrt Segmente (in meinem Verständnis Räume / Zonen) an, die einfach nummeriert sind und die man editieren / benennen kann - sehr gewöhnungsbedürftiges Interface.
Diese Segmente kann man per valetudo UI auch ansteuern - allerdings spielt dabei nur die Nummer eine Rolle  :'( die Benennung greift an der Stelle nicht.
Es gelingt mir bisher nicht diese Segmente per mqtt an FHEM zu schicken und zu verwenden.

In der REST API (über Swagger UI erreichbar) ist aber auch von Zonen (ZoneCleaningCapability) die Rede - geht aber bei mir nicht.
Die Segmente jedoch kann ich per REST API auslesen.

In ValetudoRE (also dem Gen 1) habe ich Zonen und Punkte definieren, die kann ich auch anfahren per UI und per mqtt. Von Segmenten ist da keine Rede.

Oh nein - das Interface  :'( :'( :'(
Wenn man in der normalen Homeansicht bei valetudo ist ( Karte ) dann steht unten ADD 0/1 1x CLEAN 0 ZONES
Wenn man jetzt auf ein graues Dreieck in der Karte (Segment) klickt - wechselt unten alles CLEAR 1x CLEAN 1 SEGMENT und man kann ein Segment "kehren"
Wenn man aber stattdessen ADD drückt kommt eine Auswahlmaske und man kann eine Zone malen und  CLEAR 1x CLEAN 1 ZONES  die dann "kehren"  :o

Scheinbar kann man die Zonen dann auch noch irgendwo speichern, denn ganz rechts gibt es ja das Menü mit Clean zone preset Preset ...
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TomLee

ZitatOh nein - das Interface  :'( :'( :'(
Wenn man in der normalen Homeansicht bei valetudo ist ( Karte ) dann steht unten ADD 0/1 1x CLEAN 0 ZONES
Wenn man jetzt auf ein graues Dreieck in der Karte (Segment) klickt - wechselt unten alles CLEAR 1x CLEAN 1 SEGMENT und man kann ein Segment "kehren"
Wenn man aber stattdessen ADD drückt kommt eine Auswahlmaske und man kann eine Zone malen und  CLEAR 1x CLEAN 1 ZONES  die dann "kehren"  :o

Scheinbar kann man die Zonen dann auch noch irgendwo speichern, denn ganz rechts gibt es ja das Menü mit Clean zone preset Preset ...

Das ist der Punk an dem auch ich bin, hat man die Segmente definiert ist aber nirgendwo was zum speichern, hätte erwartet das sich mit dem letzten Release diesbezüglich was geändert hat, zumindest hatte ich es so aus der Doku des letzten Release gelesen/lesen wollen.

Davon unabhängig, ist es mit Valetudo doch immer noch bescheiden das alle Daten, ob Änderung oder nicht alle 30 Sekunden übertragen werden, aber ja, das Ui hat sich gemacht und ValetudoRE, denkste ist wirklich tot ?

Otto123

Was man im MAP Management / Segment Management "macht" wird gespeichert (rename, cutting line, join usw) Also die Segmente sind anschließend so wie ich so will - nur, dass das Rename keine praktische Bedeutung hat  :-[
Das mit dem alle paar Sekunden alles übertragen ist doof, aber das scheint ja state of the art zu sein, was man so liest.
Bei RE ist lange nix passiert - D Giese hat Dir doch mal gesagt es ist tot? Naja schaun wir mal  ;D
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TomLee

ZitatWas man im MAP Management / Segment Management "macht" wird gespeichert (rename, cutting line, join usw) Also die Segmente sind anschließend so wie ich so will - nur, dass das Rename keine praktische Bedeutung hat


Wo soll dieses "MAP Management / Segment Management" sein ? Wo kann man  dieseS rename, cutting ...  vornehmen sollen ?

Du meinst auf der Home-Seite wenn man Add tippt ?

Oder in  den Einstellungen unter Robot Settings -> Map Data Management ? Da komm ich nicht mt, da kann man ja nix auswählen, das steht bei mir einfach nur "Map Data Management".

Otto123

Version 2022.01.0
Nein nicht Robot Settings - tiefer ->
Linkes Menu
settings (unter about) MAP Management - Segment Management
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TomLee


Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TomLee

Ich mach jetzt ne Stunde Pause und vorsichtshalber eine Komplettreinigung.

Da stand da das es die aktuellste Version ist, ist auch meinem Anhang oben zu entnehmen.

Wenn ich jetzt ( während der Reinigung) auf Check for updates tippe:

Updating is only possible while the robot is docked

Aber auch später bezweifle ich das da ein anderes Ergebnis raus kommt.
Es gibt noch keine neuere Version wie 2022.01.0