FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: Otto123 am 12 Mai 2021, 12:53:37

Titel: MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 12 Mai 2021, 12:53:37
nachdem mein Xiaomi Vacuum Generation 1 (länger als gedacht  ;D ) gute Dienste tut und seit 2 Jahren auch mit ssh Zugang durch die Bude fährt haben mich immer ein paar Dinge gestört:
An der FHEM Steuerung hat mich gestört:Jetzt habe ich mich (angestachelt durchs Forum  ;) ) mal um valetudo RE und die MQTT2 Anbindung gekümmert:
Ich habe das hier  (https://heinz-otto.blogspot.com/2021/05/gesundheit-fur-den-saugroboter.html)mal etwas ausführlicher aufgeschrieben.

Kurz und knapp, die Einrichtung und Einbindung in FHEM ist simpel (wenn der Sauger schon "gerootet" ist):
valetudo RE installieren siehe Webseite https://github.com/rand256/valetudo/wiki
Nach diesem Setup funktioniert:
Tipp: Man kann die Karte, Punkte und Zonen "zeichnen" in dem man den Sauger per App von Punkt zu Punkt schickt. Damit lernt er Zimmer, die er von der Station aus nicht sieht. Man muss ihn nicht als erstes durch die ganze Bude jagen :)
Die Anbindung per MQTT ist einfach:
Voraussetzung: MQTT2_SERVER in FHEM vorhanden, autocreate steht auf simpel
Im Webinterface valetudo/Einstellungen/MQTT Einstellungen
Sollte das MQTT2 Device nicht gleich erzeugt werden, ist was in der Einrichtung falsch gelaufen. nach der Korrektur kann es sein, man muss den Sauger mal kurz starten, damit Daten übertragen werden.
Das Template ist seit gestern im SVN.

Man kann damit:
Hinweis:
Die Zeitangaben in den MQTT Readings sind in Millisekunden! So kann man die Zeit in lesbarer Form anzeigen, Beispiel.
{localtime(ReadingsNum((devspec2array('a:model=roborockRE'))[0],'last_loaded_map_date',0)/1000)}
Das Template ist schlank gehalten, der wesentliche Code für setList und Readings steht in der 99_rockroboUtils.pm die vom Template automatisch geladen wird.
Es handelt sich um ein generisches Device, jeder kann nach der Initialisierung durch das Template alles anpassen. Ein FHEM Update verändert hier nichts!

Viele Spaß damit.
Otto
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: MadMax-FHEM am 13 Mai 2021, 10:15:39
Hallo Otto,

da fühle ich mich ja förmlich gezwungen mich dran zu hängen ;)

Könnte ja jetzt über den Feiertag (oder die nächsten) klappen, dass ich meinen "Versuchs-Sauger" auch mal (endlich) mit Valetudo bespiele...
EDIT: die "nur" gerootete aus dem "Repo" habe ich ja schon ne Weile laufen... (generell gerootet nat. schon immer :)  "Zuvor" halt "selbst gebaut" ;) ).
...und auch mal vergleiche wie sich das dann mit ohne Cloud und ohne Flole etc. verhält. :)

EDIT: dann hab ich nur mehr einswas, das mit Cloud ist (und leider [erst mal] bleiben "muss")...

Und v.a. wie stabil es läut...

Kann man fhem-Steuerung per Xiaomi-Modul und per MQTT parallel betreiben?
Also klar, nur mal zum Testen ;)

Kann man Telegram auch deaktivieren?
Ich nutze zwar Telegram aber hab das eben in fhem "eingebunden" und kann (würde gerne) darüber steuern, da muss nicht jedes Gerät/Sauger (ich hab ja mehrere) per eigenem Telegram steuerbar sein/gesteuert werden können...

Wenn ich Zeit hab werde ich einfach mal loslegen... :)

EDIT:
Wie muss ich das "verstehen"?
Zitat von: https://github.com/rand256/valetudo/wiki/Installation-process#downloading-pre-rooted-firmware
If you use images from Valetudo RE github repository, they use username ruby with a random password available with the image file. To get root access, just print sudo su - to the console and repeat the password.
konnte aber (bislang) noch nirgends ein PW entdecken...

und dann steht aber auch:
Zitat von: https://github.com/rand256/valetudo/wiki/Firmware-downloads
Users cleaner and root have preset password cleaner;

Und dann ist noch zu lesen:
Zitat von: https://github.com/rand256/valetudo/wiki/Firmware-downloads
Pre-installed packages: wget, nano, htop, bbe, snmpd and Valetudo v0.2.3 (sorry);
D.h. gleich nach dem Flashen ein update? (normal über apt?)
Oder besser: "nur" gerootete FW (hab ich schon) und dann das deb-File installieren?

Welche Variante ist "besser"?
Du hast ja beide durch (oder?).

Sorry für die Fragerei (klar kann ich "easy" alles durchprobieren ;) ) aber es spart ne Menge Zeit (wenn man einfach frägt ;)  )  :)

EDIT: mein Beitrag könnte dann sein, Infos/Erfahrungen etc. bzgl. eines V2 zu liefern (du hast ja "nur" einen V1 [bislang]?)... 8)

Danke dafür, Joachim

MQTT-Server läuft aber ich habe noch nicht wirklich viel damit gemacht.
Auch nicht mit attrTemplate etc.
Es läuft eine Gosund USB-Steckdose aber die muss ja nix können, außer: an/aus ;)
Der Rest (der vom Template kommt) ist mir egal...
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 13 Mai 2021, 10:41:36
Hallo Joachim,

Kann man fhem-Steuerung per Xiaomi-Modul und per MQTT parallel betreiben?
Kann man Telegram auch deaktivieren?
Wie muss ich das "verstehen"?konnte aber (bislang) noch nirgends ein PW entdecken...
Und dann ist noch zu lesen:D.h. gleich nach dem Flashen ein update? (normal über apt?)

Oder besser: "nur" gerootete FW (hab ich schon) und dann das deb-File installieren?
Welche Variante ist "besser"?
Du hast ja beide durch (oder?).
Es geht beides Parallel, valetudo schafft ein Web Interface und die China Cloud ab. Die Steuerung über Token ist ja lokal und läuft weiter.
Man muss Telegram nicht aktivieren :) es ist erstmal aus.
Das passwort in der Firmware ist cleaner. Ich habe aber nicht das github repository genommen sondern sondern die Links aus diesem Wiki  (https://github.com/rand256/valetudo/wiki/Firmware-downloads) die gehen dann auf vacuumz.info ...
Nach dem flashen habe ich kein update gemacht.

Mit der aktuellen Firmware bei meinem V1 (4028) funktionierte erstmal nur das deb File. Nach dem Werkreset habe ich die Firmware mit aktuellem valetudo RE genommen. Insofern stand die Frage nach "besser" nicht :)

Gruß Otto
   
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: MadMax-FHEM am 13 Mai 2021, 11:07:21
Hallo Otto,

ok, danke!

Dann muss ich mich wohl (oder übel ;)  ) mal "frei schaufeln" :)

Gruß, Joachim
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: MadMax-FHEM am 13 Mai 2021, 13:15:46
So, geschaufelt ;)

Jetzt hat gleich mein V2 valetudo bekommen.

Da dort eine "normale" (selbst gebaute) (ältere) FW drauf war habe ich gleich das firmware.pkg aufgespielt.

Mal sehen...

EDIT: eben dachte ich mir (weil ich erst gemerkt hatte, dass es bereits eine neuere re Version gibt [ich hatte noch 10_5 bei mir liegen], als ich schon begonnen hatte upzudaten) schaue ich doch mal über die Weboberfläche nach einem Update. Wird angeboten, allerdings mit der url aus "rand". Gut dachte ich mir: gebe ich die halt an...
Nach dem FW-Update dann: KEIN WLAN mehr! Da ist mir aber das Herz erst mal in die Hose gerutscht... :-\
Zum Glück hab ich für rooten usw. eine VM mit WLAN-USB-Dongle 8)
Gut, dann halt doch Factory-Reset und von vorne. Die FW 10_6 dann von vacuumz.info (hatte ich zwischenzeitlich runtergeladen) genommen und geht wieder.

EDIT: das flasher.py hat bei mir nicht (mehr) funktioniert. Ich hab es dann mit miio discover gemacht und dann auch mit miio den fw-Update...

Unterschied zwischen 10_5 und 10_6 (zumindest bei mir): die Zusatz-/Persistenz-Optionen waren bei 10_5 aktiviert und bei 10_6 (erst mal) deaktiviert...
Ob es nun "Zufall" war oder die FW von dem anderen Link ein "Problem" hat: keine Ahnung...
Jetzt wo ich eh im "Zurücksetz-Fieber" bin: mach ich wohl auch gleich noch den V1 ;)
(mal sehen, ob die abgespeicherte [per ssh] Karte nach dem FW-Update wieder geht und auch die Test-Zone in fhem...)

Bis jetzt gefällt es mir sehr gut (auch [noch] ohne MQTT), hat es aber vor einiger Zeit (gut so knapp 1-2 Jahren) auch schon mal...
...lief damals aber nicht so stabil (auf dem V1)... :-\

Folgt noch mein V1 ("Test-Sauger"), den muss ich aber wohl erst zurücksetzen...
...oder ich installiere da mal das .deb drauf.

Gruß, Joachim
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 13 Mai 2021, 15:18:13
Zitat
EDIT: das flasher.py hat bei mir nicht (mehr) funktioniert. Ich hab es dann mit miio discover gemacht und dann auch mit miio den fw-Update...
Meine alte UMgebung auf dem Pi Zero funktionierte eigentlich noch. Ich bin bloß in die Falle getappt, dass ich kein chinesisch verstehe und das Ding nicht in der Station stand  :-[ das hat mir flasher.py dann im Klartext gesagt.
Es gibt mehr als einen Meter zwischen Monitor + tastatur + pizero und der Ladestation :D aber die Ladestation wollte dann auch mal geputzt werden ;)
Ich hab es am Ende aber auch mit mirobo gemacht.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: MadMax-FHEM am 13 Mai 2021, 16:07:48
Ja, nö.

Bei mir gab's irgendeinen Fehler beim Ausführen des flasher-Scripts.
Aber ich habe diesmal nicht (mehr) meinen "Desktop-PI" angeworfen, sondern eben meine Ubuntu VM.
Die ist extra für so "Flash-Sachen" da... :)

So, nun habe ich auch den V1 mit der neuesten Valetudo RE versorgt.
Eine etwas schwere Geburt.
Gut und Chinesisch musste ich auch erst mal los werden ;)

Dann habe ich meine (vor den ganzen Tests) per scp gesicherte Karte drauf geladen (vorher mal kurz "anfahren" lassen, damit er zumindest mal seine Station auf der sonst komplett leeren Karte hatte) und auch die in fhem hinterlegte Test-Zone "abgefahren"...

Hat wunderbar geklappt... :)

Mal sehen wie das mit dem Karte Speichern unter Valetudo so geht...

So nun werde ich das mal beobachten...

EDIT: und klar, dann irgendwann auch mal mit MQTT "rumspielen"...

Gruß, Joachim
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: swsmily am 13 Mai 2021, 21:37:32
Als kleinen Tipp zum Flashen, kann ich diese App empfehlen:
https://forum.xda-developers.com/t/app-android-4-4-ios-8-0-xvacuum-firmware-xiaomi-vacuum-roborock-v1-v2-v3.3896526/

Hat super funktioniert, gerade bei meinen Eltern, die keinen Pi oder Linuxumgebung usw. haben, war das Flashen damit sehr einfach möglich.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: MadMax-FHEM am 14 Mai 2021, 08:40:56
Hallo Otto,

so, jetzt: MQTT :)

Ich habe ja einen V1 (und einen weiteren zum "Testen") und einen V2...
...also mehr als einen.

So wie ich MQTT-Server "verstehe" werden die Devices doch anhand der/des Topic angelegt (und die Daten dann "zugeordnet")?

D.h. in Valetudo-MQTT passe ich dann Identifier (oder Topic-Prefix) an?
Dort könnte ich ja den Saugernamen eintragen?

Was bitte schön ist/macht: Autoconfiguration Prefix?
(da steht aktuell homeassistant drin: lassen weil egal? Ändern in fhem: weil egal [aber nat. "hübscher" ;) ])

Und: wofür ist "provide map data" gut?
Also ich will nicht unbedingt "unnötigen" Datenverkehr.
Und die Karte interessiert mich eigentlich kaum, außer eben um mal zu schauen (eher sehr selten) oder die Zonen einzurichten (naja: einmal)...
Weil wenn ich die Karte will/wolte: IP-des-Saugers und gut :)

Der V2 kann ja mehr als der V1.
Gibt es etwas, das ich liefern kann?
Also für dich/das Template interessant wäre?

Danke, Joachim
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 14 Mai 2021, 10:09:22
Moin,

Ich würde den Identifier anpassen - dann hätte man die topics: valetudo/rockrobo1 valetudo/rockrobo2 usw.
Den Homeassistent Zweig kannst Du lassen, den blende ich eh aus und schicke ihn ins nulldevice :)
provide mapdata sendet während der fahrt ständig die Karte. Ich habe mich darum nicht gekümmert, weil die sub die es hier im Forum gab ist dazu nicht kompatibel. Da hab ich es weggelassen.

Probier den V2 aus und dann schauen wir was fehlt oder nicht geht. Ich habe mich auf die Befehle des V2 konzentriert. Die Beschreibung der mqtt Befehle und Topics ist ja in dem Wiki vorhanden. Aus meiner Sicht müsste man segmented_cleanup und bei destinations rooms einbauen.

Über x_raw_payload kannst Du json Strings direkt und einfach testen.

Gruß Otto
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 14 Mai 2021, 11:13:59
Hab mir den Traffic was zurückkommt noch nicht angeschaut, ist es bei dir auch so das nach einem Befehl ewig set_... (wegen setStateList) in state steht und dann irgendwann nur idle ?
Gibts bei der MQTT-Implementierung von Valetudo keine Antwort wie Docked, Charging, Waiting etc. ?
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: MadMax-FHEM am 14 Mai 2021, 11:21:08
Ich würde den Identifier anpassen - dann hätte man die topics: valetudo/rockrobo1 valetudo/rockrobo2 usw.
Den Homeassistent Zweig kannst Du lassen, den blende ich eh aus und schicke ihn ins nulldevice :)
provide mapdata sendet während der fahrt ständig die Karte. Ich habe mich darum nicht gekümmert, weil die sub die es hier im Forum gab ist dazu nicht kompatibel. Da hab ich es weggelassen.

Moin, moin,

dachte du bist aus (der Nähe von) Leipzig?
Ist das schon so weit im Norden ;)

Ok, dann mache ich das so (wie gedacht) und lasse das map-Zeugs (erst mal) weg...

Probier den V2 aus und dann schauen wir was fehlt oder nicht geht. Ich habe mich auf die Befehle des V2 konzentriert. Die Beschreibung der mqtt Befehle und Topics ist ja in dem Wiki vorhanden. Aus meiner Sicht müsste man segmented_cleanup und bei destinations rooms einbauen.

Über x_raw_payload kannst Du json Strings direkt und einfach testen.

Ja, ausprobieren ist eh klar.
Allerdings ist der V2 nur für einen Raum (wegen Wischfunktion) "zuständig", also eigentlich ohne die ganzen tollen neuen Features zu nutzen...

Mal sehen, vielleicht hab ich ja Zeit damit auch mal "rumzuspielen"...

Ja, Wiki hab ich auch schon gefunden ;)

Evtl. "scanne" ich mal meine WLAN-Ausleuchtung ;)

Aber jetzt erst mal überhaupt MQTT... 8)

Danke, Joachim
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 14 Mai 2021, 12:14:16
Hab mir den Traffic was zurückkommt noch nicht angeschaut, ist es bei dir auch so das nach einem Befehl ewig set_... (wegen setStateList) in state steht und dann irgendwann nur idle ?
Gibts bei der MQTT-Implementierung von Valetudo keine Antwort wie Docked, Charging, Waiting etc. ?
Doch die Antwort kommt über topic valetudo/rockrobo/state und dann wird das reading state gesetzt.
Und die Befehle kommen bei mir zeitnahe. idle nach einiger Zeit - kommt eigentlich nur wenn er im Raum rumsteht.
Ok die Befehle die keine Bewegung auslösen bleiben natürlich unquittiert hängen.
Zitat
dachte du bist aus (der Nähe von) Leipzig?
Ist das schon so weit im Norden ;)
deswegen sage ich ja auch nur moin ;)

Zitat
Ich habe mich auf die Befehle des V2 konzentriert.
Ich meinte natürlich den V1  :-[
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 14 Mai 2021, 12:39:03
Ja gelesen (https://github.com/rand256/valetudo/wiki/MQTT-API#Topic_valetudorockrobostate) hab ich das schon, da steht aber nicht welche Werte zurückkommen sollten.

Hab bisher nur das Template angewendet, da kommt nix zurück, irgendwann mal idle.

defmod MQTT2_mqttjs_b3143e57 MQTT2_DEVICE rockrobo
attr MQTT2_mqttjs_b3143e57 alias rockrobo
attr MQTT2_mqttjs_b3143e57 devicetopic valetudo/rockrobo
attr MQTT2_mqttjs_b3143e57 event-on-change-reading .*
attr MQTT2_mqttjs_b3143e57 icon vacuum_top
attr MQTT2_mqttjs_b3143e57 model roborockRE
attr MQTT2_mqttjs_b3143e57 readingList homeassistant/vacuum/valetudo_rockrobo/config:.* {}\
$DEVICETOPIC/state:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/attributes:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/map_data:.* {}\
$DEVICETOPIC/command_status:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/destinations:.* { valetudoREdest($EVENT) }
attr MQTT2_mqttjs_b3143e57 room MQTT2_DEVICE
attr MQTT2_mqttjs_b3143e57 setList charge:noArg $DEVICETOPIC/command return_to_base\
fan_power:whisper,min,medium,high,max,mop $DEVICETOPIC/set_fan_speed $EVTPART1\
locate:noArg $DEVICETOPIC/command locate\
pause:noArg $DEVICETOPIC/command pause\
spot:noArg $DEVICETOPIC/command clean_spot\
start:noArg $DEVICETOPIC/command start\
stop:noArg $DEVICETOPIC/command stop\
get_dest:noArg { $DEVICETOPIC.valetudoRE($EVENT) }\
goto:textField { $DEVICETOPIC.valetudoRE($EVENT) }\
map:textField { $DEVICETOPIC.valetudoRE($EVENT) }\
reset_consumable:main,side,filter,sensor { $DEVICETOPIC.valetudoRE($EVENT) }\
zone:textField { $DEVICETOPIC.valetudoRE($EVENT) }\
x_raw_payload:textField { $DEVICETOPIC.valetudoRE($EVENT) }
attr MQTT2_mqttjs_b3143e57 setStateList charge fan_power get_dest goto locate map pause reset_consumable spot start stop zone x_raw_payload
attr MQTT2_mqttjs_b3143e57 userReadings autoReturn:valetudo_state_name:.Idle {fhem("sleep $name:bin_in_time:.0 waitbin;;set $name charge");;return 'return'}

setstate MQTT2_mqttjs_b3143e57 idle
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:32:35 IODev MQTT2_Server
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:32:35 attrTemplateVersion 20210510
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 bin_in_time 4828
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 cleanArea 5239.9
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 cleanCount 158
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 cleanTime 96.7
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:41:44 command return_to_base
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 command_topic valetudo/rockrobo/command
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 currentCleanArea 0.1
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 currentCleanTime 0.0
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 device_identifiers_1 rockrobo
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 device_manufacturer Roborock
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 device_model rockrobo.vacuum.v1
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 device_name rockrobo
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 device_sw_version 0.10.6.2
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 fan_speed_list_1 whisper
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 fan_speed_list_2 min
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 fan_speed_list_3 medium
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 fan_speed_list_4 high
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 fan_speed_list_5 max
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 filter 53.3
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 json_attributes_topic valetudo/rockrobo/attributes
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 last_bin_full -1
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 last_bin_out -1
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 last_run_stats_area 0.1
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 last_run_stats_duration 0
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 last_run_stats_endTime 1620983502000
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 last_run_stats_errorCode 0
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 last_run_stats_errorDescription No error
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 last_run_stats_finishedFlag false
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 last_run_stats_startTime 1620983484000
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 mainBrush 203.3
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:41:44 message ok
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 name rockrobo
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 schema state
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 send_command_topic valetudo/rockrobo/custom_command
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 sensor 0.0
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 set_fan_speed_topic valetudo/rockrobo/set_fan_speed
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 sideBrush 103.3
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 state idle
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 state_topic valetudo/rockrobo/state
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:25:34 subscriptions valetudo/rockrobo/command valetudo/rockrobo/custom_command valetudo/rockrobo/set_fan_speed
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 supported_features_1 start
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 supported_features_10 send_command
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 supported_features_2 pause
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 supported_features_3 stop
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 supported_features_4 return_home
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 supported_features_5 battery
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 supported_features_6 status
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 supported_features_7 locate
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 supported_features_8 clean_spot
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 supported_features_9 fan_speed
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:31:47 unique_id rockrobo
setstate MQTT2_mqttjs_b3143e57 2021-05-13 18:41:44 updated 1620924102862
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 valetudo_state_id -1
setstate MQTT2_mqttjs_b3143e57 2021-05-14 11:12:19 valetudo_state_name UNKNOWN STATE CODE

Bei dem userReadings passt auch was nicht bei mir, hab ich mich noch nicht mit beschäftigt.
(also nicht mit dem userReadings sondern mit dem Wert aus valetudo_state_name der ist ständig UNKNOWN STATE CODE)

Im Valetudo-UI wird keine Karte angezeigt, trotz bisher einer "Komplettreinigung", welchen Grund kann das haben ?
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 14 Mai 2021, 12:59:21
in der valetudo ui gibt es die Seite Einstellungen, da stehen ein Systeminfos (kannst ja mal posten) und unten gibt es ein valetudo systemprotokoll - da habe ich schon wichtige Hinweise gefunden. Findest Du da Fehler?
BTW: ich musste vorhin über ssh ein reboot machen, weil er einen Fehler bei der mqtt Verbindung gemeldet hat. Config neu setzen hat nicht geholfen, reboot dann schon.

Zu der MQTT API Beschreibung - da steht im ersten Satz: Note that it probably won't change over time. Currently this list matches RE release 0.10.0.
Der Rest passiert live im "Hintergrund" - wie das so ist mit Dokus. ;)

Zitat
Im Valetudo-UI wird keine Karte angezeigt,
Das ist ja blöd, da hat doch valetudo ein Problem? Die Karte dort entsteht ja normal live - da kann man zuschauen.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 14 Mai 2021, 13:37:45
Das ist alles was im Log steht:

2021-05-14T01:16:01.515Z Connected successfully to mqtt server
2021-05-14T01:16:00.939Z Probed last id = 1001 using get_status (3 retries)
2021-05-14T01:15:59.914Z Webserver is running on port 80 (http)
2021-05-14T01:15:59.908Z Dummycloud is spoofing 203.0.113.1:8053 on 127.0.0.1:8053
2021-05-14T01:15:59.812Z No ssl key found. Expected path: /mnt/data/valetudo/key.pem
2021-05-14T01:15:59.810Z No ssl cert found. Expected path: /mnt/data/valetudo/cert.pem
2021-05-14T01:15:59.685Z timesync: 14 May 03:15:59 ntpdate[1804]: step time server 188.40.142.18 offset 0.881569 sec
2021-05-14T01:15:56.819Z Loading configuration file: /mnt/data/valetudo/config.json
Waiting for 30 sec after boot... done.
2021-05-13T16:31:45.507Z Connected successfully to mqtt server
2021-05-13T16:25:32.607Z Connected successfully to mqtt server
2021-05-13T16:25:31.957Z Probed last id = 1001 using get_status (3 retries)
2021-05-13T16:25:30.925Z Webserver is running on port 80 (http)
2021-05-13T16:25:30.920Z Dummycloud is spoofing 203.0.113.1:8053 on 127.0.0.1:8053
2021-05-13T16:25:30.833Z No ssl key found. Expected path: /mnt/data/valetudo/key.pem
2021-05-13T16:25:30.831Z No ssl cert found. Expected path: /mnt/data/valetudo/cert.pem
2021-05-13T16:25:30.704Z timesync: 13 May 18:25:30 ntpdate[17962]: step time server 213.239.239.165 offset 1.647292 sec
2021-05-13T16:25:27.864Z Loading configuration file: /mnt/data/valetudo/config.json
    at TCP.onStreamRead (internal/stream_base_commons.js:188:23)
    at Socket.Readable.push (_stream_readable.js:213:10)
    at readableAddChunk (_stream_readable.js:272:9)
    at addChunk (_stream_readable.js:297:12)
    at Socket.emit (events.js:314:20)
    at Socket.ondata (_stream_readable.js:718:22)
    at Writable.write (/snapshot/valetudo/node_modules/mqtt/node_modules/readable-stream/lib/_stream_writable.js:307:11)
    at writeOrBuffer (/snapshot/valetudo/node_modules/mqtt/node_modules/readable-stream/lib/_stream_writable.js:398:5)
    at doWrite (/snapshot/valetudo/node_modules/mqtt/node_modules/readable-stream/lib/_stream_writable.js:409:139)
    at Writable.writable._write (/snapshot/valetudo/node_modules/mqtt/lib/client.js:335:5)
    at work (/snapshot/valetudo/node_modules/mqtt/lib/client.js:321:12)
    at MqttClient._handlePacket (/snapshot/valetudo/node_modules/mqtt/lib/client.js:417:12)
    at MqttClient._handleAck (/snapshot/valetudo/node_modules/mqtt/lib/client.js:1367:7)
    at cb (/snapshot/valetudo/node_modules/mqtt/lib/client.js:705:7)
    at /snapshot/valetudo/lib/MqttClient.js:219:107
TypeError: Cannot read property 'vacuum' of undefined

                                                                                                     ^
this.client.publish(this.topics.homeassistant_autoconf_vacuum, JSON.stringify(this.autoconf_payloads.vacuum), {
/snapshot/valetudo/lib/MqttClient.js:219
2021-05-13T16:25:21.986Z Connected successfully to mqtt server

MiIO: mio-client 3.5.8
Firmware-Version: 004028
Installierte Version: 0.10.6.2


Spricht was dagegen nano zu installieren um sich die config.json mal anzuschauen oder besser nicht und die Datei dazu auf ein anderes System kopieren ?

So sieht die config.json aus:
{
  "spots": [],
  "areas": [],
  "timers": [],
  "ztimers": [],
  "mqtt": {
    "enabled": true,
    "identifier": "rockrobo",
    "topicPrefix": "valetudo",
    "autoconfPrefix": "homeassistant",
    "broker_url": "mqtt://user:pass@192.168.188.26:1883",
    "provideMapData": true,
    "caPath": "",
    "qos": 0
  },
  "dummycloud": {
    "spoofedIP": "203.0.113.1",
    "bindIP": "127.0.0.1"
  },
  "system": {},
  "ntpd": {
    "disabled": false,
    "server": "pool.ntp.org"
  },
  "webInterface": {
    "localization": "de"
  },
  "httpAuth": {
    "enabled": false,
    "username": "valetudo",
    "password": "valetudo"
  },
  "telegramBot": {
    "enabled": false,
    "token": "",
    "password": "",
    "host": "",
    "proxy": "",
    "clients": [],
    "sendConsumables": true,
    "sendConsumablesEvery": false
  },
  "allowSSHKeyUpload": true,
  "map_upload_host": "http://127.0.0.1"
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 14 Mai 2021, 13:55:26
Witzig, diese Meldung hatte ich vorhin auch:
Zitat
TypeError: Cannot read property 'vacuum' of undefined
und dann ging mqtt nicht. Deshalb mein reboot.
Mein MiIO: miio-client 3.3.9 - von was hängt das ab? Sonst scheint alles gleich mit Meinem zu sein.

Es ist ja nicht so, das er unter valetudo/rockrobo/attributes nichts published!? Da kommt ein json zurück wo dann das drin steht:   "valetudo_state": { "id": 2, "name": "Charger disconnected" } da steht bei Dir scheinbar -1 ?
Man kann sich mit mqtt-explorer (http://mqtt-explorer.com/) ganz gut anschauen was am FHEM MQTT2 Server so ankommt.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 14 Mai 2021, 14:08:21
Zitat
Man kann sich mit mqtt-explorer ganz gut anschauen was am FHEM MQTT2 Server so ankommt.

Ich mach das immer "auf die Schnelle/nebenbei" mit einer einfachen Android-App MyMQTT, da kann man die Topics aber blöderweise nicht rauskopieren.

Ich sehe bisher nur Verkehr unter valetudo/rockrobo/attributes und valetudo/rockrobo/command_status.

reboot hatte ich eben auch mal einfach so gemacht, keine Änderung.

Zitat
"valetudo_state": { "id": 2, "name": "Charger disconnected" } da steht bei Dir scheinbar -1 ?

ja da steht immer valetudo_state": { "id": -1, "name": "UNKNOWN STATE CODE" } drin.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 14 Mai 2021, 14:23:07
Nutzt du jetzt 0.10.6.2 oder noch 0.10.5, im Blog oder irgendwo anders stand 0.10.5?

Ich frag mich ob ich mal 0.10.5 ausprobieren soll ?
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: rudolfkoenig am 14 Mai 2021, 14:23:35
Zitat
Ich mach das immer "auf die Schnelle/nebenbei" mit einer einfachen Android-App MyMQTT, da kann man die Topics aber blöderweise nicht rauskopieren.
Alternativ setzt man "attr MQTT2_SERVER rawEvents valetudo/.*" , und man kopiert topic+message aus dem FHEMWEB Event-Monitor raus.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 14 Mai 2021, 14:29:45
miio-client 3.3.9 vs 3.5.8 - da gab es doch bei der original Firmware Bezeichnung immer so eine zweiteilige Nummer in der Art "3.5.8_004018"
Das sieht doch so aus, als ob da jetzt ein Unterschied ist. Ich kann mich erinnern das diese Nummer sich auch mal änderte und dann irgendwas grundlegen anders war.
Hier tauchen nur 3.3.9 Nummern auf.
https://github.com/dgiese/dustcloud/wiki/Xiaomi-Official-Vacuum-Firmware 

Hattest Du mal ne andere Firmware und dabei ist etwas mit der "Unterlage" passiert?

Offenbar ist ja valetudo selbst auch ratlos UNKNOWN ...

Ich habe die aktuelle 10.6.2 als ich vor ein paar Tgaen anfing war es die 10.5
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 14 Mai 2021, 14:32:54
Alternativ setzt man "attr MQTT2_SERVER rawEvents valetudo/.*" , und man kopiert topic+message aus dem FHEMWEB Event-Monitor raus.

Ich weiß hab ich vor ein paar Minuten auch gemacht:

attr MQTT2_Server rawEvents valetudo/rockrobo/attributes:.*
und im Event-Monitor gefiltert mit valetudo in Match the whole line und frag mich warum ich nix sehe, der Monitor bleibt leer.

edit:

mit rawEvents valetudo/.* sehe ich alles  :P
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 14 Mai 2021, 14:37:14
Wenn Du es so macht wie Rudi vorschlug, funktioniert das einwandfrei für beide Stellen:  ;)
valetudo/.*
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 14 Mai 2021, 14:41:59
Zitat
Hattest Du mal ne andere Firmware und dabei ist etwas mit der "Unterlage" passiert?

ja, Valetudo war schonmal drauf, irgendwann aber einfach weg.

Jetzt hab ich einfach

hip="<primäre host ip adresse>"
wget https://vacuumz.info/download/gen1/stock_root/root_4028.pkg
mirobo update-firmware --ip $hip root_4028.pkg

ausgeführt und Valetudo RE installiert.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 14 Mai 2021, 14:47:53
Alternativ setzt man "attr MQTT2_SERVER rawEvents valetudo/.*" , und man kopiert topic+message aus dem FHEMWEB Event-Monitor raus.

Da die Empfehlung jetzt vom Autor selbst kommt, ich frage mich schon länger warum dann in der Doku steht:

Zitat
Should only be used, if there is no MQTT2_DEVICE to process the topic

Wir haben doch eine MQTT2_DEVICE-Definition, ist der Hinweis dann veraltet ?
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 14 Mai 2021, 15:04:32
Was muss ich denn machen dass das Verzeichnis leer ist, ich mags einfach mal testen ob es sich mit der vorherigen Version anders verhält:

root@rockrobo:~# sudo apt-get purge valetudo-re
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  valetudo-re*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 14969 files and directories currently installed.)
Removing valetudo-re (0.10.6) ...
valetudo stop/waiting
dpkg: warning: while removing valetudo-re, directory '/usr/local' not empty so not removed
Processing triggers for ureadahead (0.100.0-16) ...
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: rudolfkoenig am 14 Mai 2021, 15:11:08
Zitat
Wir haben doch eine MQTT2_DEVICE-Definition, ist der Hinweis dann veraltet ?
Nein, ich wollte mich aber kurz fassen, sonst wird das gerne ignoriert oder missverstanden.

Man kann MQTT2_SERVER auch ohne MQTT2_DEVICE betreiben, man reagiert dann auf diese "raw events" mit notify, und setzt Befehle per "set m2s publish topic message" ab.
Mit MQTT2_DEVICE sind rawEvents ueberfluessig (im Sinne von: "generiert sinnlosen Last"), da MQTT2_DEVICE selbst die besseren Events generiert. "should" ist als solches gemeint: mach es so, es sei denn, du weisst, was du tust.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 14 Mai 2021, 15:15:35
Das Verzeichnis /usr/local will er nicht entfernen obwohl es eigentlich in seinen Aufgaben steht? Ich würde das belassen und nicht löschen. Da stehen nur noch 3 Scripte drin, nichts weiter.

Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 14 Mai 2021, 15:30:45
Ich hab ein paar Minuten später nochmal mit
apt list --installedgeschaut und valetudu-re wurde nicht mehr aufgeführt ?
dann hab ich 0.10.5 installiert
valetudo-re/now 0.10.5 armhf [installed,local]und am Verhalten hat sich nix geändert, keine Daten/Verkehr unter dem state-Topic.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 14 Mai 2021, 19:55:58
So ein Mist. Mein Bauch sagt mir: Da will der Unterbau mit valetudo nicht. Schau mal hier ist das auch mit den Nummern:
https://builder.dontvacuum.me/pkg/
Ich bin definitiv von einer relativ alten Version gekommen... Und zuletzt vom Werksreset ...
Ich suche mal ein bisschen nach valetudo logging, vielleicht gibt es ja einen Hinweis wenn man auf der Kiste eine Fehlermeldung findet.

@Joachim: Wie ist Deine miio-client Version auf deinem v1?
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 15 Mai 2021, 09:18:42
Ich les hier (https://valetudo.cloud/pages/integrations/mqtt.html) was von Map Data, Dust Bin, Zone Clean. Alles Punkte die du im ersten Post wichtig findest, warum überhaupt über Valetudo RE ?

Nachdem ich heute Morgen auf diesen Beitrag (https://www.heise.de/forum/c-t/Kommentare-zu-c-t-Artikeln/Schoener-saugen/Ein-paar-Worte-zu-Valetudo-und-Valetudo-RE/posting-36965330/show/) gestossen bin, bin ich erstmal am zweifeln ob Valetudo RE der richtige, künftige Weg ist.

Noch mehr schmeichelt mir Valetudo wenn FHEM extra Erwähnung beim letzten Release findet, auch wenn ich noch nicht verstanden habe was genau die Homie-Implementierung genau bedeuten soll und wie genau/ob überhaupt die uns von nutzen sein könnte.

Zitat
If you're using something else such as FHEM or ioBroker, the new Homie MQTT implementation should also be much easier to work with.

Ich bekomme Heute oder Morgen den bisher nicht gerooteten V1 meiner Mutter, bei dem bisher auch noch kein update gemacht wurde, ich glaub da spiel ich Valetudo mal drauf und beschäftige mich damit.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 17 Mai 2021, 12:19:37
@TomLee Da hast Du mich jetzt nochmal über Los geschickt  :D
Ich habe mir das alles nochmal durchgelesen und was Du sagst kann ich nachvollziehen. Ich war ja getriggert durch einen anderen Artikel auf RE und habe dann ein bisschen im Internet gestochert und fand irgendwie RE "einfacher" - jetzt hast Du moralische Bedenken in mir geweckt ;)
Stutzig macht mich auf der Firmware Seite das hier "(ver 4018, 05/2020, Full-Ubuntu)" - das kann ja bedeuten das die 4028 die ich jetzt genommen habe nicht so toll ist?
Insgesamt klingt das alles "unklarer" als bei RE - deswegen war ich wahrscheinlich schneller dabei ;)

Ich schau mal wie Deine Erfahrung ist und bleib dran.  8) 

BTW: ich habe am WE zwei Bugfixes in der Utils eingecheckt, betreffen beide die Ansteuerung von Zonen. Falls jemand dies aktualisieren möchte:
{ Svn_GetFile("contrib/AttrTemplate/99_roborockUtils.pm", "FHEM/99_roborockUtils.pm", sub(){CommandReload(undef, "99_roborockUtils")}) }
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: MadMax-FHEM am 17 Mai 2021, 12:40:35
jetzt hast Du moralische Bedenken in mir geweckt ;)

Bei mir auch ein wenig...

@Otto: wäre deine MQTT-Anbindung kompatibel mit Valetudo (ohne RE)?

Bzw. werde ich mal sehen, ob ich von RE auf ohne RE komme ohne zurückzusetzen (weil sonst Karten weg und ich muss das erst mal noch mal prüfen mit dem Abspeichern und Zurückspielen: sicher ist sicher)...

BTW: ich habe am WE zwei Bugfixes in der Utils eingecheckt, betreffen beide die Ansteuerung von Zonen. Falls jemand dies aktualisieren möchte:
{ Svn_GetFile("contrib/AttrTemplate/99_roborockUtils.pm", "FHEM/99_roborockUtils.pm", sub(){CommandReload(undef, "99_roborockUtils")}) }

Spiele ich mal ein.
Was soll das ändern (evtl. erkenne ich es ja am Code selber)...

Aktuell habe ich MQTT nur bei meinem V1 aktiviert.
Demnächst auch der V2.

Ich wollte eine Zone starten und dachte es kommt eine Liste oder man könnte irgendwo eine abrufen...
...aber es gibt ja keinen get-Befehl...

EDIT: eingespielt. Für mich keine Änderung erkennbar. Hab aber auch noch nicht wirklich viel damit gemacht (also bislang)... :-\
EDIT: Nach dem Anlegen des Devices stand es (nach einem "Fehlversuch" eine Zone zu reinigen: gestartet mittels Xiaomi-Modul bzw. Valetudo Webseite und darüber abgebrochen weil Zonenreinigung mit "alter" Karte und neuer FW nicht so ganz geklappt hat) ewig auf "set_docked" (oder so ähnlich). Eine Nacht geschlafen und dann war docked, also korrekt...

Gruß, Joachim
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 17 Mai 2021, 12:55:51
Zone starten:
Du verwendest einfach die Bezeichnungen die Du in Valetudo RE vergeben hast, mehrere mit Komma getrennt, ohne Anführungszeichen.
Abrufen kannst Du die Liste mit get_dest - schreibt er in zwei Readings. Ist aber nichts umwerfendes, nur die Namen als Liste. Ja Tomlee hätte einen getter gemacht, da hatte ich auf die Schnelle wieder "ein Problem" :)
Ohne den Patch ging die Zonenreinigung schlicht nicht, er hat ein leeres Array geschickt. Übrigens kannst Du einfach die Routine aufrufen (mit Befehl als Parameter), die liefert nur einen String zurück, da passiert also nichts "mystisches" insofern kannst Du kontrollieren wie die Befehle zusammen gesetzt werden.

Der zweite Patch betraf Umlaute bei get-dest -> Küche :)

Soweit ich sehe ist der MQTT Syntax bei "ohne" RE anders. Aber ein Hexenwerk ist das nicht, kann man sicher alles in eine Routine bauen.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: MadMax-FHEM am 17 Mai 2021, 13:01:31
Danke.

Ok, daher habe ich keinen Unterschied gemerkt ;)

Das mit get_dest habe ich probiert (ohne zu wissen was es macht ;)  ) und tatsächlich die Readings :)

Wenn man's weiß ist es ja einfach ;)

Was allerdings (bei mir) bleibt: jeder abgesetzte Befehl bleibt als "set_Befehl" stehen bis der nächste Befehl folgt, aktuell auf "set_locate", weil ich dachte evtl. hat das "get_dest" was kaputt gemacht...

Gruß, Joachim
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 17 Mai 2021, 13:21:23
Der set_Befehl bleibt solange stehen, bis der Sauger per $DEVICETOPIC/state seinen state zurückmeldet. Was bei mir einwandfrei funktioniert, aber bei Thomas ja offenbar gar nicht.
Ich glaube set_locate bleibt eine ganze Weile, weil er das per mqtt nicht quittiert. Aber wenn er fährt kommen bei mir ständig state Meldungen ...

Wie man von RE nach ohne kommt - ohne Reset - ist mir auch nicht klar. Zumal nicht nicht durchblicke ob es valetudo "solo" - zum installieren ohne Firmware gibt?
Ist sicher alles ganz einfach, deswegen hat es keiner aufgeschrieben  ;D ;D ;D

Zumindest (wenn man weiß nach was man sucht) gibt es hier auch fertige valetudo Images https://vacuumz.info/download/gen1/
Das sichern der Daten (inklusive Karte) geht offenbar ganz gut wenn man /mnt/data/valetudo sichert.
Eventuell reicht es wenn man die binary unter /usr/local/bin austauscht - mit der die man hier https://github.com/Hypfer/Valetudo/releases/tag/2021.04.0 herunterladen kann?
Natürlich samt passende /mnt/data/valetudo/config.json
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: MadMax-FHEM am 17 Mai 2021, 14:06:02
Das mit der FW ohne RE werde ich mal probieren (FW-Links waren/sind klar ;)  ), allerdings ist dann mein Testsauger nicht mehr mit MQTT "kompatibel"...
...also scheidet der als Testvehikel (erst mal) aus.

Bislang hat es gereicht (V1) die last_map unter /mnt/data/rockrobo zu sichern bzw. zurückzuspielen.
Evtl. verbunden mit einem kurzen "Anfahren", damit zumindest mal die Dockinstation auf einer sonst (nach einem Reset) komplett leeren Karte erscheint.
Dann reboot und gut.

Habe ich mit meinem Testsauger schon öfter gemacht.
Allerdings steht der etwas (sehr) eng und da hat sich in der FW bzgl. Navigation wohl was geändert.
Seitdem funktioniert die in fhem abgespeicherte Zone (Xiaomi-Modul) nicht mehr.
Also Karte wird korrekt angezeigt, die Zone auch aber der Sauger tut sich beim Navigieren halt schwer und da musste ich abbrechen... ;) :-\

Ich schaue mal, ob ich von neuester Valetudo RE auf neueste Valetudo ohne RE komme...

Gruß, Joachim
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 17 Mai 2021, 14:10:37
Zitat
Ich schau mal wie Deine Erfahrung ist und bleib dran.

Die aktuelle Valetudo 2021.04.0 hat einen MQTT-Bug, der soll im nächsten Release behoben sein, die ist aktuell auf meinem V1.
Also noch warten oder selbst sagt man kompilieren ? des master Branch, weiß ich aber nicht wie.

Auf den meiner Mutter hab ich die aktuelle Valetudo RE gespielt, für sie sind all die tollen Features im UI von RE ein Vorteil.

Zitat
@Otto: wäre deine MQTT-Anbindung kompatibel mit Valetudo (ohne RE)?

Dafür gibts das andere Template roborock aus diesem Thread (https://forum.fhem.de/index.php/topic,104804.msg987284.html#msg987284).

Aber wie gesagt dann eine vorherige Version von 2021.04.0 nehmen, wegen dem Bug ( oder warten, oder selbst builden  ;D), auch die Topics mein ich verstanden zu haben haben sich mit dem letzten Release geändert und das Template müsste dann angepasst werden.



Wenn man die Karte nicht unbedingt sichern möchte/braucht, habt ihr euch mal mit der App die in #7 erwähnt wurde beschäftigt, einfach den Sauger auf Werkseinstellung zurücksetzen und nach nicht mal 15 Minuten hat man damit eine neue .pkg geflasht.
Im Falle Valetudo kann man auch gleich das Sprachpaket hochladen, das ginge halt mit Valetudo RE auch im UI.

Alle Dateien die man braucht findet man auf https://vacuumz.info/download/ (https://vacuumz.info/download/).
Die App, die fertige .pkg und die Sprachdatei.

Auf https://vacuumz.info/download/ die Android-App (.zip), das Sprachpaket und die Firmware auf das Android-Gerät laden.

VacuumzApp installieren.

Sauger auf Werkseinstellungen setzen (Reset+Home drücken, nach 5 Sekunden nur noch Homebutton bis zur nächsten Sprachnachricht)

Androidgerät mit dem AP des Saugers verbinden

App starten (nicht vorher schon), diese verbindet sich sofort und zeigt auch gleich einen Token an (der ist aber unnütz, nachdem man sich mit dem eigenen Wifi verbindet ist es wieder ein anderer).

Mit dem Flash Firmware-Button wird nach Auswahl der zuvor heruntergeladenen Firmware direkt das hochladen auf den Sauger begonnen.(nicht gleich in die Hose machen, das dauert ein paar Minuten)

Es erfolgt eine weitere Sprachnachricht, das der Flashvorgang erfolgreich war und ein reboot ? stattfindet.

Das Androidgerät verliert dann die Wifi-Verbindung zum AP des Saugers, ist der Sauger neu gestartet wieder mit dem AP verbinden und (im Falle Valetudo) die Sprach Datei hochladen.

Dann, während man noch mit dem AP verbunden ist, mit 192.168.8.1 das UI aufrufen und in den Einstellungen die eigenen WLAN-Daten eingeben, fertig.

Falls von Interesse:
Token auslesen, wenn der Sauger schon gerootet ist:
printf $(cat /mnt/data/miio/device.token) | xxd -p


Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: MadMax-FHEM am 17 Mai 2021, 14:20:52
Das mit der App mag ja schön und gut sein, was mir da nicht gefällt: zurücksetzen ;)

Wenn/als die Sauger frisch kamen wäre das eine tolle Möglichkeit gewesen...
...aktuell mache ich das lieber mittels miio update-firmware :)

Update auf Valetudo OHNE RE (jaja die 04 mit dem Bug) ist grad durchgelaufen.
Mal sehen was da anders ist...

Vermutlich reicht mir das dann sogar mit Bug ;)
(nutze ja aktuell noch das Xiaomi-Modul bzw. sind halt meine ganzen "Automatismen" basierend darauf umgesetzt)

Hauptsache: Cloudfree :)

Gruß, Joachim
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 17 Mai 2021, 14:28:28
Du kannst doch den Ordner (mit der Karte) zuvor sichern und dann wieder zurückspielen oder versteh ich was nicht ?

Mit der 04 einfach halt MQTT erst gar nicht aktivieren, MQTT-Traffic gibts mit der aber auch aktuell nur wenn man den homeassistant aktiviert und dann kommt auch nur Mist und die CPU-Auslastung geht hoch.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: MadMax-FHEM am 17 Mai 2021, 14:44:04
Du kannst doch den Ordner (mit der Karte) zuvor sichern und dann wieder zurückspielen oder versteh ich was nicht ?

Ja schon.
hat auf meinem Testsauger auch funktioniert.
Aber da ist es mir nicht so wichtig, wenn da was "schief geht" ist es "egal".

Aber nicht für Wohnzimmer/Esszimmer/Schlafzimmer.
Da habe ich lang getüftelt, bis die Zonen gepasst haben und da soll das auch so bleiben.

Da noch mal von vorne hab ich keine Lust ;)

Deswegen lieber nur updaten OHNE Reset.
Aber geht/ging ja problemlos :)

Bislang hab ich noch nichts vermisst...
(gut die Kartenansicht ist [jetzt] etwas "klein")
EDIT: "Vorteil" die "Zusatz-Gimmicks" funktionieren jetzt (nat.), also z.B. Valeroni (WLAN-Heat-Map)... :)
https://valetudo.cloud/pages/companion_apps/valeronoi.html
Das geht/ging mit Valetudo RE (nat.) nicht...
Gut: auch nur Spielerei ;)

Und MQTT ist (aktuell) eh mehr "Spielerei"...
(Nix für ungut Otto ;)  )

Irgendwann mache ich mal den Test, ob ich aus meinem "Testsauger" einen "Wohnzimmersauger" machen kann...
...wenn das geht, dann bin ich da auch (deutlich) "entspannter"... ;)

Selber bauen lassen (wobei ich nicht weiß welches Valetudo da zugrunde liegt aber man kann auch "Neuestes" angeben) geht ja über: https://builder.dontvacuum.me/ bzw. für V1 direkt: https://builder.dontvacuum.me/_v1.html

Gruß, Joachim
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 17 Mai 2021, 15:10:29
Zitat
wobei ich nicht weiß welches Valetudo da zugrunde liegt aber man kann auch "Neuestes" angeben) geht ja über:

Steht ja alles zur Auswahl, welche Version, ob Valetudo oder RE, ob aktuelles Release oder alte Version. Aber bringt nix, weil wenn man Preinstall valetudo newest version
auswählen würde dann die .pkg mit dem letzten Release 04 erhalten würde. Die kann man sich aber ja auch gleich bei https://vacuumz.info/download/ laden.

Ich mein es so verstanden zu haben das man direkt den Code (master-Branch) aus Github (und wie bis jetzt verstanden der Bug schon vor über 2 Wochen behoben wurde, es gab dazu halt bisher nur noch kein Release) selbst "builden" müsste.

Wie hier (https://valetudo.cloud/pages/development/building-and-modifying-valetudo.html) ausführlich beschrieben, verstehs aber trotzdem nicht ganz und mag mich ehrlich gesagt gar nicht weiter mit beschäftigen, da warte ich lieber.

Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 17 Mai 2021, 18:15:08
Zitat
So ein Mist. Mein Bauch sagt mir: Da will der Unterbau mit valetudo nicht

Hab jetzt wieder Valetudo RE (vacuum_4028_valetudo_re_0_10_6.pkg) aufgespielt (ja das UI ist um Welten besser, informativer), aber diesmal mit Werksreset zuvor (mit der App halt), weil das neue Release bestimmt noch auf sich warten lässt und mit Sicherheit auch nicht gleich unter vacuumz.info verfügbar sein wird.
Jetzt bekommt auch was in state zurück und die Karte wird auch erstellt (im UI).

Hab mich ehrlich gesagt noch nie mit der Karte beschäftigt, wenn gesaugt wurde dann bisher immer alles.
Hab die Karte einer Komplettreinigung unter Valetudo gespeichert und jetzt in RE eingespielt, einen reboot gemacht und sie wird nicht angezeigt, dann wieder gelöscht, reboot und es wird nach kurzer Fahrt (nicht gleich) eine neue Karte angefangen.

Was ich mich frage ist ob ich den Sauger evt. hätte kurz fahren lassen sollen bis die Karte (aus Valetudo) vlt. dann doch irgendwann angezeigt worden wäre, muss ich später/morgen nochmal testen ?
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: MadMax-FHEM am 17 Mai 2021, 18:25:25
Was ich mich frage ist ob ich den Sauger evt. hätte kurz fahren lassen sollen bis die Karte (aus Valetudo) vlt. dann doch irgendwann angezeigt worden wäre, muss ich später/morgen nochmal testen ?

Naja was bei mir mit Reset funktioniert hat (allerdings Karte selbst gesichert: /mnt/data/rockrobo/last_map):

Kurz fahren lassen (weil die Karte ja komplett leer war, also nicht mal die Ladestation zu sehen war), dann war eben die Ladestation da und halt ein wenig "Umgebung" vom "Anfahren". Dann Karte (noch mal) "reinkopiert", Sauger gebootet (weil nur dann liest er die Karte neu ein, alternativ das "Player" Programm "abschießen") und dann war die alte Karte da.

Wie das mit der Sicherung über Valetudo geht: (noch) keine Ahnung ;)

Ja, zugegeben die Weboberfläche von RE bietet schon so bissi was mehr etc.
Aber wenn es sich bei Valetudo RE wirklich so verhält wie in dem verlinkten Artikel, dann bleibe ich erst mal auf OHNE RE (und rüste auch die anderen dann mal wieder um)...

Gruß, Joachim
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 17 Mai 2021, 19:01:16
Zur Karte:
Ich habe die mir ein paar Karten erstellt, ich habe dazu den Sauger mit der valetudo App in Etappen durch die Bude geschickt: ein Stück vor, dann bis zur nächsten Kreuzung im Flur von dort vor den Punkt wo drei Zimmer abzweigen, dann gerade aus in die Zimmer. Ich fand das ganz Lustig. Die Phasen der Karte habe ich jeweils erstmal mit scp runterkopiert, es stellte sich später heraus: das war gut so!.

Test Sicherung mit valetudo RE
Ich habe auch mit MQTT (geht meiner Meinung nach besser und logischer als in der App) ein map store Karte1 gemacht.
Dann die Karte versaut, danach ein map load Karte1 - dann "zappelt" die App eine Weile (weil der Sauger oder Teile von ihm) booten und die alte Karte ist wieder da.
Der Sauger stand ein kleines bisschen neben der Spur, mit goto Point ein Stück fahren lassen, Karte stimmt wieder. (hier darf man nicht einfach start und dann pause/stop machen -> das erzeugt eine neue Karte)

Dann kam der Werkreset und alles war futsch. :(
Dann habe ich nach "Neu Flash" nach kurzer Fahrt map store map_3 gemacht, das erzeugt eine Struktur /mnt/data/valetudo/maps/map_3/ mit diesem Inhalt
drwxr-xr-x 2 root root 4.0K May 14 12:34 .
drwxr-xr-x 4 root root 4.0K May 15 08:16 ..
-rw-r--r-- 1 root root 439K May 14 12:39 last_map
-rw-r--r-- 1 root root  149 May 14 12:34 valetudo.json
Dann habe ich mit scp meine alte Karte wieder als last_map dorthin kopiert (das Fragment dabei überschrieben)
Dann ein map load map_3 und siehe da: nach kurzem "zappeln" alles wieder da! ;)

In der Datei valetudo.json stehen alle Punkte und Zonen die zu dieser Karte gehören.
Also für ein externes backup müsste man die Struktur /mnt/data/valetudo/ einpacken und wegkopieren.

@Thomas hat sich jetzt Deine miio-client Version geändert?
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 17 Mai 2021, 19:11:41
Die ist jetzt 3.3.9
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 17 Mai 2021, 19:26:52
Also hattest Du ein Firmware 04028 mit einem miio-client 3.5.8 - das ist offenbar für valetudo nicht gut...
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 18 Mai 2021, 15:22:55
Irgendwo habt ihr was verdreht, die roborock und roborockRE Templates stehen nicht mehr in der Auswahlliste nach heutigem update, über die Kommandozeile klappts aber noch.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 18 Mai 2021, 21:02:48
Das liegt nicht am Update sondern offenbar am Filter (welches ich per c&p vom rockrobo übernommen habe)  ::)
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 19 Mai 2021, 10:05:40
Verstehs auch nach einmal drüber schlafen immer noch nicht, es kommen auch keine Erinnerungen hoch, was spricht denn dagegen in beiden Templates den gleichen Filter zu verwenden, es sollen doch beide Templates vorhanden sein wenn valetudo in  der rL vorkommt ?
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 19 Mai 2021, 10:30:08
Ich muss es mir noch genau anschauen, ich glaube das Filter wirkt beim jungfräulichen (darf man das heute noch sagen) Device richtig. Nach der ersten Anwendung wirkt es so, dass das Template ausgeblendet wird?
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 19 Mai 2021, 11:48:06
Zitat
Nach der ersten Anwendung wirkt es so, dass das Template ausgeblendet wird?

Ja so verhält es sich zur Zeit.

Wenn ich mir aber andere Templates anschaue, bspw. die Milights bei denen nach der CID gefiltert wird, dann ist dort das Verhalten nicht so, dort ist auch nach der ersten Anwendung das Template in der Liste.

Probier ich das bei den roborocks:

# The rockrobo device for valetudo RE
name:roborockRE
filter:TYPE=MQTT2_DEVICE:FILTER=CID~valetudo.*
...

name:roborock
filter:TYPE=MQTT2_DEVICE:FILTER=CID~rockrobo.*
...

wird das entsprechende Template trotzdem nach der ersten Anwendung wieder ausgeblendet.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 20 Mai 2021, 14:56:34
Ich habe das Filter jetzt so geändert:
filter:TYPE=MQTT2_DEVICE:FILTER=readingList=.*\/valetudo.*Das Problem war ja, das ich die readingList mit $DEVICETOPIC überschreibe.

Dein Test hätte TYPE=MQTT2_DEVICE:FILTER=CID~rockrobo sein müssen (warum weiß ich nicht .* am Ende ist zu viel, habe es mit list getestet). Aber man könnte das Ding ja anders benennen (bei zwei Saugern) den basetopic wird man wohl lassen.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 20 Mai 2021, 17:54:13
Verstehs immer noch nicht, auch wenns klappt  ::)
Es gibt doch kein 'valetudo' mehr in rL ausser in dem homeassistant-Zweig und wenn ich den zum Test raus nehme klappts immer noch ?

Für die Blinden:
attr MQTT2_mqttjs_137fdfb0 readingList homeassistant/vacuum/valetudo_rockrobo/config:.* {}\
$DEVICETOPIC/state:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/attributes:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/map_data:.* {}\
$DEVICETOPIC/command_status:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/destinations:.* { valetudoREdest($EVENT) }



Zitat
Aber man könnte das Ding ja anders benennen (bei zwei Saugern) den basetopic wird man wohl lassen.

Hab mich lange nicht mit attrTemplate beschäftigt, es hat mich jetzt hier aber wieder "gepackt" ( wer weiß wie lange).
Denk bestimmt nur einen Schritt voraus und nicht an die Folgen.
Es wird in dem roborock-Template auch so gemacht ja, aber bist nicht du verantwortlich dafür, mit defmod DEVICE MQTT2_\DEVICE DEV_ID, das man den Namen ändern muss, die Geräte werden doch mit einer exclusiven CID angelegt.
Wenn man die DEF so belassen würde müsste man doch auch keine andere Bezeichnung in Identifier im UI vornehmen, oder ?

siehe die Tasmota-Templates, die DEF muss ja nicht schön aussehen.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 20 Mai 2021, 18:45:15
Zitat
Es wird in dem roborock-Template auch so gemacht ja, aber bist nicht du verantwortlich dafür, mit defmod DEVICE MQTT2_\DEVICE DEV_ID, das man den Namen ändern muss, die Geräte werden doch mit einer exclusiven CID angelegt.

Das keine Frage mehr das ist Fakt, kann seit heute auf die "Roberta" meiner Mutter zugreifen, hab die defmod ... Zeile rausgenommen, beide Devices gelöscht, dann werden zwei Devices angelegt und auf beide kann man das Template anwenden.  :P
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 20 Mai 2021, 18:58:32
Noch was beschäftigt mich, die Utils wird immer beim anwenden heruntergeladen, evtl. kann man ja sowas wie attrTemplateVersion für die auch einführen, das man das abfangen kann und nur bei einer neuen Version passiert ?
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 20 Mai 2021, 19:00:07
wenn ich ehrlich bin: ich habe die defmod Zeile übernommen und nicht wirklich verstanden. Ich meine bei mir hat sie gar nichts bewirkt?
Muss mir das offenbar nochmal alles in Ruhe anschauen. Mein Focus bisher waren die Funktionen drin, nicht das drumherum. Aber das muss ich auch irgendwann mal verstehen ;)
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 20 Mai 2021, 19:34:23
Zitat
Ich meine bei mir hat sie gar nichts bewirkt?

Na, sie ändert die DEF (und somit die CID, völlig unnötig), deswegen muss man Identifier anders benennen das ein neues Device erkannt wird mit dem bisherigen Template.

Hast du zwei Sauger ? Dann vollziehe das einfach mal nach und du wirst mich verstehen.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 20 Mai 2021, 20:24:23
Zitat
Hast du zwei Sauger ?
Nö. Nur einen das ziemlich erste Modell :)
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: MadMax-FHEM am 20 Mai 2021, 20:27:11
Nö. Nur einen das ziemlich erste Modell :)

Ich hätte 2...
...aber keine Ahnung wovon ihr sprecht... ;)

Gruß, Joachim
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 20 Mai 2021, 20:30:16
Aber Du bist der Meinung MQTT bringt Dir nix :)
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: MadMax-FHEM am 20 Mai 2021, 20:47:43
Aber Du bist der Meinung MQTT bringt Dir nix :)

Meinst du mich?

Ja, erwischt... ;)

Aber wenn ich was tun/helfen/testen kann: warum nicht...

Ich muss ja nicht immer von allem was haben... ;)

Gruß, Joachim
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 20 Mai 2021, 20:56:56
Und ich gebe zu das ich zu "verpeilt" bin das alles einem Einsteiger in dem Thema verständlich zu erklären. Werds aber versuchen wenn Fragen sind.

Es gibt noch den anderen Fuchs, von dem denke ich der hat ganz genau verstanden auf was ich aus bin und das auch verständlich rüber bringen könnte, der hält sich aber bewusst ? zurück.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 20 Mai 2021, 21:23:21
Es gibt noch den anderen Fuchs,
Du meinst Beta Fuchs?  ;D
Ich muss ja nicht immer von allem was haben... ;)
Naja ich finde die Steuerung mit den Zielen und Zonen in den Valetudo Koordinaten ohne zu rechnen schon als Vorteil gegenüber der Modullösung.
Wenn ich im anderen Thread von Super... lese wie versucht wird die Koordinaten in der Bude zu ermitteln. ;)
Ich kann den Sauger quasi auf der neuen, leeren Karte gezielt durch die Bude schicken und relavante Punkte ermitteln und ihn dabei die Karte zeichnen lassen. Das dauert wenige Minuten und keine drei Tage Rätselraten wo der Nullpunkt ist ;D
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: MadMax-FHEM am 20 Mai 2021, 21:35:20
Naja aber das ist bei Super... ja nur so "problematisch", weil nicht gerootet ist UND die Flole-App nicht am Start ist ;)

Ich habe ja alles bereits mit Koordinaten die ich brauche "versorgt" im Modul.
Ebenso meine Automatismen eben damit "programmiert"...

Und mit der Flole-App ist es ebenso einfach wie mit Valetudo :)

Einziger (gut ist schon ein toller) Vorteil: OHNE CLOUD :)

Drum bleibe ich erst mal beim Modul und "spiele" mit MQTT gerne (zum Nutzen der "Allgemeinheit") rum... 8)

Eventuell, wenn ich mal viel Zeit habe, stelle ich mal um...

Gruß, Joachim
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 21 Mai 2021, 15:22:37
Zitat
die Geräte werden doch mit einer exclusiven CID angelegt.
Wenn man die DEF so belassen würde müsste man doch auch keine andere Bezeichnung in Identifier im UI vornehmen, oder ?

Sry falscher Dampfer, die CID ist bei jedem reboot bzw. MQTT deaktivieren/aktivieren anders und fest vergeben kann man sie auch nicht (was bei Valetudo möglich sein wird (wie bei Tasmota), wie ich bisher verstanden hatte), also würde ohne die defmod Zeile auch immer ein neues Device angelegt und das auch immer mit den gleichen Topic-Pfaden  ::).
Mein Ansatz ginge also nur wenn man die CID fest vergeben könnte und auch im Topic mitkommt, ist halt wie schon vermutet nicht weiter gedacht gewesen von mir.
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 29 Mai 2021, 15:58:52
[OT]
Jetzt hab ich drei Tage nicht geschaut ob es ein neues Release von Valetudo gibt und genau vor drei Tagen gabs eines ::)
Ist auch gleich bei vacuumz.info zum Download bereitgestellt worden, spiel ich später mal auf.  :P
[OT]

edit: Was MQTT angeht immer noch unbrauchbar
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 19 September 2021, 22:07:11
Hey, Otto, kurz und knapp, bevor ich wsl. (sicher  :P) weitere Frage hätte, hab heute mal ValetudRE 0.10.7 geflasht (dass vermutlich kein großer Unterschied zu der Version die du genutzt haben musst, zum Zeitpunkt in diesem Faden), Karten waren mir bisher nicht wichtig (ebenda alles oder nix  :P) und damit mal etwas beschäftigt.

Klappt das bei dir mit der Karte immer ? indem du nur die Zonen startest oder musst du ab und an auf eine gespeicherte Karte zurückgreifen ?



 
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 19 September 2021, 22:35:43
Hallo Tom,

die 10.7 habe ich mittlerweile auch drauf. Kurz und Knapp: es klappt meistens, aber nicht zuverlässig. Ich haber mittlerweile die integrierte Kartenrücksetzfunktion aktiviert, aber auch da passiert es ab und an das der Sauger "im Wald" steht.
Es passiert vor allem immer dann:
Er hat gesaugt und fährt zurück zum Dock. Ich lasse ihn dann zum Eimer fahren, leere ihn und wenn ich den Filter wieder einsetze wird FHEM getriggert und schickt ihn zum Dock. Klappt mal und mal nicht.

Gruß Otto
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 19 September 2021, 22:54:18
In deiner Antwort steht  leider nicht das was ich erwartet hätte, wenn du das integrierte Feature der Karten-Wiederherstellung (Einstellungen->Webinterface->Startseite->Schaltflächen für mehrere Karten) dazu nutzt, die Karte wieder herzustellen, dann sind meiner Meinung nach, und der heutigen Erfahrung nach, die zuvor definierten Zonen weg oder nicht ?
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 20 September 2021, 07:35:25
Nein sind sie nicht. Weil ich initial das Feature im MQTT2 Device genutzt hatte um die Karte zu speichern und zu benennen. Dabei wird der komplette Satz gespeichert, also auch die Punkte und Zonen.

Es gibt aus meiner Sicht keinen Unterschied, welches der beiden Tools man nimmt, ob jetzt über MQTT2 oder intern ist gleich. Ich denke es ist der gleiche Weg. Es ist nur der Zeitpunkt der anders/besser/optimaler ist?
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 20 September 2021, 20:45:57
Zitat
Dabei wird der komplette Satz gespeichert, also auch die Punkte und Zonen.

Ja, heute Morgen war das alles so, hätte einfach in Ruhe weiterprobieren sollen, einfach gestern Abend mal Schluß machen, hatte mich Samstag mit Valetudo beschäftigt und zum späteren Sonntag mit ValetudoRE, heut mach ich nix mehr und die Tage glaub auch net.

Zur Sicherheit, bevor wir aneinander vorbei reden mit 
Zitat
integrierte Kartenrücksetzfunktion aktiviert
meinst du aber nicht die zwei letzten Punkte unter Einstellungen->Dauerhafte Daten und System Einstellungen?

Kann man das trotz das da steht das der V1 das nicht unterstützt aktivieren ?
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 21 September 2021, 12:34:12
Kann ich dir erst am WE genau sagen. Ich bin derzeit unterwegs ohne Kontakt zum Sauger 😄
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 21 September 2021, 12:58:23
[OT]
War eben im Real, dort stehen mehrere Kartons V1 (ich mein zu 225 € ) schon seit mehreren Monaten, ich hab mir immer gesagt  wenn sie ihn auf 199 € reduzieren, weil keiner sie kauft, nehm ich einen mit und Heute war es soweit 199 €.
Was meint Ihr, hättet Ihr auch zugegriffen oder lieber mehr Geld für ein neueres Modell ausgegeben ?
Bin super zufrieden mit dem V1 bisher, Wischfunktion brauch ich eh nicht.
[/OT]
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: MadMax-FHEM am 21 September 2021, 13:06:02
[OT]
War eben im Real, dort stehen mehrere Kartons V1 (ich mein zu 225 € ) schon seit mehreren Monaten, ich hab mir immer gesagt  wenn sie ihn auf 199 € reduzieren, weil keiner sie kauft, nehm ich einen mit und Heute war es soweit 199 €.
Was meint Ihr, hättet Ihr auch zugegriffen oder lieber mehr Geld für ein neueres Modell ausgegeben ?
Bin super zufrieden mit dem V1 bisher, Wischfunktion brauch ich eh nicht.
[/OT]

[OT]
wenn ich nicht schon "genügend" hätte: ja :)
(einzig an der einen oder anderen Stelle würde ein "No-Go" schon Dinge einfacher machen / Zonen zu basteln ist da schon "anstrengend")

Ich würde mich ja für den neuen mit Wischfunktion interessieren, soll ja deutlich besser als die vom V2 sein (die ist so lala, gut besser als wie nicht wischen ;)  )...
...aber da ist wohl (noch/nicht mehr) nix mit Cloud-frei :-\
[/OT]

Gruß, Joachim
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: MadMax-FHEM am 21 September 2021, 13:12:17
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
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: TomLee am 21 September 2021, 18:27:11
[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 (https://vacuumz.info/download/gen1/) 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]
Titel: Antw:MQTT2 für Xiaomi Vacuum Sauger
Beitrag von: Otto123 am 22 September 2021, 21:21:50
Ab einer bestimmten Version geht ein Update nicht mehr. Man muss also Reset machen und die neue Version flashen - war meine Lösung.