RoboRock Control Center - Desktop App für WIN/LIN/OSX

  • Hm, bin ich zu blöd oder komme ich nicht mehr an das Eröffnungsposting ran um die neue Version anzuhängen!? :/...

    da müsstest Du nach den Berichtigungen fragen; die werden dann, nach kurzer Prüfung, für einen begrenzten Zeitraum erteilt...


    Beste Grüße


    Nick

  • Kriegen wir hin. Ich leite es mal weiter.

  • Meiner ist gerootet und somit hole ich ihn einfach per SSH.


    Ansonsten kommt es wohl drauf an ob Android oder iOS vorhanden ist. Da gibt's dann verschiedene Anleitungen dazu, habe ich mich aber nicht wirklich mit beschäftigt.

  • Schaue mal in diesen Thread. Es gäbe 2 Möglichkeiten, eine modifizierte Mi-Home Anwendung oder das MiToolkit.


    Token auslesen mit MiToolkit 1.6

  • Kommt noch, erst möchte ich die Kartenfunktion (Root/Valetudo erforderlich) noch einbauen und ein wenig aufräumen. ;)


    Für Windows und OSX kann man ja eher problemlos einen Installer bauen, für Linux ist es schon schwieriger - zu unterschiedlich. Müsste man sich vielleicht mal so ein AppImage ansehen.


    Allerdings lohnt sich der Aufwand aus meiner Sicht eher nicht bei den geringen Downloads, hatte ich ja auch schon erwartet...

  • Hey LazyT,


    ich kann mir gut vorstellen, dass die Kartenfunktion für mehr Downloads sorgen wird :-)

    Ich finde Dein/Euer Projekt richtig klasse! Auch wenn ich es mir noch nicht angesehen habe! Werde ich aber! Bin nur zeitlich gerade sehr eingespannt.

    Zum Steuern des Robis nutze ich einen Raspi und Alexa, deshalb ist für mich die Steuerung per Notebook nicht mehr ganz so relevant. ABER...

    ...hätte ich das nicht, wäre Dein Programm meine erste Wahl! Bin ich zu Hause, dann habe ich das Book eh auf dem Schoß! Und es nervt mich, erst das Handy in die Hand zu nehmen, es zu entsperren usw., bis ich den Robi losschicken kann...


    Also, nochmal vielen Dank für diese coole Geschichte :thumbup:


    Beste Grüße


    Nick


    P.S. Warum muss der Robi eigentlich gerootet sein, um auf die Karte zugreifen zu können? Mit Floles App geht es ja ohne root; magst Du mir als Laien das kurz erklären?

  • Warum muss der Robi eigentlich gerootet sein, um auf die Karte zugreifen zu können? Mit Floles App geht es ja ohne root

    Kurzfassung


    Dann holt er sie sich aus der Cloud und ich hatte ja gesagt das ich das nicht unterstützen werde/kann, da meiner dort nicht dran hängt. ;)


    Langfassung


    Ohne Root kann man nur mit dem Robi über UDP auf Port 54321 mittels MiIO-Protokoll sprechen. Damit stehen einem verschiedene Befehle zur Verfügung, mit denen man ihn steuern oder Sachen abfragen kann. Die Kommunikation ist dabei verschlüsselt, wobei dieses für die meisten ominöse Token verwendet wird. Weiter wird dafür noch die Geräte-ID, eine Nachrichten-ID und ein Zeitstempel benötigt. Passt etwas davon nicht antwortet der Robi schlicht nicht auf eine Anfrage. Nun gibt es aber meines Wissens leider keinen Befehl um ohne Cloud an die Karte zu kommen. :(


    Mit Root kann man sich nun aber per SSH auf das Gerät verbinden und dort im Prinzip machen was man möchte, z.B. auch etwas installieren was die Karte lokal ohne Cloud ausliest und über eine Schnittstelle nach außen bereitstellt.


    Da ich nun, wie der Name schon vermuten lässt, faul bin würde ich statt dafür etwas Eigenes zu schreiben und zu installieren was dies macht (erstmal?) auf eine bereits existierende Lösung zurückgreifen: Valetudo. Dies stellt die Karte bequem über Http im Json-Format in Form von Koordinaten bereit:

    Code
    1. {"path":[[2048,2048],...,[2034,2049]],"map":[[1960044,0,0,0],...,[2840876,0,0,0]]}

    Aus diesen Weg-Punkten kann ich nun ganz nach belieben eine eigene Karte bauen und den Weg einzeichnen.


    Es gäbe sicher noch andere Wege wie diesen Map-Server, aber habe ich mir noch nicht näher angesehen da ich Valetudo eh installiert hatte bevor ich mit RRCC begonnen habe.


    Falls aber jemand noch andere Wege kennt an die Kartendaten zu kommen immer her damit... :)

  • Kommt noch, erst möchte ich die Kartenfunktion (Root/Valetudo erforderlich) noch einbauen und ein wenig aufräumen. ;)


    Für Windows und OSX kann man ja eher problemlos einen Installer bauen, für Linux ist es schon schwieriger - zu unterschiedlich. Müsste man sich vielleicht mal so ein AppImage ansehen.


    Allerdings lohnt sich der Aufwand aus meiner Sicht eher nicht bei den geringen Downloads, hatte ich ja auch schon erwartet...

    Ich vermute mal, dass das nicht an mangelndem Interesse im Allgemeinen scheitert, sondern eher daran, dass die Geraete in Deutschland vergleichsweise wenig verbreitet sind und so ein Foren-Post auch nur einen recht eingeschraenkten Zirkel von Leute erreicht. Ich wuerde das, sobald du es fuer aufgerauemt genug haeltst, auf GitHub hauen (auch mit Binaries fuer Windows und, falls es dir moeglich ist, macOS) und dann mal auf Reddit bewerben. Ich bin sicher, dass das internationale Interesse an einer solchen Software durchaus da ist. Sofern eine Englische Lokalisierung nicht eh schon drin ist, waere eine Solche natuerlich auch fast schon obligatorisch (kann leider nicht testen, habe kein Windows zur Hand).


    Eine eingebaute Karte wuerde vermutlich in der Tat zusaetzlich auch sehr gut ankommen.

  • Ja, Englisch ist immer der Standard bei mir und Deutsch wird für deutsche Installationen nachgeladen (bzw. die jeweilige Sprache falls jemand sie übersetzt und bereitgestellt hat).


    Die Vergangenheit hat gezeigt, dass wesentlich mehr Leute Englisch -> Zielsprache übersetzen als Deutsch -> Zielsprache. ;)


    Karte bin ich dran, ist so gut wie erledigt:


    pasted-from-clipboard.png


    Kann man erstmal mit leben denke ich und eventuell später noch optimieren...

  • Update auf Version 0.5.0

    • Fahre zu Punkt auf Karte (rechte Maustaste)
    • Punktreinigung
    • Bereichsreinigung (linke Maus drücken+halten und Maus verschieben)
    • Karte zoomen/verschieben (Mausrad drehen / mittlere Maustaste drücken+halten und Maus verschieben)
  • LazyT


    muss ich bei der Einrichtung die SSID und den Wlan- Schlüssel eingeben? Warum reicht da nicht die IP Adresse und der Token? Die App befindet sich ja auf meinem Book, das sich wiederum im selben Wlan befindet, wie der Robi... Würde mir gerne das erneute Auslesen des Token (für ioBroker) ersparen...

  • Nö, wieso - hab ich da was verkackt?


    Braucht man natürlich nur, wenn der Robi noch nicht eingerichtet wurde.


    Kann jemand mit V1 sagen wie der Hotspot dort heißt, auch was mit roborock... ? Vielleicht könnte ich die verbundene SSID auslesen und die Registerkarte WLAN deaktivieren falls das nicht der Hotspot ist...

  • Bei der Zonenreinigung wäre noch ein Check gut, ob die Zonenkoordinaten positiv sind. Ich hatte jetzt aus Versehen eine Zone aufgezogen, die über den "Rand" hinausging. Hatte zur Folge, dass gar nix passiert ist.

    Sonst klasse Tool, damit kann man prima die Zonen für ioBroker rauskriegen.

    Ggf. noch bei der Abfrage, ob die Zonenreinigung starten soll, die Koordinaten mit dazu schreiben. Dann muss man die Reinigung nicht unbedingt starten und sich die Koordinaten aus dem Log suchen.


    Gute Arbeit!

  • Habe leider einen Fehler bei der Zonenreinigung: Die Zone die ich in der App ausgewählt habe, ist nicht die, die gereinigt wird.

    Ich denke es liegt daran, dass die Map in der App genau spiegelbildlich (gespiegelt an der X-Achse) dargestellt wird, gegenüber der Xiaomi-App und auch gegenüber den tatsächlichen Verhältnissen. Valetudo zeigt es auch falschrum.

  • Mit dem Rand muss ich mal gucken, sagt mir jetzt nix. Die Koordinaten kann ich anzeigen, kein Problem.


    Das mit der Karte, hm. Meine steht auch auf dem Kopf und er reinigt trotzdem den richtigen Bereich? Wüsste jetzt auch nicht woran ich erkennen soll ob die Karte nun 90/180/270 gedreht bzw. horizontal/vertikal gespiegelt werden muss. :(


    Vielleicht gibt's ja mal noch mehr Feedback ob das überall so ist und nur bei mir geht... :P