Dummycloud: was bewirken "Additional Tips"?

  • Hallo,


    mein Roborock S50 hat gestern endlich den Weg zu mir gefunden und ich konnte mittlerweile bereits den root access einrichten (FW 1518), sowie valetudo und dummycloud installieren.

    Vorgegangen bin ich nach folgenden Anleitungen:


    https://github.com/dgiese/dust…-manual-update-root-Howto

    https://github.com/dgiese/dust…etup-without-Xiaomi-Cloud

    https://github.com/Hypfer/Valetudo/blob/master/README.md

    https://github.com/dgiese/dust…ster/dummycloud/README.md


    Soweit scheint auch alles zu funktionieren. Allerdings habe ich noch eine Frage bezüglich Dummycloud. In der Anleitung wird angegeben, dass man eventuell noch einige Dateien anpassen soll ("additional tips"). Kann mir jemand verraten was es damit auf sich hat bzw. was die Anpassungen bewirken? (Leider habe ich dazu bisher noch keine Erklärung gefunden, weder hier im Forum noch auf github)


    Code
    1. sed -i -E 's/(UPLOAD_METHOD=)([0-9]+)/\10/' /opt/rockrobo/rrlog/rrlog.conf
    2. sed -i -E 's/(UPLOAD_METHOD=)([0-9]+)/\10/' /opt/rockrobo/rrlog/rrlogmt.conf
    3. sed -i '/^\#!\/bin\/bash$/a exit 0' /opt/rockrobo/rrlog/misc.sh
    4. sed -i '/^\#!\/bin\/bash$/a exit 0' /opt/rockrobo/rrlog/tar_extra_file.sh
    5. sed -i '/^\#!\/bin\/bash$/a exit 0' /opt/rockrobo/rrlog/toprotation.sh
    6. sed -i '/^\#!\/bin\/bash$/a exit 0' /opt/rockrobo/rrlog/topstop.sh

    Wenn ich die ersten beiden Befehle richtig verstehe, wir die Upload methode geändert, auf den Wert "0". Also kein Upload (laut erklärenden Kommentaren in den beiden Dateien). Macht Sinn, denn die Logs sollen ja nicht hochgeladen werden.

    In den anderen vier Datein wird nach /bin/bash direkt die Zeile "exit 0" eingefügt, also passiert bei Aufruf des Skriptes nichts? Was würden denn die Skripte normalerweise machen? Sieht irgendwie nicht nur nach Logging aus...


    Danke für eure Hilfe!

  • Henne78

    Approved the thread.
  • Im Telegram Chat wurde geschrieben, dass diese Tipps die Map Anzeige in Valetudo behindern können:

    Also, please refrain from disabling logging since it will break the archived map view
    Dies ist auch hier nachzulesen https://github.com/Hypfer/Vale…faac2675aa89e2176d2eec7d8
    Wobei diese Befehle wohl save sind:

    Code
    1. sed -i '/^\#!\/bin\/bash$/a exit 0' /opt/rockrobo/rrlog/misc.sh
    2. sed -i '/^\#!\/bin\/bash$/a exit 0' /opt/rockrobo/rrlog/tar_extra_file.sh
    3. sed -i '/^\#!\/bin\/bash$/a exit 0' /opt/rockrobo/rrlog/toprotation.sh
    4. sed -i '/^\#!\/bin\/bash$/a exit 0' /opt/rockrobo/rrlog/topstop.sh

    Nur das Logging ist wohl problematisch


    Hiemit kann man das Logging wieder anschalten:

    Code
    1. sed -i -E 's/(UPLOAD_METHOD=)([0-9]+)/\12/' /opt/rockrobo/rrlog/rrlog.conf
    2. sed -i -E 's/(UPLOAD_METHOD=)([0-9]+)/\12/' /opt/rockrobo/rrlog/rrlogmt.conf

    Gardena li40 (Robonect)

    Roborock S50

    Edited 2 times, last by horqai ().

  • Hallo horqai ,

    danke für deine Antwort, dann muss ich mich wohl doch auch mal in den telegram chat begeben... ^^

    Dass Valetudo die Logs benötigt habe ich zwischenzeitlich auch gelesen. Allerdings bin ich mir immer noch unsicher, welche Logs genau gemeint sind. Ich habe jetzt genau das entgegengesetzte Szenario gewählt und nur diese Befehle ausgeführt :D

    Code
    1. sed -i -E 's/(UPLOAD_METHOD=)([0-9]+)/\10/' /opt/rockrobo/rrlog/rrlog.conf
    2. sed -i -E 's/(UPLOAD_METHOD=)([0-9]+)/\10/' /opt/rockrobo/rrlog/rrlogmt.conf

    Nach https://github.com/dgiese/dustcloud/issues/4 interpretiere ich den Code derart, dass es sich um den Upload der Logs zu den Xiaomi Severn handelt und mit "UPLOAD_METHOD" festgelegt wird ob/wie das geschehen soll. Die Logs werden somit angelegt aber nicht hochgeladen da "UPLOAD_METHOD=0"?


    Diese Befehle deaktivieren ja die vier genannten Skripte vollständig. Da sich diese ebenfalls im rrlog Ordner befinden, vermute ich dass sie Log-Files erzeugen falls bestimmte events eintreten. Deshalb habe ich sie voerst nicht deaktiviert.

    Code
    1. sed -i '/^\#!\/bin\/bash$/a exit 0' /opt/rockrobo/rrlog/misc.sh
    2. sed -i '/^\#!\/bin\/bash$/a exit 0' /opt/rockrobo/rrlog/tar_extra_file.sh
    3. sed -i '/^\#!\/bin\/bash$/a exit 0' /opt/rockrobo/rrlog/toprotation.sh
    4. sed -i '/^\#!\/bin\/bash$/a exit 0' /opt/rockrobo/rrlog/topstop.sh

    Wie gesagt, dass sind alles nur Vermutungen. Ich denke ein bisschen rumprobieren wird zeigen, ob die Maps noch funktionieren oder nicht. Hast du es bei dir so gemacht wie in deinem Beitrag beschrieben oder hast du keine Veränderungen am Logging vorgenommen?


    Da ich den Roborock erst ein paar Tage habe: "Archived Map View" bedeutet einfach dass er die letzte Map noch behält, oder? Mehrere unterschiedliche Maps speichern geht doch meines Wissens (noch) nicht, oder?


    Da du ebenfalls Valetudo + dummycloud nutzt: Die 1633 FW läuft bei dir ohne Probleme? Weil Valetudo ja angibt aktuell nur bis FW 1518 zu laufen. Gibts da eine empfehlenswerte Quelle (Forum/Github) wo neue FW Versionen getestet werden?

  • Hallo unclemoe,


    ich hatte ursprünglich alle Punkte deaktiviert und jetzt wieder die Logs auf FDS = 2 gesetzt.

    Wobei mir heute aufgefallen ist, dass er zwar eine Karte aufzeichnet diese aber nicht dauerhaft bis zum nächsten Start speichert . Ob das jetzt an der 1633 liegt oder an meinem Rumgefummel kann ich jetzt nicht so sagen.

    Valetudo funktioniert aber mit der 1633 sowie der 1718 bis auf das Problem das die Karte gelöscht bzw. nicht gespeichert wird. Ich möchte allerdings wenn ich nach hause kommen checken ob und wo gesaugt wurde, weswegen für mich das schon wichtig ist.
    Von daher würde ich nach etwas testen sagen, das vollständig nur die 1518 geht.


    Zu den Logs - ich hatte im Chat (ich glaube es war der Entwickler von Valetudo - Sören) extra nach diesen Tipps gefragt und da antwortete er, dass man diese nicht abschalten sollte. In der Original Firmware steht dann in der rrlogmt.conf und rrlog.conf statt der 0 die 2 für das File Delivery System Protokoll. Aber was die Auswirkungen genau sind, dass ist wohl keinem so 100% klar.


    Archived Map bedeutet, dass du siehst (bis zum nächsten Saugen oder bis der Robo hochgehoben wird) in welchen Räumen er war und welche Strecke gefahren ist. Wie geschrieben, das mag für den einen oder anderen nicht wichtig sein. Denn wenn der Robo keine problematischen Stellen in der Wohnung hat, dann brauch man das eigentlich ja nicht mehr kontrollieren da er einfach seinen Job macht. Das Steuern über Valetudo und RRCC ist davon nicht beeinträchtigt.


    Die Firmware findest du hier: https://dustcloud.seemoo.de/public/temp/

    Wobei wohl noch niemand einen Unterschied verstellen konnte, zumindest wenn man ihn so betreibt wie wir das machen also ohne Xiaomi Cloud.

    Neuer als die 1518 gibt es zumindest bei mir Probleme mit der Karte und dann mit noch aktuelleren wohl noch Probleme mit dem Downgrade von FW. Da weiß ich aber nicht, wie der Stand ist.

    Die Benennung der FW bzw. die Zähl-weise ist wohl auch nicht gleichzusetzen mit der Aktualität da es wohl verschiedene Branches gibt.

    Ich werde deswegen erst einmal wieder auf die 1518 wechseln - weil es da bisher die wenigsten Probleme gab.

    Gardena li40 (Robonect)

    Roborock S50

  • Hallo,


    ich hab mir einen Roborock bestellt, aber er kam noch nicht an. Ich hab mir aber die images angeschaut und mal die Scripte.


    * tar_extra_file.sh sollte man denke ich nicht einfach mit `exit 0` ersetzen. Das löscht log Dateien und setzt diese zurück. Somit läuft der flash speicher nicht voll. Wenn dann sollte man die tar-Befehle löschen, so dass er nur aufräumt.


    Die anderen muss ich mir nochmal genau anschauen. Ich hab mal imagebuilder.sh gepimpt, so dass man rrlog ersetzen kann und dummycloud gleich mit einbacken. Siehe:


    https://github.com/dgiese/dustcloud/pull/160


    Ich muss mir die anderen shell scripte nochmal anschauen, besser wäre wenn man die aufräumen lässt, also logs löschen oder rotieren als ganz abzuschalten.

  • Ja hab den Pull Request gesehen. Bin mir ehrlich gesagt noch nicht ganz sicher, was die Auswirkungen davon sind. Muss mir das ganze nochmal ansehen. Prinzipiell sollte der Flash nicht volllaufen, aber das ständige schreiben ist halt doof.

  • Ich glaub ich hab alles und ich hab mit John noch paar bugs mit der v001780 firmware gefixed. Jetzt sollte alle maps gehen ...

  • ... und das fließt dann am Ende in den Imagebuilder bzw. das repo ein oder ist vielleicht schon drinnen?
    Dann könnte ich also es mal wieder mit der 1780 versuchen oder?

    Gardena li40 (Robonect)

    Roborock S50

  • Ich hab hier einen branch für dustcloud: https://github.com/cryptomilk/dustcloud/tree/master-wip


    Der kann dir eine v001780 firmware erstellen mit rrlogd patched und dummycloud integriert. Die fixes von John und mit sind in Valetudo schon upstream. Ich glaub das muss ich auch noch in imagebuilder einbauen, dass du sagen kannst hier ist da veltudo Verzeichnis installier den auch gleich.

  • So - ich habe die 1780 mit deinem Imagbuilder hergestellt. Jedoch sieht es für mich nicht so aus, dass die Dummycloud mit intigriert wurde - war das so gedacht?

    Ob jetzt die rrlogd auch noch die ungepachte ist muss ich prüfen. Wo finde ich die gepachte sonst?


    Wie groß müsste die PKG Datei sein - kann ich die Datei auf dem Robo wiederfinden?

    Vielleicht habe ich aus versehen die Version hochgeladen, welche noch mit dem Original Repo erstellt wurde.

    Es sieht nämlich so aus das bei mir eure Fixes nicht im robo sind.

    Gardena li40 (Robonect)

    Roborock S50

    Edited once, last by horqai ().

  • Nein das habe ich nicht gemacht - wo kommt das denn rein?
    Hier in den Befehl zum Start: sudo ./dustcloud/devices/xiaomi.vacuum/firmwarebuilder/imagebuilder.sh -f v11_001228.pkg -k id_rsa.pub<br>

    Oder muss ich eine Datei mit dem Inhalt über diesem Beitrag erstellen?
    Oder muss ich die Dummycloud anpassen bzw neu bauen?


    Bin gerade echt planlos.

    Gardena li40 (Robonect)

    Roborock S50

  • Ich hab doch gepostet welche optionen du nehmen solltest ... du musst die dummycloud zip runterladen und den Pfad entsprechend setzen ...

  • Ja Danke :-) aber an welcher Stelle muss ich den die Optionen verwenden? Muss ich die Dummycloud neu compilieren oder nur die Optionen beim bauen der Firmware irgenwie angeben? Ich verstehe nur Bahnhof - Danke für das Erklären

    Gardena li40 (Robonect)

    Roborock S50

  • So - ich denke jetzt läuft es bei mir wie gewollt und ich weiß jetzt auch woran es gelegen hat.

    1. Hatte ich beim ersten Versuch die Firmware zu bauen die entsprechenden Optionen für die Dummycloud und das Patchen der rrlogd nicht gesetzt. Ich bin einfach davon ausgegangen, dass wäre schon implementiert ;-)


    2. Hatte ich nicht verstanden, woher der Code aus #15 her gekommen ist. Ich hatte schon vermutet, dass der aus der imagbuilder.sh kommt konnte den Code aber nicht in der Version finden welche ich auf meinem Rechner aus GitHub gezogen hatte. Da fehlten die Anpassungen.
    Ich bin zwar dem Link oben gefolgt und habe da dann dort der Clone Link genommen und per wget gezogen. Mir ist aber nicht aufgefallen das dort der Link nicht auf den Master-WIP Branch verweist, sonder auf den normalen https://github.com/cryptomilk/dustcloud.git. Kenne mich da mit Github nicht so aus, dass man da noch einzelne Branches hat, die man dann gezielt ziehen muss 8|

    Hiermit wäre mir das nicht passiert:

    Code
    1. git clone https://github.com/cryptomilk/dustcloud.git --branch master-wip

    Dann nur noch das Ganze für das bauen wie immer vorbereiten und dann die entsprechenden Optionen hinzufügen :thumbup:

    Code
    1. sudo ./dustcloud/devices/xiaomi.vacuum/firmwarebuilder/imagebuilder.sh --dummycloud-path /home/pfadzur/dummycloud/ --patch-rrlogd -f v11_001780.pkg -k id_rsa.pub


    Und siehe da ... Dummycloud wird gefunden und integriert und rrlogd ist die gepachte Version.

    Jetzt läuft so weit alles :):thumbup:


    Hätte ich das früher mit den unterschiedlichen Branches gemerkt, dann wäre ich auch nicht so verwirrt gewesen, was man machen muss.

    Gardena li40 (Robonect)

    Roborock S50