Autor Thema: MQTT2 für Xiaomi Vacuum Sauger  (Gelesen 2837 mal)

Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19529
  • schon mal restore trainiert?
    • Otto's Technik Blog
MQTT2 für Xiaomi Vacuum Sauger
« 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:
  • Die Xiaomi App und deren Hang danach bei jedem Update alles zu vergessen.
  • ich fand die Zonenreinigung über die Apps von der Bedienung her sehr "minimal".
An der FHEM Steuerung hat mich gestört:
  • Die Behälter Entnahme wird nicht gemeldet und man konnte den Sauger nicht neben dem Mülleimer "abstellen".
  • Man musste die Zonen "aufwendig" definieren und im Zweifel war auch mal alles weg. Ich habe das nie wirklich betrieben, dass was so geschrieben wurde, hat mich davon abgehalten.
Jetzt habe ich mich (angestachelt durchs Forum  ;) ) mal um valetudo RE und die MQTT2 Anbindung gekümmert:
Ich habe das hier 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:
  • der Zugriff mit der Xiaomi Home oder Flole App erwartungsgemäß nicht mehr Cloud Zugang sperren ist der eigentliche Zweck von valetudo
  • der Zugriff mit FHEM (XiaomiDevice) nach wie vor.
  • die Steuerung komfortabel über eine lokale HTTP App auf dem Roboter,
  • oder von Unterwegs über einen Telegram Bot.
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
  • aktivieren
  • url eintragen in der Form: mqtt://Name/IPAdresse:1883
  • Account vom MQTT2_Server eintragen (oder frei lassen)
  • Ein MQTT2_DEVICE wird erstellt -> Das AttrTemplate rockroboRE anwenden.
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:
  • Den Sauger steuern. Dabei geht auch: die Fahrt zu Zielpunkten, die Zonenreinigung als Liste -> Bad,Eingang,Schlafzimmer)
  • Die definierten Spots und Zonen abfragen und als Listen ablegen.
  • Die aktuelle Karte auf dem Sauger speichern und wieder laden (set sauger map store Name, set sauger map load Name)
  • Über ein userreading wird der Sauger nach Entleerung zur Ladestation geschickt, wer das nicht will löscht es einfach
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
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266
Gefällt mir Gefällt mir x 2 Liste anzeigen

Offline MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 11069
  • NIVEAu ist keine Creme...
Antw:MQTT2 für Xiaomi Vacuum Sauger
« Antwort #1 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...
« Letzte Änderung: 13 Mai 2021, 10:31:17 von MadMax-FHEM »
FHEM PI3B+ Buster: 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)
FHEM PI3 RaspiOS (Test)

Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19529
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:MQTT2 für Xiaomi Vacuum Sauger
« Antwort #2 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 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
   
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 11069
  • NIVEAu ist keine Creme...
Antw:MQTT2 für Xiaomi Vacuum Sauger
« Antwort #3 am: 13 Mai 2021, 11:07:21 »
Hallo Otto,

ok, danke!

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

Gruß, Joachim
FHEM PI3B+ Buster: 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)
FHEM PI3 RaspiOS (Test)

Offline MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 11069
  • NIVEAu ist keine Creme...
Antw:MQTT2 für Xiaomi Vacuum Sauger
« Antwort #4 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
« Letzte Änderung: 13 Mai 2021, 14:55:05 von MadMax-FHEM »
FHEM PI3B+ Buster: 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)
FHEM PI3 RaspiOS (Test)

Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19529
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:MQTT2 für Xiaomi Vacuum Sauger
« Antwort #5 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.
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 11069
  • NIVEAu ist keine Creme...
Antw:MQTT2 für Xiaomi Vacuum Sauger
« Antwort #6 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
FHEM PI3B+ Buster: 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)
FHEM PI3 RaspiOS (Test)

Offline swsmily

  • Full Member
  • ***
  • Beiträge: 330
Antw:MQTT2 für Xiaomi Vacuum Sauger
« Antwort #7 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.

Offline MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 11069
  • NIVEAu ist keine Creme...
Antw:MQTT2 für Xiaomi Vacuum Sauger
« Antwort #8 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
FHEM PI3B+ Buster: 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)
FHEM PI3 RaspiOS (Test)

Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19529
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:MQTT2 für Xiaomi Vacuum Sauger
« Antwort #9 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
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline TomLee

  • Hero Member
  • *****
  • Beiträge: 3586
  • ... wer sät, der erntet ...
Antw:MQTT2 für Xiaomi Vacuum Sauger
« Antwort #10 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. ?

Offline MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 11069
  • NIVEAu ist keine Creme...
Antw:MQTT2 für Xiaomi Vacuum Sauger
« Antwort #11 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
FHEM PI3B+ Buster: 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)
FHEM PI3 RaspiOS (Test)

Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19529
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:MQTT2 für Xiaomi Vacuum Sauger
« Antwort #12 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  :-[
« Letzte Änderung: 14 Mai 2021, 12:35:38 von Otto123 »
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline TomLee

  • Hero Member
  • *****
  • Beiträge: 3586
  • ... wer sät, der erntet ...
Antw:MQTT2 für Xiaomi Vacuum Sauger
« Antwort #13 am: 14 Mai 2021, 12:39:03 »
Ja gelesen 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 ?
« Letzte Änderung: 14 Mai 2021, 12:53:44 von TomLee »

Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19529
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:MQTT2 für Xiaomi Vacuum Sauger
« Antwort #14 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.
« Letzte Änderung: 14 Mai 2021, 13:13:58 von Otto123 »
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

 

decade-submarginal